免费观看又色又爽又黄的小说免费_美女福利视频国产片_亚洲欧美精品_美国一级大黄大色毛片

改變程序員開發方式的15個技術

2020-04-18    分類: 網站建設

很久以前,那些傳說中的“古董級”程序員和他們的匯編語言過著簡單而安逸的生活。當經費寬松的時候,程序員們會花錢雇傭人來幫他們撥動連接在機器上用于存儲代碼的紙帶(參見穿孔紙帶);當經費緊張的時候,程序員們則會自己親自動手。那段時間的編程過程很簡單:軟件加載內存數據,做一些算法,然后發送出來。這些就是全部的工作了。

時至今日,程序員們需要跟世界各地使用不同編程語言的人打交道并且還得忍受不同版本的編譯器。而陪伴程序員生活的代碼也變得不再單純了,有的代碼才誕生不久,有的則在舊函數庫里躺了幾十年了,而有的甚至連源代碼都不知道。團隊協作機制和多樣復雜的開發特性是如今程序員開發的大環境。

那么,是什么改變了程序員曾經簡單而安逸的生活呢?讓我們來看看這15個改變程序員開發方式的技術吧。

1. 持續性集成

連接加載代碼庫的時候,在以前你能夠用這段時間休息、喝咖啡甚至去吃個午飯。而現在呢,你可沒有這么悠閑的時間了。代碼庫現在與持續構建的系統緊密相連,編譯你的代碼、檢查當前構架、啟動數以百計測試并隨時在你萎靡不振的時候提醒你每一個潛在的錯誤。在你準備離開辦公桌去休息的時候,它都在隨時提醒你:快回到工作上來,這兒有些東西需要處理——你已經徹底成為了它的奴隸了。

2. 框架

重用他人的工作成果就好比是站在巨人肩膀上,這并不是一個新的概念,但在今日這種方式已經成為了應用開發的絕對主流。人們極少選擇重頭開發,而是將選擇自認為最好最適合的框架,研究其應用接口并編寫連接到這些接口的代碼來當作是最有意義的工作。網站頁面離不開HTML和CSS;而代碼部分則會以Ext JS、ExpressJS等為基礎。

當然,你可以選擇拋棄一切,重頭開發,但是那意味著你是在自尋死路,因為你一個人的工作始終無法與一大群人相比。你需要明白,成為一個框架改良者才是你要做的事,如果你想編寫代碼的話,你要做的就是停止重頭開發找到一個現成的好框架去改良它。

3. 庫

庫是框架的近親,是常用代碼的集合,程序員的開發離不開它。有誰可以在不使用jQuery庫的情況下編寫瀏覽器的代碼?有誰能記住內置函數GetElementByID寫的是什么?也許極少有人能夠做到吧,jQuery這樣的庫已經廣泛的管理著各個層面的堆棧了。

人們經常談論他們最喜歡的語言,卻很少談論這些語言是如何工作的。如果你打算雇傭程序員,你應當了解他對庫方面的了解情況。比如,JavaScript程序員了解jQuery和 Dojo tribe這一類庫么?會使用C++的程序員知道Allegro、Unity、Corona和其它的庫么?對庫的了解和對程序語言來龍去脈的了解同樣重要!

4. API

在以前,程序員們會很擔心數據結構,他們將信息包裝成位元組塊,并挨個逐一統計位元組個數,以確保指針中的值能安排正確的間隔。如今,謝天謝地,編譯器幫我們幫處理了這一麻煩的事。

目前,我們使用更加嚴謹的接口來處理這個工作,它有一個動聽的好名字:API。它們被安裝在完全不同的機器上,由完全不同的公司管理著,處理著我們的每一次請求。當你需要將一個街道地址和一個郵政編碼轉化成經緯度時,只需要一點錢,購買一個API就可以幫你完成關于這個問題的所有答案。

在大多數情況下,數據不需要被緊密包裝,那些清點位元組的老游戲已經被JSON、XML等可分析的數據結構所代替了,當你需要在某個位置插入正確的標點的時候,已經有一個程序庫在等著幫你處理了。

5. PaaS

現在也許再也用自己來構建網站了。我們可以在別人的網站上創建一個賬戶并進行定制。需要的只是網頁表單上的一些字段,你的新網站就可以擁有所有你想要的功能了,比如上傳一個關于貓的視頻到YouTube上或者在eBay上為一個糖果盒出價。

