Web應用程式開發の羽量級優化
作者 | 邱俊濤 |
---|---|
出版社 | 佳魁資訊股份有限公司 |
商品描述 | Web應用程式開發の羽量級優化:ThoughtWorks高級諮詢師最新力作學習輕量級、最新的Web開發方法輕量級Web開發是一個很廣的主題,開發人員經常提到,但卻少有人能夠講明它的 |
作者 | 邱俊濤 |
---|---|
出版社 | 佳魁資訊股份有限公司 |
商品描述 | Web應用程式開發の羽量級優化:ThoughtWorks高級諮詢師最新力作學習輕量級、最新的Web開發方法輕量級Web開發是一個很廣的主題,開發人員經常提到,但卻少有人能夠講明它的 |
內容簡介 ThoughtWorks高級諮詢師最新力作學習輕量級、最新的Web開發方法輕量級Web開發是一個很廣的主題,開發人員經常提到,但卻少有人能夠講明它的內涵。好的程式設計師 就是從基礎開始,作業系統、工具、開發環境、程式語言、測試架構、資料庫、雲端平台等,如果都做到了輕量級,整個程式自然就執行飛快,測試容易,錯誤變少,維護方便。本書將教會你如何將一個想法變成實際的Web應用。從高效的程式設計工具、開發流程,到敏捷開發中的各種輕量級實踐,再從零開始開發一個具體而微的實例。● 使用Mac OS作為開發作業系統:既能享受Windows的方便,又是原生UNIX。● 用zsh取代bash,少打很多字,少用很多cd到處找。● 用vim不用普通的文字編輯,所有和文字有關的事,手都不需離開鍵盤。● 用Ruby作為網頁語言,天生的Web DNA,非傳統程式思考方式。● 用Bootstrap Foundation作為樣式框架,又漂亮又簡單。適用:軟體開發人員、對輕量級Web開發感興趣者。
作者介紹 ■作者簡介邱俊濤軟體工程師,現就職於ThoughtWorks,喜歡程式設計,特別是其帶來的成就感。對動態語言,函數式程式設計…等有濃厚的興趣。喜歡開放原始碼軟體,喜歡知識分享,並從他人的分享中學習。崇尚簡單,輕量的設計和模式。
產品目錄 前言第1章 環境設定與工具準備1.1 Shell1.2 管線1.3 幾個常用指令1.4 編輯器1.5 程式啟動器1.6 關於Windows第2章Web 應用伺服器2.1 Rack2.2 Sinatra2.3 Grape第3章 資料庫存取層3.1 資料庫的存取3.2 資料庫結構(schema)的修改3.3 ActiveRecord3.4 DataMapper第4章 用戶端架構4.1 豐富型使用者端4.2 Backbone.js 簡介4.3 Angular.js第5章 CSS 架構簡介5.1 Foundation 簡介5.2 BootStrap 簡介第6章 用戶端測試架構6.1 Jasmine 簡介6.2 Mocha第7章 現代的前端開發方式7.1 Karma 簡介7.2 前端相依管理7.3 架設專案7.4 測試驅動開發7.5 實例Todoify第8章 撰寫更容易維護的JavaScript 程式8.1 應用實例8.2 重構:更容易測試的程式8.3 重點分離:另一種實現方式第9章 本機建置9.1 Ruby 中的建置9.2 JavaScript 中的建置第10章 持續整合10.1 環境架設10.2 持續整合伺服器10.3 與Github 整合第11章 單元測試與整合測試11.1 RSpec 單元測試11.2 整合測試工具Selenium11.3 架設Selenium 獨立環境第12章 環境架設的自動化12.1 自動化工具Chef12.2 安裝nginx 伺服器第13章 應用程式發佈13.1 使用Heroku 發佈應用程式13.2 發佈到虛擬機器環境13.3 伺服器典型設定第14章 範例:植物世界(前端)14.1 線框圖14.2 搜索結果頁面14.3 詳細資訊頁面14.4 加入JavaScript第15章 範例:植物世界(後台)15.1 第一個重疊過程15.2 發佈到Heroku15.3 更進一步第16章 範例:植物世界(整合)16.1 發佈16.2 增加圖片16.3 新的問題16.4 檔案儲存Appendix A Web 運行原理A.1 CGI 的相關背景A.2 設定Apache 支援CGIA.3 更進一步A.4 一個稍微有用的指令稿A.5 更進一步FastCGIAppendix B Angular.js 的測試B.1 測試ControllerB.2 測試Service
書名 / | Web應用程式開發の羽量級優化 |
---|---|
作者 / | 邱俊濤 |
簡介 / | Web應用程式開發の羽量級優化:ThoughtWorks高級諮詢師最新力作學習輕量級、最新的Web開發方法輕量級Web開發是一個很廣的主題,開發人員經常提到,但卻少有人能夠講明它的 |
出版社 / | 佳魁資訊股份有限公司 |
ISBN13 / | 9789863794660 |
ISBN10 / | 986379466X |
EAN / | 9789863794660 |
誠品26碼 / | 2681419057007 |
頁數 / | 392 |
開數 / | 18K |
注音版 / | 否 |
裝訂 / | P:平裝 |
語言 / | 1:中文 繁體 |
級別 / | N:無 |
內文 : 推薦序
進入雲端時代後,硬體也從原子變成位元,使得用程式的描述方式進行軟體開發,轉變成更下層的平台建置、運維管理、甚至是硬體控制都成為可行。從前層次分明的程式設計師、運維工程師、伺服器/ 網路管理工程師之間的界限越來越重疊,這也使得程式設計師不得不跨足到Opeartion 這一塊,這也是DevOp 這一個工作興起的原因。
當程式設計師跨足到運維時,最大的優點就是利用程式設計師的邏輯,但光有邏輯還不夠,能層層架疊的Stack,讓每一個層次能不互相依賴,最大的功臣就是每一個層次所架起Stack 的抽象化,而抽象化要真正能實作,就是層次功能的輕量化。
輕量化是目前資訊業的趨勢,就以純位元的架構來說,當Docker 取代了虛擬化成為資源佈署的單位,當Heroku、Google App Engines 取代了傳統的Platform 之後,上層的程式也開始流行輕量化。用JSON 表示資料,用快而輕的編譯器、這些都再再顯示我們已經習慣用更小的積木來堆成巨大的產品,當然這些積木本身已經設計十分精良,足以承受非常大的任務。
開發語言本身也有輕重之分。從前一直流行的LAMP 架構,在面對輕量化的趨勢,慢慢也讓工程師有點頭痛。Ruby 一直是目前主流網站使用的語言,快速架設及快速原型,讓工程師能專心在程式的邏輯而非瑣事,自然成為主流。
但本書最大的特色,對我來說反而不是用什麼軟體或是什麼設計,而是作者極嚴謹的思考習慣。從系統選擇(Windows 還是Mac ?)、shell 選擇(使用了zsh 而非預設的bash)、工具選擇(vim 或sublime text)開始,每一個步驟都為接下的開發打下最好的基礎。有了這個嚴謹的思考習慣,以及什麼事都要做到最方便的原則之下,接下來的Sinatra、Rake、Jenkins、以及自動化的Chef(筆者本身則是更愛Ansible),就順理成章了。
一個好的程式設計師,不是一天能產生多少行的程式碼,而是這個程式碼真的有沒有寫到最符合需要。當你在每一個細節都非常非常苛求時,相信你最後完工的程式碼也會具有相當的品質。這本難得的好書,真的在每一方面都做到了,著實不容易。
胡嘉璽