2019總結 - 極快而又忙碌的一年

2019 Summary

寫在前

2019年立刻就過去了,今天是聖誕節後的一天,抽空總結一下快速又忙碌的2019年。
去年的總結把部分2018年的技術棧都分析了一遍,今天深度投身於新項目,又無暇額外研究新技術,所以已沒法作到去年的廣度。只從用到的技術簡單總結。css

整年總結

上半年

  1. 用vue+echarts實現了簡單的工做臺和大屏展現
  2. gitlab實現了郵件發送
  3. 從webstorm基本轉向了vscode
  4. 大屏基本用ts實現了
  5. 重點研究了工做流的選型,包括activit和flowable,簡單編寫了flowable的使用代碼,造成了一個簡單的框架,向官方報告了一個bug
  6. 參與卡項目,研究RequireJS、RegularJS、bower等,加深了js的一些理解
  7. 校招前端和java,總結了一點經驗
  8. springboot、nginx、layui、git的一些小問題解決,關於tapestry的單點登陸等
  9. 寫了一些標書,發現word也挺難的,拿開源的vba對比程序實現了word對比
  10. 參與開通項目,hiraki、mybatis、redis、kafka進行了框架改造;springcloud的eureka、config等改造
  11. java實現了請求統計,加深了tomcat線程池、集合類、多線程、切面等的理解
  12. weblogic也能夠配置了阿里ssl證書

上半年仍是花了很多時間在前端的。包括vue、echarts、requirejs等。後端也很多,基本重點在技術層。html

下半年

  1. 進入新的交通項目,全新業務,全新技術,包括路徑的擬合等
  2. 研究圖的最短路徑算法,重點Dijkstra算法
  3. 學習mysql,看經典的《高性能mysql》,進行項目的庫表設計
  4. 看了一下python,與圖算法相關的一些東西
  5. 看了一下spring batch
  6. 用springboot實現了多數據源和自動發送郵件,減小了運維
  7. 開始重點使用了docker,包括程序打包和本機開發軟件的搭建
  8. 覈查java內存問題,jstat、jmap等,與死循環的判斷
  9. 研究了mycat的分片算法,和經常使用的配置
  10. 學習了mysql存儲過程,對數據轉換的方法論有了必定更深理解
  11. 對mysql、mycat、redis、kafka的使用又多了一些
  12. git被覆蓋代碼,因而學習了一下git
  13. 學習了mongodb,harbor、java深複製、調so等,複習了https證書、springboot監控
  14. 業餘看了一下米思齊

下半年基本都在項目裏,別的啥也沒幹,家裏也多了事情,因此好像沒上半年這麼專一技術。可是回頭總結後端技術,仍是得到了不少。
同時,對於一個全新行業,也是個人」老本行「瞭解學習了不少。固然,加班也很多。前端

對比去年立下的flag

去年定下2019的flag

  • 學docker
  • 寫vuejs代碼,有空試試vscode
  • 寫redis(+protobuf)和kafka代碼
  • 學國內的開源框架/組件(dubbo、layui、element、iview、mybatisplus)
  • 大併發、分佈式
  • EDAS和HSF

完成狀況

docker應該是超額完成了,編寫Dockerfile、build、run都很熟練了,程序也是用它來跑了。
本機搭建的mysql+redis+kafka+mongo+nginx都是用docker。
vuejs在上半年也寫了很多;redis和kafka下半年理解的更深。vue

但也有些沒完成:
protobuf沒機會研究,dubbo、edas這些阿里系的也沒空,國內開源也是。
同時下半年基本脫離了技術app和新聞,也沒看書了。java

不過也有額外收穫:python

  1. 算法
  2. flowable
  3. mongodb
  4. RequireJS、RegularJS等
  5. mysql設計
  6. 新行業

我的總結

mysql(數據庫)

  • 好久前用過,今年是第一次認真用,包括庫表設計。發現每個字段類型都有講究,很是深奧。
  • 存儲過程與oracle差異很大,雖然功能比不上,但也能幹一些事情
  • 基本用上mysql8了,與mysql5.六、5.7仍是有一些差異的,不過百度一下都能搞定
  • 數據庫管理較少涉及

