用Go语言记录第一个365天的视频,从零到一的技术与生活笔记
- NBA
- 2026-07-04 17:37:32
- 294
一年前,我按下录制键
说实话,最开始我只是想试试,2023年11月那个周末,我坐在出租屋的电脑前,打开OBS,对着摄像头讲了一段Go语言里的goroutine和channel,视频只有12分钟,现在回看,画质糊得像土豆,而且我讲错了两个地方,但奇怪的是,那个视频居然有人看完了。
于是就有了那一年,到昨天为止,整整365天,我发布了78个视频,今天想用Go语言的概念,拆一拆这段经历。
H2:视频创作的“代码架构”
H3:第一个挑战——存储与“状态管理”
做视频的第一道坎是素材管理,一开始我像写Go程序时那样,把所有文件堆在一个目录里,但很快,第三个视频的素材就找不到了,后来我用了个笨办法:
- 每个视频建立独立文件夹,命名格式
YYYY-MM-DD-标题 - 脚本用Markdown写,放在
docs/下 - 原始素材和导出视频分开放
这让我想起Go里的包管理——把不同职责的代码放到不同package里,清爽。
H3:第二个挑战——发布流程与“并发控制”
一周两更,意味着我需要稳定的发布流程,刚开始,我手动处理所有步骤:
- 写脚本
- 录音
- 剪辑
- 导出
- 上传平台
- 写简介
- 发动态
7个步骤,一个都不能少,但总有意外——有一次录了40分钟,结果麦克风线松了,全程只有画面没有声音,那时候我意识到,需要像Go里处理error那样,在每个环节加上检查点。
后来我画了一张草稿表格:
| 环节 | 耗时(分钟) | 检查点 | 常见错误 |
|---|---|---|---|
| 脚本 | 60-90 | 逻辑通顺 | 漏掉关键点 |
| 录制 | 20-40 | 音频波形正常 | 麦克风未连接 |
| 剪辑 | 60-120 | 无跳帧 | 源文件损坏 |
| 上传 | 5-10 | 命名规范 | 网络超时 |
这张表贴在显示器边上,每次发布前对照一遍,它就像Go里的defer——不一定多用,但关键时候能让程序不崩。
H2:那些代码教会我的视频创作道理
H3:简单比复杂更难
我刚开始做视频时,总想在一个视频里塞进goroutine、channel、select、sync四个知识点,结果观看留存率惨不忍睹,后来调整成每个视频只讲一个概念:
- 第一篇:
for range和channel的配合 - 第二篇:
context包取消协程 - 第三篇:
sync.WaitGroup的三种错误用法
数据开始变好,这就像Go的设计哲学——显式比隐式好,与其给观众一个包罗万象的“框架”,不如给一个能当场用起来的“函数”。
H3:内测与“指针”
第127天,我尝试了一个新风格:边写代码边吐槽,视频发出去后,评论区炸了,有人说“你讲错了一个细节”,有人说“这个写法太绕了”,我看了三遍回放,确实错了。
当时有点沮丧,但有个陌生人在评论区写了一段很长的代码,纠正了我的错误,还解释了为什么我的写法会出问题,我认真看完,改了,然后专门出了一期视频感谢他。
这件事让我明白:视频像是Go里的指针,它不直接存储价值,但它指向了真正有价值的东西——比如一个能坦诚交流的社区。
H3:倦怠期与“垃圾回收”
大概在第200天左右,我陷入了严重的倦怠期,剪视频到凌晨两点,第二天还要上班,脑子里的想法像内存泄漏一样堆着:
- 下期话题想好了吗?
- 周日的发布延迟了怎么办?
- 播放量为什么上不去?
我停了三天没更新,那三天我干了一件事——把过去200天的视频列表打印出来,一个个看标题,看着看着就笑了,有些视频拍得很烂,但能看出当时的认真,有些视频讲得磕巴,但评论区有人留言“终于懂了”。
Go语言有垃圾回收(GC)机制,自动清理不再使用的内存,创作者也需要GC——清理掉那些“我非要精彩、非要爆款”的执念,把精力留给真正重要的事:把一个知识点讲清楚。
H2:工具、数字与真实感
如果你也打算做视频,下面这些是我一年后仍在用的东西:
- 录制工具:OBS(免费,够用)
- 剪辑软件:剪映(没错,技术博主也用这个)
- 录音设备:舒尔MV7(双十一买的,肉疼但值得)
- 脚本编辑器:VS Code(写Go和写脚本的地方居然是一个)
这些工具都不贵,但真正重要的不是工具,是坐下来干,就像写Go代码,不能等IDE配好、包下载完才动手指,先写个能跑的main(),后面慢慢调。
一年的数字,不那么好看但真实
78个视频,365天,平均4.7天一个。
最好的一个播放量2.3万,最差的一个只有134,评论区累计产生了300多条有效讨论,有位观众把其中5个视频的内容整理成了PDF,放在博客上,引用了我的视频,有人私信说我“讲的比其他教程清楚”。
也有负面的。
第341天的视频,有人在弹幕打了三个字:“听不懂”,我当时在剪下一个视频,看到后停下手,坐了一会儿,回看那期视频,确实讲得太快了,我重新录制了一个慢速版,第二天补发,简介里写“适合零基础慢慢看”。
我不喜欢每期视频都完美,但我希望在观众的反馈中慢慢变好,这像极了Go语言的for range——不是一次性拿到结果,而是一点一点迭代。
下一个365天怎么走
前两天,我把第一个视频和最近一个视频放在一起看,画质好了,口条顺了,连背景都从出租屋换成了书桌,但有一点没变——每次开场前,我还是会紧张,会喝一口水,深吸一口气。
技术会变,平台会变,算法会变,但把复杂的东西讲得让人愿意听,这件事永远不会过时。
继续吧,下一个365天,我打算试试Go 1.23的新特性,还想挑战一下直播写代码,计划这东西,定得再好也不如录一个期、发一期。
哦对了,那个134播放量的视频我今天还留着,不是因为舍不得删,是因为它提醒我——最差的时候,也有人在坚持讲。
