成功 / 失败的故事听起来都是那么动人,但只有属于自己的故事才真的有意义。让我们开始创造点什么,无论成与败,最终你都会捡到一个动人的故事可以讲给你在乎的人听。
独立自学
把要学会的技能分割成一些可以执行的训练,在一段连续的时间,每天做完一定量的练习,这就是我试过的最简单有效的自学方法。几年的自学经验,总结出来的方法就这么一句话。方法很简单,注意两个重要的因素:1,可执行的训练,2,连续一段时间。
学习就是一个训练的过程,没窍门,无捷径,至少我还没有找到。中文很厉害,“学习” 这个词里面就包含了学习的最重要的方法,“学” 是模仿,“习” 是练习、训练,所以 “学习” 就是模仿着跟着训练。训练内容要可执行,就是你真的能够跟着去做,这就需要训练的内容是要经过设计的,设计的时候就要具备这种可执行性。很多材料并不具备这种可执行性,比如有些理论书籍,技术大会的演讲等等,你都很难跟着去做训练。
连续的时间指的是连续几天,一段连续的时间也非常重要,这会提高学习的效率。因为头脑在切换任务的时候都需要一点预热的时间,连续在一段时间做同样的任务会减少这个预热的时间。如果我在某段时间做服务端开发相关的事情,转换去做移动端的时候,就需要先适应一下,有时也需要看看自己以前做的视频:)
使用上面提到的学习方法会带出两个主要问题,一是练习怎么安排,谁来安排,安排什么。二是如何解决练习中遇到的问题。我自学的时候,解决这两个问题全是靠自己。首先要到处搜集各种练习资料,然后再做出判断,选择最合适自己的。你不可能适应所有人的表达方式,有些人讲的你就是听不懂,或者没有耐心看下去。
练习中难免会遇到各种小问题,这些问题对于你要真正学到的东西可能无关紧要,但是得不到解决又很难继续。我也是全靠自己解决遇到的各种障碍,每个小障碍都需要到处搜集各种线索,然后做出自己的判断,再去亲自实验方法是否有效。
我这种孤独地自学方法可以称为 “独立自学”。独立自学的最大好处是不依赖任何活人,只需要一台能连接互联网的电脑,一颗坚韧不拔的心。不过缺点也是挺明显的,就是浪费了大量时间在无关紧要的事情上。
为你安排好经过验证的、有效的、可执行的训练,辅助你解决在练习中遇到的各种小障碍,为你指出什么重要什么不那么重要,你只需要按照计划去执行训练,最终获得所需要的技能。这会让自学过程更愉悦,节省了大量时间,成功率也会更高一些。这种方法可以称之为 “豪华版独立自学” 。
参加训练营
6/15 - 6/30,宁皓网将会做一次基于 Node.js 的服务端(后端)应用开发训练营,现在可以报名来一份豪华版的独立自学。我精心准备了 15 组训练,外加一些与训练内容相关的精细讲解,你需要每天做完一组训练。完成所有的训练,你将获得开发服务端应用的技能。
自学开发的路径千千万,从哪里走都是可以的。不过我更推荐初学者先学习服务端应用的开发,这是 App 的灵魂。你要学会做一个完整的 App,要做用户界面,还得给它搭配一套对应的服务。这个用户界面也被称为前端应用、移动端应用。App 需要的服务也可以叫后端应用或服务端应用,之所以叫服务端应用,是因为它一般会在服务器上运行。
用户通过用户界面使用 App,在使用中,很多动作都需要发送到 App 的服务端进行处理。比如用户在登录界面输入了用户名与密码,按了登录按钮以后,就会把一个登录请求发送到服务端,服务端接收到请求可以验证用户的身份,再做出相应的响应。
这次训练营的主要目的就是让你掌握一套服务端应用的开发技能。我们要学会如何创建服务接口给用户界面提供服务,设计存储应用数据用的数据表,处理存储在数据库里的数据,利用内容与内容之间的关系,给内容添加分类,打上标签,可以评论内容,对内容列表做分页与排序,要验证用户的身份与权限,处理文件的上传 ...
Node.js
开发服务端应用的方法很多,使用不同的程序语言、不同的应用框架。我现在推荐基于 Node.js 开发服务端应用,它对初学者极为友好,不需要配置复杂的运行环境,在电脑上装个 Node.js,准备一个编辑器就可以开始了。Node.js 不仅可以做服务端应用,前端应用开发需要的工具很多都是用 Node.js 做的,它还能做桌面端应用,比如我们在训练营中要用的代码编辑器(VSCode)。
语言
开发任何类型的应用,你都需要使用某种特定的语言告诉计算机你要做的事情,这个语言就是程序设计语言,这一类型的语言一般不是用来说的,而是要写出来。就是你要使用某种程序语言表达出你的想法,其实写出来的东西就是一些有特定语法的英文而已。程序语言不会是大问题,你学会了其中任何一种,对学习其它的程序语言都会有帮助,它们只不过个性有些不同。
可以做服务端应用的程序设计语言有很多,开发基于 Node.js 的服务端应用,要用的程序语言叫 JavaScript。这门语言可以作为你的第一门程序语言,即使你不打算用 Node.js,JavaScript 也是必学的语言,为应用设计开发在浏览器上使用的界面的时候也会用到,开发前端应用、小程序都会用到。
框架
虽然我们要基于 Node.js 开发服务端应用,不过一般不直接使用它提供的原始材料开发,而是会先选择一些应用框架, 基于这些应用框架去开发。框架提供了很多常用的东西,更重要的是提供了开发与命名的方法。这次训练营中我们要用的应用框架叫 Nest.js,可以用它创建高效可扩展的企业级服务端应用,它是这次训练营中的主角。
Nest.js 是去年在 Github 上星星数增长最快的 Node.js 应用框架,在 npm 的周下载量(60k+)也远超同类型的应用框架。当然我们不能完全用流行程度评判东西的好坏,我亲自试过之后,也觉得这是一套相当优秀的应用框架。我打算用它创建一个新宁皓。
Nest.js 虽然年轻,但已经有很多企业级的应用出现了。比如西南航空的一款应用的服务端就用到了 Nest.js 框架。
有人用这款框架为医院创建高可用医疗聊天应用。
训练方式
我们不需要太多花招,其实有个微信就足够了,不过暂时先把微信做为备用,我基于一个 Node.js 的开源系统布署了一个在线交流的网站。6 月 15 日 — 6 月 30 日,每天在这个网站上发布一组训练内容,训练内容会配套一些精细的讲解,训练营成员要完成当天的训练,有疑问及时提出,我会给出问题的参考解决方案,但肌肉还是得靠自己练。
训练营开始之前,成员会得到一个可以登录这次训练营网站的帐号。这次训练营帮你解决的两个主要问题,一是不用自己花时间精力安排训练内容,二是有问题能及时得到响应。
第一批报名还剩最后 3 天(价格优惠并赠送进阶训练),现在就报名参加 →
结语
如果你之前用 WordPress 或 Drupal 做过一些网站,可能会觉得所有的功能都可以找到模块来实现,根本用不着自己动手开发。其实反过来想一下,学了又没啥坏处,一定是有帮助的,而且这是两种不同的体验,所以非常期待你参加这次训练营。
故事听了很多,该去撰写自己的了。如果你对网站、应用开发感兴趣,请不要错过这次机会。更欢迎想要跨界的同学来参加,这会是你的最佳起点 :)
评论
真是非常好的课程,可惜我这基础太薄弱了,很多依赖以及工具都还没有掌握。
5 年 6 个月 以前
嘿嘿,挑战一下:)
5 年 6 个月 以前
具体什么形式的?不按时间来训练可以么。。会不会跟不上?。。手里还有项目在做比较忙。。每天估计也就一个小时。。。周末还凑合。。
5 年 6 个月 以前
时间不够用,不行。
5 年 6 个月 以前
好吧。。。所以买了也没法后期自学是么。。。
5 年 6 个月 以前
嗯,等有时间再说:)
5 年 6 个月 以前
好的,感谢
5 年 6 个月 以前
Nest.js是我目前见过最优雅的后端框架,搭配装饰器,泛型这些特性,写的代码真是舒服。比rails,django,laravel这些号称优雅的框架更简洁明了。
5 年 6 个月 以前
嗯,真的是不错。我打算用它再做点东西,嘿嘿。
5 年 6 个月 以前
目前项目在用React.js, 我自己的项目在用Nuxt.js, 那么Nest.js就暂时不学啦~ 等以后有其他课程再参加~~
5 年 6 个月 以前
看了看挺像 SpringMVC 的, 那为什么不直接用 Java 呢?虽然设计理念很好,但是实际开发体验比 eggjs 差了很多,特别是 nestjs 中间件的设计,可以说是相当的反人类。
5 年 6 个月 以前
各有特点吧:)
5 年 6 个月 以前
皓哥 可以试着在Java这个生态开展一系列课程呗,毕竟Java的受众比较多(*^-^*)
5 年 5 个月 以前
嘿嘿,弄不过来了,最近还是会专注 Node.js 。
5 年 5 个月 以前
这个训练营需要什么样基础的开发者来学习?
5 年 6 个月 以前
最好懂一点 JavaScript,不懂也没关系,现学嘛。
5 年 6 个月 以前
每天需要花多久在这个上面呢
5 年 6 个月 以前
是视频课么,视频可以下载么,我想以后可以再看一下复习可以么
5 年 5 个月 以前
嗯,视频可以下载。
5 年 5 个月 以前