《Web全棧工程師的自我修養》書籍摘抄

2021-10-04 10:02:47 字數 3312 閱讀 1092

1.如果乙個工程師沒有堅實的基礎(比如專業理論知識,對常用設計模式的理解,或者特定職業的基礎知識),那麼了解的非本專業技能越多,越容易迷失。

2.一專多長的意思是,工程師首先有乙個專精的方向,在這個方向上足夠精通之後(高階工程師級別),以此為突破點去學習更多的知識,增加自己的長處。如果還沒有獲得某個方向上足夠深入的理解,就不要囫圇吞棗地去學習其他領域的知識。

3.實習能提公升自己的實踐能力,可以認為是從學生到社會人士的乙個身份過渡。

4.在大公司的頭兩年,是從學生到職場人士的乙個轉變,您可能會從大平台學習到一些規範的流程方法,養成一些足以影響您一生的習慣,認識更多的能對您職場有幫助的人脈。

5.在大公司工作的優點:

• 較小的風險

• 技術最佳實踐

• 垂直專精的技能

• 服務海量使用者的經驗

• 軟技能

• 人脈

• 心態

6.軟體工程師事業指南告訴您,最核心的3個詞就是技術、成長和聲望。技術是您的**,成長就是好好打磨**,而聲望是您一生的積累。

7.作品集(portfolio),是指您個人的專案和作品的集合,乙份精心準備的作品集比簡歷更能說服人。

8.雖然伺服器的多個程序看上去是在同時執行,但是對於單核cpu的架構來說,實際上是計算機系統同一段時間內,以程序的形式,將多個程式載入到儲存器中,並借由時間共享,以在乙個處理器上表現出同時執行的感覺。由於在作業系統中,生成程序、銷毀程序、程序間切換都很消耗cpu和記憶體,因此當負載高時,效能會明顯降低。

9.總體來講,在電腦程式和系統中,「前端」(front-end)作用於採集和顯示資訊,「後端」(back-end)進行處理。web應用程式和桌面應用程式的介面樣式、視覺呈現、使用者互動屬於前端。

10.框架(framework)和庫(library)的區別是什麼?其實這兩個詞在不同的語境下,有時候是可以相互替代的。但是嚴格來說,框架應該是比庫更廣泛的概念。乙個庫是一系列物件、方法等**,您的應用程式可以把這個庫「鏈結」進來。這個庫起到了重用**的作用,為您省下了重寫這部分**的工作量。乙個框架是乙個軟體系統中可重用的一部分。它可能包含子程式、庫、膠水語言、等一些「資源」,這些資源一起組成了軟體專案。

12.伺服器開發和前端開發,它們沒有固定的整合開發環境,所以在構建持續整合的開發流程中,就要考慮版本控制、包管理、依賴關係、架構優化、自動化發布等一系列問題。

13.git是乙個分布式版本控制軟體,是天才工程師、linux核心開發者linus開發,目的是更好地管理linux核心原始碼。其第一版於2023年發布,它與svn最大的不同之處就是基於分布式的理念。

14.設計模式(design pattern)是從建築學中引入到軟體工程的乙個詞。設計模式不是乙個**包或者外部庫,而是對特定解決方案或者模板的一種描述。設計模式不侷限於某種特定語言或者框架,它可以用各種語言和方式來實現。

15.設計模式的關注點在於以下幾方面:

高效編寫**

高可復用性

抽象帶來的可讀性

16.工程師水平高低並不在於敲**有多快、複雜性多麼高(當然這是高智商的一種體現),而是能快速理解其他工程師的**,並且自己編寫的**也能讓其他工程師快速理解。

17.如何提高效率,成為高效工程師?

• 閱讀英文資料,英文的技術資料更多

• 時間管理四象限

如果您平時沒有做重要的事情,就會發現自己常常在做緊急的事情。如果您平時沒有注意鍛鍊身體,就會常常去醫院,花費更多時間。如果沒有培養後輩,為每個專案設定**人,就會常常需要到處救火。如果您沒有配置好版本管理系統就開始工作,就會浪費更多時間去找回丟失的**。如果偷懶硬編碼(hard code)了一些變數在**中,後續一定會花費更多時間去除錯。

