工作總結
-
2010-2013
- 封裝IOCP
- 記憶體池
- 使用CEGUI開發PC客戶端UI
- 初識分散式
- CS網路互動
- 單例、reactor、表驅動等設計模式
- STL、模板
- 初識C#
- 初始多執行緒
- 版本管理
- 程式碼除錯
- xml
- 檔案讀寫、配置解析
- 應用日誌
- sql
夯實C++基礎,採用一些設計模式來更通順的組織程式碼,以及會利用一些C++奇技淫巧來縮減程式碼,理解程式碼重構的意義。理解怎樣用socket建立TCP連線來進行CS互動,以及通訊中結構體的序列化和反序列化。對多執行緒安全有了初步的認知,瞭解互斥體、訊號量和原子操作在多執行緒環境下怎樣解決資料競爭。理解分散式架構下的資料同步、資料落地。熟悉遊戲開發的總體流程。認識C#。
-
2013-2016
- C#網路通訊
- Redis
- cocos2d-x、Unity
- Java/JNI互動
- 第三方SDK的接入
- JSON
- 接觸github(socket4net/pi)
- 阿里雲
- protobuf
- node.js
- lua
- python
更透徹的認識C#,對擁有虛擬機器的語言(如Java、C#)和C/C++這種native語言之間的特性有了進一步的認知。用Redis做資料庫,認識到了中介軟體的重要性和在架構中帶來的便捷。對移動端客戶端開發有了較深入的瞭解。瞭解了第三方SDK接入流程。對訊息的序列化有了進一步的認識:JSON、protobuf。通過用Python製作工具,體會到指令碼在專案開發中所帶來的便捷。將伺服器部署到阿里雲,初步接觸到laas的概念。
-
2016-2018
- libuv
- mom/gomsg/netmsg
- Golang
- Http
- Mysql
- ZeroMQ
接觸libuv、zeromq,並在此基礎上封裝mom。初識golang,意識到golang在網路伺服器開發中的犀利。初次採用HTTP來暴露介面。
-
2018至今
- Docker/VM
- Linux
- 微服務
- RestfulAPI
- Nginx
- Git/Gitlab CI
- grpc/thrift
- kafka
- kubenets
- 一致性雜湊
- Raft
- ETCD、分散式資料一致性
- rbtree、quick sort、hash map
- 記憶體空間
- 無狀態服務
- ELK
- open-falcon/zabbix
接觸並熟悉Linux。使用git,以及利用gitlab進行自動化整合。學習並熟悉Docker,體會到容器化所帶來的革命。使用nginx做API閘道器和負載均衡。進一步學習基礎資料結構和演算法。進一步學習作業系統基礎知識。接觸微服務,嘗試用微服務架構來解決專案架構中的問題。利用無狀態化伺服器來做橫向擴容。使用falcon進行服務監控。