让我们把时间调回到2003年6月。那一年,承载着“传统J2EE寒冬之后的崭新起点”美好愿景的Spring项目开始立项,并以1.0版本进行推进。

时光荏苒,从Spring Framework 1.0发展到现在的Spring Framework 5.0,Spring早已从当初Java企业级开发领域的挑战者、颠覆者,变成了标准的制定者,成为Java企业级开发事实上的标准开发框架。

经过十多年的发展,Spring家族现在已枝繁叶茂,涵盖J2EE开发、依赖维护、安全、批处理、统一数据库访问、大数据、消息处理、移动开发以及微服务等众多领域。

在Spring家族的诸多项目里面,最耀眼的项目莫过于Spring Framework、Spring Boot和Spring Cloud。Spring Framework就像是Spring家族的树根,是Spring得以在Java开发领域屹立不倒的根本原因,它的目标就是帮助开发人员开发出好的系统。

Spring Boot就像是树干,它的目标是简化新Spring应用的初始搭建以及开发过程,致力于在蓬勃发展的快速应用开发领域成为领导者;Spring Cloud就如同是Spring这棵参天大树在微服务开发领域所结出的硕果。

《Spring微服务实战》译者陈文辉老师说:我第一次接触Spring Cloud,是由于我所负责的一个项目需要从典型的单体应用架构重构成微服务架构,而当时部门主管选定的技术方案就是Spring Cloud。从那时起,我才真正开始深入了解Spring Cloud。当时,Spring Cloud算是比较新的技术,国内有关Spring Cloud和微服务方面的优秀技术书籍凤毛麟角,我只能选择参阅Spring的官方文档以及国外的一些技术博客。当时Manning出版社尚未出版的Spring Microservices in Action走入了我的视野。通读完这本书的早期预览版之后,我认为它是目前市面上将微服务和Spring Cloud结合介绍得最好的技术书籍,于是我便毛遂自荐,向人民邮电出版社的杨海玲编辑表达了希望成为这本书的中文译者的意愿。不久之后,她回复了我,请我担任这本书的译者,我欣然答应,从此开启了披星戴月的翻译日子。虽然翻译本书花费了我大量的业余时间,但我也在这个过程中学到了许多。”

今天我们有幸邀请到了陈文辉老师,来听听他的所思所想。

1. 异步社区:文辉老师您好!异步社区的读者都知道您是《Spring微服务实战》一书的译者,但为了让更多的人了解您,请您简单介绍一下自己? 

 陈文辉 :大家好,我叫陈文辉,是一名软件工程师,现就职于广东省聚盟汇文化传播有限公司。我平时工作之余喜欢逛逛Github,翻译一些英文资料。我是一名典型的宅男,但我每周都会出去打打羽毛球或是篮球。

我是一个遵循自己内心,喜欢挑战自己的人,所以尽管我已经出来工作一段时间了,但为了圆小时候的梦想,我还是买了一部电钢琴,然后请老师上课学习钢琴。总而言之,我是一名爱好广泛的IT男。

2. 异步社区:您觉得微服务架构的优势是什么?适合什么类型的项目?您自己在项目中也使用微服务架构吗? 

 陈文辉 :微服务架构的优势有许多,但我认为最大的优势是,微服务架构将应用程序逻辑分解为具有明确职责范围的细粒度组件,这些组件相互独立,这个特性使得各个微服务可以由小型开发团队按照自己的需求,选择不同的编程语言和技术进行独立开发、测试和部署,从而让交付变得更加迅速,也带来更加灵活的水平可伸缩性。

我自己在项目中使用过微服务架构,但我希望大家了解一点,那就是微服务架构并不是软件架构中的银弹,它适合于需要构建高度弹性和可伸缩性的大型应用程序,而对于那些具有少量用户群的应用程序,采用微服务架构可能会得不偿失。

3. 异步社区:听说您在未联系出版社之前就已经自行把《Spring微服务实战》这本书基本翻译完了,是什么给了您这么大的动力呢?您翻译这本书的初衷是什么呢?

 陈文辉 :当时我们技术部的老大决定采用Spring Cloud去重构原有的单体架构的项目,而在当时,微服务的概念方兴未艾,Spring Cloud则是Spring家族里面孕育出的新生儿,正茁壮成长着,彼时国内讲述微服务与Spring Cloud的中文资料很少,所以我不得不求助于国外有关微服务和Spring Cloud的英语资料。

在这查阅国外资料的过程中,我偶然间发现了Spring Microservices In Action,当时这本书处于创作快要完结的阶段,在试阅了部分章节之后,我认为这本书在讲述微服务概念与设计原则以及Spring Cloud技术方面相当不错,是一本不可多得的技术书籍,考虑到当时国内在这方面的中文资料很少,我决定自行翻译这本书,为IT技术圈做点贡献。