當然,這有點夸張。如今許多PaaS選項需要程序員能夠熟知每個網頁表單需要放入什么。例如,Microsoft Azure平臺需要你放入一些能夠描述網站如何響應的JavaScript函數,然后Azure就會把它們包裝成正確的庫并把它們運行在Node.js上。

6. 瀏覽器

以前有段時間,程序員編寫的桌面軟件、服務器軟件以及設備軟件都是不同的。它們都有各自與用戶溝通的方式。現在這些東西都通過瀏覽器了,當我在家里建立一個本地文件服務器用于保存音樂,我會將它放到網站上并定位一個URL地址。蘋果的桌面小工具多年來一直使用JavaScript和HTML。而許多跨平臺的移動應用程序也都是從HTML和附帶了Apache Cordova的JavaScript開始的。

當然,也有一些例外。最好的游戲仍然使用自定義應用,不需要瀏覽器。但是這一切也在慢慢的改變,越來越多的JavaScript開發人員找到了如何編寫屏幕畫布對象(可參見用CSS3繪制的湯普森一家)。而憤怒的小鳥等游戲已經運行在了瀏覽器窗口中。

7. 應用程序容器

構建服務器在過去是一件艱苦的工作。程序員想要在其它地方運行他們的代碼,需要向團隊的服務器管理員發送關于哪些軟件需要安裝的備忘錄。有些時候服務器調用了正確的庫,但是有些時候卻沒有,這就需要重新再弄。

現在,象Docker這樣的應用程序容器可以讓我們只需一個按鈕就可以將所有庫正確的打包到可移植的容器中。如果它能夠運行在我們的測試機上,那么它就幾乎肯定可以運行在服務器上。由于所有的東西都是相互捆綁在一起的,所以大多數工作平臺和服務器的兼容性問題將蕩然無存。

8. IaaS

前面提到的服務器管理員到哪里去了?在過去這些人可都是悠閑的很啊。現在的服務器管理員你已經看不到了,他們已經被抽象出來放進了云層里,作為全球范圍內的數據中心從事著過去服務器管理員的工作,管理著從云端這頭到那頭的不同公司。很少有程序員需要基礎設施團隊為他們的新項目構建一個新的服務器。大多數的人只需要登錄一個網站,按一個按鈕,使服務器運行就可以了。這一切都如此容易,這些IaaS管理網站讓你無需再專門為服務器管理員開一份薪水,也將服務器管理員從整日圍著服務器轉的牢獄中拯救了出來。

9. Node.js和JavaScript

在很多程序員都還沒有誕生的時候,Web服務器只支持靜態HTML。然后有人想到了如何創建與數據庫交互的動態服務器。那個時候,每一個團隊都需要一個人編寫SQL數據庫,一個人用PHP或者Java編寫服務器代碼,一個人去設計HTML模板。當客戶端的AJAX和JavaScript技術風靡的時候,網站還需要有人會使用這些語言。

現在,這些都是由JavaScript技術來完成了。在瀏覽器方面使用的是JavaScript,而在服務器層和數據庫層則分別是由Node.js和MongoDB/CouchDB來完成。甚至對于HTML頁面,都可以使用JavaScript代碼在Ext JS或者jQueryMobile框架上進行客戶端生成來完成。

10. 二級市場

如果你正在做一款游戲,你可以請設計師來為你設計令人驚嘆的模型,甚至可以請幾個程序員來幫你添加視覺效果使游戲看起來更酷。當然你也可以選擇去二級市場購買開發需要的東西,這跟去實體零售店去購買需要的物品一樣。當我在寫這篇文章的時候,二級市場的一個下水道場景拼圖工具包正在打折,這是一個用于構建不同尺寸的下水道游戲場景的模塊化工具包。但即使是恢復原價,這個工具包的價格也不會超過45美元。如果換作是設計師或者程序員,你開這個價格他肯定不會做了。

這些出售插件、擴展包、庫和其它附件的二級市場現在變得越來越火爆了。與前面所說的庫和框架一樣,通過合適的價格購買需要的部件,無需過多的編程就可以融入開發項目中。在國內,這一類二級市場通常被稱為控件網。

11. 虛擬機

為硅片寫代碼的日子已經離我們遠去了。現在我們的大部分代碼都運行在虛擬機上,它能夠把你的指令轉化成芯片能夠理解的語言。Java虛擬機、C#/.Net虛擬機以及現在的JavaScript引擎成為了編寫代碼的最主要對象。

