The Hard Way Learn Computer Science [实践班]
我们在 The Hard Way Learn Computer Science 分享了一些学习的书籍和视频,不过都理论大过实践,所以我的女朋友觉得贼难,那我们今天就实践大于理论来分享一下。
Pre
让我们先重温下 Teach Yourself Programming in Ten Years 一切都不用那么着急。
编程基础
语言学习
当然程序员应该懂好几门语言,入门的时候,我还是推荐 Python
| C
| Java
三者之一
面向对象
语言处理 IO
一般还是会比 函数式
语言略好的一点,但是 IO
是我们程序不可回避的部分,编写一个入门的 CLI
程序是作为入门的最好办法。
计算机网络
基础
网络编程人人要,打基础从 Socket
编程开始
实验: 基于 TCP 聊天
目标: 在两台网络互连的机器上通过 tcp
相互可以聊天,效果如下:
关键词: socket
bio
当我们完成了基础的 socket
编程之后,我们进入不同系统的特定的 多路复用
网络部分。
实验: 基于 TCP 聊天室 Plus
目标: 在多台网络互连的机器上通过 tcp
相互可以聊天,服务端用 UDP
对所有的的聊天客户端进 Multicast
或 Broadcast
,效果如下:
关键词: socket
nio
thread
进阶
上面的学习都没有涉及到如何做 TCP
上层的协议解析,当我们完成了 TCP
通讯部分的代码之后,我们就可以进入 协议解析
部分
实验: 静态 Web 服务器
目标: 接受 HTTP 请求根据请求的 Path
返回对应的 静态文件
关键词: http