作為一名合格的碼農 你是怎樣被'鍛煉出來的”
html / javascript / css,這些都是前端需要學的, 再加上一大堆前端架構 Angular, React, Vue, 總得學會一樣。
學完了框架才能做項目,找工作, 才有可能開始光榮的增刪該查之旅。
但這還遠遠不夠, 前面說的這些知識只能算是入門。
資料結構和演算法必須得學, 要不然你寫的程式碼永遠沒有隔壁的張大胖寫的好,同樣的需求,人家的程式碼賞心悅目, 你的凌亂不堪, 被領導批得體無完膚。
所以《演算法》,《大話資料結構》,《圖解資料結構》,《演算法導論》...... 統統都來吧, 數組、堆疊、佇列、二元樹、圖、排序、搜索保證不把你淹沒。
平常和大家聊天,一定得能說出幾種常見的設計模式,尤其是單例模式的幾種寫法,要不然出門都不好意思給人打招呼。
一直做一個被分配任務的初級碼農肯定是不行的, 所以物件導向的分析和設計必須學習, 要不然將領導給你委以重任, 讓你做分析設計, 你怎麼去劃分模組和服務,怎麼去設計介面? 依據什麼原則和指導方針?
軟體的開發流程及最佳實務也快變成碼農必備了, 敏捷開發, DevOps, 單元測試,持續繼承,TDD, 結對程式設計...... , 必須跟上趟。
身為程式設計師的自我修養,電腦的基礎知識也是必備。
計算機的組成原理,馮諾依曼結構必須得了解,要不然整天寫程序, 都不知道計算機是怎麼工作的, 被人家笑話; 如果想深入一下, 數字電路,彙編也需要略知一二, 因為在某個陰暗的犄角旮旯總會有彙編在等著你。
資料庫得學, 基本的 SQL, 表的設計都得會,範式、鎖定、隔離等級讓人頭大。
深入一點的還牽涉到調優, 在架構層面還要了解分庫、分錶、備份、讀寫分離。
光關聯式資料庫還不夠, NoSQL 在網路時代很流行,工作上很有可能用到, 不會不行。快取也跑不掉,memcached, redis 已經是工作上的必備了。
現在不連網的程式幾乎都要絕跡了, 所以電腦網路得學, 至少得理解 http, https, socket, tcp 是怎麼運作的, 由 https 是怎麼回事。
安全其實是個大主題,像什麼 XSS,CSRF,SQL 注入...應該成為 Web 程式設計必須要考慮的事情。
作業系統也得學,這樣才能理解進程/線程,還有他們之間的通訊和同步, 以及同步/非同步,阻塞/非阻塞,select/epoll 等聽起來很時髦的詞彙。 虛擬記憶體和檔案系統,總得明白一個大概。 此外,Linux 的基本指令怎麼著也得能敲出來一些, 如果能使用 vi 就更好了。
深入理解 Java 虛擬機啊, 搞不懂虛擬機是怎麼運作的,系統中有些問題你還真搞不定。
還有 Tomcat, Ngnix .... 都不是一時半會兒就研究透的。
你可能還會聽人家說:離散數學很重要, 是電腦學科的基礎!那就去看看吧, 除了布林運算之外, 其餘的什麼等價關係、偏序、命題演算、謂詞演算、群、格....徹底把人搞暈。
這些基礎沒還搞定,什麼雲端運算、大數據、微服務、容器又開始鼓譟起來了, 你不想了解? 難道不怕落伍?
碼農就是這麼“牛”,被各種新技術趕著不斷向前, 但是反過來看, 要是對軟體程式設計有興趣, 那簡直是太幸福了, 新玩具不斷出現,玩都玩不過來。 所以想在這個充滿挑戰的產業裡一直維持就競爭力, 那就要持續的學習。

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

使用正規表示式從PHP數組中移除重複值的方法:使用正規表示式/(.*)(.+)/i匹配並取代重複項。遍歷數組元素,使用preg_match檢查匹配情況。如果匹配,請跳過值;否則,將其添加到無重複值的新數組中。

1、程式設計可用於開發各種軟體和應用程序,包括網站、手機應用程式、遊戲和數據分析工具等。它的應用領域非常廣泛,幾乎涵蓋了所有行業,包括科學研究、醫療保健、金融、教育、娛樂等。 2.學習程式設計可以幫助我們提升問題解決能力和邏輯思考能力。在程式設計過程中,我們需要分析和理解問題,找出解決方案,並將其轉換為程式碼。這種思維方式能夠培養我們的分析和抽象能力,提升我們解決實際問題的能力。

C語言是初學者學習程式設計的理想選擇,其優點包括效率、多功能性和可移植性。學習C語言需要:安裝C編譯器(如MinGW或Cygwin)了解變數、資料型別、條件語句和迴圈語句編寫包含主函數和printf()函數的第一個程式透過實戰案例(如計算平均數)練習C語言知識

使用Golang建立基於瀏覽器的應用程式Golang結合JavaScript建構了動態的前端體驗。安裝Golang:造訪https://golang.org/doc/install。設定Golang專案:建立一個名為main.go的檔案。使用GorillaWebToolkit:新增GorillaWebToolkit程式碼以處理HTTP請求。建立HTML模板:在templates子目錄中建立index.html,這是主模板。

透過GoGet,可以快速且方便地取得Go模組,步驟如下:在終端機中執行:goget[module-path],其中module-path為模組路徑。 GoGet會自動下載模組及其相依性。安裝的位置由GOPATH環境變數指定。

C++程式設計謎題涵蓋斐波那契數列、階乘、漢明距離、陣列最大值和最小值等演算法和資料結構概念,透過解決這些謎題,可以鞏固C++知識,提升演算法理解和程式設計技巧。

GoFmt指令是一個程式碼格式化工具,可自動格式化Go原始碼,使其符合Go語言風格指南的約定,從而提高程式碼的可讀性、一致性和美觀性。使用方法:在終端機輸入gofmtsource_files.go,進階選項包括:使用-w將格式化後的程式碼寫入原始檔;使用-d僅顯示要進行的變更;使用-e報告未格式化的檔案。