关于纵横研究院@NodeJS技术专题
不积跬步,无以至千里;不积小流,无以成江海。
目录
- 研究内容
- 预期目标
- 参考书目及文档
- 投稿须知
研究内容
本专题研究内容主要分三个部分:
-
NodeJS技术实践
这里列出一些本专题需要研究的技术,之后再补充。
- Redis
- 消息中间件(rabbitmq、kafka)
- 数据库(mongodb、mysql、postgresql)
- Sequelize(对象关系映射框架)
- Socket.IO
- TypeScript
- GraphQL
- SSR(服务端渲染)
- 定时任务
- 应用监测(metrics、Pandora.js、pm2)
- 自动化测试
关于NodeJS基础介绍、原生api、语法等虽然不是主要研究内容,可自由学习,对于实用或有深度的内容也可分享出来。对NodeJs深入研究理解更多底层的知识,如异步机制、模块机制、内存控制、流、事件循环、设计模式、性能优化等,也可总结出来。
-
NodeJS技术框架研究
学习优秀的NodeJS技术框架,如
Koa
、Express
、Egg
、Next.js
、Nuxt.js
等。提倡使用优秀的技术框架,更提倡研究框架源码的实现方式,不断积累技术经验,再结合公司和业务的实际需求形成种子工程。以下列举了几个技术框架需要考虑的几个方面,可以就某些方面研究其他框架的源码再总结:
- 中间件机制
- 插件机制
- 异常处理机制
- 应用部署
- 日志处理
-
NodeJS应用
如果有成功的使用案例,可分享出来供他人学习参考。另外本期读书计划的实践内容是IM(即时通讯),感兴趣的小伙伴可以联系我共同学习实践。
预期目标
-
掌握使用NodeJS开发web应用程序的相关技术栈
将NodeJS相关技术作为技术储备,达到未来业务有需要的时候能快速使用这些技术解决问题的程度。
-
IM(即时通讯)
实现IM的基础功能,如添加好友、单聊、群聊、消息存储等,保证消息不丢失、消息一致性、离线消息、在线状态同步等。
参考书目及文档
NodeJs研究版本使用最新的稳定版,目前为v10.15.1
,官方文档见这里
本专题的学习主要以开源项目和官方文档学习为主。初期熟悉NodeJS、开源工具的官方api和使用示例(开源工具基本上都有详细的文档和示例,请自行寻找),之后再通过阅读书籍和源码提升对底层实现、系统架构、性能优化等的理解。另外本专题侧重于实用的技术分享,对于NodeJs入门以及系统化的学习还需要小伙伴们自己研究。
在学习研究的过程中,主要还是需要自己查阅各方(google、github、npm、stack overflow、简书)的资料和文档,毕竟书中的内容可能跟不上快速更新的技术。
推荐书籍:
NodeJS社区:
投稿须知
以上只是列出一些可供学习研究的方向,虽然一些技术已经有很多的教程和文档了,但是依然需要有人去将这些技术真正地学习、实践、整理文档来落到实处,能够达到业务有需求时快速应用这些技术解决问题的程度。其他没有提到的方向也提倡深入研究,不过还是尽量分享一些有价值、有深度的文章。
每篇投稿的文章都应该有自己的实践,切忌照抄照搬理论的东西以及使用的api,在实践时如果需要基础框架请使用koa2
,koa2是一个轻量级的web框架,相比express更灵活更简洁。
投稿文章建议以原创和官方文档翻译为主,文章标题前需加标识【原创】
、【转载】
、【翻译】
。
总之,与NodeJS相关的技术文章都可以投稿。
授人玫瑰,手留余香。欢迎大家积极投稿,多分享,共成长,对所有参与学习和分享的小伙伴表示衷心的感谢!