首頁 頭條 作為一名合格的碼農 你是怎樣被'鍛煉出來的”

作為一名合格的碼農 你是怎樣被'鍛煉出來的”

Nov 07, 2017 pm 03:14 PM
碼農 程式設計

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 .... 都不是一時半會兒就研究透的。

你可能還會聽人家說:離散數學很重要, 是電腦學科的基礎!那就去看看吧, 除了布林運算之外, 其餘的什麼等價關係、偏序、命題演算、謂詞演算、群、格....徹底把人搞暈。

這些基礎沒還搞定,什麼雲端運算、大數據、微服務、容器又開始鼓譟起來了, 你不想了解? 難道不怕落伍?

碼農就是這麼“牛”,被各種新技術趕著不斷向前, 但是反過來看, 要是對軟體程式設計有興趣, 那簡直是太幸福了, 新玩具不斷出現,玩都玩不過來。  所以想在這個充滿挑戰的產業裡一直維持就競爭力, 那就要持續的學習。


本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

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

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

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

熱門話題

Java教學
1663
14
CakePHP 教程
1420
52
Laravel 教程
1315
25
PHP教程
1266
29
C# 教程
1239
24
使用正規表示式去除 PHP 數組中的重複值 使用正規表示式去除 PHP 數組中的重複值 Apr 26, 2024 pm 04:33 PM

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

程式設計是乾啥的,學了有什麼用 程式設計是乾啥的,學了有什麼用 Apr 28, 2024 pm 01:34 PM

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

釋放你內心的程式設計師:C 絕對初學者 釋放你內心的程式設計師:C 絕對初學者 Oct 11, 2024 pm 03:50 PM

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

使用 Python 解決問題:作為初學者,解鎖強大的解決方案 使用 Python 解決問題:作為初學者,解鎖強大的解決方案 Oct 11, 2024 pm 08:58 PM

Python 讓初學者能夠解決問題。

使用 Golang 建立基於瀏覽器的應用程式 使用 Golang 建立基於瀏覽器的應用程式 Apr 08, 2024 am 09:24 AM

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

透過 Go Get 快速方便地取得 Go 模組 透過 Go Get 快速方便地取得 Go 模組 Apr 07, 2024 pm 09:48 PM

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

C++ 程式設計謎題片段:激發思維,提升程式設計水平 C++ 程式設計謎題片段:激發思維,提升程式設計水平 Jun 01, 2024 pm 10:26 PM

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

GoFmt指令:程式碼格式化利器,保持程式碼整潔美觀 GoFmt指令:程式碼格式化利器,保持程式碼整潔美觀 Apr 07, 2024 pm 09:03 PM

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