91精品国产综合久久四虎久久_国产成人午夜高潮毛片_99er视频精品免费观看_2020亚洲熟女在线观看_日本女优人体写真_国内黄色毛片_年轻的老师中文版在线_丰满女邻居做爰_久久久久久精品成人免费图片

 
Java持續(xù)交付
Java持續(xù)交付
Daniel Bryant, Abraham Marín-Pérez
張若飛 譯
出版時(shí)間:2019年10月
頁(yè)數(shù):404
持續(xù)交付為業(yè)務(wù)的持續(xù)發(fā)展和整個(gè)軟件的交付周期增加了巨大的價(jià)值,但是掌握這項(xiàng)技術(shù)就意味著普通開(kāi)發(fā)人員要跳出舒適區(qū),學(xué)習(xí)很多新技能。本書(shū)以實(shí)踐為基礎(chǔ),作者Daniel Bryant和Abraham Marín-Pérez通過(guò)大量的實(shí)踐指導(dǎo),幫助Java開(kāi)發(fā)人員掌握針對(duì)不同平臺(tái)的架構(gòu)設(shè)計(jì)、自動(dòng)化質(zhì)量保證,以及打包和部署的技巧。
● 你將獲得一些理解核心概念的幫助,以及有助于向持續(xù)交付遷移的指導(dǎo)意見(jiàn)。
● 你將學(xué)會(huì)如何設(shè)計(jì)能在不同平臺(tái)上持續(xù)交付Java應(yīng)用程序的架構(gòu)。
● 你將學(xué)會(huì)如何構(gòu)建應(yīng)用程序構(gòu)件,包括胖JAR文件、虛擬機(jī)鏡像,以及操作系統(tǒng)容器(Docker)鏡像。
● 你將學(xué)會(huì)如何使用Jenkins、PMD和FindSecBug等持續(xù)集成工具自動(dòng)化地進(jìn)行代碼質(zhì)量檢查。
● 你將學(xué)會(huì)如何創(chuàng)建一個(gè)復(fù)雜的構(gòu)建管道,以及如何設(shè)計(jì)獨(dú)立的部署和發(fā)布流程。
● 你將了解為什么功能測(cè)試和系統(tǒng)質(zhì)量屬性測(cè)試對(duì)于開(kāi)發(fā)和交付非常重要。
● 你將學(xué)會(huì)如何在本地有效地構(gòu)建和測(cè)試應(yīng)用程序,以及監(jiān)控生產(chǎn)環(huán)境中運(yùn)行的應(yīng)用程序。
  1. 第1章 持續(xù)交付:為什么需要持續(xù)交付,什么是持續(xù)交付
  2. 入門(mén)知識(shí)
  3. 賦能開(kāi)發(fā)者:為什么我們要持續(xù)交付
  4. 快速反饋會(huì)減少上下文切換
  5. 自動(dòng)化的、可重復(fù)的以及可靠的發(fā)布
  6. 定義“完成”的概念
  7. 什么是構(gòu)建管道
  8. 核心的構(gòu)建管道階段
  9. 容器技術(shù)的影響
  10. 對(duì)當(dāng)前架構(gòu)的影響
  11. 總結(jié)
  12. 第2章 Java開(kāi)發(fā)的演化
  13. 現(xiàn)代Java應(yīng)用程序的需求
  14. 對(duì)業(yè)務(wù)增長(zhǎng)速度和穩(wěn)定性的要求
  15. API經(jīng)濟(jì)的崛起
  16. 云計(jì)算的機(jī)會(huì)和成本
  17. 模塊化歸來(lái):擁抱更小的服務(wù)
  18. 對(duì)持續(xù)交付的影響
  19. Java部署平臺(tái)的演化
  20. WAR和EAR:應(yīng)用服務(wù)器統(tǒng)治的年代
  21. 可執(zhí)行的胖JAR文件:十二要素風(fēng)格應(yīng)用的出現(xiàn)
  22. 容器鏡像:不斷增加的可移植性(以及復(fù)雜性)
  23. 函數(shù)即服務(wù):“無(wú)服務(wù)器”架構(gòu)的出現(xiàn)
  24. 平臺(tái)對(duì)持續(xù)交付的影響
  25. DevOps、SRE和發(fā)布工程
  26. 研發(fā)和運(yùn)維
  27. 站點(diǎn)可靠性工程
  28. 發(fā)布工程
  29. 共享責(zé)任、指標(biāo)和可觀察性
  30. 總結(jié)
  31. 第3章 設(shè)計(jì)持續(xù)交付的架構(gòu)
  32. 優(yōu)秀架構(gòu)的基礎(chǔ)
  33. 松耦合
  34. 高內(nèi)聚
  35. 耦合、內(nèi)聚和持續(xù)交付
  36. 面向業(yè)務(wù)敏捷的架構(gòu)
  37. 不好的架構(gòu)會(huì)限制業(yè)務(wù)的發(fā)展
  38. 復(fù)雜性和變更成本
  39. API驅(qū)動(dòng)的應(yīng)用程序的最佳實(shí)踐
  40. “自上而下”構(gòu)建API
  41. 良好的API有助于持續(xù)測(cè)試和集成
  42. 部署平臺(tái)和架構(gòu)
  43. 設(shè)計(jì)符合“十二要素”的云原生應(yīng)用程序
  44. 培養(yǎng)機(jī)械同理心
  45. 面向失敗的設(shè)計(jì)和持續(xù)測(cè)試
  46. 越來(lái)越小的服務(wù)
  47. 交付單體應(yīng)用程序的挑戰(zhàn)
  48. 微服務(wù):當(dāng)SOA遇到領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)
  49. 函數(shù)、lambda表達(dá)式和納米服務(wù)(Nanoservices)
  50. 架構(gòu):“難以改變的東西”
  51. 總結(jié)
  52. 第4章 Java應(yīng)用的部署平臺(tái)、基礎(chǔ)設(shè)施以及持續(xù)交付
  53. 由平臺(tái)提供的功能性
  54. 基本的開(kāi)發(fā)流程
  55. 傳統(tǒng)的基礎(chǔ)設(shè)施平臺(tái)
  56. 傳統(tǒng)的平臺(tái)組件
  57. 傳統(tǒng)基礎(chǔ)設(shè)施平臺(tái)面臨的挑戰(zhàn)
  58. 傳統(tǒng)基礎(chǔ)設(shè)施的好處
  59. 傳統(tǒng)基礎(chǔ)設(shè)施平臺(tái)上的CI/CD
  60. 云平臺(tái)
  61. 深入云計(jì)算
  62. 云計(jì)算面臨的挑戰(zhàn)
  63. 云計(jì)算的好處
  64. 云計(jì)算中的持續(xù)交付
  65. 平臺(tái)即服務(wù)
  66. 簡(jiǎn)單了解PaaS的原理
  67. PaaS平臺(tái)面臨的挑戰(zhàn)
  68. PaaS的好處
  69. CI/CD和PaaS
  70. 容器(Docker)
  71. 容器平臺(tái)組件
  72. 容器面臨的挑戰(zhàn)
  73. 容器的好處
  74. 持續(xù)交付容器
  75. Kubernetes
  76. Kubernetes的核心概念
  77. Kubernetes面臨的挑戰(zhàn)
  78. Kubernetes的好處
  79. Kubernetes的持續(xù)交付
  80. 函數(shù)即服務(wù)/無(wú)服務(wù)器函數(shù)
  81. FaaS的概念
  82. FaaS面臨的挑戰(zhàn)
  83. FaaS的好處
  84. CI/CD和FaaS
  85. 使用基礎(chǔ)設(shè)施即代碼
  86. 總結(jié)
  87. 第5章 構(gòu)建Java應(yīng)用程序程
  88. 自動(dòng)化構(gòu)建過(guò)程
  89. 構(gòu)建依賴
  90. 外部依賴
  91. 多模塊項(xiàng)目
  92. 使用多代碼庫(kù)還是單代碼庫(kù)
  93. 插件
  94. 發(fā)布和公開(kāi)構(gòu)件
  95. Java構(gòu)建工具概述
  96. Ant
  97. Maven
  98. Gradle
  99. Bazel、Pants和Buck
  100. 其他JVM構(gòu)建工具:SBT和Leiningen
  101. Make
  102. 如何選擇一個(gè)構(gòu)建工具
  103. 總結(jié)
  104. 第6章 其他構(gòu)建工具和技巧
  105. Linux、Bash和基本的CLI命令
  106. 用戶、權(quán)限和組
  107. 使用文件系統(tǒng)
  108. 查看和編輯文本
  109. 將所有東西連在一起:重定向、管道和過(guò)濾器
  110. 搜索和操作文本 :grep、awk和sed
  111. 診斷工具:top、ps、netstat和iostat
  112. HTTP調(diào)用和JSON操作
  113. curl
  114. HTTPie
  115. jq
  116. 編寫(xiě)基礎(chǔ)腳本
  117. xargs
  118. 管道和過(guò)濾器
  119. 循環(huán)
  120. 條件
  121. 總結(jié)
  122. 第7章 打包應(yīng)用程序
  123. 構(gòu)建一個(gè)JAR文件 :循序漸進(jìn)
  124. 構(gòu)建一個(gè)可執(zhí)行的胖JAR文件
  125. Maven Shade插件
  126. 構(gòu)建Spring Boot Uber JAR文件
  127. 瘦 JAR 文件 — 為什么我們決定不使用胖JAR
  128. 構(gòu)建WAR文件
  129. 在云平臺(tái)上打包
  130. 將部署比作烹飪:烘焙式部署還是煎炸式部署
  131. 構(gòu)建RPM和DEB OS包
  132. 其他構(gòu)建OS包的工具(支持Windows)
  133. 使用Packer創(chuàng)建可在多個(gè)云平臺(tái)部署的機(jī)器鏡像
  134. 創(chuàng)建機(jī)器鏡像的其他工具
  135. 構(gòu)建容器
  136. 創(chuàng)建Docker容器鏡像
  137. 使用fabric8制作Docker鏡像
  138. 打包FaaS Java應(yīng)用程序
  139. 總結(jié)
  140. 第8章 在本地環(huán)境中工作(就像在生產(chǎn)環(huán)境中一樣)
  141. 本地開(kāi)發(fā)面臨的挑戰(zhàn)
  142. mock、stub和服務(wù)虛擬化
  143. 模式#1:profile、mock和stub
  144. 使用Mockito進(jìn)行mock
  145. 模式#2:服務(wù)虛擬化和API仿真
  146. 使用Hoverfly虛擬化服務(wù)
  147. 虛擬機(jī):Vagrant和Packer
  148. 安裝Vagrant
  149. 創(chuàng)建一個(gè)Vagrantfile
  150. 模式#3:生產(chǎn)環(huán)境鏡像
  151. 容器:Kubernetes、minikube和Telepresence
  152. 介紹Docker Java Shop示例程序
  153. 構(gòu)建Java應(yīng)用程序和容器鏡像
  154. 部署到Kubernetes平臺(tái)
  155. 簡(jiǎn)單的冒煙測(cè)試
  156. 構(gòu)建剩余的應(yīng)用程序
  157. 在Kubernetes上部署整個(gè)Java應(yīng)用程序
  158. 查看部署的應(yīng)用程序
  159. Telepresence:在本地遠(yuǎn)程工作
  160. 模式#4:環(huán)境租賃
  161. FaaS:AWS Lamba和SAM Local
  162. 安裝SAM Local
  163. AWS Lambda腳手架
  164. 測(cè)試AWS Lambda事件處理
  165. SAM Local冒煙測(cè)試
  166. FaaS: Azure Functions和VS Code
  167. 安裝Azure Functions Core Tools
  168. 在本地構(gòu)建和測(cè)試函數(shù)
  169. 使用 VS Code 進(jìn)行本地和遠(yuǎn)程測(cè)試
  170. 總結(jié)
  171. 第9章 持續(xù)集成:創(chuàng)建構(gòu)建管道的第一步
  172. 為什么要持續(xù)集成
  173. 如何實(shí)施CI
  174. 中心化與分布式的版本控制系統(tǒng)
  175. Git入門(mén)
  176. 核心的Git CLI命令
  177. Hub:一個(gè)Git和GitHub必備的工具
  178. 有效地使用DVCS
  179. 基于主干的開(kāi)發(fā)
  180. 基于功能分支的開(kāi)發(fā)
  181. Gitflow
  182. 沒(méi)有萬(wàn)全之策:如何選擇分支策略
  183. 代碼審查
  184. 我們要尋找什么
  185. 代碼審查自動(dòng)化:PMD、Checkstyle和FindBugs
  186. 審查pull request
  187. 自動(dòng)化構(gòu)建
  188. Jenkins
  189. 發(fā)動(dòng)你的團(tuán)隊(duì)
  190. 定期合并代碼
  191. “停下來(lái)”:管理失敗的構(gòu)建
  192. 不要在測(cè)試上使用@Ignore
  193. 保持快速的構(gòu)建過(guò)程
  194. 平臺(tái)(基礎(chǔ)設(shè)施即代碼)的CI
  195. 總結(jié)
  196. 第10章 通過(guò)管道進(jìn)行部署和發(fā)布
  197. 介紹Extended Java Shop應(yīng)用程序
  198. 分離部署和發(fā)布
  199. 部署應(yīng)用程序
  200. 創(chuàng)建一個(gè)容器鏡像
  201. 部署機(jī)制
  202. 一切都開(kāi)始于(并且結(jié)束于)健康檢查
  203. 部署策略
  204. 使用非托管的集群
  205. 更改數(shù)據(jù)庫(kù)
  206. 發(fā)布功能
  207. 功能開(kāi)關(guān)
  208. 語(yǔ)義版本控制
  209. API的向后兼容性和版本
  210. 多階段升級(jí)
  211. 管理配置和敏感信息
  212. “打包式”配置
  213. 外部配置
  214. 處理敏感信息
  215. 總結(jié)
  216. 第11章 功能性測(cè)試:正確和接受度
  217. 為什么要測(cè)試軟件
  218. 測(cè)試什么?敏捷測(cè)試象限介紹
  219. 持續(xù)測(cè)試
  220. 構(gòu)建正確的反饋循環(huán)
  221. 無(wú)盡的海龜
  222. 人為交易
  223. 端到端測(cè)試
  224. 驗(yàn)收測(cè)試
  225. 行為驅(qū)動(dòng)開(kāi)發(fā)
  226. stub或者虛擬化第三方服務(wù)
  227. 將所有這些整合在一起
  228. 消費(fèi)者驅(qū)動(dòng)的合約
  229. RESTful API合約
  230. 消息合約
  231. 組件測(cè)試
  232. 嵌入式數(shù)據(jù)存儲(chǔ)
  233. 內(nèi)存消息隊(duì)列
  234. 測(cè)試替代
  235. 創(chuàng)建內(nèi)部資源或接口
  236. 進(jìn)程內(nèi)和進(jìn)程外
  237. 集成測(cè)試
  238. 驗(yàn)證外部交互
  239. 測(cè)試容錯(cuò)性
  240. 單元測(cè)試
  241. 交互型單元測(cè)試
  242. 獨(dú)立型單元測(cè)試
  243. 處理不可預(yù)知的測(cè)試
  244. 數(shù)據(jù)
  245. 還未準(zhǔn)備好的資源
  246. 不確定性事件
  247. 如果你什么都做不了
  248. 自上而下的測(cè)試和自下而上的測(cè)試
  249. 自上而下的測(cè)試
  250. 自下而上的測(cè)試
  251. 將所有內(nèi)容都融入構(gòu)建管道
  252. 多少測(cè)試才夠
  253. 總結(jié)
  254. 第12章 系統(tǒng)質(zhì)量屬性測(cè)試:驗(yàn)證非功能性需求
  255. 為什么要測(cè)試非功能性需求
  256. 代碼質(zhì)量
  257. 架構(gòu)質(zhì)量
  258. ArchUnit:架構(gòu)方面的單元測(cè)試
  259. 使用 JDepend 生成設(shè)計(jì)質(zhì)量指標(biāo)
  260. 性能和壓力測(cè)試
  261. 使用 Apache Benchmark 進(jìn)行基本的性能測(cè)試
  262. 使用 Gatling 進(jìn)行壓力測(cè)試
  263. 安全、漏洞和威脅
  264. 代碼級(jí)別的安全驗(yàn)證
  265. 依賴項(xiàng)驗(yàn)證
  266. 與部署平臺(tái)相關(guān)的安全問(wèn)題
  267. 后續(xù)步驟:威脅建模
  268. 混亂測(cè)試
  269. 在生產(chǎn)環(huán)境中制造混亂(引入猴子)
  270. 在預(yù)發(fā)布環(huán)境中造成混亂
  271. 需要多少非功能性測(cè)試才夠
  272. 總結(jié)
  273. 第13章 可觀察性:監(jiān)控、日志和跟蹤
  274. 可觀察性和持續(xù)交付
  275. 為什么要觀察應(yīng)用程序
  276. 我們希望監(jiān)控:應(yīng)用程序、網(wǎng)絡(luò)和機(jī)器
  277. 如何觀察:監(jiān)控、日志和跟蹤
  278. 報(bào)警
  279. 面向可觀察性的系統(tǒng)設(shè)計(jì)
  280. 指標(biāo)
  281. 指標(biāo)的類(lèi)型
  282. Dropwizard Metrics
  283. Spring Boot Actuator
  284. Micrometer
  285. 使用指標(biāo)的最佳實(shí)踐
  286. 日志
  287. 日志的形式
  288. SLF4J
  289. Log4j 2
  290. 日志的最佳實(shí)踐
  291. 請(qǐng)求跟蹤
  292. trace、span和 baggage
  293. Java跟蹤工具:OpenZipkin、Spring Sleuth和OpenCensus
  294. 分布式跟蹤的推薦實(shí)踐
  295. 異常跟蹤
  296. Airbrake
  297. 系統(tǒng)監(jiān)控工具
  298. collectd
  299. rsyslog
  300. Sensu
  301. 收集和存儲(chǔ)
  302. Prometheus
  303. Elastic-Logstash-Kibana
  304. 可視化
  305. 業(yè)務(wù)可視化
  306. 運(yùn)維可視化
  307. 開(kāi)發(fā)可視化
  308. 總結(jié)
  309. 第14章 遷移到持續(xù)交付
  310. 持續(xù)交付能力
  311. 選擇你要遷移的項(xiàng)目
  312. 情景感知
  313. Cynefin框架和持續(xù)交付
  314. 所有模型都是錯(cuò)誤的,有些是有用的
  315. 開(kāi)展持續(xù)交付
  316. 測(cè)量持續(xù)交付
  317. 從小處開(kāi)始,嘗試、學(xué)習(xí)、分享,然后重復(fù)整個(gè)過(guò)程
  318. 增加推廣范圍:領(lǐng)導(dǎo)變革
  319. 其他的指導(dǎo)和提示
  320. 不良實(shí)踐和常見(jiàn)的反模式
  321. 丑陋的架構(gòu):改還是不改
  322. 總結(jié)
  323. 第15章 持續(xù)交付和持續(xù)改進(jìn)
  324. 從現(xiàn)在開(kāi)始
  325. 建立扎實(shí)的技術(shù)基礎(chǔ)
  326. 持續(xù)交付價(jià)值(最重要的目標(biāo))
  327. 增加軟件的共享責(zé)任
  328. 促進(jìn)快速反饋和實(shí)驗(yàn)
  329. 在組織中開(kāi)展持續(xù)交付
  330. 持續(xù)改進(jìn)
  331. 總結(jié)
書(shū)名:Java持續(xù)交付
譯者:張若飛 譯
國(guó)內(nèi)出版社:電子工業(yè)出版社
出版時(shí)間:2019年10月
頁(yè)數(shù):404
書(shū)號(hào):978-7-121-37442-5
原版書(shū)書(shū)名:Continuous Delivery in Java
原版書(shū)出版商:O'Reilly Media
Daniel Bryant
 
Daniel Bryant是Datawire的一名獨(dú)立技術(shù)顧問(wèn)及產(chǎn)品架構(gòu)師。 他主要關(guān)注DevOps工具、云/容器平臺(tái),以及各種微服務(wù)實(shí)現(xiàn)。
 
 
Abraham Marín-Pérez
 
Abraham Marín-Pérez是一名獨(dú)立的Java和Scala開(kāi)發(fā)者,主要關(guān)注“數(shù)字化轉(zhuǎn)型”領(lǐng)域,通過(guò)技術(shù)變革來(lái)幫助組織提升能力。
 
 
購(gòu)買(mǎi)選項(xiàng)
定價(jià):119.00元
書(shū)號(hào):978-7-121-37442-5
出版社:電子工業(yè)出版社