当青训营遇上码上掘金
对于一门新语言的快速上手并开发
- 编译环境,基本的编译方法,以及大型项目的编译方法,例如c++中的CMake。同时为了更好阅读别人项目以及保证自己代码bug更少。也需要了解相应的debug工具,例如c++中的gdb,Valgrind等。同样对于较完善的项目,单元测试也是有必要的。
- 基础语法,了解包的导入方法。
- 变量类型,
- 标准输入输出,文件的读写。
- if-else, switch
- 循环方法,
- 函数,
- 结构体,
- 类
- 提供的数据结构,类比于c++的STL中的一些容器,就是可变数组,stack,queue,list,map,string,hashmap,set。并且能够清楚的将不同数据结构根据其插入删除时间空间复杂度以及相应特点应用于不同的业务场景。
- JSON处理。一个是前后端通信的数据交互,同时如果对服务器的log信息进行一些分析,在正则匹配特征信息后,转成JSON也方便将数据可视化出来。
- 时间处理/错误处理。目前理解的时间处理就是在log中使用,方便定位bug。错误处理,异常捕获try{} catch{},对于Linux中有相应的errno值。
.....暂时想到这么多,
在协程的学习中,让我联想到了boost::asio,对其线程的使用也是类似方法,比如wait,同样Linux提供的系统调用也有同样的wait方法。所以对于这种多线程协程库的学习使用而言,是可以类比的。
还有一个引发新的思考,能够改变思维方式的就是 “通过通信实现共享内存” 和 “通过共享内存实现通信”的理解。