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

 
Scala編程實戰(zhàn)(原書第2版)
Scala編程實戰(zhàn)(原書第2版)
Alvin Alexander
陳凱, 李國斌, 李力, 黃新星 譯
出版時間:2023年09月
頁數(shù):710
“本書包含大量用于解決Scala 3中典型編程問題的代碼示例,是通過示例學習如何設計Scala程序的經(jīng)典著作。如果你只能有一本Scala 3編程書,那非它莫屬?!?br /> ——Julien Richard-Foy
Scala Center教育總監(jiān)

在構建面向?qū)ο蟆⒑瘮?shù)式和并發(fā)的應用程序時,使用Scala既可以節(jié)省時間又能省去很多麻煩。本書包含250多個常見的Scala編程問題和1000多個基于真實場景的代碼示例,可以幫助你解決在使用Scala 3及其流行庫時遇到的常見問題。
Scala改變編程思維。無論你是從事Web、大數(shù)據(jù)還是分布式應用程序方面的工作,無論你是有經(jīng)驗的Scala開發(fā)人員還是剛剛學習使用這種JVM語言的程序員,本書都將讓你受益良多。AlvinAlexander根據(jù)他在基于組件的、支持并發(fā)和分布式的高度可擴展應用程序中使用Scala的經(jīng)驗,提供了很多實用的解決方案。
通過學習本書,你將掌握:
● 字符串、數(shù)值和控制結構。
● 類、方法、對象、特質(zhì)、打包和導入。
● 函數(shù)式編程技術。
● Scala豐富的集合、類和方法。
● 使用sbt構建和發(fā)布Scala應用程序。
● 使用Scala Future和Akka Typed實現(xiàn)actor和并發(fā)性。
● 流行的庫,包括Spark、Scala.js、Play框架和GraalVM。
● 類型,例如型變、given、交集和并集。
● 最佳實踐,包括模式匹配、模塊和函數(shù)式錯誤處理。

  1. 前言
  2. 第1章 命令行
  3. 1.1 初識Scala REPL
  4. 1.2 在REPL中使用源代碼和JAR文件
  5. 1.3 初識Ammonite REPL
  6. 1.4 scalac和scala命令
  7. 1.5 反編譯Scala代碼
  8. 1.6 運行JAR文件
  9. 第2章 字符串
  10. 2.1 字符串的相等性判斷
  11. 2.2 多行字符串的創(chuàng)建
  12. 2.3 字符串的分割
  13. 2.4 字符串的變量代入
  14. 2.5 字符串輸出的格式化
  15. 2.6 字符串的逐個字符處理
  16. 2.7 字符串的模式查找
  17. 2.8 字符串的模式替換
  18. 2.9 使用模式匹配提取字符串
  19. 2.10 訪問字符串中的單個字符
  20. 2.11 自定義字符串插值器
  21. 2.12 創(chuàng)建隨機字符串
  22. 第3章 數(shù)值和日期
  23. 3.1 將字符串解析為數(shù)值
  24. 3.2 數(shù)值類型間的轉換
  25. 3.3 覆蓋默認的數(shù)值類型
  26. 3.4 ++和--的替代方案
  27. 3.5 浮點數(shù)的比較
  28. 3.6 處理大數(shù)值
  29. 3.7 生成隨機數(shù)
  30. 3.8 數(shù)值和貨幣的格式化
  31. 3.9 創(chuàng)建新的日期和時間實例
  32. 3.10 計算日期的差值
  33. 3.11 日期的格式化
  34. 3.12 將字符串解析為日期
  35. 第4章 控制結構
  36. 4.1 for 循環(huán)
  37. 4.2 多重for循環(huán)
  38. 4.3 for循環(huán)中的守衛(wèi)語句
  39. 4.4 集合中的for/yield
  40. 4.5 Scala中的“三元操作符”
  41. 4.6 match表達式
  42. 4.7 case的多條件匹配
  43. 4.8 將match表達式的結果分配給變量
  44. 4.9 訪問match表達式的默認值
  45. 4.10 match表達式與模式匹配
  46. 4.11 match表達式與枚舉和樣例類
  47. 4.12 case中的守衛(wèi)語句
  48. 4.13 match表達式與isInstanceOf
  49. 4.14 match表達式與List
  50. 4.15 用try/catch匹配一個或多個異常
  51. 4.16 try/catch/finally
  52. 4.17 創(chuàng)建自定義控制結構
  53. 第5章 類
  54. 5.1 挑選合適的領域建模工具
  55. 5.2 創(chuàng)建主構造函數(shù)
  56. 5.3 控制構造函數(shù)字段的可見性
  57. 5.4 定義輔助構造函數(shù)
  58. 5.5 定義私有的主構造函數(shù)
  59. 5.6 構造函數(shù)參數(shù)的默認值
  60. 5.7 類繼承時的構造函數(shù)
  61. 5.8 調(diào)用父類的構造函數(shù)
  62. 5.9 定義equals方法(對象相等性)
  63. 5.10 阻止生成訪問方法和修改方法
  64. 5.11 覆蓋默認的訪問方法和修改方法
  65. 5.12 將代碼塊或函數(shù)賦值給惰性字段
  66. 5.13 設置未初始化的var字段
  67. 5.14 樣例類產(chǎn)生的模板代碼
  68. 5.15 定義樣例類的輔助構造函數(shù)
  69. 第6章 特質(zhì)和枚舉
  70. 6.1 特質(zhì)的接口用法
  71. 6.2 定義特質(zhì)的抽象字段
  72. 6.3 特質(zhì)的抽象類用法
  73. 6.4 特質(zhì)的混入用法
  74. 6.5 多特質(zhì)同名方法處理與super關鍵字
  75. 6.6 限制特質(zhì)的拓展(僅支持特定類型的子類)
  76. 6.7 限制特質(zhì)的拓展(僅支持具有特定方法的類型)
  77. 6.8 限制特質(zhì)的拓展(僅支持特定的類)
  78. 6.9 使用參數(shù)化特質(zhì)
  79. 6.10 特質(zhì)的構造參數(shù)
  80. 6.11 特質(zhì)與模塊
  81. 6.12 用枚舉創(chuàng)建命名值的集
  82. 6.13 用枚舉建模ADT
  83. 第7章 對象
  84. 7.1 對象的強制轉換
  85. 7.2 用classOf方法傳遞Class類型
  86. 7.3 用object創(chuàng)建單例對象
  87. 7.4 用伴生對象創(chuàng)建靜態(tài)成員
  88. 7.5 用apply方法作為構造函數(shù)
  89. 7.6 用apply方法實現(xiàn)靜態(tài)工廠
  90. 7.7 將特質(zhì)具體化成對象
  91. 7.8 unapply方法與模式匹配
  92. 第8章 方法
  93. 8.1 控制方法的作用域
  94. 8.2 調(diào)用父類或特質(zhì)的方法
  95. 8.3 調(diào)用方法時使用參數(shù)名稱
  96. 8.4 設置參數(shù)的默認值
  97. 8.5 可變參數(shù)
  98. 8.6 無括號的方法調(diào)用
  99. 8.7 聲明異常
  100. 8.8 支持鏈式調(diào)用風格
  101. 8.9 擴展方法
  102. 第9章 包和導入
  103. 9.1 大括號風格的包語法
  104. 9.2 導入一個或多個成員
  105. 9.3 導入并重命名成員
  106. 9.4 導入時隱藏類
  107. 9.5 導入靜態(tài)成員
  108. 9.6 無處不在的導入語句
  109. 9.7 導入given
  110. 第10章 函數(shù)式編程
  111. 10.1 使用函數(shù)字面量(匿名函數(shù))
  112. 10.2 將函數(shù)作為變量傳遞
  113. 10.3 將函數(shù)作為方法的參數(shù)
  114. 10.4 聲明高階函數(shù)
  115. 10.5 使用部分應用函數(shù)
  116. 10.6 創(chuàng)建返回函數(shù)的方法
  117. 10.7 創(chuàng)建偏函數(shù)
  118. 10.8 實現(xiàn)函數(shù)式錯誤處理
  119. 10.9 實際案例:在算法中傳遞函數(shù)
  120. 10.10 實際案例:函數(shù)式領域建模
  121. 第11章 集合:介紹
  122. 11.1 選擇合適的集合類
  123. 11.2 集合的性能對比
  124. 11.3 不可變集合與可變變量
  125. 11.4 創(chuàng)建惰性視圖
  126. 第12章 集合:序列類
  127. 12.1 Vector
  128. 12.2 創(chuàng)建并填充List
  129. 12.3 List的添加操作
  130. 12.4 List和ListBuffer的刪除操作
  131. 12.5 使用ListBuffer創(chuàng)建可變列表
  132. 12.6 LazyList
  133. 12.7 ArrayBuffer
  134. 12.8 Array和ArrayBuffer的刪除操作
  135. 12.9 創(chuàng)建并更新數(shù)組
  136. 12.10 創(chuàng)建多維數(shù)組
  137. 12.11 數(shù)組排序
  138. 第13章 集合:常見的序列方法
  139. 13.1 選擇合適的集合方法
  140. 13.2 foreach方法
  141. 13.3 迭代器
  142. 13.4 zipWithIndex和zip方法
  143. 13.5 map方法
  144. 13.6 flatten方法
  145. 13.7 filter方法
  146. 13.8 從集合中提取元素序列
  147. 13.9 序列的拆分
  148. 13.10 reduce和fold方法
  149. 13.11 序列的去重
  150. 13.12 序列的合并
  151. 13.13 序列的隨機化
  152. 13.14 集合排序
  153. 13.15 mkString和addString方法
  154. 第14章 集合:映射
  155. 14.1 創(chuàng)建和使用映射
  156. 14.2 選擇合適的映射
  157. 14.3 不可變映射的添加、更新和刪除操作
  158. 14.4 可變映射的添加、更新和刪除操作
  159. 14.5 安全訪問映射值
  160. 14.6 測試映射中鍵或值的存在
  161. 14.7 從映射中獲取所有的鍵或值
  162. 14.8 尋找映射中最大和最小的鍵或值
  163. 14.9 映射的遍歷
  164. 14.10 根據(jù)鍵或值對映射排序
  165. 14.11 映射的過濾
  166. 第15章 集合:元組、范圍、集、棧和隊列
  167. 15.1 元組與異構列表
  168. 15.2 創(chuàng)建范圍
  169. 15.3 創(chuàng)建集并向其添加元素
  170. 15.4 集的刪除操作
  171. 15.5 有序集
  172. 15.6 創(chuàng)建和使用棧
  173. 15.7 創(chuàng)建和使用隊列
  174. 第16章 文件和進程
  175. 16.1 文本文件的讀取
  176. 16.2 文本文件的寫入
  177. 16.3 二進制文件的讀寫
  178. 16.4 將字符串偽裝為文件
  179. 16.5 對象和文件間的序列化/反序列化
  180. 16.6 目錄的遍歷
  181. 16.7 執(zhí)行外部命令
  182. 16.8 執(zhí)行外部命令并讀取標準輸出
  183. 16.9 命令的標準輸出和標準錯誤輸出
  184. 16.10 構建外部命令的管道
  185. 第17章 sbt
  186. 17.1 新建sbt項目
  187. 17.2 用sbt命令構建項目
  188. 17.3 了解build.sbt 語法風格
  189. 17.4 編譯、運行和打包Scala項目
  190. 17.5 其他sbt命令
  191. 17.6 持續(xù)的編譯和測試
  192. 17.7 依賴管理
  193. 17.8 托管依賴的版本控制
  194. 17.9 API文檔的生成
  195. 17.10 指定sbt運行的mainClass
  196. 17.11 部署一個可執(zhí)行的JAR文件
  197. 17.12 發(fā)布類庫
  198. 第18章 Scala Future和Akka actor的并發(fā)
  199. 18.1 創(chuàng)建Future
  200. 18.2 Future的回調(diào)和轉換方法
  201. 18.3 返回Future的方法
  202. 18.4 多個Future的并行執(zhí)行
  203. 18.5 創(chuàng)建面向?qū)ο箫L格的actor
  204. 18.6 創(chuàng)建函數(shù)式風格的actor
  205. 18.7 向actor發(fā)消息
  206. 18.8 創(chuàng)建有多種狀態(tài)的actor
  207. 第19章 Play框架和Web服務
  208. 19.1 創(chuàng)建Play項目
  209. 19.2 創(chuàng)建Play的Web API
  210. 19.3 返回JSON的GET請求
  211. 19.4 將Scala對象序列化成JSON
  212. 19.5 將JSON反序列化成Scala對象
  213. 19.6 在非Play項目中使用Play JSON庫
  214. 19.7 初識sttp
  215. 第20章 Apache Spark
  216. 20.1 初識Spark
  217. 20.2 將文件讀入RDD
  218. 20.3 將CSV讀入RDD
  219. 20.4 DataFrame
  220. 20.5 將數(shù)據(jù)文件讀入DataFrame
  221. 20.6 針對多個文件的Spark SQL查詢
  222. 20.7 Spark批處理程序
  223. 第21章 Scala.js、GraalVM和jpackage
  224. 21.1 初識Scala.js
  225. 21.2 使用Scala.js響應事件
  226. 21.3 使用Scala.js構建單頁面應用
  227. 21.4 使用GraalVM構建原生的可執(zhí)行文件
  228. 21.5 使用jpackage構建應用
  229. 第22章 Scala與Java集成
  230. 22.1 在Scala中使用Java的集合
  231. 22.2 在Java中使用Scala的集合
  232. 22.3 在Scala中使用Java的Optional值
  233. 22.4 在Java中使用Scala的Option值
  234. 22.5 在Java中使用Scala的特質(zhì)
  235. 22.6 在Scala中使用Java的接口
  236. 22.7 @throws注解
  237. 22.8 @varargs注解
  238. 22.9 @SerialVersionUID和其他注解
  239. 第23章 類型
  240. 23.1 泛型方法
  241. 23.2 泛型類
  242. 23.3 不可變泛型參數(shù)的協(xié)變
  243. 23.4 元素類型可變化的類
  244. 23.5 類的泛型類型邊界
  245. 23.6 duck類型(結構化類型)
  246. 23.7 不透明類型與類型名稱
  247. 23.8 given和using的術語推斷
  248. 23.9 并集類型與動態(tài)類型
  249. 23.10 類型的組合
  250. 23.11 通過跨界相等性比較類
  251. 23.12 CanEqual類型族
  252. 第24章 最佳實踐
  253. 24.1 純函數(shù)
  254. 24.2 不可變量與集合
  255. 24.3 表達式
  256. 24.4 match表達式與模式匹配
  257. 24.5 消除null值
  258. 24.6 Option、Try和Either
  259. 24.7 構建模塊化系統(tǒng)
  260. 24.8 高階函數(shù)與Option值
