最近有不少還在讀書的同學來問我大學期間到底該學什麼,學了Java,看了JS, HTML,CSS, 嘗試了一下SSH以後似乎就迷茫了, 這其中還有不少是計算機系的同學。
毫無疑問,為了畢業後找個好工作,在大學期間應該學一些應用層的技能,掌握一門應用廣泛的語言及其框架。最好做過實際的項目,有過實習的經驗, 這些都是履歷中能看得到的加分項,是脫穎而出的重要砝碼。
但是這些東西都是一顆大樹的枝葉和花朵, 在大學期間更應該學習的是看不見的根,也就是基礎知識, 對於科班出身的人更是如此。
原因很簡單,基礎知識雖然可以在工作以後再補,但是再也找不到這麼多大塊的時間,這麼安靜的環境,讓你心無旁騖的鑽研了。
你不用考慮著第二天怎麼去應付客戶的臉色,也不用去想著怎麼去給領導解釋昨晚的嚴重Bug不是我們的問題, 你只需要單純的學習就好,看到有這麼多同學把美好的時光都花在打遊戲上,實在是令我扼腕嘆息,要是把這些時間給我就好了!
我現在只能利用一些碎片時間補一下基礎的知識,如果時光倒流,讓我再坐到圖書館中去靜靜地看書該多好!
同學甲說: 基礎,又是基礎,老劉你說了多少遍了!我耳朵都聽出繭來了!
抱歉,基礎就是這麼很重要,我還是要像祥林嫂一樣繼續囉嗦。
我認為大學期間應該搞定的基礎知識應該包括(不限於)這些:
2 C語言大學期間不要忙著去學Java , Python等高階語言, 你應該先去搞定C語言(不是C 啊),因為這門語言太貼近機器了, 能幫助你理解計算機的運作原理,不信你看看《深入理解電腦系統》, 通篇都是C語言,它怎麼不用Java,Python去描述啊?因為他們太高級了,太抽象了,描述不了底層。
學會C語言,才能為其他基礎知識打下基礎,因為大部分基礎軟體、系統軟體都是C語言寫的,你看不懂C程式那怎麼行?
不要像我當年一樣,看到別人已經能做網頁了,自己還在命令列的小黑窗口中折騰,頭腦一熱就把C語言給扔了,後來又花了很多時間來彌補。
要記住你學會了C這門貼近硬體的,簡單又複雜的語言以後,再去學別的語言,幾乎不費吹灰之力, 他們都太簡單了!
3 理解電腦的組成原理如果你是科班的,老老實實地把《電腦組成原理》和《數位電路》這兩門課學了,把那些實驗內容(如門電路,半加器,全加器,觸發器等)兢兢業業做好。
你應該定個目標: 自己折騰一個簡單的CPU,簡單的就是進行數值運算,複雜一點兒的可以實現指令, 如果覺得教材實在枯燥,可以結合《編碼》或者《穿越計算機的迷霧》 來學習, 如果我實在喜歡玩遊戲,可以到《我的世界》遊戲中去製造CPU啊,已經有大牛這麼做了。
4 理解操作系系統原理作業系統太重要了, 對作業系統的理解決定了你以後工作中能達到的深度,這裡邊藏著太多極為重要的概念, 例如進程,線程的概念,鎖、調度,IO模型,虛擬儲存等等, 他們會在你以後做高效能,高並發系統這一塊兒起到重要作用。
即使你先學會了Java , SSH/SSM, 隨著你能力的提升,最後你還是得走入這些基礎知識的世界。為什麼不在大學期間把他們都搞定呢?
有人可能覺得OS太枯燥了,實在是看不下去,其實OS是一門動手實踐課, 你可以去看看早期Linux 內核的源碼(要求C語言啊),書籍文章多如牛毛; 也可以自己動手自製簡單的作業系統,視訊書籍也不少,就看你願不願意把玩遊戲的時間花在上面了。
舉個例子:哈工大的VOID同學就在本科期間從零開始做了一個類似於Linux 0.11的操作系統出來,他拿到了阿里的Special Offer , 目前在阿里就職。他錄製的《從零開始寫作業系統》影片可以在B站看到: https://www.bilibili.com/video/av12169693/
同學乙要問了: “人家是大牛,還有一個好學校,我一個三本的渣渣怎麼可能做得出來? 你這不是給我設置了一個不可能完成的任務嗎?”
確實是這樣,天才永遠只有少數,不可能每個人都成為天才,也不可能每個人都做出天才的成果。
但是我們也要在天才鋪好的道路上堅持往前走走, 也許有一天就會發現,哦,我已經超越了這麼多人了啊!
要堅持使用Linux而不是Windows,立志在後端做開發的更是要如此, 別像我大學時安裝個雙系統,結果整天寵幸Windows , 從來不翻Linux的牌子。
5 網絡, 資料庫, 編譯原理把這三者合在一起, 是我個人覺得他們的重要性沒有前面的高。
對於網絡,需要理解網絡分層模型,可靠性傳輸原理,TCP/IP協議,Socket編程,和作業系統結合起來可以考慮寫一個Web伺服器。
資料庫的話先理解SQL、關聯式模型、事務、索引, 要深入學習的話可以看看查詢是怎麼實現的,事務是怎麼實現的, 如果確實感興趣一定要看看sqlite的源碼。
學編譯最好的方式就是自製一個程式語言了, 搞出來以後會對程式語言有個極為透徹的理解。
6 資料結構與演算法這個重要性就不用再強調了,常常看碼農翻身的可能都要煩了,可以看看之前的文章《學習資料結構有什麼用? 》
學習的過程中除了看書、理解各種演算法和資料結構外,更重要的就是做題、做題、做題!
同學丙說: 「老劉,你說的不都是電腦的專業課嗎?」
是的,就是電腦的專業課,一般來說,工作個幾年以後你才會體會到他們的珍貴,更會痛惜大學時為什麼不好好學,就像我現在這樣。
不要侷限於學校發的教材,現在網路上的影片資源異常豐富,世界級大學的課程我們也可以看到,千萬不要浪費。
同學丁說:老劉你別瞎BB了,你讓我學Java,做項目,現在又讓我造CPU,寫操作系統,資料庫,伺服器...... 我都沒時間和女朋友約會了。
恭喜你,已經有女朋友了,超越了大部分同學了,在大學談一場戀愛,享受一下青春也是非常重要的事情。
但是我想說的是,你不可能把所有的都學會,你能做的就是集中火力突擊一個方向,那就是你最感興趣的方向。只有那些經得住寂寞,耐得住誘惑的才最有可能成功,如果再和自己的興趣結合起來,那簡直肯定成功。
總而言之,電腦的基礎知識讓你和別人區分開來,讓你有著比別人更快的加速度。
但是老劉瞎BB這麼多估計也沒太大用處,因為你不行動我也沒有辦法。
以上是大學學習計劃之計算機的詳細內容。更多資訊請關注PHP中文網其他相關文章!

