AlgoCasts 用心做好每一个算法视频

2018-10-08 17:47:02 +08:00
 Hawstein

前言

丑媳妇早晚要见公婆,忙活了一段时间,觉得是时候把产品放出来和大家见个面了。先来看个介绍视频:

介绍视频

网址

https://algocasts.io/

源起

嗯,我辞职了,决定自己完整地做点事情。这个想法从学生时代一直萦绕在我脑里,时隔多年,直到今天终于去践行了。从学生到后端开发工程师,再到后端技术负责人。这么多年过去,除了技术上的精进,我还收获和成长了许多。但此刻,在写这篇文章时,我最想拿出来分享的收获并不是技术水平的成长、架构能力的提升或是团队管理能力的进步,而是一项被很多人忽视的品质:勇气

我觉得大部分人缺乏勇气,尤其是「优秀的人」、「聪明的人」。这里加了引号,是特指学生时代学习好,毕业后又能找到好工作的人。很多优秀的人上好学校,毕业后去好公司,人生步步为营,手手最优,而这些表象下,则包含了太多的恐惧。上学时埋头在课本和考试中,心里有想做的事不敢轻易尝试,怕学习上会落后;毕业后去知名公司工作,心里有想做的事不敢轻易尝试,怕影响工作影响绩效影响晋升,怕还不起房贷生不起小孩或是小孩上不起好学校。这个时候,所谓的「优秀」反倒成为一种无形的束缚,绑架着你,而且很多人不自知。

我觉得自己原来就是这样的一个人(姑且不要脸地这么认为),人生步步为营,手手最优。当然了,当你回过头去看,大部分时候只不过是局部最优而已。

所幸,这个时代出了很多优秀的公司,它们提供了非常牛逼的产品和服务,让你和世界上任何一个人的距离变得从未如此得近。你可以了解到世界上任何一个连着网的人的生活与所思所想,你可以看到他们的作品,你可以和他们交流,你可以从他们身上汲取勇气,你可以放弃掉以前不肯 /不敢放弃的东西,你可以了解到更多的可能性。(以后有机会的话打算在公众号和小密圈分享一下这些人的故事以及给我的启发)这么多年后,攒了足够多的勇气,我终于迈出这一步,辞掉工作,从零开始。

做什么

我有非常多想做的事情,有一点我非常确信,它们都不能改变世界:)但我还是希望能完整地去做完它们中的一件或几件,因为我也非常确信,它们能帮助一些人,这就足够了。这个世界有太多的「不够好」,我觉得每个像我一样的普通人都可以尝试去做一些小事,让这些「不够好」的事能变得更好一点。而每一件我想去做的事,基本上都有这个属性。

在想做的几十件事里,我挑了件最不起眼的事开始:录制算法视频。这么选择的一个很重要原因是,我发现大部分访问我博客的人都是在看我学生时代写的面试算法相关的文章。看来面试时考察算法这一点,过了这么多年,还是没有变,尤其是大家眼中优秀的公司。这个其实非常好理解,这种方式对于大公司来说,可以极大地降低招聘成本。这个和中国高考类似,你当然可以全方位考察一个学生后再决定是否把他招入某个大学,可是这个成本太高了,最后还是制定了些简单粗暴的标准,用几张试卷的分数来判断你是否有进入某个学校的资格。

如果游戏规则是这么定的,而我们又暂时无法改变游戏规则,那么比较稳妥的方式就是适应它,但不信奉它。你可以好好学习考个好分数上名牌大学,但千万不要以为考个好分数就是所有问题的答案或是生活的全部。同样,你可以好好准备面试算法去个好公司,但千万不要以为会做算法题就是个牛逼的工程师。在这种前提下,我觉得完全可以大大方方地捡起你通向理想公司(而且很多时候是毕业后的第一家公司)的敲门砖。

这也是我觉得算法讲解视频值得做的原因。如果能帮助你去牛逼的公司体验一下,为什么不值得一试呢?至于你是拿着敲门砖敲完门后在某些大厂里养老,还是在这些大厂里快速学习成长,那就是你自己的选择了,当然这是后话。

