1 请和大家介绍下您及所从事的工作。

我目前在苏州唐人数码工作,是一家本地的网络游戏公司,主要经营棋牌游戏,最近自主研发了一款3D的网路游戏——争渡三国,我在公司负责游戏平台工作,对公司自营的游戏以及联运游戏提供Web支持,比如用户登录,游戏充值,平台接口服务等。

2 为什么会想到写这样一本书?

自从Node.js问世以来,它的发展速度相当迅猛,最早只有英文资料可以学习,现在中文的书籍也慢慢多了起来,但是这些学习教材绝大部分都是从基础的安装,hello world开始,然后进行对Node.js各种核心库的介绍,最后分享一两个小实例这一种模式。我们发现很多读者已经对Node.js的基础和核心库很熟悉了,迫切需要实际的项目案例来进一步学习,所以我们几个作者就商量联合起来写了这么一本不讲基础,只有实战的《Node.js实战》书籍,希望能填补Node.js中文资料的这一空缺,同时也满足一些Node.js爱好者用实际项目来学习的需求。

3  很多读者反映这本书技术写得比较扎实,这在一定程度反映了您的技术功底,不知道您是如何一路到今天的?其中有什么印象特别深刻的事情分享一下吗?

技术功底说来也惭愧,我并不是什么大师,只不过将自己在这些年所遇到的,和自己知道的全盘奉献给读者,Node.js之所以发展这么快,很大程度上也归功于它是开源的,它的一切都是开源的,分享自己的成果,如果能得到别人的肯定那是非常欣慰的一件事情。

每个人都是从菜鸟一路走到老鸟的,记得刚毕业那会,被一家游戏公司招去做Web开发,参与了几个失败的项目后,就被主管直接训斥,说我绝对不适合写PHP,太没天赋了。也是那时开始,心里暗暗下定决心,既然选择了互联网这个行业就一定不能被淘汰,然后毅然放弃了玩了5年的魔兽世界,开始恶补各种互联网技术知识,学会了利用Google来自己学习的能力。

4  你对这个行业有没有什么感想和大家分享一下?

我先后在纯互联网和网络游戏公司呆过,对这个行业的第一个感想就是知识更新非常快,只要哪怕一个月不去关注一些新的事物,就会感觉被这个行业所淘汰了,所以生存压力非常大;第二个感想就是这个行业非常好玩,各种创新,各种想法都能够表现在里面,所以每天上班并不枯燥;第三个感想就是加班比较多,因为项目的进度都卡的很紧,所以做这行业加班是常事,这个估计每个互联网从业人员都有切身的体会。

5  技术写作是吃苦不讨好的事,你写作中最大的动力是什么?写作中能够获得什么?

其实之前也没出过书,只是将自己这么几年工作遇到的一些积累写进自己的技术博客,我们几个出这本书的目的并不是为了盈利,只是将自己积累的这些知识经过汇总和加工,成为《Node.js实战》的几个章节,所以我也没觉得是吃力不讨好。

当然写书和写自己的博客还是有不少区别,自己的博客有些如果写错或者不妥当的地方都是没关系的,但是写书就会存在误人子弟的问题了。经过了出版一本书的过程,感觉自己之前掌握的知识更加扎实,今后对人对事也更加严谨和稳重。

6 讲讲你在写作中发生的好玩的或者感人的让你印象很深刻的事吧?

之前我发布了一个加速Node.js处理http静态文件的包,包名为"ifile",在我实际压力测试的结果也令人满意,提升了原来"express"框架处理小静态文件50%的性能,同时公司的几个项目也将此包投入生产,稳定性也有了一定的检验。于是我在写第7章时,将我的测试报告以及"ifile"包的开源地址贴到了"express"官方的谷歌论坛里,没想到"express"的作者TJ很快就回复了,他告诉我不要过分的追求性能,只有项目整体的开发效率提升才是关键。这件事情令我印象很深,首先当然是非常高兴业内名人TJ能够回复我的帖子,第二也从心底同意TJ的观点,衡量一个项目或者一个框架的标准,性能只是其一,更重要的是开发效率以及稳定性。

7 你认为自己写的这本书有哪些优点和缺点?

本书的优点有很多,第一本纯粹讲解Node.js项目实战代码的中文书籍;本书的实例涵盖了各种数据库,从Mongodb、Redis到MySQL ,关系型、非关系型都有实战介绍;本书还详细介绍了Node.js用来做爬虫的实例,对喜欢网上"偷"东西的朋友特别有用;还有单独用一整个章节来讲解针对Node.js的web安全开发知识等,可谓涉及知识面非常之广。

因为Node.js不仅仅可以运用在互联网领域,包括客户端,CLI工具,嵌入式开发等其他领域,Node.js也开始崭露头角,所以本书没有涵盖那些方面是比较遗憾的,希望第二版能加入这些内容。

8  对你的读者说点什么吧?或者你最希望通过这本书读者能收获些什么?

必须感谢读者选择我们的书籍,能获得读者们的肯定,我们几个作者都非常高兴,觉得共同做了一件对Node.js在国内的发展非常有意义的事情。如果读者没有任何Node.js基础,希望能够先将基础知识学好再来阅读本书,然后可以边读边实践,通过实例代码,读者可以学习到很多开发Node.js应用的技巧。我们的代码在Github都有下载,同时也有QQ交流群156627943和本书官网http://nodejs.ucdok.com/可以供读者反馈问题,衷心感谢读者们对我们的支持。

