極客大學小馬哥的 Java 專案實戰營
跨界
如果你只會寫前端頁面,那麼無論你的功力練到多麼爐火純青的地步,那麼也只能稱為你是一個HTML高手?。
真正的架構師是需要有跨界的能力的,隨著技術的持續完善,這種通過崗位變遷實現技術架構升級的情況會越來越少。而架構層面新的變化將來自於崗位自發的對自身工作內容、職責的重新定義,也就是這裡說的邊界。所以說並不是你作為一個前端開發崗位,你就不能幹前端之外的事了,要嘗試跳出邊界來思考和解決問題。
頁面的秒開是衡量一個前端優化的重要指標,我們以這個優化點來總結一下從哪些方面跨:
提升速度,從服務端渲染著手,可以利用Node.js往後端跨。
提升移動web的H5頁面的啟動耗時,從webview著手,利用iOS和Android技能往客戶端跨。
使用者互動操作體驗,也是衡量前端優化的重要指標,我們以這個優化點來總結一下從哪些方面跨:
提升使用者互動體驗,嘗試將web頁面客戶端化,基於React Native或者Weex,也可以往客戶端跨。
提升頁面動畫效果,編寫高效能的前端動畫,也可以往UI動效設計跨。
合理的跨界,可以讓架構師對於業務的整體有深層次的認識,針對各種問題可以提出非前端之外的解決方案。
嚐鮮
技術是不斷髮展的,作為一個架構師,不斷學習新的技術是非常重要的,這裡所說的嚐鮮,就是要對技術保持一定的熱情,不能只滿足於現狀,說白了講就是要不斷的學。
習慣了jQuery開發頁面,不妨試試Vue,React。
寫了很久的ES5程式碼,學學ES6也不錯。
沉醉在HTML,CSS,JavaScript開發頁面,不妨學學Flutter。
打造高效能的Web App,試試Service Worker。
從HTTP協議觸發,改造升級spdy和HTTP2,嘗試一下HTTP3。
上面列舉的嚐鮮技能,是完全可以從一個前端的角度觸發,來不斷深入的,保持對每一個新技術的求知慾,是一名架構師必不可少的。
工具和平臺化建設
只會寫程式碼的程式設計師只能叫碼農。
當技術達到一定的高度時,能夠為業務再次提升的能力就會逐漸變少,那麼我們不如跳出技術本身,來改善業務周邊的工具平臺,同樣來為業務服務。作為一名架構師,要有這種能力。
提到工具平臺,大家很快就能跟自己的團隊裡面的一些工具聯絡起來。這裡主要跟大家探討一下,我們的工具體系要用什麼的思路去規劃和review,也看一下我們還有那些可以進一步去完善的點。
流程和規範化
身為一名架構師,對流程的制定和規範,是非常重要的。不要小瞧規範的威力,可以極大的提升開發效率,真正優秀的規範不會讓使用者感到約束,而是能幫助他們快速定位問題,提升效率。
這裡的規範,總結起來可以分為成:
結構的規範:對專案的程式碼結構,不管前後端,合理的分層和元件化是非常必要的。
編碼的規範:這裡主要就是程式碼codereview了,定期的進行codeview的同時,最好可以使用一些自動化工具。
流程的規範:專案的評審,研發,測試,釋出這些階段都需要有流程來約束,這些需要結合自身團隊的實際情況來制定。
規範的落地:對於規範來說最關鍵的是執行落地,在制定完規範的同事,要不時的回顧是否切實的落地,這個應該是團隊裡每個成員堅持的基本準則。
方法論
所謂方法論,可能單單說起來是比較抽象的,這裡的方法論,主要是指在完成一項小的需求,或者是承接一個重大的專案,在具體的實施過程中,要有一定的方法和技巧,相信大家都看過《穹頂之下》這個視訊,就是很強的方法論體現。其實說白了將就是做事要有套路。
在效能優化時,我們如何證明優化是有效果的,可以採用“三明治法則”(自己起的名字?):
首先優化前,我們需要找到問題的現狀,並且要有資料能夠佐證優化前的狀態。所以就要學會去收集資料。
有了資料之後,我們在進行對資料分析的同時,就需要找到問題出現的原因,並且付諸實施解決。這個階段,就需要記錄具體的優化原理。
優化之後,就要想方設法去驗證,並且在驗證過程中,同樣需要收集資料。
到此,我們就有了 優化前資料,優化的原理,優化後的資料。通過資料對比,我們就可以很輕易的去佐證我們這次優化是有成效的,並且可以做出一份很漂亮的總結,作為一名架構師而言,這是一個很好的樹立威信的場景體現。
我們可以在發散開來,上面的三步驟可以再次迭代,也就是說,第一次優化,我們達到了效果,但是深究之後,還可以再次進行優化,每次優化都有資料佐證,這就是效能優化的方法論。
安全意識
這裡為什麼要把安全單獨拿出來說呢,因為對於一個業務而言,安全是第一要素,就好比一個國家,安全穩定才是發展一切的前提,一旦業務出現安全問題,就可能瞬間損失掉全部,代價是非常慘重的。所以作為一名架構師,必須要保證業務的穩定性,可以總結以下幾點:
對低階的的程式碼安全問題,要堅決說不,例如前端裡面的xss,csrf這些問題。
對大型運營類活動需求,要有容災意識和備份,例如在準備了一套方案的同時,要有可選的備用方案。
嘗試使用工具化來解決和預防安全問題,例如BAT這種大型企業,在運維和程式碼層面,都有一層保障機制,如騰訊的門神系統等。
團隊合作
沒有完美的個人,卻有完美的團隊。
即使是一名架構師,我相信他也不是一直在一個人戰鬥,一個優秀的產品業務,總是誕生於團隊,所以時刻保持和團隊人員的溝通是必不可少的,這些溝通不限於日常的文字,或者會議,甚至私下的團建活動,都是可以相互瞭解的。
所以團隊合作的目的就是讓團隊中的每個人都能明確自己的職責,併發揮出最大的價值,架構師有義務來維護這種合作關係。並且對你的認同,也是團隊成員賦予你的,維護良好的氛圍,才能讓團隊成員信服。
最後,總結一下,對前端架構師理解的一些誤區:
架構師並不等於全棧工程師。
架構師切記完全脫離程式碼,但是也不要一直悶著頭寫程式碼。
架構師應當跳出技術本身,從全域性的角度來看的業務,發現並解決問題。
任何專案的架構都不是一開始制定好就是一成不變的,他應該是不斷迭代和演進的,架構師有義務來保證架構的創新性。
連結:https://pan.baidu.com/s/1ugCNmod3634_dQmTVVS-uw
提取碼:lgg5
相關文章
- 極客大學java進階訓練營學習分享Java
- 極米科技的客廳大戰
- [極客大挑戰 2019]Havefun
- [極客大挑戰 2019]PHPPHP
- [極客大挑戰 2019]BuyFlag
- [極客大挑戰 2019]Knife
- [極客大挑戰 2019]HardSQLSQL
- [極客大挑戰 2019]BabySQLSQL
- 專案實戰小問題:
- 小馬哥Java面試題課程總結Java面試題
- [極客大挑戰 2019]HardSQL 1SQL
- [極客大挑戰 2019]BuyFlag 1
- [極客大挑戰 2019]PHP 1PHP
- [極客大挑戰 2019]Http wpHTTP
- [極客大挑戰 2019]Secret File
- 專案管理實戰20講-雷蓓蓓-極客時間-返現24元專案管理
- 極客學院&騰訊 TAPD·極客開放日 [敏捷開發暢想與實戰]敏捷
- [極客大挑戰 2019]Secret File 1
- [極客大挑戰 2019]BuyFlag1
- 小程式雲開發專案實戰
- 從學徒到月賺30萬的大老闆,馬哥利用拓客營銷工具的創業發家史創業
- 小馬哥Spring事件驅動模型Spring事件模型
- JAVA專案:Java實現飛揚的小鳥(Flappy Bird)JavaAPP
- 第五季極客大挑戰writeup
- Python網路爬蟲實戰小專案Python爬蟲
- 『小幫廚』- React+AntD專案實戰React
- Java併發程式設計實戰-王寶令-極客時間Java程式設計
- 「小程式JAVA實戰」 小程式wxss樣式檔案的使用(七)Java
- 極客大挑戰2023-pwn-nc_pwntools WriteUp
- buuctf-web-[極客大挑戰 2019]BuyFlag 1Web
- Java Spring Cloud 實戰之路 - 1 建立專案JavaSpringCloud
- Java效能調優實戰-劉超-極客時間-返現優惠Java
- Python六大實戰開發專案!Python基礎學習Python
- 大規模資料處理實戰-蔡元楠-極客時間
- 大資料爬蟲專案實戰教程大資料爬蟲
- 小碼哥CRM專案(二)p20~p35
- 2018-10-16 java學習小專案合Java
- 邱嶽的產品實戰-邱嶽-極客時間