为什么要做这件事

面试算法视频已经有不少人在做了,为什么我还想做呢?很简单,现有的做的不够好。在这件事上,我希望并且觉得自己能做得更好一些,于是就开始做了。我做的算法讲解视频有以下特点:

专注一个点

我注册的网站域名是 algocasts.io ,是 algorithm screencasts 的缩写合并。我只打算做算法视频,并且以录屏的形式进行,不会 AI 火就讲 AI,区块链火就讲区块链。最开始会从常见的面试算法题目开始入手讲解,我希望你在网上能找到的面试算法题目在我这都能找到相应的讲解视频。同时,这些题目里涉及到的经典或是有趣的算法,也会单独拿出来讲一讲。后面如果有机会,还可以讲讲各个算法竞赛里中低难度的题目,这些也常常是面试算法的来源。

手绘讲解思路

这点是借鉴可汗学院的,一边讲解一边手绘。我觉得一边讲解思路时,一边把图画出来,把数字写下来,可以让学习者更好地去理解。

编码+讲解

讲解完思路后,会一行行敲代码并且一行行讲解,这部分可以呼应手绘的思路图。

努力做到最全

我初步定了一个小目标,录制 1024 个视频。

努力做减法

在保证讲解清楚的基础上,尽可能地不讲废话,保持每个视频的简短。这个是看了一些很长的讲解视频后做的决定。

当前进度

目前录制了 50 个常见面试算法题的讲解视频。下一个 milestone 是 100 个视频。

从过去一个多月录制视频的速度来看,单天录制的视频数量是 0 ~ 3 个不等。0 个一般是当天有别的事情无法待在家里录音,而当自己效率非常高且录制的题目不是很难时可以达到 3 个。平均下来,每天可以录制一个视频。不过考虑到过去一个月在准备婚礼属于比较忙的,后面的每日平均数量我觉得可以提升到 1.5 ~ 2 个:)如果平均一天能录制一个,差不多需要三年的时间可以达到这个小目标;即使平均每天录制两个视频,也要 512 天,差不多一年零五个月的时间。以前年轻时经常想 21 天精通 XYZ,现在则更愿意花上几年做一件小事(当然,前提是不要饿死:P )

为什么要收费

要持续高质量地录制算法视频有一个大前提,不能饿死:)目前我是全职在做这件事,没有其它收入,因此我想是有必要对这些产出做些收费。每个视频的制作净时间大概是 2-5 小时,取决于题目难度以及当时的录制状态。一个算法讲解视频的制作流程是:

我自认为制作的视频质量还不错,而且价格公道,童叟无欺:)因此,如果我做的事恰好可能帮上你,而你又恰好看到这篇文章,希望能得到你的支持,谢谢:)

AlgoCasts 网站目前推出了两个套餐:Plan 40Plan 100Plan 40 已经录制完,包含 40 个常见的面试算法题目讲解视频,如果你时间紧建议购买这个套餐。Plan 100 在包含 Plan 40 里 40 个视频的基础上,每日更新一个常见算法题目的讲解视频,由于还没录制完,因此目前的定价是早鸟价,如果时间上不着急,建议购买这个套餐。毕竟 100 个视频录制完后会涨价=。=

后记

这是我的一个实验,自己完完全全地去做一件事,并以此养活自己。哪怕这件事很小,我也会认真并全力以赴去做。当然,我完全做好了失败的准备。如果这件事不足以养活自己,我还是会去找份工作,毕竟饿着肚子搞创作可能出不了什么好作品。但我不会停止这件事情,只不过整个录制进度会慢下来。所以如果这件事能帮上你,真心希望能得到你的支持,让我们一起来完成这件小事:)

如果还有什么疑问是这篇文章没有给到你解答的,可以添加微信 Hawstein-Studio 咨询。