4. 异步社区:翻译过程中,您是如何平衡日常工作和翻译工作的呢?有什么时间管理和提高效率的方法或诀窍吗?您认为软件开发人员如何才能“挤”出时间来提升自己或在技术上提升自己?

 陈文辉 :我不算是一个非常高效率的人(笑),如果非要我说什么时间管理和提高效率的方法的话,对于我自己,那就是每天定下最低的完成目标,然后每天至少完成这最低目标,偶尔碰上状态爆棚,那就超量完成。

另外,我认为分配出一个完整的“时间块”出来相当重要,在这个“时间块”内就专心完成某一件事,切不可一心二用,像做一下日常工作然后又完成一些翻译工作。因为对于我这种“单核”生物来讲,这种上下文切换相当耗时,每次切换做别的不同的工作,我都要耗费一定的时间去重新熟悉与适应,所以我尽量保证自己有一个半小时以上的时间专心只做一件事,总之,工作要有连续性。

我觉得软件开发人员要学会“偷懒”,这种“偷懒”不是我们口中的那种偷懒,而是自己要有意识甄别出日常工作中哪些工作是简单的机械重复,哪一类工作是很类似并又经常重复的,这些冗余工作完全是可以消除的,那么我们可以寻找一些小工具或者自己开发一些小工具去完成这些工作,总之就是在工作中找出不必要的耗时部分,然后想方设法地去“偷懒”,这样工作效率提高了,自然有时间去学习新的知识。

 5. 异步社区:通过翻译和阅读《Spring微服务实战》这本书,您最大的收获是什么?这本书对您工作有哪些帮助和促进作用吗?

陈文辉 :那应该是构建基于微服务的应用程序的设计考虑因素。在使用Spring Cloud开发项目时,我会根据这些设计考虑因素,再权衡实际环境去设计和开发,从而让项目架构更加完善,这让我少走许多弯路。

6. 异步社区:您推荐哪些读者看这本书?如何看才能够提升阅读效率? 

陈文辉 :想要学习如何构建基于微服务的应用程序的Java开发者都应该看这本书。在阅读这本书时,最好是与本书的配套源码一起配合使用。在阅读有关理论方面的文字时,要多思考这样对不对以及为什么要这么做。

阅读完每一章之后,要思考本章最终完成的项目代码比上一章多了些什么内容,做了哪些提升。通过这样,阅读完这本书就能汲取这本书的精华,而不会阅后即忘。

7. 异步社区:您在工作中遇到过棘手的问题一般如何解决?

陈文辉 :我首先会回忆一下之前是否解决过类似的棘手问题或者在积累的笔记中是否有相应的解决方案。如果有,那就根据实际情况套用这些解决方案。

如果没有,那么我会查阅资料,看看有没有人遇到过这个棘手的问题,看看他们的解决方案是怎样的,或者有没有现成的工具能帮忙解决这个棘手问题,实在没有的话,我会和认识的技术小伙伴仔细讨论,然后自己撸起袖子加油干。在完成这个棘手问题之后,抽空写一篇笔记去记录这个棘手问题的解决过程。

8. 异步社区:在您眼中,一个优秀的程序员应该具备哪些技能和修养?

陈文辉 :1. 归纳与总结:沉淀后的知识才是牢固的知识;

2. 不断学习,自我提升:N年开发经验不是指一年开发经验用N年;

3. 优秀的抽象能力:能快速抽象出问题与解决方案的本质;

4. 良好的英语阅读能力:很多一些新技术的资料总是以英文文档的方式存在,中文资料总是有滞后性,对于想要了解和学习新技术的程序员来说,英语阅读能力还是挺重要的。

9. 异步社区:您平时通过哪些途径进行学习和提高技术能力的?对于刚刚入门的新人,有什么建议和经验分享?

陈文辉 :多看优秀博客+多逛GitHub+多写笔记(博客)去总结。对于刚刚入门新人,尽管学习一些新技术很重要,我觉得还是首先要练好基本功,而不是做一名“喜鹊型开发者”,只会追捧新技术,获取使用新技术的片刻快感,最终导致自己并没有沉淀出什么东西。

​《Spring微服务实战》

