V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
sadhen
V2EX  ›  程序员

送出几本《Scala 实用指南》

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

    异步社区传送门,有勘误,目前只有 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  
    Yuicon
        101
    Yuicon  
       2018-09-28 09:22:23 +08:00
    我来组成分母,本来是想学 go 的,结果实际写起来发现问题挺多的,现在来看看 scala
    JRyan
        102
    JRyan  
       2018-09-28 09:24:34 +08:00
    正在学 scala, 想中。
    tt0411
        103
    tt0411  
       2018-09-28 09:25:59 +08:00
    想要, 正好最近工作需要
    nullzero
        104
    nullzero  
       2018-09-28 09:26:25 +08:00
    分母~
    tt0411
        105
    tt0411  
       2018-09-28 09:28:44 +08:00
    二维码过期了, 求更新
    aboutyang
        106
    aboutyang  
       2018-09-28 09:28:51 +08:00
    分母
    jensen
        107
    jensen  
       2018-09-28 09:29:18 +08:00
    akka 想学这个
    FiveDDD
        108
    FiveDDD  
       2018-09-28 09:30:02 +08:00
    最近在写 spark,scala 写起来真的比 python 舒服。
    zcg19960121
        109
    zcg19960121  
       2018-09-28 09:31:25 +08:00
    工作在用 scala,试试运气,谢谢楼主。
    ljspython
        110
    ljspython  
       2018-09-28 09:31:48 +08:00
    送书的一次没中过
    mkstring
        111
    mkstring  
       2018-09-28 09:32:01 +08:00
    买过 scala 的入门书了,这本也可能需要
    strongwong
        112
    strongwong  
       2018-09-28 09:32:18 +08:00
    分母~
    crayhuang
        113
    crayhuang  
       2018-09-28 09:32:48 +08:00
    来个分母。
    verzhshq
        114
    verzhshq  
       2018-09-28 09:34:14 +08:00
    分母
    CHEN1016
        115
    CHEN1016  
       2018-09-28 09:34:17 +08:00 via Android
    加一
    achenme
        116
    achenme  
       2018-09-28 09:34:33 +08:00
    我是可爱的分母
    EruDev
        117
    EruDev  
       2018-09-28 09:34:49 +08:00
    分母
    art2cat
        118
    art2cat  
       2018-09-28 09:35:13 +08:00
    分母
    lstaras
        119
    lstaras  
       2018-09-28 09:35:25 +08:00 via Android
    资瓷一下
    TonyShng
        120
    TonyShng  
       2018-09-28 09:36:23 +08:00
    支持支持~
    rookiewhy
        121
    rookiewhy  
       2018-09-28 09:37:32 +08:00
    不会 Go,资瓷一下
    qiuyun8m
        122
    qiuyun8m  
       2018-09-28 09:37:42 +08:00 via iPhone
    想要
    zqguo
        123
    zqguo  
       2018-09-28 09:38:00 +08:00
    分母+1
    ClutchBear
        124
    ClutchBear  
       2018-09-28 09:39:00 +08:00
    组成分母!
    zydxn
        125
    zydxn  
       2018-09-28 09:39:33 +08:00
    目前抽空在看快学 Scala 第二版
    waising
        126
    waising  
       2018-09-28 09:40:38 +08:00
    想要啊啊啊啊
    jing7851260
        127
    jing7851260  
       2018-09-28 09:41:30 +08:00
    随缘当个分母
    takashiki
        128
    takashiki  
       2018-09-28 09:44:07 +08:00
    分母
    captainjack
        129
    captainjack  
       2018-09-28 09:47:13 +08:00   ❤️ 1
    公众号二维码失效了。。。我也想要书
    liyaojian
        130
    liyaojian  
       2018-09-28 09:47:46 +08:00
    从没中过
    myxingkong
        131
    myxingkong  
       2018-09-28 09:49:47 +08:00
    每天起床第一件事,先给自己抽个奖
    Dori
        132
    Dori  
       2018-09-28 09:49:52 +08:00
    支持一下,当个分母
    zeR0f1re
        133
    zeR0f1re  
       2018-09-28 09:49:58 +08:00
    豹子头零充,参上!组成分子!
    demonchang
        134
    demonchang  
       2018-09-28 09:49:58 +08:00
    围观下
    benzalus
        135
    benzalus  
       2018-09-28 09:52:46 +08:00
    正在学 Scala,分母++
    JohnWick
        136
    JohnWick  
       2018-09-28 09:52:54 +08:00
    兹瓷一下!
    sadhen
        137
    sadhen  
    OP
       2018-09-28 09:53:05 +08:00
    @Mistwave

    我们这边的 Scala 主要在 Spark, Flink 上面使用。另外,我们做业务,也有很多 Spring Boot 工程中混合使用 Java、Scala 的场景。

    我这边在用 Scala 造一个 SQL 执行引擎,后面我们团队的技术博客公开,会有一些细节。

    招人的话,希望有 Hadoop 集群上面的开发运维经验。现在还没有到大家跳槽的季节,反正有意愿可以先联系我。
    shuianfendi6
        138
    shuianfendi6  
       2018-09-28 09:54:08 +08:00
    分母
    隔壁组一看不懂 scala 的就让别人别用 scala,醉了
    hell0v2
        139
    hell0v2  
       2018-09-28 09:56:29 +08:00
    分母++
    yanhj2006
        140
    yanhj2006  
       2018-09-28 09:56:32 +08:00
    抽个奖
    xpnous
        141
    xpnous  
       2018-09-28 09:56:48 +08:00
    想要,做一下分母
    a1114262301
        142
    a1114262301  
       2018-09-28 09:57:14 +08:00
    分母!
    sdshiyan2005
        143
    sdshiyan2005  
       2018-09-28 09:57:21 +08:00
    分母
    nu11001
        144
    nu11001  
       2018-09-28 09:57:37 +08:00
    -_-
    darkjoker
        145
    darkjoker  
       2018-09-28 09:58:14 +08:00
    随缘吧,做一下分母
    stanzgy
        147
    stanzgy  
       2018-09-28 09:58:53 +08:00
    抽个奖
    orm
        148
    orm  
       2018-09-28 09:59:01 +08:00
    之前看过 Scala,Twitter 也在使用
    vowers
        149
    vowers  
       2018-09-28 09:59:12 +08:00
    分母+1
    sadhen
        150
    sadhen  
    OP
       2018-09-28 09:59:44 +08:00
    @Mistwave 书当然不能只看一本 哈嘿
    myyou
        151
    myyou  
       2018-09-28 10:03:48 +08:00
    我只到我不会中奖,但是也要拉低一下中奖率😁
    MajorAdam
        152
    MajorAdam  
       2018-09-28 10:05:57 +08:00
    分母
    Songfenzhe
        153
    Songfenzhe  
       2018-09-28 10:08:17 +08:00
    想要,做一下分母
    korvin
        154
    korvin  
       2018-09-28 10:08:18 +08:00
    好多要学的啊
    JustinJie
        155
    JustinJie  
       2018-09-28 10:11:13 +08:00
    +1
    keenwon
        156
    keenwon  
       2018-09-28 10:12:05 +08:00
    最近送书的人挺多啊
    layorlayor
        157
    layorlayor  
       2018-09-28 10:12:27 +08:00
    spark 用户
    huangshaolong
        158
    huangshaolong  
       2018-09-28 10:12:45 +08:00
    scala 主要还是 spark 开发这一块用的多一点,
    再就是 akka
    yuanshixoong
        159
    yuanshixoong  
       2018-09-28 10:13:17 +08:00 via Android
    分母加 1
    echo123456
        160
    echo123456  
       2018-09-28 10:13:25 +08:00
    想要,分子下
    GoLand
        161
    GoLand  
       2018-09-28 10:14:00 +08:00
    -1s
    limers
        162
    limers  
       2018-09-28 10:14:18 +08:00
    最近在看 Scala 函数式编程 简直爽到
    70nY
        163
    70nY  
       2018-09-28 10:15:47 +08:00
    分母++
    lengxu
        164
    lengxu  
       2018-09-28 10:16:54 +08:00
    学习入门。
    louhubiao
        165
    louhubiao  
       2018-09-28 10:17:26 +08:00 via Android
    组成分母,最近正在切 scala
    whoami9894
        166
    whoami9894  
       2018-09-28 10:19:10 +08:00 via Android
    分母++
    ppyer
        167
    ppyer  
       2018-09-28 10:19:17 +08:00
    分母来 了
    gsscsd
        168
    gsscsd  
       2018-09-28 10:20:42 +08:00 via Android
    从没中奖
    AntonyXin
        169
    AntonyXin  
       2018-09-28 10:21:02 +08:00
    分母之母
    AlphaGL
        170
    AlphaGL  
       2018-09-28 10:22:22 +08:00
    支持
    megatron7
        171
    megatron7  
       2018-09-28 10:22:32 +08:00
    分母++
    hawd
        172
    hawd  
       2018-09-28 10:22:37 +08:00
    分母+1
    getElementBy1d
        173
    getElementBy1d  
       2018-09-28 10:23:48 +08:00
    分子+1
    VoldikSS
        174
    VoldikSS  
       2018-09-28 10:25:05 +08:00 via Android
    留名支持
    xiaowangge
        175
    xiaowangge  
       2018-09-28 10:25:18 +08:00
    Yoock
        176
    Yoock  
       2018-09-28 10:25:39 +08:00
    分子++
    xiaoshenke
        177
    xiaoshenke  
       2018-09-28 10:25:55 +08:00
    分母+1 get
    huskar
        178
    huskar  
       2018-09-28 10:26:34 +08:00
    想中=。=
    2Tong
        179
    2Tong  
       2018-09-28 10:27:53 +08:00
    顶一下,想要~
    irisfor
        180
    irisfor  
       2018-09-28 10:30:31 +08:00
    分母来了
    xiongshengyao
        181
    xiongshengyao  
       2018-09-28 10:31:08 +08:00
    想学,我要当分母
    lsc
        182
    lsc  
       2018-09-28 10:31:39 +08:00
    留名支持,分母+1
    superbai
        183
    superbai  
       2018-09-28 10:32:04 +08:00
    @Yuicon 啥问题?
    xudzhang
        184
    xudzhang  
       2018-09-28 10:32:15 +08:00
    分母+1
    man1
        185
    man1  
       2018-09-28 10:34:22 +08:00 via Android
    支持
    justudy
        186
    justudy  
       2018-09-28 10:37:37 +08:00
    支持
    luguhu
        187
    luguhu  
       2018-09-28 10:39:05 +08:00 via Android
    分母+ 1
    Errorcrazy
        188
    Errorcrazy  
       2018-09-28 10:40:01 +08:00 via Android
    支持
    sakudie
        189
    sakudie  
       2018-09-28 10:40:13 +08:00
    支持
    exceldream
        190
    exceldream  
       2018-09-28 10:42:27 +08:00 via Android
    scala, akka 是巨坑, 一旦入坑, 无法自拔. 排队等书.
    cyspy
        191
    cyspy  
       2018-09-28 10:45:32 +08:00
    一门让人自以为效率很高其实不停地学新东西的语言,无法自拔。。
    aaahhh123
        192
    aaahhh123  
       2018-09-28 10:45:38 +08:00
    想学,我要当分母
    lnomve
        193
    lnomve  
       2018-09-28 10:45:57 +08:00 via iPhone
    分母
    qyc0129
        194
    qyc0129  
       2018-09-28 10:48:47 +08:00
    组成分母!
    visonnn
        196
    visonnn  
       2018-09-28 10:54:06 +08:00
    手动 :doge:
    ycnurld
        197
    ycnurld  
       2018-09-28 10:54:57 +08:00 via Android
    顺手评论一个,万一被最帅的你选中了呢!
    NickJ
        198
    NickJ  
       2018-09-28 10:56:40 +08:00
    想要+++
    Beckham
        199
    Beckham  
       2018-09-28 10:58:23 +08:00
    看看假期有没有机会充实自己
    lvchengchang
        200
    lvchengchang  
       2018-09-28 10:58:37 +08:00
    想要
    1  2  3  4  5  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2782 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 12:01 · PVG 20:01 · LAX 04:01 · JFK 07:01
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.