3704 次点击
所在节点    程序员
32 条回复
fhefh
2018-10-08 18:22:12 +08:00
楼主 视频中在屏幕上写板书的是啥软件~
Justin13
2018-10-08 18:27:48 +08:00
支持一下。不过放到推广节点更好
Hawstein
2018-10-08 19:16:12 +08:00
@fhefh SketchBook
Hawstein
2018-10-08 19:26:05 +08:00
@Justin13 嗯嗯,受教了。
jmc891205
2018-10-08 21:51:25 +08:00
看了试看视频。。。
我说话直你别介意 看到歪歪扭扭的线和字母 有点难受
mathzhaoliang
2018-10-08 22:05:35 +08:00
我的建议:

1. 我的意见是用 Js 制作 canvas 动画,效果更好。毕竟论图文并茂,很难超过算法导论。
2. 以你个人的力量,没有可能做大。而算法又是有一定门槛的,可以考虑做开源的算法类的 shadertoy。

如果你的定位是面试应试类型的算法,盈利模式是收培训学费,那你走不远。
Hawstein
2018-10-08 22:08:45 +08:00
@jmc891205 哈哈不介意,我写字比较丑。。。而且使用的数位板,一开始的时候有些不习惯,画圆或线时都有些歪。现在最新的视频比以前的要好不少。
Hawstein
2018-10-08 22:18:13 +08:00
@mathzhaoliang 感谢建议。

1. 目前制作一个视频大概花 2-5 小时,如果再用 JS 做 Canvas 动画的话,那制作一个视频的时间成本会更大。这个我觉得可以作为优化的点,但不会在一开始就做。
2. 我没考虑做大。。

面试算法只是切入点。后面我计划想讲的还有很多。。不过计划归计划,做好今天要做的就行,说不定明天就挂了呢?
SingeeKing
2018-10-08 22:31:00 +08:00
请考虑一下黑暗模式的感受。。

aheadlead
2018-10-08 22:31:32 +08:00
欣赏楼主的态度。

不过从视频的角度出发,手绘并不清晰易懂。
我觉得楼上说的用 JS 做 Canvas 动画,能做到比手绘更清晰。但并不限于一定要用 JS 做,Keynote 也可以。
Hawstein
2018-10-08 22:36:23 +08:00
@SingeeKing 233333,确实没有考虑到。Suggestion Accepted.
Hawstein
2018-10-08 22:41:41 +08:00
@aheadlead 考虑过做 Keynote,不过当时觉得 Keynote 效果不如手绘,就没选。动画形式肯定是最好的,不过要做出好的动画非常难,期待有人去做。
aheadlead
2018-10-08 22:47:51 +08:00
@Hawstein #12 不论如何还是给楼主的精神点个赞吧。

有些东西确实手绘不太容易讲清楚的,想起小时候刷过一道 USACO 月赛题,思路大概是分层图最短路。这种玩意如果有个动画展示分层图,基本上不用说话就能把意思讲清楚。
Hawstein
2018-10-08 22:52:42 +08:00
@aheadlead

嗯,深有同感,我现在手绘已经遇到不少很难去表达的了。所以有的视频也会加入另外做的图(那个画起来估计得吐)以及一些额外的标记。不过你这么一说,其实后面我可以在一些手绘讲不清的地方,加入一小段动画。这个我还是可以做的。
lhx2008
2018-10-08 22:54:51 +08:00
1. http 是 nginx 默认页,建议跳转一下
2. 算法视频,我非常喜欢的一个人,也录了很多收费的视频,他叫刘宇波,楼主可以参考一下:
https://github.com/liuyubobobo
Hawstein
2018-10-08 22:58:22 +08:00
@lhx2008

1. Http 我做了 301 重定向到 Https 的,不确实你那为什么会出现 Nginx 默认页。。
2. 嗯嗯。我知道他。
Hawstein
2018-10-08 23:49:51 +08:00
@lhx2008

看了眼是原来的 nginx 配置少加了条对 ipv6 的监听,现在应该可以了。
cwcauc
2018-10-08 23:54:21 +08:00
学生党看了下价格溜了溜了👀
cwcauc
2018-10-08 23:54:53 +08:00
还是支持楼主的
Hawstein
2018-10-08 23:56:29 +08:00
@cwcauc 学生党如果有优惠,是不是就不溜了?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/495674

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX