送出几本《Scala 实用指南》 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
sadhen
V2EX    程序员

送出几本《Scala 实用指南》

  sadhen
darcy-shen 2018-09-27 23:15:49 +08:00 20240 次点击
这是一个创建于 2640 天前的主题,其中的信息可能已经有所发展或是发生改变。

异步社区传送门,有勘误,目前只有 3 条,希望在第二次印刷前有更多的反馈。

具体规则

  1. 共 6 本。
  2. 在评论区撰写评论即可参与,也欢迎讨论关于 Scala、翻译等话题。
  3. 北京时间 10 月 1 日 0 点 0 分截止,结束后当日会在帖子后附言公布获赠名单。
  4. 获赠结果通过对评论用户去重后随机获取。
  5. 获赠用户需为( 9 月 28 日)以前注册,一个用户只能获赠一本。
  6. 全国包邮(新疆、西藏、港澳台邮费需自付,见谅)。
  7. 保留最终解释权。

本书特色

  1. 几本靠谱的 Scala 编程书籍中最简单务实的一本
  2. 注重工程实践,深入浅出,深入到 JVM 字节码做分析
  3. 简明扼要地介绍了 Akka 的核心概念,为大家接触 Akka 做一个必要的缓冲
  4. 结合设计模式,高屋建瓴,翔实有料

作者译者简介

  • 文卡特苏帕拉马尼亚姆( Venkat Subramaniam )博士 Agile Developer 公司的创始人,同时也在休斯敦大学兼任教职。他已经培训和指导了数千名软件开发者。他也是多本书籍的(合著)作者,其中包括获得 2007 年度 Jolt “生产力大”( Productivity Award )的《高效程序员的 45 个习惯:敏捷开发修炼之道》一书。
  • 沈达(@sadhen):挖财数据研发工程师,Scala 爱好者,Apache Spark Contributor,专注于大数据和分布式系统。业余时间是GNU TeXmacs的贡献者。
  • 何品(@hepin1989):目前是淘宝的一名资深软件工程师,热爱反应式编程,同时也是 Akka 和 Netty 等项目的贡献者,活跃于 Scala 社区。

闲话翻译

简单陈述一下个人的翻译经历:

  1. 从 2013 年开始翻译GNU TeXmacs的文档,目前的完成度大概是 80%,通过翻译逐渐加入了 GNU TeXmacs 的开发。
  2. 2015 年,探索 Linux 手册页的翻译方案,并给 GNU Groff 提交了Patch,改善中文在终端中对于空格的处理,和 @hosiet 翻译完善了许多手册页的翻译。工作之后,没有做过任何贡献,但 @hosiet 一直在坚持,最后将我们的翻译反馈到了 Debian/Ubuntu 软件源中。 @hosiet 后来成为了一名 Debian Developer

另外,何品大哥在翻译本书之前,参与过龙腾世纪和质量效应 2 的游戏汉化,翻译过《 Netty 实战》,目前由何品参与翻译的《反应式设计模式》也快要上市了。

译文展示: TeXmacs 哲学

source: http://www.texmacs.org/tmweb/about/philosophy.en.html

TeXmacs 的主要目标之一是通过显著地降低创造高质量用户接口的成本,促进那些与科学相关的自由软件的开发。如果你计划为 TeXmacs 与某个软件写插件,请联系我们。

作为一个数学家,从科学的角度上讲,我坚信只有自由软件可被接受。两个主要理由如下:

  • 对于一个不开源的“数学”系统,其计算结果不能作为数学证明的一部分。
  • 正如数学家需要从其它定理构建新的定理,自由地修改和发布数学软件中算法的需求合乎情理。

然而,当前主流的数学软件大多是专有的。这很奇怪,且是一种耻辱。这种现象的根源在于数学家们往往不认为编程是一种完全的科学活动。结果,实用软件的开发被委托给了“工程师们”因而数学家们只能像黑盒一样使用这些程序。

这种对科学活动的细分是非常武断的:从科学的角度认知黑盒中所有为何物往往十分重要。反过来讲,科学上深邃的理解往往能够诞生更加精良的软件。所以我认为科学家们应当将软件开发视为完全的科学活动,如同撰写文章。自然而然,这种软件的发布方式和科学的传播应当兼容,即:公众可及、可复制和自由使用。

呼吁大家一起参与开源社区!!!

<del>成为 Apache XYZ 项目 PMC Member,迎娶白富美,走上人生巅峰</del>

广告时间

这个公众号主要关注反应式编程,包括 Netty、Akka、Spark、Scala 等话题,刚刚开始建设,欢迎大家关注。

