overview
lab0中:
- 配环境
- 手动执行一些网络相关任务
- 写一个类似wget的代码
- 实现writer和reader之间的可靠字节流
其中开发本身相对简单,占比较大的是:开发环境和c++
开发环境
这里推荐直接使用给出的virtual box镜像,是无GUI版,也不怎么占资源,而且VB还支持无界面启动
写代码的时候,可以使用clion,配置好远程开发(jetbrains的远程开发和vscode比起来比较落后,只能关联文件夹,在本地修改代码,然后上传)
另外clion的toolchain,可以使用wsl的,也比较方便(因为win下配c/c++环境一般来说是没有linux方便的)
网络相关任务
通过telnet发送一个请求,发一封邮件,基本在自顶向下里都接触过
使用netcat做一个简单的echo server
写代码
modern c++
- 使用cpp ref作为语言上的参考
- 永远不要使用malloc+free 或者 new+delete
- 不要直接使用指针(*),仅在必要的时候使用智能指针(本课中不需要用到他们)
- 避免使用template,thread,lock,虚函数。在本课中不需要用到他们(((那编程也太简单了把
- 不要使用C风格的字符串(char *,\0 terminated),使用std::string
- 不要使用c风格的类型转换,而是使用static_cast等(基本上本课也不需要始终这个)
- 传参数时尽量传const re