跳到主要内容
success

3R教室三周年纪念版 -《TS全栈开发与变现实践》正式上线,关于本课程的快速学习和使用步骤,建议查阅社区使用指南

📝前言

👇关于远程自由工作的阐述(强烈建议点开查看)

"远程自由工作"是3R教室的核心概念!思路来源是遍地做小生意的个体户、中小乡镇企业、早年间起飞的电商运营者以及海外的一些创造了巨额收入的个人或小团队开发者。这是与头部一二线零零碎碎几个大厂统一互联网,而大家都进去打工卷的方式是相反的两个极端。也就是我们不需要集中力量做大规模事业,而是分散力量各搞各的,然后也能创造出惊人的收入。与此同时,享受无限的时间和空间自由,并且不必担心被裁员等问题,只为自己的事业负责和奋斗。也不用全部集中去大城市当打工人,而是在三四县城市甚至小县城就可以通过远程/本地盈利,从而获得比大厂上班还要高的收入,比一线城市低得多的房价与消费。简单来说就是:化整为零

所谓自由工作,其介于打工和开公司创业之间,风险接近于上班而收益和自由度趋近于创业。相当于小成本或零成本的个人远程小微创业,一般成长路径为先从个人全栈(本职工作轻松的话也可以兼职)开始,然后有一定盈利规模后注册一个个体工商户经营,再进一步就是获得一笔种子轮投资做大做强或者就成立一个小规模纳税人的独资小企业长期躺平式经营。类似于程序员和生意人直接的结合体!

相对于坐班来说,站长认为,在如今的大环境下(总之不是很好的经济环境),自由工作可能是未来几年、十几年甚至几十年的趋势!因为这更加适合普通人。而一味的卷八股可能卷到最后毛都没有一根,因为当前甚至有些皮包公司或OD现在都要求211以上了😅。并且该裁员还是裁员,该失业还是失业,命运永远掌握在他人手里。大部分人也不是一线土著,高额的房价和消费以及身在异地,使得很多打工者没有任何自由且背负了巨大的生存压力和孤独感!目前来看,后续打工的风险不仅比自由工作大,甚至超过了创业,而收益却很一般,性价比并不高!

狭义上的自由工作并不包括远程工作(或者说是"数字游民"),因为这是最不自由的自由工作。但为了概念统一,我们暂且把远程工作也算在自由工作的一部分吧。远程工作从根本上来说还是在打工,甚至是不如坐班的临时工。不过远程工作虽然有诸多缺点,譬如,不稳定(随时无需赔偿的解约)、容易被白嫖、部分需要口语(大部分不需要)、有时差、每天有会议、容易007等等问题。但如果运气足够好的情况下,的确可以找到比较适合的长期远程工作。教室里不乏有做了好多年的稳定高薪远程工作的会员同学。另外,与坐班相比虽然缺点较多,但是也有一些优点。比如相对来说不卷一些(当然Java这些国内很卷的技术栈远程同样非常卷...),而且减少了通勤和大城市的生活成本。如果觉得自己比较适合打工,无法承担自由工作的风险。那么,具体选择坐班还是远程,这是一个仁者见仁智者见智的问题了。而真正的自由工作相对于远程打工来说,成功率虽然低很多,但是天花板高太多。一旦形成稳定的私域圈子和流量来源,那么,将会有源源不断的收入。并且在干自己喜欢的事的同时,也不必担心被裁员或者辞退而换工作。同时,如果做得比较出色很容易实现财务自由,融资等。另外就是,想休息就休息,每天都是非常充实和充满激情的状态很棒。这也是当初站长在如此困难的情况下,辞掉远程工作,选择自由工作的原因所在!远程工作作为一个临时缺钱或者坐班刚被裁,失业且无存款的情况下的过渡还是可取的。但是,并不建议作为终身事业。因为总有代码写不动、设计做不动的时候,而且老是换工作命运掌握在他人手里也不是很好。这时候,你会发现拥有自己的事业是多么好的体验。打工无论远程还是坐班总是处于一眼望到头的焦虑中,做"数字游民"始终不是长久之计,而创业的人生永远充满着未知的激情和挑战!

相对于高成本创业来说,自由工作模式的远程协作式、小微创业模型,极大地减轻了经济层面的负担!一般做自由工作,我们会从个人或者一个个体户开始。而个体户的核定征税税额非常之低,基本在三个点以内(这都包含了个人所得税),甚至有些地区全免税的。相对于公司来说,少去了一大部分运营成本。再则,一般公司运营的话你需要招聘人员发工资和社保等等,加大了创业的负担。而个体户则不需要这些,譬如,你是通过接单实现盈利,那么,只要从互联网或者我们教室里找几位合作伙伴一起开发,扣除开发成本后,所得利润就是你的。而客户一般都是442付款,这样可以保证你稳赚不亏,极大地降低了风险。且口碑佳的情况下,每个项目又会有长期维护费,且容易形成老客户带新客户的模式,从而不断有稳定收入。又比如卖课、自己写作品卖这种无成本的经营方式,那么,个体户如果120万一年以内的盈利收进来的钱就全是你的不需要缴纳一分钱税收。而小规模的独资企业税收也是非常之低。从成本上来说,自由工作的方式不仅比开个股份企业的风险小得多,税收方面比打工要缴纳的个人所得税也低的多。而且风险极低,非常适合IT工作者

所以综合来说,自由工作相对坐班打工拥有无限的自由度和前景,比远程工作拥有更好的稳定性和更高的天花板,比传统创业风险更低且更有弹性!理想状态是:想出去游玩、逛商场、玩游戏、陪家人、朋友聚会就随时可以;想猥琐赚小钱过生活也不成问题,想扩大规模只不过需要投入更多精力和需要更多的运气而已;

对于自由工作者来说,最重要的好处是可以快速实现时空自由,运气好一些即实现财务自由

举例来说,以下都属于自由工作者范畴

  1. 远程工作其实狭义上不属于自由工作,因为除了没有通勤外,压根感受不到自由。是最不自由和天花板最低的自由工作,适合临时顶一顶
  2. 承接海外远程项目并且获得一定的渠道客户,从而实现专业的应用定制化工作室(类似3R工作室)。当然upwork、众包平台、闲鱼等领任务的不算,那个不叫自由工作叫苦力。正常情况下还不如找个班或者送个外卖来得实在😅。好的客户都是通过流量引进,通过谈判拿下项目,而不是领任务吃残羹冷炙
  3. 本地三四线城市或者小县城租个办公室开始接本地中小企业或店面的外包。有好几位3R同学在这方面做得非常出色了,包括站长以前也长期从事这方面。但是这个完全靠销售能力,跟"远程"和"技术"已经没啥关系,基本纯靠见面吹了
  4. 成为独立开发者通过销售你开发的订阅制应用获得长期稳定的被动收入
  5. 成为平台运营者搭建一个网站或其它自媒体平台,并通过广告与VIP获得长期稳定的被动收入
  6. 成为知识付费产出者通过学习网课制作销售等获得长期稳定的被动收入以及其他被动收入
  7. 拥有自己的众包联盟平台和一堆廉价开发者群,从某些平台打出广告无限进单收取利润
  8. 或者做跨境电商、传统软件二开销售行业等等
  9. ...

自由工作的种类特别多,但是对于以开发者为主要群体的3R教室社区来说,我们有自己的自由工作界限

下面这些就是3R教室中的"自由工作"范畴

备注

右键->新标签打开图片放大

