• 请不要在回答技术问题时复制粘贴 AI 生成的内容
sadhen
V2EX  ›  程序员

送出几本《Scala 实用指南》

  •  1
     
  •   sadhen ·
    darcy-shen · Sep 27, 2018 · 23755 views
    This topic created in 2958 days ago, the information mentioned may be changed or developed.

    异步社区传送门,有勘误,目前只有 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 就有鄙人的一点点微小的贡献,欢迎大家尝试。

    Supplement 1  ·  Sep 28, 2018
    有兴趣来杭州工作的同学,可以联系我 ( moc.ohoz TA nehdas ) 或者何品内推哦!

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

    鄙人在知乎刚开的一个专栏: https://zhuanlan.zhihu.com/scalastyle 欢迎大家关注投稿
    Supplement 2  ·  Oct 9, 2018
    恭喜 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 的一些异同点。
    Supplement 3  ·  Oct 9, 2018

    恭喜 @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 replies  •  2018-10-20 11:49:17 +08:00
    1  2  3  4  5  
    ❮ ❯
    llvb26
    llvb26
    Sep 28, 2018 via iPhone
    201
    支持一下 哈哈哈佛系心态
    ahuizzz
    ahuizzz
    Sep 28, 2018
    202
    分子++
    corningsun
    corningsun
    Sep 28, 2018
    203
    分母+1
    Sanko
    Sanko
    Sep 28, 2018 via Android
    204
    支持下
    hippoboy
    hippoboy
    Sep 28, 2018
    205
    试试看
    changhe626
    changhe626
    Sep 28, 2018
    206
    支持+1,我正在学习 scala
    beny2mor
    beny2mor
    Sep 28, 2018
    207
    之前写 spark 项目的时候用的模模糊糊的,
    想要
    lcx412
    lcx412
    Sep 28, 2018
    208
    我来当分子,正在学 Scala
    natforum
    natforum
    Sep 28, 2018
    209
    分母
    curran12
    curran12
    Sep 28, 2018
    210
    分母
    funky
    funky
    Sep 28, 2018
    211
    分母
    Wdj
    Wdj
    Sep 28, 2018
    212
    专业分母
    jonzhao
    jonzhao
    Sep 28, 2018
    213
    分母来了。。。。
    QiuMing
    QiuMing
    Sep 28, 2018
    214
    过来支持下
    chuhemiao
    chuhemiao
    Sep 28, 2018
    215
    date scala
    yamato
    yamato
    Sep 28, 2018 via Android
    216
    组成分母
    nvidia1314
    nvidia1314
    Sep 28, 2018 via iPhone
    217
    再抽一次奖!
    DrJoseph
    DrJoseph
    Sep 28, 2018
    218
    降低中奖率
    juyulin
    juyulin
    Sep 28, 2018
    219
    分母+1
    csfwff
    csfwff
    Sep 28, 2018
    220
    拉低中奖率
    magicsilence
    magicsilence
    Sep 28, 2018
    221
    支持一下
    Spider
    Spider
    Sep 28, 2018
    222
    Scala 的符号好像有点复杂~
    vvmint233
    vvmint233
    Sep 28, 2018
    223
    分母++
    zhanwh9
    zhanwh9
    Sep 28, 2018 via Android
    224
    我想用 Scala 写诗。
    ifconfig
    ifconfig
    Sep 28, 2018
    225
    谢谢老板
    shenw1990
    shenw1990
    Sep 28, 2018
    226
    我也可以中奖吗?只看过 scala for the impatient 的路过
    shell314
    shell314
    Sep 28, 2018 via Android
    227
    支持一波,
    Tyrande
    Tyrande
    Sep 28, 2018
    228
    if ....... else ........
    hdzsj2010
    hdzsj2010
    Sep 28, 2018 via iPhone
    229
    一直对响应式编程感兴趣,准备学习 Scala 与 akka
    sheep3
    sheep3
    Sep 28, 2018
    230
    scala 开发者!!支持一下~~
    zuston
    zuston
    Sep 28, 2018 via iPhone
    231
    支持
    limbo0
    limbo0
    Sep 28, 2018
    232
    分子
    chocotan
    chocotan
    Sep 28, 2018
    233
    已经有电子书了,抽中送别人
    sadhen
    sadhen
    OP
    Sep 28, 2018
    234
    @hdzsj2010 反应式
    sadhen
    sadhen
    OP
    Sep 28, 2018
    235
    @chocotan 大佬的 linux.com 邮箱是什么骚操作
    MrMario
    MrMario
    Sep 28, 2018
    236
    分母+1
    SFJ4MEGabMk2
    SFJ4MEGabMk2
    Sep 28, 2018
    237
    +1
    Linxing
    Linxing
    Sep 28, 2018
    238
    万一中了呢
    BQY2D0AgLxq4jzdr
    BQY2D0AgLxq4jzdr
    Sep 28, 2018
    239
    支持一下
    sadhen
    sadhen
    OP
    Sep 28, 2018
    240
    The Power of Static Typing:

    https://github.com/apache/spark/pull/22577

    本来这个 bug 是没有发现的,Scala 2.12.7 编译器做了优化之后,在编译器就发现错误了。大家有兴趣可以了解一下。
    sadhen
    sadhen
    OP
    Sep 28, 2018
    241
    编译期
    typetest
    typetest
    Sep 28, 2018
    242
    分母++
    qq1009479218
    qq1009479218
    Sep 28, 2018
    243
    拉低分母
    hackerang
    hackerang
    Sep 28, 2018
    244
    +1+1,经常看到楼主在 scala/cn community 里的发言
    bringyou
    bringyou
    Sep 28, 2018
    245
    支持一波。。另外二维码好像过期了
    sonkabin
    sonkabin
    Sep 28, 2018 via Android
    246
    分母+1
    hnyoumfk
    hnyoumfk
    Sep 28, 2018
    247
    日常分母
    paragon
    paragon
    Sep 28, 2018
    248
    分母++
    shuyu
    shuyu
    Sep 28, 2018
    249
    支持一波,scala 新手
    longzi
    longzi
    Sep 28, 2018
    250
    大佬大佬,支持下
    sadhen
    sadhen
    OP
    Sep 28, 2018
    251
    更新代码清单,没有见过比 @hepin1989 更勤快的

    https://github.com/ReactivePlatform/Pragmatic-Scala/commits/sbt
    Topmax
    Topmax
    Sep 28, 2018
    252
    分母+1
    Mrlgm
    Mrlgm
    Sep 28, 2018
    253
    分母+1
    yangehappy
    yangehappy
    Sep 28, 2018
    254
    分子 支持下
    qyzxgl
    qyzxgl
    Sep 28, 2018
    255
    😁
    wilsonmk
    wilsonmk
    Sep 28, 2018
    256
    参与一个,支持支持
    marssun
    marssun
    Sep 28, 2018
    257
    分母+1
    Wien
    Wien
    Sep 28, 2018
    258
    支持一波挖财
    valsdc
    valsdc
    Sep 28, 2018
    259
    支持一波,虽然暂时用不到。
    Beebird
    Beebird
    Sep 28, 2018
    260
    重在参与。。支持一下
    mztql
    mztql
    Sep 28, 2018 via iPhone
    261
    支持
    jjs4500
    jjs4500
    Sep 28, 2018
    262
    支持挖财。
    mandy0119
    mandy0119
    Sep 28, 2018
    263
    拉低中奖率,支持一下
    james
    james
    Sep 28, 2018
    264
    Scala 粉,看到冷清的国内社区难得有人这么积极贡献力量,非常开心。
    JackFlyD
    JackFlyD
    Sep 28, 2018
    265
    重在参与,分母+1
    Ryan817
    Ryan817
    Sep 28, 2018
    266
    永远的分母
    diggerdu
    diggerdu
    Sep 28, 2018
    267
    学习一个
    ml1344677
    ml1344677
    Sep 28, 2018
    268
    分母+1
    jqian
    jqian
    Sep 28, 2018
    269
    支持支持,因为线上系统用的 scala,而且 spark 里也能使,顺便学了一把 😄
    Akatsuki
    Akatsuki
    Sep 28, 2018
    270
    分子
    470326964
    470326964
    Sep 28, 2018
    271
    作为分母
    windvans
    windvans
    Sep 28, 2018
    272
    当一回分子
    nosay
    nosay
    Sep 28, 2018
    273
    拉低中奖率,支持一下
    sadhen
    sadhen
    OP
    Sep 28, 2018
    274
    @jqian 向大佬学习 博客很硬核 http://jqian.net/#myblog
    shoumu
    shoumu
    Sep 28, 2018
    275
    分母+1
    mianju
    mianju
    Sep 28, 2018
    276
    估计依旧不会中> <
    HidingKing
    HidingKing
    Sep 28, 2018
    277
    +1
    Mrkon
    Mrkon
    Sep 28, 2018
    278
    mark
    jmjc
    jmjc
    Sep 28, 2018
    279
    +2
    FreeBSD
    FreeBSD
    Sep 28, 2018
    280
    分母+1
    duobei
    duobei
    Sep 28, 2018
    281
    再来一次
    cashew
    cashew
    Sep 28, 2018
    282
    参与一下。
    GoForce5500
    GoForce5500
    Sep 28, 2018
    283
    建议把 Scala 用在生产环境的跟大家汇报一下主要目的?感觉在国内 Scala 相关书籍比公司用户数还多了。
    MisakaTang
    MisakaTang
    Sep 28, 2018
    284
    实力分母
    freewind
    freewind
    Sep 28, 2018
    285
    ++++1
    Shintaku
    Shintaku
    Sep 28, 2018 via Android
    286
    姿瓷
    sizyuu
    sizyuu
    Sep 28, 2018
    287
    支持!
    maemo
    maemo
    Sep 28, 2018
    288
    支持支持,之前有用过 Scala 来跑 e2e 测试
    sadhen
    sadhen
    OP
    Sep 28, 2018
    289
    @GoForce5500 此言差矣。即使排除 Spark,国内用 Scala 的公司还是有好多的。只不过很多项目是 Java 和 Scala 混血的,大家没有意识到而已。比如 腾讯的 Angel:

    https://github.com/Angel-ML/angel
    feihuxiongdi
    feihuxiongdi
    Sep 28, 2018
    290
    支持!
    colmoon
    colmoon
    Sep 28, 2018
    291
    顶!!!
    Reznik
    Reznik
    Sep 28, 2018
    292
    我来当分母,不知啥时候才有时间学 Scala
    sadhen
    sadhen
    OP
    Sep 28, 2018
    293
    @Reznik

    从单元测试开始,直接用。直接体验一下效率提升的感觉。

    不要学,要用。
    wanghuitrue
    wanghuitrue
    Sep 28, 2018
    294
    谢谢老板!!!!
    Ryoma
    Ryoma
    Sep 28, 2018
    295
    日常分子
    Mistwave
    Mistwave
    Sep 28, 2018 via iPhone
    296
    @sadhen 哈哈哈是了,看一本肯定是不够的。
    忙完了我发个邮件给 lz 先聊聊吧😂
    smallyin
    smallyin
    Sep 28, 2018
    297
    支持
    flybird1971
    flybird1971
    Sep 28, 2018
    298
    分子 还是 分母呢 ??
    tmxklzp
    tmxklzp
    Sep 28, 2018
    299
    分子++
    CodeDrift
    CodeDrift
    Sep 28, 2018
    300
    支持下
    1  2  3  4  5  
    ❮ ❯
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   4001 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 181ms · UTC 01:02 · PVG 09:02 · LAX 17:02 · JFK 20:02
    ♥ Do have faith in what you're doing.