最近的最近学习了muduo网络库,阅读了网络部分90%的源码并自己实现了一遍。略有感触的是阅读源码往往是不足以真正理解其含义和实现的。在我真正重新写了一遍以后,即使大部分时候是参考着敲了一遍以后才算是掌握了其实现。在自己手敲的过程中自然而然地使你会想着它的实现流程以及这行代码的意义。古人诚不欺我,读万卷书不如行万里路。阅千行码不如手敲几行。
最近一直处于996的状态,是因为公司开始了一个新项目的开发。不过新项目的开发其实并不新。所谓的新其实就是逻辑和玩法上的新了而已,网络框架从旧的那里搬过来来处理客户端的连接和收发协议包。缓存还是老一套,数据库表的设计也基本不需要变动。那么剩下的就是如何写逻辑了。好久之前在网络上听到有人说做了多年的游戏后台开发以后是高级逻辑工程师而不是高级技术工程师,现在看来是深有体会了。
虽然是这种状态,但是并不意味着学不到东西。目前看来还有整个网络框架可以学习,毕竟是十多年前腾讯的技术多多少少让我非常想要学习一下的。想要知道这个网络框架是如何处理连接的,并发量能有多少,还有如何发送数据的,是不是也有发送缓冲区和接收缓冲区的存在。另外一个就是协议编码和解码可以学习的。不同的游戏中虽然协议字段不同,但是压缩技术似乎是相同的采用protobuf的编码技术。不然修改起来也不会那么快。
最后还有最近的业余学习状态,原本信心满满地买了《高性能mysql》。结果没翻几章就歇菜了。怪不得有人熟读这本书能做到数据库专家的级别。基本上就是我只想要打打枪,结果这本书却教的是枪的构造以及设计。也许以后在大公司了或者对数据库有大需求的地方可能才会再翻起来看了。目前就打算学mysql的基础然后转战下一个。