总体来说,自由工作非常适合具有一定技术能力,但是讨厌打工和内卷。然后通过在掘金课学习一些营销知识和写作技巧、私域技巧、谈判技巧等,再加上一些运气,最终脱离为他人工作和裁员焦虑,实现为自己打工的朋友!

👇关于3R新课的创作背景(强烈建议点开查看)

站长从07年开始长期学习与从事php、perl、delphi、haskell等技术的编码工作。在2010年之后,虽然当时也尝试了当时新兴的angular.js 1.0和backbone、gulp这些技术,但由于年代限制,所以也没太深度使用,前端部分一直停留在使用jquery、extjs这些老式技术的阶段。直到17年左右,随着时代的发展和大前端时代的到来,接触到了typescript及其相关的react、vue等生态,接着就一发不可收拾喜欢上了。后来通过前端作为桥梁又接触到了node.js领域以及相关的nestjs等生态,发现使用js/ts开发后端也越来越得心应手,编码体验并不亚于php、 python等技术。随着js/ts生态的慢慢成熟和发展以及各种开源生态和企业/商业应用的出现,js/ts的生态在各个领域不断成长和遍地开花。如今的ts的开发领域几乎涵盖绝大多数常见的领域,比较成熟或常见的使用范围大致覆盖以下领域

  • 使用react等框架可以开发各种普通web应用以及web3应用、chrome插件的前端
  • 使用next.js等框架可以开发SEO友好的SSR网站的前端,甚至轻量的全栈开发
  • 使用node.js以及在其之上构建的nestjs、fastify、hono.js等框架可以构建高性能与高可用的应用后端
  • node.js也是faas/serverless的最佳后端工具,例如结合vercel就可以极速地上线mvp版本的应用,又比如小程序的云函数开发等
  • node.js也适合构建各种命令行CLI工具、区块链以及爬虫等应用,甚至还能在性能不敏感的一些嵌入式应用发挥作用
  • 使用electron、tauri等可以开发跨平台的桌面应用,例如新版的QQ、vscode等就是使用它开发的
  • 使用react native、ionic等可以开发跨平台的移动应用
  • 使用taro、uniapp等可以开发小程序,而原生小程序也是使用JS/TS开发的
  • 使用three.js、babylon.js等框架可以开发web 3d应用

现在,大部分的云厂商SDK和AI的大模型提供了完善的node api,除了一些极端关注性能的偏底层应用或数据和代码结构超级复杂的企业级应用外,JS/TS以及Node.js基本都能满足大部分场景的开发需求。也就是说,TS作为JS的类型版本,仅学习这一种编程语言,绝大多数情况下能开发各类应用了

然而,每个技术栈都有其特性

对于web前端而言,无论是spa还是ssr,无论是网站还是各类中后台应用,使用TS开发几乎是唯一选择,因为使用其它如wasm等技术去开发前端目前来说,大多数正常情况下是用不到的。同样地,对于小程序开发来说js/ts也是唯一选择

对于移动客户端和桌面应用来说,虽然在一些性能要求较高且不需要跨平台的场景下,比如手游,PC系统工具等,还是会选择flutter、kotlin、swift、c#等。但现在越来越多的性能和包大小不敏感的应用都会选择TS来解决。比如京东app会使用到react native,腾讯QQ会使用electron... 而react native、electron等框架本身的生态也是已经相当成熟了,各类使用这些技术栈的商业应用层出不穷

对于后端应用而言,node.js相关的各种框架和ORM以及中间件SDK的出现,使得其越来越受新时代开发者的喜爱。这不仅仅只是由于其简单易上手的特性,更是因为他可以与前端一起使用一种语言进行同构,在生态上可以无缝整合。现在,大部分的云厂商SDK和AI的大模型提供了完善的node api,除了一些极端关注性能的偏底层应用或数据和代码结构超级复杂的企业级应用外,JS/TS以及Node.js基本都能满足大部分场景的开发需求。也就是说,TS作为JS的类型版本,仅学习这一种编程语言,绝大多数情况下能开发各类应用了。但node.js相对于其它技术栈也有其自身的优缺点,没有一种技术是万能的,我们来看看他与其他技术栈的对比

  • 与php相比,虽然异步IO的性能相对于原生的php-fpm(swoole、workman等除外)更强一些,虽然生态上还是缺乏一些类似wordpress这种成熟的开箱即用的开源产品。一众node.js框架也远没有达到laravel、symfony这种完善度。但node.js有着前后端一体化的优势存在,是当下以及未来的php最完美继承者
  • 与python相比,node.js更适合web后端开发,而在AI大模型和科学计算方面等领域虽然不如python,但在爬虫、运维工具、命令行工具等开发方面并不弱于python。而web后端方面,则在性能、便捷性等全方位优于python。且node.js的一众框架也并不输于fastapi、django等框架,还有前后端同构的优势,所以,如果后端开发在python和node.js之间选择,毋庸置疑,肯定选择node.js
  • 与go相比,node.js这种解释性引擎不仅在性能上远弱于即使带了gc的golang,同时,在微服务方面也是非常勉强的。node.js更加无法像go一样胜任云计算的底层开发。而node.js前后端一体化易于部署和开发,适合作为go和rust前中期的替代、轻量级的hono.js、fastify等框架也方便在项目高速发展期把后端随时替换成go或rust与微服务架构以适应业务需求。可以在学习node.js之余,学习rust,因为它在很多场景下用来做node.js的基建。也可以研究golang,因为在后期你可以忽略不计开发成本,不需要前后端一体时,golang明显就是node.js的升级版!
  • 与java相比,node.js的生态几乎是被吊打的。php拥有着非常完美且成熟的开源生态圈,而java则是拥有一个完整成熟的商业生态圈。一个spring全家桶几乎是无敌一样的存在,且nestjs在开发复杂数据结构的企业级应用方面也是无法与java这种重量级的生态相比的。java非常强大,拥有者良好的生态,性能中上、适合具有复杂的架构和数据结构的企业级项目,适合团队协作等等优势。但Java在求职和变现方面的"卷"和开发效率的"慢"(就算spring boot,开发中小型的效率也是如此拉胯)是出了名的,所以没必要说太多
  • 与.net相比:.NET同样也可以前后端一体化且性能方面也比node.js更出色,就算远程/海外/外企求职等求职领域也不输node.js。然而node.js的前后端一体化更加全面,且生态方面更加开放和完善,并且使用者数量也多。另外,把自己的技术栈局限于一家公司之内,也许并不是很好的选择

node.js和前端一体化同构以及所有厂商云函数的优先级等巨大的优势是其它所有技术栈无法媲美的。所以,综合来说,node.js作为后端运行时,更加适合于初创期的团队或独立开发者用来构建快速上线的轻量级MVP单体应用。在许多情况下,用来可以用于替代php和python等解释型语言

比如,使用next.js作为前端,使用hono.js这个node.js作为后端,使用route handler整合后,快速上线一个前后端一体化的web应用。后续随着用户量和并发要求的不断提高,在一个合适的时间段,把后端部分使用golang的gin或者go-fiber等框架或者微服务架构进行重构

又比如,使用nestjs+vite+react+monorepo模式开发一个快速上线的中后台应用,然后在后续数据结构越来越发杂,应用规模越来越大时,可以使用spring boot来替换掉nestjs进行重构

总之,node.js作为后端的定位,并不是企业级或者微服务。而是与前端一体化同构,快速上线一个轻量级的应用。从而降低开发成本,让研发者把更多的时间和精力放在产品本身的运营上

除了技术层面的优势,在求职、变现和创业方面,TS全栈开发也表现不俗