時間管理四象限將我們平時需要做的事情分為4類:重要而且緊急(立即執行)、重要但不緊急(制定計畫)、不重要但緊急(請他人代勞)、不重要而且不緊急(對它說不)。

• 消除重複工作

第一步便是識別出自己的時間花費在了**,以此作為優化的目標。 有了優化目標之後,第二個思考的問題是,能否使用已有的工具——免費的或付費的——來無縫銜接在已有的流程中。

• 給自己留出不被打擾的時間

• 番茄工作法

使用番茄工作法,選擇乙個待完成的任務,將番茄時間設為25分鐘,專注工作,中途不允許做任何與該任務無關的事,直到番茄時鐘響起,然後在紙上畫乙個x,短暫休息一下(5分鐘就行),每4個番茄時段則多休息一會兒。

• 跨界思考

• 紙上頭腦風暴

在電腦上工作之前,先在紙上畫出自己的想法。筆跟紙是最靈活、最容易修改、成本最低的頭腦風暴方式。

18.在職場中,我們評估乙個人並不是根據他的能力,而是他能承擔的責任。無論專案成功或者失敗,準時完成或者延誤,如果有乙個人能主動匯報和負責,拍著胸脯說「我負責」,那他就應該是專案的主導和骨幹,而不論年齡和資歷。

19.同樣,我們最終評估乙個人是否應該公升職加薪,不是看他的能力,也不是看他投入的時間,更不是看興趣,只是看他的責任。他在乙個個專案中都承擔起了責任,就是乙個有責任心的人,就能委以重任。

20.有人認為興趣是成功的老師,無法完成某些事情是因為沒有興趣。其實我認為耐心是一種能力,有些人天生缺乏這種能力。在能力不足、困難重重的時候,唯有投入大量的時間才能保住這珍貴的信任。新人沒經驗、知識不豐富,這都可以理解,但是以此為理由輸出不合格的產品,那就是自己的問題。我在實習的時候,通宵睡在公司都經歷過。

21.溝通:被忽視的競爭力

儘管看上去是和計算機打交道的工作,但實際上程式設計的物件還是人類,因此這是個非常「有人情味」的工作。因為程式設計的物件是人類,所以欠缺溝通能力的話,就可能造成專案方向錯誤、進度延期甚至完全失敗。

22.內向性格的競爭力

因為內向性格的人更能夠沉下心來讀書、思考,做一些安靜的事情。這樣的事情讓外向性格的人哈欠連連。

對於內向性格的人來說,跟人交往是對精力的消耗,但並不代表情商低。情商低的人不能察覺到自己和他人的情緒波動,也許很外向,但是討人厭惡。內向但是情商高的人,能夠感知周圍人的情緒,並敏銳地捕捉到周圍發生的事情。

其實,能靈活自如地適應各種社交場合的內向者往往有很強的自我意識、社會意識、自我管理和關係管理能力,加上自我學習能力,是很強的一種性格特徵。

《Web全棧工程師的自我修養》

本書定位是一本職業規劃指南,對想成為web全棧工程師的菜鳥大有前瞻性的指導作用。作者是在tencent工作五年的高階ui工程師,可這個ui工程師的的確確是乙個web全棧工程師。讀完本書感覺作者從設計到編碼再到伺服器運維乃至團隊管理和人生感悟方面都有相當的研究,對,他就是那個什麼都懂的傢伙!本書首先介...

《Web全棧工程師的自我修養》讀書筆記

1.web棧 web stack 伺服器 資料庫 服務端程式語言 html css js等組合在一起的乙個 棧 3.手術刀是業務驅動的,最需要全棧的人 他們的核心價值在於 懂業務,技術全面,都能拿的起來,而且能選擇最合適的技術。專家是技術驅動的,即使不夠全棧也可以用,但是技能樹點的越多當然有好處。非...

全棧工程師

全棧工程師,也叫全端工程師,英文full stack developer。是指掌握多種技能,並能利用多種技能獨立完成產品的人。web前端也遠遠不是從前的切個圖用個jquery上個ajax相容各種瀏覽器那麼簡單了。現代的web前端,你需要用到模組化開發 多屏相容 mvc,各種複雜的互動與優化,甚至你需...