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

博客

自由行,准备出发!

参加小白兔的开发之路自由行的同学们,现在你可以自己在本地架设一个学习网站,启动本次的开发之旅:)

网站预览https://xb2.ninghao.net

设计这条学习路线用了我 650 小时,终于完成录制了 :)

终于完成了史上最完整的应用开发学习路线的录制工作,目前已耗时 650+ 小时,无数杯咖啡,整理的文字资料有 40+ 万字符,490+ 个视频,内容覆盖开发工具、语言,框架与思路,这是一条真正的可以从零开始跟着走的应用开发学习路线。现在只是完成了录制,还得做后期制作,1 分钟的视频大概需要用 6 分钟的后期制作与编辑的时间。

我们在这条学习路线里,会基于 Node.js 架构开发一个服务端应用。一切以实际需求出发,需要什么就学什么。我们会学习几种开发语言,比如  JavaScript,TypeScript 还有  SQL(数据查询),还要学习在任何应用开发工作流程里都会用到的工具,比如命令行,版本控制(Git),Github...

最终我们会在阿里云购买一台云服务器,练习使用 Linux 类型的操作系统,充分理解以后,我们再去搭建一个应用的生产环境,比如安装配置各种需要的服务,配置反向代理,申请 SSL 证书等等。然后再把应用迁移到这个生产环境上运行。

在这条应用开发学习路线里,我把每个关键的概念,语法,思路都做了解释。也就是你不仅可以跟着操作,也能清楚的知道自己正在做什么,为什么要这么做。

Deno:在 macOS 与 Windows 系统上安装与配置 Deno

Deno 是一种 JavaScript 运行环境,可以基于它开发服务器应用。JavaScript 语言可以在浏览器里运行,还可以在 Node.js 提供的环境里运行,现在我们又多了一个选择,就是在 Deno 环境里运行。在本地电脑上安装 Deno,可以使用系统的包管理工具,比如 macOS 的 Homebrew,Windows 系统的 Chocolatey。不过使用这些包管理工具安装的 Deno 的版本可能会比较低,所以我推荐用 Deno 提供的安装脚本。

JavaScript:Callback,Promise,async,await

用 JavaScript 语言写的应用里会有一些异步(Asynchronous)的动作,就是执行这些动作的时候不能马上得到结果,这个动作需要点时间。处理应用里的这些异步的行为有几种方法,比如可以使用回调函数(Callback),可以使用 Promise,也可以用 async 函数。

Callback

定义一个函数的时候可以让这个函数支持使用一个函数参数,这个函数参数就是 Callback,也就是回调。使用这个函数的时候可以给它提供一个函数参数,也可以说给它一个 “回调”。

示例:

迄今为止最完整的应用开发学习路线

图: Alex Pasquarella

最近为大家规划了一条可以真正从零开始的,迄今为止也最完整的应用开发学习路线,它有个可爱的名字叫《小白兔的开发之路》。这条路线会为你提供足够的工具,思路,概念与技巧。无论你是什么背景,这条路线都可以让你成为一名开发者。

设计这条路线至今我已经用了 500 多个小时,每个景点都是用心设计过的。途中涉及到了很多技术,从开发工具,到开发语言,应用框架,数据仓库,自动化测试,再到搭建云服务器与部署应用。全部都是精华,绝对不讲废话。

以往的学习路线都是把一些不同的课程拼凑到一起,这么做的最大的问题就是不连贯,你很难找出课程与课程之间的连接点。《小白兔的开发之路》是一条非常连贯的学习路线。比如在介绍数据仓库的时候,搭建好数据仓库服务,练习了基本的数据查询方法之后,马上就会到应用中去实践,做出一个功能。

“准备好” 这种状态根本就不存在

问题会不断出现,Bug 也永远都存在。不要试图解决所有问题,因为那是不可能的事情,问题会不断地涌现出来,不过这是好事,因为只有遇到了具体的问题,你才知道如何解决问题。掌握了基本的技能与工具就可以开始去做很多事情了,任何事情都是这样的。

