Fw: [心得] 網路程式設計 交大 吳毅成

看板NTHU_Course作者 (怕熱的肥宅)時間8年前 (2017/02/15 13:05), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
※ [本文轉錄自 candog 信箱] 作者: candog.bbs@bbs.cs.nthu.edu.tw ("FireBolt") 標題: [心得] 網路程式設計 交大 吳毅成 時間: Wed Feb 15 01:38:22 2017 作者: b0690151 (wingzero) 站內: P_wingzero 標題: [情報] 網路程式設計 交大 吳毅成 時間: 2013/02/07 Thu 22:38:43 課名:網路程式設計 Network Programming 科號:交大 IOE5015 老師:交大 吳毅成 學分:3 課本:Unix Network Programming, W. R. Stevens. Internetworking with TCP/IP VolIII (BSD Socket Version), Comer and Steve Building Internet Firewalls, Chapman and Zwicky 課別:交大 資工所選修 網工所六選二 涼度:☆ 甜度:★★☆ P.S. 由於小弟大學非資工系 如果是資工背景或coding能力很強者 這門課涼度甜度都會提高許多 涼度:★★ 甜度:★★★★ 建議先修課程:作業系統 計算機網路概論 C/C++ 對Unix環境不陌生 課程內容\簡介: 列一下內容 這門課的主要學習都在project上 ===Syllabus + Introduction ===Unix Programming Interprocess communication Shared memory (after Concurrent servers) ===Network Primer  ===Berkeley Socket Socket Programming Paradigms  Iterative Servers Concurrent Servers Single-Process Concurrent Servers Multi-services Servers Concurrent Clients Server issues ===Internet and Distributed Information Systems HTTP, CGI Winsock and AsyncSock Thread vs. Select FastCGI, Cookie, I18n Internationalization ===Firewalls  Security Bastion Filtering Proxying Services ===NAT and Hole Punching ===Remote Procedure Call 本學期未cover Sun RPC, DCE RPCm RMI, Corbam Web servicesm 上課方式: 上課講解投影片為主 偶爾會在黑板上畫一一些例子 建議是能用筆抄下 個人不太適應老師上課的音調及敘述方式 有點平淡 沒甚麼起伏 加上老師講話有一點快 如果精神沒集中的話就有點像在聽White Noise 不過 老師會在上課中強調某些觀念 期末必考 或 很重要 聽到的時候都會回神一下 但大部分狀況老師都是講完後才會強調 這很重要 所以就算回神了也沒甚麼用XDD 上課的投影片和課本是到交大資工的影印室列印 個人建議是要印課本(Unix Network Programming) 投影片大都是標題而已 如果上課沒聽清楚 複習的話看不出什麼 課本介紹的算相當完全 老師大致上也是把課本的敘述講一次在講點經驗分享 所以如果上課吸收不良的話 看課本相當有幫助 考試作業型態: 本課程的重點 Project 基本上時間是兩個禮拜 也差不多是要花兩個禮拜...本學期在P1 P2各延一個禮拜DEADLINE 之後老師說已經之前已經用了兩個禮拜 之後不會再延期 一開始會有spec 但過了一陣子之後會出 Detail spec 不少東西會在Detail spec中才會講清楚 這是比較討厭的地方 然後要隨時注意課程討論區 畢竟同一份spec大家解讀也不一樣 請看討論區裡助教的最後定義...不然就是白做 所以DEADLINE前就算做完了 討論區有新文最好還是看一下... 1HW (手寫) 8% 課本上的一段程式碼 兩個Process 存取同一個檔案 因為沒有做Lock Unlock 造成執行結果不如預期 寫出可能的各種原因 是在哪幾行造成Race condition 4 Project (coding) 74% 主要都是寫Server client部分都用telnet Project #1: Remote Access System (ras). : 22% 1份程式 網路上有學姊的介紹 大致相同 每年都會小改一點spec http://www.wretch.cc/blog/buster1013/13266244 主要在pipe fork 已經指令parse和資料結構的設計 Project #2: remote working ground (rwg) : 21% 2份程式 http://www.wretch.cc/blog/buster1013/13353273 主要在select FIFO signal 使用 Project #3: Remote Batch System (RBS): 18% 3份程式 http://www.wretch.cc/blog/buster1013/13433464 主要是select nonblocking處理 還有接送不完全的處理 Winsock 由於Winsock 視窗程式不是平常會碰到的 就算有給樣板還是很難懂 Project 3 應該算最崩潰的一次吧= = 寫得最多 但之前兩次都有人喊延期 所以之後沒得延 P4: 13% 2份程式 實作Socks 4 Server http://www.openssh.com/txt/socks4.protocol 以及把Project 3 CGI改成可以連Socks 4 Server 比起前面三個project算是比較簡單的一份 每個Project 環環相扣 前面的寫不出來後面就等者GG 後面的Project 都會用到前面的Project 正面來看是覺得作業都沒有白寫 反面來看就是沒有重開機的機會LOL (放掉一次之類的...) Project是一次比一次多 一次比一次難 請不要聽信其他謠言XD 配分比例就是看分數調出來的 1 Final Exam (滿分110) 22% 老師期末會給一張期末必考的主題和前一年的考古題 就回去翻課本找答案 幾乎全部都可以在課本上找到 Firewall的佔很大一部分 印的課本上沒有 是在這本 Building Internet Firewalls, Chapman and Zwicky 網路上有網頁版 課文就講得很清楚 基本上不用擔心 好好準備分數都有 但是會有手寫CODE的部分 大概就是Project中的小片段 可能就要考古題的題目拿先寫一下 HTTP Socks4 的部分就直接看Protocol 相關的部分 Project 分數沒拿好的要好好把握期末 老師的喜好、個性: 上課都會喝飲料XD? 這門課跟老師的互動不多 與其要問老師的個性 不如問助教的個性XD? 畢竟這門課七成的分數都是助教DEMO給分(改考卷作業也是助教改...) 回答問題也大多是助教 但助教應該不會年年一樣就是了 下課常有同學會問老師問題 老師很樂於回答 常常講到上課 這學期有沿過兩次project期限 期末補DE的打折比率也有上升 所以課業上有問題還是可以跟老師反應 給分: 可以看到project占了70%左右的分數 project的分數都是現場demo出來的 跑公開測資 隱藏測資 但即使都通過也只會拿到七十分左右 有30分是現場改code 助教會開一些小功能給你改 有限時!! 通常是十分鐘 時間內改完30分全拿 然後大概再十分鐘就會decay到0分 這就看個人造化了.... 如果你反應快 可能都不是甚麼問題 但如果反應不快或容易鬼打牆 通常就會超過時間 如果覺得這樣很OK的話 這可以說是送你的分數 爽爽拿 但如果像我一樣遲鈍的話 就會覺得這30分超整人= = 每次改幾乎都Timeout 花時間寫的project測資幾乎都過 但分數就是不好看 如果改不出來的話...助教還會懷疑這code是不是你寫的... 最後期末會有大補DEMO 但分數會打八折(往年是七折) 如果都有寫好 整體分數不會難看 但真的不能叫甜 因為都是血淚換來的 但有人原始分數就破百 可見強者是無處不在的... 研究生六十分以上的會給七十分 其他小調一分 給加簽嗎? 來者不拒 一開始教室坐滿滿 隨學期時間經過慢慢流失 最後大概到一半少一點 成績分布: 23 W 4 0~10 2 10~20 4 20~30 1 30~40 5 40~50 2 50~60 1 60~70 27 70~80 24 80~90 32 90~100 這門課是出名的花時間 要修前要想清楚... 交大的二退期限是期末考前一兩個禮拜 但清大大概是第一次期中考之後一點 不能最後發現苗頭不對再登出XD? 千萬不要單純的只是對網路程式有興趣去修 會很累= = 而且老師強調的比較偏底層系統程式的部分 如果是想修很實作的課程 而且很願意花時間CODING 時間上也沒有問題的話 這門課是個不錯的選擇 -- ※ Origin: 楓橋驛站<bbs.cs.nthu.edu.tw> ◆ From: b0690151 @ 114-25-116-27.dynamic.hinet.net b0690151 於 2013/02/07 Thu 23:04:22 從 114-25-116-27.dynamic.hinet.net 修改 urbanboy推~:D 02/07 23:59arhi ※ 發信站: 批踢踢實業坊(ptt.cc) ※ 轉錄者: candog (140.114.206.139), 02/15/2017 13:05:38
文章代碼(AID): #1Oe-6Z97 (NTHU_Course)