| | | Java持續交付 | 該商品所屬分類:圖書 -> 編程語言 | 【市場價】 | 728-1056元 | 【優惠價】 | 455-660元 | 【作者】 | 丹尼爾·布萊恩特 | 【出版社】 | 電子工業出版社 | 【ISBN】 | 9787121374425 | 【折扣說明】 | 一次購物滿999元台幣免運費+贈品 一次購物滿2000元台幣95折+免運費+贈品 一次購物滿3000元台幣92折+免運費+贈品 一次購物滿4000元台幣88折+免運費+贈品
| 【本期贈品】 | ①優質無紡布環保袋,做工棒!②品牌簽字筆 ③品牌手帕紙巾
| |
版本 | 正版全新電子版PDF檔 | 您已选择: | 正版全新 | 溫馨提示:如果有多種選項,請先選擇再點擊加入購物車。*. 電子圖書價格是0.69折,例如了得網價格是100元,電子書pdf的價格則是69元。 *. 購買電子書不支持貨到付款,購買時選擇atm或者超商、PayPal付款。付款後1-24小時內通過郵件傳輸給您。 *. 如果收到的電子書不滿意,可以聯絡我們退款。謝謝。 | | | | 內容介紹 | |
出版社:電子工業出版社 ISBN:9787121374425 商品編碼:60327966222 品牌:文軒 出版時間:2019-11-01 代碼:119 作者:丹尼爾·布萊恩特
" 作 者:(美)丹尼爾·布萊恩特(Daniel Bryant),(英)亞布拉罕·馬林-佩雷斯(Abraham Marin-Perez) 著 張若飛 譯 定 價:119 出 版 社:電子工業出版社 出版日期:2019年11月01日 頁 數:374 裝 幀:平裝 ISBN:9787121374425 ●第1章持續交付:為什麼需要持續交付,什麼是持續交付1 入門知識1 賦能開發者:為什麼我們要持續交付2 快速反饋會減少上下文切換2 自動化的、可重復的以及可靠的發布2 定義“完成”的概念3 什麼是構建管道4 核心的構建管道階段4 容器技術的影響7 對當前架構的影響8 總結9 第2章Java開發的演化10 現代Java應用程序的需求10 對業務增長速度和穩定性的要求11 API經濟的崛起11 雲計算的機會和成本12 模塊化歸來:擁抱更小的服務12 對持續交付的影響13 Java部署平臺的演化13 WAR和EAR:應用服務器統治的年代13 可執行的胖JAR文件:十二要素風格應用的出現14 容器鏡像:不斷增加的可移植性(以及復雜性)15 函數即服務:“無服務器”架構的出現16 平臺對持續交付的影響17 DevOps、SRE和發布工程17 研發和運維18 站點可靠性工程19 發布工程21 共享責任、指標和可觀察性22 總結22 第3章設計持續交付的架構24 優秀架構的基礎24 松耦合25 高內聚25 耦合、內聚和持續交付26 面向業務敏捷的架構27 不好的架構會業務的發展27 復雜性和變更成本28 API驅動的應用程序的很好實踐29 “自上而下”構建API29 良好的API有助於持續測試和集成29 部署平臺和架構30 設計符合“十二要素”的雲原生應用程序30 培養機械同理心33 面向失敗的設計和持續測試33 越來越小的服務34 交付單體應用程序的挑戰34 微服務:當SOA遇到領域驅動設計35 函數、lambda表達式和納米服務(Nanoservices)36 架構:“難以改變的東西”37 總結38 第4章Java應用的部署平臺、基礎設施以及持續交付39 由平臺提供的功能性39 基本的開發流程40 傳統的基礎設施平臺41 傳統的平臺組件41 傳統基礎設施平臺面臨的挑戰41 傳統基礎設施的好處42 傳統基礎設施平臺上的CI/CD42 雲平臺43 深入雲計算43 雲計算面臨的挑戰45 雲計算的好處46 雲計算中的持續交付47 平臺即服務47 簡單了解PaaS的原理48 PaaS平臺面臨的挑戰48 PaaS的好處50 CI/CD和PaaS50 容器(Docker)50 容器平臺組件51 容器面臨的挑戰52 容器的好處53 持續交付容器53 Kubernetes53 Kubernetes的核心概念54 Kubernetes面臨的挑戰54 Kubernetes的好處55 Kubernetes的持續交付56 函數即服務/無服務器函數56 FaaS的概念57 FaaS面臨的挑戰57 FaaS的好處58 CI/CD和FaaS59 使用基礎設施即代碼59 總結60 第5章構建Java應用程序61 分解構建過程61 自動化構建過程62 構建依賴63 外部依賴66 多模塊項目67 使用多代碼庫還是單代碼庫67 插件68 發布和公開構件69 Java構建工具概述69 Ant69 Maven72 Gradle77 Bazel、Pants和Buck80 其他JVM構建工具:SBT和Leiningen82 Make82 如何選擇一個構建工具83 總結84 第6章其他構建工具和技巧86 Linux、Bash和基本的CLI命令86 用戶、權限和組86 使用文件繫統90 查看和編輯文本92 將所有東西連在一起:重定向、管道和過濾器93 搜索和操作文本:grep、awk和sed94 診斷工具:top、ps、netstat和iostat95 HTTP調用和JSON操作96 curl96 HTTPie100 jq104 編寫基礎腳本105 xargs105 管道和過濾器105 循環106 條件106 總結107 第7章打包應用程序108 構建一個JAR文件:循序漸進108 構建一個可執行的胖JAR文件112 MavenShade插件113 構建SpringBootUberJAR文件116 瘦JAR文件―為什麼我們決定不使用胖JAR117 構建WAR文件118 在雲平臺上打包120 將部署比作烹飪:烘焙式部署還是煎炸式部署120 構建RPM和DEBOS包121 其他構建OS包的工具(支持Windows)124 使用Packer創建可在多個雲平臺部署的機器鏡像126 創建機器鏡像的其他工具129 構建容器129 創建Docker容器鏡像130 使用fabric8制作Docker鏡像131 打包FaaSJava應用程序132 總結135 第8章在本地環境中工作(就像在生產環境中一樣)136 本地開發面臨的挑戰136 mock、stub和服務虛擬化137 模式#1:profile、mock和stub137 使用Mockito進行mock138 模式#2:服務虛擬化和API仿真140 使用Hoverfly虛擬化服務141 虛擬機:Vagrant和Packer145 安裝Vagrant145 創建一個Vagrantfile145 模式#3:生產環境鏡像148 容器:Kubernetes、minikube和Telepresence149 介紹DockerJavaShop示例程序149 構建Java應用程序和容器鏡像150 部署到Kubernetes平臺152 簡單的冒煙測試155 構建剩餘的應用程序155 在Kubernetes上部署整個Java應用程序155 查看部署的應用程序156 Telepresence:在本地遠程工作157 模式#4:環境租賃160 FaaS:AWSLamba和SAMLocal160 安裝SAMLocal161 AWSLambda腳手架161 測試AWSLambda事件處理165 SAMLocal冒煙測試168 FaaS:AzureFunctions和VSCode170 安裝AzureFunctionsCoreTools170 在本地構建和測試函數173 使用VSCode進行本地和遠程測試176 總結177 第9章持續集成:創建構建管道的第一步178 為什麼要持續集成178 如何實施CI179 中心化與分布式的版本控制繫統179 Git入門180 核心的GitCLI命令181 Hub:一個Git和GitHub推薦的工具183 有效地使用DVCS185 基於主干的開發185 基於功能分支的開發186 Gitflow186 沒有萬全之策:如何選擇分支策略187 代碼審查189 我們要尋找什麼190 代碼審查自動化:PMD、Checkstyle和FindBugs191 審查pullrequest196 自動化構建197 Jenkins197 發動你的團隊199 定期合並代碼199 “停下來”:管理失敗的構建199 不要在測試上使用@Ignore199 保持快速的構建過程200 平臺(基礎設施即代碼)的CI200 總結201 第10章通過管道進行部署和發布202 介紹ExtendedJavaShop應用程序202 分離部署和發布204 部署應用程序205 創建一個容器鏡像206 部署機制209 一切都開始於(並且結束於)健康檢查218 部署策略222 使用非托管的集群232 更改數據庫236 發布功能240 功能開關240 語義版本控制243 API的向後兼容性和版本244 多階段升級249 管理配置和敏感信息250 “打包式”配置250 外部配置251 處理敏感信息252 總結253 第11章功能性測試:正確和接受度254 為什麼要測試軟件254 測試什麼?敏捷測試像限介紹254 持續測試256 構建正確的反饋循環256 無盡的海龜257 人為交易258 端到端測試259 驗收測試261 行為驅動開發261 stub或者虛擬化第三方服務265 將所有這些整合在一起265 消費者驅動的合約265 RESTfulAPI合約267 消息合約269 組件測試271 嵌入式數據存儲271 內存消息隊列272 測試替代273 創建內部資源或接口274 進程內和進程外275 集成測試277 驗證外部交互278 測試容錯性278 交測試280 獨測試281 處理不可預知的測試282 數據282 還未準備好的資源283 不確定性事件283 如果你什麼都做不了284 自上而下的測試和自下而上的測試284 自上而下的測試285 自下而上的測試286 將所有內容都融入構建管道287 多少測試纔夠288 總結289 第12章繫統質量屬性測試:驗證非功能性需求291 為什麼要測試非功能性需求291 代碼質量292 架構質量292 ArchUnit:架構方測試292 使用JDepend生成設計質量指標295 性能和壓力測試297 使用ApacheBenchmark進行基本的性能測試298 使用Gatling進行壓力測試299 安全、漏洞和威脅305 代碼級別的安全驗證306 依賴項驗證311 與部署平臺相關的安全問題315 後續步驟:威脅建模318 混亂測試321 在生產環境中制造混亂(引入猴子)322 在預發布環境中造成混亂324 需要多少非功能性測試纔夠325 總結326 第13章可觀察性:監控、日志和跟蹤327 可觀察性和持續交付327 為什麼要觀察應用程序327 我們希望監控:應用程序、網絡和機器329 如何觀察:監控、日志和跟蹤330 報警330 面向可觀察性的繫統設計332 指標332 指標的類型333 DropwizardMetrics333 SpringBootActuator335 Micrometer336 使用指標的很好實踐337 日志337 日志的形式337 SLF4J339 Log4j2340 日志的很好實踐341 請求跟蹤342 trace、span和baggage342 Java跟蹤工具:OpenZipkin、SpringSleuth和OpenCensus343 分布式跟蹤的推薦實踐344 異常跟蹤344 Airbrake346 繫統監控工具347 collectd347 rsyslog347 Sensu348 收集和存儲348 Prometheus349 Elastic-Logstash-Kibana349 可視化350 業務可視化350 運維可視化351 開發可視化353 總結354 第14章遷移到持續交付355 持續交付能力355 選擇你要遷移的項目356 情景感知357 Cynefin框架和持續交付358 所有模型都是錯誤的,有些是有用的359 開展持續交付359 測量持續交付360 從小處開始,嘗試、學習、分享,然後重復整個過程362 增加推廣範圍:領導變革363 其他的指導和提示365 不良實踐和常見的反模式365 丑陋的架構:改還是不改365 總結367 第15章持續交付和持續改進369 從現在開始369 建立扎實的技術基礎369 持續交付價值(最重要的目標)370 增加軟件的共享責任371 促進快速反饋和實驗371 在組織中開展持續交付372 持續改進372 總結373 本書完整介紹了Java軟件開發的整個生命周期,還結合大量的成功實踐經驗,介紹了每個階段可能會使用到的工具和技能。在基礎設施已經極大完善的今天,本書還與時俱進地介紹了如何在Docker、Kubernetes、Cloud、FaaS等新興環境下進行持續集成和持續交付。
" | | | | | |