大受歡迎的虛擬機不斷地將許多東西吸收進堆棧里。在過去,如果你想創建一個新的語言,你需要構建從預處理器到寄存器分配器的整個堆棧。現在新的語言站在了虛擬機這個巨人的肩膀上。Clojure、Scala、Jython、JRuby等語言都使用了Sun公司(現在已經Oracle公司的一部分了)的偉大虛擬機技術。

瀏覽器的世界與上面所述很相似。你可以選擇創建自己的瀏覽器和語言,或者在 JavaScript上作為模擬進行交叉編譯。這就是人們構建CoffeeScript這樣的清理工具想要完成的事。如果你覺得這樣很容易混淆,谷歌產品GWT(Google Web Toolkit)還可以幫你把Java轉換成JavaScript。

12. 社交媒體網站

在早期的互聯網,當你建立網站的時候,你會交叉手指祈禱大家能夠找到它,當大家找到它之后,如果需要再次訪問這個頁面則必須記住它的URL地址。

現在,越來越多的網頁被放進了Facebook或者Salesforce這樣的大容器里,如果你建立了自己的網站,可能只有很少的人來訪問它,因為絕大多數用戶都去點擊訪問Facebook或者Salesforce這樣的社交媒體網站了。

而具體的解決方案就是建立一個Facebook或Salesforce的應用,它們會讓你加入進來,然后將你的網頁集成進來成為平臺上的一個點。可是到頭來,你的應用仍然會受到很大的限制和操控。可是,你還有什么辦法呢?要么為選擇大型門戶網站服務,要么選擇被互聯網洪流所吞沒。

13. 開發工具

曾幾何時,我們在服務器上安裝的軟件非常單一,現在我們租用大量服務器來滿足成百上千臺機器的需求,這些服務器為滿足不同需求,需要更新多種最新軟件,它們能夠自動完成這些用手動不能勝任的工作。

進入“devops”模式,那些基礎工具如Chef和Puppet可以幫助你完成服務器的維護。將最新的軟件放置在云端,這些工具將會通過讓每臺機器運行相同的代碼來處理這些工作,它們自動化的完成了我們過去在每臺機器手動處理的事情。

某些服務項目如Google App Engine已經著手從內部處理這些工作了。你所要做的全部工作就是上傳你的應用程序,然后它就會自動為你服務了。除了能夠看到CPU的使用狀況清單,你甚至在不知道后臺都發生了什么的情況下就完成了軟件的更新和維護。

14. GitHub、SourceForge等代碼共享的社交平臺

代碼共享網站為開源世界作出了大貢獻,在SourceForge等出現以前,軟件就是由你自己來編寫并且只能與自己分享成果的東西,如果某人想要復制你的代碼,在征求到你的同意后,他們需要從你這里接收一個tar壓縮文件包。

現在代碼共享已經成為社交網絡的一部分。SourceForge和GitHub等網站會發布所有代碼供大家觀看和下載。它們將程序的維護、共享和代碼注釋合并到了一個易于訪問的地方。你可以在同一個界面閱讀代碼并提出修改建議。這就是為什么許多項目在一周時間時間內有數萬甚至數十萬的訪問次數,而這在以前是絕不可能出現的。

這種代碼共享的主流模式被大多數專利項目推崇,象GitHub和BitBucket這樣的網站都支持它們為出售非公開存儲庫而將項目代碼共享給權限受限的用戶群的做法。

15. 性能監控

在最早的時候,代碼跟蹤是非常簡單的事情。當編碼開始時開始打印,編碼結束時打印終止。如果你有了一些新的想法,那么你可以在原來的程序后面增加一些關于調整的運算。

但現在,這種方式已經過時了,許多問題都不僅發生在機器本身,就算添加一個代碼分析器也并不能完全解決問題,因為故障原因還包括網絡線路以及數據庫緩慢等方面。現代工具追蹤網絡要求軟件網絡與獨立模塊的性能一致,這是辨別是否正常工作的唯一方法。

網站標題:改變程序員開發方式的15個技術
標題URL:http://m.newbst.com/news8/81908.html

成都網站建設公司_創新互聯,為您提供App開發網站維護外貿建站云服務器網頁設計公司靜態網站

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

成都定制網站網頁設計