《Node.js实战(双色)》作者之一——吴中骅访谈录的更多相关文章

  1. iKcamp团队制作|基于Koa2搭建Node.js实战项目教学(含视频)☞ 环境准备

    安装搭建项目的开发环境 视频地址:https://www.cctalk.com/v/15114357764004 文章 Koa 起手 - 环境准备 由于 koa2 已经开始使用 async/await ...

  2. Node.js实战(二)之HelloWorld示例

    经过前面的Node.js实战(一)之概述 想必你应该对Node.js的概念.应用场景.优缺点等有个大致的了解,同时你本地Windows或者Linux上已经准备好了Node.js环境. 下面我们来进入每 ...

  3. iKcamp|基于Koa2搭建Node.js实战(含视频)☞ 错误处理

    沪江CCtalk视频地址:https://www.cctalk.com/v/15114923887518 处理错误请求 爱能遮掩一切过错. 当我们在访问一个站点的时候,如果访问的地址不存在(404), ...

  4. iKcamp|基于Koa2搭建Node.js实战(含视频)☞ 记录日志

    沪江CCtalk视频地址:https://www.cctalk.com/v/15114923883523 log 日志中间件 最困难的事情就是认识自己. 在一个真实的项目中,开发只是整个投入的一小部分 ...

  5. iKcamp|基于Koa2搭建Node.js实战(含视频)☞ 解析JSON

    视频地址:https://www.cctalk.com/v/15114923886141 JSON 数据 我颠倒了整个世界,只为摆正你的倒影. 前面的文章中,我们已经完成了项目中常见的问题,比如 路由 ...

  6. iKcamp|基于Koa2搭建Node.js实战(含视频)☞ 处理静态资源

    视频地址:https://www.cctalk.com/v/15114923882788 处理静态资源 无非花开花落,静静. 指定静态资源目录 这里我们使用第三方中间件: koa-static 安装并 ...

  7. iKcamp|基于Koa2搭建Node.js实战(含视频)☞ 视图Nunjucks

    视频地址:https://www.cctalk.com/v/15114923888328 视图 Nunjucks 彩虹是上帝和人类立的约,上帝不会再用洪水灭人. 客户端和服务端之间相互通信,传递的数据 ...

  8. iKcamp|基于Koa2搭建Node.js实战(含视频)☞ 代码分层

    视频地址:https://www.cctalk.com/v/15114923889408 文章 在前面几节中,我们已经实现了项目中的几个常见操作:启动服务器.路由中间件.Get 和 Post 形式的请 ...

  9. Node.js 实战 & 最佳 Express 项目架构

    Node.js 实战 & 最佳 Express 项目架构 Express Koa refs https://github.com/xgqfrms/learn-node.js-by-practi ...

随机推荐

  1. Linux 将文件夹下的所有文件复制到另一个文件里

    如何将文件夹/home/work下的文件复制到/home/temp里面? 使用命令: cp -R /home/work/* /home/temp *表示所有文件 但是/home/work 下的隐藏文件 ...

  2. CSS clear清除浮动

    1.CSS中的clear有四个参数: none:允许两边都可以浮动. left:不允许左边有浮动. right:不允许右边有浮动. both(默认):不允许有浮动. 2.一开始在CSS中clear浮动 ...

  3. Android Sqlite数据库相关——实现 Sqlite 数据库版本升级

    继承SQLiteOpenHelper类后,实现其中的onUpgrade 方法 @Override public void onUpgrade(SQLiteDatabase db, int oldVer ...

  4. flask_分页

    一.提交博客文章 1.定义一个单字段的表单对象(form.py) class PostForm(Form): post = StringField('post', validators=[DataRe ...

  5. Java学习笔记 03 数组

    一.数组的创建和使用 数组的创建和使用 >>创建方法1:先声明,再用new关键字分配内存(使用new关键字分配内存,整形数组中各个元素的初始值都为0) String str[]; str= ...

  6. 浅析JVM内存结构和6大区域(转)举例非常好

    内存作为系统中重要的资源,对于系统稳定运行和高效运行起到了关键的作用,Java和C之类的语言不同,不需要开发人员来分配内存和回收内存,而是由JVM来管理对象内存的分配以及对象内存的回收(又称为垃圾回收 ...

  7. android ontouch事件分发机制

    最近开发一个项目中,banner图左右切换和下拉刷新手势有冲突,为此去研究了事件分发,网上资料一大抄,有些讲的不对有些讲的不全,结合了网上一些博文以及源码总结如下  一个完整的触摸事件包含down,m ...

  8. 更改Xampp-sql的默认密码-配置appche运行环境

    用php编写的web应用程序,需运行在php的web容器中,其中apache server是一个针对php web容器,它是apache下的开源项目.通常要运行一个web程序,我们还需要安装数据库软件 ...

  9. boost的编译

    第1步: 先从官网(www.boost.org)下载最新版的BOOST源码,如图所示 我这里下的是zip的那个第2步:编译源代码(放心.这里是傻瓜式的操作,很容易操作)(1)先把源代码放在E盘,例如 ...

  10. rabbitmq集群安装

        在配置文件中配置集群没有成功,但是使用命令行成功了,以下是过程请参考.     场景:两台机器,一台是10.1.3.95 hostname为mq1,一台是10.1.3.96 hostname为 ...