同時面臨(編程、英語、網路安全)三個知識塊,該怎麼進行學習?
我是一名接觸網路安全不久的新手,同時面對這三個知識塊,我不知道該採取什麼什麼樣的學習方法。該怎麼分配學習時間?假設我每天投入十小時(只是個假設)要怎麼分配,或者是每天學習一種,輪著來?這裡所說的英語是指能基本看懂英文文檔的大概意思。希望各位能發表下自己的看法和建議~非常感謝!
一個人長時間學一樣東西或者干一樣東西,肯定會累的,所以要交叉著來,至於什麼節奏交叉,是一小時一交叉還是一天一交叉還是一周一交叉,每個人的特點不同,不用統一,反正只要感覺自己雪的盡興(或者失望)的時候切換就好了。
這三種知識,毫無疑問先學編程,重點始終在於編程。
你英語學得很好,不會編程就是只會嘴炮的渣;你網路安全懂得很多,不會編程就是光說不練的渣。
你英語也不好網路安全也不懂,你會編程,你就依然牛逼。
首先,每天10個小時大概是不可能的,輪子哥大學期間也只是八小時 @vczh (聽說艾特輪子哥能騙贊(?_? )),每天付出八分的努力就好,其餘時間該吃雞吃雞,該撩妹撩妹。
其次,英語學習與編程和學習網路安全並不矛盾,你在編程與學習網路難免涉及到閱讀英文文檔,堅持啃下去,別試著找中文翻譯,幾個月下來應該有明顯進步。我自己是6點多起床,刷會兒手機,然後複習單詞,中午背六級,其餘時間就是上課陪女朋友(建議題主趕緊先找個女票,原因你懂的)看書敲代碼,每天學習時間大概8小時,題主可以按照自己情況自行增減。最後,共勉!英語這種東西重在點滴積累,可以下個相關app,利用好一些零碎的時間記記單詞、短語什麼的,平時在看一些文檔手冊、國外的文章時也會遇到一些生詞短語,對著電腦坐久了就起來走走,練練口語什麼的,學習語言的目的就是基本的溝通嘛,自己可以看懂聽懂別人得,對方也能明白我們的意思就好了。
編程,一切的基石吧,可以先從C語言學起,入門了之後可以學學python、php、javascript之類的,也可以根據自己的喜好,編程語言都是一通百通,基本語法都很容易也很相似,抓住它們各自的異同,特點。慕課網、菜鳥教程.....網上很多教程的,多實踐,最好能跟幾個項目,課本上的和實際的是很不同的。
至於網路安全,了解常見 漏洞的產生原理、有哪些攻擊方法、如何防禦,會使用一些基本的工具,比如:sqlmap、burpsuite、avws、菜刀.....多關注一些技術論壇、網站,有興趣也可以搞搞CTF,自己嘗試去挖掘漏洞,多實踐、總結,逐漸探索出適合自己的方法。
學習這種東西還是要看個人吧,能夠讓自己收穫最大的方法就是最好的。
最後我認為也是最重要的:計劃和效率。可以先給自己定個目標,在一定的時期內要達到什麼效果,然後把任務分配到每一天每個時間段,做到有條不紊,其次,學習要專註,遠離誘惑,我們追求的是單位時間的產量而不是一味的夯時間。
最後,祝好吧。
(感覺這個問題和我自己的契合度好高)
先說結論: 我個人建議先編程,後網路安全,英語一直貫穿其中,然後根據需要改變英語學習強度。
我認為計算機相關的東西,編程都是地基。不是說是為了能寫多麼好的代碼,主要是在學習編程過程中要把所謂的「代碼邏輯思維」培養起來。這一點非常重要,對以後做網路安全也會有幫助。我個人比較傾向於用打acm的方式來打牢這方面的基礎。王婆賣花不賣瓜:IT 前輩們對計算機相關專業本科在校大學生有什麼可以傳授的經驗么?
而且網路安全很多分支都是離不開編程的。
感覺自己編程基礎過硬之後,側重點可以偏向網路安全了。但是網路安全分支非常之多NICE Cybersecurity Workforce Framework 前期可以每個都淺嘗輒止了解一下到底是什麼樣的,但不要遇到一個新的就把精力全部放進去,而不管後面的其他的了。因為你還有很多不知道的分支,也許你最後喜歡的和選擇走下去的並不是當前你花了很多精力正在做的這個。這樣你的時間有有點被浪費了,這也是我個人的教訓。等narrow down your fields之後,再完全把精力投進去,這樣更加合理。
你沒說你未來的打算,不知道你畢業之後是工作,還是做學術,要不要出國。這些因素決定了你應該花在英語學習上的精力的底線。以最底線的東西來說,你的專業辭彙要過關,因為你要看文檔,論文。一邊看一邊查單詞效率低得驚人,重點不只是時間花得多,而是在你查單詞的時候,接收信息的過程就會被打斷了,於是你又要從前面再讀過來,接收信息的效率太低。語法也一定要過關,因為句意不是只懂單詞就能明白的。總的來說,你的英語閱讀上一定要過關,聽,說,寫對於如果在國內工作要求應該就不會太高了。如果國內做學術,最起碼寫上面還要過關。如果出國,四個方面都必須過關。語言學習是一個長期過程,不可能有什麼速成的,所以我建議每天都至少花連續的1.5-2h左右。注意一定要是連續的。之前準備托福的時候,我發現如果我每天少於連續1小時時間學英語,效果就非常差。
所以我建議大概的進程應該是:
前期: 大量編程 + 英語
中期: 接觸安全 + 英語
後期: 大量安全 + 英語
祝成功
英語是基礎,建議每天花個一個小時去記單詞,最終達到的程度是可以無障礙閱讀英文文檔。編程技能不是一蹴而就,需要大量的練習和項目實戰才能提高水平,建議可以先從學習c語言開始,每天學習加練習5個小時,以項目實戰為主。再後可以學習一下python,讓你能夠快速編寫自己的工具。學習php,讓你能夠知道常見web漏洞的形成原理。學習javascript,讓你能夠明白前端黑客技術的精妙。學習彙編和計算機原理,讓你能夠明白二進位世界,軟體安全的鬥智斗勇。當然你不可能一下子就學會了,這是一個漫長的過程。最後那四個小時,你可以去搜索web安全工程師,滲透測試工程師,逆向工程師各自的技能是什麼,按照技能表一個一個去攻破。
只要你每天能保證投入十小時,三五年後怎麼著都會很牛逼
不邀自答。
大家都在說方法,
我補充兩點——專註和驅動力付出的時間長短和收穫的比重不一定成正比。常常有人會問,為什麼付出了那麼多卻從不見收穫。其中一個原因就是不專註。
舉個栗子。
班上有同學早上六點起床到圖書館,除了午飯時間都在圖書館,後來期末測試成績比同寢室天天上網煲劇的同學成績還低。一問才知道,在圖書館裡不是學著睡著了就是藉手機搜索為心理暗示,一直耍手機。但她還堅持自己學了很長時間。
————————
再舉個例。好吧是我。長達半月的重感冒,即將考證,還剩下兩周才開始查資料,打開那兩本沒翻過的厚書。一邊找攻略一邊看書理解做思維導圖,結合app學習,還剩下一周才開始寫題做套題背答案。
重要的是!這一周內,每天早上起床就是背重點,課餘時間都在泡圖書館,即使不在圖書館,也會到陽台等地方背書,學習的時候精神高度集中,有時困但也保持專註,每半個多小時休息十分鐘,正常吃飯睡覺偶爾外出玩,也能真正做到了一天學習好幾個小時。
不能保證十個小時,但是保證了學習時間沒有分心。
雖然不知道能不能考過這門,但我習慣在處理工作和學習上,追求高效專註,有時候過於專註會錯過吃飯時間,所以一般會定個鬧鐘。喜歡看時間管理類的知識和網站,這些在知乎上都可以經常看到。
建議:去圖書館不要帶手機。帶齊東西再帶個手錶就好了。我的會鬧鐘震動,因為是運動手環。
在別人眼裡我算優秀吧…名次排前,年年獎學金,證書獎狀眾多…但個人覺得沒有自己想要的那麼優秀,因為校內認識的朋友都很優秀。
拿這次考證做例子,如果成功,主要原因有二。
一、驅動力。懶得再報名再考。未來的時間越來越緊湊,計劃很滿,想多做點自己喜歡的事情,多嘗試自己沒有做過的事,不想浪費時間重複複習。二、專註。摒除了所有可以影響自己的因素,不分心,加上驅動力,鞭策自己集中注意。題主也試試?
前兩個是主要原因,還有一個次要原因——方法,因為懶,所以追求高效,喜歡收集和總結新方法。
我平時在網上積累了很多時間管理的經驗並運用到現實生活,同時學習的方法也是追求高效,學習通常不用老舊笨方法,我是英語專業,和計算機英語還是有差別的,你可以參考其他人說的好方法。
本人不才,希望有所幫助。贊同請點贊喔。如果你真的能投入十小時,就不會來這裡提問了。建議至少減到八小時,留出時間總結、鍛煉身體。
首先區分目的,
要作學術,永遠網路安全理論現行,英語跟上,編程,沒那麼重要的。
要作工程,編程能力先起來,英語跟上,理論,可以當不存在的!
學術,那就是網路/信息安全研究,學術研究第一要務永遠是發表論文,發表高水平論文!怎麼發?無非擴展現有理論,拓寬應用範圍,引入新的工程方法等等。剛開始,中文材料入門,建立基礎的概念,看熱點。再深入,閱讀學科專業論文,拼英文,拼眼力,拼角度。編程這東西,你能把代碼發到論文上去嗎?(其實我很多理論研究的師哥師姐,從來也不編程的,不妨礙她們的高學術水平和高收入)
工程,就是解決問題,怎麼能解決問題怎麼來,怎麼能解決問題怎麼學。做安全?你是那種安全?到底是軟體破解,是病毒木馬,是竊聽抓取,是流量分析,還是別的?又或者,你就是想做接地氣的駭客,就是想盜QQ號,想賣賣小視頻,想偷個比特幣之類?無論那種,就是定目標,選技術,練技術,用技術,造技術這幾步。
具體說說學習的方法,一個月學習編程,特別是容器數據類型、網路編程(我指的是套接字編程這一類,不是Web編程,像是Rails/Django/Spring這一類的框架)、正則表達式、二進位數據操作、結構化數據解析(例如JSON、XML、XHTML之類),一定要在腦子裡形成一個工具箱,知道有什麼工具可用。然後跟著教程學,一步一步來,有疑惑就停下來,試著找找別的資料相互交叉(技術不是小說,學一個主題往往要很多本書,很多文章交叉看)跟著作,自己練,留心用到的庫或者工具,記下來,能去Github上看看源碼嗎?哪怕看看README,先收藏下來也可。然後,用輸出倒逼輸入,比如,能為一個你常用的庫貢獻源碼嗎?哪怕只是寫寫文檔。能組建一個分享或者學習小組嗎?能輸出你的學習成為博客嗎?
特別的,英語,每天都至少要花一個小時學習。英語無非積累二字,慢不得也快不得,火候到時它自美,不過你既然只想看懂文章,那麼就不用過於注重聽說寫,就放在讀上,專業英語積累其實速度是非常快的。
我覺得你首先考慮的是編程或者網路安全,因為特別問道了英語的問題,應該是平時對英語不怎麼上心吧,我猜的啊,不對的話就原諒我吧。
我覺得你既然考慮編程或者網路安全的話,我覺得直接學習編程吧,網路安全感覺內容比較寬泛,你比如搞思科、華為等防火牆硬體維護的他也說是搞網路安全的,可是這樣感覺比較單一,甚至我見過很多這樣的人只是弄弄設備,不是說這些人不強啊,但是可能和你我想像中的網路安全差別很大。很多做網路安全維護的用個web漏掃,用個主機漏掃(還是說搞硬體維護的人),根本就看不懂上面的報告,不知道xss,不知道csrf,這樣的人很多,因為他負責的就是用這些掃描設備,主機漏洞交給維護主機的整改修復,web漏洞交給做開發的人整改修復,自己負責掃描和報告導出。所以以這種方式搞安全就慢慢成了設備運維了。
注:上面說到的設備維護,絕對沒有看不起不重視的情況在裡面,討論的是入門的選擇,而不是具體的技術。任何技術深入都是有難度且需要話時間的,就事論事!
而如果直接開始學編程,學習了編程對後續學習安全的幫助是很大的,比如你學習PHP、JAVA等後可以比較容易的明白Web漏洞的成因,學習JS之類的可以了解Web前端安全等。如果你不會編程在學習滲透的時候,很多時候還是要回過頭來學習編程的知識。如果是學習C這種更底層的編程語言,那麼對於了解網路協議,操作系統底層也會有很大的幫助,因為它們很多就是用C語言實現的。了解了網路協議,還愁網路安全設備搞不定嗎?網路設備只是協議的一種實現,協議了解了配置設備還難嗎,它的本質就是協議嘛,學習路由交換時,也是大量的協議原理,然後命令就那麼幾條。了解了操作系統、底層原理以後,可以搞搞二進位安全啊。我個人覺得先從編程入手,後續路子比較寬吧。
再來比較一下學習時間。你學編程可能要一年的時間,但是你學了一年編程的基礎上學習安全、滲透一類的,掌握起來是有基礎的,速度會快一些,可能3個月就入門了,在你從編程的角度了解了各種協議之後去學習防火牆、路由器這些硬體的時候,速度也快一些。但是,如果你學習了安全、滲透,或者防火牆、路由器這些,學了一年,然後去學習編程,前面的東西可能對於真正的編程不會做太多鋪墊的,學習編程還是得1年的時間。因為先學習編程後,再學其他時很多思想都是可以用上的,而先學其他的知識,對於再學習編程的影響就沒有那麼大了。
在學習了編程之後,為了看手冊自然會去接觸英語,這時候就積少成多就好,反正也有翻譯工具,邊用工具,邊學習,總會有進步的。
我自己是這麼感覺的,不一定適合每個人,我說的也不一定對,甚至我說的可能就是在污染空氣,看看我的簽名就知道了,技術渣而已~睡不著在花亂說一通。不喜勿噴,大家討論討論!!
搞一本網路安全英文版書看,變看邊讀邊想,既學了安全又學了英語,編程是日積月累的東西,急不得。
成事敗事都不過積漸二字。
只要保證每天能有一段時間(譬如早起或睡前)背背單詞,讀讀文檔,英文能力一定會有提高的。編程和網安方面也是同理,每天寫寫程序 ,看書的時候務必要用博客或者有道印象之類的做下筆記。對了,邊用邊學或者說學目前項目要用的知識 是最有效率的。題主可以找找github上感興趣的網安項目,比如xsser這種,同時可以學你描述的三個模塊。復現學編程,讀文檔學英文,漏洞相關部分學網安。@vczh 聽說@輪子哥容易獲贊
學 web 開發 -&> 編程√ 網路安全√看官方文檔 -&> 英語√
把這十小時按本科學習時間分配,每天每科都要學
每天1-2節lecture, 給自己留作業做project, 隔一段時間就考試,可以用coursera之類的的mooc網站來規範自己的時間安排
(同時學英語化學編程數分機器學習我也很絕望啊,但是本科生都是這麼熬過來的啊……尤其是大一上通識課的…………所以按本科生的時間安排肯定沒問題吧一直覺得計算機相關的專業英語完全就是看文檔看論文看多了自然會的,所以到現在還有很多常見高考單詞我都不會,但是大量的冷門專業單詞我反而更熟悉。如果不是為了英語考試,那就直接看文檔,論文,遇到不會的就查,很快就能把專業內的這點英語學差不多了。
謝邀
編程是建立在有英文的基礎上
網路安全就是網路安全別搞混淆了
首先明確概念 小白不可怕
先把英語學好。不求四六級。但求看得懂然後學好編程 c,Python PHP Java 最後再談網路安全 信息安全。
我覺得我可以在這個問題下提點建議,因為現階段剛好同時在學習編程和網路安全,同時上著外語課……
- 三點並不衝突,甚至於你可以放著英語不管。
- 放著英語不管的原因是你在學習編程和網路安全的過程中肯定會接觸到很多英語,某些情況下英文教材比中文的更加好,比較建議中英文對照起來看,而你的要求是能看懂文檔就行,那麼中英文對照會讓你以最快的速度熟悉編程和網路安全中出現頻率最高的詞,剩下的有道百度谷歌翻譯,實在不行就『英文+計算機』當做關鍵詞搜索。
- 假設你八點起床十點睡覺,那麼是14個小時,你覺得吃飯午休上廁所開小差之類的時間刨掉,能剩到十個小時嗎?
- 假設吃飯午休上廁所開小差總共佔用你六個小時(實際上對絕大多數人來說會更多),那麼你最多能利用八個小時,那就很簡單了,將學習英語部分當做碎片時間融入八個小時,剩下的時間對半分,編程一邊學習一邊上手四個小時一天可能還不夠用,網路安全基本上是概念化的東西,上手會比較遲,所以一開始建議四六開,而後慢慢調整為一半一半,並且碎片時間減少。
- 還有需要補充的可以評論里問我,我直接貼這裡,希望能幫到你。
這個行業知識更新迭代很快,關鍵是基礎和學習方法。每天分配10個小時,一個月就把課程都學完了吧。三個科目,每天一小時,其他時間該玩玩,該睡睡。如果不掌握學習方法和思維,今天sdn,明天nfv,還要蹭大數據,人工智慧,智慧xxx等熱點,你跟不上的。
那大量時間閱讀有關網路安全編程的英文文獻,或者是編程然後閱讀有關網路安全的英文文獻。
just do it
用百度瀏覽器打開Google搜索英文編程資料
樓上說的記單詞的我記了忘,忘了又記,記了還是忘,效率不高還浪費時間,不知道你們怎麼做的?
推薦閱讀:
※專心學習,老東想西想的?
※一次讀者問答:關於刻意練習、100 小時定律與「過程就是獎勵」
※為什麼生意最好的甜品店,總是開在減肥中心的隔壁?
※關於怎麼擺脫應試教育的牢籠?