比如在求职这块,如果你的目标是求职大厂后端,node.js后端显然不适合,只学习TS的纯前端部分技能即可(许多大厂也会选择node.js作为中间层转发请求)。不过求职大厂,跟技术关系不大,最重要的还是学历😄。而TS全栈相关的react、next.js、node.js等技术栈在求职领域的主场则是在

  • 远程工作
  • 外企求职
  • 海外工作
  • 和国内一些新兴的创业团队等方面

在这些岗位中是占有绝对的需求数量优势的

尤其是远程工作和海外工作方面, TS的岗位需求量几乎占据了近一半以上。从3R这个封闭式的小社区来看,也经常会有比较多的远程岗位和海外本地岗位是ts相关技术栈的,而一些专业提供远程工作的社区或海外的招聘网站则往往有多得多的ts相关的远程岗位

社区内有很多会员都从事着远程工作和远程办公,因为最初3R社区只是一个数字游民的付费学习和交友社区,后来才有越来越多的纯自由工作和创业者的融入。远程工作方面,目前来说比较具有代表性的如@愧怍同学(base 25k+股权的美国远程工作,技术栈:next.js+vercel ai开发)、@MArtian同学(base 未知+10%股权的澳洲远程工作,技术栈: next.js+wordpress)等

再则TS全职在外企求职、国内大厂和新兴创业团队甚至国企这种传统企业求职中都占有一席之地,且由于其便捷性和低成本等特点,国内企业对这方面的人才需求也是与日俱增

而在创业或者自由工作方面,这套技术栈由于其不断成熟的生态、前后台一体同构、性能表现良好、覆盖领域广等优势,使得能快速上线一块不错的产品,也方便随时根据自己的idea不断调整,正在成为个人开发者及初创团队的最爱。非常适合

  • 个人或远程协作小团队的外包接单工作室
  • 独立产品开发者
  • 需要快速上线以验证市场的MVP产品

等工作。比如,我们工作室的绝大部分外包项目几乎都是ts全栈开发的,详情可参考工作室页面

在独立开发方面,TS全栈更是几乎无敌的存在,基本覆盖了所有常见领域的快速开发,可以把大部分时间放在推广和运营上。3R许多独立开发的同学基本都选择react、next.js、node.js这些技术栈来开发自己的应用,比如@王小C同学的知识管理应用、@勇敢的心bbk同学的音乐app等就是很好的例子。使用next.js开发并在极端的时间内上线,然后把精力放在宣传上并获得大量的用户上

所以TS全栈开发不仅非常适合现阶段学习,在未来也适合作为主力技术栈为你的编码生涯提供助力的,这也就是我们出这套课的原因所在

但是,往往只从事技术开发,会导致思维限制。因为纯技术从事者,很难去形成一个属于自己的稳固事业,也无法获得一名程序员应有的收入。由于绝大多数编码工作者所从事的工作并不是稳定的国家编制单位,而是一众私企。那么即使求职成功,也可能长期处于担心被裁的焦虑中。这是因为私企肯定是逐利的,这种现象是无可厚非的。而在站长看来最好的解决办法就是自由工作。即使有再多的垄断型大厂,高科技企业于打工者而言是没有任何意义的,我们要的并不是集中力量办大事,最后把自己给办了。但如果大厂越来越少,而一部分程序员尝试自己经营小个体户,小微低成本企业越来越多(比如自己写一款销量好的应用实现被动收入甚至拉到投资;拉几个网友成立一个远程工作室接一些创业型的高价外包;或者纯粹一个人卖课等等方式),从而形成属于自己的稳定事业,就不再需要太过担心裁员,失业等现象的发生。即使在生意不好的阶段,也能临时找份远程工作搞一点收入顶一顶或者攒点资金方便下一次创业。这就是站长所推崇的自由工作的逻辑

长期以来,在创作课程的同时,站长也会根据自己十多年的自由工作和小微创业经验经常会分享一些方法和思路。另外,随着3R教室本身资源的不断增加,我们也有了一个可以为大家提供优秀资源的圈子。所以,除了技术课程及相关问答服务之外,我们提供了"变现课"、"社区资源互助"等一些其它额外的内容和服务项以帮助大家学以致用!

👇关于合并《nestjs最佳实践》和《远程掘金课》

旧课《nestjs最佳实践》并入新课的原因

内容上,由于3R教室最早是绑定远程工作进行卖课起步的,而nestjs非常适合远程高薪求职,且大量老会员都是老javaer、老phper这些后端或者一些老前端转技术栈的。所以,nestjs课程只是新课的nestjs篇部分。而伴随着3R教室的快速崛起,很多新会员的基础不一而足,目标也各自不同。有些零基础的会员只是想快速学习,且求职一份中低薪的远程工作作为起步,或者快速入职一些js/ts全栈开发类的坐班岗位;有些会员则是纯粹为了学习技能实现自己的独立作品开发,或接单快速开发原型等。那么,臃肿复杂的nestjs,以及学习曲线极高的nestjs课显然无法满足这些需求。而新课则在原有的基础上新增了三篇内容以满足日益增多的不同会员同学的不同需求。

在技术层面上,nestjs课只涉及了nestjs及其周边的typeorm等技术栈。虽然浅度学习还是可以比较轻松地掌握,但是3R的nestjs课和大量外部定位企业级node.js开发的nestjs课程(比如做个案例或按官网文档重复一遍做成视频教程等)那种点到为止或免费或收费的课程不大相同,会大面积深入一些框架和类库本身核心源码的定制、扩展或者涉及到大量服务端生态、底层构建工具开发、命令工具开发、自动化运维和部署等各种基本前后端开发知识之外的东西,学习曲线就会变得非常陡峭。这会造成了许多基础差甚至零基础的会员同学长期无法学会的现象。所以只适合一些已经有相当经验的python、php、java、.net等后端开发者转node.js技术栈,以及对JS/TS编程已经非常熟练掌握且拥有一定的node.js后端开发基础的前端开发者转全栈而学习。而相较于nestjs课程,新课的学习曲线更加平滑,由浅入深的模式也使得学习难度也低很多,稍微有些前端或后端的开发基础即可快速学习。所以,新课的目标不仅仅只是由浅入深地帮助会员快速地掌握web领域的前后端开发,同时,在完成自己的学习目标(比如学习完全栈篇)后,其它部分也可用于查询和兴趣类学习。通过新课可以尽快地学会react、node.js等整个javascript和typescript生态的大多数技能。这样就可以在之后,快速地去融会贯通相关生态的一些其它类型应用的开发。比如react native移动应用、electron桌面应用等

在变现层面上,新课完全可用于求职和自由工作的方方面面,而不仅再只局限于远程工作上!在远程工作(包括国内工作、海外工作、外企工作等)求职方面,虽然next.js和react这种偏前端的全栈岗位会比nestjs这种偏后端的全栈岗位多得多,但是会的人也多,学起来也简单。这就导致会求职的时候会卷得多,薪资差距也会非常大,偏后端的TS全栈(比如nestjs应用开发)求职会容易很多而且薪资上会高出许多。但nestjs这种企业级node开发的岗位比较稀少,next.js+hono这种轻量级全栈还是求职的主流,可以作为保底。所以为了兼顾两者,新课把两种技术栈都包含进去了。此外,实际开发中,我们很少用到用到nestjs这么重的框架去做一些轻量级快速上线的个人应用作品或web网站。并且,一个后端框架就花费巨大的学习时间成本,对于快速掌握ts的其他多端生态(比如小程序、移动app、web前端、桌面应用、命令行工具等)开发也是非常不利的。为此,新课的全栈篇的快速学习和敏捷开发在数字个体创业领域也十分受欢迎