比如你有个想法,打算自己驾驶一辆汽车去一个地方,你要做的就是先准备好基本的技能与工具。你需要一辆车,要学会驾驶,了解交通规则,这些就是你要自驾所需要的基础技能与工具。这就够了,在路上你可能会不断地遇到新的问题,适应各种路况,跟不同的人打交道,你永远都无法预估到遇到的所有问题,所以也就没有 “准备好” 这一说法,你要做的就是问题出现的时候,要想办法解决它。还好,问题不会同时出现 ,会留给你一定的时间与空间去解决现有的问题。

开发也是一样的,你想开发一个应用,掌握基础以后,就可以开始动手去做,遇到问题再想办法解决。不要害怕问题,也不要追求准备好这种状态,因为这是不存在的。《小白兔的开发之路》就是训练你的基本开发技能,给你足够的技术与工具,让你可以起步去做你想要的应用。

2019 年度开发者调查报告<Stack Overflow>

Stack Overflow 是国外一家非常著名的技术问答平台,我们总是经常能在这个网站上找到问题的答案。2019 年他们调查了 9 万名开发者说出自己最爱的还有平时用的开发语言,框架,工具。 JavaScript 仍然是最受欢迎的开发语言,Node.js 是最受欢迎的框架,VSCode 是开发者最爱的开发工具。

初学者要先学哪个应用框架?

在库,框架,还有系统里面,我推荐大家可以先选择学习一款框架,因为框架比库更强一些,又比系统更简单,更灵活一些。我们决定基于 Node.js 来做一个服务端应用,所以就可以去找一款 Node.js 的服务端应用框架。

不夸张地讲,Node.js 拥有地球上最大的技术生态社区,所以你可以选择的应用框架非常多。你比如 Egg.js,蛋蛋框架,Express.js,快递框架,Nest.js,鸟窝框架,adonis.js,型男框架,等等吧,太多了。

因为 Node.js 应用都是用 JavaScript 语言写出来的,所以这些框架都会带着一个 .js 的后缀,一看到这个后缀你就知道这个是东西是用 JavaScript 语言写出来的。这个只是在 JavaScript 社区里面经常会用到的一种命名的方法,不是必须非常这么做。

哪种开发语言最适合初学者?

推荐初学者先学 JavaScript 这门语言,先完成这些训练即可学习后端应用开发:《小白兔的开发之路:熟悉语言》,订阅宁皓网就可以在线学习了:)

要开发一个应用,你至少呢,先得懂一门开发语言。就是,你得使用一种特定的语言来表达自个儿的一些想法,然后把它包装成一个应用,再把这个应用放到一些机器上边去运行,你比如说,电脑,电视,手机,手表之类的。

Linux:理解文件与目录的权限

想用密钥的方式验证登录,authorized_keys 文件里的内容很重要,也就是它里面应该包含想要通过密钥方式验证登录的设备上的公钥文件的内容。另外这个文件的权限也非常重要。

查看一下用户主目录下的 .ssh 目录里的东西:

[wanghao@xb2-node ~]$ ls -la ~/.ssh

drwx------ 2 wanghao wanghao   61 Jan 11 20:54 .
drwx------ 3 wanghao wanghao  111 Jan 11 20:54 ..
-rw-rw-r-- 1 wanghao wanghao  401 Jan 11 20:54 authorized_keys
-rw------- 1 wanghao wanghao 1823 Jan 11 19:27 id_rsa
-rw-r--r-- 1 wanghao wanghao  398 Jan 11 19:27 id_rsa.pub

观察一下 authorized_keys 这个文件的权限,在列表的最前面那块字符表示的就是文件或者目录的权限。当前这个文件的权限是:

微信好友

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

微信公众号

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

240746680

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

统计

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

社会化网络

关于

微信订阅号

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