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

博客

重造宁皓网(一)

最近又打算重造宁皓网,琐碎的灵光难以拼凑成整体,一直没找到头绪。小雪建议我写写,我就写写,不过写着写着就跑了题了。现在的宁皓网还是我在六年前做的,基础结构没有发生什么变化,用的仍然是 Drupal 7 ,功能也几乎没有太大变化。从去年开始我就有想法想重造一下,想着用最新的 Drupal 来做,Drupal 8 非常的强大,再配合最新的 Commerce 模块,应该能造出功能更强,体验更好的宁皓网。

心里一直有个疙瘩,就是不太愿意写 PHP 的代码。这也纯粹是矫情,对于网站的最终用户来说,没人在乎你到底用的是什么技术。Node.js 给我感觉更好一些,更轻快,JavaScript 语言看上去也更舒坦。就是没有太大的自信,因为所有东西都要从头开始。年初的时候遇到一个 Node.js 框架(Adonis.js),大概是搜索 Best Node.js Framework 的时候找到的,了解了一下,惊喜地发现它跟我之前用过的 Laravel 框架非常相似。

Web 开发,真希望当初有人能告诉我这些(二)

有了基本的网络常识,了解了 Web 语言(HTML,CSS,JavaScript)以后,下一步就可以去学习 Web 应用的开发了。还不了解的话,可以先看看《Web 开发,真希望当初有人能告诉我这些(一)》。

应用,就是应用程序的简称,就像 App 是 Application 的简称一样。应用指的就是能运行在某些地方的可以提供某些能力的东西。Web 应用,就是在 Web 这个环境里运行的应用程序,再细化一点,还会有前端应用,后端应用,移动端应用 ...  作为开发者,我们要做的就是去开发这种东西。

有时候 “网站”(Website) 与 “Web 应用” 这两个词经常会交替使用,因为它们指的都是差不多的东西。网站指的更像是一个 “地方”,在 Web 上的一个地方,大家都可以来访问。Web 应用指的更像是一种东西,比如:“我做了个 Web 应用,它能帮我们管理自己的摄影作品。”

端,就是 “头儿”,这头儿,那头儿,就是这个端,那个端。在 Web 开发里,前端通常指的是浏览器这头儿,后端指的是服务器那头儿。前端应用就是在浏览器上运行的应用程序,后端应用说的就是在服务器上面运行的应用程序。

道别,姥爷

“王皓啊,这次要跟你道别了,我的好外孙。” 姥爷紧紧地用两只手抓住我的右臂。8 年前,姥爷随二姨一家搬到济南。那天,我走进站台,见到了远处的姥爷。头戴礼帽,手里拄着几年前他来济南时买的拐杖,里面好像还藏着一把剑。其实姥爷不太需要那把拐杖,我猜他应该是喜欢那个酷酷地感觉才这样的。我走近了,姥爷看到了我,顿了一下手里的拐杖,躲了一下脚,暴出一句粗话(山东口音),“他妈的,我还以为再也见不到你了。”

60 几年前,姥爷跟我现在相似的年纪。为了不让全家饿死,他背上了几块姥姥做的煎饼,拿了几块钱,跳上火车,从山东出发,去往一个他只在别人的家信上看到的一个地方,东北的黑龙江省伊春市,这也是后来我出生的地方。姥爷特别在乎自己的健康状况,你带给他的健康药,他都会很仔细地询问具体的吃法。有天深夜,他哆哆嗦嗦地走进二姨二姨父的房间,“你们快看看吧,我好像没脉了。” 已过鲐背之年的姥爷,身体向来很好。后来才发现,他是把氨茶碱当作安眠药吃了。

姥爷受儒家教育,年轻时对子女都非常严厉,吃饭时筷子怎么拿,给人家倒水时手应该放在哪里。年老以后也是非常注重礼节,对晚辈也是一样。每次我去看他,说几句话以后,他会让我出去跟二姨父聊天,然后他会安静地坐在一旁陪着,直到我离开。他早已不再是生活中的主角,大部分时间都是这样安静地坐着。

课程发布:《Node.js 应用:Websocket》

Node.js 应用:Websocket》介绍了开发具有实时功能的应用需要的 Websocket。客户端(比如浏览器)与服务端之间可以在实时沟通交流。

在服务端可以注册一些通信用的频道(Channel),每个频道下面月可以添加多个主题(Topic)。然后在客户端那里可以选择去订阅频道或者主题,这样在客户端与服务端之间就可以通过这个频道进行通信,客户端有什么事可以发送给服务端,服务端收到消息可以决定如何去处理。在服务端可以做广播,广播的消息在所有的客户端上都可以实时得到。

