V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
sadhen
V2EX  ›  程序员

送出几本《Scala 实用指南》

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

    异步社区传送门,有勘误,目前只有 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 = "https://www.v2ex.com/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 = 'https://www.v2ex.com/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 = "https://www.v2ex.com/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: String, 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 = 'https://www.v2ex.com/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
    zhijiansha
        16
    zhijiansha  
       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 程序员前排支持
    Lowang
        49
    Lowang  
       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   ·   实用小工具   ·   2742 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 35ms · UTC 10:01 · PVG 18:01 · LAX 02:01 · JFK 05:01
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.