总之,在"远程自由工作"这个范围内以及求职领域,新课兼容独立应用开发、外包接单等个人创业模式和远程工作(以及坐班)求职两者,nestjs课则只专注于高薪求职

原《远程掘金课》并入新课的原因

掘金课原则上并不是一套课程,而是三年来站长和许多会员进行多次的社区会议(以前的"茶话会")录制、一对一咨询录制、客户谈判经验录制、站长经验分享自述视频等许多视频的合集。本身就是一种期刊制更新的分享式课程。并且最重要的是配套的一些如一对一规划、资源互通等服务。所以,作为一套独立的课程存在,显然是不符合要求的。曾经尝试过以训练营的方式来创作此部分内容,但松散式的分享内容显然也不符合作为训练营来运营。所以,在三周年版新课上线之际,我们开启了唯一课程+篇章创作的模式,而不是分出好几套课程制造维护陷阱。这也给《掘金课》制造了作为3R课程的篇章融入进去的契机。为此,后续所有经验分享类的视频和会议全部会放入变现篇的视频网盘中,方便大家统一学习!

时光飞快,3R教室(社区)自2022年开始至今已经运营有三周年了,成长为一个拥有800人付费会员规模的线上学习和资源互通的IT社区。站长自己也在教学中不断学习,在学习中不断积累,结合自身以往的经验,为社区创造并总结了许多有用的知识,以及帮助许多会员朋友获得了一定的成果

然而,随着时代的发展以及技术、市场的日新月异之变化,教室本身也需要新的思维和力量的注入。为此,抱着"不破不立"的精神,站长选择了推倒重来,重新编写一套永久更新的三周年纪念版课程 - 《TS全栈开发与自由工作实战》(与其说是课程,比如说是一个滚动更新的期刊制的"技术手册")

新课程在以往的《nestjs最佳实践》、《远程掘金课》、《TS全栈开发实战》等多种课程的基础上进行整合,并去粗取精进行创作。本课程作为当前3R教室的唯一课程(简称:3R课程),将永久更新与维护!新课程是终身滚动式更新的,且会不断地从站长和其他会员的长期实践与经验中吸取知识并推陈出新!这类似于Ubuntu这类传统的Linux发行版与Arch这类滚动式发行版之间的区别。譬如:在技术课方面,目前课程主要是更新及维护当下流行的next.js、hono.js、prisma等ts全栈开发技能,但是,市场对AI大模型的使用和应用级别的开发需求比较大的时候,我们会及时把这部分内容以加入到课程中

另外,课程中的技术部分仍然以文档+代码为教学模式,方便随时升级到最新的生态,也更适合扩展性学习。比如tailwind课程中是v3,而现在v4正式版已经出来,我们就可以方便的增加一篇无痛升级的章节

而变现部分即原来的《掘金课》的等内容也会以期刊制滚动更新的直播会议+视频录制+个人视频创作形式作为"变现篇"融入课程中。这样,学习者可以掌握最新的市场需求以进行成功率更高的变现实践

3R课程是一套循序渐进的课程。不仅仅只是技术教学,同时,还会长期根据市场环境的变化,更新变现相关的内容(比如许多远程/坐班工作求职、独立作品推广、个人外包工作运营、工商税务、境外收款等内容)。技术课方面主要技术栈涵盖next.js、hono.js、nestjs、ai应用开发、serverless、CICD和部署运维等。新课的所有技术栈主要围绕着远程自由工作这种工作模式进行教学。课程中的技术栈生态,不仅只适合于远程工作/外企工作/外海工作/创业企业等岗位的求职,同时,也是个人远程创业者(比如独立应用开发、独立外包接单等)的开发利器。

当前新课程分为四个独立成篇的内容进行创作:全栈篇(JS/TS的react前端与node.js后端的基础知识以及next.js+hono.js轻量级ts全栈开发)、nestjs篇(nestjs重型企业级node.js后端开发)、运维篇(运维部署以及CICD/serverless等服务器相关)、变现篇(通过社区会议或站长个人分享的视频方式进行期刊制更新,主要涉及求职和职业规划、远程工作、个人创业、被动收入、外包渠道、独立应用开发、工商税务等)。此外,不久的将来会开启一个AI篇(AI大模型和智能体开发)。

其中每个篇章都是独立成课的,并不具有连贯性。当然,你也可以根据你的需求和目标选择性学习。比如如果有大量前端或者后端开发经验,想找一套研究型的node.js后端开发课程,从而更加深入地掌握ts及node.js方面的高级技能和知识,或者专注于是高薪远程工作求职,则可以直接跳过全栈篇,直接学习nestjs篇。而如果只考虑中低薪求职远程工作或坐班工作起步,又或者是主要目标在于独立自由地开发自己的作品或进行外包接单,那就重点学习以前端为主+轻量级后端为主的全栈篇以及可以自行独立运维和部署的运维篇两部分的内容(因为初创产品最重要的是让用户或客户看到所见即所得的UI)。又或者如果对技术已经比较自信,那么变现篇也许对于你来说是3R教室最具价值的内容。站长这里不建议购买会员后盲目直接开始学习,最好能找站长进行一对一(详情请查看服务部分)制定一个最适合你的学习方案,这会使得学习效率和学习成果有质的提升!

总的来说,3R课程无论是技术课还是变现课又或者是各种社区服务,都围绕着一个目标 - "自由工作"而展开。虽然偶尔社区也会有同学自助地内推、互推一些坐班,也有"大厂会员群"这类群、社区会议中也会有坐班嘉宾分享等等内容。但是整个社区95%以上的内容和服务都是以自由工作为中心的!

🥥服务

3R教室除了课程本身外,我们同时提供了大量围绕教学的配套和实践服务

  • 站长一对一:一对一咨询是单方面与站长预约时间,通过会议的形式获得职业生涯探讨、远程工作/变现方法/个人创业等技巧和方法指导、技术方向选择等等。当然,除此之外,你也可以预约站长聊一聊求职等站长不擅长的方面。也许站长对这些方面不熟悉,但是经营了两年的3R教室,接触过各种会员,有些时候站长的建议也许会有帮助的
  • 技术课助教:助教@zhangfeng@被遗忘的传说负责在QQ群中提供助教服务,遇到课程(仅技术课,变现部分的视频问题找找找一对一或微信探讨)中的问题时,可以在QQ群中提出,他们会提供解答。对于特别复杂的问题,也可以在论坛发帖提问,并@cloneable,他会提供解答

除此之外,运用3R教室优质的用户社区,我们还提供了优质的资源互助或自助服务。涵盖招聘求职、发包接单、创业融资、产品推广、分享发现等方面。

所有社群如下

QQ群:用于技术课程的问题问答、变现课实践的讨论等

备注

没有QQ和国内手机号的海外同学,如果有需要可以自行在某宝等处买一个QQ号,也可以只使用论坛及会员微信群

会员微信群(群一已满,新会员进群二)

备注

目前所有这些暂时都在会员微信群中进行,后续会上线"数字创客"平台提供更优质便捷的服务

  • 探讨交流:行业交流、技术交流、工作交流、远程工作和远程个人创业探讨
  • 社区通知:比如站长发布一些活动公告、社区会议直播间地址等
  • 岗位对接:发布远程/坐班岗位的招聘求职信息,急聘的话可以请求站长在两个会员群都发布招聘信息并艾特所有人
  • 外包对接:发布外包需求和接单需求
  • 创投对接:如果正在创业,有融资需求可以联系站长帮忙与投资人接洽(仅限种子或天使轮);如果手上有闲钱,想找好项目投资,也可以联系站长接洽
  • 作品/服务推广:推广自己的收费/免费的作品或服务。也可以在论坛发一些需要长期可看、需要沉淀的东西,用于与其他会员一起探讨和研究