[美]约翰•卡内尔(John Carnel 著、

本书以一个实际项目为主线,介绍云、微服务等概念以及Spring Boot和Spring Cloud等诸多Spring项目,并介绍如何将该项目一步一步地从单体架构重构成微服务架构,最终将这个项目拆分成众多微服务,让它们运行在各自的Docker容器中,实现持续集成/持续部署,并最终自动部署到云环境(亚马逊云)中。

专访陈文辉:新技术很重要,但是首先要练好基本功相关推荐

  1. 专访小鱼易连CEO袁文辉:软件算法是我们的核心竞争力

    8月2日,小鱼易连在北京饭店召开新品发布会,正式发布了新一代个人桌面视频会议智能终端小鱼NE60和NE80,会议室视频会议设备中鱼ME40和ME60,以及大型会场设备大鱼ME90,此外还有专门搭配平板 ...

  2. 专访|袁文辉:小鱼掌握云视讯发动机核心技术 驱动人务联网实现四化

    人工智能.智能机器人和物联网是移动互联网之后发展的重要领域,未来,更多的人们将享受到由科技创新带来的幸福与快乐.小鱼儿科技拥有来自微软.宝利通.LG等世界500强的创业团队和行业领先的视频技术产品,有 ...

  3. 陈大年:免费很贵创新很累 我如何做WiFi万能钥匙

    陈大年:免费很贵创新很累 我如何做WiFi万能钥匙 责任编辑:editor004 作者:陈大年 |  2016-10-11 11:22:38 本文摘自:创事记 欢迎关注"创事记"的 ...

  4. 专访阿里陶辉:大规模分布式系统、高性能服务器设计经验分享

    专访阿里陶辉:大规模分布式系统.高性能服务器设计经验分享 发表于2014-06-27 16:25|18197次阅读| 来源CSDN|55 条评论| 作者魏伟 云计算Nginx开源 摘要:先后就职于在国 ...

  5. 旷视科技为何战略投资Video++?版图扩展打造AI+IoT 闭环 | 专访唐文斌

    "AI+文娱",是一个千亿级的新兴市场,承载着新的广告.电商.互动娱乐等业务. 新智元获悉,极链科技Video++于近日完成由阿里巴巴.云锋基金.Face++旷视科技领投,国投.头 ...

  6. DNSPod十问董文辉:我们为什么要拥抱云原生安全?

    董文辉,腾讯安全副总经理,2011年加入腾讯,经历了从0到1的云原生安全体系构建,专注于打造IaaS/PaaS层的多重安全防线,曾获腾讯业务突破奖.卓越运营奖:积极推动前沿安全理念落地,产品累计获得F ...

  7. “燕云十六将”之陈丽辉(11)

    上周写了<"燕云十六将"之Rose金巍巍(10)>,本周说的是负责内容的陈丽辉. 2008年5月16日,我写了篇网上答疑叫<程序员是应该干工作?还是干自己有兴趣的 ...

  8. 陈文自媒体:社交淘客,直播卖货赚大钱来了!

    大家好,我是陈老师,粉象淘客分享第一人,这是我101篇创业日记. 五天前,资深老男人罗永浩开始宣布进军直播行业,当时我还不怎么相信,后来跑到他的微博上看看,确实又这个事情. 我不认识老罗,不过是他的铁 ...

  9. 区块链游戏是一个万亿级市场,真正爆发还需7年| 专访陈昊芝(下)

    今天我们面临的问题,不是什么游戏适合用区块链改造的问题,而是什么游戏在目前阶段场景比较合适的问题.理论上所有的游戏都可以应用区块链技术去改造,或者说重新设计.其中有丰富道具玩法的游戏可能更适合这样操作 ...

最新文章

  1. creo JAVA_Creo 4.0二次开发工具框架搭建
  2. POJ 1260 Pearls
  3. Linux驱动入门篇(一):Hello, world
  4. 【PAT】A1053 Path of Equal Weight
  5. 从PHP5到PHP7自我封装MongoDB以及平滑升级
  6. 用普罗米修斯和格拉法纳乐器来刺豪猪
  7. [分块][离散化] Bzoj P2724 蒲公英
  8. 最快的滚屏截图软件--SpaceCapture
  9. STM32+W5500网络通信
  10. 【Makefile】简单的Makefile编写
  11. 看单片机原理图-电源电路
  12. yarn : 无法加载文件 C:\Users\wangxin67\AppData\Roaming\npm\yarn.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/go.mic
  13. 程序员的自我修养 - 读书笔记文字版
  14. HostDeny解除封禁IP
  15. Excel批量导出当前工作表所有图片的快捷操作
  16. Android音乐播放器制作(一)扫描本地音乐显示在手机上
  17. C#中,System.ComponentModel.Container详解
  18. Java中如何使用“点”分割字符串呢?
  19. 2015多校第9场 HDU 5405 Sometimes Naive 树链剖分
  20. How To Insult Your Enemies

热门文章

  1. Python编程简单的10个入门案例
  2. sublime text 4 4126 注册 激活
  3. 计算机中绝对值用哪个函数,Excel中的绝对值函数具体该如何使用呢?
  4. Photoshop初学者教程:解析色彩平衡原理
  5. python基础学习七:字符串操作
  6. 名词解释第三十一讲:市值
  7. java编写的打印标签图片文档的软件
  8. java处理异步非阻塞请求_Spring WebFlux 的异步非阻塞处理
  9. 苹果xr一直在白苹果_苹果watcyouve一直戴错了苹果手表
  10. JS判断字符串是否全为中文