为了不给何品大哥拖后腿,终于在这个月给 Apache Spark 和 Scala 项目贡献了若干个 PR。今晚发布的 Scala 2.12.7 就有鄙人的一点点微小的贡献,欢迎大家尝试。

第 1 条附言    2018-09-28 00:31:56 +08:00
有兴趣来杭州工作的同学,可以联系我 ( moc.ohoz TA nehdas ) 或者何品内推哦!

我们部门(挖财数据平台)一直在招人哦。大家看本书的推荐序,就是我们老板(《 Scala 函数式编程》的译者之一)写的。其他岗位的同学对我司感兴趣,也可以找我内推 http://job.wacai.com/

鄙人在知乎刚开的一个专栏: https://zhuanlan.zhihu.com/scalastyle 欢迎大家关注投稿
第 2 条附言    2018-10-09 20:01:42 +08:00
恭喜 List("@xcjx", "@chocolatesir", "@lnomve", "@funky", "@wenning", "@magicsilence") 中奖。请告诉我你们的联系方式。我的邮箱 MyV2EXNickname AT zoho.com 。完整的抽奖代码:

```
@ repl.history.foreach(println)
import $ivy.`com.lihaoyi::requests:0.1.4`
import $ivy.`org.json4s::json4s-jackson:3.5.2`
import org.json4s.jackson.JsonMethods.parse
import org.json4s._
import org.json4s.JsonDSL._
import scala.util.Random

// 一些常量
val url = "api/replies/show.json?topic_id=493356"
val numberOfWinners = 6

// 从 V2EX 获取数据
val source = requests.get(url)

// 解析 JSON,获取所有参与抽奖的用户
val json = parse(source.text)
case class Profile(username: String, github: String)
case class Member(member: Profile)
val members = json.extract[List[Member]].map(_.member.username).distinct

// 抽奖
Random.shuffle(members).take(numberOfWinners)
```

参考了这个 Python 版本的代码 /raw/5cda96d8fb26e5e49e0a20b51b9514f87bf0ff68/mytest.py 。最后手动检查一下大家的 profile 是否符合要求。

```
import random
import requests

url = 'api/replies/show.json?topic_id=490659'
# 中奖人数
numberOfWinners = 4

if __name__ == '__main__':
source = requests.get(url)
names_list = []
for item in source.json():
username = str(item['member']['username'])
names_list.append(str(item['member']['username']))
# print("list length: " + str(len(names_list)))
names_set = set(names_list)
totalMembersCount = len(names_set)
print("本次参与活动人数为:{}".format(totalMembersCount))
print("-" * 20)
for name in names_set:
print(name)
print("-" * 20)
luckyMembers = random.sample(list(names_set), numberOfWinners)
print("恭喜中奖用户:" + str(luckyMembers))
```

大家可以对比感受一下 Scala 和 Python 的一些异同点。
第 3 条附言    2018-10-09 20:06:37 +08:00

恭喜 @xcjx @chocolatesir @lnomve @funky @wenning @magicsilence 中奖。请告诉我你们的联系方式。我的邮箱 MyV2EXNickname AT zoho.com 。完整的抽奖代码:

import $ivy.`com.lihaoyi::requests:0.1.4` import $ivy.`org.json4s::json4s-jackson:3.5.2` import org.json4s.jackson.JsonMethods.parse import org.json4s._ import org.json4s.JsonDSL._ import scala.util.Random // 一些常量 val url = "api/replies/show.json?topic_id=493356" val numberOfWinners = 6 // 从 V2EX 获取数据 val source = requests.get(url) // 解析 JSON,获取所有参与抽奖的用户 implicit val formats = DefaultFormats val json = parse(source.text) case class Profile(username: Strng, github: String) case class Member(member: Profile) val members = json.extract[List[Member]].map(_.member.username).distinct // 抽奖 Random.shuffle(members).take(numberOfWinners) 

参考了这个 Python 版本的代码 mytest.py 。最后手动检查一下大家的 profile 是否符合要求。

import random import requests url = 'api/replies/show.json?topic_id=490659' # 中奖人数 numberOfWinners = 4 if __name__ == '__main__': source = requests.get(url) names_list = [] for item in source.json(): username = str(item['member']['username']) names_list.append(str(item['member']['username'])) # print("list length: " + str(len(names_list))) names_set = set(names_list) totalMembersCount = len(names_set) print("本次参与活动人数为:{}".format(totalMembersCount)) print("-" * 20) for name in names_set: print(name) print("-" * 20) luckyMembers = random.sample(list(names_set), numberOfWinners) print("恭喜中奖用户:" + str(luckyMembers)) 

