当前位置:首页 > NBA > 正文

用Go语言记录第一个365天的视频,从零到一的技术与生活笔记

  • NBA
  • 2026-07-04 17:37:32
  • 294
摘要: 一年前,我按下录制键说实话,最开始我只是想试试,2023年11月那个周末,我坐在出租屋的电脑前,打开OBS,对着摄像头讲了一段G...

一年前,我按下录制键

说实话,最开始我只是想试试,2023年11月那个周末,我坐在出租屋的电脑前,打开OBS,对着摄像头讲了一段Go语言里的goroutinechannel,视频只有12分钟,现在回看,画质糊得像土豆,而且我讲错了两个地方,但奇怪的是,那个视频居然有人看完了

于是就有了那一年,到昨天为止,整整365天,我发布了78个视频,今天想用Go语言的概念,拆一拆这段经历。

H2:视频创作的“代码架构”

H3:第一个挑战——存储与“状态管理”

做视频的第一道坎是素材管理,一开始我像写Go程序时那样,把所有文件堆在一个目录里,但很快,第三个视频的素材就找不到了,后来我用了个笨办法:

  • 每个视频建立独立文件夹,命名格式 YYYY-MM-DD-标题
  • 脚本用Markdown写,放在 docs/
  • 原始素材和导出视频分开放

这让我想起Go里的包管理——把不同职责的代码放到不同package里,清爽。

H3:第二个挑战——发布流程与“并发控制”

一周两更,意味着我需要稳定的发布流程,刚开始,我手动处理所有步骤:

  1. 写脚本
  2. 录音
  3. 剪辑
  4. 导出
  5. 上传平台
  6. 写简介
  7. 发动态

7个步骤,一个都不能少,但总有意外——有一次录了40分钟,结果麦克风线松了,全程只有画面没有声音,那时候我意识到,需要像Go里处理error那样,在每个环节加上检查点

后来我画了一张草稿表格:

环节 耗时(分钟) 检查点 常见错误
脚本 60-90 逻辑通顺 漏掉关键点
录制 20-40 音频波形正常 麦克风未连接
剪辑 60-120 无跳帧 源文件损坏
上传 5-10 命名规范 网络超时

这张表贴在显示器边上,每次发布前对照一遍,它就像Go里的defer——不一定多用,但关键时候能让程序不崩。

H2:那些代码教会我的视频创作道理

H3:简单比复杂更难

我刚开始做视频时,总想在一个视频里塞进goroutine、channel、select、sync四个知识点,结果观看留存率惨不忍睹,后来调整成每个视频只讲一个概念:

  • 第一篇:for rangechannel的配合
  • 第二篇: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播放量的视频我今天还留着,不是因为舍不得删,是因为它提醒我——最差的时候,也有人在坚持讲。

用Go语言记录第一个365天的视频,从零到一的技术与生活笔记