海外会员群/大厂&外企群

  • 海外会员群:由海外会员和海外客户组成的群,可以求助留学/移民的成本和方法、拿工签的办法,以及海外坐班岗位招聘和求职互助等
  • 大厂&外企群:如果是高学历或大厂背景会员需要内推,可以请求本群的同学帮忙内推。本群的同学也可以自己为所在单位发布内推信息寻求人才

如果是一些沉淀类的信息,可以去3R酷论坛发布

其它还有一些小群(根据需要让管理员拉即可),比如

  • 专门用于创业者和投资人对接的"飞鸟创投群"
  • 用来闲聊生活琐事和谈天论地的"3R茶馆群"

✍️学习

🔧提前准备

在学习本课程前,请务必先学习一下git的安装配置基本使用以使用我们的课程源码。此外,如果可能的话,最好能有一台macos系统的电脑,这样可以和课程代码的运营环境保持一致。但是如果没有mac,也可以在windows下安装wsl2或者直接装个linux系统来学习。最好不要直接在裸win中装node来跑代码(尤其bun这种工具),后续问题会比较多

如何你是零基础或者其他技术栈的开发者,请在学习本课前请提前学习以下资料

🔨学习流程

一个良好的学习方法,总能达到事半功倍的效果。所以尽量按站长推荐的学习方法和流程学习本课以及正确的使用社区,具体步骤如下

不会使用git克隆的同学请看以下步骤👇
信息

在windows下必须安装wsl2,下面所有linux操作包含Debian系的Linux发行版(Redhat或者Arch系的大同小异)和windows下的wsl2 linux子系统

注意

在windows下所有执行的命令,都是打开windows terminal 进入 wsl子系统后执行的.非要在windows宿主机中打开git bash或者powershell去执行命令遇到的一切问题不做解答,请自行负责!

MacOS系统

  1. 下载安装iterm2(一个比苹果自带的terminal更好用的命令行工具)
  2. iterm2执行/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"命令安装brew(一个包管理工具) 3.(可选步骤)可以自行按需配置iterm2使他变得更好看,怎么配置请自行谷歌搜索,不配置也不影响使用
  3. 执行brew install git以安装git
  4. 下载并安装docker桌面版,请尽量在(设置 -> General)里设置开机启动,以免开机后手动启动

Windows系统

  1. 打开App商店的Windows Terminal,点击"install"按钮安装Windows Terminal
  2. 打开Windows Terminal,点击标签栏的向下箭头按钮选择"Windows Powershell"
  3. 输入wsl --install以安装wsl2
  4. 关闭windows terminal并重新打开,点击标签栏的向下箭头按钮选择"ubuntu"子系统(即进入wsl)
  5. 在wsl子系统中先执行sudo apt-get update && sudo apt-get upgrade -y升级包,然后执行sudo apt-get install -y git 命令以升级系统包和安装git
  6. (可选步骤)可以把wsl作为windows terminal默认打开的窗口以及做一些其它的美化,请自行谷歌搜索"windows terminal配置"等
  7. 下载安装docker桌面版,并整合wsl(点击顶部的设置图标 -> Resources -> WSL integration),请尽量在(设置 -> General)里设置开机启动,以免开机后手动启动

Linux系统

你都这么屌了,我就不多说了(建议manjaro系统) 先安装docker,桌面发行版安装docker desktop,远程服务器安装docker EC 然后安装git

sudo apt-get update && sudo apt-get upgrade -y
sudo apt-get install -y git
# redhat系,fadora/centos等
# sudo yum update && sudo yum upgrade -y
# sudo yum install -y git

# arch系,manjaro/arch等
# sudo pacman -Syy
# sudo pacman -S yay
# yay Syu
# yay -S git

克隆仓库

信息

新手请注意:这里的~符号是默认指向用户目录

一、生成ssh key 打开命令窗口,执行以下命令,不停按回车生成,不要输入密码什么的

ssh-keygen -t rsa -C "随意填一个邮箱地址"

二、添加密钥 打开刚才生成的密钥,位置在~/.ssh/id_rsa.pub 可以通过cat命令来输出内容,并复制

cat ~/.ssh/id_rsa.pub

然后使用站长给你提供的账户及密码登录我们自建的git代码托管平台,点这个链接,点"增加密钥",把刚才复制的key内容添加进去(名称随意填写或默认即可)并添加

三、克隆代码 打开命令窗口,使用以下命令克隆文档

git clone git@git.3rcd.com:classroom/ts-fullstack.git 3rapp

在克隆或拉取更新代码时如果遇到以下问题 请使用命令code ~/.ssh/known_hosts(~为当前用户目录)打开known_hosts,并删除其中那些带有git.3rcd.com的行 后续请关注QQ群,如果课程有更新消息,请通过以下命令更新

cd ~/3r && git pull origin main
  1. 本课程技术课部分内容是纯文档课(类似手册)。在学习课程前或学习过程中,如果对技术和变现方向比较模糊,可以预约站长进行"一对一"会议咨询
  2. 通过课程文档学习课程,并自行手动复现每节课的代码
  3. 在遇到代码跑不通或其他问题时,请克隆仓库中的课程源码,与文档进行对比学习
  4. 如果遇到实在无法解决的问题,在问题比较简单的情况下可以在QQ群求助助教
  5. 如果是课程本身BUG问题,请到每个篇幅的课程的代码仓库中提交工单,站长会抽时间处理
  6. 在学习完一部分课程后(按课程大纲和你的目标需求来),可以先不用一直学,因为大部分基础的TS全栈开发你已经掌握了。这时候,你应该做的是尝试规划一个属于自己的项目,然后利用TS全栈技术去开发。在遇到需要用到的某项技术时,如果自己不会并且网上资料不多,恰好课程里又有,这时再来学习后续课程里这部分技术相关的内容会事半功倍了
  7. 在完成你自己的第一个TS全栈web项目的情况下,你可以尝试学习一下同样是TS的electron或者react native(推荐expo框架),然后去开发一款桌面或移动应用,这会加深你的技术的掌握广度和深度。当然,也可以尝试taro这些小程序开发,因为ts能做的事情太多了...
  8. 如果感兴趣的话,也可以研究到一两个工作室商业项目源码。部分项目可以修改作为自己的案例用于接单或求职需求
  9. 变现篇与技术篇不同,是直播以及纯视频模式。请直接学习网盘中的社区会议、站长经验分享、往期一对一等内容,并按自己的想法和方向尝试结合学习的TS全栈开发技能实践变现。可以尝试远程工作的求职以及远程个人创业等方向,踏入远程自由工作者的行列;也可以尝试求职一些好的坐班工作。另外,请注意多多关注QQ群里的消息,有时候会有社区会议。当然,如果没时间参与,也可以查看录制
  10. 如果需要求职、招人、接单、融资、合作、售卖作品或服务等,可以关注微信会员群或自行发布消息。如果不希望被不想关的同学加你也可以联系站长帮忙发布(比如发布招聘信息等),这就是我们3R的"资源互助"方式。【详情查看服务部分】
注意

工作室的商业项目源码由工作室的开发者(教室长期合作的古早期老会员)开发,绝大部分并不是由站长或者助教开发的。所以,在部署、修改及二开方面我们并不能给予太多的帮助,请自行研究。一些修改后部署的线上效果可以参考miven同学的个人网站

