2023-05-29 14:31:11 来源:博客园
- 《JavaScript全栈开发》:https://book.douban.com/subject/35493728/
- 《Vue.js全平台前端实战》:https://book.douban.com/subject/35886403/
- 《Node.js后端全程实战》:https://book.douban.com/subject/36374893/
《Node.js 后端全程实战》这本书是本人“全栈三部曲”系列的收官之作,整个系列的创作过程起源于我某年某月某日在 Facebook 上看到的一张名为“如何成为全栈工程师”的图,图中堆叠着一摞足足半人多高的书籍,其中除了最基本的、与 HTML、CSS 相关的书籍之外,还有介绍浏览器端编程的 JavaScript 语言及其框架的书若干本,在服务器端使用的语言(例如 Java、C# 等)及其框架的书又是若干本,最后再加上关于 MySQL、SQLite3 这类数据库的以及关于 Apache 服务器的书,一共十几本,颇为壮观。总而言之,那张图无看起来无论如何都不想像是要鼓励初学者的样子。于是,我最初的设想是:尝试用一本书、一门编程语言介绍那张图中提及的主要技术知识。
然而,早在这个系列的第一本书 —— 《JavaScript 全栈开发》的审阅阶段,就不断地听到有读者反馈说:如果只使用 DOM 和 BOM 接口来编写客户端应用,或者只使用 Node.js 运行平台的原生接口编写服务端应用,那么对于大多数人来说,这都将是一个编码量巨大,调试和维护非常繁复的工作。诚然,《JavaScript 全栈开发》作为本系列作品的基础篇,它更倾向于为读者介绍 JavaScript 这门编程语言本身和客户端/服务端应用程序架构的理论基础,其中所演示的项目更多是属于我们在实验环境中所进行的各种学习和研究活动。
在现实的生产环境中,开发者们大多数时候是使用应用程序框架和专业的运维工具来应对具体项目的开发工作的。基本上,除了编程语言的基本语法之外,开发者的设计开发能力很大程度上取决于如何根据自己面对的问题找到适用的框架,并在合理的时间内掌握该框架的使用方法,并用它快速地构建自己的项目。因此在基础篇之后,我们将致力于利用具体的项目实践来向读者介绍如何构建这种“在做中学,在学中做”的能力。当然了,这些框架和工具往往都是存在适用领域边界的。换而言之,我们在从事客户端应用的开发工作时,需要使用的是适用于该领域的框架及相关的项目构建工具,而在从事服务端应用的开发与维护工作时则要使用服务端领域的框架与相关的运维工具,它们各自可能都需要用一本书的篇幅来介绍。
(资料图片)
因此,作为《JavaScript 全栈开发》在客户端开发方向上的补充,我在去年出版了《Vue.js 全平台前端实战》一书。在该书中,我们以 Vue.js 框架及其相关工具为例为读者介绍了客户端开发工作的相关实践。而各位手中的这本书则是其在另一方向上的补充,我们将以基于 Express.js 框架及其相关的工具为例介绍 Node.js 应用程序在服务端的开发与维护。
简而言之,这本书将致力于探讨在服务端领域中如何以基于 Node.js 运行平台的 Express.js 框架为中心,并搭配 Docker、Kubernetes 等服务端运维工具为读者介绍服务端应用的开发与维护工作。我们计划从 Express.js 框架的基本使用开始,循序渐进,层层深入地介绍 HTTP 服务的创建与开发、RESTful API 的设计与实现、数据库接口设计与实现、以及服务端应用的部署与维护。在这过程中,我将会在书中提供大量可读性高,可被验证的代码示例,以帮助读者理解书中所介绍的技术概念、编程思想与程序设计理念。
本书的主体将由两部分组成,第一部分介绍的是 Express.js 框架的基本使用方法,这里将用 4 章的篇幅介绍 Express.js框架本身的设计理念、核心组件、中间件机制以及项目组织方式等议题。在这部分中,我们将会具体介绍如何利用Express.js 框架创建一个基于 RESTful API 规范的服务端应用。第二部分将会介绍服务端应用的部署与运维工作。在这部分中,我们也将用 4 章的篇幅具体介绍如何使用 Docker、Kubernetes 等服务端运维工具来实现对本书第一部分开发的应用程序的自动化部署与维护。下面是本书各章的内容简介:
第1章:服务端开发环境:在正式开始服务端开发的议题之前,我们会先用一章的篇幅带领读者进行一些必要的准备工作,目的是配备好后续章节中要使用的服务端环境以及相关的开发工具,并对相关的应用程序设计理念做一个概念性的介绍,帮助读者以最好的状态进入到后续的项目实践中去。
第2章:服务端开发方案:在这一章中,我们首先会对 Express.js 框架做一个简单的概况介绍,目的是让读者了解这一服务端框架的核心特性及其所能带来的开发优势。然后,我们将分别演示使用 Express.js 框架实现服务端业务逻辑的两种不同方案,并根据“线上简历”这项应用的具体需求对该项目进行初始化配置和结构安排,目的是借助这一过程让读者了解基于 Express.js 框架来创建项目的基本步骤,以及这些步骤背后所反映的设计思路。
第3章:数据库接口设计:在这一章中,我们将介绍数据库在服务端开发工作中所扮演的角色,以及它们在 Express.js 框架中的使用方式,在介绍过程中,我们会分别基于关系型数据库与非关系型数据库的特点来探讨数据库的接口设计,并以 MySQL、MongoDB 这两种不同类型的数据库为例来演示如何在服务端项目中设计并实现访问这些数据库的 API。
第4章:服务端接口实现:在这一章中,我们会继续介绍如何使用这些 API 来实现应用程序的服务端业务逻辑,并演示如何根据 REST 设计规范来实现一个基于 C/S 架构的应用程序。在这过程中,我们将会尝试在 Express.js 项目中引入一个基于 Vue.js 框架实现的客户端。
第5章:非容器化部署应用:在这一章中,我们将会具体演示如何将之前开发的“线上简历”应用程序部署到真正的服务器环境中,并以传统的、非容器化的方式对它进行维护。在这一过程中,我们将会依次为读者介绍服务端运维工作的主要内容、基本流程、所要使用的工具以及这些工具的具体使用方法。
第6章:应用程序的容器化:在这一章中,我们将为读者推荐 DevOps 工作理念以及该理念所主张的容器化运维方式,目的是解决采用传统方式来进行运维工作时所要面临的麻烦。毕竟,这些麻烦不仅会给运维工作带来高昂的成本,也会因思考角度上的完全不同而在运维与开发这两项工作之间产生一些难以调和的矛盾。
第7章:自动化部署与维护(上):在这一章中,我们将致力于介绍服务端运维工作中的最后一项任务,即监控服务端应用在服务器上的运行状态,并对其进行日常维护。本章内容将涉及采用微服务架构的必要性及其容器化实现方式、Docker Compose 的安装方法以及该工具的基本使用流程,以及如何在单服务器环境中实现应用程序的自动化部署与维护。
第8章:自动化部署与维护(下):在这一章中,我们将继续介绍如何在服务器集群环境中实现应用程序的自动化部署与维护。在这一介绍过程中,我们将会带读者具体了解 Kubernetes 这一更为强大的容器编排工具,并学习其基本使用方法。
附录A:Git 简易教程:版本控制系统是一种在时间维度上维护计算机程序项目的软件系统,它的功能就是方便开发者们记录并管理自己在某个特定时间节点上编写的代码,以便在必要时实现一些“有后悔药吃”的效果。在这篇附录中,我们将以 Git 这个分布式版本控制系统为例来为读者介绍这类软件工具的基本使用方式。
附录B:使用 Vagrant 搭建 K8s 集群:我们在使用 VMware、VirtualBox 这一类虚拟机软件创建虚拟开发环境时,往往需要经历寻找并下载操作系统的安装镜像文件,然后根据该镜像文件启动的安装向导一步一步地安装与配置操作系统,最后还需要从零开始安装开发与运维工具,整个过程会非常的费时费力。在这篇附录中,我们将为读者具体介绍 Vagrant 这个自动化虚拟机管理工具的基本使用方法,并演示如何使用它来虚拟一个由三台服务器构成的 K8s 集群。
由于这是一本专注于介如何使用 Express.js 框架进行开发,并对开发结果开展运维工作的小书,而 Express.js 是一个基 Node.js 运行平台的服务端应用开发框架。所以在阅读这本书之前,我们会希望读者已经掌握了 JavaScript 语言、Node.js 原生接口的基本使用方法,并了解与 HTTP 协议相关的服务器概念等基础知识。如有需要,我会建议读者先去阅读一下这本书的前作——《JavaScript全栈开发》,或者其他介绍了上述基础知识的书籍。
当然了,由于 JavaScript 社区的开发框架不仅琳琅满目,选择众多,而且新陈代谢极为快速,这意味着等到这本书写完并最终出版之时,开发者们在服务端领域很有可能已经有了比 Express.js 框架更好的选择。所以基于“授之以鱼不如授之以渔”的原则,本书的真正目的是希望帮助读者掌握快速学习任意一种新框架的能力,这需要我们更深入地去理解服务端框架的设计思路,理解为什么决定开放那些接口给用户,为什么对用户隐藏那些实现,这就需要读者自己具备开发框架的能力。换句话说,虽然不必重复发明轮子,但一个优秀的工程师或设计师应该了解轮子是如何被发明的,这样才能清楚在怎么样的轮子上构建怎么样的车。
除此之外,我在这里还需要特别强调一件事:本书中所有关于“线上简历”应用的实现代码都是基于本书各章节中的代码占比及其阅读体验等众多写作因素进行了平衡考虑之后产生的最简化版本,其中省略了绝大部分与错误处理及其他辅助功能相关的代码。因此,如果想了解实际项目中某些具体问题的解决方案,还需请读者自己去查阅本书附带源码包中的项目。当然了,在我个人看来,如果想要学好并熟练掌握一个开发框架,最好的办法就是尽可能地在实践中使用它们,在实际项目需求的驱动下模仿、试错并总结使用经验。所以在这本书中,我们并不鼓励直接复制/粘贴的本书附带源码包中的演示代码,我们更期待读者“自己动手”去模仿书中提供的示例,亲手将自己想要执行的代码输入到计算机中,观察它们是如何工作的。然后,试着修改它们,并验证其结果是否符合预期。如果符合预期,就总结当下的经验,如果不符合预期,则去思考应该做哪些调整来令其符合预期。如此周而复始,才能让学习效果事半功倍。
最后,希望如《道德经》所言:一生二,二生三,三生万物,这三本书能够帮助读者构建起成为全栈工程师的坚实基础。
标签:
《Node js后端全程实战》自序>![全栈系列作品](https: img2023 cnblogs com blog 691082 202305 691082-2
本期债券注册金额为7亿元,本期发行金额为7亿元,发行期限不超过3年(含3年),无担保。
目前8宗地块均已成交出让,共揽金52 18亿元。其中有4宗地块封顶摇号,分别是江北区JB14-01-34、37地块、江
祥祺集团发布声明称,今年3月,祥祺集团旗下祥祺中心等三项物业,因按揭贷款轻度违约,被银行派人“接管”
安徽省市场监管局等13部门联合印发实施《关于进一步促进个体工商户发展的若干措施》,从5个方面提出了30条
截至发稿,融创中国跌5 17%,报1 11港元;中国海外宏洋集团跌4 16%,报3 69港元;富力地产跌0 83%,报1 19港元。
房地产开发板块午后走低,天房发展触及跌停,金科股份、格力地产、华丽家族、中迪投资、中交地产等跟跌。
其中,金茂59 1亿竞得津西体(挂)2023-003号地块,龙湖9 02亿元竞得津东大(挂)2021-041号地块,天津城投2 2
福州山姆二店进驻福州三江口片区的嘉里榕城·江上图,建筑面积约2 8万平方米,是目前福建省最大的山姆会员
项目位于和平路商业步行街西侧门户,由印力(北京)重点更新打造,总体量约为13万平方米,集商业、潮流、艺
走出“围城”回归自然,家庭户外之旅首选SUV“揽境”
《Node js后端全程实战》自序>![全栈系列作品](https: img2023 cnblogs com blog 691082 202305 691082-2
养敌为患2恶女归来有原著。养敌为患2恶女归来原著的小说名字是《强制欢宠我的温柔暴君》,作者是风与自然
宁波南都悦郡物业服务有限公司成立于2023年5月29日,注册资本500万元,法人代表为宋忠亚,经营范围包括物业
2023年西安中小学暑假开学时间预计9月初,新学期开学需要准备报到资料,比如体检证明、学生证等。还有像红
超大空间、轿跑车身、2 5TV6,40万入手23款途昂X值得吗?
ID 4X综合续航561km,体验纯电驾驭新境界!
欢迎观看本篇文章,小升来为大家解答以上问题。额头窄颧骨高怎么办,找出导致自己颧骨高凸的那个原因很多人
1、没有长沙汽车南站电话0731-82805051。本文到此分享完毕,希望对大家有所帮助。
1、曹植 典故出自南朝刘义庆的《世说新语-文学》:文帝尝令东阿王七步作诗,不成者行大法。2、应声便为
基于通用E2XX平台打造的GT4,无论是轿跑SUV的造型还是33英寸的超大曲面屏,看起来都个性十足,本期文章我们
老百姓出行不方便政府到底该不该管?投诉直通车是湖南日报、华声在线、新湖南主办的投诉维权类栏目,帮助解
Hello大家好,欢迎收看新车消费报告,我是刘琦。受影响的车辆是在2020年至2022年期间生产的部分向美国出口
欢迎观看本篇文章,小升来为大家解答以上问题。男士化妆步骤,给男士化妆的技巧有什么很多人还不知道,现在
比亚迪回应了投资者提问,表示自主研发了常压油箱的燃油蒸汽排放控制技术,既不增加油耗,也不增加噪音,还
Hello大家好,欢迎收看新车消费报告,我是刘琦。受影响的车辆是在2020年至2022年期间生产的部分向美国出口
目前最后2宗地块成交结果出炉,江北区JB12-02-02地块、鄞州区JD08-G3-1-C地块均达到封顶价进入摇号阶段,总
这次改款车型比亚迪有针对性地打出了三张牌:价格下探(进一步扩大受众)、新增配色(直击女性用户)、配置
近日,长安马自达CX-50行也于西藏日喀则宣布正式上市,官方指导售价区间15 98-20 68万元,新车先期推出搭载
小鹏二代车在产品力上还是有一定可取之处的。我觉得是不是应该对小鹏改下观念。不过因为一些这样那样的原因
河北2023年下半年自考实践性环节考核报名入口由自考考试栏目提供,查找更多考试报名资讯、准考证打印、成绩
办理养老保险的办法:如果职工有用人单位的,可以由单位为其办理社保的申报手续,并依法为员工缴纳养老保险,也从员工的工资中为员工扣除其
融创华北同意通过重组安排受让绿城房地产持有的目标公司51%股权,代价约为人民币14 86亿元,该代价将由现有
本期债券简称“21住宅04”,代码“188182 SH”,发行总额11亿元,期限5年,票面利率为3 80%。债权登记日是2
怡品家装饰设计成立于2023年5月26日,注册资本为3000万元人民币。目前金科服务持有该公司股份100%。
对于特殊民族的生育政策会有一些特殊规定,那么少数民族怎样才能生二胎呢?各个自治区有哪些不同政策规定?内蒙古自治区规定:蒙古族公民,一
我国已经全面取消准生证的规定了,计生办也没有办理准生证的业务,所以现在生孩子无需办理准生证,夫妻需要生育的,自行安排生育即可,只需
日前,有外媒根据雷克萨斯最新的预告图绘制出了全新雷克萨斯GX的渲染图。
中国报告大厅2023年5月29日三水醋酸钠价格最新走势监测显示:河南帆诺净水材料有限公司报价机构,今日三水
单独二胎办理程序是当事人持双方身份证或户口本、结婚证等材料到夫妻一方户籍地或现居住地卫生计生部门办理生育登记。夫妻双方只有一个孩子
5月28日,由北京广播集团公司、北京交通广播中心、车问网共同主办,北京汽车博物馆联合主办,北广声动(北
连日来,延边边境管理支队三合边境派出所民警深入辖区,开展以“美好生活民法典相伴”为主题的“民法典”宣
近日,一组奇瑞星途EH3的谍照曝光,新车由奇瑞和华为共同打造,与AITO问界车型类似,将搭载华为鸿蒙座舱、
如果想买一款大众SUV20万左右车型,想必很多人在买之前,都会难以抉择,今天小编根据众车网购车指数排行榜
日前,有海外媒体曝光了一组全新MINICooper五门硬顶版车型的假想图。新车将采用MINI家族最新的设计语言,整
2024款CT4-V CT5-VBlackwing20周年纪念版官图。后者新增特殊格栅和标识,最大变化是提供通用汽车SuperCruis
1、1000瓦吧。本文到此分享完毕,希望对大家有所帮助。
欢迎观看本篇文章,小升来为大家解答以上问题。饮食健康小常识,饮食健康小常识有什么很多人还不知道,现在
李龙将出任道朗格总裁兼通用汽车高端进口业务副总裁,自8月1日起常驻上海,全面负责道朗格平台及其进口产品
基于通用E2XX平台打造的GT4,无论是轿跑SUV的造型还是33英寸的超大曲面屏,看起来都个性十足,本期文章我们
随着市场对人工智能的狂热几乎支撑起了整个股市,分析师们纷纷对这一现象展开了热烈讨论。对许多专家阶层来
欢迎观看本篇文章,小升来为大家解答以上问题。驱蚊香囊的制作方法,驱蚊香囊怎么制作方法很多人还不知道,
1、关掉杀软你需要更新。2、我得先开始也这样。3、后来更新了就好了。本文到此分享完毕,希望对大家有所帮
本期债券简称为22香城投资SCP003,发行金额10亿元,到期兑付日为2023年5月30日。
本期债券简称“23荆州城发MTN002“,代码102380668 IB,发行金额5亿元,期限3+2年。
继中建三局拿下太湖新城地块后,苏州市吴江城市建设开发有限公司以底价2875万元摘得吴江区平望镇运河路西侧
这次改款车型比亚迪有针对性地打出了三张牌:价格下探(进一步扩大受众)、新增配色(直击女性用户)、配置
,小编为大家整理的最好玩的传奇手游排行榜,经典三大职业的加入,以及副本的解锁开放,可以让你在手游中有
该通知从2023年6月1日起执行,以购房网签备案合同签订日期为认定标准。有效期两年。
踏入第二季,观乎私人住宅市场的成交金额及宗数,明显比首季炽热放缓,楼价能否持续向上,很大程度视乎息口
Hello大家好,欢迎收看新车消费报告,我是刘琦。受影响的车辆是在2020年至2022年期间生产的部分向美国出口
与楼按相关的一个月HIBOR连升2日。
近日,长安马自达CX-50行也于西藏日喀则宣布正式上市,官方指导售价区间15 98-20 68万元,新车先期推出搭载
1、我不是小孩子了,我现在是一个低年级的大哥哥。2、以前,爷爷照料我的时候,我调皮,不懂事,整天又哭又
本期债券简称“20建设02”,代码163553 SH,发行总额5亿元,期限5年(存续期第3年末附发行人调整票面利率选
小鹏二代车在产品力上还是有一定可取之处的。我觉得是不是应该对小鹏改下观念。不过因为一些这样那样的原因
继续“降价”,比亚迪最便宜插混SUV焕新上市,这回销冠又稳了
蓝城房产建设管理集团有限公司新增投资企业浙江蓝城颐乐建设管理有限公司,投资比例为51%,注册资本1000万
不惧新能源,凯迪拉克三大“油车”上市,油电终将“平分天下”?
2011年11月,旦门山岛成为我国首个有明确使用权的无居民海岛,获得该岛50年使用权人的是象山海洋游览度假有
该期债券主承销商为兴业银行股份有限公司、浙商银行股份有限公司,债项余额10亿,本计息期债项利率4 05%,
长城举报比亚迪,“高压油箱”成最大争议,插混车型一定要用它?
哪吒汽车位于上海市普陀区的全球总部正式启用。其总部还兼具“旗舰体验中心、智能研发中心、数据中心、服务
长城和比亚迪引发的高压油箱争论,黑不提白不提就过去了?
年轻人买车,预算70万左右,打算买一辆70万左右Jeep5座SUV,外观时尚固然是比较在意的,但是否省油、舒适性
大众汽车(安徽)有限公司将投资231亿元用于大众汽车在合肥市的项目、产业落地。一期生产基地与研发中心投
如果想买一款5座中型车34万左右车型,很多人纠结怎么选择才不后悔,现在小编根据,众车网购车指数排行榜,
芮城:理论测产促丰收眼下正值小麦管理关键期,该局组织技术人员深入田间实地查看小麦长势情况。
1、建议网维吧。2、2009年使用至今没发现有穿透现像。3、哥哥你吃饱了吗``。本文到此分享完毕,希望对大家
2023世界智能电动车技术博览会将于8月举办
在宝马中大型SUV80万左右车型中,有不少的车型卖点很足,有的省油、有的空间大、还有些动力强。如果把产品
TCL中环(002129)05月29日在投资者关系平台上答复了投资者关心的问题。
大众汽车(安徽)有限公司将投资231亿元用于大众汽车在合肥市的项目、产业落地。一期生产基地与研发中心投
欢迎观看本篇文章,小升来为大家解答以上问题。男性荷尔蒙什么意思,什么是男性荷尔蒙很多人还不知道,现在
南楠 近日,“地铁遇见博物馆”展览正在西安地铁站展出,市民和游客在出行途中,就能与周、秦、汉
【财华社讯】康方生物(09926 HK)截至10:43下跌4 18%,现报35 55港元,跌1 55港元。成交298万股,涉资1 073
5月26日,长盈精密(300115)融资买入2583 11万元,融资偿还2138 73万元,融资净买入444 38万元,融资余额6
近日,长安马自达CX-50行也于西藏日喀则宣布正式上市,官方指导售价区间15 98-20 68万元,新车先期推出搭载
欢迎观看本篇文章,小升来为大家解答以上问题。泛怎么组词,泛的组词很多人还不知道,现在让我们一起来看看
小鹏二代车在产品力上还是有一定可取之处的。我觉得是不是应该对小鹏改下观念。不过因为一些这样那样的原因
这次改款车型比亚迪有针对性地打出了三张牌:价格下探(进一步扩大受众)、新增配色(直击女性用户)、配置
2024款CT4-V CT5-VBlackwing20周年纪念版官图。后者新增特殊格栅和标识,最大变化是提供通用汽车SuperCruis
1、我觉得不是老鼠,老鼠每天尽管是在偷东西但是都是等到夜深人静的时候不是明目张胆,而是小心翼翼因此不
哪吒汽车位于上海市普陀区的全球总部正式启用。其总部还兼具“旗舰体验中心、智能研发中心、数据中心、服务
在今年5月26日,首都机场临空发展申请终结深圳优地房产100%股权转让项目,前者还在去年9月19日挂牌转让本次
毫无疑问,《心灵杀手2》是在PlayStationShowcase2023上展示的图像最令人印象
预计今年收入及利润增幅有望达到50%。
北京金泰卓越物业管理有限公司成立于2010年1月13日,注册资本1200万元。2023年4月30日财务报表显示,该公司
进入夏季,降雨逐渐频繁。对于聚氨酯防水涂料施工而言,雨天不仅会影响施工进度,更会因潮湿的施工基层,导
基于通用E2XX平台打造的GT4,无论是轿跑SUV的造型还是33英寸的超大曲面屏,看起来都个性十足,本期文章我们
万达商业2024年1月到期、7 25%债券每1美元涨4 9美分至47 8美分,势创11月25日以来最大涨幅。
北京时间5月17日凌晨4点,特斯拉2023年股东大会在美国得州超级工厂举行。特斯拉CEO埃隆·马斯克(Elon Musk)在会上表示,尽管电动车企业
和约付是杭州安信一诺科技有限公司针对于教育培训行业的一个SAAS工具。通过和约付,消费者把原来需要一次性支付给机构的学费按照与机构约定
岁末年初的广州车展上,不少汽车品牌纷纷亮相旗下重磅新产品。其中,红旗品牌B+级豪华风尚轿车——红旗H6,无疑是最为引人瞩目的新车型之一
当下,各行各业都在争相推动数字化转型,期望以创新和前瞻,在这条赛道拔得头筹。汽车行业更是如此,各大品牌都在积极探索数字化转型。去年
新年肇始,万象更新。党的二十大胜利召开后,我国迎来了全面建成社会主义现代化强国,实现第二个百年奋斗目标新征程的新起点。在新格局与新