《Node.js实战(双色)》作者之一——吴中骅访谈录
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实战(双色)》作者之一——吴中骅访谈录的更多相关文章
- iKcamp团队制作|基于Koa2搭建Node.js实战项目教学(含视频)☞ 环境准备
安装搭建项目的开发环境 视频地址:https://www.cctalk.com/v/15114357764004 文章 Koa 起手 - 环境准备 由于 koa2 已经开始使用 async/await ...
- Node.js实战(二)之HelloWorld示例
经过前面的Node.js实战(一)之概述 想必你应该对Node.js的概念.应用场景.优缺点等有个大致的了解,同时你本地Windows或者Linux上已经准备好了Node.js环境. 下面我们来进入每 ...
- iKcamp|基于Koa2搭建Node.js实战(含视频)☞ 错误处理
沪江CCtalk视频地址:https://www.cctalk.com/v/15114923887518 处理错误请求 爱能遮掩一切过错. 当我们在访问一个站点的时候,如果访问的地址不存在(404), ...
- iKcamp|基于Koa2搭建Node.js实战(含视频)☞ 记录日志
沪江CCtalk视频地址:https://www.cctalk.com/v/15114923883523 log 日志中间件 最困难的事情就是认识自己. 在一个真实的项目中,开发只是整个投入的一小部分 ...
- iKcamp|基于Koa2搭建Node.js实战(含视频)☞ 解析JSON
视频地址:https://www.cctalk.com/v/15114923886141 JSON 数据 我颠倒了整个世界,只为摆正你的倒影. 前面的文章中,我们已经完成了项目中常见的问题,比如 路由 ...
- iKcamp|基于Koa2搭建Node.js实战(含视频)☞ 处理静态资源
视频地址:https://www.cctalk.com/v/15114923882788 处理静态资源 无非花开花落,静静. 指定静态资源目录 这里我们使用第三方中间件: koa-static 安装并 ...
- iKcamp|基于Koa2搭建Node.js实战(含视频)☞ 视图Nunjucks
视频地址:https://www.cctalk.com/v/15114923888328 视图 Nunjucks 彩虹是上帝和人类立的约,上帝不会再用洪水灭人. 客户端和服务端之间相互通信,传递的数据 ...
- iKcamp|基于Koa2搭建Node.js实战(含视频)☞ 代码分层
视频地址:https://www.cctalk.com/v/15114923889408 文章 在前面几节中,我们已经实现了项目中的几个常见操作:启动服务器.路由中间件.Get 和 Post 形式的请 ...
- Node.js 实战 & 最佳 Express 项目架构
Node.js 实战 & 最佳 Express 项目架构 Express Koa refs https://github.com/xgqfrms/learn-node.js-by-practi ...
随机推荐
- configure: error: *** libpopt not found 解决方法
ubuntu (deb) $ apt-cache search popt|headlibpopt-dev - lib for parsing cmdline parameters - developm ...
- 转 :meta name的含义:<META http-equiv=Content-Type content="text/html; charset=gb2312">
meta是什么?meta其实是html语言head区的一个辅助性标签.在几乎所有的网页里,我们都可以看到类似下面这段html代码:<META http-equiv=Content-Type co ...
- 黑马程序员-NSDictionary和NSMutableDictionary
NSDictionary和NSMutableDictionary:通过key和value进行对应,进行存储元素,能够方便提取所需的元素.key是不能够重复出现,但是value能够重复出现.NSDict ...
- lockfree
为什么要lockfree 按我的理解, lockfree就是不去 调用操作系统给定的锁机制. 1. 会有system call, and system call is expensive; 比如pt ...
- ubuntu上搭建review board代码评审站点
Reviewboard是一个开源个人可以免费使用的代码评审框架,貌似现在有越来越多的公司也开始使用reviewboard作为公司的代码评审工具. 今天早上试了一下,搭建过程非常方便简单,按照网页提示即 ...
- [XAF] How to represent an enumeration property via a drop-down box with check boxes
https://www.devexpress.com/Support/Center/Example/Details/E689
- springMVC参数传递
web.xml文件 <?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi=& ...
- zabbix3.2安装graphtree3.0.4
下载graphtree3.0.4 wget https://raw.githubusercontent.com/OneOaaS/graphtrees/master/graphtree3-0-1.pat ...
- ABP框架详解(四)Feature
ABP框架中存在一个Feature的特性,功能和设计思路非常类似于框架中的Authorization功能,都是来控制用户是否能够继续操作某项功能,不同点在于Authorization默认是应用在IAp ...
- jq实现 按钮点击一次后 3秒后在可点击
if(printRemind(selectPrintTemplate,selectOrders,orderStatus,isPreview)) //调用打印数据并打印 ajaxDataAndDoPri ...