Linux系統管理員的主要任務包括系統監控與性能調優、用戶管理、軟件包管理、安全管理與備份、故障排查與解決、性能優化與最佳實踐。 1.使用top、htop等工具監控系統性能,並進行調優。 2.通過useradd等命令管理用戶賬戶和權限。 3.利用apt、yum管理軟件包,確保系統更新和安全。 4.配置防火牆、監控日誌、進行數據備份以確保系統安全。 5.通過日誌分析和工具使用進行故障排查和解決。 6.優化內核參數和應用配置,遵循最佳實踐提升系統性能和穩定性。

學習Linux並不難。 1.Linux是一個開源操作系統,基於Unix,廣泛應用於服務器、嵌入式系統和個人電腦。 2.理解文件系統和權限管理是關鍵,文件系統是層次化的,權限包括讀、寫和執行。 3.包管理系統如apt和dnf使得軟件管理方便。 4.進程管理通過ps和top命令實現。 5.從基本命令如mkdir、cd、touch和nano開始學習,再嘗試高級用法如shell腳本和文本處理。 6.常見錯誤如權限問題可以通過sudo和chmod解決。 7.性能優化建議包括使用htop監控資源、清理不必要文件和使用sy

Linux管理員的平均年薪在美國為75,000至95,000美元,歐洲為40,000至60,000歐元。提升薪資可以通過:1.持續學習新技術,如雲計算和容器技術;2.積累項目經驗並建立Portfolio;3.建立職業網絡,拓展人脈。

Linux的主要用途包括:1.服務器操作系統,2.嵌入式系統,3.桌面操作系統,4.開發和測試環境。 Linux在這些領域表現出色,提供了穩定性、安全性和高效的開發工具。

互聯網運行不依賴單一操作系統,但Linux在其中扮演重要角色。 Linux廣泛應用於服務器和網絡設備,因其穩定性、安全性和可擴展性受歡迎。

Linux操作系統的核心是其命令行界面,通過命令行可以執行各種操作。 1.文件和目錄操作使用ls、cd、mkdir、rm等命令管理文件和目錄。 2.用戶和權限管理通過useradd、passwd、chmod等命令確保系統安全和資源分配。 3.進程管理使用ps、kill等命令監控和控制系統進程。 4.網絡操作包括ping、ifconfig、ssh等命令配置和管理網絡連接。 5.系統監控和維護通過top、df、du等命令了解系統運行狀態和資源使用情況。

介紹 Linux是一個強大的操作系統,由於其靈活性和效率,開發人員,系統管理員和電源用戶都喜歡。但是,經常使用長而復雜的命令可能是乏味的

Linux適用於服務器、開發環境和嵌入式系統。 1.作為服務器操作系統,Linux穩定高效,常用於部署高並發應用。 2.作為開發環境,Linux提供高效的命令行工具和包管理系統,提升開發效率。 3.在嵌入式系統中,Linux輕量且可定制,適合資源有限的環境。


熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。

Dreamweaver Mac版
視覺化網頁開發工具

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

Safe Exam Browser
Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。