(題外話,我發現不少高手都喜歡講代碼實現,喜歡貼代碼貼圖,我我的不大喜歡這種方式,我以爲最重要的是思想,是想法,具體的實現代碼實現步驟由讀者本身去實現。這純屬我我的喜愛,望各大內高手勿噴,多是本人水平還未達到的緣由吧!)php
將來的IT行業不是由知識量大的人所掌控,而是由自學能力強有獨立創新思惟的人所掌控!java
IT行業知識更新速度快,新的知識產生速度快,若是大腦知識更新度不能與時代共進,那麼註定被時代所落下!此外,光有知識更新還不夠,還有一點比較重要的就是要具備獨立創新思惟!舉個例子,在這個網絡日益發展的時代,安全問題備受關注,一部分人天天想着如何讓信息更安全,研究各類加密算法,除了這些人之外,還有一部分人成天想着如何破解人家的密碼,如何提取加密信息,還有更猖狂的角色,腦子裏正琢磨着如何盜刷別人的銀行卡里的錢,爲了破解,這些人因而就想出了各個方向的破解方法,好比反彙編,暴力破解,分佈式拒絕攻擊,滲透,逆向,社會工程學,網絡監控等方式百出,他們想出來的方法花樣百出,可謂是百花爭豔吧,還有的方式更讓人驚顫,他們得不到的話就直接把主機給毀了,毀掉的方法也多,好比經過「u盤」,這個u盤是加引號的,只是外形和u盤同樣,裏面能夠經過電源短接方式把主機銷燬;若是他們遇到了高強度,安全性高的防火牆時,他們可能會發起DOS攻擊,讓對方的服務器不能給合法用戶提供服務,從而給對方帶來經濟損失,甚至讓對方服務器直接死機,死機了以後對方就會從新啓動系統,在這啓動的短期裏就是這些攻擊者還忙活的時候了,系統剛啓動時,各個防火牆還沒徹底打開,他們就能夠在這時進入主機,關閉防火牆安裝後門等這些工做!linux
好了,扯了一些如何攻擊的題外話以後該從新回到話題上來了,爲何他們會想到這麼多的奇思妙想的方法呢?我只能說他們太機智了!既然他們這麼機智,若是咱們這些開發者,維護者不跟着比他們機智的話,那麼互聯網還有什麼安全可言呢?拋開這些首創思惟想法,咱們再站在技術層級上講,如今又陸續出現生物智能了,把超低功耗的晶片直接植入人體,經過這些超高速計算微型計算機來破解,至於具體的方法不是我等屌絲人物所能得知的!可見,若是咱們在技術方面的知識不更新換代的話,無疑會被時代所拋棄!c++
思惟創新不少時候都得創建在覈心的理論基礎之上,就好比說人家爲何想到反彙編,由於主機處理器運行時得一條條的跟着指令走,而這些指令集合又放在ram當中,若是咱們把這些指令集提取出來不就知道處理器幹了些什麼鮮爲人知的祕密了嗎?因爲這個集合過於龐大,爲了可以方便咱們這些猿猴來閱讀,把它們轉成彙編代碼以便查閱!暴力破解就不用順了吧,由於無論什麼加密算法,你的密碼永遠在計算機的存儲世界裏永遠是一串01組合,爲了方便看,轉爲asca碼,在asca碼時間裏,密碼就永遠是一串asca碼的組合,把全部組合全羅列出來在時間容許的狀況下必定能破解,這也是爲何ATM機一天只讓你輸錯2次密碼!算法
分佈式拒絕攻擊前面以說過,下面說說滲透吧。滲透一般是指從一網域進入另外一個網域去操做那個網域的主機,這就涉及到TCP/IP協議與端口號,路由表以及IP過濾等這些東東了,對方之因此能滲透進你的網域是由於在你配置以上文件時不經意間給他人打開了一條祕密通道。編程
講 IT行業就不能光說網絡安全這一子類,下面就拿開發手機爲例從底層硬件到上層應用軟件說吧!<1>從底層的硬件電路設計開始吧,伴隨着新型傳感器,新型的顯示技術,存儲技術的不斷出現,若是要在市場上博得歡心,就應該採用物美價廉的新技術,所以也就必須去了解,學習這些技術。除了硬件選型,因爲如今的微處理器大都是g級頻率,鋪設信號線時就得考慮到時延,過沖,阻抗匹配不對時產生的回波信號而發生在門門限的震盪現象,不光有回波,有時還有駐波的存在(在頻率高於100mhz時的信號線是帶有較大的寄生電感與寄生電容的,),因此通常高頻部分電路集中在一塊,有時還得藉助屏蔽層,微帶線來加強信號線的穩定度。<2>在電路全都設計完工以後,得把這軀體賦予靈魂了,那就是底層軟件開發了,你必須瞭解微處理器的工做機理,好比系統時鐘,片上外設,以及外圍模塊的工做機理,好比sdram(多數是DDR,DDR2,DDR3,DDR4),flash(多數是landflash,norflash,emmc,SD),顯示屏幕,攝像頭,陀螺儀等,知道了這些就能夠開始進行啓動系統(bootloader)開發,配置好初始環境以引導操做系統(IOS,安卓,linux,vxworks,wince等),這一步必須能與操做系統進行對接(操做系統的入口地址,存放整個系統硬件數據參數的結構體地址,堆棧地址等這些參數都要能傳遞給操做系統(內核),不然引導不了操做系統,也就進不了操做系統,從而也沒了後級的上層app設計工做了)!假如沒有較強的自學能力與習慣的話,那就很難實現使用新技術了<3>既然已經有了操做系統接口,接下來固然是裁剪操做系統了,這一步涉及的比較深,得了解操做系統內核對進程的調度策略,進程與進程間的通訊(管道,郵箱,信號量,消息隊列,socket,以及內存共享等),和鎖機志(好比自旋鎖,互旋鎖,以及一些避免發生死鎖現象{相似之前windows常常出現的死機現象}的條件),除了這些還有內存管理機秩,中斷機秩,還有網絡這一大頭(包含各類通訊協議,如TCP/IP,UDP,ICMP等上千種),要作好這一步得要資深的高級工程師去完成了!<4>有了操做系統咱們就能調用操做系統提供出來的api接口進行上層開發,咱們能垂手可得的讓屏幕顯示出咱們想要的圖像,讓揚聲器播放出悅耳的旋律,假如我把操做系統給去掉,再要你去實現它,那麼在裸機上開發來實現的話就麻煩多了,上層開發的語言也不斷出世,也愈來愈好用方便,像一些面向對象的c++,qt(基於c++的類庫),c#,java等,以及一些多用於網頁開發的Python,php,JavaScript,CSS等,還有一些用於系統管理的腳本語言,它們讓咱們的開發速度與效果愈來愈好,若是要掌握好新而高效的編程語言,那只有靠自學,想要精通的話,那就的靠經驗多領捂,多思考多琢磨,如何讓效果更佳,那麼也就要求在數據結構,算法上下深功夫了!爲了避免被IT界所淘汰,咱們趕忙努力吧!!!c#
寫的有點多,是時候說拜拜了!windows