《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 ...
随机推荐
- noip2008-t3
[题目描述] 小渊和小轩是好朋友也是同班同学,他们在一起总有谈不完的话题.一次素质拓展活动中,班上同学安排做成一个m行n 列的矩阵,而小渊和小轩被安排在矩阵对角线的两端,因此,他们就无法直接交谈了.幸 ...
- spring-aop学习
SpringAOP学习 author:luojie 1. AOP中的基本概念 AOP的通用术语,并非spring java所特有.很遗憾AOP的术语不是特别的直观.但如果让Spring java来 ...
- 【线段树套平衡树】【pb_ds】bzoj3196 Tyvj 1730 二逼平衡树
线段树套pb_ds里的平衡树,在洛谷OJ上测试,后三个测试点TLE #include<cstdio> #include<algorithm> #include<ext/p ...
- STM32正交编码器驱动电机
1.编码器原理 什么是正交?如果两个信号相位相差90度,则这两个信号称为正交.由于两个信号相差90度,因此可以根据两个信号哪个先哪个后来判断方向. 这里使用了TI12模式,例如当T1上升 ...
- 使用IConfigurationSectionHandler在web.config中增加自定义配置
一. 场景 这里仅举一个简单应用的例子,我希望在web.config里面增加网站的基本信息,如:网站名称,网站版本号,是否将网站暂时关闭等.二. 基本实现方法1. 定义配置节点对应的类:Site ...
- 21)pom 中的缺省值(default properties)
1 引言 项目中build 时用到了maven-jar-plugin ,其中有一个 ${project.build.directory} <plugin> <artifactId&g ...
- 解决 504 Gateway Time-out和502 Bad Gateway(nginx)
504 Gateway Time-out 问题所在: 所请求的网关没有请求到,简单来说就是没有请求到可以执行的PHP-CGI. 一般看来, 这种情况可能是由于nginx默认的fastcgi进程响应的缓 ...
- 基于Linux的WebSphere性能调优与故障诊断
一.关于was数据源等问题的配置 (1)关于was数据源连接池的最大.最小配置多大合适?怎样去计算? (2)关于JVM的配置,64位系统,64位WAS,最值小和最大配置多大最优?怎样去计算? (3)应 ...
- 用canvas制作酷炫射击游戏--part1
好久没写博客了,因为过年后一直在学游戏制作方面的知识.学得差不多后又花了3个月时间做了个作品出来,现在正拿着这个作品找工作. 作品地址:https://betasu.github.io/Crimonl ...
- unity渲染层级关系小结(转存)
最近连续遇到了几个绘制图像之间相互遮挡关系不正确的问题,网上查找的信息比较凌乱,所以这里就把自己解决问题中总结的经验记录下来. Unity中的渲染顺序自上而下大致分为三层. 最高层为Camera层,可 ...