🦄 2024 独立开发者训练营,一起创业!查看介绍 / 立即报名(剩余8个优惠名额) →

博客

课程更新:《Node.js 应用:重构与改进 #1》

Node.js 应用这个系列课程的主要目的是介绍网站应用开发背后用到的一些方法。每隔一段时间,我们会重构与改进一下课程里做的项目。在《Node.js 应用:重构与改进 #1》课程里,我们先用 Bootstrap 框架的卡片组件改进了一下用户注册表单。然后介绍了组件的定义与使用方法,理解内容关系更新,还有使用 Flash 信息显示用户操作提示。

课程要点

  1. 定义与使用视图组件。
  2. 表单元素在应用中的使用方法(文本框,文本区域,单选按钮,复选框)。
  3. 内容关系的更新方法。
  4. 用 Flash 信息显示用户操作提示。

订阅宁皓网,在线学 Node.js 网站应用开发。

停用社交网络的这个月我都做了些什么

三月份可能感觉太疲惫了,月底的时候做了决定,停用社交网络一个月。这个月每天工作 6.3 小时,写了 10 万字的课程。工作时长没增加多少,但是效率提高了,感觉也轻松了很多。每天工作 6.3 小时,写了 10 万字+(中文 + 英文 + 数字 + 标点)的网站开发课程(Node.js)。我本以为工作时间会比平时多很多,但是一统计,其实跟去年的平均工作时间  6 小时是差不多的。但我能明显感觉到工作效率提升了很多,也不再疲惫了。

内容更新:《Node.js:用户注册》

Node.js:用户注册》先回顾一下应用里的用户相关的东西,比如创建 users 表的 migration,users 表对应的 User 模型,还有 users 资源控制器 UserController。然后用 Bootstrap 的表单组件设计一个注册用户用的表单,表单上面有普通的文本框元素,密码元素,还有邮件元素。

创建资源的时候,可以使用一些 Hook,在资源的某个阶段去执行一些动作。比如在把用户的密码保存在数据库里之前,先得 Hash 一下密码,这样才会更安全。

Validator 是课程里介绍的新概念。我们可以为表单元素添加一些验证的规则,用户提交表单的时候,如果填写的数据不符合这些规则,可以显示一些提示信息。在用户注册表单上, 我们使用了 Bootstrap 为表单提供的警告提醒样式来显示这些验证信息。

以后我们还会继续学习这个 Validator,可以自己定义新的验证规则,还有验证信息。现在应用里的字符都是英文,在以后介绍国际化功能的课程里,我们会把这些字符根据用户的设置转换成不同的语言。

订阅宁皓网,每天进步一点。

邮件验证功能的设计开发思路(Email Verification)

用户成功注册以后,会往用户注册时填写的邮箱里发送一封验证邮件,用户登录到自己的邮箱,找到验证邮件,点击邮件里的验证链接,完成验证。在 Node.js 应用开发课程里添加了一项邮件验证功能,这个功能的思路也可以适用于短信验证,或者其它的验证方式。

思路

在用户(users)表里,添加一个表示是否验证过的字段,验证过它的值就是 true,默认可以让它的值是 false 。再去创建一个验证信息表(verifications),里面需要用户ID(user_id),随机字符(token),创建时间(created_at) 这几个字段。在用户与验证信息数据之间建立关系。

MailHog:准备本地开发测试的邮件服务

在做 Node.js 应用开发课程里,介绍应用的邮件功能的时候,我需要一个在本地测试应用的邮件功能。可以使用 MailHog 提供的服务。它提供了一个 Web 界面,可以检查应用发送的邮件。运行 MailHog 最简单的方法是用 Docker,在本地安装 Docker for mac 或 Docker for windows。在命令行下面,执行:

docker run --name mailhog -p 1025:1025 -p 8025:8025 -d mailhog/mailhog

上面就是基于 mailhog 镜像创建了一个容器,给它起了个名字叫 mailhog,你可以使用这个名字控制容器的状态。-p 设置了两个端口。1025 是发邮件用的端口,8025 是 Web 界面用的端口。

内容更新:《Node.js:内容关系 #2》

Node.js:内容关系 #2》主要介绍了利用之前我们在内容之间定义的关系。理解使用 EagerLoading 的方式获取到与内容相关的内容。比如在查询文章列表数据的时候,带着与文章相关联的用户数据,还可以带着与用户相关的用户档案数据。

还有一章介绍了如何保存内容关系,我们用了两个简单的例子,在创建文章的界面上显示一组单选按钮,选项是网站上的用户,还有一组复选框,选项是网站上的标签。保存内容的时候,还需要保存内容的这些关系。理解了这两个例子,你可以去创建更复杂的内容发布界面。

订阅宁皓网,每周进步一点,在线学习网站应用开发 。

内容分页器功能的设计开发思路(Pagination)

分页器上应该有前进与后退按钮,可以向前向后翻页。还要有一组页码,点击页码打开对应的页面。页码如果太多不能全部显示出来,可以只显示当前页的前两个项目,后两个项目,再加上第一页还有最后一页。

Node.js 网站应用开发课程进度:文件上传与处理

已经发布了创建与利用内容关系,接下来会介绍用户注册与登录。然后我们就会介绍到文件上传与处理了。你会惊讶在 Adonis.js 这套 Node.js 框架里实现文件上传与处理是多么简单。你可以把文件上传到项目本地,也可以直接把文件上传到远程服务,默认支付亚马逊的 S3。后面我们想办法让它支付阿里云的 OSS 或者七牛的文件存储服务。

内容更新:《Node.js:内容关系》

网站上会出现不同类型的内容,这些内容之间可能存在某种关系。比如你可能希望用两个数据表存储用户相关的信息,一个是用户帐号的基本信息(users),还有一个存储用户的个人档案(profile)。这就需要在这两种内容之间创建关系,这样你就可以在获取到用户基本信息的时候,也可以得到与他相关的个人档案数据了。《Node.js:内容关系》课程介绍了在应用里创建与利用内容关系。

课程会先用应用提供的 Seeder 去往数据表里插入一些数据,然后实践了一对一,一对多,还有多对多的关系。用户与文章之间就是一对多的关系,一个用户可以发布多个文章。文章与标签之间的关系就是多对多的关系,一个文章可以贴上多个标签,一个标签可以包含多个文章。使用内容关系是开发网站应用必须要明白的东西,几乎任何网站应用上都会用到内容关系。

现在订阅宁皓网,就可以在线学习所有 Node.js 与相关课程了,赶紧的吧 :)

网站应用开发的学习主线(后端):Node.js

最近每周都会不断更新 Node.js 应用开发课程,把它们当成你每个礼拜都要完成的任务,每个礼拜都进步一点。我想明年这个时候你一定就会具备一定的开发能力了。过了这个坎儿,你将会拥有大量的可能性。

学了几个系统与框架,最终我认为 Node.js 是最适合的,特别是我遇到了一个用着非常舒服的框架以后,我更是这么觉得。首先 JavaScript 语言就非常适合初学者,即使它不适合,如果你想做网站应用开发,你也得学习这门语言。Node.js 的最大好处就是让你可以使用 JavaScript 语言开发网站应用的后端服务。

微信好友

用微信扫描二维码,
加我好友。

微信公众号

用微信扫描二维码,
订阅宁皓网公众号。

240746680

用 QQ 扫描二维码,
加入宁皓网 QQ 群。

统计

15260
分钟
0
你学会了
0%
完成

社会化网络

关于

微信订阅号

扫描微信二维码关注宁皓网,每天进步一点