作者candog (怕热的肥宅)
看板NTHU_Course
标题Fw: [心得] 网路程式设计 交大 吴毅成
时间Wed Feb 15 13:05:38 2017
※ [本文转录自 candog 信箱]
作者:
[email protected] ("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