redis(內存庫)

  • 以前覺得很瞭解redis,新項目從Adu經理處發現還有不少新知識
  • 除了五種基本類型,還有pfadd、pfcount等
  • string和hash的選擇,除了業務,還有節省內存空間。hash的field值控制在512以內較好
  • 除了過時時間,maxmemory和過時策略policy的配置很重要
  • aof比rdb更實時
  • keys只能本實例

kafka(消息隊列)

  • 最難的是它了
  • 本機docker安裝了好久才成功
  • 用springboot來實現真的很方便,batchFactory也能夠批量控制
  • 默認建topic這個配置最好關掉
  • 必須用kafka tool這些工具來查看,否則太黑匣子了
  • 新的版本居然一下到2.3了,0.9那些最好不用了
  • 默認區分大小寫,不光字段名,字段值也會!collation爲utf8_bin很重要

mongo

  • 最後一月居然用了mongodb
  • 真的超方便,不用設計庫表,開發記錄個日誌錶快的一筆
  • Robo3T這個客戶端很好用
  • 命令和mysql也很類似,不過getCollection.find這些有點記不住
  • 一樣,用springboot集成開發,超方便

mycat

  • 有機會認證看了一下配置
  • 分片仍是很講究,數字很簡單,取模;但字符串有點複雜
  • murmur也涉及數據遷移,並且分佈上相對沒那麼平均
  • 一個mysql能夠多個庫,給到mycat,但每一個庫名最好都不一樣,這樣一看庫名就知道哪臺主機
  • 真的不少坑,居然不支持存儲過程的執行,select個日誌不顯示。。。
  • 並且不支持建視圖,要在mysql上一個個建

docker

  • 很好用。經過harbor,啓動五個實例,5個命令搞定;不然要copy五個文件夾,還得改配置
  • 本機安裝mysql、redis這些也很方便

java

  • 代碼寫得多,遇到的新問題纔會多,想是想不出來的
  • 線程:多線程、線程池、tomcat
  • 集合:map、list、queue
  • 內存:jstat、jmap、postman、看對象內存大小
  • aop
  • 獲取進程號、主機、端口、類名、方法名、行號等
  • 各類類型互轉、json互轉
  • DateFormat非線程安全
  • break label
  • 深拷貝

算法

  • 真的難,去年搞加密算法,今年搞最短路徑
  • 最短路徑有各類算法
  • 只研究Dijkstra已經很複雜
  • 不管循環仍是遞歸,控制算法不要死循環很重要!
  • 一是注意異常數據要攔截,二是要經過計數器控制循環和遞歸的次數

前端

  • 主要上半年弄,如今已忘光了
  • 前端變化太快,不看論壇和app根本不行
  • 主要vue方向,要打好js基礎,包括html和css基礎

flowable(工做流)

  • 太精細的領域,網上資料很少
  • 但源代碼很容易看懂,比較方便
  • 設計也很好,各類bpmn圖
  • 規則引擎也是一塊

其餘

  • git、mac、spring cloud、ssm、https
  • nginx等負載
  • 校招比較有意思,可是很累
  • 敏捷基本沒搞了,sonar看了一點點

2020立flag

  • 方向上已經沒什麼追求了,就是es但願接觸一下
  • mysql、redis、kafka、mongo、nginx、docker再深刻就行
  • java,包括spring、boot、cloud再繼續深刻,特別微服務
  • 前端已經沒有精力弄了
  • 校招但願能夠繼續積累經驗
  • 架構被song teacher搶了,但願明年能夠多弄點架構,特別微服務、k8s、負載
  • jenkins但願公司能夠搞起來

最後

今年還有一個收穫就是堅持在osc上寫博客一年,每一個工做日都一篇簡單工做筆記。
明年轉到SF了,但願繼續再堅持一年。mysql

2019年真的很累,12月大約工做了30天。我相信你們都很累,有些比我更累。
2020但願不要這麼累,但同時也努力學到更多的技術。
最後,還但願能夠多陪伴孩子一些。nginx

2019.12.26 16:25 於 星光3Agit

本文參與了 SegmentFault思否徵文「2019 總結」,歡迎正在閱讀的你也加入。
相關文章
相關標籤/搜索