搜尋
首頁系統教程Linux大學學習計劃之計算機

大學學習計劃之計算機

Feb 01, 2024 pm 05:54 PM
linuxlinux教程紅帽linux系統我的世界linux指令linux認證紅帽linuxlinux視頻

大學學習計劃之計算機

#1 前言

最近有不少還在讀書的同學來問我大學期間到底該學什麼,學了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就该这么学。如有侵權,請聯絡admin@php.cn刪除
Linux系統管理員的主要任務是什麼?Linux系統管理員的主要任務是什麼?Apr 19, 2025 am 12:23 AM

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

很難學習Linux嗎?很難學習Linux嗎?Apr 18, 2025 am 12:23 AM

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

Linux管理員的薪水是多少?Linux管理員的薪水是多少?Apr 17, 2025 am 12:24 AM

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

Linux的主要目的是什麼?Linux的主要目的是什麼?Apr 16, 2025 am 12:19 AM

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

互聯網在Linux上運行嗎?互聯網在Linux上運行嗎?Apr 14, 2025 am 12:03 AM

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

Linux操作是什麼?Linux操作是什麼?Apr 13, 2025 am 12:20 AM

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

使用Linux別名提高自定義命令快捷方式的生產率使用Linux別名提高自定義命令快捷方式的生產率Apr 12, 2025 am 11:43 AM

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

Linux實際上有什麼好處?Linux實際上有什麼好處?Apr 12, 2025 am 12:20 AM

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

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱工具

MinGW - Minimalist GNU for Windows

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

SAP NetWeaver Server Adapter for Eclipse

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

Dreamweaver Mac版

Dreamweaver Mac版

視覺化網頁開發工具

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能

Safe Exam Browser

Safe Exam Browser

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