大家可以对比感受一下 Scala 和 Python 的一些异同点。

479 条回复    2018-10-20 11:49:17 +08:00
1  2  3  4  5  
cye3s
    1
cye3s  
   2018-09-27 23:19:17 +08:00 via iPhone
刚好想买,有新版?
CoderHugo
    2
CoderHugo  
   2018-09-27 23:19:31 +08:00
前排学习
zsh1995
    3
zsh1995  
   2018-09-27 23:20:59 +08:00 via Android
java 玩家,刚好想学习下 scala 来开拓下视野
densuc
    4
densuc  
   2018-09-27 23:22:00 +08:00 via iPhone
支持一下
sadhen
    5
sadhen  
OP
   2018-09-27 23:23:52 +08:00
@cye3s 第一次印刷剩的不多了,估计在过一段时间可以有第二次印刷。不过本身我们对质量要求比较严格一点,不会有太多勘误需要 apply 的
hepin1989
    6
hepin1989  
   2018-09-27 23:25:30 +08:00 via Android
感谢 @sadhen 辛苦组织这场活动,费心了。
isnowify
    7
isnowify  
   2018-09-27 23:26:20 +08:00 via Android
前排
sosloop
    8
sosloop  
   2018-09-27 23:28:04 +08:00 via Android
前排,h5 前端路过,留名争取下
yorksonchang
    9
yorksonchang  
   2018-09-27 23:30:58 +08:00 via Android
前排支持!已关注
WeberXie
    10
WeberXie  
   2018-09-27 23:31:00 +08:00
期待
0vels
    11
0vels  
   2018-09-27 23:31:10 +08:00
虽然是 java 玩家,但都是 jvm 语言,学习一下
duoweimi222
    12
duoweimi222  
   2018-09-27 23:31:50 +08:00 via Android
分母加 1
linghutf
    13
linghutf  
   2018-09-27 23:34:55 +08:00 via Android
spark 让 scala 有了用武之地
sadhen
    14
sadhen  
OP
   2018-09-27 23:37:25 +08:00
也请大家关注一下送书贴里面的内容,有觉得我们翻译得不好的也请指出。相对而言,书还好。

像 Linux 手册页的影响是比较大的。大家如果在使用 Debian 或者 Ubuntu,使用

```
man ls
```

或者其他命令,看到的是中文,很有可能翻译是我润色过的,如果有错误,还请大家反馈。
nakedou
    15
nakedou  
   2018-09-27 23:40:05 +08:00 via iPhone
NLL
    16
NLL  
   2018-09-27 23:41:01 +08:00 via iPhone
分母
Applenice
    17
Applenice  
   2018-09-27 23:41:49 +08:00
组成分母
vecZro
    18
vecZro  
   2018-09-27 23:42:31 +08:00 via Android
分母
billlee
    19
billlee  
   2018-09-27 23:51:12 +08:00
组成分母
someonedeng
    20
someonedeng  
   2018-09-27 23:52:04 +08:00
