限时优惠(截止 22 日),新订年付会员送 3 个月、续订/重订送 12 个月会员,查看 2019 自学路线 →

博客

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

三月份可能感觉太疲惫了,月底的时候做了决定,停用社交网络一个月。这个月每天工作 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 语言开发网站应用的后端服务。

内容更新:《Node.js 应用:模型》

现在我们可以去理解应用里的 模型(Models)相关的东西了。一个模型是一个类,你可以使用框架里的命令行工具去创建模型文件。每个模型都会对应数据库里的一个数据表,比如你创建了一个叫 User 的模型,默认它对应的就是数据库里的 users 数据表。注意模型是单数,数据表是复数形式。

使用模型上提供的方法我们可以去处理数据库里的数据,后面我们会学习如何在模型里定义数据之间的关系,还有怎么利用定义的关系 。这个课程我们主要目的是,学会创建与模型的基本使用方法,我们要用模型上的方法来改造之前使用 Query Builder 实现的对资源的 CRUD(创建,读取,更新,删除)。

订阅宁皓网,现在就在线学习这个课程吧(《Node.js 应用:模型》):)



微信好友

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



微信公众号

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



240746680

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

统计

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

社会化网络

关于

微信订阅号

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