2018年總結
工作了一年多了,這一年裡,過的還是比較充實。一直想做一個總結吧,拖延症,一直拖到了現在。
1 設計模式
在去年3,4月的時候,學習了大部分的設計模式。設計模式,個人感覺就是面向物件和軟體工程的一些使用技巧,蠻有用的。降低耦合了,提高了程式碼的條理性,擴充套件性,維護性。
2 框架
花了大概2,3月的時間,學習了laravel框架的原始碼。因為公司用了yii和thinkphp,中間看一點yii和thinkphp的。簡單聊一下,使用這3個框架的感覺吧(個人感受 )。
laravel,設計理念很先進,像spring-boot。很適合學習,但是太重型,而且也不太適合php特性不符合。並不適合生產環境。
yii2框架,感覺很像java,所有類都繼承一個component類(好像)。view層感覺很重,函式或者方法前面必要要用actionXXX。印象最深的是,有一個alias和class對應的檔案,好長。7,8月份看的程式碼,有點忘記了。對於我來說感覺不順手,寫起來不是很自由。
thinkphp框架,大量借鑑了laravel(滑稽臉),但是感覺比laravel要輕。用起來還是比較順手的。thinkphp還是很推薦的。
學完之後的感受,完整的學完一個框架之後,其他的框架感覺都大同小異,psr規範,ioc容器,aop,封裝一下reqeust和resopnse。基本上可以直接拿來用的。有一種萬變不離其中的感覺。
3 簡單的web伺服器
2017年的時候,寫了一個簡單html伺服器。當時就想著再去寫一個支援動態語言的伺服器。去年9,10月份,寫了一個非常非常簡單的伺服器,單程序,連線php-fpm的一個伺服器。
寫完之後的感受就是,比以前要更理解http協議,學習了fastcgi協議。一個請求到伺服器中間的過程是怎樣的,還有伺服器和php-fpm之間的通訊,包括對於代理和負載均衡這些東西,也比以前要更深一點了。
4 資料結構和演算法
不是科班出身,所以找了一本演算法書,重頭到尾,認真學習了一遍。
學完感受就是,會寫資料結構和演算法還是會寫,不會寫的還是不會寫。就是有時候看書,看到用b樹或者紅黑樹實現的,知道大概是怎麼回事了。
5 php原始碼
php原始碼只看了一點點,感覺自己的c語言還有待加強,哈哈。是跟書學的,只看了基本的資料型別,和記憶體管理。卡死在記憶體池,那個記憶體池設計太複雜了。
知道了php變數是如何儲存的,垃圾回收,和寫時複製。
6 前端
看書學習了css,基本的概念都會了,可以做一些簡單的佈局和從網上copy程式碼了。還學習了vue和一個element-ui框架。感受就是真香,真好用,價效比很高。
7 Java
從頭開始,學習了java,重新認識了Java,學習一些細節。還在學習中... 一直都想轉型java。java感覺在各個方面都是最成熟的。php的框架都是借鑑java的,分散式方面,書大部分都是java,還有軟體,zookeeper,es,hadoop,包括一些書吧,java上的好書真的太多了。
最後想說的是,不同時期,對於同一個問題的理解是不同的。對於一個問題,可能開始覺得這是什麼玩意,過幾個月,就666。不停的打臉取暖。