Showing preview only (1,141K chars total). Download the full file or copy to clipboard to get everything.
Repository: easychen/howto-make-more-money
Branch: master
Commit: 3d22c65c7b34
Files: 64
Total size: 1.1 MB
Directory structure:
gitextract_otzauxax/
├── .gitignore
├── README.md
├── RoboFile.php
├── SUMMARY.md
├── book.json
├── ch00.md
├── ch01.md
├── ch02.md
├── ch03.md
├── ch04.md
├── ch05.md
├── ch06.md
├── ch07.md
├── ch08.md
├── ch09.md
├── ch10.md
├── ch11.md
├── ch12.md
├── ch13.md
├── ch14.md
├── ch15.md
├── ch16.md
├── ch17.md
├── ch18.md
├── ch99.md
├── docs/
│ ├── .gitignore
│ ├── RoboFile.php
│ ├── ch00.html
│ ├── ch01.html
│ ├── ch02.html
│ ├── ch03.html
│ ├── ch04.html
│ ├── ch05.html
│ ├── ch06.html
│ ├── ch07.html
│ ├── ch08.md
│ ├── ch09.md
│ ├── ch10.html
│ ├── ch11.html
│ ├── ch12.html
│ ├── ch13.html
│ ├── ch14.html
│ ├── ch15.html
│ ├── ch16.html
│ ├── ch17.html
│ ├── ch18.md
│ ├── ch99.html
│ ├── gitbook/
│ │ ├── fonts/
│ │ │ └── fontawesome/
│ │ │ └── FontAwesome.otf
│ │ ├── gitbook-plugin-fontsettings/
│ │ │ ├── fontsettings.js
│ │ │ └── website.css
│ │ ├── gitbook-plugin-highlight/
│ │ │ ├── ebook.css
│ │ │ └── website.css
│ │ ├── gitbook-plugin-lunr/
│ │ │ └── search-lunr.js
│ │ ├── gitbook-plugin-search/
│ │ │ ├── search-engine.js
│ │ │ ├── search.css
│ │ │ └── search.js
│ │ ├── gitbook-plugin-sharing/
│ │ │ └── buttons.js
│ │ ├── gitbook.js
│ │ ├── style.css
│ │ └── theme.js
│ ├── index.html
│ ├── mystyle.css
│ └── search_index.json
└── mystyle.css
================================================
FILE CONTENTS
================================================
================================================
FILE: .gitignore
================================================
_book
out
================================================
FILE: README.md
================================================
# 程序员如何优雅的挣零花钱?
the repo is not applicable to foreigners
## 阅读建议
🎈 [《一人企业方法论2.0》已在CC-BY-NC-SA协议下发布,建议先读完后继续阅读本书](https://github.com/easychen/one-person-businesses-methodology-v2.0)

---
> 本书部分内容已被收录于《全栈路线图》,[可点此查看高清版PDF和源文件](https://github.com/easychen/stack-roadmap)
[](https://github.com/easychen/stack-roadmap)
本系列文章会持续更新,微信扫码订阅主题,可第一时间获取更新信息。



新增:网课制作思维导图 [高清PDF下载](https://share.weiyun.com/78SWCYli) [视频课程](http://next.ftqq.com/18)

- 关注作者:
- 微博(主要为技术分享):[@Easy](https://weibo.com/easy)
- Twitter(主要转发妹子和猫):[Easychen](https://twitter.com/easychen/)
- 源文件:[GitHub Repo](https://github.com/easychen/howto-make-more-money/)
- 免费在线阅读完整版:[github.io镜像](https://easychen.github.io/howto-make-more-money/) [vercel镜像](https://howto-make-more-money.easychen.vercel.app/)
- 高清思维导图和PDF电子书下载:关注微信公众号「不聊技术」(nonocode),发送「零花钱」获取下载链接。
如果你觉得这本小书对你有所帮助的话,请分享给身边的程序员,谢谢。
## 更新日志
- 2020/10/17:新增网课制作思维导图
- 2020/08/27:修正资产评分标准,更新网易云课堂分成比例的信息。
- 2020/04/07:全面重写为一本小书。
================================================
FILE: RoboFile.php
================================================
<?php
/**
* This is project's console commands configuration for Robo task runner.
*
* @see http://robo.li/
*/
class RoboFile extends \Robo\Tasks
{
// define public methods as commands
public function build()
{
$this->_exec("gitbook build . docs");
}
public function up($m = 'update')
{
$this->_exec("git pull && git add . && git commit -m '" . $m . "' && git push");
}
}
================================================
FILE: SUMMARY.md
================================================
# Summary
* [程序员如何优雅地挣零花钱](README.md)
* [前言](ch00.md)
* [想明白自己的核心资源](ch01.md)
* [时间片优化·其一 提升单位时间收益](ch02.md)
* [时间片优化·其二 提升单位时间效率](ch03.md)
* [资产和被动收入·其一 获得资产](ch04.md)
* [资产和被动收入·其二 创造资产](ch05.md)
* [资产和被动收入·其三 资产的量化评估](ch06.md)
* [销售时间片的方式](ch07.md)
* [适合程序员创造的资产·付费课程](ch13.md)
* [适合程序员创造的资产·付费专栏](ch12.md)
* [适合程序员创造的资产·付费社群](ch10.md)
* [适合程序员创造的资产·书籍出版](ch11.md)
* [适合程序员创造的资产·模板、插件和源代码市场](ch16.md)
* [适合程序员创造的资产·订阅式软件和服务](ch15.md)
* [适合程序员创造的资产·应用市场卖付费软件](ch14.md)
* [适合程序员创造的资产·经营媒体账号并带货](ch17.md)
* [后记](ch99.md)
================================================
FILE: book.json
================================================
{
"language" : "cn",
"links" : {
"sidebar" : {
"方糖气球" : "http://ftqq.com/"
}
},
"styles" : {
"website" : "mystyle.css",
"pdf" : "mystyle.css",
"mobi" : "mystyle.css",
"epub" : "mystyle.css"
}
}
================================================
FILE: ch00.md
================================================
# 前言

2016年的时候,我写了一篇比较长的文章,分享了程序员挣零花钱的各种渠道。这篇文章最初发布是在微博上面的,但是因为当时的微博的头条文章没有修改功能,所以我就顺手把它贴到了 GitHub 上边。
微博的文章有了几十万的阅读以后就慢慢地冷了下来,但是放到 GitHub 的文章,却一直有新的读者和反馈。于是陆续更新了几次。
另一方面,最近几年,我因为开始尝试自由职业的原因,花了很多精力在「知识变现」、「独立开发」和「自媒体」相关的事情上边,又慢慢多了一些可以分享的内容,也有了一些相对系统化的想法。
后来每次尝试更新这篇文章,我都有一种感觉,那就是「一篇文章可能没有办法把这些东西都放得下了」。但写文也是挺费精力的,所以一直没动。
最近我众筹的一个课程卖得不错,缓解了这几个月的生活压力;这篇文章在 GitHub 的 Star 也超过了1万。为了感谢大家的支持,我想是时候更新一下这篇文章了。
## 关于版权

转载必须在正文第一段注明来源和作者( [Easy](https://weibo.com) ),并**添加回链到本 Repo( https://github.com/easychen/howto-make-more-money ) 的链接**。拆成单篇转载的,每一篇都需要说明。谢谢合作。
## 致谢
再次感谢参加《方糖软件变现进阶课》众筹的同学们,没有你们的支持,就没有这本小书。
================================================
FILE: ch01.md
================================================
# 想明白自己的核心资源
之前写的时候相对比较随性一些,只是把自己见到的、接触过的渠道整理了一下给写上去了。在后来修改的过程中,慢慢的觉得这些东西看起来挺多的,但是写得非常浅,没有触及到本质。
有同学可能会想,你挣个零花钱有什么本质可以讲🤷🏻♂️,就不要学那些自媒体装了。我开始也是这么觉得的,但是后来琢磨久了,发现这背后还是有逻辑的。
首先,来看我们的主题,程序员如何优雅地挣零花钱。它有两个重点,一个是「 ** 零花钱 ** 」,另一个是「 ** 优雅 ** 」。
所谓「零花钱」,就表明我们做的这个事情它是一个「副业」,我们还有一份正职工作在。「副业」是什么?那是我们从自己本来已经很繁忙的工作、生活时间里面活活挤出来的一点时间来做的事情。所以对「挣零花钱」来讲,什么最宝贵?是我们的**时间片**。

为什么这么说?因为对于一个企业来讲,它有足够多的资源可以调配,可以通过雇人的方式批量增加可用的时间片。但是对于我们处于「副业」状态的业务来讲,精力和资源都是非常有限的。副业本来挣的就很少,如果还要去雇人的话,每一个人分下来就会更少,会有入不敷出的风险。另外人多了,沟通上也需要成本。
所以我觉得,对挣零花钱来讲,时间片是整个环节中最有限的,最难拓展的资源,所以我们应该**以紧缺的资源为核心来规划挣零花钱这件事情**。
那所谓的「优雅」就说我们不但要挣钱,还要挣得轻松,不要比上班还累。这就要讲究方式和方法。而这就这就涉及到了「**时间片的优化**」。
================================================
FILE: ch02.md
================================================
# 时间片优化·其一 提升单位时间收益
关于「时间片的优化」,有两种思路。第一种是,**提升单位时间的收益**。
这个逻辑很简单,既然时间片的数量很难提升,那么每一片时间挣的钱多了,整个收益就多了。
比如说我们在做外包的时候,可以去找更好的雇主。
## 切换地域

第一个思路是,去做国外的外包。因为和国内相比,国外的人力成本会贵很多,相比国外的开发者,我们的成本又更低,所以这就出现了一个价格差。控制好这个价格差,我们就能挣到更多的钱。
当然,要做国外的业务就要求我们有通过外语进行沟通的能力,如果你没有,可以放弃这个市场;或者试试用[福利单词](https://fox.ftqq.com)来培养(误)。
## 从外包 ❌ 到二次开发 ⭕️
但是在没有建立起自己的行业知名度之前,做外包面对的往往是价格战的红海,总有人的时间比你不值钱。而且外包是一个开放性需求,如果真的要把雇主的需求做细做好的话,对技术栈的广度要求还挺高的。另外,好的外包项目往往并不完全公开招标,而是通过业内或者朋友推荐的方式来的。
其实有一种方式可以缓解这种情况。那就是**我们把开发的范围缩小到一个细分市场上来**,通过给一些标准化的开源产品做二次开发来挣钱。
这个也不是什么新思路,很早以前就有人专门给Discuz!做二次开发挣钱。但我们可以把思路扩展开一些,比如**从国内项目改成国际知名的项目**。
这样就能解决掉「出海」接活的大部分问题,用户从哪儿来?开源社区。如何证明自己?写几个高质量的开源插件做的demo。如何获取高收益?专门给一个项目写插件的人并不会太多。
## 切换对时间片更友好的商业模式
另一方面,如果我们能控制自己售卖时间片的方式的话,还可以通过更好的商业模式来提升单位时间的收益。
举个例子,我之前做课的时候,很多同学问我说「为什么不去做一对一的精品课程」或者「为什么你不爱做直播」?

结合时间片理论想想,大家就会发现原因。如果我们去做一对一,虽然这个客户可能给我的收益相对算高。但是我的时间片只能花费在这一个客户身上。而**如果是一对多,从可能性上讲,我的收益空间就会高非常多**。即使来自单个客户的收益不多,但很多人累积起来就多了。
直播课也是一样的道理,它每一次都要消耗我们的时间片。而录播课只要录制一次,之后就不用再消耗我们的时间片了。所以单从利用率上来讲,录播才是更好的方式。
这只是从模式上来讲的效率,并不一定和具体的例子匹配。也可能会有直播做的非常挣钱,录播根本没人看的情况。直播还能带货呢,对吧。
现在很多课程平台也用直播来拉新,这里所谓的直播课其实就是变相广告,它是用来解决营销问题的,完全就是另一套逻辑了。
================================================
FILE: ch03.md
================================================
# 时间片优化·其二 提升单位时间效率
## 通过自动化提升效率
那另外一个优化方向就是提升单位时间的效率。就是说,我就这么点时间,原来一个小时可以做完一个功能,现在找到了一个新办法,一个小时可以做完十个功能,这就是效率的提升。

当然,通过增强自己的意志力来强迫自己去提升生产效率,这种事情实际上是很难的。我们充其量也就是保证自己在做这些事情的时候,尽可能少地被干扰,不让自己的生产效率降下去,这已经是非常不错了。要想成倍的去提升人类的工作效率这是非常难的。
但是非常幸运的是,我们程序员从事的工作,它本身是有一部分可以由机器来做的。所以我们可以引入自动化来提升效率。
具体的例子是代码生成器。不是那种一下生成整个项目代码的大东西,而是根据我们自己编写的模板可以飞快生成各种代码片段的那种。比如我之前放出来的[metatoy](https://weibo.com/1088413295/IpOAqcs7h?type=comment),就是一个可以用 GUI 进行配置的代码片段生成器。

当然你也可以直接用过脚本来生成,效果也不差。一旦我们把日常开发中最费时间的部分写成了模板,之后就可以节省下来大把大把的时间。
## 通过 AI 提升效率
代码模板只能解决相对比较死板的规则,但是随着最近人工智能的进步,在某些特定场景下,原来很多低效率的人工操作,已经可以交给 AI 了。
对于 AI 正确率不高的场景,我们也可以通过人机结合方式来处理。比如图片分类,之前我们要花上十个小时的人工,现在 AI 只要十分钟,但是里边有20%的分类是错。那么我们可以再人肉过一遍,可能要花两个小时。即使这样,也将效率提升了五倍。
最近以接口方式提供的 AI 能力有很多品质已经不错了。比如熟悉我微博的同学都知道,我就经常在用语音合成和识别服务来提升内容生产效率。

比如我之前发布的[Slide酱](http://slide.ftqq.com/),她可以读取PPT中的演讲者注释,直接生成视频。这就极大的提升了视频内容的生产率。你现在看到的这篇文章,也是通过讯飞语记以每分钟一百多字的速度记录下来,然后二次修改而成的。
最近看到个[不错的服务](https://2zimu.com/),也是利用了大厂开放的 AI 接口实现的。它是面向自媒体的 vlog 自动配字幕服务,只要上传下视频,几分钟就可以生成好字幕并进行压制。
如果服务足够可靠,我们可以做成自动化服务直接提供给最终用户。如果服务还不够可靠,我们也可以将其放到原来流程的中间来提升效率。
比如同样是代码生成技术,如果我们把它做成面向不懂技术的人群的代码生成,如果服务还不是很可靠的话,最终效果可能不会太好。但同样品质的接口,如果我们把它做成面向开发者的、在编辑环境的代码补全和建议小工具,可能就会显得很好用了。
## 通过众包和外包提升效率
另外一种提升单位时间的方式呢,就是众包。严格地讲,其实众包里边我们已经把任务给分出去了。但是考虑到我们众包的时候,还是需要花不少时间去管理,我们还是会消耗精力,所以把它看做时间片效率的提升,也说得过去。

用大家熟悉的形式来描述的话,就是我们 new 了一堆 worker 节点去干活了,但我们自己控制着 factory 和 manager,还是需要随时监控和调度的。
顺便说一句,将什么样的工作众包出去也是有技巧的。首先是针对不同 worker ,我们要分配合理的 task 。如果是兼职的学生,就适合先分配一些类似文字整理工作的初级任务,做好了以后再加码。如果是经验丰富的工程师,就可以分配一个独立的微服务或者控件,尽可能降低各个 task 之间的耦合和依赖。
虽然监控和调度任务也会消耗精力,但这种方式可以突破时间片的天花板,是值得尝试的。

同时,从这里我们就可以看出,直接售卖时间片,其实是在整个链条的最下边,挣得是最薄的那一点利润。所以这里我们从时间片上面再往前走一步,从资产的这个角度来看待,挣零花钱这件事儿。
================================================
FILE: ch04.md
================================================
# 资产和被动收入·其一 获得资产
首先我们要讨论一下什么叫资产。这个定义就见仁见智了,我这里使用罗伯特·清崎在《穷爸爸富爸爸》里边的一个定义,那就是「**能把钱放进你口袋的东西**」就是资产。

正是因为资产具备这种特性,它才能在我们睡觉逛街看电影的时候帮我们挣钱。
话说《穷爸爸富爸爸》这本书很多人都读过,罗伯特·清崎后来还写了一个系列,核心是富人不为钱工作,而是**让钱为自己工作**。
在书里边,主要通过「购买」的方式来获得资产。这里是书中列出来的资产类型:
* 股票
* 债券
* 能够产生收入的房地产
* 票据(借据)
* 版税,如音乐、手稿、专利
* 其他任何有价值、可产生收入或者增值潜力且有很好销路的东西
所以这个系列后来就跑去教人投资和理财了。
我不是说投资理财不好,但是**投资你得先有资**、**理财你得先有财**。在风险可控的范围内,大部分投资理财的回报率差异不会特别大。如果你手上一百万都不到,可能折腾一年、背着挺大的风险也就是多挣了几万块钱。
在罗伯特的资产清单中,还有一个可以无成本获得类别 —— 版税。但其实在中国因为书卖得特别便宜,而版权又普遍不受重视,一些大厂都堂而皇之的侵权,其实很难获得高收益。

如果没有初步的积累、或者不想背负过大的风险,怎样才能获得资产?这个问题在大学时困扰了我很久,但在毕业后我可能找到了一个解决方案,它来自科技的发展、是时代的红利。
================================================
FILE: ch05.md
================================================
# 资产和被动收入·其二 创造资产
接着上一节的问题,如果我们不能通过购买来获得资产,那么我们直接创造资产就好了。对于其他行业的人来说,创造资产的成本并不会比购买资产低多少。但是我们不同,我们是程序员,而这个世界正好从软件时代穿过,进入了互联网和移动互联网时代。

我们可以用过自己的技能栈低成本、无风险的创造出各种数字的、虚拟的资产,这些资产同样可以七乘二十四小时的把钱放进我们的口袋。不是每个人都有我们这么幸运,程序员是为数不多的、自己掌控着大部分生产资料的人。大部分的程序员,离完整地做出一个商业产品,缺的可能只是一点美感和设计能力。
当然,并不是所有的虚拟资产都适合我们以「副业」的方式去创造的。因为就像前面说的,这其实是一个资源和精力都非常缺乏的状态,所以我们也只能从庞大的可能性中选择那些适合个人的产品和服务。
说那到底有哪些产品和服务适合副业呢?我琢磨了一下,有一些想法。
## 自传播

首先是「**自传播**」,就是说这个东西做出来了以后,它本身有很强的感染力,用了它的用户会主动地去推荐给其他用户,这样的话我们就不用自己花很大的成本去做营销。
对于大部分程序员来讲,把程序写出来只是时间和精力问题。写不出来程序的程序员很少,但卖不出去的程序的程序员非常多。所以,如果我们做的这个东西它本身自己就能传播,那么我们就可以在零市场预算的情况下获得成长。
## UGC

第二类叫做「**UGC**」,用户贡献内容。它其实是一种更广义的众包。核心也是突破时间片限制。比如说我现在经营一个原创博客,天天都是自己写,就会觉得自己累得都不行了。
但如果我们去做一个访谈类的博客,弄一个相对固定的问题列表,然后拿着这个列表去采访各行各业的人,把结果做成一期一期的内容。这样用户就贡献了至少一半的内容了。
如果我们再改成办一个杂志,每一期大家根据主题投稿,你就从主创变身成编辑了。虽然投稿里有好有坏,良莠不齐,但我们的主要任务已经变成去筛选了,只要贡献内容的用户足够的多,那整体质量还是有保证的。最主要是内容的量就上来了。一个人的话,不管你多么努力,总是有一个上限的,因为你毕竟是人类。
## 自动化

第三类前边提过,就是「**自动化**」。就是说这个应用做起来以后,它所有的环节全部都可以由机器完成,我们什么都不用管,只需要把它扔到云平台上,然后定期给云平台打钱。
当然这是一个理想的情况下,意外总是会出现的,而且各种意外会约好在同一天出来逛街,别问我为啥知道。
但是在绝大部分情况下,我们都可以不去管它,它都可以自动化运行。这种资产,因为它不牵扯后期的维护,类似于一次性投入,也是非常适合副业来做的。
================================================
FILE: ch06.md
================================================
# 资产和被动收入·其三 资产的量化评估
我们也可以更为量化的来给资产定一个评估标准。
确定好要考察的几个方面,每个方面做一个满分为5分的评分,对每一项评分就可以得到一个多边形,从而一目了然的看到各个资产的状况。
这个标准因人而异,这里分享一下,我用得比较多的几个标准。
## 投入

项目的一般投入都是三项:「人」、「钱」、「时间」。
「人」和「时间」不多说,通常就是我们自己和挤出来的那点时间了。
「钱」方面,我们也需要一点启动资金,但**不用花大钱去购买各种固定资产。这也是我们这个行业能自己动手创造资产的一个重要原因**。尤其是现在,云计算已经普及了。即使是很大访问量的网站,我们直接租用云服务,按用量付费,省钱又省心。我大学刚毕业的时候,要是做大点的网站,还要自己去买服务器,自己扛去机房托管。现在只需要点点鼠标就能买到一堆 vps ,其实是蛮幸福的。
这里要提醒大家的是,一定不要忘记维护成本。
我们卖时间片的时候,活干完就完了,钱就拿到手了。
但是在自己创造资产的时候,资产的每个细节基本都自己来 cover 的,所以**维护成本一定要算进去**。
维护成本往往不是那么显而易见。比如说吧,其实在线课程也是有维护成本的。很多想要做课但没有做课的同学和我交流,都觉得课程是一个非常好的商品。他们说,「你看,做一个课只要三到六个月,然后就可以放到那里收钱了。每年那么多的毕业生,这一届卖完了接着卖下一届」,听起来简直是躺着挣钱。
但理想是美好的,现实是骨感的。咱们计算机类的课过时是非常快的,前端课甚至还没做完上架,框架就又发大版本了。
上架以后,如果你的课做得好,只要一上排行榜,很快就会有人把你的课的大纲抄一遍,然后以更便宜的价格来销售。

这还是合法范围以内的竞争,那更惨一点的是直接把你的课盗版了,在淘宝闲鱼朋友圈微信群里面,几块钱卖一套。本来以为这个课每一年都可以给你带来收益,但事实上的情况是,一旦被盗版以后,销量就从悬崖边直接跳下去,落入一个不见底的深渊。
## 产出

在评估产出的时候,可以分为「一次性的回报」和「周期性的回报」。
一次性回报,比如我们给人家做技术顾问。可能就是在周三拿到一个邮件介绍说是什么样的一个需求,有什么问题要解答。我们花上2~3个小时来准备,那在周末约一个时间,面谈一个小时,把之前准备的内容聊清楚,聊完了以后,回报就拿到手了。这就是一次性回报。
周期性回报,比如说我们在掘金上写了一个小册,那只要有人在购买,我们就会不停的有收益,这种收入一般按月结,所以每次看起来没多少,但加起来还是挺多的。我之前算了一下,发现**在我创造的各种资产中,掘金小册的投入产出率是最高的**。
## 可持续性

持续性是我以前忽略掉的一个东西,后来被我追加上来。这其实是一个非常浅显的道理,**一个资产放在那个地方,它不可能一直就持续地挣钱**。就像电池光用不充电的话,总会有用光的一天(别和我提太阳能电池)。
这是因为我们创造这个资产的时候,它是面对一个市场需求的。而这个需求本身它会随时间变动。绝大部分的情况下,需求和我们提供的解决方案之间的契合度,会随着时间越来越差。最后就会变成,要么我们就不去管它,让它慢慢地随着时间去消亡;要么我们又要花成本去维护它,把它从偏差的地方给拉回来,重新覆盖到需求上面。把用户的满意度、用户的体验、市场的趋势给重新考虑进去,让我们资产的生命期变得更长。
对于不同的资产来讲,只是过程的快慢会不一样,但整体来讲,都是会有这么一个过程的。
## 风险

程序员创造产品最大的风险是「**没人用**」,因为虽然大部分科班出身的程序员都学过需求分析,但仍然各种喜欢拿着锤子找钉子。
当然,这对于没有做过独立开发或者自己产品的同学来讲,是一个必经的阶段。所以早期项目的风险都会非常高的,但这并不是说风险高我们就不做了,我们可以相对的调低投入,原来要投入三个月上线的产品,可以花三天做个MVP上线,测试到需求以后,再继续加码。这样也能慢慢的获取到一个平衡点。
## 门槛

最后我加了一个评估标准叫做门槛。因为「副业」的关系,我们的各项资源都是受限的,这个评估标准体现了受限情况下创造资产的难度。
================================================
FILE: ch07.md
================================================
# 销售时间片的方式
这里我们整理了销售时间片模式下,有哪些挣零花钱的方式(内容主要基于旧版长文)。
## 私单
### 远程外包
最理想的单子还是直接接海外的项目,比如[freelancer.com](http://freelancer.com)等网站。一方面是因为挣的是美刀比较划算,之前看到像给WordPress写支付+发送注册码这种大家一个周末就能做完的项目,也可以到200~300美刀;另一方面是在国外接单子比较隐蔽。

常用国外网站:
- http://freelancer.com
- https://www.upwork.com/
(由[ahui132](https://github.com/ahui132)同学补充)
> 本段由tvvocold同学贡献。
国内也有一个软件众包平台 [CODING 码市](https://mart.coding.net) 。 码市基于云计算技术搭建的云端软件开发平台 [Coding.net](https://coding.net) 作为沟通和监管工具,快速连接开发者与需求方,旨在通过云端众包的方式提高软件交付的效率。码市作为第三方监管平台,会对所有项目进行审核以保证项目需求的明确性,并提供付款担保,让开发者只要按时完成项目开发即可获取酬劳。你可以 [在这里](https://mart.coding.net/codersay) 看到开发者对码市的评价。
当然,猪八戒这种站我就不多说了,不太适合专业程序员去自贬身价。
### 按需雇用
按需雇用是近几年新兴的私单方式,开发者在业余时间直接到雇主公司驻场办公,按时薪领取报酬。这种方式省去了网络沟通的低效率,也避免了和雇主的讨价还价,适合怕麻烦的程序员。
#### 拉勾大鲲(已下线)
~~~~
~~[大鲲](https://pro.lagou.com/) 由拉勾网推出,考虑到拉勾上三十多万的招聘方,大鲲不缺雇主,这是其他独立平台相对弱势的地方。~~
#### 实现网

[实现网](http://shixian.com)的价格也很不错,~~但是我强烈建议大家不要在介绍中透漏实名和真实的公司部门信息,因为这实在太高调了。有同学说,这是我的周末时间啊,我爱怎么用就怎么用,公司还能告我怎么的?
虽然很多公司的劳动合同里边并不禁止做兼职,但在网上如此高调的干私活,简直就是在挑衅HR:「我工作不饱和」、「公司加班不够多」…
再想象下你一边和产品经理说这个需求做不完,一边自己却有时间做私单的样子。你自己要是老板也不愿提拔这样的人吧。~~
(我这几天重新去看了下,人才页面已经不再显示姓名了,只用使用头像。这样只要在工作经历介绍里边注意一点,就可以避免上述问题了。)
#### 程序员客栈

不太熟悉,但国内按需雇用的网站不多,写出来供大家参考。
## 写文章
### 投稿
很多同学喜欢写技术博客,其实把文章投给一些网站是有稿费的。
比如InfoQ,他们家喜欢收3000~4000字的深度技术文章;稿费是 200 元 / 篇。虽然不算太多,但一篇长文的稿费也够买个入门级的Cherry键盘了。我喜欢InfoQ的地方是他们的版权要求上比较宽松。文章在他们网站发布后,你可以再发布到自己的博客;而且文章可以用于出书,只要标明原发于InfoQ即可。
更详细的说明见这里:[https://www.infoq.cn/instruction](https://www.infoq.cn/instruction)
> 微博的[@rambone](http://weibo.com/rambone)同学补充到,文章还可以发到微博、微信、简书等支持打赏的平台。考虑到[简书CEO及其官博对程序员的奇葩态度](https://weibo.com/2855893887/Fztyzmolp?type=comment#_rnd1524187028824),个人建议是换个咱程序员自己的平台写文章。
## 内部推荐和猎头推荐
如果你在BAT等一流互联网公司工作,如果你有一帮志同道合的程序员朋友,那么基本上每隔几个月你应该就会遇到有想换工作的同事和朋友,所以千万别错过你挣推荐费的大好时机。
一般来讲,公司内部推荐的钱会少一些,我见过的3000~6000的居多。但因为是自己公司,会比较靠谱,所以风险小一些。经常给公司推荐人才,还会提升老大对你的好感度,能优先就优先吧。
比起内部推荐,猎头推荐的推荐费则会多很多。一个30万年薪的程序员,成功入职后差不多可以拿到1万RMB的推荐费。但猎头渠道的问题在于对简历质量要求非常高,有知名公司背景的才容易成单;回款周期又特别长,一般要入职过了试用期以后才能拿到全部推荐费,得小半年。
================================================
FILE: ch08.md
================================================
# 适合程序员创造的资产·其一 可自动化的业务
================================================
FILE: ch09.md
================================================
# 适合程序员创造的资产·其二 可众包和外包的业务
================================================
FILE: ch10.md
================================================
# 适合程序员创造的资产·其三 付费社群
- 低投入:★★★★ 准备一定的内容后就可以零成本开始
- 高产出:★★★ 碎片化的内容,便宜。有关系、内幕和小道消息的收益高
- 可持续性:★ 需要持续更新内容,维护社群氛围
- 低风险:★★★★★ 好像没啥风险
- 低门槛:★★★★★ 开通服务容易,卖会员难
收费群也可以来来收益。比如可以搞一个技术创业群,找一些创业成功的同学、做投资的同学、做法务的同学,面向想创业的同学开放,每人收个几百块的年费。然后你在创业过程中遇到的问题,都可以有人解答,不会觉得是孤零零的一个人。如果遇到了问题,群里的人可以解答;如果没遇到问题,那不是更好么。有种卖保险的感觉,哈哈哈。
比较好用的工具是 [知识星球](https://www.zsxq.com/) 也就是之前的小密圈。这个工具比较适合交流和讨论,长文比较痛苦。可以发布到其他地方,然后粘贴回来。

另一个比较靠谱的工具大概是微博的 V+ 会员。说它靠谱主要是它在微博上,所以等于整合了 「内容分发」→ 「新粉丝获取」 → 「付费用户转化」 的整个流程。
交流型付费社群的一个比较难处理的事情是,**很难平衡免费的粉丝和付费的社群之间的关系**,所以我最后的选择是付费类的提供整块的内容,比如整理成册的小书、录制的实战视频等;而日常零碎的资料分享还是放到微博这种公开免费的平台。
================================================
FILE: ch11.md
================================================
# 适合程序员创造的资产·书籍出版
- 低投入:★ 书籍出版需要的内容更多,周期更长
- 高产出:★★★ 版税一般在8%~10%,但可以提升知名度
- 可持续性:★★★★ 书籍更新频次很低
- 低风险:★★★★ 反正不怎么挣钱,所以风险也不高
- 低门槛:★★★★★ 首先要有出版社愿意出,电子版也有门槛
##实操分享
(内容来自我的文章《如何通过互联网出版一本小书》)
2014年十月长假我终于把《程序员跳槽全攻略》写完并发布了。目前已经在亚马逊、多看、豆瓣和百度阅读上架,春节后会出纸版。这里和大家分享一下写书时遇到的各种问题。
### 工具
书写工具是非常重要的,如果你正好写技术书,那么你可能会喜欢MarkDown编辑器。我推荐使用GitBook,原因如下:
- 它支持MarkDown和实时预览
- 可以自动生成PDF、Mobi和ePub格式
- 还能顺便生成Web网站
最近GitBook改版了,做成了在线服务,之前它还提供一个跨平台的本地编辑器,用起来还不错,但是有两个小bug:
- 新建章节的时候不能使用中文,需要先用英文,然后再改成中文。
- 当一行文字中既有中文又有英文时,换行处偶尔会有文字重叠。(这些问题是我在2014年12月时遇到的,最新版不知道修复没有)
如果你觉得不能忍受的话,可以用GitBook生成MD文件后,用其他编辑器来书写。GitBook的好处是可以通过拖拽的方式来调整章节顺序和层次。
在输出时,可以发布到云端,由GitBook来帮你转码;也可以在本地自行转换。
### 渠道
#### 自主售卖
上架到数字商品代售平台,创建商品页面,然后自行销售。
[Gumroad](https://gumroad.com/)

[面包多](mianbaoduo.com)

#### 电子书平台
##### 多看和亚马逊
多看和亚马逊中国没有自主提交入口,但是可以通过代理发布商来做。我使用的是BookDNA。

BookDNA的服务是收费的,除了会在图书收入上分成外,还有排版费用,大概在500左右,我仔细看过他们排版的电子版,在图片、注释和外部链接等方面做得很不错,还是用了心的。
BookDNA的流程是先上传书籍,通过他们审核以后,再付款和签订合同。亚马逊上架比较快,20天就OK了,而多看和豆瓣就慢了挺多(我这里慢了一个月)。
除了多看和亚马逊中国,BookDNA还能同时发布到百度、淘宝、豆瓣几个平台,如果你用的话建议就一起发布了。
BookDNA的缺点是,因为是代理平台,所以销售情况反馈是滞后的(定期汇总),不能像百度阅读那样实时看到收益;另外电子版权是需要授权给他们的,要自己评估下风险。
#### 纸版
如果电子版卖得不错,你还可以考虑出版纸书。可以拿电子版去联系编辑,更多的情况是对方会找上门。
关于纸版书,以前我一直以为字数太少是不能出版的,但后来才发现,其实2万到3万字的书,出版社也会愿意出的。
这实在是一个好消息,很多技术书为了凑字数,活生生把手册给放上去当附录了;或者明明是写PHP高阶开发的,为了字数还要讲MySQL…
而现在,你可以针对一个非常细分的领域,把它讲透,然后针对一个特定人群进行销售。
### 心得
和博文相比,书籍还是更能系统性的表达的自己想法,也能在更大层面上体现自己的专业能力。借助社交网络和在线出版平台,我们也能实时看到读者的反馈。
建议大家多写一些系列博文,可以在合适的时候结集出版,这样既不会对自己的时间造成压力,也能较早的影响目标群体,培养潜在的读者人群,一举多得。
================================================
FILE: ch12.md
================================================
# 适合程序员创造的资产·付费专栏
- 低投入:★★★ 文字专栏,比视频投入低,但依然很费时间
- 高产出:★★★ 文字类产品的售价普遍偏低
- 可持续性:★★★ 技术类课程大概半年需要更新一次,图文版更好更新
- 低风险:★★★★ 从日常文章的受欢迎程度可以评估
- 低门槛:★★★★★ 会写文章就可以
最近一年有不少的付费文集产品出现,可以把它看成传统出版的一个网络版。一般是写作十篇以内的系列文章,定价为传统计算机书的一半到三分之一。付费文集产品通常是独家授权,所以在选择平台方面一定要慎重,不然一个好作品可能就坑掉了。
## 掘金小册

[小册](https://juejin.im/books)是由掘金推出的付费文集产品。我是小册的第一批作者,一路用下来还是很不错的。文章格式直接采用 Markdown , 发布以后可以实时更新,保证内容的新鲜度,非常的方便。小册的一般定价在19~29,通用内容销量好的能过千,细分内容基本也能过百。挣零花钱的话,是个非常不错的选择。
## GitChat专栏

[GitChat专栏](https://gitbook.cn/gitchat/columns)是 GitChat 旗下的付费文集产品,GitChat 的用户群不算大,但付费意愿还可以,大概因为内容就没有免费的🤣。
## 小专栏

这个平台不熟……写到这里仅供参考。
================================================
FILE: ch13.md
================================================
# 适合程序员创造的资产·付费课程
- 低投入:★ 前期要准备,后期要剪辑,录音还可能要购买硬件
- 高产出:★★★★★ 用户愿意为好的课程花钱
- 可持续性:★★ 技术类课程大概半年需要更新一次
- 低风险:★★ 因为投入大,如果没人买就很亏,最好自带流量
- 低门槛:★★★ 有演讲经验很重要
在线教育起来以后,录制教学视频也可以赚钱了。整体来讲,在我亲测过的各种变现方式中,付费课程是最稳定的、也最为大家的接受的。
## 做课步骤

## 平台销售
### 渠道和分成
大部分的平台合同有保密协议,所以不能对外讲。但[网易云课堂](https://study.163.com)和[Udemy](https://www.udemy.com/)在公开的讲师注册协议中写明了分成,所以这里说一下。
#### 网易云课堂
网易的课分三类:
- 独立上架:等于网易提供平台(视频上传管理、用户管理、支付系统等),由你自己来负责营销。~~这个分成比例在 9:1 ,平台收取 10% 的技术服务费。我觉得非常划算。~~ [网易在2020年5月修改了协议](https://weibo.com/1088413295/JbTMyB29m?from=page_1005051088413295_profile&wvr=6&mod=weibotime),目前分成比例为实际收入的50%.
- 精品课:由网易帮你推广,但需要和他们签订独立的合同,会收取更多的分成。最麻烦的是,通常是独家授权。一旦签署了,就不能在其他平台上架课程了。
- 微专业:这个是网易自己规划的课程体系,从课程的策划阶段就需要和他们深度沟通。也是网易推广力度最大、收益最大的一类课程。
方糖全栈课就放在网易平台上,觉得好的地方如下:
- 支付渠道相对全,还支持花呗,这样对于我这种高价课就非常重要。苹果应用内购买课程渠道费用会被苹果扣掉30%,好想关掉 🤣
- 自带推广系统,愿意的话可以用来做课程代理系统。
#### Udemy
相比之下 Udemy 就很贵了,分成是 5:5 ;支付上国内用户只能通过信用卡或者银行卡绑 paypal 支付。但可以把课程推向全球。(但我英文还不能讲课🙃)
腾讯课堂暂不推荐。主要原因是我作为网易金云奖最佳课程得主,以个人身份申请讲师资格,三次被拒。所以我觉得其他同学的门槛可能会更高。听说以机构方式申请比较容易,但这要求你有公司资质。
## 实操分享
(内容来自我的长文《如何做一个日入十万的技术课程》)
### part 1
在讲实际操作之前,我们先来说几个关于做课的事实。做课并不像看起来的那么美好,背后有一些不易察觉的坑。

第一个事实:**做课不难,卖课才难**。
很多做技术的同学去翻各种IT课程网站上的课程的时候,都会有一个疑问:「为啥这些课程做得不怎么样,还能卖得这么好?」进而产生了一个幻觉,「如果我也能做这样的课,那也能卖这么多套,挣这么多钱」。

事实的一面是,绝大部分大厂的同学,只要肯花上足够的功夫在自己的专长领域,的确都能做出不错的课程。
但另一面是,并不是做得好的课程,都能卖得好。「酒好不怕巷子深」那是古代的事情,现在酒好不好都要靠流量。大部分人能用上的免费流量入口其实只有两个,一个是**课程平台**,比如网易云课堂等;**另一个入口则是个人流量**,比如你的微博、公众号等。
面向平台流量的课程,主要通过「比较」来竞争。因为这些平台的受众并不认识你,和你之间的信任关系也并未建立,所以他们往往是直接比较课程的可见部分。比如价格、时长、(很可能是空头支票的)就业承诺等内容。这是一个红海,有些竞争过度,也不是那么讲究,甚至还有买课送1G盗版技术资料的。
面向个人流量的课程,**主要通过「品牌」来竞争**。因为课程其实是非标准品,同样大纲的课程,不同的人讲出来的效果是不同的。认可你的人,自然会认可你的课,只要能持续的保证内容达到或者超出期望值,就可以不断的快速售卖课程。个人流量的问题是,它需要花很长的时间来建立,而且需要持续的去维护。
如果你没有准备足够的市场预算,就需要在这两个方向上找到突破口。
以我的课程《方糖新全栈·node版》( 访问 quanzhanke.com 可见 )为例,在个人流量上,是完全靠微博粉丝来销售。我会给他们一个非常高性价比的价格,因为这些流量没有平台分成,等于把给平台的钱给了自己粉丝。
在平台流量上,这个课程直接整合了一个RPG游戏,让它可以在一堆大前端课程里边显得与众不同。不过在就业向课程的竞争下,表现得并不好。
在双十一当天,这套课程的销售额超过了11万,但其中九成都来自于个人流量。
第二个事实,**做课不如写码挣钱**

虽然头部课程的销售看起来都很厉害,但其实绝大部分课程的收益并不高。一般而言,定位为小几十的课程,销售过万已经不太多;定价几千的课程,即使是网易和腾讯这种官方品牌,举全站之力进行推广,销量往往也只有几百套。所以其实**一套课程挣几十万是很不容易的事情**,背后还有平台一般30%的渠道分成、苹果30%的支付分成,以及个人25%、企业约5%~10%的税。
以前边提到的Node课为例,虽然在双十一单天的销售看起来很喜人,但其实平均到整个课程的制作周期,月收入也只是在两万左右。
但一个中级程序员,一年的全部收入达到三十万还是比较容易的。最关键的是,基本没有风险。所以我已经劝退了好几个打算全职来做课的同学,除非你能做出爆款课程,否则兼职做课才是最好的选择。
第三个事实,**爆款课程的竞争对手不是其他课程,而是自己……的盗版**。

本来一个制作精良的课程,如果能持续更新,它的收入应该能维持到一个不错的现金流。从而良性的发展下去。
但是如果你的课程一年的累积收入能到几十万,那么差不多就能进入各个课程平台的排行榜了。没有意外的话,也会同步进入盗版名单。在淘宝、闲鱼、朋友圈和微信群、论坛以及B站上,都会先后出现你的课程的盗版。
虽然在你入驻时,各个课程平台都会宣扬他们有多NB的反盗版措施,但其实都是你自己发现盗版链接后提交给他们,然后他们让法务去下架。某些平台还有提交日期限制,比如一周只有一天能提交。
购买维权骑士之类的服务,效果可能好一点,但费用高昂,一门课在一万到两万,而且依然无法处理放置在国外未备案网站上的盗版内容。
很多讲师选择了预售、直播等相对妥协的方式,我自己则花了差不多一年时间开发了互动课系统。**盗版课程最大的问题不是减少了你的收入,而是让那些第一时间支持你、购买你课程的正版用户看起来像个傻X**。而这是我无法忍受的。
盗版问题是很难解决的,但大家都知道,单机游戏厂商转向网游开发后都在大把数钱。正好全栈课有一半的内容是后端,所以我把后端开发的环境也放到了云端,通过浏览器进行互动教学。

严格的讲,这也不能防止某些盗版用户把内容都下载下来,自己搭建一个互动平台。但这将原来直接录屏的盗版成本提升了一个数量级。最关键的是,同时也把正版用户的体验提升了一个数量级。
互动教学系统的开发并不难,一个Ubuntu+VsCode网页版基本就解决了大部分问题;稍微麻烦的是需要自己来写课程编排和VPS容器管理。
我建议的是,在课程最初就应该把这些东西做好。不要等到盗版以后再去做,因为一旦被盗版,课程关键字就被污染了,即使你新版做了很多更新,流量也还是会分流到旧版的盗版课程那边去。
### part 2
下边我们来聊实际操作。

首先来说选题。很多同学做课都是自己会啥就做啥课,这个思路当然没错,但如果你专精的领域非常偏门,那么就很难做出畅销的课程来。
**选题直接决定了受众数量**。如果你去翻下各个IT课程平台,就会发现卖得最好的往往都是语言无关的课程比如Git、MySQL、Docker以及各个语言的零基础入门课。
深度课程只有系统化的大课卖得还不错,那种完全针对进阶学员的课,往往叫好不叫座。
这里并不是叫大家不要做深度课,而是说,**在你选择这个选题的时候,你应该明白这背后意味着什么,不要等到课程做完了销量不好的时候才来反思**。

再来说说定价。表面上看,定价是由市场和竞品决定的。但其实背后,**定价是由我们的课程带给学员的价值决定的**。简单的说就是,我们要考虑的是,课程如何给学员带来比学费更多的价值,这样才能做到物有所值。
以我们PHP版的[全栈课](http://quanzhanke.com)为例,这个课定价在3000。那如何才能给学员带来超过3000的回报呢?
这种高单价课程最明显的价值就是就业价值。只要学员通过课程找到工作,那么它带来的回报就是几十上百倍的。
当然,没有什么课程能真正保证你学完就能找到工作。所以就业价值都是概率事件,我们能做的是提升概率。
于是通过裁剪技术栈,我们把这个课程做成了国内几乎没有的多职位课程,学完以后,可以面试前端、也可以面试PHP、还可以面试区块链应用开发岗位。一下就把职业通路给扩宽了两倍。
另一方面,区块链开发作为私活技能,其实也很容易就能把学费挣回来。
这之后,我们才需要去考虑竞品。去考虑那些提供同样价值的课程定价如何。不过因为课程是非标准品,所以也只是一个参考。

确定了选题和定价,收入上限其实就已经决定了。当然会有特殊的情况,但大概率下的收入上限是可以预估的。
比如我们做一个Git使用的短课,课程时间大概在2~3小时,定价在10~20元。以各个平台卖得不错的Git课程销量为参考,我们可以知道1万套已经算是非常不错的了。所以这个课程的收入上限基本就在10~20万。
砍掉制作成本、分成、广告、用户支持成本,纯收益大概在10万。你可能会说,10万也很不错啊。
醒醒,这估算的是上限,是在非常顺利的情况下挣的钱。不是下限,只能卖几套的课程也是挺多的。所以我们要通过提升下限来降低风险。

在互联网产品中,我们往往通过MVP来进行评估需求。在课程制作上,其实也可以采用这个方式。
最简单的办法,是**通过预售来评估下限**。这里讲一个例子。今年年初,我一直在想,能不能把课程和游戏结合起来,做一个寓教于乐的产品。
所以有了《萌猫·室友·前端课》这个项目,它把教学内容整合到了RPG游戏里边。但这种全新的形式能不能被学员接受,是一个大问题。
于是我们在开发一个月以后,在方糖Next平台上进行了预售。这次预售使用了我这边全部的影响力,包括微博头条、推送、微信推送、站外转发。

但最终以3元的定价,只卖出去了不到700套。这意味着,即使我们把定价提升到30,我们的收益也就几万。于是我们中止了这个项目的第二季,把它合并到了node版全栈课中。
除了MVP,我们也可以通过预售平台来售卖折扣码、优惠券,在课程还未制作之前,就把收益锁定到一个区间里边。
通过预估上限和下限,我们可以有效的控制风险。尽可能的减少那种做了一年卖了一套的悲惨状况。

为了尽可能降低MVP的成本,我们采用机器语音来进行早期测试。它只需要编写PPT就能自动生成带演讲语音的视频。如果你已经有不少学员了,那么可以提供给他们试学,从而获得反馈意见。
我们测试机器语音的效果在个人流量转化的学员中反馈相当好,以至于目前课程都采用了机器语音。但是在平台流量中,转化不行。在考虑稍后制作价格更高的真人语音版本去转化平台流量。
我把这个PPT自动演讲的系统做成免费服务了,感兴趣的同学可以用用。网址是 slide.ftqq.com

### Part 3
在最后一部分里边,我会分享一些最为具体的细节,为一些感兴趣但还没学会做课的同学做下简单入门。

课程最核心的结构就是大纲,一份好的大纲可以稳定50%的品质,更可以节约大量的时间。
虽然很多人都知道大纲怎么写,但是大部分的大纲都有一个很严重的问题,那就是不够详细。如果可能的话,我其实是建议大纲要细到每一段的。不是说你一开始就要写那么细,应该先章、后节、最后再段。这里是强调在大纲中最好把每一段说什么确定以后再往下走。
我用的工具最开始是 Xmind Zen,不过它们家的软件在2000个节点的时候性能就不太好了,而且是订阅制的。而订阅了导出PDF上边还有它们家的logo。所以后来就换成 MindNode 了,一次购买,终身使用。唯一蛋疼的是只有Mac版。
另一个不错的选择是 Dynalist ,虽然严格的讲它不是思维导图,而是类似于 workflow 那种树结构。但可以无限层级往下写东西的感觉非常不错。而且免费版就非常够用。

最后,和写小说不同,其实大部分课程的大纲都是差不多的,所以多参考下卖得好的课程的大纲,可以及时发现自己的疏漏之处。
很多同学写技术文章比较多,往往把写文章的习惯迁移到做课上来。其实目前大部分课程是以视频为主要载体的,所以应该以画面为中心组织内容。
这句话看起来不太好理解,我翻译一下:「别用word,用ppt和keynote」;「能用图,就别用字」。
别将课程想象成一本书,应该把它想象成一系列的演讲。就像天天讲TED一样,每一节课十来分钟,你要想办法把它讲得风生水起。

在录制课程使用的软件上,如果是使用Mac系统的同学,那么恭喜,你可以使用 Keynote 和 iMoive 这两个免费软件来进行课程录制。
在 Keynote 中,可以选择 「Play」→ 「Record slideshow 」进行课程的录制,完成以后可以直接导出为视频。

对于不在 Keynote 中展示的部分,则建议使用 OBS 这个开源软件来录制。它是跨平台的,在 Mac 和 Win 下都可以使用。
在录制过程中,建议使用 Keycastr 这个开源软件来显示按键。

等 PPT 和实战部分的视频都录制完成后,就该使用 iMovie 来进行剪辑了。这个软件使用很简单,是我用过的软件里做得最棒的。而且是免费的。顺便说一下,iMoive 是支持音频去噪的,建议打开。

最后,如果嫌 iMoive 导出的视频体积大,可以使用 HandBrake 来压制,选择 fast 1080p30 ,能输出大小和画质都不错的视频。这个软件也是开源的,还可以用来压字幕。最有意思的是,它其实还支持命令行调用,这样就可以通过脚本来做自动化。

当然,如果你喜欢完全的控制感而且有钱,可以用adobe的全家桶。剪辑用PR、音频用AU。
在课程剪辑方面,我比较习惯剪掉大部分的空白并加速等待。不过有些同学买课看时间的,所以也有很多课程根本不做剪辑

我个人的感觉其实做课并不太需要特别硬件,主要的就是麦克风。我之前用过扩展声卡、录音笔,感觉都还行。现在用的是 Zoom 的 H1n ,这个设备充电后可以随手拿着,也可以通过USB直连电脑录音,还能放到相机上边用,感觉还是不错的。
总结一下,这一篇长文的重点是:
- 兼职做课比全职做课可能更好
- 选题和定价决定的收入上限
- 影响力和平台流量决定了收入下限
- 预售可以测试收入下限,避免无效投入
- 通过互动课可以相当程度的反盗版
- 技术课程是技术实践的副产品,需要一直通过实践来驱动
================================================
FILE: ch14.md
================================================
# 适合程序员创造的资产·应用市场卖付费软件
- 低投入:★★★ 需要购买苹果的开发者program和日益昂贵的硬件测试用
- 高产出:★★★★ 红海市场,需要想办法脱颖而出,一旦用户起来,收益可观
- 可持续性:★★★ 需要更跟上苹果更新的节奏
- 低风险:★★★ 由于市场软件众多,需要想办法进入推荐。不过最多也就是上架了没人用
- 低门槛:★★★ 能挣钱的市场并不多,需要有能上苹果市场的技术栈

开发软件放到应用商店卖钱,也不是什么新鲜事情了。自从移动互联网起来,就一直存在这个市场。这里就不再多说。
需要给从来没有去过应用商店的同学提个醒,现在应用商店都是一个红海市场,上面有非常多的各种各样的软件。
所以如果我们要去上市场的话,需要想办法来获得流量。
通常免费获得流量有两个途径。一个是通过,关键字搜索。如果有人在市场里搜索应用,你能排到前边,而且能比其他的竞品更具有吸引力,那就能获得一个比较大量的安装量。
另一个就是编辑推荐。看起来有创意、有逼格的产品更容易被推荐,那种虽然功能不错,但是界面丑的软件,是比较难的。
另外就是,虽然现在市场很多,但其实能真正挣钱的市场也就是苹果。国内挣钱比较多能全职的独立开发者,靠苹果商店的占了不少。
================================================
FILE: ch15.md
================================================
# 适合程序员创造的资产·订阅式软件和服务
- 低投入:★★ 基本功能免费、增值服务订阅,需要花不少时间和精力做免费功能
- 高产出:★★★★ 采用订阅模式,可以锁定用户,每个月都有收入
- 可持续性:★★ 需要定期更新大功能刺激用户续订
- 低风险:★★ 风险在于早期用户的获取,以及续订率
- 低门槛:★★★★★ 标准软件开发

现在软件越来越难卖了,因为获取用户的成本正在变得越来越高。
但是软件订阅也正在兴起。什么是软件订阅呢?
以前,我们买的软件基本都是一次性付费的。从用户的角度看,这是很爽的,买完以后就可以一直用。
但是从软件开发者的角度去看,他需要不停的随着操作系统的升级和用户的需求去升级和修bug,有着大量的维护成本。同时,因为老用户已经花完钱了,所以还要不停的去寻找新用户。这样就牵扯了大量的精力。
软件订阅的方式,是说用户不用一次性付很多的钱,可以支付一点点,但会有使用期限制,如果你想一直使用,可能每个月都要花上一些钱。
这是一个很好的模式,但是软件订阅给客户带来了风险,比如说,突然有一天开发公司倒闭了,那么就没法续费了。所以也有很多用户是不愿意购买订阅服务的,我就是其中之一。
这里想说的是,订阅的服务一定要合理。比如有一些云端的功能我们要使用,那这个时候,订阅功能就是合理的。
你一个万年不更新的纯客户端,还要搞成订阅一个月收几块钱,就不合理了。
转订阅的软件很多,比如 Sketch,直接把之前买断的老用户扔了,强制让按年付费。也有良心一点的,比如 MindNode,之前买断的老用户可以一直用。但无论如何,订阅的软件是越来越多了。
说不定以后针对订阅软件,搞一个一次性买断的竞品,反而会很好卖 🤣
================================================
FILE: ch16.md
================================================
# 适合程序员创造的资产·模板、插件和源代码市场
- 低投入:★★★★ 通常是开发副产品,所以投入不算高,但需考虑推广成本
- 高产出:★★★★ 一旦找到位置,就可以持续销售,还是挣美金
- 可持续性:★★★ 根据平台的不同需要定期同步更新
- 低风险:★★ 风险在于这部分主要是英文市场,如何获得关注是重点
- 低门槛:★★★★ 前端可以做模板,后端可以写插件,全栈可以卖整站
就像作家写书、音乐家作曲一样,其实程序员也可以创建有版权的数字内容,并通过售卖它来获得更好的收益。
虽然我们之前聊过基于版权的市场在国内基本可以忽略,但是在全球范围以内,在英文市场里,还是有很大的交易额的。
比如 Envato 旗下的模板交易市场 [themeforest.net](https://themeforest.net) 和 代码插件交易市场 [codecanyon.net](https://codecanyon.net) 。
我们重点来说说 themeforest 吧。

这个市场上有 47,000 多套 WordPress 和 HTML 的模板,最低的价格是两美金一套。
在国内,就算你做了一套好模板,其实也很难卖出去。即使有很少的用户购买,也会很快被分享出去,以盗版的方式到处传播。
在英文市场用户的付费意识会比较强,会更愿意在付费市场里面去买一些价格合适、在版权上又没有版权隐患的模板或者插件。首先因为这对他们来说不贵,然后用盗版的话,受到的惩罚会贵很多。
我用 themeforest 主要是买模板,最开始我以为这个市场不大,直到有一天我无意间看到畅销榜的一个模板销量。
这个模板本身做的很不错,内建了一套 page builder 系统,定价为 60 美金一套。

从2012年8月16号开始卖,然后截止到现在总共卖了58万5840套。
看到以后吓得我立马掏出计算器算了下,这是 3515万美金,**大概2个多亿人民币**。这只是这家公司的一套模板,他们还有其他的模板。
所以啊,国内大家老是觉得什么 PHP 不行了不能用了,但是事实上**全球排名前1000万的网站里边,有三分之一是 WordPress 在支撑**,这依然是一个非常非常庞大的市场。
做模板和插件另一个比较好意思的地方是,它们通常是开发的副产品,比如我们做外包做的模板系统、给自己博客写的插件。现在试试把它拿出来商品化而已。这样投入就会小很多。
================================================
FILE: ch17.md
================================================
# 适合程序员创造的资产·经营媒体账号并带货
- 低投入:★ 需要持续不断的创作内容
- 高产出:★★★★ 不火的时候没啥产出,火了就多了。另外粉丝也是资产
- 可持续性:★ 日更,最少周更
- 低风险:★★ 起步难,有内容没人看,越到后边风险越低
- 低门槛:★★★★★ 会写字就能开始
## 经营个人品牌和媒体账号

对于一个现代网民来讲,经营自己的个人品牌和媒体账号已经变成了一个非常非常基础的操作,不管你是程序员还是从事其他的行业,都离不开这些东西。
我以前在微博上说,现在是一个非常好的时代,网络的普及移动互联网的大规模覆盖,让过去本来很小众的群体,可以通过网络凝在一起。积少成多,小众群体就不那么小众了。
过去你一个很小众的爱好,是没有办法靠兴趣来养家糊口的,只能去一家大公司去从事一些自己不那么乐意去做的工作。
但在现在这个时代,全国、全世界的小众群体就不再小众,我们就可以从这个市场上得到足够多的收益来养活自己。
即使你不需要靠这个来生活,经营个人品牌也会在工作上给你带来很大的助力。一旦你在行业里,慢慢有了个人影响力,这些会跟着你从一家公司到另一家公司。而不是像那些基于公司和平台的影响力,一旦你离开,就和你再也没有关系。
就算单纯从锻炼写作和表达能力角度讲,它也会给你带来丰厚的回报。
所以从各种角度来讲,经营好个人品牌和媒体账号都是一件非常重要的事情。它还能顺便解决掉绝大部分程序员在创建资产时,遇到的那个最大的问题 —— 早期用户从哪儿来。
## 带货变现

经营得比较好的媒体账号是可以将流量和影响力进行变现的。
像我们程序员可以通过创造虚拟资产来进行变现。但并不是所有的行业有这么幸运。有些行业经营的是实体经济,它的制造需要工厂、需要工人,会有库存,需要物流,所以更多的媒体账号也靠带货来变现。
如果我们的核心目的不是经营个人品牌,而是带货的话,在品牌早期就应该选择和钱近的方向。比如数码、汽车、房地产、快消等,和花钱密切相关的领域,这样才更容易获得厂商的广告和赞助,自己组织货源以后才更好销售。
当然这个不是绝对的,如果你能和受众建立起很强的信任关系,那么也可能你卖啥他们都会买…
================================================
FILE: ch18.md
================================================
# 适合程序员创造的资产·十一 产品测评和比较网站
================================================
FILE: ch99.md
================================================
# 后记
目前就更新到这里,watch repo,及时获取更新信息。

## 关于Easy
- 作品合集:[方糖气球](http://ftqq.com)
- 日常技术和独立开发分享:[微博](https://weibo.com/easy)
- 微信公众号「不聊技术」(nonocode)

如果你觉得这本小书对你有所帮助的话,请分享给身边的程序员。
================================================
FILE: docs/.gitignore
================================================
_book
out
================================================
FILE: docs/RoboFile.php
================================================
<?php
/**
* This is project's console commands configuration for Robo task runner.
*
* @see http://robo.li/
*/
class RoboFile extends \Robo\Tasks
{
// define public methods as commands
public function build()
{
$this->_exec("gitbook build . docs");
}
public function up($m = 'update')
{
$this->_exec("git pull && git add . && git commit -m '" . $m . "' && git push");
}
}
================================================
FILE: docs/ch00.html
================================================
<!DOCTYPE HTML>
<html lang="cn" >
<head>
<meta charset="UTF-8">
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
<title>前言 · GitBook</title>
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="description" content="">
<meta name="generator" content="GitBook 3.2.3">
<link rel="stylesheet" href="gitbook/style.css">
<link rel="stylesheet" href="gitbook/gitbook-plugin-highlight/website.css">
<link rel="stylesheet" href="gitbook/gitbook-plugin-search/search.css">
<link rel="stylesheet" href="gitbook/gitbook-plugin-fontsettings/website.css">
<link rel="stylesheet" href="mystyle.css">
<meta name="HandheldFriendly" content="true"/>
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<link rel="apple-touch-icon-precomposed" sizes="152x152" href="gitbook/images/apple-touch-icon-precomposed-152.png">
<link rel="shortcut icon" href="gitbook/images/favicon.ico" type="image/x-icon">
<link rel="next" href="ch01.html" />
<link rel="prev" href="./" />
</head>
<body>
<div class="book">
<div class="book-summary">
<div id="book-search-input" role="search">
<input type="text" placeholder="Type to search" />
</div>
<nav role="navigation">
<ul class="summary">
<li>
<a href="http://ftqq.com/" target="_blank" class="custom-link">方糖气球</a>
</li>
<li class="divider"></li>
<li class="chapter " data-level="1.1" data-path="./">
<a href="./">
程序员如何优雅地挣零花钱
</a>
</li>
<li class="chapter active" data-level="1.2" data-path="ch00.html">
<a href="ch00.html">
前言
</a>
</li>
<li class="chapter " data-level="1.3" data-path="ch01.html">
<a href="ch01.html">
想明白自己的核心资源
</a>
</li>
<li class="chapter " data-level="1.4" data-path="ch02.html">
<a href="ch02.html">
时间片优化·其一 提升单位时间收益
</a>
</li>
<li class="chapter " data-level="1.5" data-path="ch03.html">
<a href="ch03.html">
时间片优化·其二 提升单位时间效率
</a>
</li>
<li class="chapter " data-level="1.6" data-path="ch04.html">
<a href="ch04.html">
资产和被动收入·其一 获得资产
</a>
</li>
<li class="chapter " data-level="1.7" data-path="ch05.html">
<a href="ch05.html">
资产和被动收入·其二 创造资产
</a>
</li>
<li class="chapter " data-level="1.8" data-path="ch06.html">
<a href="ch06.html">
资产和被动收入·其三 资产的量化评估
</a>
</li>
<li class="chapter " data-level="1.9" data-path="ch07.html">
<a href="ch07.html">
销售时间片的方式
</a>
</li>
<li class="chapter " data-level="1.10" data-path="ch13.html">
<a href="ch13.html">
适合程序员创造的资产·付费课程
</a>
</li>
<li class="chapter " data-level="1.11" data-path="ch12.html">
<a href="ch12.html">
适合程序员创造的资产·付费专栏
</a>
</li>
<li class="chapter " data-level="1.12" data-path="ch10.html">
<a href="ch10.html">
适合程序员创造的资产·付费社群
</a>
</li>
<li class="chapter " data-level="1.13" data-path="ch11.html">
<a href="ch11.html">
适合程序员创造的资产·书籍出版
</a>
</li>
<li class="chapter " data-level="1.14" data-path="ch16.html">
<a href="ch16.html">
适合程序员创造的资产·模板、插件和源代码市场
</a>
</li>
<li class="chapter " data-level="1.15" data-path="ch15.html">
<a href="ch15.html">
适合程序员创造的资产·订阅式软件和服务
</a>
</li>
<li class="chapter " data-level="1.16" data-path="ch14.html">
<a href="ch14.html">
适合程序员创造的资产·应用市场卖付费软件
</a>
</li>
<li class="chapter " data-level="1.17" data-path="ch17.html">
<a href="ch17.html">
适合程序员创造的资产·经营媒体账号并带货
</a>
</li>
<li class="chapter " data-level="1.18" data-path="ch99.html">
<a href="ch99.html">
后记
</a>
</li>
<li class="divider"></li>
<li>
<a href="https://www.gitbook.com" target="blank" class="gitbook-link">
Published with GitBook
</a>
</li>
</ul>
</nav>
</div>
<div class="book-body">
<div class="body-inner">
<div class="book-header" role="navigation">
<!-- Title -->
<h1>
<i class="fa fa-circle-o-notch fa-spin"></i>
<a href="." >前言</a>
</h1>
</div>
<div class="page-wrapper" tabindex="-1" role="main">
<div class="page-inner">
<div id="book-search-results">
<div class="search-noresults">
<section class="normal markdown-section">
<h1 id="前言">前言</h1>
<p><img src="https://theseven.ftqq.com/20200407123639.png" alt=""></p>
<p>2016年的时候,我写了一篇比较长的文章,分享了程序员挣零花钱的各种渠道。这篇文章最初发布是在微博上面的,但是因为当时的微博的头条文章没有修改功能,所以我就顺手把它贴到了 GitHub 上边。</p>
<p>微博的文章有了几十万的阅读以后就慢慢地冷了下来,但是放到 GitHub 的文章,却一直有新的读者和反馈。于是陆续更新了几次。</p>
<p>另一方面,最近几年,我因为开始尝试自由职业的原因,花了很多精力在「知识变现」、「独立开发」和「自媒体」相关的事情上边,又慢慢多了一些可以分享的内容,也有了一些相对系统化的想法。</p>
<p>后来每次尝试更新这篇文章,我都有一种感觉,那就是「一篇文章可能没有办法把这些东西都放得下了」。但写文也是挺费精力的,所以一直没动。</p>
<p>最近我众筹的一个课程卖得不错,缓解了这几个月的生活压力;这篇文章在 GitHub 的 Star 也超过了1万。为了感谢大家的支持,我想是时候更新一下这篇文章了。</p>
<h2 id="关于版权">关于版权</h2>
<p><img src="https://theseven.ftqq.com/20200407145650.png" alt=""></p>
<p>转载必须在正文第一段注明来源和作者( <a href="https://weibo.com" target="_blank">Easy</a> ),并<strong>添加回链到本 Repo( <a href="https://github.com/easychen/howto-make-more-money" target="_blank">https://github.com/easychen/howto-make-more-money</a> ) 的链接</strong>。拆成单篇转载的,每一篇都需要说明。谢谢合作。</p>
<h2 id="致谢">致谢</h2>
<p>再次感谢参加《方糖软件变现进阶课》众筹的同学们,没有你们的支持,就没有这本小书。</p>
</section>
</div>
<div class="search-results">
<div class="has-results">
<h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
<ul class="search-results-list"></ul>
</div>
<div class="no-results">
<h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
</div>
</div>
</div>
</div>
</div>
</div>
<a href="./" class="navigation navigation-prev " aria-label="Previous page: 程序员如何优雅地挣零花钱">
<i class="fa fa-angle-left"></i>
</a>
<a href="ch01.html" class="navigation navigation-next " aria-label="Next page: 想明白自己的核心资源">
<i class="fa fa-angle-right"></i>
</a>
</div>
<script>
var gitbook = gitbook || [];
gitbook.push(function() {
gitbook.page.hasChanged({"page":{"title":"前言","level":"1.2","depth":1,"next":{"title":"想明白自己的核心资源","level":"1.3","depth":1,"path":"ch01.md","ref":"ch01.md","articles":[]},"previous":{"title":"程序员如何优雅地挣零花钱","level":"1.1","depth":1,"path":"README.md","ref":"README.md","articles":[]},"dir":"ltr"},"config":{"plugins":[],"styles":{"website":"mystyle.css","pdf":"mystyle.css","mobi":"mystyle.css","epub":"mystyle.css"},"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"theme":"default","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"language":"cn","links":{"sidebar":{"方糖气球":"http://ftqq.com/"}},"gitbook":"*"},"file":{"path":"ch00.md","mtime":"2020-09-22T02:33:03.565Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2020-09-25T23:56:17.700Z"},"basePath":".","book":{"language":""}});
});
</script>
</div>
<script src="gitbook/gitbook.js"></script>
<script src="gitbook/theme.js"></script>
<script src="gitbook/gitbook-plugin-search/search-engine.js"></script>
<script src="gitbook/gitbook-plugin-search/search.js"></script>
<script src="gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
<script src="gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
<script src="gitbook/gitbook-plugin-sharing/buttons.js"></script>
<script src="gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
</body>
</html>
================================================
FILE: docs/ch01.html
================================================
<!DOCTYPE HTML>
<html lang="cn" >
<head>
<meta charset="UTF-8">
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
<title>想明白自己的核心资源 · GitBook</title>
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="description" content="">
<meta name="generator" content="GitBook 3.2.3">
<link rel="stylesheet" href="gitbook/style.css">
<link rel="stylesheet" href="gitbook/gitbook-plugin-highlight/website.css">
<link rel="stylesheet" href="gitbook/gitbook-plugin-search/search.css">
<link rel="stylesheet" href="gitbook/gitbook-plugin-fontsettings/website.css">
<link rel="stylesheet" href="mystyle.css">
<meta name="HandheldFriendly" content="true"/>
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<link rel="apple-touch-icon-precomposed" sizes="152x152" href="gitbook/images/apple-touch-icon-precomposed-152.png">
<link rel="shortcut icon" href="gitbook/images/favicon.ico" type="image/x-icon">
<link rel="next" href="ch02.html" />
<link rel="prev" href="ch00.html" />
</head>
<body>
<div class="book">
<div class="book-summary">
<div id="book-search-input" role="search">
<input type="text" placeholder="Type to search" />
</div>
<nav role="navigation">
<ul class="summary">
<li>
<a href="http://ftqq.com/" target="_blank" class="custom-link">方糖气球</a>
</li>
<li class="divider"></li>
<li class="chapter " data-level="1.1" data-path="./">
<a href="./">
程序员如何优雅地挣零花钱
</a>
</li>
<li class="chapter " data-level="1.2" data-path="ch00.html">
<a href="ch00.html">
前言
</a>
</li>
<li class="chapter active" data-level="1.3" data-path="ch01.html">
<a href="ch01.html">
想明白自己的核心资源
</a>
</li>
<li class="chapter " data-level="1.4" data-path="ch02.html">
<a href="ch02.html">
时间片优化·其一 提升单位时间收益
</a>
</li>
<li class="chapter " data-level="1.5" data-path="ch03.html">
<a href="ch03.html">
时间片优化·其二 提升单位时间效率
</a>
</li>
<li class="chapter " data-level="1.6" data-path="ch04.html">
<a href="ch04.html">
资产和被动收入·其一 获得资产
</a>
</li>
<li class="chapter " data-level="1.7" data-path="ch05.html">
<a href="ch05.html">
资产和被动收入·其二 创造资产
</a>
</li>
<li class="chapter " data-level="1.8" data-path="ch06.html">
<a href="ch06.html">
资产和被动收入·其三 资产的量化评估
</a>
</li>
<li class="chapter " data-level="1.9" data-path="ch07.html">
<a href="ch07.html">
销售时间片的方式
</a>
</li>
<li class="chapter " data-level="1.10" data-path="ch13.html">
<a href="ch13.html">
适合程序员创造的资产·付费课程
</a>
</li>
<li class="chapter " data-level="1.11" data-path="ch12.html">
<a href="ch12.html">
适合程序员创造的资产·付费专栏
</a>
</li>
<li class="chapter " data-level="1.12" data-path="ch10.html">
<a href="ch10.html">
适合程序员创造的资产·付费社群
</a>
</li>
<li class="chapter " data-level="1.13" data-path="ch11.html">
<a href="ch11.html">
适合程序员创造的资产·书籍出版
</a>
</li>
<li class="chapter " data-level="1.14" data-path="ch16.html">
<a href="ch16.html">
适合程序员创造的资产·模板、插件和源代码市场
</a>
</li>
<li class="chapter " data-level="1.15" data-path="ch15.html">
<a href="ch15.html">
适合程序员创造的资产·订阅式软件和服务
</a>
</li>
<li class="chapter " data-level="1.16" data-path="ch14.html">
<a href="ch14.html">
适合程序员创造的资产·应用市场卖付费软件
</a>
</li>
<li class="chapter " data-level="1.17" data-path="ch17.html">
<a href="ch17.html">
适合程序员创造的资产·经营媒体账号并带货
</a>
</li>
<li class="chapter " data-level="1.18" data-path="ch99.html">
<a href="ch99.html">
后记
</a>
</li>
<li class="divider"></li>
<li>
<a href="https://www.gitbook.com" target="blank" class="gitbook-link">
Published with GitBook
</a>
</li>
</ul>
</nav>
</div>
<div class="book-body">
<div class="body-inner">
<div class="book-header" role="navigation">
<!-- Title -->
<h1>
<i class="fa fa-circle-o-notch fa-spin"></i>
<a href="." >想明白自己的核心资源</a>
</h1>
</div>
<div class="page-wrapper" tabindex="-1" role="main">
<div class="page-inner">
<div id="book-search-results">
<div class="search-noresults">
<section class="normal markdown-section">
<h1 id="想明白自己的核心资源">想明白自己的核心资源</h1>
<p>之前写的时候相对比较随性一些,只是把自己见到的、接触过的渠道整理了一下给写上去了。在后来修改的过程中,慢慢的觉得这些东西看起来挺多的,但是写得非常浅,没有触及到本质。</p>
<p>有同学可能会想,你挣个零花钱有什么本质可以讲🤷🏻‍♂️,就不要学那些自媒体装了。我开始也是这么觉得的,但是后来琢磨久了,发现这背后还是有逻辑的。</p>
<p>首先,来看我们的主题,程序员如何优雅地挣零花钱。它有两个重点,一个是「 <strong> 零花钱 </strong> 」,另一个是「 <strong> 优雅 </strong> 」。</p>
<p>所谓「零花钱」,就表明我们做的这个事情它是一个「副业」,我们还有一份正职工作在。「副业」是什么?那是我们从自己本来已经很繁忙的工作、生活时间里面活活挤出来的一点时间来做的事情。所以对「挣零花钱」来讲,什么最宝贵?是我们的<strong>时间片</strong>。</p>
<p><img src="https://theseven.ftqq.com/20200407130424.png" alt=""></p>
<p>为什么这么说?因为对于一个企业来讲,它有足够多的资源可以调配,可以通过雇人的方式批量增加可用的时间片。但是对于我们处于「副业」状态的业务来讲,精力和资源都是非常有限的。副业本来挣的就很少,如果还要去雇人的话,每一个人分下来就会更少,会有入不敷出的风险。另外人多了,沟通上也需要成本。</p>
<p>所以我觉得,对挣零花钱来讲,时间片是整个环节中最有限的,最难拓展的资源,所以我们应该<strong>以紧缺的资源为核心来规划挣零花钱这件事情</strong>。</p>
<p>那所谓的「优雅」就说我们不但要挣钱,还要挣得轻松,不要比上班还累。这就要讲究方式和方法。而这就这就涉及到了「<strong>时间片的优化</strong>」。</p>
</section>
</div>
<div class="search-results">
<div class="has-results">
<h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
<ul class="search-results-list"></ul>
</div>
<div class="no-results">
<h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
</div>
</div>
</div>
</div>
</div>
</div>
<a href="ch00.html" class="navigation navigation-prev " aria-label="Previous page: 前言">
<i class="fa fa-angle-left"></i>
</a>
<a href="ch02.html" class="navigation navigation-next " aria-label="Next page: 时间片优化·其一 提升单位时间收益">
<i class="fa fa-angle-right"></i>
</a>
</div>
<script>
var gitbook = gitbook || [];
gitbook.push(function() {
gitbook.page.hasChanged({"page":{"title":"想明白自己的核心资源","level":"1.3","depth":1,"next":{"title":"时间片优化·其一 提升单位时间收益","level":"1.4","depth":1,"path":"ch02.md","ref":"ch02.md","articles":[]},"previous":{"title":"前言","level":"1.2","depth":1,"path":"ch00.md","ref":"ch00.md","articles":[]},"dir":"ltr"},"config":{"plugins":[],"styles":{"website":"mystyle.css","pdf":"mystyle.css","mobi":"mystyle.css","epub":"mystyle.css"},"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"theme":"default","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"language":"cn","links":{"sidebar":{"方糖气球":"http://ftqq.com/"}},"gitbook":"*"},"file":{"path":"ch01.md","mtime":"2020-09-22T02:33:03.566Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2020-09-25T23:56:17.700Z"},"basePath":".","book":{"language":""}});
});
</script>
</div>
<script src="gitbook/gitbook.js"></script>
<script src="gitbook/theme.js"></script>
<script src="gitbook/gitbook-plugin-search/search-engine.js"></script>
<script src="gitbook/gitbook-plugin-search/search.js"></script>
<script src="gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
<script src="gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
<script src="gitbook/gitbook-plugin-sharing/buttons.js"></script>
<script src="gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
</body>
</html>
================================================
FILE: docs/ch02.html
================================================
<!DOCTYPE HTML>
<html lang="cn" >
<head>
<meta charset="UTF-8">
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
<title>时间片优化·其一 提升单位时间收益 · GitBook</title>
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="description" content="">
<meta name="generator" content="GitBook 3.2.3">
<link rel="stylesheet" href="gitbook/style.css">
<link rel="stylesheet" href="gitbook/gitbook-plugin-highlight/website.css">
<link rel="stylesheet" href="gitbook/gitbook-plugin-search/search.css">
<link rel="stylesheet" href="gitbook/gitbook-plugin-fontsettings/website.css">
<link rel="stylesheet" href="mystyle.css">
<meta name="HandheldFriendly" content="true"/>
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<link rel="apple-touch-icon-precomposed" sizes="152x152" href="gitbook/images/apple-touch-icon-precomposed-152.png">
<link rel="shortcut icon" href="gitbook/images/favicon.ico" type="image/x-icon">
<link rel="next" href="ch03.html" />
<link rel="prev" href="ch01.html" />
</head>
<body>
<div class="book">
<div class="book-summary">
<div id="book-search-input" role="search">
<input type="text" placeholder="Type to search" />
</div>
<nav role="navigation">
<ul class="summary">
<li>
<a href="http://ftqq.com/" target="_blank" class="custom-link">方糖气球</a>
</li>
<li class="divider"></li>
<li class="chapter " data-level="1.1" data-path="./">
<a href="./">
程序员如何优雅地挣零花钱
</a>
</li>
<li class="chapter " data-level="1.2" data-path="ch00.html">
<a href="ch00.html">
前言
</a>
</li>
<li class="chapter " data-level="1.3" data-path="ch01.html">
<a href="ch01.html">
想明白自己的核心资源
</a>
</li>
<li class="chapter active" data-level="1.4" data-path="ch02.html">
<a href="ch02.html">
时间片优化·其一 提升单位时间收益
</a>
</li>
<li class="chapter " data-level="1.5" data-path="ch03.html">
<a href="ch03.html">
时间片优化·其二 提升单位时间效率
</a>
</li>
<li class="chapter " data-level="1.6" data-path="ch04.html">
<a href="ch04.html">
资产和被动收入·其一 获得资产
</a>
</li>
<li class="chapter " data-level="1.7" data-path="ch05.html">
<a href="ch05.html">
资产和被动收入·其二 创造资产
</a>
</li>
<li class="chapter " data-level="1.8" data-path="ch06.html">
<a href="ch06.html">
资产和被动收入·其三 资产的量化评估
</a>
</li>
<li class="chapter " data-level="1.9" data-path="ch07.html">
<a href="ch07.html">
销售时间片的方式
</a>
</li>
<li class="chapter " data-level="1.10" data-path="ch13.html">
<a href="ch13.html">
适合程序员创造的资产·付费课程
</a>
</li>
<li class="chapter " data-level="1.11" data-path="ch12.html">
<a href="ch12.html">
适合程序员创造的资产·付费专栏
</a>
</li>
<li class="chapter " data-level="1.12" data-path="ch10.html">
<a href="ch10.html">
适合程序员创造的资产·付费社群
</a>
</li>
<li class="chapter " data-level="1.13" data-path="ch11.html">
<a href="ch11.html">
适合程序员创造的资产·书籍出版
</a>
</li>
<li class="chapter " data-level="1.14" data-path="ch16.html">
<a href="ch16.html">
适合程序员创造的资产·模板、插件和源代码市场
</a>
</li>
<li class="chapter " data-level="1.15" data-path="ch15.html">
<a href="ch15.html">
适合程序员创造的资产·订阅式软件和服务
</a>
</li>
<li class="chapter " data-level="1.16" data-path="ch14.html">
<a href="ch14.html">
适合程序员创造的资产·应用市场卖付费软件
</a>
</li>
<li class="chapter " data-level="1.17" data-path="ch17.html">
<a href="ch17.html">
适合程序员创造的资产·经营媒体账号并带货
</a>
</li>
<li class="chapter " data-level="1.18" data-path="ch99.html">
<a href="ch99.html">
后记
</a>
</li>
<li class="divider"></li>
<li>
<a href="https://www.gitbook.com" target="blank" class="gitbook-link">
Published with GitBook
</a>
</li>
</ul>
</nav>
</div>
<div class="book-body">
<div class="body-inner">
<div class="book-header" role="navigation">
<!-- Title -->
<h1>
<i class="fa fa-circle-o-notch fa-spin"></i>
<a href="." >时间片优化·其一 提升单位时间收益</a>
</h1>
</div>
<div class="page-wrapper" tabindex="-1" role="main">
<div class="page-inner">
<div id="book-search-results">
<div class="search-noresults">
<section class="normal markdown-section">
<h1 id="时间片优化·其一-提升单位时间收益">时间片优化·其一 提升单位时间收益</h1>
<p>关于「时间片的优化」,有两种思路。第一种是,<strong>提升单位时间的收益</strong>。</p>
<p>这个逻辑很简单,既然时间片的数量很难提升,那么每一片时间挣的钱多了,整个收益就多了。
比如说我们在做外包的时候,可以去找更好的雇主。</p>
<h2 id="切换地域">切换地域</h2>
<p><img src="https://theseven.ftqq.com/20200407135336.png" alt=""></p>
<p>第一个思路是,去做国外的外包。因为和国内相比,国外的人力成本会贵很多,相比国外的开发者,我们的成本又更低,所以这就出现了一个价格差。控制好这个价格差,我们就能挣到更多的钱。</p>
<p>当然,要做国外的业务就要求我们有通过外语进行沟通的能力,如果你没有,可以放弃这个市场;或者试试用<a href="https://fox.ftqq.com" target="_blank">福利单词</a>来培养(误)。</p>
<h2 id="从外包-❌-到二次开发-⭕️">从外包 ❌ 到二次开发 ⭕️</h2>
<p>但是在没有建立起自己的行业知名度之前,做外包面对的往往是价格战的红海,总有人的时间比你不值钱。而且外包是一个开放性需求,如果真的要把雇主的需求做细做好的话,对技术栈的广度要求还挺高的。另外,好的外包项目往往并不完全公开招标,而是通过业内或者朋友推荐的方式来的。</p>
<p>其实有一种方式可以缓解这种情况。那就是<strong>我们把开发的范围缩小到一个细分市场上来</strong>,通过给一些标准化的开源产品做二次开发来挣钱。</p>
<p>这个也不是什么新思路,很早以前就有人专门给Discuz!做二次开发挣钱。但我们可以把思路扩展开一些,比如<strong>从国内项目改成国际知名的项目</strong>。</p>
<p>这样就能解决掉「出海」接活的大部分问题,用户从哪儿来?开源社区。如何证明自己?写几个高质量的开源插件做的demo。如何获取高收益?专门给一个项目写插件的人并不会太多。</p>
<h2 id="切换对时间片更友好的商业模式">切换对时间片更友好的商业模式</h2>
<p>另一方面,如果我们能控制自己售卖时间片的方式的话,还可以通过更好的商业模式来提升单位时间的收益。</p>
<p>举个例子,我之前做课的时候,很多同学问我说「为什么不去做一对一的精品课程」或者「为什么你不爱做直播」?</p>
<p><img src="https://theseven.ftqq.com/20200407135516.png" alt=""></p>
<p>结合时间片理论想想,大家就会发现原因。如果我们去做一对一,虽然这个客户可能给我的收益相对算高。但是我的时间片只能花费在这一个客户身上。而<strong>如果是一对多,从可能性上讲,我的收益空间就会高非常多</strong>。即使来自单个客户的收益不多,但很多人累积起来就多了。</p>
<p>直播课也是一样的道理,它每一次都要消耗我们的时间片。而录播课只要录制一次,之后就不用再消耗我们的时间片了。所以单从利用率上来讲,录播才是更好的方式。</p>
<p>这只是从模式上来讲的效率,并不一定和具体的例子匹配。也可能会有直播做的非常挣钱,录播根本没人看的情况。直播还能带货呢,对吧。</p>
<p>现在很多课程平台也用直播来拉新,这里所谓的直播课其实就是变相广告,它是用来解决营销问题的,完全就是另一套逻辑了。</p>
</section>
</div>
<div class="search-results">
<div class="has-results">
<h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
<ul class="search-results-list"></ul>
</div>
<div class="no-results">
<h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
</div>
</div>
</div>
</div>
</div>
</div>
<a href="ch01.html" class="navigation navigation-prev " aria-label="Previous page: 想明白自己的核心资源">
<i class="fa fa-angle-left"></i>
</a>
<a href="ch03.html" class="navigation navigation-next " aria-label="Next page: 时间片优化·其二 提升单位时间效率">
<i class="fa fa-angle-right"></i>
</a>
</div>
<script>
var gitbook = gitbook || [];
gitbook.push(function() {
gitbook.page.hasChanged({"page":{"title":"时间片优化·其一 提升单位时间收益","level":"1.4","depth":1,"next":{"title":"时间片优化·其二 提升单位时间效率","level":"1.5","depth":1,"path":"ch03.md","ref":"ch03.md","articles":[]},"previous":{"title":"想明白自己的核心资源","level":"1.3","depth":1,"path":"ch01.md","ref":"ch01.md","articles":[]},"dir":"ltr"},"config":{"plugins":[],"styles":{"website":"mystyle.css","pdf":"mystyle.css","mobi":"mystyle.css","epub":"mystyle.css"},"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"theme":"default","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"language":"cn","links":{"sidebar":{"方糖气球":"http://ftqq.com/"}},"gitbook":"*"},"file":{"path":"ch02.md","mtime":"2020-09-22T02:33:03.566Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2020-09-25T23:56:17.700Z"},"basePath":".","book":{"language":""}});
});
</script>
</div>
<script src="gitbook/gitbook.js"></script>
<script src="gitbook/theme.js"></script>
<script src="gitbook/gitbook-plugin-search/search-engine.js"></script>
<script src="gitbook/gitbook-plugin-search/search.js"></script>
<script src="gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
<script src="gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
<script src="gitbook/gitbook-plugin-sharing/buttons.js"></script>
<script src="gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
</body>
</html>
================================================
FILE: docs/ch03.html
================================================
<!DOCTYPE HTML>
<html lang="cn" >
<head>
<meta charset="UTF-8">
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
<title>时间片优化·其二 提升单位时间效率 · GitBook</title>
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="description" content="">
<meta name="generator" content="GitBook 3.2.3">
<link rel="stylesheet" href="gitbook/style.css">
<link rel="stylesheet" href="gitbook/gitbook-plugin-highlight/website.css">
<link rel="stylesheet" href="gitbook/gitbook-plugin-search/search.css">
<link rel="stylesheet" href="gitbook/gitbook-plugin-fontsettings/website.css">
<link rel="stylesheet" href="mystyle.css">
<meta name="HandheldFriendly" content="true"/>
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<link rel="apple-touch-icon-precomposed" sizes="152x152" href="gitbook/images/apple-touch-icon-precomposed-152.png">
<link rel="shortcut icon" href="gitbook/images/favicon.ico" type="image/x-icon">
<link rel="next" href="ch04.html" />
<link rel="prev" href="ch02.html" />
</head>
<body>
<div class="book">
<div class="book-summary">
<div id="book-search-input" role="search">
<input type="text" placeholder="Type to search" />
</div>
<nav role="navigation">
<ul class="summary">
<li>
<a href="http://ftqq.com/" target="_blank" class="custom-link">方糖气球</a>
</li>
<li class="divider"></li>
<li class="chapter " data-level="1.1" data-path="./">
<a href="./">
程序员如何优雅地挣零花钱
</a>
</li>
<li class="chapter " data-level="1.2" data-path="ch00.html">
<a href="ch00.html">
前言
</a>
</li>
<li class="chapter " data-level="1.3" data-path="ch01.html">
<a href="ch01.html">
想明白自己的核心资源
</a>
</li>
<li class="chapter " data-level="1.4" data-path="ch02.html">
<a href="ch02.html">
时间片优化·其一 提升单位时间收益
</a>
</li>
<li class="chapter active" data-level="1.5" data-path="ch03.html">
<a href="ch03.html">
时间片优化·其二 提升单位时间效率
</a>
</li>
<li class="chapter " data-level="1.6" data-path="ch04.html">
<a href="ch04.html">
资产和被动收入·其一 获得资产
</a>
</li>
<li class="chapter " data-level="1.7" data-path="ch05.html">
<a href="ch05.html">
资产和被动收入·其二 创造资产
</a>
</li>
<li class="chapter " data-level="1.8" data-path="ch06.html">
<a href="ch06.html">
资产和被动收入·其三 资产的量化评估
</a>
</li>
<li class="chapter " data-level="1.9" data-path="ch07.html">
<a href="ch07.html">
销售时间片的方式
</a>
</li>
<li class="chapter " data-level="1.10" data-path="ch13.html">
<a href="ch13.html">
适合程序员创造的资产·付费课程
</a>
</li>
<li class="chapter " data-level="1.11" data-path="ch12.html">
<a href="ch12.html">
适合程序员创造的资产·付费专栏
</a>
</li>
<li class="chapter " data-level="1.12" data-path="ch10.html">
<a href="ch10.html">
适合程序员创造的资产·付费社群
</a>
</li>
<li class="chapter " data-level="1.13" data-path="ch11.html">
<a href="ch11.html">
适合程序员创造的资产·书籍出版
</a>
</li>
<li class="chapter " data-level="1.14" data-path="ch16.html">
<a href="ch16.html">
适合程序员创造的资产·模板、插件和源代码市场
</a>
</li>
<li class="chapter " data-level="1.15" data-path="ch15.html">
<a href="ch15.html">
适合程序员创造的资产·订阅式软件和服务
</a>
</li>
<li class="chapter " data-level="1.16" data-path="ch14.html">
<a href="ch14.html">
适合程序员创造的资产·应用市场卖付费软件
</a>
</li>
<li class="chapter " data-level="1.17" data-path="ch17.html">
<a href="ch17.html">
适合程序员创造的资产·经营媒体账号并带货
</a>
</li>
<li class="chapter " data-level="1.18" data-path="ch99.html">
<a href="ch99.html">
后记
</a>
</li>
<li class="divider"></li>
<li>
<a href="https://www.gitbook.com" target="blank" class="gitbook-link">
Published with GitBook
</a>
</li>
</ul>
</nav>
</div>
<div class="book-body">
<div class="body-inner">
<div class="book-header" role="navigation">
<!-- Title -->
<h1>
<i class="fa fa-circle-o-notch fa-spin"></i>
<a href="." >时间片优化·其二 提升单位时间效率</a>
</h1>
</div>
<div class="page-wrapper" tabindex="-1" role="main">
<div class="page-inner">
<div id="book-search-results">
<div class="search-noresults">
<section class="normal markdown-section">
<h1 id="时间片优化·其二-提升单位时间效率">时间片优化·其二 提升单位时间效率</h1>
<h2 id="通过自动化提升效率">通过自动化提升效率</h2>
<p>那另外一个优化方向就是提升单位时间的效率。就是说,我就这么点时间,原来一个小时可以做完一个功能,现在找到了一个新办法,一个小时可以做完十个功能,这就是效率的提升。</p>
<p><img src="https://theseven.ftqq.com/20200407150303.png" alt=""></p>
<p>当然,通过增强自己的意志力来强迫自己去提升生产效率,这种事情实际上是很难的。我们充其量也就是保证自己在做这些事情的时候,尽可能少地被干扰,不让自己的生产效率降下去,这已经是非常不错了。要想成倍的去提升人类的工作效率这是非常难的。</p>
<p>但是非常幸运的是,我们程序员从事的工作,它本身是有一部分可以由机器来做的。所以我们可以引入自动化来提升效率。</p>
<p>具体的例子是代码生成器。不是那种一下生成整个项目代码的大东西,而是根据我们自己编写的模板可以飞快生成各种代码片段的那种。比如我之前放出来的<a href="https://weibo.com/1088413295/IpOAqcs7h?type=comment" target="_blank">metatoy</a>,就是一个可以用 GUI 进行配置的代码片段生成器。</p>
<p><img src="https://theseven.ftqq.com/20200407150431.png" alt=""></p>
<p>当然你也可以直接用过脚本来生成,效果也不差。一旦我们把日常开发中最费时间的部分写成了模板,之后就可以节省下来大把大把的时间。</p>
<h2 id="通过-ai-提升效率">通过 AI 提升效率</h2>
<p>代码模板只能解决相对比较死板的规则,但是随着最近人工智能的进步,在某些特定场景下,原来很多低效率的人工操作,已经可以交给 AI 了。</p>
<p>对于 AI 正确率不高的场景,我们也可以通过人机结合方式来处理。比如图片分类,之前我们要花上十个小时的人工,现在 AI 只要十分钟,但是里边有20%的分类是错。那么我们可以再人肉过一遍,可能要花两个小时。即使这样,也将效率提升了五倍。</p>
<p>最近以接口方式提供的 AI 能力有很多品质已经不错了。比如熟悉我微博的同学都知道,我就经常在用语音合成和识别服务来提升内容生产效率。</p>
<p><img src="https://theseven.ftqq.com/20200407142728.png" alt=""></p>
<p>比如我之前发布的<a href="http://slide.ftqq.com/" target="_blank">Slide酱</a>,她可以读取PPT中的演讲者注释,直接生成视频。这就极大的提升了视频内容的生产率。你现在看到的这篇文章,也是通过讯飞语记以每分钟一百多字的速度记录下来,然后二次修改而成的。</p>
<p>最近看到个<a href="https://2zimu.com/" target="_blank">不错的服务</a>,也是利用了大厂开放的 AI 接口实现的。它是面向自媒体的 vlog 自动配字幕服务,只要上传下视频,几分钟就可以生成好字幕并进行压制。</p>
<p>如果服务足够可靠,我们可以做成自动化服务直接提供给最终用户。如果服务还不够可靠,我们也可以将其放到原来流程的中间来提升效率。</p>
<p>比如同样是代码生成技术,如果我们把它做成面向不懂技术的人群的代码生成,如果服务还不是很可靠的话,最终效果可能不会太好。但同样品质的接口,如果我们把它做成面向开发者的、在编辑环境的代码补全和建议小工具,可能就会显得很好用了。</p>
<h2 id="通过众包和外包提升效率">通过众包和外包提升效率</h2>
<p>另外一种提升单位时间的方式呢,就是众包。严格地讲,其实众包里边我们已经把任务给分出去了。但是考虑到我们众包的时候,还是需要花不少时间去管理,我们还是会消耗精力,所以把它看做时间片效率的提升,也说得过去。</p>
<p><img src="https://theseven.ftqq.com/20200407144645.png" alt=""></p>
<p>用大家熟悉的形式来描述的话,就是我们 new 了一堆 worker 节点去干活了,但我们自己控制着 factory 和 manager,还是需要随时监控和调度的。</p>
<p>顺便说一句,将什么样的工作众包出去也是有技巧的。首先是针对不同 worker ,我们要分配合理的 task 。如果是兼职的学生,就适合先分配一些类似文字整理工作的初级任务,做好了以后再加码。如果是经验丰富的工程师,就可以分配一个独立的微服务或者控件,尽可能降低各个 task 之间的耦合和依赖。</p>
<p>虽然监控和调度任务也会消耗精力,但这种方式可以突破时间片的天花板,是值得尝试的。</p>
<p><img src="https://theseven.ftqq.com/20200407145514.png" alt=""></p>
<p>同时,从这里我们就可以看出,直接售卖时间片,其实是在整个链条的最下边,挣得是最薄的那一点利润。所以这里我们从时间片上面再往前走一步,从资产的这个角度来看待,挣零花钱这件事儿。</p>
</section>
</div>
<div class="search-results">
<div class="has-results">
<h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
<ul class="search-results-list"></ul>
</div>
<div class="no-results">
<h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
</div>
</div>
</div>
</div>
</div>
</div>
<a href="ch02.html" class="navigation navigation-prev " aria-label="Previous page: 时间片优化·其一 提升单位时间收益">
<i class="fa fa-angle-left"></i>
</a>
<a href="ch04.html" class="navigation navigation-next " aria-label="Next page: 资产和被动收入·其一 获得资产">
<i class="fa fa-angle-right"></i>
</a>
</div>
<script>
var gitbook = gitbook || [];
gitbook.push(function() {
gitbook.page.hasChanged({"page":{"title":"时间片优化·其二 提升单位时间效率","level":"1.5","depth":1,"next":{"title":"资产和被动收入·其一 获得资产","level":"1.6","depth":1,"path":"ch04.md","ref":"ch04.md","articles":[]},"previous":{"title":"时间片优化·其一 提升单位时间收益","level":"1.4","depth":1,"path":"ch02.md","ref":"ch02.md","articles":[]},"dir":"ltr"},"config":{"plugins":[],"styles":{"website":"mystyle.css","pdf":"mystyle.css","mobi":"mystyle.css","epub":"mystyle.css"},"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"theme":"default","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"language":"cn","links":{"sidebar":{"方糖气球":"http://ftqq.com/"}},"gitbook":"*"},"file":{"path":"ch03.md","mtime":"2020-09-22T02:33:03.567Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2020-09-25T23:56:17.700Z"},"basePath":".","book":{"language":""}});
});
</script>
</div>
<script src="gitbook/gitbook.js"></script>
<script src="gitbook/theme.js"></script>
<script src="gitbook/gitbook-plugin-search/search-engine.js"></script>
<script src="gitbook/gitbook-plugin-search/search.js"></script>
<script src="gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
<script src="gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
<script src="gitbook/gitbook-plugin-sharing/buttons.js"></script>
<script src="gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
</body>
</html>
================================================
FILE: docs/ch04.html
================================================
<!DOCTYPE HTML>
<html lang="cn" >
<head>
<meta charset="UTF-8">
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
<title>资产和被动收入·其一 获得资产 · GitBook</title>
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="description" content="">
<meta name="generator" content="GitBook 3.2.3">
<link rel="stylesheet" href="gitbook/style.css">
<link rel="stylesheet" href="gitbook/gitbook-plugin-highlight/website.css">
<link rel="stylesheet" href="gitbook/gitbook-plugin-search/search.css">
<link rel="stylesheet" href="gitbook/gitbook-plugin-fontsettings/website.css">
<link rel="stylesheet" href="mystyle.css">
<meta name="HandheldFriendly" content="true"/>
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<link rel="apple-touch-icon-precomposed" sizes="152x152" href="gitbook/images/apple-touch-icon-precomposed-152.png">
<link rel="shortcut icon" href="gitbook/images/favicon.ico" type="image/x-icon">
<link rel="next" href="ch05.html" />
<link rel="prev" href="ch03.html" />
</head>
<body>
<div class="book">
<div class="book-summary">
<div id="book-search-input" role="search">
<input type="text" placeholder="Type to search" />
</div>
<nav role="navigation">
<ul class="summary">
<li>
<a href="http://ftqq.com/" target="_blank" class="custom-link">方糖气球</a>
</li>
<li class="divider"></li>
<li class="chapter " data-level="1.1" data-path="./">
<a href="./">
程序员如何优雅地挣零花钱
</a>
</li>
<li class="chapter " data-level="1.2" data-path="ch00.html">
<a href="ch00.html">
前言
</a>
</li>
<li class="chapter " data-level="1.3" data-path="ch01.html">
<a href="ch01.html">
想明白自己的核心资源
</a>
</li>
<li class="chapter " data-level="1.4" data-path="ch02.html">
<a href="ch02.html">
时间片优化·其一 提升单位时间收益
</a>
</li>
<li class="chapter " data-level="1.5" data-path="ch03.html">
<a href="ch03.html">
时间片优化·其二 提升单位时间效率
</a>
</li>
<li class="chapter active" data-level="1.6" data-path="ch04.html">
<a href="ch04.html">
资产和被动收入·其一 获得资产
</a>
</li>
<li class="chapter " data-level="1.7" data-path="ch05.html">
<a href="ch05.html">
资产和被动收入·其二 创造资产
</a>
</li>
<li class="chapter " data-level="1.8" data-path="ch06.html">
<a href="ch06.html">
资产和被动收入·其三 资产的量化评估
</a>
</li>
<li class="chapter " data-level="1.9" data-path="ch07.html">
<a href="ch07.html">
销售时间片的方式
</a>
</li>
<li class="chapter " data-level="1.10" data-path="ch13.html">
<a href="ch13.html">
适合程序员创造的资产·付费课程
</a>
</li>
<li class="chapter " data-level="1.11" data-path="ch12.html">
<a href="ch12.html">
适合程序员创造的资产·付费专栏
</a>
</li>
<li class="chapter " data-level="1.12" data-path="ch10.html">
<a href="ch10.html">
适合程序员创造的资产·付费社群
</a>
</li>
<li class="chapter " data-level="1.13" data-path="ch11.html">
<a href="ch11.html">
适合程序员创造的资产·书籍出版
</a>
</li>
<li class="chapter " data-level="1.14" data-path="ch16.html">
<a href="ch16.html">
适合程序员创造的资产·模板、插件和源代码市场
</a>
</li>
<li class="chapter " data-level="1.15" data-path="ch15.html">
<a href="ch15.html">
适合程序员创造的资产·订阅式软件和服务
</a>
</li>
<li class="chapter " data-level="1.16" data-path="ch14.html">
<a href="ch14.html">
适合程序员创造的资产·应用市场卖付费软件
</a>
</li>
<li class="chapter " data-level="1.17" data-path="ch17.html">
<a href="ch17.html">
适合程序员创造的资产·经营媒体账号并带货
</a>
</li>
<li class="chapter " data-level="1.18" data-path="ch99.html">
<a href="ch99.html">
后记
</a>
</li>
<li class="divider"></li>
<li>
<a href="https://www.gitbook.com" target="blank" class="gitbook-link">
Published with GitBook
</a>
</li>
</ul>
</nav>
</div>
<div class="book-body">
<div class="body-inner">
<div class="book-header" role="navigation">
<!-- Title -->
<h1>
<i class="fa fa-circle-o-notch fa-spin"></i>
<a href="." >资产和被动收入·其一 获得资产</a>
</h1>
</div>
<div class="page-wrapper" tabindex="-1" role="main">
<div class="page-inner">
<div id="book-search-results">
<div class="search-noresults">
<section class="normal markdown-section">
<h1 id="资产和被动收入·其一-获得资产">资产和被动收入·其一 获得资产</h1>
<p>首先我们要讨论一下什么叫资产。这个定义就见仁见智了,我这里使用罗伯特·清崎在《穷爸爸富爸爸》里边的一个定义,那就是「<strong>能把钱放进你口袋的东西</strong>」就是资产。</p>
<p><img src="https://theseven.ftqq.com/20200407152018.png" alt=""></p>
<p>正是因为资产具备这种特性,它才能在我们睡觉逛街看电影的时候帮我们挣钱。</p>
<p>话说《穷爸爸富爸爸》这本书很多人都读过,罗伯特·清崎后来还写了一个系列,核心是富人不为钱工作,而是<strong>让钱为自己工作</strong>。</p>
<p>在书里边,主要通过「购买」的方式来获得资产。这里是书中列出来的资产类型:</p>
<ul>
<li>股票</li>
<li>债券</li>
<li>能够产生收入的房地产</li>
<li>票据(借据)</li>
<li>版税,如音乐、手稿、专利</li>
<li>其他任何有价值、可产生收入或者增值潜力且有很好销路的东西</li>
</ul>
<p>所以这个系列后来就跑去教人投资和理财了。</p>
<p>我不是说投资理财不好,但是<strong>投资你得先有资</strong>、<strong>理财你得先有财</strong>。在风险可控的范围内,大部分投资理财的回报率差异不会特别大。如果你手上一百万都不到,可能折腾一年、背着挺大的风险也就是多挣了几万块钱。</p>
<p>在罗伯特的资产清单中,还有一个可以无成本获得类别 —— 版税。但其实在中国因为书卖得特别便宜,而版权又普遍不受重视,一些大厂都堂而皇之的侵权,其实很难获得高收益。</p>
<p><img src="https://theseven.ftqq.com/20200407154609.png" alt=""></p>
<p>如果没有初步的积累、或者不想背负过大的风险,怎样才能获得资产?这个问题在大学时困扰了我很久,但在毕业后我可能找到了一个解决方案,它来自科技的发展、是时代的红利。</p>
</section>
</div>
<div class="search-results">
<div class="has-results">
<h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
<ul class="search-results-list"></ul>
</div>
<div class="no-results">
<h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
</div>
</div>
</div>
</div>
</div>
</div>
<a href="ch03.html" class="navigation navigation-prev " aria-label="Previous page: 时间片优化·其二 提升单位时间效率">
<i class="fa fa-angle-left"></i>
</a>
<a href="ch05.html" class="navigation navigation-next " aria-label="Next page: 资产和被动收入·其二 创造资产">
<i class="fa fa-angle-right"></i>
</a>
</div>
<script>
var gitbook = gitbook || [];
gitbook.push(function() {
gitbook.page.hasChanged({"page":{"title":"资产和被动收入·其一 获得资产","level":"1.6","depth":1,"next":{"title":"资产和被动收入·其二 创造资产","level":"1.7","depth":1,"path":"ch05.md","ref":"ch05.md","articles":[]},"previous":{"title":"时间片优化·其二 提升单位时间效率","level":"1.5","depth":1,"path":"ch03.md","ref":"ch03.md","articles":[]},"dir":"ltr"},"config":{"plugins":[],"styles":{"website":"mystyle.css","pdf":"mystyle.css","mobi":"mystyle.css","epub":"mystyle.css"},"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"theme":"default","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"language":"cn","links":{"sidebar":{"方糖气球":"http://ftqq.com/"}},"gitbook":"*"},"file":{"path":"ch04.md","mtime":"2020-09-22T02:33:03.568Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2020-09-25T23:56:17.700Z"},"basePath":".","book":{"language":""}});
});
</script>
</div>
<script src="gitbook/gitbook.js"></script>
<script src="gitbook/theme.js"></script>
<script src="gitbook/gitbook-plugin-search/search-engine.js"></script>
<script src="gitbook/gitbook-plugin-search/search.js"></script>
<script src="gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
<script src="gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
<script src="gitbook/gitbook-plugin-sharing/buttons.js"></script>
<script src="gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
</body>
</html>
================================================
FILE: docs/ch05.html
================================================
<!DOCTYPE HTML>
<html lang="cn" >
<head>
<meta charset="UTF-8">
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
<title>资产和被动收入·其二 创造资产 · GitBook</title>
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="description" content="">
<meta name="generator" content="GitBook 3.2.3">
<link rel="stylesheet" href="gitbook/style.css">
<link rel="stylesheet" href="gitbook/gitbook-plugin-highlight/website.css">
<link rel="stylesheet" href="gitbook/gitbook-plugin-search/search.css">
<link rel="stylesheet" href="gitbook/gitbook-plugin-fontsettings/website.css">
<link rel="stylesheet" href="mystyle.css">
<meta name="HandheldFriendly" content="true"/>
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<link rel="apple-touch-icon-precomposed" sizes="152x152" href="gitbook/images/apple-touch-icon-precomposed-152.png">
<link rel="shortcut icon" href="gitbook/images/favicon.ico" type="image/x-icon">
<link rel="next" href="ch06.html" />
<link rel="prev" href="ch04.html" />
</head>
<body>
<div class="book">
<div class="book-summary">
<div id="book-search-input" role="search">
<input type="text" placeholder="Type to search" />
</div>
<nav role="navigation">
<ul class="summary">
<li>
<a href="http://ftqq.com/" target="_blank" class="custom-link">方糖气球</a>
</li>
<li class="divider"></li>
<li class="chapter " data-level="1.1" data-path="./">
<a href="./">
程序员如何优雅地挣零花钱
</a>
</li>
<li class="chapter " data-level="1.2" data-path="ch00.html">
<a href="ch00.html">
前言
</a>
</li>
<li class="chapter " data-level="1.3" data-path="ch01.html">
<a href="ch01.html">
想明白自己的核心资源
</a>
</li>
<li class="chapter " data-level="1.4" data-path="ch02.html">
<a href="ch02.html">
时间片优化·其一 提升单位时间收益
</a>
</li>
<li class="chapter " data-level="1.5" data-path="ch03.html">
<a href="ch03.html">
时间片优化·其二 提升单位时间效率
</a>
</li>
<li class="chapter " data-level="1.6" data-path="ch04.html">
<a href="ch04.html">
资产和被动收入·其一 获得资产
</a>
</li>
<li class="chapter active" data-level="1.7" data-path="ch05.html">
<a href="ch05.html">
资产和被动收入·其二 创造资产
</a>
</li>
<li class="chapter " data-level="1.8" data-path="ch06.html">
<a href="ch06.html">
资产和被动收入·其三 资产的量化评估
</a>
</li>
<li class="chapter " data-level="1.9" data-path="ch07.html">
<a href="ch07.html">
销售时间片的方式
</a>
</li>
<li class="chapter " data-level="1.10" data-path="ch13.html">
<a href="ch13.html">
适合程序员创造的资产·付费课程
</a>
</li>
<li class="chapter " data-level="1.11" data-path="ch12.html">
<a href="ch12.html">
适合程序员创造的资产·付费专栏
</a>
</li>
<li class="chapter " data-level="1.12" data-path="ch10.html">
<a href="ch10.html">
适合程序员创造的资产·付费社群
</a>
</li>
<li class="chapter " data-level="1.13" data-path="ch11.html">
<a href="ch11.html">
适合程序员创造的资产·书籍出版
</a>
</li>
<li class="chapter " data-level="1.14" data-path="ch16.html">
<a href="ch16.html">
适合程序员创造的资产·模板、插件和源代码市场
</a>
</li>
<li class="chapter " data-level="1.15" data-path="ch15.html">
<a href="ch15.html">
适合程序员创造的资产·订阅式软件和服务
</a>
</li>
<li class="chapter " data-level="1.16" data-path="ch14.html">
<a href="ch14.html">
适合程序员创造的资产·应用市场卖付费软件
</a>
</li>
<li class="chapter " data-level="1.17" data-path="ch17.html">
<a href="ch17.html">
适合程序员创造的资产·经营媒体账号并带货
</a>
</li>
<li class="chapter " data-level="1.18" data-path="ch99.html">
<a href="ch99.html">
后记
</a>
</li>
<li class="divider"></li>
<li>
<a href="https://www.gitbook.com" target="blank" class="gitbook-link">
Published with GitBook
</a>
</li>
</ul>
</nav>
</div>
<div class="book-body">
<div class="body-inner">
<div class="book-header" role="navigation">
<!-- Title -->
<h1>
<i class="fa fa-circle-o-notch fa-spin"></i>
<a href="." >资产和被动收入·其二 创造资产</a>
</h1>
</div>
<div class="page-wrapper" tabindex="-1" role="main">
<div class="page-inner">
<div id="book-search-results">
<div class="search-noresults">
<section class="normal markdown-section">
<h1 id="资产和被动收入·其二-创造资产">资产和被动收入·其二 创造资产</h1>
<p>接着上一节的问题,如果我们不能通过购买来获得资产,那么我们直接创造资产就好了。对于其他行业的人来说,创造资产的成本并不会比购买资产低多少。但是我们不同,我们是程序员,而这个世界正好从软件时代穿过,进入了互联网和移动互联网时代。</p>
<p><img src="https://theseven.ftqq.com/20200407161315.png" alt=""></p>
<p>我们可以用过自己的技能栈低成本、无风险的创造出各种数字的、虚拟的资产,这些资产同样可以七乘二十四小时的把钱放进我们的口袋。不是每个人都有我们这么幸运,程序员是为数不多的、自己掌控着大部分生产资料的人。大部分的程序员,离完整地做出一个商业产品,缺的可能只是一点美感和设计能力。</p>
<p>当然,并不是所有的虚拟资产都适合我们以「副业」的方式去创造的。因为就像前面说的,这其实是一个资源和精力都非常缺乏的状态,所以我们也只能从庞大的可能性中选择那些适合个人的产品和服务。</p>
<p>说那到底有哪些产品和服务适合副业呢?我琢磨了一下,有一些想法。</p>
<h2 id="自传播">自传播</h2>
<p><img src="https://theseven.ftqq.com/20200407161734.png" alt=""></p>
<p>首先是「<strong>自传播</strong>」,就是说这个东西做出来了以后,它本身有很强的感染力,用了它的用户会主动地去推荐给其他用户,这样的话我们就不用自己花很大的成本去做营销。</p>
<p>对于大部分程序员来讲,把程序写出来只是时间和精力问题。写不出来程序的程序员很少,但卖不出去的程序的程序员非常多。所以,如果我们做的这个东西它本身自己就能传播,那么我们就可以在零市场预算的情况下获得成长。</p>
<h2 id="ugc">UGC</h2>
<p><img src="https://theseven.ftqq.com/20200407161700.png" alt=""></p>
<p>第二类叫做「<strong>UGC</strong>」,用户贡献内容。它其实是一种更广义的众包。核心也是突破时间片限制。比如说我现在经营一个原创博客,天天都是自己写,就会觉得自己累得都不行了。</p>
<p>但如果我们去做一个访谈类的博客,弄一个相对固定的问题列表,然后拿着这个列表去采访各行各业的人,把结果做成一期一期的内容。这样用户就贡献了至少一半的内容了。</p>
<p>如果我们再改成办一个杂志,每一期大家根据主题投稿,你就从主创变身成编辑了。虽然投稿里有好有坏,良莠不齐,但我们的主要任务已经变成去筛选了,只要贡献内容的用户足够的多,那整体质量还是有保证的。最主要是内容的量就上来了。一个人的话,不管你多么努力,总是有一个上限的,因为你毕竟是人类。</p>
<h2 id="自动化">自动化</h2>
<p><img src="https://theseven.ftqq.com/20200407161936.png" alt=""></p>
<p>第三类前边提过,就是「<strong>自动化</strong>」。就是说这个应用做起来以后,它所有的环节全部都可以由机器完成,我们什么都不用管,只需要把它扔到云平台上,然后定期给云平台打钱。</p>
<p>当然这是一个理想的情况下,意外总是会出现的,而且各种意外会约好在同一天出来逛街,别问我为啥知道。</p>
<p>但是在绝大部分情况下,我们都可以不去管它,它都可以自动化运行。这种资产,因为它不牵扯后期的维护,类似于一次性投入,也是非常适合副业来做的。</p>
</section>
</div>
<div class="search-results">
<div class="has-results">
<h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
<ul class="search-results-list"></ul>
</div>
<div class="no-results">
<h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
</div>
</div>
</div>
</div>
</div>
</div>
<a href="ch04.html" class="navigation navigation-prev " aria-label="Previous page: 资产和被动收入·其一 获得资产">
<i class="fa fa-angle-left"></i>
</a>
<a href="ch06.html" class="navigation navigation-next " aria-label="Next page: 资产和被动收入·其三 资产的量化评估">
<i class="fa fa-angle-right"></i>
</a>
</div>
<script>
var gitbook = gitbook || [];
gitbook.push(function() {
gitbook.page.hasChanged({"page":{"title":"资产和被动收入·其二 创造资产","level":"1.7","depth":1,"next":{"title":"资产和被动收入·其三 资产的量化评估","level":"1.8","depth":1,"path":"ch06.md","ref":"ch06.md","articles":[]},"previous":{"title":"资产和被动收入·其一 获得资产","level":"1.6","depth":1,"path":"ch04.md","ref":"ch04.md","articles":[]},"dir":"ltr"},"config":{"plugins":[],"styles":{"website":"mystyle.css","pdf":"mystyle.css","mobi":"mystyle.css","epub":"mystyle.css"},"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"theme":"default","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"language":"cn","links":{"sidebar":{"方糖气球":"http://ftqq.com/"}},"gitbook":"*"},"file":{"path":"ch05.md","mtime":"2020-09-22T02:33:03.569Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2020-09-25T23:56:17.700Z"},"basePath":".","book":{"language":""}});
});
</script>
</div>
<script src="gitbook/gitbook.js"></script>
<script src="gitbook/theme.js"></script>
<script src="gitbook/gitbook-plugin-search/search-engine.js"></script>
<script src="gitbook/gitbook-plugin-search/search.js"></script>
<script src="gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
<script src="gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
<script src="gitbook/gitbook-plugin-sharing/buttons.js"></script>
<script src="gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
</body>
</html>
================================================
FILE: docs/ch06.html
================================================
<!DOCTYPE HTML>
<html lang="cn" >
<head>
<meta charset="UTF-8">
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
<title>资产和被动收入·其三 资产的量化评估 · GitBook</title>
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="description" content="">
<meta name="generator" content="GitBook 3.2.3">
<link rel="stylesheet" href="gitbook/style.css">
<link rel="stylesheet" href="gitbook/gitbook-plugin-highlight/website.css">
<link rel="stylesheet" href="gitbook/gitbook-plugin-search/search.css">
<link rel="stylesheet" href="gitbook/gitbook-plugin-fontsettings/website.css">
<link rel="stylesheet" href="mystyle.css">
<meta name="HandheldFriendly" content="true"/>
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<link rel="apple-touch-icon-precomposed" sizes="152x152" href="gitbook/images/apple-touch-icon-precomposed-152.png">
<link rel="shortcut icon" href="gitbook/images/favicon.ico" type="image/x-icon">
<link rel="next" href="ch07.html" />
<link rel="prev" href="ch05.html" />
</head>
<body>
<div class="book">
<div class="book-summary">
<div id="book-search-input" role="search">
<input type="text" placeholder="Type to search" />
</div>
<nav role="navigation">
<ul class="summary">
<li>
<a href="http://ftqq.com/" target="_blank" class="custom-link">方糖气球</a>
</li>
<li class="divider"></li>
<li class="chapter " data-level="1.1" data-path="./">
<a href="./">
程序员如何优雅地挣零花钱
</a>
</li>
<li class="chapter " data-level="1.2" data-path="ch00.html">
<a href="ch00.html">
前言
</a>
</li>
<li class="chapter " data-level="1.3" data-path="ch01.html">
<a href="ch01.html">
想明白自己的核心资源
</a>
</li>
<li class="chapter " data-level="1.4" data-path="ch02.html">
<a href="ch02.html">
时间片优化·其一 提升单位时间收益
</a>
</li>
<li class="chapter " data-level="1.5" data-path="ch03.html">
<a href="ch03.html">
时间片优化·其二 提升单位时间效率
</a>
</li>
<li class="chapter " data-level="1.6" data-path="ch04.html">
<a href="ch04.html">
资产和被动收入·其一 获得资产
</a>
</li>
<li class="chapter " data-level="1.7" data-path="ch05.html">
<a href="ch05.html">
资产和被动收入·其二 创造资产
</a>
</li>
<li class="chapter active" data-level="1.8" data-path="ch06.html">
<a href="ch06.html">
资产和被动收入·其三 资产的量化评估
</a>
</li>
<li class="chapter " data-level="1.9" data-path="ch07.html">
<a href="ch07.html">
销售时间片的方式
</a>
</li>
<li class="chapter " data-level="1.10" data-path="ch13.html">
<a href="ch13.html">
适合程序员创造的资产·付费课程
</a>
</li>
<li class="chapter " data-level="1.11" data-path="ch12.html">
<a href="ch12.html">
适合程序员创造的资产·付费专栏
</a>
</li>
<li class="chapter " data-level="1.12" data-path="ch10.html">
<a href="ch10.html">
适合程序员创造的资产·付费社群
</a>
</li>
<li class="chapter " data-level="1.13" data-path="ch11.html">
<a href="ch11.html">
适合程序员创造的资产·书籍出版
</a>
</li>
<li class="chapter " data-level="1.14" data-path="ch16.html">
<a href="ch16.html">
适合程序员创造的资产·模板、插件和源代码市场
</a>
</li>
<li class="chapter " data-level="1.15" data-path="ch15.html">
<a href="ch15.html">
适合程序员创造的资产·订阅式软件和服务
</a>
</li>
<li class="chapter " data-level="1.16" data-path="ch14.html">
<a href="ch14.html">
适合程序员创造的资产·应用市场卖付费软件
</a>
</li>
<li class="chapter " data-level="1.17" data-path="ch17.html">
<a href="ch17.html">
适合程序员创造的资产·经营媒体账号并带货
</a>
</li>
<li class="chapter " data-level="1.18" data-path="ch99.html">
<a href="ch99.html">
后记
</a>
</li>
<li class="divider"></li>
<li>
<a href="https://www.gitbook.com" target="blank" class="gitbook-link">
Published with GitBook
</a>
</li>
</ul>
</nav>
</div>
<div class="book-body">
<div class="body-inner">
<div class="book-header" role="navigation">
<!-- Title -->
<h1>
<i class="fa fa-circle-o-notch fa-spin"></i>
<a href="." >资产和被动收入·其三 资产的量化评估</a>
</h1>
</div>
<div class="page-wrapper" tabindex="-1" role="main">
<div class="page-inner">
<div id="book-search-results">
<div class="search-noresults">
<section class="normal markdown-section">
<h1 id="资产和被动收入·其三-资产的量化评估">资产和被动收入·其三 资产的量化评估</h1>
<p>我们也可以更为量化的来给资产定一个评估标准。</p>
<p>确定好要考察的几个方面,每个方面做一个满分为5分的评分,对每一项评分就可以得到一个多边形,从而一目了然的看到各个资产的状况。</p>
<p>这个标准因人而异,这里分享一下,我用得比较多的几个标准。</p>
<h2 id="投入">投入</h2>
<p><img src="https://theseven.ftqq.com/20200407170730.png" alt=""></p>
<p>项目的一般投入都是三项:「人」、「钱」、「时间」。</p>
<p>「人」和「时间」不多说,通常就是我们自己和挤出来的那点时间了。</p>
<p>「钱」方面,我们也需要一点启动资金,但<strong>不用花大钱去购买各种固定资产。这也是我们这个行业能自己动手创造资产的一个重要原因</strong>。尤其是现在,云计算已经普及了。即使是很大访问量的网站,我们直接租用云服务,按用量付费,省钱又省心。我大学刚毕业的时候,要是做大点的网站,还要自己去买服务器,自己扛去机房托管。现在只需要点点鼠标就能买到一堆 vps ,其实是蛮幸福的。</p>
<p>这里要提醒大家的是,一定不要忘记维护成本。</p>
<p>我们卖时间片的时候,活干完就完了,钱就拿到手了。</p>
<p>但是在自己创造资产的时候,资产的每个细节基本都自己来 cover 的,所以<strong>维护成本一定要算进去</strong>。</p>
<p>维护成本往往不是那么显而易见。比如说吧,其实在线课程也是有维护成本的。很多想要做课但没有做课的同学和我交流,都觉得课程是一个非常好的商品。他们说,「你看,做一个课只要三到六个月,然后就可以放到那里收钱了。每年那么多的毕业生,这一届卖完了接着卖下一届」,听起来简直是躺着挣钱。</p>
<p>但理想是美好的,现实是骨感的。咱们计算机类的课过时是非常快的,前端课甚至还没做完上架,框架就又发大版本了。</p>
<p>上架以后,如果你的课做得好,只要一上排行榜,很快就会有人把你的课的大纲抄一遍,然后以更便宜的价格来销售。</p>
<p><img src="https://theseven.ftqq.com/20200407170709.png" alt=""></p>
<p>这还是合法范围以内的竞争,那更惨一点的是直接把你的课盗版了,在淘宝闲鱼朋友圈微信群里面,几块钱卖一套。本来以为这个课每一年都可以给你带来收益,但事实上的情况是,一旦被盗版以后,销量就从悬崖边直接跳下去,落入一个不见底的深渊。</p>
<h2 id="产出">产出</h2>
<p><img src="https://theseven.ftqq.com/20200407170841.png" alt=""></p>
<p>在评估产出的时候,可以分为「一次性的回报」和「周期性的回报」。</p>
<p>一次性回报,比如我们给人家做技术顾问。可能就是在周三拿到一个邮件介绍说是什么样的一个需求,有什么问题要解答。我们花上2~3个小时来准备,那在周末约一个时间,面谈一个小时,把之前准备的内容聊清楚,聊完了以后,回报就拿到手了。这就是一次性回报。</p>
<p>周期性回报,比如说我们在掘金上写了一个小册,那只要有人在购买,我们就会不停的有收益,这种收入一般按月结,所以每次看起来没多少,但加起来还是挺多的。我之前算了一下,发现<strong>在我创造的各种资产中,掘金小册的投入产出率是最高的</strong>。</p>
<h2 id="可持续性">可持续性</h2>
<p><img src="https://theseven.ftqq.com/20200407171408.png" alt=""></p>
<p>持续性是我以前忽略掉的一个东西,后来被我追加上来。这其实是一个非常浅显的道理,<strong>一个资产放在那个地方,它不可能一直就持续地挣钱</strong>。就像电池光用不充电的话,总会有用光的一天(别和我提太阳能电池)。</p>
<p>这是因为我们创造这个资产的时候,它是面对一个市场需求的。而这个需求本身它会随时间变动。绝大部分的情况下,需求和我们提供的解决方案之间的契合度,会随着时间越来越差。最后就会变成,要么我们就不去管它,让它慢慢地随着时间去消亡;要么我们又要花成本去维护它,把它从偏差的地方给拉回来,重新覆盖到需求上面。把用户的满意度、用户的体验、市场的趋势给重新考虑进去,让我们资产的生命期变得更长。</p>
<p>对于不同的资产来讲,只是过程的快慢会不一样,但整体来讲,都是会有这么一个过程的。</p>
<h2 id="风险">风险</h2>
<p><img src="https://theseven.ftqq.com/20200407171237.png" alt=""></p>
<p>程序员创造产品最大的风险是「<strong>没人用</strong>」,因为虽然大部分科班出身的程序员都学过需求分析,但仍然各种喜欢拿着锤子找钉子。</p>
<p>当然,这对于没有做过独立开发或者自己产品的同学来讲,是一个必经的阶段。所以早期项目的风险都会非常高的,但这并不是说风险高我们就不做了,我们可以相对的调低投入,原来要投入三个月上线的产品,可以花三天做个MVP上线,测试到需求以后,再继续加码。这样也能慢慢的获取到一个平衡点。</p>
<h2 id="门槛">门槛</h2>
<p><img src="https://theseven.ftqq.com/20200407171515.png" alt=""></p>
<p>最后我加了一个评估标准叫做门槛。因为「副业」的关系,我们的各项资源都是受限的,这个评估标准体现了受限情况下创造资产的难度。</p>
</section>
</div>
<div class="search-results">
<div class="has-results">
<h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
<ul class="search-results-list"></ul>
</div>
<div class="no-results">
<h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
</div>
</div>
</div>
</div>
</div>
</div>
<a href="ch05.html" class="navigation navigation-prev " aria-label="Previous page: 资产和被动收入·其二 创造资产">
<i class="fa fa-angle-left"></i>
</a>
<a href="ch07.html" class="navigation navigation-next " aria-label="Next page: 销售时间片的方式">
<i class="fa fa-angle-right"></i>
</a>
</div>
<script>
var gitbook = gitbook || [];
gitbook.push(function() {
gitbook.page.hasChanged({"page":{"title":"资产和被动收入·其三 资产的量化评估","level":"1.8","depth":1,"next":{"title":"销售时间片的方式","level":"1.9","depth":1,"path":"ch07.md","ref":"ch07.md","articles":[]},"previous":{"title":"资产和被动收入·其二 创造资产","level":"1.7","depth":1,"path":"ch05.md","ref":"ch05.md","articles":[]},"dir":"ltr"},"config":{"plugins":[],"styles":{"website":"mystyle.css","pdf":"mystyle.css","mobi":"mystyle.css","epub":"mystyle.css"},"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"theme":"default","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"language":"cn","links":{"sidebar":{"方糖气球":"http://ftqq.com/"}},"gitbook":"*"},"file":{"path":"ch06.md","mtime":"2020-09-22T02:33:03.569Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2020-09-25T23:56:17.700Z"},"basePath":".","book":{"language":""}});
});
</script>
</div>
<script src="gitbook/gitbook.js"></script>
<script src="gitbook/theme.js"></script>
<script src="gitbook/gitbook-plugin-search/search-engine.js"></script>
<script src="gitbook/gitbook-plugin-search/search.js"></script>
<script src="gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
<script src="gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
<script src="gitbook/gitbook-plugin-sharing/buttons.js"></script>
<script src="gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
</body>
</html>
================================================
FILE: docs/ch07.html
================================================
<!DOCTYPE HTML>
<html lang="cn" >
<head>
<meta charset="UTF-8">
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
<title>销售时间片的方式 · GitBook</title>
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="description" content="">
<meta name="generator" content="GitBook 3.2.3">
<link rel="stylesheet" href="gitbook/style.css">
<link rel="stylesheet" href="gitbook/gitbook-plugin-highlight/website.css">
<link rel="stylesheet" href="gitbook/gitbook-plugin-search/search.css">
<link rel="stylesheet" href="gitbook/gitbook-plugin-fontsettings/website.css">
<link rel="stylesheet" href="mystyle.css">
<meta name="HandheldFriendly" content="true"/>
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<link rel="apple-touch-icon-precomposed" sizes="152x152" href="gitbook/images/apple-touch-icon-precomposed-152.png">
<link rel="shortcut icon" href="gitbook/images/favicon.ico" type="image/x-icon">
<link rel="next" href="ch13.html" />
<link rel="prev" href="ch06.html" />
</head>
<body>
<div class="book">
<div class="book-summary">
<div id="book-search-input" role="search">
<input type="text" placeholder="Type to search" />
</div>
<nav role="navigation">
<ul class="summary">
<li>
<a href="http://ftqq.com/" target="_blank" class="custom-link">方糖气球</a>
</li>
<li class="divider"></li>
<li class="chapter " data-level="1.1" data-path="./">
<a href="./">
程序员如何优雅地挣零花钱
</a>
</li>
<li class="chapter " data-level="1.2" data-path="ch00.html">
<a href="ch00.html">
前言
</a>
</li>
<li class="chapter " data-level="1.3" data-path="ch01.html">
<a href="ch01.html">
想明白自己的核心资源
</a>
</li>
<li class="chapter " data-level="1.4" data-path="ch02.html">
<a href="ch02.html">
时间片优化·其一 提升单位时间收益
</a>
</li>
<li class="chapter " data-level="1.5" data-path="ch03.html">
<a href="ch03.html">
时间片优化·其二 提升单位时间效率
</a>
</li>
<li class="chapter " data-level="1.6" data-path="ch04.html">
<a href="ch04.html">
资产和被动收入·其一 获得资产
</a>
</li>
<li class="chapter " data-level="1.7" data-path="ch05.html">
<a href="ch05.html">
资产和被动收入·其二 创造资产
</a>
</li>
<li class="chapter " data-level="1.8" data-path="ch06.html">
<a href="ch06.html">
资产和被动收入·其三 资产的量化评估
</a>
</li>
<li class="chapter active" data-level="1.9" data-path="ch07.html">
<a href="ch07.html">
销售时间片的方式
</a>
</li>
<li class="chapter " data-level="1.10" data-path="ch13.html">
<a href="ch13.html">
适合程序员创造的资产·付费课程
</a>
</li>
<li class="chapter " data-level="1.11" data-path="ch12.html">
<a href="ch12.html">
适合程序员创造的资产·付费专栏
</a>
</li>
<li class="chapter " data-level="1.12" data-path="ch10.html">
<a href="ch10.html">
适合程序员创造的资产·付费社群
</a>
</li>
<li class="chapter " data-level="1.13" data-path="ch11.html">
<a href="ch11.html">
适合程序员创造的资产·书籍出版
</a>
</li>
<li class="chapter " data-level="1.14" data-path="ch16.html">
<a href="ch16.html">
适合程序员创造的资产·模板、插件和源代码市场
</a>
</li>
<li class="chapter " data-level="1.15" data-path="ch15.html">
<a href="ch15.html">
适合程序员创造的资产·订阅式软件和服务
</a>
</li>
<li class="chapter " data-level="1.16" data-path="ch14.html">
<a href="ch14.html">
适合程序员创造的资产·应用市场卖付费软件
</a>
</li>
<li class="chapter " data-level="1.17" data-path="ch17.html">
<a href="ch17.html">
适合程序员创造的资产·经营媒体账号并带货
</a>
</li>
<li class="chapter " data-level="1.18" data-path="ch99.html">
<a href="ch99.html">
后记
</a>
</li>
<li class="divider"></li>
<li>
<a href="https://www.gitbook.com" target="blank" class="gitbook-link">
Published with GitBook
</a>
</li>
</ul>
</nav>
</div>
<div class="book-body">
<div class="body-inner">
<div class="book-header" role="navigation">
<!-- Title -->
<h1>
<i class="fa fa-circle-o-notch fa-spin"></i>
<a href="." >销售时间片的方式</a>
</h1>
</div>
<div class="page-wrapper" tabindex="-1" role="main">
<div class="page-inner">
<div id="book-search-results">
<div class="search-noresults">
<section class="normal markdown-section">
<h1 id="销售时间片的方式">销售时间片的方式</h1>
<p>这里我们整理了销售时间片模式下,有哪些挣零花钱的方式(内容主要基于旧版长文)。</p>
<h2 id="私单">私单</h2>
<h3 id="远程外包">远程外包</h3>
<p>最理想的单子还是直接接海外的项目,比如<a href="http://freelancer.com" target="_blank">freelancer.com</a>等网站。一方面是因为挣的是美刀比较划算,之前看到像给WordPress写支付+发送注册码这种大家一个周末就能做完的项目,也可以到200~300美刀;另一方面是在国外接单子比较隐蔽。</p>
<p><img src="https://theseven.ftqq.com/20200407172129.png" alt=""></p>
<p>常用国外网站:</p>
<ul>
<li><a href="http://freelancer.com" target="_blank">http://freelancer.com</a></li>
<li><a href="https://www.upwork.com/" target="_blank">https://www.upwork.com/</a></li>
</ul>
<p>(由<a href="https://github.com/ahui132" target="_blank">ahui132</a>同学补充)</p>
<blockquote>
<p>本段由tvvocold同学贡献。
国内也有一个软件众包平台 <a href="https://mart.coding.net" target="_blank">CODING 码市</a> 。 码市基于云计算技术搭建的云端软件开发平台 <a href="https://coding.net" target="_blank">Coding.net</a> 作为沟通和监管工具,快速连接开发者与需求方,旨在通过云端众包的方式提高软件交付的效率。码市作为第三方监管平台,会对所有项目进行审核以保证项目需求的明确性,并提供付款担保,让开发者只要按时完成项目开发即可获取酬劳。你可以 <a href="https://mart.coding.net/codersay" target="_blank">在这里</a> 看到开发者对码市的评价。</p>
</blockquote>
<p>当然,猪八戒这种站我就不多说了,不太适合专业程序员去自贬身价。</p>
<h3 id="按需雇用">按需雇用</h3>
<p>按需雇用是近几年新兴的私单方式,开发者在业余时间直接到雇主公司驻场办公,按时薪领取报酬。这种方式省去了网络沟通的低效率,也避免了和雇主的讨价还价,适合怕麻烦的程序员。</p>
<h4 id="拉勾大鲲已下线">拉勾大鲲(已下线)</h4>
<p><del><img src="https://theseven.ftqq.com/20200407171940.png" alt=""></del></p>
<p><del><a href="https://pro.lagou.com/" target="_blank">大鲲</a> 由拉勾网推出,考虑到拉勾上三十多万的招聘方,大鲲不缺雇主,这是其他独立平台相对弱势的地方。</del></p>
<h4 id="实现网">实现网</h4>
<p><img src="https://theseven.ftqq.com/20200407172005.png" alt=""></p>
<p><a href="http://shixian.com" target="_blank">实现网</a>的价格也很不错,<del>但是我强烈建议大家不要在介绍中透漏实名和真实的公司部门信息,因为这实在太高调了。有同学说,这是我的周末时间啊,我爱怎么用就怎么用,公司还能告我怎么的?
虽然很多公司的劳动合同里边并不禁止做兼职,但在网上如此高调的干私活,简直就是在挑衅HR:「我工作不饱和」、「公司加班不够多」…
再想象下你一边和产品经理说这个需求做不完,一边自己却有时间做私单的样子。你自己要是老板也不愿提拔这样的人吧。</del></p>
<p>(我这几天重新去看了下,人才页面已经不再显示姓名了,只用使用头像。这样只要在工作经历介绍里边注意一点,就可以避免上述问题了。)</p>
<h4 id="程序员客栈">程序员客栈</h4>
<p><img src="https://theseven.ftqq.com/20200407172232.png" alt=""></p>
<p>不太熟悉,但国内按需雇用的网站不多,写出来供大家参考。</p>
<h2 id="写文章">写文章</h2>
<h3 id="投稿">投稿</h3>
<p>很多同学喜欢写技术博客,其实把文章投给一些网站是有稿费的。
比如InfoQ,他们家喜欢收3000~4000字的深度技术文章;稿费是 200 元 / 篇。虽然不算太多,但一篇长文的稿费也够买个入门级的Cherry键盘了。我喜欢InfoQ的地方是他们的版权要求上比较宽松。文章在他们网站发布后,你可以再发布到自己的博客;而且文章可以用于出书,只要标明原发于InfoQ即可。</p>
<p>更详细的说明见这里:<a href="https://www.infoq.cn/instruction" target="_blank">https://www.infoq.cn/instruction</a></p>
<blockquote>
<p>微博的<a href="http://weibo.com/rambone" target="_blank">@rambone</a>同学补充到,文章还可以发到微博、微信、简书等支持打赏的平台。考虑到<a href="https://weibo.com/2855893887/Fztyzmolp?type=comment#_rnd1524187028824" target="_blank">简书CEO及其官博对程序员的奇葩态度</a>,个人建议是换个咱程序员自己的平台写文章。</p>
</blockquote>
<h2 id="内部推荐和猎头推荐">内部推荐和猎头推荐</h2>
<p>如果你在BAT等一流互联网公司工作,如果你有一帮志同道合的程序员朋友,那么基本上每隔几个月你应该就会遇到有想换工作的同事和朋友,所以千万别错过你挣推荐费的大好时机。</p>
<p>一般来讲,公司内部推荐的钱会少一些,我见过的3000~6000的居多。但因为是自己公司,会比较靠谱,所以风险小一些。经常给公司推荐人才,还会提升老大对你的好感度,能优先就优先吧。</p>
<p>比起内部推荐,猎头推荐的推荐费则会多很多。一个30万年薪的程序员,成功入职后差不多可以拿到1万RMB的推荐费。但猎头渠道的问题在于对简历质量要求非常高,有知名公司背景的才容易成单;回款周期又特别长,一般要入职过了试用期以后才能拿到全部推荐费,得小半年。</p>
</section>
</div>
<div class="search-results">
<div class="has-results">
<h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
<ul class="search-results-list"></ul>
</div>
<div class="no-results">
<h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
</div>
</div>
</div>
</div>
</div>
</div>
<a href="ch06.html" class="navigation navigation-prev " aria-label="Previous page: 资产和被动收入·其三 资产的量化评估">
<i class="fa fa-angle-left"></i>
</a>
<a href="ch13.html" class="navigation navigation-next " aria-label="Next page: 适合程序员创造的资产·付费课程">
<i class="fa fa-angle-right"></i>
</a>
</div>
<script>
var gitbook = gitbook || [];
gitbook.push(function() {
gitbook.page.hasChanged({"page":{"title":"销售时间片的方式","level":"1.9","depth":1,"next":{"title":"适合程序员创造的资产·付费课程","level":"1.10","depth":1,"path":"ch13.md","ref":"ch13.md","articles":[]},"previous":{"title":"资产和被动收入·其三 资产的量化评估","level":"1.8","depth":1,"path":"ch06.md","ref":"ch06.md","articles":[]},"dir":"ltr"},"config":{"plugins":[],"styles":{"website":"mystyle.css","pdf":"mystyle.css","mobi":"mystyle.css","epub":"mystyle.css"},"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"theme":"default","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"language":"cn","links":{"sidebar":{"方糖气球":"http://ftqq.com/"}},"gitbook":"*"},"file":{"path":"ch07.md","mtime":"2020-05-08T02:43:04.961Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2020-09-25T23:56:17.700Z"},"basePath":".","book":{"language":""}});
});
</script>
</div>
<script src="gitbook/gitbook.js"></script>
<script src="gitbook/theme.js"></script>
<script src="gitbook/gitbook-plugin-search/search-engine.js"></script>
<script src="gitbook/gitbook-plugin-search/search.js"></script>
<script src="gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
<script src="gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
<script src="gitbook/gitbook-plugin-sharing/buttons.js"></script>
<script src="gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
</body>
</html>
================================================
FILE: docs/ch08.md
================================================
# 适合程序员创造的资产·其一 可自动化的业务
================================================
FILE: docs/ch09.md
================================================
# 适合程序员创造的资产·其二 可众包和外包的业务
================================================
FILE: docs/ch10.html
================================================
<!DOCTYPE HTML>
<html lang="cn" >
<head>
<meta charset="UTF-8">
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
<title>适合程序员创造的资产·付费社群 · GitBook</title>
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="description" content="">
<meta name="generator" content="GitBook 3.2.3">
<link rel="stylesheet" href="gitbook/style.css">
<link rel="stylesheet" href="gitbook/gitbook-plugin-highlight/website.css">
<link rel="stylesheet" href="gitbook/gitbook-plugin-search/search.css">
<link rel="stylesheet" href="gitbook/gitbook-plugin-fontsettings/website.css">
<link rel="stylesheet" href="mystyle.css">
<meta name="HandheldFriendly" content="true"/>
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<link rel="apple-touch-icon-precomposed" sizes="152x152" href="gitbook/images/apple-touch-icon-precomposed-152.png">
<link rel="shortcut icon" href="gitbook/images/favicon.ico" type="image/x-icon">
<link rel="next" href="ch11.html" />
<link rel="prev" href="ch12.html" />
</head>
<body>
<div class="book">
<div class="book-summary">
<div id="book-search-input" role="search">
<input type="text" placeholder="Type to search" />
</div>
<nav role="navigation">
<ul class="summary">
<li>
<a href="http://ftqq.com/" target="_blank" class="custom-link">方糖气球</a>
</li>
<li class="divider"></li>
<li class="chapter " data-level="1.1" data-path="./">
<a href="./">
程序员如何优雅地挣零花钱
</a>
</li>
<li class="chapter " data-level="1.2" data-path="ch00.html">
<a href="ch00.html">
前言
</a>
</li>
<li class="chapter " data-level="1.3" data-path="ch01.html">
<a href="ch01.html">
想明白自己的核心资源
</a>
</li>
<li class="chapter " data-level="1.4" data-path="ch02.html">
<a href="ch02.html">
时间片优化·其一 提升单位时间收益
</a>
</li>
<li class="chapter " data-level="1.5" data-path="ch03.html">
<a href="ch03.html">
时间片优化·其二 提升单位时间效率
</a>
</li>
<li class="chapter " data-level="1.6" data-path="ch04.html">
<a href="ch04.html">
资产和被动收入·其一 获得资产
</a>
</li>
<li class="chapter " data-level="1.7" data-path="ch05.html">
<a href="ch05.html">
资产和被动收入·其二 创造资产
</a>
</li>
<li class="chapter " data-level="1.8" data-path="ch06.html">
<a href="ch06.html">
gitextract_otzauxax/ ├── .gitignore ├── README.md ├── RoboFile.php ├── SUMMARY.md ├── book.json ├── ch00.md ├── ch01.md ├── ch02.md ├── ch03.md ├── ch04.md ├── ch05.md ├── ch06.md ├── ch07.md ├── ch08.md ├── ch09.md ├── ch10.md ├── ch11.md ├── ch12.md ├── ch13.md ├── ch14.md ├── ch15.md ├── ch16.md ├── ch17.md ├── ch18.md ├── ch99.md ├── docs/ │ ├── .gitignore │ ├── RoboFile.php │ ├── ch00.html │ ├── ch01.html │ ├── ch02.html │ ├── ch03.html │ ├── ch04.html │ ├── ch05.html │ ├── ch06.html │ ├── ch07.html │ ├── ch08.md │ ├── ch09.md │ ├── ch10.html │ ├── ch11.html │ ├── ch12.html │ ├── ch13.html │ ├── ch14.html │ ├── ch15.html │ ├── ch16.html │ ├── ch17.html │ ├── ch18.md │ ├── ch99.html │ ├── gitbook/ │ │ ├── fonts/ │ │ │ └── fontawesome/ │ │ │ └── FontAwesome.otf │ │ ├── gitbook-plugin-fontsettings/ │ │ │ ├── fontsettings.js │ │ │ └── website.css │ │ ├── gitbook-plugin-highlight/ │ │ │ ├── ebook.css │ │ │ └── website.css │ │ ├── gitbook-plugin-lunr/ │ │ │ └── search-lunr.js │ │ ├── gitbook-plugin-search/ │ │ │ ├── search-engine.js │ │ │ ├── search.css │ │ │ └── search.js │ │ ├── gitbook-plugin-sharing/ │ │ │ └── buttons.js │ │ ├── gitbook.js │ │ ├── style.css │ │ └── theme.js │ ├── index.html │ ├── mystyle.css │ └── search_index.json └── mystyle.css
SYMBOL INDEX (289 symbols across 8 files)
FILE: RoboFile.php
class RoboFile (line 7) | class RoboFile extends \Robo\Tasks
method build (line 10) | public function build()
method up (line 15) | public function up($m = 'update')
FILE: docs/RoboFile.php
class RoboFile (line 7) | class RoboFile extends \Robo\Tasks
method build (line 10) | public function build()
method up (line 15) | public function up($m = 'update')
FILE: docs/gitbook/gitbook-plugin-fontsettings/fontsettings.js
function getThemes (line 44) | function getThemes() {
function setThemes (line 49) | function setThemes(themes) {
function getFamilies (line 55) | function getFamilies() {
function setFamilies (line 60) | function setFamilies(families) {
function saveFontSettings (line 66) | function saveFontSettings() {
function enlargeFontSize (line 72) | function enlargeFontSize(e) {
function reduceFontSize (line 81) | function reduceFontSize(e) {
function changeFontFamily (line 90) | function changeFontFamily(configName, e) {
function changeColorTheme (line 101) | function changeColorTheme(configName, e) {
function getFontFamilyId (line 123) | function getFontFamilyId(configName) {
function getThemeId (line 134) | function getThemeId(configName) {
function update (line 143) | function update() {
function init (line 159) | function init(config) {
function updateButtons (line 174) | function updateButtons() {
FILE: docs/gitbook/gitbook-plugin-lunr/search-lunr.js
function LunrSearchEngine (line 6) | function LunrSearchEngine() {
FILE: docs/gitbook/gitbook-plugin-search/search-engine.js
function setEngine (line 10) | function setEngine(Engine, config) {
function init (line 18) | function init(config) {
function query (line 29) | function query(q, offset, length) {
function getEngine (line 35) | function getEngine() {
function isInitialized (line 39) | function isInitialized() {
FILE: docs/gitbook/gitbook-plugin-search/search.js
function throttle (line 20) | function throttle(fn, wait) {
function displayResults (line 34) | function displayResults(res) {
function launchSearch (line 73) | function launchSearch(q) {
function closeSearch (line 88) | function closeSearch() {
function launchSearchFromQueryString (line 93) | function launchSearchFromQueryString() {
function bindSearch (line 104) | function bindSearch() {
function getParameterByName (line 172) | function getParameterByName(name) {
function updateQueryString (line 182) | function updateQueryString(key, value) {
FILE: docs/gitbook/gitbook.js
function o (line 1) | function o(s,a){if(!n[s]){if(!t[s]){var u="function"==typeof require&&re...
function n (line 1) | function n(e,t){t=t||te;var n=t.createElement("script");n.text=e,t.head....
function r (line 1) | function r(e){var t=!!e&&"length"in e&&e.length,n=de.type(e);return"func...
function o (line 1) | function o(e,t,n){return de.isFunction(t)?de.grep(e,function(e,r){return...
function i (line 1) | function i(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}
function s (line 1) | function s(e){var t={};return de.each(e.match(qe)||[],function(e,n){t[n]...
function a (line 1) | function a(e){return e}
function u (line 1) | function u(e){throw e}
function c (line 1) | function c(e,t,n){var r;try{e&&de.isFunction(r=e.promise)?r.call(e).done...
function l (line 1) | function l(){te.removeEventListener("DOMContentLoaded",l),e.removeEventL...
function f (line 1) | function f(){this.expando=de.expando+f.uid++}
function p (line 1) | function p(e){return"true"===e||"false"!==e&&("null"===e?null:e===+e+""?...
function h (line 1) | function h(e,t,n){var r;if(void 0===n&&1===e.nodeType)if(r="data-"+t.rep...
function d (line 1) | function d(e,t,n,r){var o,i=1,s=20,a=r?function(){return r.cur()}:functi...
function g (line 1) | function g(e){var t,n=e.ownerDocument,r=e.nodeName,o=Ue[r];return o?o:(t...
function m (line 1) | function m(e,t){for(var n,r,o=[],i=0,s=e.length;i<s;i++)r=e[i],r.style&&...
function v (line 1) | function v(e,t){var n;return n="undefined"!=typeof e.getElementsByTagNam...
function y (line 1) | function y(e,t){for(var n=0,r=e.length;n<r;n++)Fe.set(e[n],"globalEval",...
function x (line 1) | function x(e,t,n,r,o){for(var i,s,a,u,c,l,f=t.createDocumentFragment(),p...
function b (line 1) | function b(){return!0}
function w (line 1) | function w(){return!1}
function T (line 1) | function T(){try{return te.activeElement}catch(e){}}
function C (line 1) | function C(e,t,n,r,o,i){var s,a;if("object"==typeof t){"string"!=typeof ...
function j (line 1) | function j(e,t){return de.nodeName(e,"table")&&de.nodeName(11!==t.nodeTy...
function k (line 1) | function k(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}
function E (line 1) | function E(e){var t=rt.exec(e.type);return t?e.type=t[1]:e.removeAttribu...
function S (line 1) | function S(e,t){var n,r,o,i,s,a,u,c;if(1===t.nodeType){if(Fe.hasData(e)&...
function N (line 1) | function N(e,t){var n=t.nodeName.toLowerCase();"input"===n&&ze.test(e.ty...
function A (line 1) | function A(e,t,r,o){t=oe.apply([],t);var i,s,a,u,c,l,f=0,p=e.length,h=p-...
function q (line 1) | function q(e,t,n){for(var r,o=t?de.filter(t,e):e,i=0;null!=(r=o[i]);i++)...
function D (line 1) | function D(e,t,n){var r,o,i,s,a=e.style;return n=n||at(e),n&&(s=n.getPro...
function O (line 1) | function O(e,t){return{get:function(){return e()?void delete this.get:(t...
function L (line 1) | function L(e){if(e in pt)return e;for(var t=e[0].toUpperCase()+e.slice(1...
function H (line 1) | function H(e,t,n){var r=$e.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3...
function F (line 1) | function F(e,t,n,r,o){var i,s=0;for(i=n===(r?"border":"content")?4:"widt...
function R (line 1) | function R(e,t,n){var r,o=!0,i=at(e),s="border-box"===de.css(e,"boxSizin...
function I (line 1) | function I(e,t,n,r,o){return new I.prototype.init(e,t,n,r,o)}
function P (line 1) | function P(){dt&&(e.requestAnimationFrame(P),de.fx.tick())}
function M (line 1) | function M(){return e.setTimeout(function(){ht=void 0}),ht=de.now()}
function $ (line 1) | function $(e,t){var n,r=0,o={height:e};for(t=t?1:0;r<4;r+=2-t)n=We[r],o[...
function W (line 1) | function W(e,t,n){for(var r,o=(U.tweeners[t]||[]).concat(U.tweeners["*"]...
function B (line 1) | function B(e,t,n){var r,o,i,s,a,u,c,l,f="width"in t||"height"in t,p=this...
function _ (line 1) | function _(e,t){var n,r,o,i,s;for(n in e)if(r=de.camelCase(n),o=t[r],i=e...
function U (line 1) | function U(e,t,n){var r,o,i=0,s=U.prefilters.length,a=de.Deferred().alwa...
function z (line 1) | function z(e){var t=e.match(qe)||[];return t.join(" ")}
function X (line 1) | function X(e){return e.getAttribute&&e.getAttribute("class")||""}
function V (line 1) | function V(e,t,n,r){var o;if(de.isArray(t))de.each(t,function(t,o){n||Et...
function G (line 1) | function G(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r...
function Y (line 1) | function Y(e,t,n,r){function o(a){var u;return i[a]=!0,de.each(e[a]||[],...
function Q (line 1) | function Q(e,t){var n,r,o=de.ajaxSettings.flatOptions||{};for(n in t)voi...
function J (line 1) | function J(e,t,n){for(var r,o,i,s,a=e.contents,u=e.dataTypes;"*"===u[0];...
function K (line 1) | function K(e,t,n,r){var o,i,s,a,u,c={},l=e.dataTypes.slice();if(l[1])for...
function Z (line 1) | function Z(e){return de.isWindow(e)?e:9===e.nodeType&&e.defaultView}
function t (line 1) | function t(e,t,n,r){var o,i,s,a,u,c,l,p=t&&t.ownerDocument,d=t?t.nodeTyp...
function n (line 1) | function n(){function e(n,r){return t.push(n+" ")>C.cacheLength&&delete ...
function r (line 1) | function r(e){return e[$]=!0,e}
function o (line 1) | function o(e){var t=L.createElement("fieldset");try{return!!e(t)}catch(e...
function i (line 1) | function i(e,t){for(var n=e.split("|"),r=n.length;r--;)C.attrHandle[n[r]...
function s (line 1) | function s(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.source...
function a (line 1) | function a(e){return function(t){var n=t.nodeName.toLowerCase();return"i...
function u (line 1) | function u(e){return function(t){var n=t.nodeName.toLowerCase();return("...
function c (line 1) | function c(e){return function(t){return"form"in t?t.parentNode&&t.disabl...
function l (line 1) | function l(e){return r(function(t){return t=+t,r(function(n,r){for(var o...
function f (line 1) | function f(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}
function p (line 1) | function p(){}
function h (line 1) | function h(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}
function d (line 1) | function d(e,t,n){var r=t.dir,o=t.next,i=o||r,s=n&&"parentNode"===i,a=_+...
function g (line 1) | function g(e){return e.length>1?function(t,n,r){for(var o=e.length;o--;)...
function m (line 1) | function m(e,n,r){for(var o=0,i=n.length;o<i;o++)t(e,n[o],r);return r}
function v (line 1) | function v(e,t,n,r,o){for(var i,s=[],a=0,u=e.length,c=null!=t;a<u;a++)(i...
function y (line 1) | function y(e,t,n,o,i,s){return o&&!o[$]&&(o=y(o)),i&&!i[$]&&(i=y(i,s)),r...
function x (line 1) | function x(e){for(var t,n,r,o=e.length,i=C.relative[e[0].type],s=i||C.re...
function b (line 1) | function b(e,n){var o=n.length>0,i=e.length>0,s=function(r,s,a,u,c){var ...
function i (line 2) | function i(t,n,r,o){return function(){var c=this,l=arguments,f=function(...
function t (line 2) | function t(){if(a){a.style.cssText="box-sizing:border-box;position:relat...
function r (line 3) | function r(t,n,r,a){var c,p,h,b,w,T=n;l||(l=!0,u&&e.clearTimeout(u),o=vo...
function t (line 3) | function t(e,t){for(var n=0,r=e.length-1;r>=0;r--){var o=e[r];"."===o?e....
function r (line 3) | function r(e,t){if(e.filter)return e.filter(t);for(var n=[],r=0;r<e.leng...
function r (line 3) | function r(e){for(var t=0;t<e.length&&""===e[t];t++);for(var n=e.length-...
function r (line 3) | function r(){throw new Error("setTimeout has not been defined")}
function o (line 3) | function o(){throw new Error("clearTimeout has not been defined")}
function i (line 3) | function i(e){if(f===setTimeout)return setTimeout(e,0);if((f===r||!f)&&s...
function s (line 3) | function s(e){if(p===clearTimeout)return clearTimeout(e);if((p===o||!p)&...
function a (line 3) | function a(){m&&d&&(m=!1,d.length?g=d.concat(g):v=-1,g.length&&u())}
function u (line 3) | function u(){if(!m){var e=i(a);m=!0;for(var t=g.length;t;){for(d=g,g=[];...
function c (line 3) | function c(e,t){this.fun=e,this.array=t}
function l (line 3) | function l(){}
function o (line 3) | function o(e){throw new RangeError(L[e])}
function i (line 3) | function i(e,t){for(var n=e.length,r=[];n--;)r[n]=t(e[n]);return r}
function s (line 3) | function s(e,t){var n=e.split("@"),r="";n.length>1&&(r=n[0]+"@",e=n[1]),...
function a (line 3) | function a(e){for(var t,n,r=[],o=0,i=e.length;o<i;)t=e.charCodeAt(o++),t...
function u (line 3) | function u(e){return i(e,function(e){var t="";return e>65535&&(e-=65536,...
function c (line 3) | function c(e){return e-48<10?e-22:e-65<26?e-65:e-97<26?e-97:T}
function l (line 3) | function l(e,t){return e+22+75*(e<26)-((0!=t)<<5)}
function f (line 3) | function f(e,t,n){var r=0;for(e=n?F(e/E):e>>1,e+=F(e/t);e>H*j>>1;r+=T)e=...
function p (line 3) | function p(e){var t,n,r,i,s,a,l,p,h,d,g=[],m=e.length,v=0,y=N,x=S;for(n=...
function h (line 3) | function h(e){var t,n,r,i,s,u,c,p,h,d,g,m,v,y,x,b=[];for(e=a(e),m=e.leng...
function d (line 3) | function d(e){return s(e,function(e){return q.test(e)?p(e.slice(4).toLow...
function g (line 3) | function g(e){return s(e,function(e){return D.test(e)?"xn--"+h(e):e})}
function r (line 3) | function r(e,t){return Object.prototype.hasOwnProperty.call(e,t)}
function r (line 3) | function r(e,t){if(e.map)return e.map(t);for(var n=[],r=0;r<e.length;r++...
function r (line 3) | function r(){this.protocol=null,this.slashes=null,this.auth=null,this.ho...
function o (line 3) | function o(e,t,n){
function i (line 4) | function i(e){return c.isString(e)&&(e=o(e)),e instanceof r?e.format():r...
function s (line 4) | function s(e,t){return o(e,!1,!0).resolve(t)}
function a (line 4) | function a(e,t){return e?o(e,!1,!0).resolveObject(t):t}
function r (line 4) | function r(e){console.log("page has changed",e),o(e),l||(l=!0,c.trigger(...
function o (line 4) | function o(e){f.page=e.page,f.file=e.file,f.gitbook=e.gitbook,f.config=e...
function i (line 4) | function i(){return f}
FILE: docs/gitbook/theme.js
function o (line 1) | function o(a,s){if(!n[a]){if(!t[a]){var u="function"==typeof require&&re...
function n (line 1) | function n(e,t){t=t||te;var n=t.createElement("script");n.text=e,t.head....
function r (line 1) | function r(e){var t=!!e&&"length"in e&&e.length,n=de.type(e);return"func...
function o (line 1) | function o(e,t,n){return de.isFunction(t)?de.grep(e,function(e,r){return...
function i (line 1) | function i(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}
function a (line 1) | function a(e){var t={};return de.each(e.match(qe)||[],function(e,n){t[n]...
function s (line 1) | function s(e){return e}
function u (line 1) | function u(e){throw e}
function l (line 1) | function l(e,t,n){var r;try{e&&de.isFunction(r=e.promise)?r.call(e).done...
function c (line 1) | function c(){te.removeEventListener("DOMContentLoaded",c),e.removeEventL...
function f (line 1) | function f(){this.expando=de.expando+f.uid++}
function p (line 1) | function p(e){return"true"===e||"false"!==e&&("null"===e?null:e===+e+""?...
function h (line 1) | function h(e,t,n){var r;if(void 0===n&&1===e.nodeType)if(r="data-"+t.rep...
function d (line 1) | function d(e,t,n,r){var o,i=1,a=20,s=r?function(){return r.cur()}:functi...
function g (line 1) | function g(e){var t,n=e.ownerDocument,r=e.nodeName,o=Ue[r];return o?o:(t...
function m (line 1) | function m(e,t){for(var n,r,o=[],i=0,a=e.length;i<a;i++)r=e[i],r.style&&...
function v (line 1) | function v(e,t){var n;return n="undefined"!=typeof e.getElementsByTagNam...
function y (line 1) | function y(e,t){for(var n=0,r=e.length;n<r;n++)Fe.set(e[n],"globalEval",...
function b (line 1) | function b(e,t,n,r,o){for(var i,a,s,u,l,c,f=t.createDocumentFragment(),p...
function x (line 1) | function x(){return!0}
function w (line 1) | function w(){return!1}
function C (line 1) | function C(){try{return te.activeElement}catch(e){}}
function T (line 1) | function T(e,t,n,r,o,i){var a,s;if("object"==typeof t){"string"!=typeof ...
function k (line 1) | function k(e,t){return de.nodeName(e,"table")&&de.nodeName(11!==t.nodeTy...
function j (line 1) | function j(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}
function E (line 1) | function E(e){var t=rt.exec(e.type);return t?e.type=t[1]:e.removeAttribu...
function N (line 1) | function N(e,t){var n,r,o,i,a,s,u,l;if(1===t.nodeType){if(Fe.hasData(e)&...
function S (line 1) | function S(e,t){var n=t.nodeName.toLowerCase();"input"===n&&ze.test(e.ty...
function A (line 1) | function A(e,t,r,o){t=oe.apply([],t);var i,a,s,u,l,c,f=0,p=e.length,h=p-...
function q (line 1) | function q(e,t,n){for(var r,o=t?de.filter(t,e):e,i=0;null!=(r=o[i]);i++)...
function D (line 1) | function D(e,t,n){var r,o,i,a,s=e.style;return n=n||st(e),n&&(a=n.getPro...
function O (line 1) | function O(e,t){return{get:function(){return e()?void delete this.get:(t...
function L (line 1) | function L(e){if(e in pt)return e;for(var t=e[0].toUpperCase()+e.slice(1...
function H (line 1) | function H(e,t,n){var r=$e.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3...
function F (line 1) | function F(e,t,n,r,o){var i,a=0;for(i=n===(r?"border":"content")?4:"widt...
function P (line 1) | function P(e,t,n){var r,o=!0,i=st(e),a="border-box"===de.css(e,"boxSizin...
function I (line 1) | function I(e,t,n,r,o){return new I.prototype.init(e,t,n,r,o)}
function R (line 1) | function R(){dt&&(e.requestAnimationFrame(R),de.fx.tick())}
function M (line 1) | function M(){return e.setTimeout(function(){ht=void 0}),ht=de.now()}
function $ (line 1) | function $(e,t){var n,r=0,o={height:e};for(t=t?1:0;r<4;r+=2-t)n=_e[r],o[...
function _ (line 1) | function _(e,t,n){for(var r,o=(U.tweeners[t]||[]).concat(U.tweeners["*"]...
function W (line 1) | function W(e,t,n){var r,o,i,a,s,u,l,c,f="width"in t||"height"in t,p=this...
function B (line 1) | function B(e,t){var n,r,o,i,a;for(n in e)if(r=de.camelCase(n),o=t[r],i=e...
function U (line 1) | function U(e,t,n){var r,o,i=0,a=U.prefilters.length,s=de.Deferred().alwa...
function z (line 1) | function z(e){var t=e.match(qe)||[];return t.join(" ")}
function X (line 1) | function X(e){return e.getAttribute&&e.getAttribute("class")||""}
function K (line 1) | function K(e,t,n,r){var o;if(de.isArray(t))de.each(t,function(t,o){n||Et...
function V (line 1) | function V(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r...
function G (line 1) | function G(e,t,n,r){function o(s){var u;return i[s]=!0,de.each(e[s]||[],...
function Y (line 1) | function Y(e,t){var n,r,o=de.ajaxSettings.flatOptions||{};for(n in t)voi...
function Q (line 1) | function Q(e,t,n){for(var r,o,i,a,s=e.contents,u=e.dataTypes;"*"===u[0];...
function J (line 1) | function J(e,t,n,r){var o,i,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for...
function Z (line 1) | function Z(e){return de.isWindow(e)?e:9===e.nodeType&&e.defaultView}
function t (line 1) | function t(e,t,n,r){var o,i,a,s,u,l,c,p=t&&t.ownerDocument,d=t?t.nodeTyp...
function n (line 1) | function n(){function e(n,r){return t.push(n+" ")>T.cacheLength&&delete ...
function r (line 1) | function r(e){return e[$]=!0,e}
function o (line 1) | function o(e){var t=L.createElement("fieldset");try{return!!e(t)}catch(e...
function i (line 1) | function i(e,t){for(var n=e.split("|"),r=n.length;r--;)T.attrHandle[n[r]...
function a (line 1) | function a(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.source...
function s (line 1) | function s(e){return function(t){var n=t.nodeName.toLowerCase();return"i...
function u (line 1) | function u(e){return function(t){var n=t.nodeName.toLowerCase();return("...
function l (line 1) | function l(e){return function(t){return"form"in t?t.parentNode&&t.disabl...
function c (line 1) | function c(e){return r(function(t){return t=+t,r(function(n,r){for(var o...
function f (line 1) | function f(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}
function p (line 1) | function p(){}
function h (line 1) | function h(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}
function d (line 1) | function d(e,t,n){var r=t.dir,o=t.next,i=o||r,a=n&&"parentNode"===i,s=B+...
function g (line 1) | function g(e){return e.length>1?function(t,n,r){for(var o=e.length;o--;)...
function m (line 1) | function m(e,n,r){for(var o=0,i=n.length;o<i;o++)t(e,n[o],r);return r}
function v (line 1) | function v(e,t,n,r,o){for(var i,a=[],s=0,u=e.length,l=null!=t;s<u;s++)(i...
function y (line 1) | function y(e,t,n,o,i,a){return o&&!o[$]&&(o=y(o)),i&&!i[$]&&(i=y(i,a)),r...
function b (line 1) | function b(e){for(var t,n,r,o=e.length,i=T.relative[e[0].type],a=i||T.re...
function x (line 1) | function x(e,n){var o=n.length>0,i=e.length>0,a=function(r,a,s,u,l){var ...
function i (line 2) | function i(t,n,r,o){return function(){var l=this,c=arguments,f=function(...
function t (line 2) | function t(){if(s){s.style.cssText="box-sizing:border-box;position:relat...
function r (line 3) | function r(t,n,r,s){var l,p,h,x,w,C=n;c||(c=!0,u&&e.clearTimeout(u),o=vo...
function o (line 3) | function o(e,t,n){return e.addEventListener?void e.addEventListener(t,n,...
function i (line 3) | function i(e){if("keypress"==e.type){var t=String.fromCharCode(e.which);...
function a (line 3) | function a(e,t){return e.sort().join(",")===t.sort().join(",")}
function s (line 3) | function s(e){var t=[];return e.shiftKey&&t.push("shift"),e.altKey&&t.pu...
function u (line 3) | function u(e){return e.preventDefault?void e.preventDefault():void(e.ret...
function l (line 3) | function l(e){return e.stopPropagation?void e.stopPropagation():void(e.c...
function c (line 3) | function c(e){return"shift"==e||"ctrl"==e||"alt"==e||"meta"==e}
function f (line 3) | function f(){if(!v){v={};for(var e in y)e>95&&e<112||y.hasOwnProperty(e)...
function p (line 3) | function p(e,t,n){return n||(n=f()[e]?"keydown":"keypress"),"keypress"==...
function h (line 3) | function h(e){return"+"===e?["+"]:(e=e.replace(/\+{2}/g,"+plus"),e.split...
function d (line 3) | function d(e,t){var n,r,o,i=[];for(n=h(e),o=0;o<n.length;++o)r=n[o],w[r]...
function g (line 3) | function g(e,t){return null!==e&&e!==n&&(e===t||g(e.parentNode,t))}
function m (line 3) | function m(e){function t(e){e=e||{};var t,n=!1;for(t in x)e[t]?n=!0:x[t]...
function o (line 3) | function o(e){throw new RangeError(L[e])}
function i (line 3) | function i(e,t){for(var n=e.length,r=[];n--;)r[n]=t(e[n]);return r}
function a (line 3) | function a(e,t){var n=e.split("@"),r="";n.length>1&&(r=n[0]+"@",e=n[1]),...
function s (line 3) | function s(e){for(var t,n,r=[],o=0,i=e.length;o<i;)t=e.charCodeAt(o++),t...
function u (line 3) | function u(e){return i(e,function(e){var t="";return e>65535&&(e-=65536,...
function l (line 3) | function l(e){return e-48<10?e-22:e-65<26?e-65:e-97<26?e-97:C}
function c (line 3) | function c(e,t){return e+22+75*(e<26)-((0!=t)<<5)}
function f (line 3) | function f(e,t,n){var r=0;for(e=n?F(e/E):e>>1,e+=F(e/t);e>H*k>>1;r+=C)e=...
function p (line 3) | function p(e){var t,n,r,i,a,s,c,p,h,d,g=[],m=e.length,v=0,y=S,b=N;for(n=...
function h (line 3) | function h(e){var t,n,r,i,a,u,l,p,h,d,g,m,v,y,b,x=[];for(e=s(e),m=e.leng...
function d (line 3) | function d(e){return a(e,function(e){return q.test(e)?p(e.slice(4).toLow...
function g (line 3) | function g(e){return a(e,function(e){return D.test(e)?"xn--"+h(e):e})}
function r (line 3) | function r(e,t){return Object.prototype.hasOwnProperty.call(e,t)}
function r (line 4) | function r(e,t){if(e.map)return e.map(t);for(var n=[],r=0;r<e.length;r++...
function r (line 4) | function r(){this.protocol=null,this.slashes=null,this.auth=null,this.ho...
function o (line 4) | function o(e,t,n){if(e&&l.isObject(e)&&e instanceof r)return e;var o=new...
function i (line 4) | function i(e){return l.isString(e)&&(e=o(e)),e instanceof r?e.format():r...
function a (line 4) | function a(e,t){return o(e,!1,!0).resolve(t)}
function s (line 4) | function s(e,t){return e?o(e,!1,!0).resolveObject(t):t}
function r (line 4) | function r(e){var t=a(e.currentTarget).parent().find(".dropdown-menu");t...
function o (line 4) | function o(e){a(".dropdown-menu").removeClass("open")}
function i (line 4) | function i(){a(document).on("click",".toggle-dropdown",r),a(document).on...
function r (line 4) | function r(){s.init(),i.init(),o.init(),a.init(),u.createButton({index:0...
function r (line 4) | function r(e,t){i.bind(e,function(e){return t(),!1})}
function o (line 4) | function o(){r(["right"],function(e){a.goNext()}),r(["left"],function(e)...
function r (line 4) | function r(e){return o.state.$book.addClass("is-loading"),e.always(funct...
function r (line 4) | function r(){return T(E.isSmallScreen()?".book-body":".body-inner")}
function o (line 4) | function o(e){var t=r(),n=0;i(e)&&(e&&(n=u(e)),t.unbind("scroll"),t.anim...
function i (line 4) | function i(e){var t=r(),n=t.find(e);return!!n.length}
function a (line 4) | function a(e){return 0===e.length}
function s (line 4) | function s(e,t){return e.length>0&&e.filter(t).length>0}
function u (line 4) | function u(e){var t=r(),n=t.find(".page-inner"),o=t.find(e),i=o.offsetPa...
function l (line 4) | function l(e,t){if(e||t||(e=w.first()),t&&(e=w.length>1?w.filter(functio...
function c (line 4) | function c(e){var t=e.children("a"),n=t.attr("href").split("#")[1];retur...
function f (line 4) | function f(){var e=r(),t=e.scrollTop(),n=e.prop("scrollHeight"),o=e.prop...
function p (line 4) | function p(e,t){var n=k.parse(A),r=k.resolve(window.location.pathname,e)...
function h (line 4) | function h(){var e,t;e=parseInt(T(".body-inner").css("width"),10),t=pars...
function d (line 4) | function d(e){var t=T(".book-body"),n=t.find(".body-inner"),o=n.find(".p...
function g (line 4) | function g(e){return 0===e.button}
function m (line 4) | function m(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}
function v (line 4) | function v(e){var t=T(this),n=t.attr("target");if(!m(e)&&g(e)&&!n){e.sto...
function y (line 4) | function y(){var e=T(".navigation-next").attr("href");e&&p(e,!0)}
function b (line 4) | function b(){var e=T(".navigation-prev").attr("href");e&&p(e,!0)}
function x (line 4) | function x(){T.ajaxSetup({cache:!1}),history.replaceState({path:window.l...
function r (line 4) | function r(e,t){null!=l.state&&o()==e||(null==t&&(t=!0),l.state.$book.to...
function o (line 4) | function o(){return l.state.$book.hasClass("with-summary")}
function i (line 4) | function i(){u.isMobile()||r(l.storage.get("sidebar",!0),!1),s(document)...
function a (line 4) | function a(e){var t=s(".book-summary");t.find("li").each(function(){var ...
function r (line 4) | function r(){return"btn-"+g++}
function o (line 4) | function o(e,t,n,r){var o=e.children(t).length;n<0&&(n=Math.max(0,o+1+n)...
function i (line 4) | function i(e){e.preventDefault()}
function a (line 4) | function a(e){var t=p("<div>",{class:"dropdown-menu",html:'<div class="d...
function s (line 4) | function s(e){return e=p.extend({label:"",icon:"",text:"",position:"left...
function u (line 4) | function u(e){var t,n=p(".book-header"),r=n.find("h1"),i="pull-"+e.posit...
function l (line 4) | function l(){p(".js-toolbar-action").remove(),d.forEach(u)}
function c (line 4) | function c(e){d=p.grep(d,function(t){return t.id!=e}),l()}
function f (line 4) | function f(e){d=p.grep(d,function(t){return e.indexOf(t.id)==-1}),l()}
Condensed preview — 64 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (1,248K chars).
[
{
"path": ".gitignore",
"chars": 10,
"preview": "_book\nout\n"
},
{
"path": "README.md",
"chars": 1260,
"preview": "# 程序员如何优雅的挣零花钱?\n\nthe repo is not applicable to foreigners\n\n## 阅读建议\n\n🎈 [《一人企业方法论2.0》已在CC-BY-NC-SA协议下发布,建议先读完后继续阅读本书](http"
},
{
"path": "RoboFile.php",
"chars": 421,
"preview": "<?php\n/**\n * This is project's console commands configuration for Robo task runner.\n *\n * @see http://robo.li/\n */\nclass"
},
{
"path": "SUMMARY.md",
"chars": 523,
"preview": "# Summary\n\n* [程序员如何优雅地挣零花钱](README.md)\n* [前言](ch00.md)\n* [想明白自己的核心资源](ch01.md)\n* [时间片优化·其一 提升单位时间收益](ch02.md)\n* [时间片优化·其"
},
{
"path": "book.json",
"chars": 273,
"preview": "{\n \"language\" : \"cn\",\n \"links\" : {\n \"sidebar\" : {\n \"方糖气球\" : \"http://ftqq.com/\"\n }\n },\n"
},
{
"path": "ch00.md",
"chars": 710,
"preview": "# 前言\n\n\n\n2016年的时候,我写了一篇比较长的文章,分享了程序员挣零花钱的各种渠道。这篇文章最初发布是在微博上面的,但是因为当时的微博的"
},
{
"path": "ch01.md",
"chars": 692,
"preview": "# 想明白自己的核心资源\n\n之前写的时候相对比较随性一些,只是把自己见到的、接触过的渠道整理了一下给写上去了。在后来修改的过程中,慢慢的觉得这些东西看起来挺多的,但是写得非常浅,没有触及到本质。\n\n有同学可能会想,你挣个零花钱有什么本质可以"
},
{
"path": "ch02.md",
"chars": 1233,
"preview": "# 时间片优化·其一 提升单位时间收益\n\n\n关于「时间片的优化」,有两种思路。第一种是,**提升单位时间的收益**。\n\n这个逻辑很简单,既然时间片的数量很难提升,那么每一片时间挣的钱多了,整个收益就多了。\n比如说我们在做外包的时候,可以去找"
},
{
"path": "ch03.md",
"chars": 1929,
"preview": "# 时间片优化·其二 提升单位时间效率\n\n\n## 通过自动化提升效率\n\n那另外一个优化方向就是提升单位时间的效率。就是说,我就这么点时间,原来一个小时可以做完一个功能,现在找到了一个新办法,一个小时可以做完十个功能,这就是效率的提升。\n\n!"
},
{
"path": "ch04.md",
"chars": 716,
"preview": "# 资产和被动收入·其一 获得资产\n\n\n首先我们要讨论一下什么叫资产。这个定义就见仁见智了,我这里使用罗伯特·清崎在《穷爸爸富爸爸》里边的一个定义,那就是「**能把钱放进你口袋的东西**」就是资产。\n\n。\n\n## 私单\n\n### 远程外包\n\n最理想的单子还是直接接海外的项目,比如[freelancer.com](http://freelan"
},
{
"path": "ch08.md",
"chars": 25,
"preview": "# 适合程序员创造的资产·其一 可自动化的业务\n\n"
},
{
"path": "ch09.md",
"chars": 27,
"preview": "# 适合程序员创造的资产·其二 可众包和外包的业务\n\n"
},
{
"path": "ch10.md",
"chars": 644,
"preview": "# 适合程序员创造的资产·其三 付费社群\n\n- 低投入:★★★★ 准备一定的内容后就可以零成本开始\n- 高产出:★★★ 碎片化的内容,便宜。有关系、内幕和小道消息的收益高\n- 可持续性:★ 需要持续更新内容,维护社群氛围\n- 低风险:★"
},
{
"path": "ch11.md",
"chars": 1666,
"preview": "# 适合程序员创造的资产·书籍出版\n\n- 低投入:★ 书籍出版需要的内容更多,周期更长\n- 高产出:★★★ 版税一般在8%~10%,但可以提升知名度\n- 可持续性:★★★★ 书籍更新频次很低\n- 低风险:★★★★ 反正不怎么挣钱,所以风险"
},
{
"path": "ch12.md",
"chars": 746,
"preview": "# 适合程序员创造的资产·付费专栏\n\n- 低投入:★★★ 文字专栏,比视频投入低,但依然很费时间\n- 高产出:★★★ 文字类产品的售价普遍偏低\n- 可持续性:★★★ 技术类课程大概半年需要更新一次,图文版更好更新\n- 低风险:★★★★ 从日"
},
{
"path": "ch13.md",
"chars": 7376,
"preview": "# 适合程序员创造的资产·付费课程\n\n- 低投入:★ 前期要准备,后期要剪辑,录音还可能要购买硬件\n- 高产出:★★★★★ 用户愿意为好的课程花钱\n- 可持续性:★★ 技术类课程大概半年需要更新一次\n- 低风险:★★ 因为投入大,如果没人买"
},
{
"path": "ch14.md",
"chars": 585,
"preview": "# 适合程序员创造的资产·应用市场卖付费软件\n\n- 低投入:★★★ 需要购买苹果的开发者program和日益昂贵的硬件测试用 \n- 高产出:★★★★ 红海市场,需要想办法脱颖而出,一旦用户起来,收益可观\n- 可持续性:★★★ 需要更跟上苹"
},
{
"path": "ch15.md",
"chars": 780,
"preview": "# 适合程序员创造的资产·订阅式软件和服务\n\n- 低投入:★★ 基本功能免费、增值服务订阅,需要花不少时间和精力做免费功能\n- 高产出:★★★★ 采用订阅模式,可以锁定用户,每个月都有收入\n- 可持续性:★★ 需要定期更新大功能刺激用户续订"
},
{
"path": "ch16.md",
"chars": 1127,
"preview": "# 适合程序员创造的资产·模板、插件和源代码市场\n\n- 低投入:★★★★ 通常是开发副产品,所以投入不算高,但需考虑推广成本\n- 高产出:★★★★ 一旦找到位置,就可以持续销售,还是挣美金\n- 可持续性:★★★ 根据平台的不同需要定期同步"
},
{
"path": "ch17.md",
"chars": 1024,
"preview": "# 适合程序员创造的资产·经营媒体账号并带货\n\n- 低投入:★ 需要持续不断的创作内容 \n- 高产出:★★★★ 不火的时候没啥产出,火了就多了。另外粉丝也是资产\n- 可持续性:★ 日更,最少周更\n- 低风险:★★ 起步难,有内容没人看,越"
},
{
"path": "ch18.md",
"chars": 27,
"preview": "# 适合程序员创造的资产·十一 产品测评和比较网站\n\n"
},
{
"path": "ch99.md",
"chars": 214,
"preview": "# 后记\n\n目前就更新到这里,watch repo,及时获取更新信息。\n\n\n\n## 关于Easy\n\n- 作品合集:[方糖气球](http://ftqq.com)\n- 日常技术和独立开发分享:[微博](https:"
},
{
"path": "docs/.gitignore",
"chars": 10,
"preview": "_book\nout\n"
},
{
"path": "docs/RoboFile.php",
"chars": 421,
"preview": "<?php\n/**\n * This is project's console commands configuration for Robo task runner.\n *\n * @see http://robo.li/\n */\nclass"
},
{
"path": "docs/ch00.html",
"chars": 15646,
"preview": "\n<!DOCTYPE HTML>\n<html lang=\"cn\" >\n <head>\n <meta charset=\"UTF-8\">\n <meta content=\"text/html; charset=u"
},
{
"path": "docs/ch01.html",
"chars": 16533,
"preview": "\n<!DOCTYPE HTML>\n<html lang=\"cn\" >\n <head>\n <meta charset=\"UTF-8\">\n <meta content=\"text/html; charset=u"
},
{
"path": "docs/ch02.html",
"chars": 20531,
"preview": "\n<!DOCTYPE HTML>\n<html lang=\"cn\" >\n <head>\n <meta charset=\"UTF-8\">\n <meta content=\"text/html; charset=u"
},
{
"path": "docs/ch03.html",
"chars": 23986,
"preview": "\n<!DOCTYPE HTML>\n<html lang=\"cn\" >\n <head>\n <meta charset=\"UTF-8\">\n <meta content=\"text/html; charset=u"
},
{
"path": "docs/ch04.html",
"chars": 16381,
"preview": "\n<!DOCTYPE HTML>\n<html lang=\"cn\" >\n <head>\n <meta charset=\"UTF-8\">\n <meta content=\"text/html; charset=u"
},
{
"path": "docs/ch05.html",
"chars": 20608,
"preview": "\n<!DOCTYPE HTML>\n<html lang=\"cn\" >\n <head>\n <meta charset=\"UTF-8\">\n <meta content=\"text/html; charset=u"
},
{
"path": "docs/ch06.html",
"chars": 25639,
"preview": "\n<!DOCTYPE HTML>\n<html lang=\"cn\" >\n <head>\n <meta charset=\"UTF-8\">\n <meta content=\"text/html; charset=u"
},
{
"path": "docs/ch07.html",
"chars": 24019,
"preview": "\n<!DOCTYPE HTML>\n<html lang=\"cn\" >\n <head>\n <meta charset=\"UTF-8\">\n <meta content=\"text/html; charset=u"
},
{
"path": "docs/ch08.md",
"chars": 25,
"preview": "# 适合程序员创造的资产·其一 可自动化的业务\n\n"
},
{
"path": "docs/ch09.md",
"chars": 27,
"preview": "# 适合程序员创造的资产·其二 可众包和外包的业务\n\n"
},
{
"path": "docs/ch10.html",
"chars": 16033,
"preview": "\n<!DOCTYPE HTML>\n<html lang=\"cn\" >\n <head>\n <meta charset=\"UTF-8\">\n <meta content=\"text/html; charset=u"
},
{
"path": "docs/ch11.html",
"chars": 22224,
"preview": "\n<!DOCTYPE HTML>\n<html lang=\"cn\" >\n <head>\n <meta charset=\"UTF-8\">\n <meta content=\"text/html; charset=u"
},
{
"path": "docs/ch12.html",
"chars": 15704,
"preview": "\n<!DOCTYPE HTML>\n<html lang=\"cn\" >\n <head>\n <meta charset=\"UTF-8\">\n <meta content=\"text/html; charset=u"
},
{
"path": "docs/ch13.html",
"chars": 57244,
"preview": "\n<!DOCTYPE HTML>\n<html lang=\"cn\" >\n <head>\n <meta charset=\"UTF-8\">\n <meta content=\"text/html; charset=u"
},
{
"path": "docs/ch14.html",
"chars": 15814,
"preview": "\n<!DOCTYPE HTML>\n<html lang=\"cn\" >\n <head>\n <meta charset=\"UTF-8\">\n <meta content=\"text/html; charset=u"
},
{
"path": "docs/ch15.html",
"chars": 17245,
"preview": "\n<!DOCTYPE HTML>\n<html lang=\"cn\" >\n <head>\n <meta charset=\"UTF-8\">\n <meta content=\"text/html; charset=u"
},
{
"path": "docs/ch16.html",
"chars": 18420,
"preview": "\n<!DOCTYPE HTML>\n<html lang=\"cn\" >\n <head>\n <meta charset=\"UTF-8\">\n <meta content=\"text/html; charset=u"
},
{
"path": "docs/ch17.html",
"chars": 19006,
"preview": "\n<!DOCTYPE HTML>\n<html lang=\"cn\" >\n <head>\n <meta charset=\"UTF-8\">\n <meta content=\"text/html; charset=u"
},
{
"path": "docs/ch18.md",
"chars": 27,
"preview": "# 适合程序员创造的资产·十一 产品测评和比较网站\n\n"
},
{
"path": "docs/ch99.html",
"chars": 12144,
"preview": "\n<!DOCTYPE HTML>\n<html lang=\"cn\" >\n <head>\n <meta charset=\"UTF-8\">\n <meta content=\"text/html; charset=u"
},
{
"path": "docs/gitbook/gitbook-plugin-fontsettings/fontsettings.js",
"chars": 6447,
"preview": "require(['gitbook', 'jquery'], function(gitbook, $) {\n // Configuration\n var MAX_SIZE = 4,\n MIN_SIZE "
},
{
"path": "docs/gitbook/gitbook-plugin-fontsettings/website.css",
"chars": 8596,
"preview": "/*\n * Theme 1\n */\n.color-theme-1 .dropdown-menu {\n background-color: #111111;\n border-color: #7e888b;\n}\n.color-theme-1"
},
{
"path": "docs/gitbook/gitbook-plugin-highlight/ebook.css",
"chars": 2865,
"preview": "pre,\ncode {\n /* http://jmblog.github.io/color-themes-for-highlightjs */\n /* Tomorrow Comment */\n /* Tomorrow Red */\n "
},
{
"path": "docs/gitbook/gitbook-plugin-highlight/website.css",
"chars": 31446,
"preview": ".book .book-body .page-wrapper .page-inner section.normal pre,\n.book .book-body .page-wrapper .page-inner section.normal"
},
{
"path": "docs/gitbook/gitbook-plugin-lunr/search-lunr.js",
"chars": 1616,
"preview": "require([\n 'gitbook',\n 'jquery'\n], function(gitbook, $) {\n // Define global search engine\n function LunrSear"
},
{
"path": "docs/gitbook/gitbook-plugin-search/search-engine.js",
"chars": 1268,
"preview": "require([\n 'gitbook',\n 'jquery'\n], function(gitbook, $) {\n // Global search objects\n var engine = null;"
},
{
"path": "docs/gitbook/gitbook-plugin-search/search.css",
"chars": 974,
"preview": "/*\n This CSS only styled the search results section, not the search input\n It defines the basic interraction to hi"
},
{
"path": "docs/gitbook/gitbook-plugin-search/search.js",
"chars": 6368,
"preview": "require([\n 'gitbook',\n 'jquery'\n], function(gitbook, $) {\n var MAX_RESULTS = 15;\n var MAX_DESCRIPTION_SIZE ="
},
{
"path": "docs/gitbook/gitbook-plugin-sharing/buttons.js",
"chars": 2875,
"preview": "require(['gitbook', 'jquery'], function(gitbook, $) {\n var SITES = {\n 'facebook': {\n 'label': 'Face"
},
{
"path": "docs/gitbook/gitbook.js",
"chars": 105399,
"preview": "!function e(t,n,r){function o(s,a){if(!n[s]){if(!t[s]){var u=\"function\"==typeof require&&require;if(!a&&u)return u(s,!0)"
},
{
"path": "docs/gitbook/style.css",
"chars": 52701,
"preview": "/*! normalize.css v2.1.0 | MIT License | git.io/normalize */article,aside,details,figcaption,figure,footer,header,hgroup"
},
{
"path": "docs/gitbook/theme.js",
"chars": 113262,
"preview": "!function e(t,n,r){function o(a,s){if(!n[a]){if(!t[a]){var u=\"function\"==typeof require&&require;if(!s&&u)return u(a,!0)"
},
{
"path": "docs/index.html",
"chars": 13544,
"preview": "\n<!DOCTYPE HTML>\n<html lang=\"cn\" >\n <head>\n <meta charset=\"UTF-8\">\n <meta content=\"text/html; charset=u"
},
{
"path": "docs/mystyle.css",
"chars": 150,
"preview": ".markdown-section strong\n{\n background-color: yellow;\n padding-top:2px;\n padding-bottom:2px;\n padding-left:5"
},
{
"path": "docs/search_index.json",
"chars": 398352,
"preview": "{\"index\":{\"version\":\"0.5.12\",\"fields\":[{\"name\":\"title\",\"boost\":10},{\"name\":\"keywords\",\"boost\":15},{\"name\":\"body\",\"boost\""
},
{
"path": "mystyle.css",
"chars": 150,
"preview": ".markdown-section strong\n{\n background-color: yellow;\n padding-top:2px;\n padding-bottom:2px;\n padding-left:5"
}
]
// ... and 1 more files (download for full content)
About this extraction
This page contains the full source code of the easychen/howto-make-more-money GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 64 files (1.1 MB), approximately 443.8k tokens, and a symbol index with 289 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.