可共享的商业项目源码有五个,我们默认开通了以下项目的源码

  • Goflash:一个美国的购物返利网站,使用next.js+antd pro+nestjs开发
  • Youni: 一个加拿大的类似校园口袋一样的校园社交移动网站,使用next.js+vben+nestjs开发
  • Kuromi:一个加拿大的移民网站,使用next.js+antd pro+nestjs开发
  • XiaoWen:一个法国的网络工作室官网(纯静态),使用next.js开发
  • Ryzz【默认不开通,有需要联系助教开通】:一个芬兰的仿小红书移动应用,使用react native+antd pro+nestjs开发

如图

📚大纲

本课程以TS全栈开发为核心,主要包含react、next.js、node.js、hono.js、nestjs、AI大模型智能应用开发(未来)、服务器运维和部署、serverless等知识与技能。且后续随着时间的推移,我们会不断地增加更多有用的课程,比如AI篇(近期):AI大模型和智能体开发、桌面篇:桌面应用开发(electron)、移动篇:移动应用开发(React Native+Expo)等内容

课程中的变现篇和运维篇是独立篇章,而其它三篇是循序渐进的,比如全栈篇的基础章对于零基础的同学来说是必学的。而全栈篇的前半部分是使用next.js+hono.js写一个cms网站系统。此网站麻雀虽小,但五脏俱全,几乎涵盖了大部分react前端和node.js后端开发的常用生态和知识点。学习后基本上能达到独立开发或远程工作/外企单位/海外求职的水平的,开发后的CMS网站修改后亦可作为自己的个人网站上线。然后结合该部分内容学到的web开发知识,自己再开发一些作品(因为JS/TS的生态都是通用的,所以利用学到的TS知识不仅可以开发web应用,也可以自行研究一下RN或者Electron来开发一些移动或桌面应用)。后半部分则是对这个网站系统不断地扩展,成为一个多用户权限的社区系统。这部分内容不一定要完全学习,在开发自己应用的时候正好遇到这部分课程里涉及的章节,按需查询学习即可。而nestjs篇专注于重型复杂后端开发。如果对后端开发比较有兴趣或者想挑战一些高薪岗位,可以继续学习该篇的内容(当然,前端已经比较强只想学习复杂后端或者直接是老后端码农转node.js后端的朋友可以直接学这部分而跳过前面两篇)。nestjs篇目前还是独立成篇的旧课,但是近期会重构一套新的内容以便和全栈篇的内容融合。具体方法是在nestjs篇中用nestjs替换全栈篇中hono.js开发的后端,而前端仍然使用全栈篇的那套代码。

在学习技术课的同时,你还可以结合服务中的社区会议和经验分享等内容学习,然后尝试对求职、独立开发、外包接单等方向进行变现实践!

课程所涉及到的大致知识点如下

课程名称《TS全栈开发与变现实践》
开更时间2025年7月1日开更,永久维护及回滚迭代
创作及服务团队创作:站长@pincman;群问答助教:@zhangfeng;论坛问答助教:@cloneable
学习时长全栈篇+运维篇 = 5个月左右(零基础计算到全部学完)
企业篇 = 2个月左右(不建议零基础学习)
变现篇 = 期刊制,无固定学习时间
课程定位全栈篇+运维篇+变现篇:TS中小型全栈应用开发、敏捷式个人开发,适用于中低薪坐班/远程工作求职、独立作品开发、个人外包工作室运营等
企业篇:企业级node.js后端开发,只用于中高薪坐班/远程工作求职
课程进度全栈篇:更新中(目前在创作第三部分16-26节)
nestjs篇:待重构(现存版已大部分更新完毕,处于维护状态,新版2025重构)
运维篇:待更新(大部分内容在现存版nestjs篇中已有,后续搬过去独立成篇即可)
变现篇:期刊制
课程目标让学习者成为一名js/ts全栈开发者,并实现自己的求职、个人创业、远程自由工作等目标
适合学者独立产品开发者、外包工作室运营者、技术创业者等各类远程自由工作者;
远程、外企、海外、国内中小团队/创业企业等岗位的求职者;
所有对JS/TS全栈开发感兴趣的编码爱好者
学习要求零基础、其他行业转码或
其它技术栈开发者(如Java、PHP、Python、Swift等)转技术栈/前端开发者转全栈
主要技术React(使用Next.js框架)用于前端及全栈开发
Node.js(使用Hono.js框架)用于后端API开发
Prisma.js ORM用于数据库开发
Tailwind+Shadcn-ui+Antd用于编写UI界面样式等
nestjs+typeorm+casl.js+redis+mq等node.js重型后端开发
运维部分、devops(ci/cd)等
远程工作/坐班求职经验、个人外包工作室渠道、独立开发者运营、工商税务等
一些AI应用开发相关的东西
教学模式技术课: 手册文档+课程源码+工作室商业项目源码+群问答+论坛问答等
变现课: 直播+视频
源码仓库全栈篇: classroom/ts-fullstack
企业篇(后续重构后会有新仓库): classroom/nestjs2022classroom/nest2023
涉及知识typescript、node.js、bun.js、react、next.js、nestjs、
postgresql、prisma.js、typeorm、yargs、monorepo、
class-validator、class-transformerzod、taiwlindCSS、shadcn/ui、antd、
jwt+oauth2(passport.js)、rbac(casl.js)、dayjs、sse、
websocket、bullmq、redis、openapi(swagger)、tdd/e2e测试
mcp、支付接口、腾讯云sdk、markdown/mdx、流媒体、性能优化/缓存/日志、
Linux服务器部署运维、Devops(只涉及CI/CD)、monorepo、微服务、AI大模型和接口等

具体大纲目录如下(但是随着课程的更新,部分目录可能会有所微调,但大体上内容是没有多少变化的)

📘全栈篇【核心】

信息

本篇作为整个课程技术部分的核心内容,将会把维护和问答的优先级提升至最高。目前正处于更新中,可以与其它篇章一起学习

全栈篇主技术栈是next.js+hono.js。不仅仅只专注于node.js后端开发,也增加了大量react前端技术的内容,并包含了许多最新最容易变现的海外/远程市场为主(兼具国内市场)的TS技术栈的深度教学。同时,为了让更多的会员具备快速独立开发的能力,与变现篇也能无缝结合,会更加侧重于轻量级全栈开发。课程以TS全栈技术开发内容为主并配合变现课,使得我们在学习技术时,可以真正地尝试利用技术实现变现的实践和探索。所以,全栈篇不仅仅适合求职远程工作、外企坐班、海外岗位以及国内许多创业新兴企业的岗位,也十分适合独立开发以及个人创业!本篇章的知识思维导图如下

备注

下图可能过时,因为课程在创作中会不断调整的

本篇章内容分为三部分章节:基础(1-5节)、进阶(6-15节)、高级(16-~)

🚚基础

本章讲解一些ts全栈开发的一些入门级别和工程构建的知识,包括node.js、react、react hooks、next.js、状态管理等。

  1. node.js环境搭建及应用初始化: zsh配置、node版本管理、tsconfig配置、Eslint配置、断点调试等

  2. next.js应用初始化:next.js初始化、stylelint配置、css modules、整合shadcn与antd、turbopack、图标库等

  3. react内置Hooks的使用与自定义详解

  4. next.js中使用zustand进行状态管理详解:以明暗皮肤为例

  5. next.js核心概念及应用构建:动态路由、路由组、并行路由、拦截路由、假数据、客户端与服务端组件、server action、表单提交等

🚄进阶

