自己使用C獨(dú)立求解問題是從數(shù)學(xué)建模中的一個過河的游戲開始的,一開始我并沒有想過要使用編程來解決這個問題,但是隨著問題逐步拆解分析,我忽然覺得計算機(jī)也可以做這個事情,數(shù)學(xué)模型離不開數(shù)據(jù)的訓(xùn)練,問題一旦抽象為具體的數(shù)學(xué)模型,就很容易通過計算機(jī)編程來解決,這可是計算機(jī)最為擅長的事情。也正是這個事情,讓我自己真正認(rèn)識到C語言的實際作用。不過那時候也只懂得基本的變量、運(yùn)算符、表達(dá)式、控制語句、函數(shù)?;A(chǔ)庫而已,這僅僅只是C語言的皮毛而已。此時,我還無法想象windows程序那操作簡易的窗體界面究竟是怎么實現(xiàn)的,特別每次調(diào)試C程序出現(xiàn)的黑屏白字界面。
關(guān)于這種帶有界面的程序認(rèn)知,是Delphi首先教給我的,可能業(yè)界很多人首先接觸到的是Visualstudio,我僅僅只是個外行。也許現(xiàn)在的年輕程序員并不懂得什么是Delphi,Delphi如曇花一現(xiàn),曾經(jīng)風(fēng)靡一時,最終急匆匆地退下歷史舞臺,我記得最后一個版本應(yīng)該是Delphi8。運(yùn)籌學(xué)課上,老師使用他自己編寫的軟件求解動態(tài)規(guī)劃的問題,而這些軟件就是用Delphi做的,這引起了我的興趣,下載安裝Delphi之后,便立馬建立第一個項目,向?qū)J(rèn)會自動創(chuàng)建一個窗體,這讓我非常開心。不過,在我享受Delphi帶給我很多便利的同時,也必然讓我失去了對技術(shù)細(xì)節(jié)的掌握,而這一點(diǎn)認(rèn)識深深地影響著我后面全部學(xué)習(xí)過程。與那些從微軟MFC開發(fā)起步的同學(xué)完全不一樣,我還浮于技術(shù)華麗的外表,享受著一點(diǎn)進(jìn)步的短暫興奮中。Delphi使用的可視化的Pascal語言,是一種面向?qū)ο缶幊陶Z言,對那時候的我來說,與c語言的最大不同之處在于,它封裝了很多技術(shù)細(xì)節(jié),涉及更多語法層面的東西,要求編程人員更加關(guān)注各種庫以及API調(diào)用等問題。
C語言的第二次深入學(xué)習(xí)是從單片機(jī)開始的,我始終不會忘記第一次點(diǎn)亮LED燈時的那種興奮勁兒,它讓我整夜都無法入睡單片機(jī)的C語法在原標(biāo)準(zhǔn)之上進(jìn)行了簡單的擴(kuò)充,比如位定義volatile關(guān)鍵字等,因為單片機(jī)重點(diǎn)在于控制,因此對于端口操作的位運(yùn)算比較多,這也讓我進(jìn)一步理解了位運(yùn)算的現(xiàn)實意義。那時候不懂什么是上拉電阻、推挽式輸出、漏極開漏輸出、高低電平、寄存器等等、現(xiàn)在想來也挺可笑的,總之,在不斷的自學(xué)中,懂得了定時器、看門狗、數(shù)碼管、蜂鳴器、紅外遙控、直流電機(jī)、步進(jìn)電機(jī)、AD轉(zhuǎn)換、DS1302,DB1602、24C08、AM2302、LCD等常用器件的基本操作,懂得了UART、IIC、SPI、1-wire常用協(xié)議,懂得了如何根據(jù)數(shù)據(jù)手冊上的時序圖編寫相應(yīng)的驅(qū)動程序,也學(xué)習(xí)了匯編程序設(shè)計,雖然單片機(jī)開發(fā)環(huán)境提供了啟動文件的匯編代碼,但是為了搞明白我還是專門學(xué)習(xí)一下匯編語言,這也讓我對寄存器,內(nèi)存以及CPU的運(yùn)行流程有了更為深入的認(rèn)識。
C語言的第三次深入學(xué)習(xí)是因為NRF906這款芯片,這是法國Nordic公司生產(chǎn)的一款數(shù)字接口無線射頻芯片,自帶鏈路層協(xié)議實現(xiàn),用于無線數(shù)據(jù)通信,視距1-2公里,具體的通信距離要看功放電路的具體設(shè)計了。由于項目涉及無線數(shù)控、電機(jī)驅(qū)動、LCD顯示、繼電器、串口通信等等,繼續(xù)采用之前的編碼習(xí)慣,代碼變得臃腫和混亂起來,為了更好的組織程序,大量使用了函數(shù)、指針、結(jié)構(gòu)體和接口處理,上位機(jī)程序采用Delphi編寫,涉及多個模塊,無線數(shù)傳是物聯(lián)網(wǎng)的一項基礎(chǔ)技術(shù),萬物互聯(lián)有了通信的媒介之外,還要有網(wǎng)絡(luò),當(dāng)時比較熱門的是Zigbee組網(wǎng)技術(shù),TI公司專門針對Zigbee協(xié)議提供一系列的軟硬件套件,藍(lán)牙、WIFI技術(shù)剛開始嶄露頭角,并不像今天這樣大量普及的程度。但是Zigbee因為功耗大的問題沒有得到非常好的應(yīng)用普及。
二、ARM和μCOS
進(jìn)入ARM的世界是漫長的,ARM從來不做簡單的事情,對于初學(xué)者來說,功能的豐富強(qiáng)大也意味著操作的更加復(fù)雜,第一關(guān)時鐘配置就卡住了,ARM的時鐘樹在提供豐富的時鐘頻率的同時也帶來了繁瑣的時鐘配置。第三方芯片生產(chǎn)商提供了友好的固件庫,簡化了開發(fā)人員的配置操作,由于基礎(chǔ)功底太差,以自己那時的能力根本看不懂ST公司為STM32F10x系列提供的龐大固件庫”笨人就用笨辦法,死看代碼,俗話說先混個面熟,跳轉(zhuǎn)一個接著一個,歷經(jīng)幾個月的迷茫,總算是有點(diǎn)眉目,漸漸熟悉了PLL分頻器、PWM、DMA、AHB、CAN、USB、JTAG等模塊配置使用,同時,由于固件庫的巧妙的設(shè)計、靈活的編碼、規(guī)范的風(fēng)格,我的C編程功底也有了非常大進(jìn)步。
當(dāng)然,隨著硬件功能的豐富,相應(yīng)的程序設(shè)計也就變得更為復(fù)雜,也正是因為這個原因,需要移植成熟穩(wěn)定的操作系統(tǒng),不會采用編寫裸機(jī)程序的方式,操作系統(tǒng)就是將大量通用的重復(fù)性設(shè)計和代碼進(jìn)行高度抽象總結(jié),將底層工作機(jī)制透明化處理,操作系統(tǒng)作為一款標(biāo)準(zhǔn)化通用平臺。大大減輕了開發(fā)人員的工作量,這樣一來能夠讓開發(fā)人員更加關(guān)注于上層應(yīng)用,這樣一來,就需要學(xué)習(xí)嵌入式操作系統(tǒng)μCOS作為一款微型實時系統(tǒng)學(xué)習(xí)門檻低一些,主要提供:任務(wù)調(diào)度、事件管理、任務(wù)通信、內(nèi)存管理,雖然這都是最為基礎(chǔ)的知識點(diǎn),但是對于初學(xué)者來說能夠熟練掌握就已經(jīng)非常不錯了,從裸機(jī)到基于操作系統(tǒng),是認(rèn)知的一次較大轉(zhuǎn)變,學(xué)會使用μcos是基本的要求,要能夠深入理解其設(shè)計思路和運(yùn)行機(jī)制還需要一段過程。理論終歸是理論,理論轉(zhuǎn)化為具體應(yīng)用場景下的工程設(shè)計和實現(xiàn),還需要做很多的工作,因此對于初學(xué)者來說,μCOS給你的并不是一堆代碼,還有大量的工程設(shè)計思想、行業(yè)慣例以及常用處理閱讀μCOS代碼,你會為作者嚴(yán)謹(jǐn)優(yōu)秀的編碼風(fēng)格和習(xí)慣所折服,你會為作者巧妙的設(shè)計和靈活的處理所折服。此外,順便提一點(diǎn),μCOS作者的故事也更令人心動不已。
ARM第二個階段學(xué)習(xí)始于三星S3C2440這款芯片,這也是一款較為成功流行的芯片,與之前的ARM單片機(jī)(Cortex-M)不同,這款芯片屬于ARMCortex-A系列,屬于深度嵌入式應(yīng)用芯片,增加了協(xié)處理器和內(nèi)存管理單元,結(jié)構(gòu)要復(fù)雜一些,由于RAM和ROM的外置,電路板的設(shè)計也更為復(fù)雜,一般核心板都是多層設(shè)計,同時,RAM和ROM控制器是必須要獨(dú)立提供,既然是高端點(diǎn)的芯片,那么S3C2440就不是用于簡單的控制系統(tǒng),而是手機(jī)平板電腦、醫(yī)療設(shè)備、工控設(shè)備、儀器儀表等等,由于大量的普及使用以及硬件的提升,對于類似這樣的應(yīng)用場景,在軟件設(shè)計中又被剝離出了一個標(biāo)準(zhǔn)化的東西,BSP板級支持包或者Bootloader,現(xiàn)在比較常用的是UBoot,代碼全部公開。應(yīng)用的廣泛,開發(fā)者還要掌握文件系統(tǒng)、網(wǎng)絡(luò)協(xié)議、圖形界面等組件包的移植使用,嵌入式應(yīng)用特點(diǎn)就是這樣,根據(jù)具體的應(yīng)用場景軟硬件可裁剪,需要什么就加入什么。但是,隨著這幾年嵌入式硬件性能的不斷提升和linux的大量普及使用,一些組件也作為基礎(chǔ)部件被嵌入到軟件平臺中去,編程功底就是在實際應(yīng)用中不斷建立起來的,幾年前不理解寄存器、寄存器變量、位圖運(yùn)算、函數(shù)實質(zhì)指針,編譯,匯編,鏈接,重定位、加載器、動態(tài)庫、組件、堆、棧、線程、進(jìn)程、鏈表、隊列等等好多機(jī)制,但是當(dāng)你經(jīng)歷了大量豐富的實踐之后,你會突然明白一切原來都是這個樣子,一切并沒有原先想象的那么高深莫測。
三、IIS+ASP+Access
面向?qū)ο缶幊桃彩侨绱?,它也是工程師?jīng)歷長年大量的編程實踐工作中總結(jié)出來的,在成為一種成熟穩(wěn)定的標(biāo)準(zhǔn)之后,交由編程工具進(jìn)行了處理,對于初學(xué)者來說,面對一大堆概念名詞,無法理解這些高度抽象的語法糖,最好的方法還是:不斷寫代碼。第一次認(rèn)識VisualStudio是因為做網(wǎng)站,那時候ASP還沒有沒落,動易網(wǎng)絡(luò)公司還是赫赫有名,桌面程序還是業(yè)界主流,今天web應(yīng)用開發(fā)能如此大熱,根本原因在于智能手機(jī)和移動互聯(lián)網(wǎng)的大量普及,對于小型網(wǎng)站,基本采用“IIS+ASP+Access”的基礎(chǔ)架構(gòu),當(dāng)時對于BS風(fēng)格的程序還不是很了解,具體的編程工作也只是在現(xiàn)有開源項目上進(jìn)行小的改動。
C#是一款面向?qū)ο缶幊陶Z言,擁有著大量語法糖,比如引用。集合,泛類、委托,λ表達(dá)式·封箱拆箱,LINQ等高級語法特性,此外編譯器也為項目開發(fā)提供了注釋,標(biāo)記特性,單純?yōu)榱藢W(xué)習(xí)而學(xué)習(xí),是永遠(yuǎn)無法理解這些語法糖,還是需要實際項目的推動,一方面,使用原先的編碼技術(shù)實現(xiàn)項目的基本需求;另一方面,通過反復(fù)的迭代摻入新的語法特性,提高自己的編碼技術(shù),像單例模式、工廠模式、觀察者模式、策略模式、適配器模式、依賴注入、控制反轉(zhuǎn)、AOP等面向?qū)ο缶幊淘O(shè)計模式,也是需要在大量的項目實踐中不斷總結(jié)出來的,因此,在日常的編碼中要經(jīng)常性的進(jìn)行重復(fù)迭代,不斷總結(jié)思考,只有這樣才能提高編程功底。.NET平臺提供了類似Java JVM一樣的虛擬機(jī)機(jī)制CLR,橫在了操作系統(tǒng)和上層應(yīng)用之間,C#編譯后的項目并不是二進(jìn)制的機(jī)器指令,而是IL中間語言代碼,程序運(yùn)行時由CLR提供實時的翻譯,并轉(zhuǎn)換為可執(zhí)行的機(jī)器指令。.NET提供了托管內(nèi)存機(jī)制,增強(qiáng)了系統(tǒng)和程序的安全性,提高了程序異常調(diào)試能力,對數(shù)據(jù)庫的操作也是項目開發(fā)一項必備僅能。.NET平臺提供了ADO.NET機(jī)制,將數(shù)據(jù)庫訪問機(jī)制進(jìn)行了標(biāo)準(zhǔn)化,這就像設(shè)計模式中的適配器模式,數(shù)據(jù)庫操作的技術(shù)細(xì)節(jié)被隱藏了,各大數(shù)據(jù)庫廠商針對ADO.NET提供自己的數(shù)據(jù)庫驅(qū)動,便能實現(xiàn)數(shù)據(jù)庫與應(yīng)用程序的自由對接。由于項目使用的是Oracle數(shù)據(jù)庫,除了標(biāo)準(zhǔn)化的SQL語句外,Oracle也有自己專有的SQL語句,為高級開發(fā)人員提供特殊功能,在真正做項目的時候才體會到自己的知識是那么的貧瘠,學(xué)習(xí)的時間是那么的緊缺。
五、GIS
了解GIS技術(shù)也是項目的需要。智能手機(jī)和移動互聯(lián)網(wǎng)出現(xiàn)極大的推動了電子地理信息可視化技術(shù)的發(fā)展,谷歌地圖、百度地圖、騰訊地圖、高德地圖等等,目前普遍使用的還是二維電子地圖,但是三維電子地圖、全息投影和WebGL等技術(shù)還在加快地發(fā)展中。對于GIS并沒有去深入學(xué)習(xí)地理科學(xué)方面的知識,只是簡單的了解一些地圖的制圖技術(shù),重點(diǎn)精力放在于GIS組件上,搞清組件的基本工作機(jī)制,組件之間的繼承依賴關(guān)系,以及組件的調(diào)用接口和使用方法等。總之,GIS是包含眾多行業(yè)在內(nèi)的一項綜合性工程技術(shù),GIS軟件的開發(fā)需要各專業(yè)人員協(xié)同配合。
六、WPF和MVVM
本來并沒想著去學(xué)習(xí)WPF這項技術(shù),但是時代要求走到了這隨著軟件技術(shù)的不斷發(fā)展和成熟,人們對軟件的要求也越來越高,除了要完成基礎(chǔ)業(yè)務(wù)功能外,軟件界面的美觀也成為一項關(guān)鍵性指標(biāo)。WPF改變了以往桌面程序的圖形系統(tǒng),參照WEB程序開發(fā)的模式,將界面設(shè)計從程序設(shè)計中剝離了出來,提出了一種全新的MVVM設(shè)計模式。當(dāng)然,WPF強(qiáng)大圖形系統(tǒng)支持和美觀的界面也必然吃掉了一部分硬件的性能,不過相對于硬件性能提升來說,這點(diǎn)損失還是利大于弊,對于用戶來說只感受到了巨大的利好,此時的我還并不是非常清楚Web程序界面的設(shè)計方法,畢竟之前做的很多工作都是Web后端,對于HTML,CSS,JS還是大概知道個模樣,WPF界面設(shè)計使用的是XAML語言,和HTML原理類似,也是從XML基礎(chǔ)上發(fā)展起來的一種標(biāo)記語言。WPF程序分離式設(shè)計開發(fā)、界面和數(shù)據(jù)的雙向綁定,最終經(jīng)過編譯器的拼裝組合實現(xiàn),對于這一點(diǎn)的理解花費(fèi)了我好長的時間,高級語法特性的難點(diǎn)就在于它隱藏了太多的技術(shù)實現(xiàn)細(xì)節(jié),讓開發(fā)人員失去了對底層工作機(jī)制的了解。此外,高級語法特性帶來的是工程建設(shè)思路革新,代碼特性只是其中的一個手段,有了MVVM這種設(shè)計框架的革新,增強(qiáng)了項目的協(xié)同配合,提高了項目的迭代效率,縮短了項目的開發(fā)時間,方便了項目的升級維護(hù),延長了軟件的生命周期,大大提升了軟件在市場中的競爭力。
七、虛擬化
最初我對虛擬化的理解就是虛擬機(jī),也許就和VMware公司最先開發(fā)虛擬機(jī)時想的一樣,當(dāng)時并沒有想到虛擬化帶來云計算。云服務(wù),虛擬機(jī)也可以簡單地理解為仿真機(jī),就是模擬一臺硬件計算機(jī),用戶可以近似像使用一臺計算機(jī)那樣操作它,開機(jī),關(guān)機(jī)、增加硬盤、安裝系統(tǒng)、安裝程序等,但是虛擬機(jī)并沒有簡單地停留在這個層面,它在服務(wù)器集群中的應(yīng)用才將其優(yōu)勢發(fā)揮地淋漓盡致,而在這方面應(yīng)用建設(shè)的領(lǐng)頭羊就是VMware公司,其余還包括Citrix,紅帽公司等等。VMwarevSphere就是該公司為服務(wù)器集群開發(fā)的一套完整的高可用集群解決方案,承擔(dān)起了云計算平臺的整個基礎(chǔ)設(shè)施建設(shè)。因為實際項目建設(shè)的需要,我結(jié)識了VMware,了解了該公司為企業(yè)信息化建設(shè)提供的各類解決方案,并為之震驚,起初我們只是為了提高網(wǎng)站的高可用性和安全性,在網(wǎng)上找了許多論文和資料后,偶然得知了VMwarevSphere這套解決方案。逐漸掌握了VMwarevSphere軟件的部署和使用后,才有膽量下定決心使用這套工具,當(dāng)時最新版本VMWare vSphere5.5。
八、HTML+CSS+JS
服務(wù)器集群這個底層基礎(chǔ)設(shè)施建好之后,這才有精力考慮上層應(yīng)用的建設(shè)。項目建設(shè)實際需要推動了個人在新技術(shù)領(lǐng)域的探索,由于采用了開源的網(wǎng)站后臺管理系統(tǒng),因此開發(fā)重點(diǎn)就放在前端,也就是通常所說的HTML+CSS+JS。對于初學(xué)者來說,HTML本身并不是很難,難就難在如何使用良好的編碼習(xí)慣進(jìn)行各種組件的設(shè)計,對于CSS盒模型的理解是個長期實踐的過程,經(jīng)歷了場場界面出現(xiàn)的詭異現(xiàn)象之后,才算是對CSS有了切身的認(rèn)識JS內(nèi)存模型、原型鏈、閉包、作用域也是在大量編程實踐之后才能有一番清晰地認(rèn)識。在接連不斷的驚訝和贊嘆中,我認(rèn)識了Bootstrap、jquery、,AmazeUI、Requires、CofferJS、AngularJS、Backbone、ExtJS、easyUI這些“輪子”,以及Grunt、Webpack、Bower、karma、jazmine等腳手架。雖然沒有技術(shù)大拿發(fā)明輪子的本事,但是能夠使用好大牛們的輪子,完成自己的項目才是最重要的。只要你有著強(qiáng)烈的好奇心和求知欲,你總是可以對這些事物有著一定程度的認(rèn)識,至少再次遇見它們時就像與“朋友”的重逢,畢竟親切了一些。
九、 Apache+PHP+MySQL
在做ASP的時候?qū)τ赑HP就有耳聞,但是此時ASP早已被淘汰,取而代之的是ASP.NET,之所以將目光轉(zhuǎn)向PHP,是因為PHP活了起來,大量的成熟框架和項目采用PHP編寫,很可惜微軟從ASP過渡到ASP.NET的過程中,被其他語言搶占了市場,盡管ASP.NET提供了很多優(yōu)秀的語法特性,但是市場的反應(yīng)并不總是那么迅速,不僅是因為學(xué)習(xí)需要一個過程,而且整個項目團(tuán)隊重新形成能力需要更加漫長的過程,這個過程需要大量的資本投入的。就像WPF那樣優(yōu)秀的技術(shù)一樣,并沒有得到很好的市場青睞,對于商業(yè)活動來說,投資收益率始終是一個根本問題。因為開源的項目采用了成熟豐富的 Symfony框架,讓我對于PHP框架有了第一直觀印象。在隨后的自建項目中,采用輕量級國產(chǎn)框架Thinkphp以及自己編寫的MVC框架。
十、網(wǎng)絡(luò)技術(shù)
既然是做互聯(lián)網(wǎng)應(yīng)用,不學(xué)習(xí)網(wǎng)絡(luò)技術(shù)怎么行,為了系統(tǒng)的學(xué)習(xí)網(wǎng)絡(luò)技術(shù),報考了網(wǎng)絡(luò)工程師資格認(rèn)證考試,一方面是為了督促自己的學(xué)習(xí),另一方面也是檢驗自己的學(xué)習(xí)效果。剛好結(jié)合項目的需要,對網(wǎng)絡(luò)布線、IPSEC VPN搭建、交換機(jī)和路由器的配置有了一定程度掌握,根據(jù)項目需要設(shè)計了 Web radius認(rèn)證審計方案,用以提高網(wǎng)絡(luò)安全管理能力。此外,通過使用思科Packet仿真工具,對數(shù)據(jù)報文進(jìn)行分析,總結(jié)編寫了幾篇關(guān)于對ARP、OSPF、TCP分析的文章。
十一、HTTP
隨著web程序開發(fā)的逐漸深入,我覺得有必要深入學(xué)習(xí)一下HTTP,這對提高web程序的安全性有很大助益。HTTP協(xié)議的重點(diǎn)在于報文的頭部,為協(xié)議內(nèi)部機(jī)制的實現(xiàn),而報文的主體則是用戶數(shù)據(jù),不需要過多關(guān)注?!禜TTP圖解》是一本非常不錯的書,配合的圖文對有些工作流程機(jī)制解釋的比較直觀易懂。學(xué)完之后對HTTP的管線化通信機(jī)制也有了一定的了解,并通過 wireshark抓包工具進(jìn)行了驗證性的分析。
十二、 Unity3D和 Webgl
Unity3D出現(xiàn)大大降低了三維游戲的開發(fā)難度,就像工具最初被造出來的時候,它的用途還是非常小的,但是在使用者的大量實踐中,工具的用途被推向了更廣的天地。Unity3D作為一款三維游戲開發(fā)引擎,并不僅局限于游戲開發(fā),像現(xiàn)在比較火的虛擬現(xiàn)實軟件,就是采用 Unity3D進(jìn)行開發(fā)的。當(dāng)然,我也是因為項目需要才學(xué)習(xí) Unity3D的開發(fā)。計算機(jī)圖形學(xué)是基礎(chǔ),雖然整個圖形效果的實現(xiàn)被 Unity3D完全封裝了起來,但是計算機(jī)圖形學(xué)的一些基礎(chǔ)知識還是要有的。 Webgl技術(shù)是瀏覽器端提供的種三維渲染機(jī)制,也是隨著這幾年Web應(yīng)用的流行才逐漸被推行出來的一種技術(shù)標(biāo)準(zhǔn),已經(jīng)被各大瀏覽器廠商納入進(jìn)去, Unity3D針對BS風(fēng)格的程序也推出了一套瀏覽器端的asm.js三維引擎組件。目前有著很好的應(yīng)用前景,作為數(shù)據(jù)可視化的支持技術(shù)受到行業(yè)青睞,像百度的 chart、谷歌地球等都建立在 Webgl技術(shù)之上。
十三、物聯(lián)網(wǎng)
隨著移動互聯(lián)網(wǎng)的普及,物聯(lián)網(wǎng)似乎又迎來了自己的春天仿佛現(xiàn)在的我們比過去任何時候要更加接近物聯(lián)網(wǎng),物聯(lián)網(wǎng)、智能時代是目前最炙手可熱的寵兒。從嵌入式開始,輾轉(zhuǎn)多個行業(yè),最終又回到了嵌入式。這幾年來,我不斷尋找著出路,在技術(shù)上過著顛沛流離生活,卻始終沒有一個好的歸宿。朋友多次勸誡我,要找準(zhǔn)一個方向深深地扎下根去??墒乾F(xiàn)實中的種種情況和變故,讓人難以有清醒的頭腦、清晰的認(rèn)識、足夠的精力,以及可以努力一輩子方向,在中國這片人才富饒的疆土上,市場的競爭愈演愈烈,全世界互聯(lián)網(wǎng)焦點(diǎn)都在我們這里,大牛們層出不窮,發(fā)明的輪子數(shù)不勝數(shù),Hadoop、Hive、 Spark等大數(shù)據(jù)開源項目如雨后春筍,各類開發(fā)組件、自動化工具、生態(tài)系統(tǒng)層出不窮微服務(wù)架構(gòu)、自動編排、 Devops 等一系列新的技術(shù)標(biāo)準(zhǔn)、框架,被戲稱為“代碼搬運(yùn)工”的碼農(nóng)更是多如牛毛,我有時在想,這種激烈的競爭導(dǎo)致的就是,人們本可以在10年時間里賺的錢,都在1年內(nèi)賺完了,市場的價格機(jī)制并不總能如此快速地匹配實際的供需情況,很多矛盾在時間維度上就被極度壓縮,最終導(dǎo)致整個市場不可持續(xù)、不穩(wěn)定,看似外表繁華實際上是一種“虛胖”大多數(shù)程序員并沒有人們想象中那么好,一方面是由于他們自身技術(shù)實力的原因,另一方面是由于外部激烈競爭環(huán)境的原因。
人生的重大轉(zhuǎn)折總是因為一些標(biāo)志性的事情。智能化建立在大數(shù)據(jù)基礎(chǔ)之上,原始數(shù)據(jù)的獲取必定要借助于物聯(lián)網(wǎng),這次下定決心再次投身于物聯(lián)網(wǎng),也算是為自己未來事業(yè)的發(fā)展定下一個總基調(diào),雖然不知道物聯(lián)網(wǎng)時代的全面來臨是什么時候,也不知道物聯(lián)網(wǎng)時代能夠持續(xù)多久,但是有方向總比沒有方向強(qiáng)吧。幾年沒摸的技術(shù)都有些手生了,先清理一下灰塵、除除銹蝕,再說吧。
-
編程
+關(guān)注
關(guān)注
88文章
3637瀏覽量
93929 -
程序員
+關(guān)注
關(guān)注
4文章
953瀏覽量
29837
發(fā)布評論請先 登錄
相關(guān)推薦
評論