c語言
樓主沒說啥專業,默認就CS吧。我是CS轉EE專業的,對這兩個方向都有一些認識,樓主想學什麼方向歡迎在評論區回復我。
先看《編碼》,了解最基礎的計算機通信和很基本的CPU工作原理,還能稍微了解一下數字電路的基礎知識。
然後再看CSAPP,中文版也沒問題,現在的翻譯已經很不錯了,看這本書對整個計算機架構有個宏觀了解,至少知道編碼,進位,CPU,內存,操作系統,網路的大致工作原理,構建宏觀概念。
然後網上隨便搜索c語言,socket方面的關鍵詞,可以先寫個非常簡單的tcp或者udp協議的echo小程序(echo回聲小程序,功能是你在控制台輸入什麼內容給伺服器,伺服器那邊也輸出什麼內容給你,這個程序就和復讀機一樣,沒有什麼實際作用,但他的地位相當於是網路編程裡面的hello world,是所有網路編程開發的第一步)注意,這一步最好在linux下完成。而且c語言裡面的socket方面的庫為了兼顧很早以前的協議兼容性,可能會有很多奇奇怪怪的寫法,比如addr的轉換等等,這些都是歷史原因,你現在這個階段只要知道照著教程裡面這麼做就對了,等你學到下一個計算機網路部分你就知道原因了。
如果要深入網路開發,看謝希仁《計算機網路》,對OSI(標準OSI是七層,書上是五層協議,作者也說了是為了學習理解方便,這個沒什麼問題,你照著學就對了,如果你自己能弄明白為什麼是分四層或者七層,你也就已經對這方面知識了解很深入了)
如果還要進一步深入網路開發,甚至是想做工控領域的網路開發,或者做路由器,交換機等各種網路硬體設備層面的開發,可以修數字電路這門課,掌握HDL和FPGA開發。然後使用FPGA和一些常見的網卡晶元一起使用HDL完成一個最簡答的UDP通信,這個階段需要對FPGA的開發平台,以及對應廠商的網卡驅動方式,datasheet,時序協議要有了解。
如果要深入研究TCP以及更高層面的應用層開發,需要上SOCP(在FPGA上構建一個軟核,你可以理解為使用HDL語言在FPGA上寫了一個CPU出來,然後在這個CPU上跑微型操作系統實現的),因為傳統的HDL適合的開發場景是並發的,小規模時序的,而應用層,TCP協議涉及到更大規模的時序,更複雜的應用層協議,使用HDL開發的複雜度會相當高(就像用c語言的cgi寫一個知乎和用python寫一個知乎,明白人都知道肯定python寫起來更方便)。
更高層次,想做更加資深的網路開發可能還需要了解一些RFC規範,一些類似於乙太網802.3之類的文檔。我自己也沒完整讀完過,不好再做什麼指導。
如果想做一般的web開發,那就html5+css3+js。然後看看是想走前端還是後端,後端如果是純web表現層方面,現在大公司用java多(ssm三大框架),小公司用php多(國內用thinkphp和laravel多),看樓主能力自行決定。前端的話直接web大前端(現在流行webpack+vue全家桶)然後再學es6,然後再學webpack掌握基於前端構建系統的開發,然後vue全家桶接著學,學完之後就掌握一些基本的前端ui框架的使用。上面這一套流程下來學完,找工作肯定不成問題了。
把你看的書扔了重新找本書學吧
這個時候你已經掌握了最基礎的語言了,一門通,門門通,其他語言上手很快,可以先放一放,做點項目練練手,純邏輯的就行,鞏固和加深對已有知識的理解。可以做三四個項目。比如程序員都會幻想過電梯的調度系統,城市地鐵的調度系統,俄羅斯方塊,貪吃蛇等。
這之後,你就可以看看更高級點的東西了。
&
&
&
&
看完以後,你就可以發現以前的項目里有許許多多設計不合理的地方,那麼就把以前的項目重新優化一下。
然後你就可以選著一下自己喜歡的語言了,python c++ java java-script ruby swift,試著找一些很語言相關的項目
這個時候你就可以了解一整個項目的工作流,差不多你就是一個入門的程序員啦。
在工作中你會發現有大量的東西要去學習。
工作一段時間後,你就可以看看程序員高階書籍啦,比如
&
&
&
&
&
&
&
&
&
以上
unix環境編程
Unix網路編程
找C primer plus任意版本,完全忘記之前學的內容,從頭重新學一遍c語言。
學一些實際操作的晶元,比如51單片機,STM32之類的。
黑客攻擊手段可分為非破壞性攻擊和破壞性攻擊兩類。
非破壞性攻擊一般是為了擾亂系統的運行,並不盜竊系統資料,通常採用拒絕服務攻擊或信息炸彈;
破壞性攻擊是以侵入他人電腦系統、盜竊系統保密信息、破壞目標系統的數據為目的。下面為大家介紹4種黑客常用的攻擊手段