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

《Netty 实战》即将上市了

  •  4
     
  •   hepin1989 · 2017-04-22 05:58:16 +08:00 · 10772 次点击
    这是一个创建于 2804 天前的主题,其中的信息可能已经有所发展或是发生改变。

    感想

    经历 2 个夏天 2 个冬天,然后又开始第 3 个夏天了, Netty In Action 这本书籍终于就要和大家见面了!

    昨晚熬夜到现在,刚刚把中文版的代码清单全部准备好,所以来这里和大家分享一下。

    Netty In Action 中文正版《Netty实战》的代码清单

    内容提要

    本书是为想要或者正在使用 Java 从事高性能网络编程的人而写的,循序渐进地介绍了 Netty 各个方面的内容。

    本书共分为 4 个部分:第一部分详细地介绍 Netty 的相关概念以及核心组件,第二部分介绍 自定义协议经常用到的编解码器,第三部分介绍 Netty 对于应用层高级协议的支持,会覆盖常见 的协议及其在实践中的应用,第四部分是几个案例研究。此外,附录部分还会简单地介绍 Maven , 以及如何通过使用 Maven 编译和运行本书中的示例。

    阅读本书不需要读者精通 Java 网络和并发编程。如果想要更加深入地理解本书背后的理念 以及 Netty 源码本身,可以系统地学习一下 Java 网络编程、 NIO 、并发和异步编程以及相关的 设计模式。

    说明

    这个仓库包含了 Netty In Action 这本书的中文版 Netty 实战 的代码清单. 为了更好地服务于读者,进行了如下方面的改进.

    相对于英文版本(2.0-SNAPSHOT 分支):

    • 更新了行文中的注释
    • 按照中文版本的排版进行了调整
    • 所有的代码清单以及跳转都使用了中文版书籍中的翻译

    反馈

    上游版本的更新,请直接将 PR 的目标调整为本仓库的 2.0.0-SNAPSHOT分支

    中文版本的更新,请将 PR 的目标调整为本仓库的 ChineseVersion 分支

    使用

    请直接克隆本项目即可,建议对照原文查看代码.

    第 1 条附言  ·  2017-04-22 13:57:56 +08:00
    我这里补充几点说明:

    1. 本书是 Manning 出版社,授权人民邮电出版社出版的简体中文版,中译本的名称叫做《 Netty 实战》,原文是《 Netty In Action 》,是由知晓 Netty 每个细节的,现在的 Netty 的 Tech Lead 编写的,当然我个人作为受委托翻译这本书,其实也是 Netty 、 Akka 的代码贡献者,所以不会坑大家的 ,这本书是中文唯一正版。

    2. 本书目前的流程是刚刚完成三校三审,下周( 4 月下旬)进行付印,付印后就会有定价,以及对应的,在异步社区上的预售页面,相对于其他渠道,稍微便宜一点儿,也能够早 1-2 周拿到实体书。

    3. 因为 Netty 5 的开发工作事实上已经关闭了,所以本书使用了最新的 Netty 4.1.9 进行翻译的,而对应的电子版本,也是基于 2017 年.1 月的版本,所以这本书并不会过时,反而是风华正茂。同时合并了国内外论坛上的勘误,以及一些和作者沟通之后的勘误。对于一些常见的或者难以理解的部分,也给出了恰到好处的译者注。

    4. 本书的编辑是大名鼎鼎的杨海玲老师,所以在她的辛勤帮助之下,本书的质量更上一层楼。

    5. 同时本书对应的代码清单,已经全部放置在了 Github 上,并且和书中的排版一一对照了。

    其中:

    https://github.com/ReactivePlatform/netty-in-action-cn/tree/2.0-SNAPSHOT 对应于本书英文版的排版。

    https://github.com/ReactivePlatform/netty-in-action-cn/tree/ChineseVersion 对应于本书中文版的排版,并且附带上了本书中文版的对于代码的行级别的注释说明。


    6. 最后感谢大家对于 Netty 社区以及,这本书的中文版本的支持,您所购买的每一本书,都会为本书英文版的作者,也就是 Norman 和 Marvin 送上我们中文社区的爱。当然最后也鼓励大家参与 Netty Akka 等这样的项目,让世界看到我们中文社区的力量。

    7. 最后是如果大家有什么疑问、或者本书中的一些勘误,欢迎大家在 Github 上的页面或者本书后面对应的异步社区页面联系到我,当然也包括 QQ 群。
    第 2 条附言  ·  2017-04-25 11:07:29 +08:00
    为了给大家带来更加良好的购买体验,出版社这边决定在京东上进行预售:)
    第 3 条附言  ·  2017-04-28 19:56:08 +08:00
    已经上架了,目前是预定状态:

    异步社区可以下载到样章: http://www.epubit.com.cn/book/details/4228

    京东目前是预定状态: https://item.jd.com/12070975.html

    如果大家有和代码清单相关的疑问,可以通过在异步社区或者 https://github.com/ReactivePlatform/netty-in-action-cn

    进行反馈,再次感谢各位的支持和理解:)
    第 4 条附言  ·  2017-05-04 16:08:24 +08:00
    异步社区优惠码,纸书全场 78 折,满 50 再减 5 元:

    epubit-QE7Y5
    第 5 条附言  ·  2017-05-14 23:41:44 +08:00
    [《 Netty IN ACTION 》中文版《 Netty 实战》签售]( https://www.v2ex.com/t/361282)
    81 条回复    2017-05-14 20:06:20 +08:00
    hepin1989
        1
    hepin1989  
    OP
       2017-04-22 06:02:42 +08:00
    代码库这些我都更新到了最新的了:)希望大家喜欢,共同进步!
    jinmingjian
        2
    jinmingjian  
       2017-04-22 07:14:27 +08:00   ❤️ 1
    大清早,赞,帮顶一个吧! Netty 和 Norman 还是不错的:)挺好,我也是该琢磨琢磨写本书:)
    YzSama
        3
    YzSama  
       2017-04-22 07:54:22 +08:00 via iPhone
    站里好多大神😱
    Cbdy
        4
    Cbdy  
       2017-04-22 08:02:31 +08:00 via Android   ❤️ 1
    名字撞车了吧,没看风面前我还纳闷。我之前看过一本一个华为的人写的 netty 实战。。

    spring boot 2 搞了个基于 netty 而不是 servlet 的框架,很像 vert.x ,看起来挺有意思
    misaka19000
        5
    misaka19000  
       2017-04-22 08:03:36 +08:00 via Android
    flamhaze5946
        6
    flamhaze5946  
       2017-04-22 08:18:12 +08:00
    赞一个, 期待上架~
    miao1007
        7
    miao1007  
       2017-04-22 09:03:12 +08:00 via Android
    电子书什么时候有
    SamDing
        8
    SamDing  
       2017-04-22 09:06:06 +08:00
    好巧,公司刚从 mina 转了 netty ,一定要看看了
    sagaxu
        9
    sagaxu  
       2017-04-22 09:10:27 +08:00 via Android
    已经转到 vertx 了
    vikeria
        10
    vikeria  
       2017-04-22 09:22:37 +08:00
    我记得有一本华为人写的 netty 权威指南 了吧,好像是基于 netty5.0 的,不过 netty 团队好像放弃 5.0 了?
    sorra
        11
    sorra  
       2017-04-22 09:26:20 +08:00
    Norman Maurer , Netty 核心开发者。近年看过 MEAP 版译本,是本好书👌
    ainimuyan
        12
    ainimuyan  
       2017-04-22 09:47:59 +08:00   ❤️ 1
    特地来顶一发,楼主做事严谨,技术过硬,这本书审校了无数次,值得拥有
    Duluku
        13
    Duluku  
       2017-04-22 10:08:26 +08:00 via iPhone
    坐等上架京东!
    jakes
        14
    jakes  
       2017-04-22 10:35:07 +08:00 via iPhone
    等上架就买
    blueswhisper
        15
    blueswhisper  
       2017-04-22 11:00:11 +08:00 via Android
    得到原作者授权了?
    Alexisused
        16
    Alexisused  
       2017-04-22 11:04:29 +08:00 via Android
    买买买,有优惠吗,😄
    yonka
        17
    yonka  
       2017-04-22 11:05:13 +08:00
    虎鸣大神 v5
    sheldoner
        18
    sheldoner  
       2017-04-22 11:07:21 +08:00
    火钳留名
    DeadLion
        19
    DeadLion  
       2017-04-22 12:22:00 +08:00
    hepin1989
        20
    hepin1989  
    OP
       2017-04-22 13:22:04 +08:00
    @jinmingjian 谢谢老大哥!
    hepin1989
        21
    hepin1989  
    OP
       2017-04-22 13:22:45 +08:00
    @YzSama 大家其实都是相互学习相互交流而已, V2EX 提供了一个非常好的交流平台,我也从社区学习到了很多。
    hepin1989
        22
    hepin1989  
    OP
       2017-04-22 13:24:07 +08:00
    @Cbdy 哈哈,没有哈,这本书的原文是《 Netty In Action 》,已经后的中文版叫做《 Netty 实战》,国内原创那本叫做《 Netty 权威指南》。
    hepin1989
        23
    hepin1989  
    OP
       2017-04-22 13:25:25 +08:00
    @miao1007 因为很多人准备买,所以这本书会首先在人民邮电出版社——异步社区进行预售,这样的话会比其他的渠道早 1-2 周拿到。电子版本在同步制作,不过建议买电子书和实体书的组合,这样电子书就只需要几块钱了。
    hepin1989
        24
    hepin1989  
    OP
       2017-04-22 13:27:49 +08:00
    @SamDing 嗯,我个人来说还是学到了不少的东西的,原来书中的错误我都尽量勘误了,这次翻译也尽量追求的是准确可信,希望能够帮到您。

    其中对应于书中的代码清单,我已经同时按照英文版和中文版排版好了,中文版带有对应的代码注释,您其实也可以直接向基于上面的那个代码清单进行初步了解了。
    hepin1989
        25
    hepin1989  
    OP
       2017-04-22 13:29:00 +08:00
    @sagaxu 不冲突的哈, Vert.x 下面还是基于 Netty 的 IO 和基于 EventLoop 的并发模型,虽然我现在几乎逻辑都用 Akka ,但是不排除 Vert.x 是个非常优秀的框架。
    hepin1989
        26
    hepin1989  
    OP
       2017-04-22 13:32:16 +08:00
    @vikeria 是的,这本书的质量我不做评价,不过作为国内第一本 Netty 书,其为社区还是做出了不小的贡献。 Netty 5.x 的开发的确是关闭了,这个问题我在《 Netty 实战》的译者注中对于`channelRead0`方法的说明中也有提及。所以《 Netty 实战》这本书就目前来说,依然是非常新的,一手信息。

    书中的错误,描述性的说明文字以及代码清单,都完全翻新到基于 Netty 4.1.x 了。其中和 4.0.x 的差异也会在译者注中提到,所有的一切都是为了,即使迟到了,依然得美好。
    landykingdom
        27
    landykingdom  
       2017-04-22 13:36:01 +08:00
    @hepin1989 Akka 有什么书推荐么,最近对它很感兴趣。
    hepin1989
        28
    hepin1989  
    OP
       2017-04-22 13:36:31 +08:00
    @sorra 这本书的中文翻译网上有,虽然侵犯了版权,但是在国内不可厚非,并且的确对技术起到了很好的推动作用,其中并发编程网的翻译就是很不错的。

    相比于这些未得到授权、但是有满腔的热血而进行的翻译,这次中文版的出版,相比之下还是有优点的:

    1. 完整的勘误、以及批注以及准确翻译
    2. 优秀地排版、并且经历了多人专业的技术校审
    3. 配套的源代码,并且源代码都带有中文注释
    4. 这次出版的版本基于的是今年 1 月份的电子版本进行排版的,并且合并了国内外论坛上的勘误

    所以说还是推荐购买的
    hepin1989
        29
    hepin1989  
    OP
       2017-04-22 13:37:12 +08:00
    @ainimuyan 哈哈,我也是为了情怀,希望可以和各位道友一同进步。
    hepin1989
        30
    hepin1989  
    OP
       2017-04-22 13:38:20 +08:00
    @Duluku 人民邮电出版社——异步社区会提前进行预售,因为如果走渠道的话,会稍微慢一点儿,价格也会稍微便宜一些。
    hepin1989
        31
    hepin1989  
    OP
       2017-04-22 13:40:12 +08:00
    @blueswhisper 是的, Norman 还说过来请喝啤酒呢,不过整体来说,国内多半都是出版社引进版权,然后再联系译者翻译的,我很有幸可以参与到这本书的的翻译中来。

    所以这本书,是官方中文正版的,并且我个人和 他们还是很熟悉的,所以质量请放心。
    hepin1989
        32
    hepin1989  
    OP
       2017-04-22 13:43:11 +08:00
    @landykingdom Akka 的书籍的话,如果您是入门,我建议官方文档就可以了,我的群里也有人在翻译文档。

    系统性的当然是最好看书了,比如 Akka in Action 和 Effective akka ,如果想要学习背后的原理,
    那么 《 Java 并发编程实战》, Erlang 和 OTP , Elixir 当然还包括优秀的 Golang 这些都得看下。

    如果您想要学习反应式编程背后的思想,那么可以看下《 Reactive Design Patterns 》,这本书的中文版本已经在引进过程中了。

    所以,主要是思维方式。
    hepin1989
        33
    hepin1989  
    OP
       2017-04-22 13:44:26 +08:00
    @Alexisused 如果在人民邮电异步社区购买是肯定有优惠的,而且还有世界读书日的活动。
    可以使用 S4XC5 订单金额 9 折
    hepin1989
        34
    hepin1989  
    OP
       2017-04-22 13:44:47 +08:00
    @yonka 我又暴露了。。。。
    hepin1989
        35
    hepin1989  
    OP
       2017-04-22 13:45:27 +08:00
    好的,楼上各位的问题我都几乎一一回答完了,希望可以和社区一起共同进步,一起成长:)
    landykingdom
        36
    landykingdom  
       2017-04-22 13:49:47 +08:00
    @hepin1989 谢谢分享。
    Cbdy
        37
    Cbdy  
       2017-04-22 13:57:22 +08:00 via Android
    @hepin1989 囧,抱歉,我确实是书名记错了
    hepin1989
        38
    hepin1989  
    OP
       2017-04-22 13:59:14 +08:00
    @Cbdy 没事,是这本书因为出来太晚了,我之前就很忙,到了阿里这边也忙,然后也尽善尽美,所以并没有 3-4 个月就和大家见面了,不过这本书可以预见的 2-3 年内,时效性还是很好的,希望可以帮助到您。
    v2orz
        39
    v2orz  
       2017-04-22 15:42:32 +08:00
    关注大神
    出来了一定要买一本
    xiezefan
        40
    xiezefan  
       2017-04-22 19:38:33 +08:00 via iPhone
    棒.....一定支持
    hepin1989
        41
    hepin1989  
    OP
       2017-04-22 19:44:16 +08:00
    @xiezefan @v2orz 相互学习!
    caliburn1994
        42
    caliburn1994  
       2017-04-22 19:54:49 +08:00
    ...感觉好多书都叫 <... in action>= =|||
    hepin1989
        43
    hepin1989  
    OP
       2017-04-22 22:03:53 +08:00
    @caliburn1994 您好, Manning 的这个书啊,是一个系列的,基本都是找的一线大牛来写的这个系列的书。所以您会发现中文名都是《 XXX 实战》呢。
    WeberXie
        44
    WeberXie  
       2017-04-22 22:35:45 +08:00
    @hepin1989 说了半天,购买链接咋没有呢?!
    SamDing
        45
    SamDing  
       2017-04-22 23:42:53 +08:00
    @hepin1989 已经 star 了,感谢翻译~
    ccqy66
        46
    ccqy66  
       2017-04-23 01:49:11 +08:00 via Android
    看你的头像我想我知道你是谁了。淘宝技术部。
    hepin1989
        47
    hepin1989  
    OP
       2017-04-23 02:39:28 +08:00
    @WeberXie 您好,本书因为 2 校的时候又发现了一些原书的错误,更改超过了万分之一,所以并没有省掉三校流程,比起预期的多了一周。目前三校已经完成了,下周会进行付印,因为出版社要根据付印的纸张来确定最后的定价,所以您下周就可以看到预售链接了。

    因为我反馈给编辑有几位朋友在问了,所以编辑特别申请了走预售,这样走人民邮电出版社的异步社区的话,会直接从他们的库房发货,所以按理说应该会比其他的渠道快 1-2 周的。

    本书中文版的代码清单已经补充了书中所有的代码注释和说明,所以您也可以先从代码清单提前看下的。
    hepin1989
        48
    hepin1989  
    OP
       2017-04-23 02:42:47 +08:00
    @SamDing 大家都是相互学习,恰好这一块儿我比较熟悉,所以就献丑了。

    不过本书的翻译我是采用的最新的,我们最后审校排版都是基于 2017 年 1 月的电子版,并且合并了国内外的勘误,以及修正了原书的一些错误,所以并不会比英文原版差太多哈:)。

    翻译的时间比较长,不过本书依然不过时哈,特别 Netty 5 的开发工作已经关闭了,本书中的代码也是基于 4.1.9 出版的,所以在目前还是算可以跟上时代的,希望可以和大家共同进步。
    hepin1989
        49
    hepin1989  
    OP
       2017-04-23 02:44:20 +08:00
    @ccqy66 好吧,我又在这里献丑了,不过大家一起进步,谢谢您的关注,目前 《 Android 并发》这本书也是我们这边的同事在翻译,还是我推荐的呢:)。
    Nbsaw
        50
    Nbsaw  
       2017-04-23 15:01:46 +08:00
    诶,是 Spring 源码深度解析那本书的作者吗..
    Nbsaw
        51
    Nbsaw  
       2017-04-23 15:03:50 +08:00
    不好意思 认错了 2333...
    xianyijun
        52
    xianyijun  
       2017-04-23 15:30:45 +08:00
    支持,虽然已经看过原版。不过相信两书结合一起看会更有收获。
    多谢楼主分享,坐等上架。
    yang2yang
        53
    yang2yang  
       2017-04-23 16:39:26 +08:00
    支持一下
    hepin1989
        54
    hepin1989  
    OP
       2017-04-23 16:47:59 +08:00
    @xianyijun 嗯,中文版也不是简单滴机械地翻译哈,读书百遍其义自见,对吧:)
    hepin1989
        55
    hepin1989  
    OP
       2017-04-23 16:51:08 +08:00
    @yang2yang 感谢,一起进步。
    hepin1989
        56
    hepin1989  
    OP
       2017-04-23 16:51:56 +08:00
    @Nbsaw 哈哈,其实我对 Spring 不是特别熟悉呢,只是能用,不过国内著书和翻译,只要不是草草的,都是情怀。
    deweixu
        57
    deweixu  
       2017-04-24 09:17:14 +08:00
    最近在学 netty 看的是这个 https://waylau.gitbooks.io/essential-netty-in-action/content/
    gitbooks 上是你翻译的吗? 另外问一下有电子版吗?
    hepin1989
        58
    hepin1989  
    OP
       2017-04-24 11:35:04 +08:00
    @deweixu 当然不是了,我姓何,当前我翻译的这个是人民邮电出版社的,有正版授权的话肯定不能在网上公开的,这位作者的热情是很值得肯定的,可是做法欠妥。

    我已经给他提了 issue ,希望可以尊重版权:

    https://github.com/waylau/essential-netty-in-action/issues/22
    hepin1989
        59
    hepin1989  
    OP
       2017-04-24 11:38:18 +08:00
    @deweixu 人民邮电出版社这次会电子版和纸质书几乎同步发行的,所以放心好了,上面这个人基于的是去年 MEAP 10 翻译的,也就是说其实也是盗版,并没有购买书的。
    deweixu
        60
    deweixu  
       2017-04-24 12:33:33 +08:00
    @hepin1989 好的,谢谢,到时候发购买链接
    hepin1989
        61
    hepin1989  
    OP
       2017-04-24 13:12:00 +08:00
    @deweixu 嗯,当有预售连接了我会更新的:)
    lshoo
        62
    lshoo  
       2017-04-24 13:37:20 +08:00
    好书啊,加上译者更是技术大牛,为给 netty 和 akka 贡献代码的专家。
    justlikemaki
        63
    justlikemaki  
       2017-04-24 16:32:49 +08:00
    刚买了 netty 权威指南
    hepin1989
        64
    hepin1989  
    OP
       2017-04-24 17:20:41 +08:00
    @lshoo 虎哥!您这个。。。
    hepin1989
        65
    hepin1989  
    OP
       2017-04-24 17:21:25 +08:00
    @justlikemaki 哈哈,这本书应该会更加便宜点,毕竟薄一些:)不过两本都买,对照着看,然后您就是 Netty 大牛了。
    cjuexuan
        66
    cjuexuan  
       2017-04-24 21:51:03 +08:00
    赞:)
    phx13ye
        67
    phx13ye  
       2017-04-24 23:46:38 +08:00
    为啥 netty5 关闭了,我记得当时开发者还打算 jdk8 的
    hepin1989
        68
    hepin1989  
    OP
       2017-04-25 00:18:28 +08:00
    @phx13ye 具体的原因您可以去搜索下 PR ,里面有说明的,还有很多有价值的讨论,这个就和 AIO 一直没有 merge 进去一样。目前已经是需要 Java8 才可以编译了。
    Guiyanakuang
        69
    Guiyanakuang  
       2017-04-25 12:58:07 +08:00
    @hepin1989 给个预算链接哇
    Michaelssss
        70
    Michaelssss  
       2017-04-27 14:43:04 +08:00
    摸一下,我要入手
    deweixu
        71
    deweixu  
       2017-04-28 09:50:45 +08:00
    28 号了,还没预售链接
    jakes
        72
    jakes  
       2017-04-28 13:54:12 +08:00
    什么时候京东自营可以有啊?
    anthow
        73
    anthow  
       2017-04-28 17:48:39 +08:00
    @vikeria 李林峰的,看了一下,不想吐槽。昨天还看在微博上看到有人喷 手动滑稽
    hepin1989
        74
    hepin1989  
    OP
       2017-04-28 19:58:35 +08:00
    @deweixu
    @Guiyanakuang

    @Michaelssss
    @jakes

    预售链接已经出来了,估计 12 日,各位应该就可以拿到书了,目前可以下载 1-2 章的样章,期待大家的反馈。

    @anthow 作为译者不好评论原创作品,不过作为第一本 Netty 书对于 Netty 中文社区还是有很大的贡献的。
    hepin1989
        75
    hepin1989  
    OP
       2017-04-28 19:59:09 +08:00
    @anthow 应该是第一本中文的 Netty 书,因为 Netty In Action 的编写时间实际要早点儿。
    deweixu
        76
    deweixu  
       2017-05-02 11:30:48 +08:00
    @hepin1989 等电子版
    hepin1989
        77
    hepin1989  
    OP
       2017-05-02 17:43:26 +08:00
    @deweixu 人民邮电出版社的电子版正在制作过程中,主要是 Epub 和 mobi 格式的需要重新处理和排版。如果是购买纸书的话,再次购买电子书可以打折,如果是组合购买会很便宜的,才一两块钱。
    NUT
        78
    NUT  
       2017-05-04 13:46:46 +08:00
    @hepin1989 感谢楼主的优惠码,已经购买了~
    hepin1989
        79
    hepin1989  
    OP
       2017-05-04 16:08:44 +08:00
    @NUT 一起加油!
    hantsy
        80
    hantsy  
       2017-05-11 18:44:11 +08:00   ❤️ 1
    @Cbdy Netty 和 Servlet 没半毛钱关系。

    Spring 5 在 Web 中添加了 WebFlux 模块, 与 Reactive Streams 标准对齐, 目前支持自家的 Reactor 和著名的 RxJava。也就是到了 Spring 5, 加上 Spring Data 的 Reactive 支持,Spring 编程模型会有一次全新的刷新。

    Netty 成为 Servlet 标准以外的一种运行方案。
    hepin1989
        81
    hepin1989  
    OP
       2017-05-14 20:06:20 +08:00
    @hantsy 这个回答够专业!
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3809 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 38ms · UTC 00:54 · PVG 08:54 · LAX 16:54 · JFK 19:54
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.