本章讲解使用next.js+hono+prisma+postgresql+redis开发一个简单的个人网站博客系统,带有可供客户端使用的后端api并涵盖常见的SEO,页面动效、JWT认证等知识。最后学习一下使用vercel+neno快速简单地部署用用。学习完本部分课程,可以尝试远程自由工作。建议边学习后续课程边尝试接单或开发自己的独立作品及网站了。此外,你还可以利用前15节课程中学到的TS知识去尝试自行拓展学习其它的相关生态,比如RN编写移动应用、Electron编写桌面引用、Taro编写小程序、vite+react编写chrome插件、Node.js编写爬虫等。

信息

站长建议:如果只是兴趣类学习或个人创业(比如接单、独立开发等)需求,可以暂时学完本章即可。后续课程可以暂时不学习而作为自行开发时查询使用。同时,建议着手开发自己的网站方便拓展业务。然后在开发项目时,用到哪个功能后续课程如果已经制作了,可以作为参考整合到自己的应用或外包项目中。但是你需要重点学习一下运维篇和变现篇,这很重要!

  1. server action+prisma全栈开发入门
  2. markdown编辑器与自研MDX渲染实现
  3. 用户体验改进与SEO优化:元数据、骨架屏、响应式、表单验证等
  4. next.js+hono实现全栈开发
  5. hono整合OpenAPI(Swagger)+Zod实现接口类型安全与可调试
  6. 使用passport.js+redis实现用户前端JWT认证以及dayjs时间库的封装
  7. prisma+postgresql开发及第一次应用优化
  8. prisma实现数据关联与分类的树形无限嵌套结构
  9. 使用motion+magicui添加网站动效与Landing Page
  10. 升级tailwindcss到v4以及使用vercel+neon部署

🚀扩展

从本章开始的后续课程是对前面15节课代码的扩展和发散。在原有的博客网站上添加上各种功能,使其变成一个社区网站,并在这个过程中学习各种云计算的API调用、RBAC动态权限、管理后台开发、性能优化、websocket、全文搜索等知识。以此来更加深入的掌握TS的前后双端开发的多种生态。

信息

如果是有求职需求(尤其是远程工作、外企、海外本土工作等),建议学习到本章的26节,并开发一些自己的作品案例。然后结合变现课尝试求职一份比较好的TS全栈或node.js后端或react前端工作了。后续的学习按兴趣来自己安排即可。

  1. 使用MeilliSearch实现全文搜索
  2. 评论模块、项目列表页、软删除等功能实现
  3. 用户注册、修改密码等功能开发
  4. 使用腾讯云SDK找回密码、绑定邮箱和手机号等验证功能实现
  5. 使用Redis+BullMQ实现异步消息队列
  6. OAuth2(Github等)第三方登录功能实现
  7. 基于casl.js的RBAC动态权限功能实现
  8. swr+zustand对数据状态进行管理
  9. 多国语言实现与整体样式优化
  10. 使用云存储实现图片上传、裁剪与懒加载
  11. websocket实现即时聊天及消息离线存储功能
  12. 动态配置系统实现与第二次应用优化
  13. 视频断点续传、转码及流媒体播放实现
  14. nextjs的日志、缓存与性能优化
  15. 使用sse方式调用chatgpt api实现自动写文章
  16. 点赞、收藏、关注等社交功能与用户中心开发
  17. 支付功能与订单系统实现
  18. 支付宝和微信支付接口的使用
  19. 收费功能与会员文档系统实现
  20. 使用Antd和pro components构建应用后台框架
  21. 后台首页及系统设置开发
  22. 后台用户与权限管理、内容管理、订单管理开发

📕nestjs篇【兴趣】

信息

本篇课程现存版正处于维护期。并计划于2025年开更重构版,如果有需要请先学习"现存版本"。由于本课程非常抽象,学习曲线陡峭,适合有丰富经验的其他技术栈同学转TS全栈。如不是老会员温故也无特殊需求,建议学习完新课后根据兴趣和需求决定是否需要学习"重构版"!

备注

重构版将会把以下目录中的服务器和运维相关内容迁移到运维篇中

随着时间的推移,2022年出的《Nestjs最佳实践》这套课程中的许多生态和框架(比如nestjs、react后台开发等)已经严重跟不上时代(虽然2023年努力尝试打补丁的方式修复),并且越来越与市场需求脱节。但不得不承认的是,在部分高薪远程、外企、海外、初创甚至国企岗位中,仍尤其巨大的面试入职优势。

另外,这套课程作为3R教室的起点,具有非常重要的,值得纪念的里程碑意义。他曾帮助许许多多的3R会员同学在远程工作、海外工作、外企工作甚至国企工作中求职成功。也曾帮助我们的3R工作室实现了许许多多项目,使工作室辉煌过。虽然此课的技术栈和开发模式可能有点不适合未来的趋势和远程自由工作中的个人创业方向,但其作为js/ts全栈企业级开发的价值始终存在,尤其是远程工作方面非常受用。

为此,在我们的新课程的全栈篇大部更新完毕后,后续将会由@被遗忘的传说同学和站长一起重新重构出一版nestjs课程。与现存版本的独立课不同时的是,重构版除了把一些太过时的生态去掉换成新的生态和对框架的API做一定的升级外,也会与全栈篇的融合,使用nestjs作为全栈篇的hono.js替代品上线,并长期维护。

但值得注意的是:本篇是以Nestjs框架为主,定位于高级node.js后端开发。课程的目标在于高薪求职,所以绝大部分内容是围绕node.js与ts的核心知识和高级开发技能所开展的。而经过几年的发展,3R教室会员的学习目标变得越来越多样化。有因为纯兴趣爱好想学习的,也有想成为远程个人创业者(独立作品开发/外包项目接单/知识付费等)或创意工作者的同学。许许多多的新3R会员并不都完全以求职为目的。再加上本篇课程的内容与外部那种点到为止或免费或收费的nestjs课程不大相同,属于源码级别的学习。所以学习曲线非常陡峭和抽象,只适合经验丰富的前端转全栈或者java等老后端转技术栈。为此,除非你的目标纯粹就只是求职,且对薪资比较在意,基础也比较好,那么,推荐学习本篇。否则我们更加建议直接放弃本篇,而学习全栈篇。等后续技术能力比较成熟后,根据再学习本篇!

  1. Node.js开发环境搭建
  2. Nestjs+Eslint+SWC应用初始化及断点调试
  3. 装饰器与反射详解
  4. Nestjs核心概念
  5. 无懈可击的Linux服务器构建
  6. 使用Turborepo+pnpm workspaces构建monorepo应用
  7. 使用Gitea+Drone自建CICD平台
  8. Nestjs整合Typeorm实现基本的CRUD操作及分页数据查询
  9. 请求数据的验证和响应数据的序列化
  10. 数据关联与树形嵌套结构的分类和评论的实现
  11. 自定义全局的验证管道,拦截器和过滤器
  12. 自定义数据验证约束及约束中的依赖注入
  13. 批量操作及软删除(回收站)功能使用
  14. 数据库与MeiliSearch的全文搜索
  15. 数据操作代码的抽象化
  16. 整合bun与pm2实现开发环境与生产环境免编译和自启『兴趣课,可选或略过』
  17. 自建配置系统实现
  18. 嵌套路由与Swagger文档实现
  19. 使用Yargs构建命令行工具
  20. 生产环境下静默启动以及PM2 API的使用
  21. 数据迁移功能的实现
  22. 数据填充命令实现
  23. 用户模块开发以及使用Passport实现JWT认证和无痛刷新
  24. 基于CASL的RBAC动态角色及权限系统实现
  25. 使用BullMQ实现异步验证短信与邮件发送
  26. WebSocket实现消息广播功能
  27. 深入node.js进程、子进程、线程和并发处理

