0916~0919_開學季語言展

Web應用程式開發羽量級優化

達洋貓《櫻花樹》一卡通

達洋貓《櫻花樹》一卡通

【開學大作戰】一卡通全面限時9折起

  • 9 486
    540

活動訊息

想找書的時候,特別想偷看網友的書櫃... 原來大家都在看這本 ↓↓↓

用閱讀開啟視野,讓書成為照亮你人生的光
【金石堂選書】本月推薦您這些好書👉 快來看看

內容簡介

ThoughtWorks高級諮詢師最新力作
學習輕量級、最新的Web開發方法


輕量級Web開發是一個很廣的主題,開發人員經常提到,但卻少有人能夠講明它的內涵。

好的程式設計師 就是從基礎開始,作業系統、工具、開發環境、程式語言、測試架構、資料庫、雲端平台等,如果都做到了輕量級,整個程式自然就執行飛快,測試容易,錯誤變少,維護方便。

本書將教會你如何將一個想法變成實際的Web應用。從高效的程式設計工具、開發流程,到敏捷開發中的各種輕量級實踐,再從零開始開發一個具體而微的實例。

■ 使用Mac OS作為開發作業系統:既能享受Windows的方便,又是原生UNIX。
■ 用zsh取代bash,少打很多字,少用很多cd到處找。
■ 用vim不用普通的文字編輯,所有和文字有關的事,手都不需離開鍵盤。
■ 用Ruby作為網頁語言,天生的Web DNA,非傳統程式思考方式。
■ 用Bootstrap/Foundation作為樣式框架,又漂亮又簡單。

適用:軟體開發人員、對輕量級Web開發感興趣者。

作者

邱俊濤

軟體工程師,現就職於ThoughtWorks,喜歡程式設計,特別是其帶來的成就感。對動態語言,函數式程式設計…等有濃厚的興趣。喜歡開放原始碼軟體,喜歡知識分享,並從他人的分享中學習。崇尚簡單,輕量的設計和模式。

目錄

前言

1 環境設定與工具準備
1.1 Shell
1.2 管線
1.3 幾個常用指令
1.4 編輯器
1.5 程式啟動器
1.6 關於Windows

2 Web 應用伺服器
2.1 Rack
2.2 Sinatra
2.3 Grape

3 資料庫存取層
3.1 資料庫的存取
3.2 資料庫結構(schema)的修改
3.3 ActiveRecord
3.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 整合測試工具Selenium
11.3 架設Selenium 獨立環境

12 環境架設的自動化
12.1 自動化工具Chef
12.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 發佈到Heroku
15.3 更進一步

16 範例:植物世界(整合)
16.1 發佈
16.2 增加圖片
16.3 新的問題
16.4 檔案儲存

Appendix A  Web 運行原理
A.1 CGI 的相關背景
A.2 設定Apache 支援CGI
A.3 更進一步
A.4 一個稍微有用的指令稿
A.5 更進一步FastCGI
Appendix B  Angular.js 的測試
B.1 測試Controller
B.2 測試Service

序/導讀

推薦序

進入雲端時代後,硬體也從原子變成位元,使得用程式的描述方式進行軟體開發,轉變成更下層的平台建置、運維管理、甚至是硬體控制都成為可行。從前層次分明的程式設計師、運維工程師、伺服器/ 網路管理工程師之間的界限越來越重疊,這也使得程式設計師不得不跨足到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),就順理成章了。

一個好的程式設計師,不是一天能產生多少行的程式碼,而是這個程式碼真的有沒有寫到最符合需要。當你在每一個細節都非常非常苛求時,相信你最後完工的程式碼也會具有相當的品質。這本難得的好書,真的在每一方面都做到了,著實不容易。
 

胡嘉璽

配送方式

  • 台灣
    • 國內宅配:本島、離島
    • 到店取貨:
      金石堂門市 不限金額免運費
      7-11便利商店 ok便利商店 萊爾富便利商店 全家便利商店
  • 海外
    • 國際快遞:全球
    • 港澳店取:
      ok便利商店 順豐 7-11便利商店

詳細資料

詳細資料

    • 語言
    • 中文繁體
    • 裝訂
    • 紙本平裝
    • ISBN
    • 9789863794660
    • 分級
    • 普通級
    • 頁數
    • 392
    • 商品規格
    • 23*17
    • 出版地
    • 台灣
    • 適讀年齡
    • 全齡適讀
    • 注音
    • 級別

商品評價

訂購/退換貨須知

加入金石堂 LINE 官方帳號『完成綁定』,隨時掌握出貨動態:

加入金石堂LINE官方帳號『完成綁定』,隨時掌握出貨動態
金石堂LINE官方帳號綁定教學

提醒您!!
金石堂及銀行均不會請您操作ATM! 如接獲電話要求您前往ATM提款機,請不要聽從指示,以免受騙上當!

退換貨須知:

**提醒您,鑑賞期不等於試用期,退回商品須為全新狀態**

  • 依據「消費者保護法」第19條及行政院消費者保護處公告之「通訊交易解除權合理例外情事適用準則」,以下商品購買後,除商品本身有瑕疵外,將不提供7天的猶豫期:
    1. 易於腐敗、保存期限較短或解約時即將逾期。(如:生鮮食品)
    2. 依消費者要求所為之客製化給付。(客製化商品)
    3. 報紙、期刊或雜誌。(含MOOK、外文雜誌)
    4. 經消費者拆封之影音商品或電腦軟體。
    5. 非以有形媒介提供之數位內容或一經提供即為完成之線上服務,經消費者事先同意始提供。(如:電子書、電子雜誌、下載版軟體、虛擬商品…等)
    6. 已拆封之個人衛生用品。(如:內衣褲、刮鬍刀、除毛刀…等)
  • 若非上列種類商品,均享有到貨7天的猶豫期(含例假日)。
  • 辦理退換貨時,商品(組合商品恕無法接受單獨退貨)必須是您收到商品時的原始狀態(包含商品本體、配件、贈品、保證書、所有附隨資料文件及原廠內外包裝…等),請勿直接使用原廠包裝寄送,或於原廠包裝上黏貼紙張或書寫文字。
  • 退回商品若無法回復原狀,將請您負擔回復原狀所需費用,嚴重時將影響您的退貨權益。
金石堂門市 全家便利商店 ok便利商店 萊爾富便利商店 7-11便利商店
World wide
活動ing