關于編程里的那些 ABCDEFG
A – Angular.JS 如果被設計用來構建 Web 應用程序的話,那就和 HTML 沒什么區別了。它是一款開源 JavaScript 函式庫,由 Google 和它的社區來維護,用來協助單一頁面應用程式運行的。它的目標是透過 MVC模式(Model-View-Controller)功能增強基于瀏覽器的應用,使開發和測試變得更容易。函式庫讀取包含附加自定義(標簽屬性)的 HTML,遵從這些自定義屬性中的指令,并將頁面中的輸入或輸出與由 JavaScript 變量表示的模型綁定起來。這些 JavaScript 變量的值可以手工設置,或者從靜態或動態 JSON 資源中獲取。
Angular.JS 是建立在這樣的信念上的:即聲明式編程應該用于構建用戶界面以及編寫軟件構建,而指令式編程非常適合來表示業務邏輯。Angular.JS 最引人注目的特征就是它的雙向數據綁定功能,這樣可以大大減少你在必要代碼上的編寫數量,Coder Factory 最先向澳大利亞提供 Angular.JS課程。
B – Booststrap 是一個用于響應式前端開發的框架,最主要是應用在移動 Web App 上面。它由推ter 的設計師 Mark Otto 和 Jacob Thornton 合作開發,是一個 CSS/HTML 框架。Bootstrap 提供了優雅的 HTML 和 CSS 規范,它即是由動態 CSS 語言 Less 寫成。Bootstrap 一經推出后頗受歡迎,一直是 GitHub 上的熱門開源項目,包括 NASA 的 MSNBC(微軟全國廣播公司)的 Breaking News 都使用了該項目。
Bootstrap 是基于 jQuery 框架開發的,它在 jQuery 框架的基礎上進行了更為個性化和人性化的完善,形成一套自己獨有的網站風格,并兼容大部分 jQuery 插件。
C – CSS 是 Cascading Style Sheet 的縮寫,中文名稱是層疊樣式表,又稱串樣式列表、層次結構式樣式表文件,一種用來為結構化文檔(如 HTML 文檔或XML 應用)添加樣式(字體、間距和顏色等)的計算機語言,由 W3C 定義和維護。目前最新版本是CSS2.1,為 W3C 的推薦標準。CSS3 現在已被大部分現代瀏覽器支持,而下一版的 CSS4 仍在開發過程中。
CSS 最重要的目標是將文件的內容與它的顯示分隔開來。在 CSS 出現前,幾乎所有的 HTML 文件內都包含文件顯示的信息,比如字體的顏色、背景應該是怎樣的、如何排列、邊緣、連線等等都必須一一在 HTML 文件內列出,有時重復列出。CSS 使作者可以將這些信息中的大部分隔離出來,簡化HTML 文件,這些信息被放在一個輔助的,用 CSS 語言寫的文件中。HTML 文件中只包含結構和內容的信息,CSS 文件中只包含樣式的信息。
D – DRY 是 Don’t repeat yourself 的簡稱,一個規則,實現一次(one rule, one place)是面向對象編程中的基本原則,程序員的行事準則。旨在軟件開發中,減少重復的信息。
DRY 的原則是──系統中的每一部分,都必須有一個單一的、明確的、權威的代表──指的是(由人編寫而非機器生成的)代碼和測試所構成的系統,必須能夠表達所應 表達的內容,但是不能含有任何重復代碼。當 DRY 原則被成功應用時,一個系統中任何單個元素的修改都不需要與其邏輯無關的其他元素發生改變。此外,與之邏輯上相關的其他元素的變化均為可預見的、均勻的, 并如此保持同步。違反 DRY 原則的解決方案通常被稱為 WET,指代“Write everything twice”。
E – Elegant 每一個代碼都應該是優雅、簡潔的。其實編寫程序的過程就像是一種藝術,也許有些人會問你:“如果可以編寫有效代碼的話,為什么還要編寫優雅代碼呢?”然而,我們認為提供優雅代碼的標準首先這個目的就是比較好的,因為它會帶領程序員編寫出更加簡明的、可維護的代碼。
你應該永遠記住:讀代碼比寫代碼更重要。我猜你不想讓你的同事花整個周末的時間來搞懂你的代碼到底是什么意思吧!所以多花一點時間讓代碼更漂亮!
F – Flash 是由 Adobe 開發出來的用于創建動畫視頻、圖形和互聯網應用程序的。就像你剛從一個粗略的網站上看到的一部電影一樣,都是通過 Adobe Flash 播放器播放的。盡管有很指責說 Flash 很耗資源且不安全,但是絕大多數網站上一直在使用它。
或許你已經聽說了 Steve Jobs 拒絕將 Flash 用在蘋果設備上,如果真的有所說的那樣的缺點,或許只是 Steve Jobs 和 Flash 之間的個人恩怨,那樣我們可能永遠不會發現 Flash 的偉大之處。即使 HTML5 被預測為 Flash 的即將繼承者,但是 Flash 仍然值得我們多看它幾眼。
G – GitHub 是每一位編碼人員的最好的朋友。擁有超過 1150萬 個倉庫的 GitHub 是這個世界上最大的代碼托管網站。GitHub 包含社交網絡功能允許開發人員將他們的項目整合到一起,這樣一來的話就能在對開源軟件以及私人項目的維護產生重大意義。
GitHub 提供免費和付費計劃,只需選擇你所需要的東西。有趣的是:GitHub 是建立在 Ruby on Rails 基礎上的,Coder Factory 可以教你框架。
H – Hydra code 是一段不能修復的代碼,就像古希臘怪物每個脖子上都生出兩個頭,最后都被 Hercules 砍掉了。代碼有的時候就像這個一樣,即使你修復了一個bug之后,又會出現很多個bug,所以,除了重寫整個代碼以外,你別無選擇。
I – Graphic User Interface 圖形用戶界面,這是一種自我解釋。圖形用戶界面估計是你看到最多的也是互動最多的一部分。第一個 GUI 是在 Stanford Research Institute 發明的,后繼開發是由 Xerox PARC 施行的。在參觀完 Xerox 之后,Steve Jobs 首次將GUI技術用在了 Apple Lisa 和 Macintosh 上面,在當時來說這是一次革命創舉。
Bill Gates 發布 Windows GUI 之后,看看下面這段有趣的對話,Steve:“你偷了我們的技術!”Bill 回應:“我想我們兩個都有一個叫做 Xerox 的非常富有的鄰居,但是當我跑到他的房間里想要偷走電視機的時候,我發現你已經把電視機偷走了。”哈哈哈
J – Javascript 是一個動態的編程語言(尤其是在客戶端),可以讓你在不用刷新網頁的情況下更新網頁內容。雖然 Angular.js 是一個相當不錯的框架,但它是 建立在 JavaScript 這個基礎之上的。
JavaScript 最先是由 Netscape 開發的,用來對抗和 Microsoft 進行的瀏覽器之戰。現在的Javascript 已經出現在高級 App 開發課程里面了。
K – Donald Knuth 是一個很有趣的IT專家,它也是我們很喜歡的書《The Art of Computer Programming》的作家。現在他是 Stanford University 的名譽教授,也是公認的“算法分析之父”。
L – Libraries 代碼類庫是實現行為的一個收集,這里面有一個接口用來調用行為。估計這么說的話聽起來還是比較復雜的。基本上可以這么理解:通過類庫這種方式將這些代碼組織起來,這樣就可以被很多沒有什么關系的程序調用了。于是,用戶只需要知道類庫的界面就行了,而不是內部的邏輯結構。
M – MongoDB 是一種文件導向數據庫管理系統,由 C++ 撰寫而成,以此來解決應用程序開發社區中的大量現實問題。2007年10月,MongoDB 由 10gen 團隊所發展。
MongoDB 可以從開放源代碼來建構與安裝,更常見的是安裝 binary 文件,目前有 Windows,Linux,OS X 和 Solaris 版本。許多 Linux 套件管理系統現在已包含了 MongoDB 的套件,包括 CentOS 和 Fedora,Debian 和 Ubuntu。MongoDB 已經被一些重要的網站所采納了,例如 Ebay,Craigslist 甚至是 New York Times。
N – Nopping 是一個用于區分輸出的編輯器,來源于 NOP(no-operation),這是編程行業里的行話——小睡一下。每個人時不時的都需要休息一下,現在就NOP一下吧!
O – Object 面向對象的編程是一個范例,代表這一概念所描述的對象的屬性和方法改變。對象通常是類的實例,設計應用程序已達到彼此交互設計的目的。許多主要的編程語言如C++、Java、Ruby和 PHP 都是面向對象的。
P – Push 推動基礎的交流來描述一個互動請求,這首先是出版商發起的,例如這些需求都是來自服務器而不是來自客戶端的推送。
Q – Quality 代碼質量是一個廣義上的術語,每個程序員都有自己的不一樣的定義。我們通常比較樂于將代碼質量描述為易讀的、可測試的、靈活的、依賴關系小、順從的,還有就是經濟的。這一原則被稱為LTFCE。
R – Ruby on Rails 是一個使用 Ruby 語言寫的開源 Web 應用框架,嚴格按照 MVC 結構開發的。在2005年左右由 David Heinemeier-Hansson 開發出來的。它努力使自身保持簡單,來使實際的應用開發時的代碼更少,使用最少的配置。Rails 的設計原則包括“不做重復的事”(Don’t Repeat Yourself)和“慣例優于設置”(Convention Over Configuration)。
Ruby on Rails 是一種結合 Ruby 語言與 Rails 平臺的一種網頁編程語言,Ruby 語言以自然、簡潔、快速著稱,全面支持面向對象程序設計,而 Rails 則是 Ruby 廣泛應用方式之一,在 Rails 平臺上設計出一套獨特的 MVC 開發架構,采取模型(Model)、外觀(View)、控制器(Controller)分離的開發方式,不但減少了開發中的問題,更簡化了許多繁復的動 作。
S – Scaffolding 框架是一個技術,用在 MVC 框架上,例如 Ruby on Rails。通過 Scaffolding 基架,開發者可以詳細說明一個數據庫到底是怎么運作的。允許你生成代碼,例如使用非常簡化的方法來讀取、創建或刪除數據庫條目。Scaffolding 基架基于數據庫架構生成網頁模板的過程。在 ASP .NET 中,動態數據使用基架來簡化基于 Web 的 UI 的生成過程。用戶可以通過這種 UI 來查看和更新數據庫。
T – Alan Mathison Turing (又譯阿蘭·圖靈,1912年6月23日-1954年6月7日),被認為是計算機科學的保護神,但是,他是一個永遠也得不到公正宣布的圣人。他是英國數學家、邏輯學家,他被視為計算機科學之父。
圖靈對于人工智能的發展有諸多貢獻,例如圖靈曾寫過一篇名為《機器會思考嗎?》(Can Machines Think?)的論文,其中提出了一種用于判定機器是否具有智能的試驗方法,即圖靈測試。至今,每年都有試驗的比賽。此外,圖靈提出的著名的圖靈機模型為 現代計算機的邏輯工作方式奠定了基礎。
U – Usability 可用性測試是一個很有存在意義的任務,在你的App出現在眾人面前之前必須要經過可用性測試。你的代碼也許很優雅、質量很高、不會重復,但是要是它的可用性不過關的話,那么一切都是扯淡。你想讓你的 App 盡可能的用戶友好型的,那么用戶是不會讓你的產品埋沒的。
一個最常見的技術測試就是 A/B testing,這種方法就是用兩種不同的介紹方式將產品介紹給不同的用戶,并且監視結果。效果最好的那個才會被采納。
V – for View 對于外觀、模型、控制器來說,它們就是實現用戶界面的樣品。這里面的核心部件就是 Model,其包括App 數據,商業邏輯規則和產品功能。View 是實際產出,也是你的用戶在瀏覽器里最想看到的。Controller 接收輸入并將其轉換成命令傳送給 Model 或者是 View。
W – W3C 是 World Wide Web Consortium 的縮寫,是Web上主要的國際標準組織,由互聯網的發明者 Tim-Berners Lee 創建并由其領導,W3C是 World Wide Web 的監護者。
X – Experience 很多人都認為他們能學習代碼并能做得很好,就像 Mark Zuckerberg 一樣。事實是:作為一個開發者,根本沒有停下來學習的時候。科技技術改變的速度很快、很迅速,也就是說,在你的整個職業生涯里你必須抓住機會不斷學習新的知識。
Y – Yoda Yoda 條件是一個編程術語,用來編寫一個表達的兩個部分,而這個表達是一個典型條件語句順序的顛倒表達方式,就像“learn to code you should, young padawan”。
Z – Konrad Zuse 當然,在這個綜合性的列表上,我們沒辦法將 Konrad Zuse 排除在外。他是一位德國科學家,創造出了第一臺可編程的計算機——Turing-complete Z3。在第二次世界大戰之后,IBM 選擇了它的專利,這也是他的工作第一次被德國以外的國家所認可。
本文主要是根據26個字母的排序來整理了在編程方面比較重要的知識點供你參考。如果有什么好的建議可以在下面的評論出寫出來。(編譯/CODE薛梁)