作者主页:阿玥的小东东主页!
正在学习:python和C/C++
期待大家的关注哦
目录
一次很好的机会,让我开始了CSDN之旅
首先来看看我的几位领路人
创作动力
1W+粉丝
在CSDN我收获了什么?
很高的展现量
认证创作者身份
社区人数剧增
总结的一些小知识
以后的目标
本期赠书两本:《Node.js从基础到项目实践》
前言/序言
目录
编辑推荐
一次很好的机会,让我开始了CSDN之旅
我在做老师布置的作业(python的),一点头绪也没有,我一开始去的是百度,但是后来发现,几乎查出来的都是CSDN的文章,我就心想:这个CSDN这么厉害的吗?于是,我就抱着试一试的心态写了一篇我很久很久很久一起,老师给我的一个程序,到现在,我也不知道怎么了,居然第一篇文章都有5000浏览了
首先来看看我的几位领路人
第一位:几何心凉,博客主页请看:几何心凉
全网为数不多的十万粉博主,也是我的一位领路人!!
第二位:网络豆,博客主页请看:网络豆
希望早日赶上豆子哥
创作动力
我其实一开始根本没有抱着希望,因为一开始的前两周浏览都没有破20(你别笑~)后来,遇见了以上两位领路人,给了我很大的希望,我就心想,他们怎么有这么多粉丝啊,我也想试试,这样以后也好找工作吧。。然后,我就开始了CSDN之旅!!
1W+粉丝
这一天我等了很久,这足以说明一件事情,只要努力,就一定或有收获(或多或少),足以说明,我们在认真对待这件事情了,100篇文章,1W粉,一起加油,希望4月能破1.5W哈哈
来看一下我之前的粉丝记录吧:
哈哈哈哈
我还记得,我破1000粉丝的时候那叫一个开心啊,出门第一件事就是忘带钥匙了。。后来找的开锁。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。一大个无语······
大佬们还记得自己1K粉丝时候的表情嘛,可以打在评论区哦,,我会一一回复
在CSDN我收获了什么?
热榜第一(2次)一开始那一次的找不到了
周榜第一:
那时候是放假,我几乎一天一篇
很高的展现量
这篇文章的展现量马上破20W 。
认证创作者身份
一开始以为500粉丝就可以。。后来2000粉丝了,才认证
现在有认证的,在评论扣眼珠子!!
社区人数剧增
也不知道咋回事,反正人数就突然这么多,可能是热榜的功能??可能对于其他大佬而言,这些人数很少,但是,对于一个菜鸡来说,一个字形容:哇塞!!!
很多人都好奇我的浏览咋来的,我也不多解释了,大家一起看看吧!
原力等级累积到7级!!
总结的一些小知识
标题夸张
1、夸张式标题
。标题使用[震惊]、[惊爆]、[传疯]、[吓掉半条命]等,言过其实地表达情绪/状态/感受。标题使用[全世界网友]、[所有男人都] 、[某国人] 、 [99%] 等,进行无依据的范围夸大
。标题使用[XX天见效] 、[根治] 、[立见影]等,对效果或结果做不符合常识的断言或保证;
。标题使用[重磅]、[要命]、[就在刚刚]等,对事件的严重和紧急程度夸张形容,引起过度警觉和关注;
。标题使用世界之最]、[最高级、[最佳]、[最烂]等,形容人事物在某些程度上达到极致,但违背实和大众认知。
2、悬念式标题
。标题成分残缺,或隐藏关键信息,营造玄虚,如[竟然是.....、[而是.,[不过等话说一半,通过省略号代替关键信息,或使用[内幕]、[揭秘]、[真相] 等代替关键信息;
。标题故意使用[竟然]、[竟是这样]、[结果却、[没想到]等强转折语,制造危机感和想象空间;
·标题指代模糊,缺少主语或故意不点明主体,以概括一类别的笼统性指代词替换,如使用它、[他、[她、[一句话[下一秒] 、[这种东西] 等。
3强迫式标题
。标题使用[胆小慎入]、[不看后悔一辈子]、[别怪我没提醒]你等表述,挑衅恐吓用户点击。标题使用[不得不看]、[一定要看完] 、[绝对要收藏]等命令式词语,要求或诱导用户阅读
别问我怎么知道的,问就是:我的文章下架了一篇
以后的目标
希望在暑假之前突破2W粉丝!暑假之后突破3W!!!家人们,看到这,互关下呗么么哒
本期赠书两本:《Node.js从基础到项目实践》
获得方式:1.高质量的评论+赞数第一即可获得一本
2.评论区随机挑选一位好兄弟送书一本!
截止时间:4月11日中午12点!
前言/序言
当下,各行各业都面临着大数据、人工智能、AR(augmented reality,增强现实)、VR(virtual reality,虚拟现实)等各种互联网新技术的冲击。在此技术背景下,Web前端行业也发生了巨大的改变,前端程序员已从单纯的切图处理发展到了需要处理多种后端业务。其中,Node.js就是连接前端和后端的一件利器。
准确地说,Node.js是专门为前端工程师打造的运行环境,可以让JavaScript变成一门后端语言,实现后端接口开发。因此,Node.js可以让前端工程师华丽转身,跨入全栈工程师的行列,拥有更多的技术优势。
本书内容
本书内容分为4大部分,系统地讲解了Node.js的各项基础知识、框架和进阶内容,同时给出了一个企业项目实践。具体结构划分如下。
第1部分为Node.js基础入门,包括第1~3章,主要讲解Node.js核心API,掌握核心模块、自定义模块、第三方模块的使用,实现服务器的创建。
第2部分为Node.js框架,包括第4~7章,主要讲解当前比较流行的Express框架以及MySQL数据库,Web开发模式和不同开发模式对应的身份验证,实现接口API的开发。精通本章知识,标志着读者可正式跨入全栈工程师的行列。
第3部分为Node.js进阶,包括第8~12章,主要讲解事件循环、高级框架、高级模块的使用,读者可畅快地体验新技术带来的乐趣,如自行开发一个爬虫程序。
第4部分为企业项目实践,包括第13章,主要讲解新闻管理系统API的开发,使读者掌握项目实践的开发技巧。
本书特点
(1)简明易学,入门轻松
本书语言通俗易懂,知识讲解简洁明了,直指核心,甚少有冗余、无用的话;同时理论结合案例,使读者能快速悟到Node.js的开发精髓。
(2)实用性强
本书是笔者对多年Node.js实践经验的干货分享,知识虽多,但并非平铺直叙。哪些技术点能在实际工作中用到,哪些技巧能帮助读者节省大量的时间和精力,所有的实践经验都在本书的内容设计中一一体现。因此,本书的实用性极强,读者认真地学习,可以在短时间内掌握最实用的开发技巧。
(3)案例丰富
本书几乎每个章节都提供了案例演示,且操作步骤详细,读者边学边做,可更有效地消化、理解所学的知识点。只要能独立完成书中的案例,即可达到专业的Node.js开发水平。
(4)视频讲解
本书几乎每个章节都提供了详尽的同步教学视频,跟着视频学,不但对操作过程看得更清晰,而且可快速切入主题,提高学习效率。
配套学习资源
为方便读者快速入门,本书配备了源码、课件、视频等学习资源,读者可扫描书中二维码学习、下载。具体资源如下:全书案例源码、项目实战源码,同步教学视频,教学课件PPT。
同时,Node.js技术更迭很快,笔者会不定期地推出一些新的视频,如介绍新的技术框架、新的版本知识等。该部分内容会持续更新,读者可扫描书中二维码关注、了解,持续提升自己。
读者对象
本书适用于网页设计与制作人员、网站建设开发人员、院校相关专业的学生、后端工程师、个人Web开发爱好者学习。
本书在编写过程中历经多次勘校、查证,力求减少差错,尽善尽美,但由于笔者水平有限,书中难免存在遗漏的问题,欢迎读者批评指正。
不管未来的技术如何更迭,希望读者能一步一步脚踏实地,朝着心中希望的结果前行。祝大家学习快乐!
目录
第1章 Node.js 基础入门 1
1.1 回顾浏览器中的JavaScript 1
1.2 Node.js 简介 2
1.2.1 什么是Node.js 2
1.2.2 详解Node.js 运行环境 2
1.3 安装Node.js 运行环境 3
1.3.1 选择Node.js 版本 3
1.3.2 查看Node.js 版本号 3
1.4 在Node.js 中执行JavaScript 文件 4
1.5 Node.js 内置模块 5
1.5.1 fs 模块 5
1.5.2 path 模块 7
1.5.3 http 模块 10
1.5.4 http 模块综合案例 13
1.6 渲染数据列表 14
1.7 响应静态资源 16
第2章 Node.js 自定义模块 19
2.1 创建自定义模块 19
2.2 共享自定义模块的属性和方法 20
2.2.1 module 对象 20
2.2.2 自定义模块共享成员的注意事项 21
2.2.3 exports 对象 22
2.2.4 CommonJS 规范 25
第3章 Node.js 第三方模块 26
3.1 什么是包 26
3.2 npm 简介 26
3.2.1 nodemon 工具 27
3.2.2 第三方模块moment 28
3.2.3 第三方模块目录结构 29
3.2.4 包的分类 31
3.3 切换模块下载服务器 31
3.3.1 切换至淘宝镜像服务器 31
3.3.2 nrm 工具的使用 32
3.4 发布自定义模块包 33
3.4.1 包的结构规范 33
3.4.2 定义格式化日期模块 33
3.4.3 发布包 36
3.4.4 删除自定义模块包 38
第4章 Express 框架 39
4.1 什么是Express 39
4.1.1 Express 框架的基本使用 39
4.1.2 获取URL 参数 42
4.2 使用express.static()托管静态资源 43
4.3 Express 路由 45
4.3.1 路由的基本使用 45
4.3.2 模块化路由 46
4.4 Express 中间件 48
4.4.1 什么是中间件 48
4.4.2 定义Express 中间件 48
4.4.3 中间件的作用 50
4.4.4 定义多个全局中间件 51
4.4.5 局部中间件 52
4.4.6 中间件分类 54
4.5 使用Express 框架写接口 60
4.5.1 定义GET 请求接口 60
4.5.2 定义POST 请求接口 62
4.5.3 接口跨域 63
4.5.4 定义JSONP 接口 64
第5章 MySQL 数据库 66
5.1 什么是MySQL 数据库 66
5.2 Navicat 可视化管理工具 67
5.2.1 安装Navicat 可视化管理工具 67
5.2.2 使用Navicat 管理MySQL 数据库 68
5.2.3 创建数据表 69
5.3 使用SQL 语句管理数据库 70
5.3.1 SELECT 查询语句 70
5.3.2 INSERT INTO 插入语句 71
5.3.3 UPDATE 更新语句 72
5.3.4 DELETE 删除语句 73
5.3.5 WHERE 子句 73
5.3.6 AND 和OR 运算符 74
5.3.7 ORDER BY 子句 75
5.3.8 COUNT(*)函数 77
第6章 Express 框架操作MySQL 数据库 78
6.1 安装mysql 第三方模块 78
6.1.1 安装mysql 模块 78
6.1.2 执行SQL 语句 79
6.2 操作数据库 79
6.2.1 新增数据 80
6.2.2 更新数据 81
6.2.3 删除数据 83
第7章 Express 框架身份认证 84
7.1 Web 开发模式 84
7.2 身份认证分类 85
7.2.1 Session 认证机制 85
7.2.2 服务器端Session 认证 86
7.2.3 服务器端安装express-session 中间件 87
7.3 JWT 认证 89
7.3.1 什么是JWT 认证 89
7.3.2 在Express 项目中使用JWT 认证 90
第8章 Node.js 事件循环 93
8.1 浏览器中的事件循环 93
8.2 宏任务与微任务 96
8.3 多层嵌套promise 事件循环案例 97
8.4 混合嵌套事件循环案例 100
8.5 Node.js 事件循环 102
8.6 Node.js 事件循环案例 103
第9章 Koa 框架 106
9.1 安装Koa 框架 106
9.2 详解context 对象 107
9.2.1 context.request 属性 107
9.2.2 context.response 属性 108
9.3 加载HTML 文件 109
9.4 路由 110
9.5 模块化路由 112
9.6 URL 请求参数 114
9.7 koa-bodyparser 模块的使用 116
9.8 托管静态资源 118
9.9 异步处理 120
9.9.1 同步中间件执行顺序 120
9.9.2 异步中间件 121
9.10 错误类型中间件 123
9.11 接口跨域 126
9.12 身份认证 127
9.12.1 koa-session 认证 127
9.12.2 从Session 中读取数据 129
9.12.3 JWT 认证 130
9.12.4 测试JWT 认证 133
9.13 在Koa 中操作MySQL 134
9.14 Koa 框架项目实践 135
9.14.1 初始化项目 136
9.14.2 配置常用中间件 136
9.14.3 初始化路由模块 137
9.14.4 安装mysql 模块 139
9.14.5 实现注册API 接口 140
9.14.6 登录API 接口 144
9.14.7 Token 解密 147
9.15 模板引擎 148
第10章 socket.io 聊天室案例 151
10.1 什么是socket.io 151
10.1.1 项目初始化 152
10.1.2 登录聊天室 154
10.2 配置socket.io 155
10.2.1 配置服务器端 156
10.2.2 配置客户端 156
10.3 实现实时聊天 157
10.4 模拟Session 显示用户名 159
10.5 显示聊天室在线人数 162
10.6 私聊 164
10.7 群组聊天 166
第11章 网络爬虫 169
11.1 什么是爬虫 169
11.2 第一个爬虫程序 169
11.3 爬取前后端分离的网页内容 173
11.4 Selenium 简介 177
11.5 自动搜索 178
11.6 使用Selenium 实现爬虫功能 179
第12章 GraphQL 基础语法 184
12.1 什么是GraphQL 184
12.2 GraphQL 快速体验 184
12.3 GraphQL 服务器端代码解析 186
12.4 定义对象数据类型 188
12.5 参数传递 189
12.6 标量类型 191
12.7 枚举类型 192
12.8 input 输入类型 193
12.9 回调函数参数详解 195
第13章 新闻管理系统 199
13.1 初始化项目 199
13.2 配置常用中间件 200
13.3 创建路由模块 200
13.3.1 初始化路由模块 201
13.3.2 抽离路由模块事件处理函数 201
13.4 创建db_users 表 202
13.5 安装mysql 模块 203
13.6 注册API 接口 204
13.7 使用@escook/express-joi 中间件验证表单数据 208
13.8 登录API 接口 211
13.9 Token 解密 216
13.10 个人中心管理 217
13.10.1 获取当前用户的API 接口 218
13.10.2 更新用户信息的API 接口 221
13.10.3 重置密码的API 接口 224
13.10.4 更新用户头像的API 接口 229
13.11 新闻文章分类管理 232
13.11.1 新建db_article_nav 数据表 233
13.11.2 获取新闻文章分类的API 接口 233
13.11.3 新增新闻文章分类的API 接口 236
13.11.4 删除新闻文章分类的API 接口 241
13.11.5 根据id 获取新闻文章分类 245
13.11.6 根据id 更新新闻文章分类 248
13.12 新闻文章管理 253
13.12.1 新建db_article 数据表 253
13.12.2 发布新闻文章的API 接口 254
13.12.3 获取新闻文章列表的API 接口 260
13.12.4 根据id 删除新闻 264
13.12.5 根据id 获取新闻文章详情 267
编辑推荐
《Node.js从基础到项目实践(视频教学版)》以理论结合实践的形式,讲解Node.js 基础、框架、进阶知识和项目实践。本书旨在帮助读者轻松、透彻地掌握Node.js技术,领悟到Node.js的开发精髓,快速提升至Node.js专业开发水平,真正迈入全栈工程师的行列。本书有以下特点。
(1)视频讲解,入门轻松。本书配套有相对应的视频讲解,通过视频讲解可快速切入主题,提高学习效率。
(2)案例丰富,本书几乎每个章节都提供了案例演示,且操作步骤详细,读者边学边做,可更有效地消化、理解所学的知识点。
(3)学以致用,实用性强。认真学习,可在短时间内掌握最实用的开发技巧。
(4)丰富的配套学习服务资源。为方便快速入门,本书配备了源码、课件、视频等学习资源,读者可扫描书中二维码学习、下载。