比如某个用户在某篇文章上发表了一条评论,服务端收到评论可以做一下广播,这样正在浏览这篇文章的其他用户不需要刷新页面就可以看到新的评论。在课程里我们会用一个聊天功能来演示如何使用 Websocket。

课程发布:《Node.js 应用:国际化》

Node.js 应用:国际化》这个课程介绍了为网站应用添加一个国际化功能,就是我们可以让网站应用支持多语言(简体中文,繁体中文,英文...),适应不同地区的用户需求。国际化的英文是 Internationalization,也经常简称为 i18n

课程发布:《Node.js 应用:邮件验证》

在 《Node.js 应用:邮件验证》 这个课程里,主要介绍实施了一个验证用户在注册时填写的邮件真实性的功能。用户注册成功以后,应用会往用户的邮箱里发送一封验证邮件,里面会包含一个验证链接,用户找到这封邮件并且点击了验证邮件里的验证链接,就可以完成验证邮件。

你可以在应用里做一些限制,比如有些功能只能让已经通过邮件验证的用户使用。这个功能的开发思路同样适用于验证其它东西,比如用户的手机号。大体的思路就是,在数据库里为用户生成一条验证数据,里面包含一个随机数,然后把这个随机数据用链接的形式发送到用户的邮箱里,用户点击了链接,应用可以读取链接里包含的随机数,查询出对应的用户,把他的状态标记为已经通过验证。

订阅宁皓网,每周都可以实实在在学到点关于 Web 开发的东西。

Web 开发,真希望当初有人能告诉我这些(一)

我希望自己在刚刚学习 Web 开发的时候,有人一开始就告诉我这些东西。

工具

准备一个代码编辑器,一个浏览器,你就可以开始学 / 做 Web 开发了。代码编辑器编写网站应用的代码,浏览器预览,测试应用的运行效果。如果你已经有了熟悉的编辑器,直接用就行。如果没有,Atom(来自 Github) 与 VS Code(来自微软),选择其中任何一个都可以。浏览器要用 Google 的 Chrome,或者具有 Chrome 核心的任何浏览器。

正在南京上大学的侄子发信息给我说他要学一下 DW 创建一个个人网站。他说的 DW 指的是 Adobe Dreamweaver,当初主打所见即所得,这个工具现在改进了不少,界面与功能看起来都很酷,但很少被真正的开发者使用。现在,你只需要一款简单、开源、可定制的代码编辑器。

我们的工具包会根据遇到的不同类型的任务慢慢进化。你不需要花太长时间专门去研究工具的使用技巧,因为你很快就会忘掉,它们有时候也会干扰到你。我推荐的做法是,直接上手用,遇到实在要解决的问题,或者大量的重复动作的时候,再去研究怎么通过额外的工具,或者现有工具的功能解决这些问题。就是按需学习,这样做效率会更高一些。

课程发布:《Node.js 应用:用户帐户》

在《Node.js 应用:用户帐户》这个课程里,你会学到创建自定义验证规则,独立的验证器,修改个人帐户信息与更新密码的方法。

验证规则可以验证数据的有效性,之前我们了解过一些规则,比如必填(required),唯一(unique)等等。因为这个课程里介绍了修改密码的方法,所以我们专门创建了一个数据的验证规则来检查用户输入的密码是否跟用户当前的密码匹配。因为在修改密码之前,要求用户输入他现有的密码。

验证密码要用到 Hash 提供的方法,因为我们存储的用户密码是 Hash 之后的,这样会更安全一些。用户在一个表单元素里输入明文密码,在自定义的验证规则里要用 Hash 方法去检验用户输入的这个密码跟存储在数据库里的 Hash 密码是否匹配。

《英语魔法师之语法俱乐部》#1:基本句型

《英语魔法师之语法俱乐部》是旋元佑老师,2001 年出版的一本英文语法书。旋老师讲的很好,如果我们只是想开口说英文,其实不需要学习语法,因为国外很多文盲也照样可以说一口流利的英文,不过如果你想写作,不懂语法就不行了。

其实我自己最想要的就是能够开口说英文,不过我想学一点语法应该会有帮助。初中的两年英文学习经历,只记住了名词有单数复数形式。还有什么时态,过去,现在,将来。句子里有主语,谓语,宾语,但是完全不懂是什么意思。

第一章:基本句型及补语

  • 主语:S(Subject)
  • 动词:V(Verb)
  • 宾语:O(Object)
  • 补语:C(Complement)

句型

  1. S + V
  2. S + V + O
  3. S + V + C
  4. S + V + O + O
  5. S + V + O + C

五种句型是由五种不同特性的动词造成的。所有动词中,解释为 “是” 的动词,表示空白,没有意思,这种动词需要用补语来补充句子的意思。

微信好友

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

微信公众号

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

240746680

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

统计

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

社会化网络

关于

微信订阅号

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