分子(膨胀
nthin0
    21
nthin0  
   2018-09-27 23:55:29 +08:00 via iPhone
学习学习,膜拜大佬
xcjx
    22
xcjx  
   2018-09-27 23:57:40 +08:00 via Android
netty 实战 翻译的不太好吧。。。 不过辛苦了,技术书也赚不了多少钱
sadhen
    23
sadhen  
OP
   2018-09-28 00:08:56 +08:00
@xcjx https://www.epubit.com/book/detail/14723 可以看一看样章,感受一下有没有翻译的坏味道。

这本书是两个人合作翻译,相对会比一个人翻译会好一些。每个人都有自己特定的遣词造句的习惯,不可避免地会有一些中文上的谬误。张爱玲的小说里面都有一些用词不对的地方,不可能每个人写作或者翻译都和木心那样,每一个字都那么准确,恰到好处。

(逃
ganymede
    24
ganymede  
   2018-09-28 00:10:06 +08:00 via Android
支持下楼主
liango
    25
liango  
   2018-09-28 00:12:34 +08:00
前排学习
merpyzf
    26
merpyzf  
   2018-09-28 00:18:58 +08:00 via Android
我是来充当分子的!
songjiaxin2008
    27
songjiaxin2008  
   2018-09-28 00:20:47 +08:00
分母
ys759206502
    28
ys759206502  
   2018-09-28 00:21:57 +08:00 via Android
java 玩家,正好在撸 hadoop,spark
qk3z
    29
qk3z  
   2018-09-28 00:25:15 +08:00 via Android
正想有空了学学 scala,看运气辣
Lonely
    30
Lonely  
   2018-09-28 00:27:04 +08:00 via iPhone
支持一下,也想学习 Scala
changdy
    31
changdy  
   2018-09-28 00:28:07 +08:00
坦白说 Scala 没用过了解也不深,只知道同事前领导国外大学专业课.
自己还是有兴趣更深入了解一点吧.想知道语言设计和 java 以及 Kotlin 有和差别
shsdust
    32
shsdust  
   2018-09-28 00:34:15 +08:00 via Android
支持
luozhiyun
    33
luozhiyun  
   2018-09-28 01:02:18 +08:00 via iPhone
想要一本
vimsucks
    34
vimsucks  
   2018-09-28 01:04:40 +08:00 via Android
希望是分子
Sinar
    35
Sinar  
   2018-09-28 01:05:55 +08:00 via Android
LXVC
    36
LXVC  
   2018-09-28 01:42:13 +08:00
需要!喜欢 Scala
ShundL
    37
ShundL  
   2018-09-28 01:53:14 +08:00 via iPhone
头顶一头白发还要学习,分子。
kingcos
    38
kingcos  
   2018-09-28 02:07:01 +08:00 via iPhone
分母~
lausius
    39
lausius  
   2018-09-28 02:09:40 +08:00
又来碰运气。
lxfxf
    40
lxfxf  
   2018-09-28 06:15:45 +08:00
前后段全用 scala 的来支持一下,书还得多看,还是好多地方不清楚。
likai
    41
likai  
   2018-09-28 06:18:47 +08:00 via Android
分母一枚,看有没有希望
nutting
    42
nutting  
   2018-09-28 06:28:00 +08:00 via Android
感兴趣
zhenxian
    43
zhenxian  
   2018-09-28 06:36:16 +08:00
支持
bigeast
    44
bigeast  
   2018-09-28 06:38:16 +08:00 via Android
不错,来吧
renyijiu
    45
renyijiu  
   2018-09-28 06:53:50 +08:00 via Android
支持
Mindzy
    46
Mindzy  
   2018-09-28 07:07:09 +08:00 via iPhone
分母分母,正好要学
8bit
    47
8bit  
   2018-09-28 07:09:30 +08:00 via Android
很厉害
ihainan
    48
ihainan  
   2018-09-28 07:20:54 +08:00 via iPhone
Scala 程序员前排支持
ccmoon
    49
ccmoon  
   2018-09-28 07:27:41 +08:00 via Android
留名
crazycabbage
    50
crazycabbage  
   2018-09-28 07:40:22 +08:00 via iPhone
支持一下
VogelOG
    51
VogelOG  
   2018-09-28 07:42:23 +08:00 via Android
分母
AngryPanda
    52
AngryPanda  
   2018-09-28 07:45:46 +08:00 via Android
学习学习
dodojava
    53
dodojava  
   2018-09-28 07:52:37 +08:00
支持 Scala
为什么那么多写分母,不写分子呢?
lpd0155
    54
lpd0155  
   2018-09-28 08:13:16 +08:00 via Android
从来没中过,让我中一次?
wusir
    55
wusir  
   2018-09-28 08:15:42 +08:00
分母支持
ifbluethen
    56
ifbluethen  
   2018-09-28 08:16:34 +08:00
啊啊啊,javaer 想学 scala。
cjason
    57
cjason  
   2018-09-28 08:21:33 +08:00
支持支持
ZRoger
    58
ZRoger  
   2018-09-28 08:22:22 +08:00
我又来组成分母
inisun
    59
inisun  
   2018-09-28 08:23:26 +08:00
分母,最近在图书馆借了一本,但不能做笔记很不爽
fy1993
    60
fy1993  
   2018-09-28 08:30:28 +08:00
支持支持,想做分子哈哈
lil460982475
    61
lil460982475  
   2018-09-28 08:31:06 +08:00
拉低中奖率
ww980624
    62
ww980624  
   2018-09-28 08:31:45 +08:00 via Android
啊咧,我也想要啊!!!
AzadCypress
    63
AzadCypress  
   2018-09-28 08:36:14 +08:00 via Android
分母+1
gerorim
    64
gerorim  
   2018-09-28 08:38:07 +08:00
支持,感谢为开源软件做的贡献 :微笑:
kslr
    65
kslr  
   2018-09-28 08:42:32 +08:00 via Android
看起来还是有点难度的
vjnjc
    66
vjnjc  
   2018-09-28 08:57:29 +08:00 via Android
jvm 上的同伴,来一份~
Mistwave
    67
Mistwave  
   2018-09-28 09:00:07 +08:00 via iPhone
1. 这书刚上市就买来看了,有一些细节我觉得还是讲得挺好的,通过字节码来分析底层细节也很棒,支持一个。
但是作为入门书我觉得这本还是不够全面,入门还是推荐直接上 Odersky 老爷子的 Programming in Scala

2. 公众号二维码显示过期了哟

3. 我比较感兴趣,贵部门对 Scala 的应用具体有哪些呢,招人有哪些要求呢
wnma3mz
    68
wnma3mz  
   2018-09-28 09:00:23 +08:00 via Android
拉低中奖率~
hcheng
    69
hcheng  
   2018-09-28 09:02:21 +08:00
有点意思,前来围观一下
wangfeili12
    70
wangfeili12  
   2018-09-28 09:04:05 +08:00
围观一下看看
lansexinyu
    71
lansexinyu  
   2018-09-28 09:04:08 +08:00
碰碰运气,看看能不能中奖
hiro0729
    72
hiro0729  
   2018-09-28 09:05:51 +08:00
谢谢大佬们翻译国外精品书籍
select
    73
select  
   2018-09-28 09:06:50 +08:00
求送
reid2017
    74
reid2017  
   2018-09-28 09:08:01 +08:00
最近在学习 spark,围观围观
hackerwin7
    75
hackerwin7  
   2018-09-28 09:09:10 +08:00
正好在研究 scala,支持一下
tanglijun
    76
tanglijun  
   2018-09-28 09:09:44 +08:00
szetrov
    77
szetrov  
   2018-09-28 09:11:41 +08:00
万一能中呢
Dart
    78
Dart  
   2018-09-28 09:12:29 +08:00
作者我喜欢! Scala Twitter 的入门资料也不错!
scalaer
    79
scalaer  
   2018-09-28 09:12:32 +08:00 via Android
1111111 最近刚好在用 spark
ica10888
    80
ica10888  
   2018-09-28 09:12:47 +08:00
来当分母,万一是分子呢
camark
    81
camark  
   2018-09-28 09:12:59 +08:00
支持开源软件
fengwei23
    82
fengwei23  
   2018-09-28 09:12:59 +08:00
分母支持,我是做 spark 的
hjw45611
    83
hjw45611  
   2018-09-28 09:13:53 +08:00
只学过 Scala 的基本语法,都知道能干啥,手动捂脸.jpg
Mashiro
    84
Mashiro  
   2018-09-28 09:14:41 +08:00
组成分母
lilogo
    85
lilogo  
   2018-09-28 09:14:54 +08:00
分母+1
yebo777
    86
yebo777  
   2018-09-28 09:14:58 +08:00
哎呦,不错哦
co3site
    87
co3site  
   2018-09-28 09:15:36 +08:00 via Android
想学,做个分母
JackyCDK
    88
JackyCDK  
   2018-09-28 09:16:12 +08:00
资瓷一下
largek
    89
largek  
   2018-09-28 09:16:22 +08:00
scala 看起来不错呦
endershadow
    90
endershadow  
   2018-09-28 09:17:13 +08:00
照着 sample code 做过 spark stream
正在看快学 scala
参加一下抽奖,增加一下人气,这个作者看起来也是位大师
公众号关注了
frankkai
    91
frankkai  
   2018-09-28 09:18:05 +08:00
学习一下
endershadow
    92
endershadow  
   2018-09-28 09:19:15 +08:00
另外二维码已经过期了
XXneet
    93
XXneet  
   2018-09-28 09:19:54 +08:00
不是分母吧, 随机项
a516585610
    94
a516585610  
   2018-09-28 09:21:00 +08:00 via Android
期待书
qqq8724
    95
qqq8724  
   2018-09-28 09:21:03 +08:00
scala 为不同而不同
hawkinggg
    96
hawkinggg  
   2018-09-28 09:21:04 +08:00
大佬牛逼
nature91
    97
nature91  
   2018-09-28 09:21:17 +08:00
分子(膨胀
MaxTan
    98
MaxTan  
   2018-09-28 09:21:20 +08:00
拉低中奖率
cantonadong
    99
cantonadong  
   2018-09-28 09:21:24 +08:00 via Android
报名。
sun522198558
    100
sun522198558  
   2018-09-28 09:21:24 +08:00 via iPhone
想学习
1  2  3  4  5  
关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1013 人在线   最高记录 6679       Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 34ms UTC 18:30 PVG 02:30 LAX 10:30 JFK 13:30
Do have faith in what you're doing.
ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86