書名:Scala編程實戰(zhàn)(原書第2版)
作者:Alvin Alexander
譯者:陳凱, 李國斌, 李力, 黃新星 譯
國內(nèi)出版社:機械工業(yè)出版社
出版時間:2023年09月
頁數(shù):710
書號:978-7-111-73279-2
原版書書名:Scala Cookbook, Second Edition
原版書出版商:O'Reilly Media
Alvin Alexander
 
Alvin Alexander擁有美國得州農(nóng)工大學航空航天工程學位,是Valley Programming軟件咨詢公司創(chuàng)始人。他精通Fort ran、C、UNIX、Linux、Perl、Java、Python、Ruby、Android、Scala、Haskell、Kotlin和Flutter。Alvin是Functional Programming, Simplified(Create Space)的作者,也是Scala網(wǎng)站官方文檔Scala 3 Book的合著者。

Alvin Alexander走上軟件開發(fā)之路比較曲折。雖然他從得克薩斯州的A&M大學拿到了航空工程學學位,但他真正想做的卻是打棒球。成為見習工程師時,他意識到自己喜歡軟件開發(fā)和編程勝過航天工程。因此,他開始自學Fortran、C、UNIX和網(wǎng)絡管理、sed、awk、Perl、Java、Python、Ruby、JRuby、Groovy、PHP和Scala。在這個過程中,他開了一家軟件咨詢公司,并發(fā)展到15名員工,后來公司被賣掉,幾年之后,他移居阿拉斯加州。離開阿拉斯加州之后,他出版了兩本書,(《我如何賣掉自己的業(yè)務:私人日記》和《咨詢的禪和藝術 》)。他創(chuàng)建了DevDaily.com,每年都有百萬級的瀏覽量,還創(chuàng)建了新的軟件咨詢公司Valley Programming以及一個名為Zen Foundation的非盈利性組織。
 
 
購買選項
定價:199.00元
書號:978-7-111-73279-2
出版社:機械工業(yè)出版社