這半年來我都學了什麼?這是一個揪心的問題。畢業那年我開始接觸了Vue Or React ,去年一年估計都是在摸索Vue 和 React 在項目中遇到的各類坑,在去年的嘗試中,我發現React是符合咱們團隊技術核心。php
同時在去年的時間裏我幾乎試了 Thinkphp5,Laravel,Yii2 作差很少的項目,在今年中詢,最後仍是選擇了Laravel,由於laravel的升級和擴展都作的比較好,thinkphp不是很差,就是在某些設計模式上作的沒有laravel好,Yii3明年也準備出了,而已底層框架也要重寫這個也將會參考laravel的來作。在這麼久的嘗試中,我最後仍是選擇了laravel,不管在框架和生態都是咱們這裏小團隊須要的。小團隊沒這麼多時間造輪子。html
這也是在去年一年裏面總結出來的。前端
在過往的一年裏咱們一直使用的虛擬機共享文件到本地裏開發的,緣由在於使用linux開發並不實際,若是你是純後端人員使用linux徹底沒有問題,我這裏指的是deepin。若是你要一個前端使用linux那就有問題了。在使用虛擬機開發後,我發現前端在使用npm i 或者 yarn install 的時候有時候會出現莫名的錯誤,谷歌了好久後發現是虛擬機共享文件的io問題。須要使用ssh連接到虛擬機裏面進行操做。在去年已經瞭解過docker,不過那時候github的代碼並無這麼多,幾乎仍是停留在dockerFile那個年代,那時候docker的使用操做不太適合咱們的團隊。vue
直到今年,發現環境統一的問題,每次都要配置nginx,和hosts這些複雜的操做後,我以爲從新擁抱docker,剛剛今年的docker幾乎都已是docker-compose 的用法了,我大概下載了4個開源的php環境,而後看着docker-compose.yml 後大概已經明白了用法。接下了的就是爲團隊編寫一個方便的docker服務器環境。java
就有了如下的東西了node
隨着業務的基礎後,之前知道swoole這個東西,那時候的swoole還停留在2的這個階段,那時候的據說作socket還有性能都不錯,可我並無打算用swoole來從新公司的服務底層架構,因爲php-fpm的io讀寫機制,致使laravel在後面的性能上會不理想,在這個時候你們通常會提出負載均衡和分佈式的方案,php-fpm作微服務是不可能的啦,但是以上的方案對於咱們小團隊來講成本並不划算,知道swoole能夠用來承當服務器。因此搜索了一下後發現有laravel-swoole這個包,而且支持swoole4。jquery
大概配置了一下後,使用wrk 測試後,發現性能比原來的php-fpm快了40倍左右吧,在這樣的性能下,對於咱們來講是零成本提高性能,算是比較滿意啦。linux
因爲本人一直使用的是ORM來作數據庫的操做,因此SQL的能力並非很厲害,mysql的性能和優化一竅不通,一臺服務器徹底作不了讀寫分離這個概念,若是用docker是能夠,但是意義不大,既然用了Swoole,Swoole既然能夠摻注內存中,那麼.net 和 java 這裏說的數據庫鏈接池在swoole也能實現,固然node也有這樣一個概念,但是node的回調用法老讓我距的怪怪的。webpack
SMProxy 是一款基於swoole作的數據庫鏈接池工具,目前來講是開源,我並不知道之後會怎樣,哈哈哈。
使用起來也比較簡單。在一番配置完畢後,發現的mysql的性能提高了3倍左右。SQL所有走ORM。
以上是後端和環境的配置環境處理。
在個人團隊中,目前來講就我一人是前端,工做了是比較麻煩的,由於如今已經進入了多端年代了,目前尚未打算搞App端,這讓我感到輕了一口氣,目前有手機端,PC端,還有小程序端,這三端都是由我一人維護。手機端使用的vue,pc端使用React + Jquery的,小程序目前只有微信,直接用原生
如今pc要作SEO操做,之前用React寫的程序效果是不錯,但是SEO並不支持,之前在開源中國看過Next.js這個東西,而後在一番入坑後總結出如下文章內容
React 單頁程序 轉 SEO 渲染踩到各類深坑。
Next.js 算是成本比較低的一種作法,但是坑也比較多。不過先用這吧,總之比你用node 重寫要好,固然如今已經使用了swoole那麼php 的渲染性能也不成問題。
因此我在默默的作一件事情,參考了一個廣州好朋友之前公司的一個政府項目,而後多頁面的項目管理工具就變成如下的一篇文章了。
webpack + gulp 傳統 多頁面搭建
這樣作能夠用http-server來作前端服務器,也能夠直接打包成多頁html代碼改後端套頁面,比較如今的後端一大部分都會jquery 和基礎html。
Mock.js這個東西是用來模擬數據的,但是用在傳統代碼中,就顯得不太優雅,我如今計劃是要用laravel belad 模板引擎的語法 + Mock.js來打包出一個給到後端直接套用的東西,目前階段只是完成了打包成 html 這個階段。不過不要緊,有問題就去解決。
PC端暫時先由我這樣來維護吧,同時也要完善以上內容。
手機端,使用的是有讚的ui框架,不過vue寫出來的ui框架都有個同步,就是擴展太差了,不像React那樣繼承就能重寫。
Vue能踩的都是那些坑而已,不懂就谷歌羅。
只是在目前滴滴公司出的多端框架還行,就是目前的ui組件太少了,還不完善。還要等等在作,打算用滴滴的框架管理手機端和小程序端。
接下來講說socket問題,socket能夠說是比較重要的一個知識點,固然由於小程序的緣由,你只能選擇websocket了,作websocket裏面你有不少,作的比較好又簡單可能就Socket.io了,由於他是一套東西,加上Swoole也支持這個東西,固然Swoole也有他的客戶端,既然這樣的話就能夠用客戶端去通知Socket.io的服務端,固然你也能夠用Swoole來作服務端,但是我想說的是json是javaScript的利器,因此服務端我最後仍是選擇了Socket來作團隊的服務端,缺點嘛,就是仍是要我來維護。
Socket.io我也總結出的如下內容
Socket.io 快速搭建 和 注意事項
最後說說
API網關還有數據庫備份這個問題
api網關吧,這東西就像你調用微信接口同樣,有次數,有目的,有防護。
因爲本人不太懂JAVA 因此也只是簡單配置一下 Kong 這個東西
效果仍是比較好的,至少不過別人一直刷你的程序。
由於好一點的同窗能夠來了這裏看看
如今使用了docker來作服務框架,有時候直接打包mysql-data 就行了 ,有時候就是打包鏡像,但是發現一個問題就是空間愈來愈大,去年簡單學習了一下Hadoop這個東西,知道facebook出了一個叫Hive能夠用了數據庫倉庫,基於hadopp的存儲原理,數據的丟失量不會太大,正在考慮這麼處理。後面使用MQ來把數據寫入到Hive裏面。
以上是上半年對項目的業務和技術調整
我就是一枚 94年的代碼搬運工,我叫傻夢獸。 苦逼….