📗运维篇【拓展】

本篇内容是对整个技术课程的补充,力求在求职和独立开发时拥有更大的优势。包括devops(ci/cd)、服务器部署运维、AI相关开发、测试等知识点。力求在学习完毕后,一个人能做一个小团队的事情

备注

这部分内容不是必须要学习的,按自己需求来挑选几节对你有用的学习就好。其中2、3、4、5、6部分与nestjs篇的现存版本中的内容重叠,在本部分内容未开更前,继续学习的同学也可以去nestjs篇现成版中学习这部分内容

  1. vercel与serverless详解
  2. 使用Yargs编写安装包
  3. Linux+Nginx服务搭建与运维
  4. 使用PM2+Cluster部署应用以及fork进程和多线程的讲解
  5. 使用Gitea+Drone实现CI/CD热部署
  6. 分别使用Jest和Vitest编写TDD及单元测试
  7. E2E测试编写
  8. 微服务架构解说

📔变现篇【必学】

信息

建议结合3R社区的远程工作岗位、创业融资对接、社区作品推广等社群资源服务达到更好的实践效果

在3R社区中,远程自由工作包含"远程工作"(即:数字游民)以及"远程个人创业"(即:数字创业)两种模式。而实现个人创业模式的远程自由工作不仅只是开发技术一方面的技能就可以。因为个人创业不是在公司里作为一颗螺丝钉长期重复干同样一件的事就行,在初创期相当于一个人顶一个小团队。比如我们需要了解和掌握工商税务、品牌策划、UI设计、产品开发、服务器运维、网站建设、营销推广、用户运营、客户谈判等等各种方方面面的知识。否则在创业过程中,需要不断地进行成本上的支出,这并不符合轻量创业的特质。就算是最简单的类似打工类的远程自由工作 - 远程工作,许多高薪岗位也需要口语、面试技巧、个人网站等诸多不同的要求。当然,除了核心方面的技能(比如你做独立应用开发,那么,相关开发技能是必须掌握的)你不需要每一样都学得很精通,对于大多数只要懂些皮毛就可以。比如logo设计稍微学一点adobe illustrator就可以设计出自己心仪的作品。也可以选择在变实践远程自由工作的过程中,遇到不会的东西,再临时学习,很多人包括站长自身这么积累的。但是,有一套大致覆盖编码者进行远程自由工作所需的除编程以外的大部分软技能和知识的综合性课程,那必然可以节省大量时间,方便查询,做到事半功倍!

为此,才有了本篇内容的诞生。这也是结合了站长十几年的自由工作(包括公司创业、个人创业、远程工作)等经验,以及多年运营3R教室和3R工作室而从众多其他会员同学和客户朋友身上吸收的知识总结归纳而成。希望大家喜欢并从中得到一定的启发,就是本课程存在的最大意义!

本篇课程特性如下

  • 期刊制视频更新:与技术部分的内容不同的是,本篇原则上其实不算课程,是期刊制的视频。本篇的所有课程章节不会放置在课程文档里,而是放在网盘里,可以自行查看。本篇内容会随着市场的变化而更新并没有固定次序,站长会根据市场的变化经常性地重录或增加内容,按自己的需求查询学习和实践即可
  • 社区会议+站长视频:本篇课程核心由社区直播会议(以及录制)、站长自己创作的视频等构成。社区会议集中于知识类的内容,是指站长每隔一段时间(一般在周末)会总结一些优秀会员和自身的远程自由工作(远程工作/远程创业)的新方向、经验和技巧开一些直播会议。偶尔也会邀请一些大厂会员、外企/国企会员、远程工作/远程创业会员、海外会员等作为嘉宾讲述他们的经验。然后回把比较好的一些会议录制下来放到网盘中,供后来者研究,探讨。而站长自行创作的视频,是以站长直接录制讲解并剪辑的视频,主要集中于操作类的内容,比如快速个人网站制作、部署和上线、备案等
  • 客户谈判记录+一对一录制:除了社区会议的录播视频和站长创作的经验视频外,还会附带一些会员的一对一咨询录制、外包客户谈判记录等视频,会对一些同学起到不错的帮助。如果你想做接单,那么可以参考一下客户谈判记录的视频,了解一下站长是怎么谈下那些海外或国内的高价项目和高质量客户的。在网盘里分享了一些高端客户的谈判聊天记录或语音会议。而其他会员的一对一录制视频和总结也许对你的职业生涯规划有较大的帮助,可能会提供不一样的思路

学习本篇有以下需要注意的点

  • 课程中除了打工(坐班/远程工作)之外,最重要的就是远程个人创业这块内容。对于IT工作来说,但需要明白的是远程创业有可能一次成功爆发,有可能换了无数次方向一事无成,大部分时候运气占比90%以上。所以,比较适合有抗风险能力或有强大的心理承受能力的同学。因为,如果大家都能创业成功,世界上就没这么多打工者了。由于程序员创业成本极低,回报率极大这个优势在,所以站长才推荐这条路。为此,如果实在没强大的心理承受能力也没有很强的抗风险经济能力,那么,先找个远程工作过渡也未尝不可。如果有稳定工作的话,从副业开始也许更适合大多数人
  • 此外,由于站长坐班经验不足,常年自由工作,也没去过海外定居生活。对于有大厂、外企职场困扰和海外留学生活问题需要一对一的同学来说,虽然站长也从其他大厂、外企和海外会员同学的一对一中吸收和学习了不少这方面的经验,但毕竟耳听为虚,真实体验过才有话语权。所以,站长只能给出自认为还不错的建议供参考,极有可能并不是完全准确的答案。不过我们有个大厂会员群和海外会员群,群里有其他的来自谷歌、IBM、微软、字节、阿里、腾讯等大厂以及全世界各地的会员同学,可以申请站长拉进去和他们交流提问

总结来说,本篇课程内容是通过分享站长自身的自由工作经验,以及大量在3R社区经营中从其他会员、客户等朋友身上学到知识。使用直播会议+视频录制+视频创作+日常探讨的方式,以期刊制滚动发布的视频课程。目标是帮助更多想脱离996打工,实现轻松坐班、远程自由工作(远程工作或远程创业)的同学实现自己的目标!

由于变现篇并不是真正的课程,所以课程内容是没有固定目录的。但大致上包含以下知识点,并长期跟着市场的变化不断更新

  • 远程自由工作:远程工作与数字游民、远程创业与数字个体浅析
  • 远程工作:优缺点分析、求职途径、求职方法、被动求职、技术栈分析、面试笔试技巧、远程协作方案等
  • 外包接单:海外外包和国内外包分析、渠道来源、客户谈判技巧、项目报价和工期预算、外包接单工作室和远程/本地团队的组建方法等
  • 被动收入:独立应用开发者变现、知识付费社区建设、虚拟产品销售等
  • 创业融资:创业、融资渠道及风投谈判和估值等方法
  • 品牌策划:思路拓展、logo与海报设计、宣传视频制作、思维图流程图等
  • 网站运营:服务器/域名/云存储等选购、酷炫工作室或个人官网的制作、网站功能和内容构建等
  • 推广引流:文案编写、自媒体运营、私域运营、社区运营等
  • 工商注册:股份公司、独资公司、个体户在注册以及在税务等方面的区别
  • 应用备案:商标注册、ICP和公安备案、各类许可证办理、支付宝/微信/网银收款接口等
  • 跨境收款:美国公司注册、手机号开通、strip账户激活、税务申报等