365天第三部小视频,从冲动到习惯,我用Go语言写了个记录工具

先说说这个事儿是怎么来的,去年冬天我刷手机,突然看到有人在做“365天每天拍一个小视频”的挑战,第三部那种,就是连续拍摄第三年,我当时就...

先说说这个事儿是怎么来的,去年冬天我刷手机,突然看到有人在做“365天每天拍一个小视频”的挑战,第三部那种,就是连续拍摄第三年,我当时就乐了,这玩意儿真有人能干三年?但转念一想,我自己写代码不也这样吗?每天对着屏幕敲敲打打,有时候就是几行,有时候是一整天。

为什么是“第三部”?因为前两部都翻车了

我翻了翻自己的硬盘,第一年拍了大概四个月就断了,第二年是坚持到秋天,然后因为换工作,又断了,第三年,也就是现在,我学聪明了——我不靠意志力,我靠工具。用Go语言写个小程序,每天提醒我,记录我,甚至帮我自动生成视频的元数据

这个想法其实特别简单,就像费曼说的,如果你不能简单地解释一件事,那你其实没搞懂它,我的“365天第三部小视频”计划,核心就三件事:

  1. 每天拍一段5-15秒的素材
  2. 用Go脚本自动归档(按日期、主题、心情标签)
  3. 每周自动拼接一个“本周合集”,每月生成一个“月度回顾”

你可能会说,这跟用手机备忘录有啥区别?区别大了。用Go写这个工具,本身就是我365天计划的一部分——我在记录生活的同时,也在记录代码的演进,就像写日记和写代码日志,如果合并成一个动作,坚持下来的概率会高得多。

用Go语言实现:没有魔法,只有函数

我写的这个工具叫 dailyclip,结构很简单,但足够用,核心逻辑就几块:

type Clip struct {
    Date     time.Time
    FilePath string
    Tags     []string
    Duration float64
}
func (c *Clip) Save() error {
    // 按日期生成目录结构:/2024/11/15/clip_001.mp4
    // 写入一个clip.json记录元数据
}

一开始我想用数据库,后来觉得没必要——一年365个视频,一个JSON文件就够了os.WriteFile 加上 encoding/json 包,几十行搞定。

365天第三部小视频,从冲动到习惯,我用Go语言写了个记录工具

每天拍摄前,我运行一个简单的CLI命令:

clip create --tag "雨天" --tag "咖啡" --duration 12.5

它会自动帮我创建文件名(用时间戳),放进正确的文件夹,然后更新一个 index.json,一开始我还设计了个“连续打卡天数”的功能,后来删了,因为看到天数断了会有挫败感,反而影响坚持。

功能 状态 说明
每日归档 ✅ 已实现 自动按年月日建目录
周回顾 ✅ 已实现 每次生成7个视频的拼接列表
月报告 🔧 简化了 只统计总时长和标签频率
云端同步 ❌ 不要 本地存着,防止隐私泄露

那些“不完美”的地方,才是真实的

写这个工具的过程中,我犯了不少错,比如第一版我用了并发来同时处理视频压缩和元数据写入,结果经常出现竞态,最后我干脆用 sync.Mutex 锁住关键路径,后来我想通了——拍个小视频而已,不需要每秒处理几百个请求,单线程就够了

还有一次,我拍完后忘记运行命令,结果当天的视频没归档,第二天我发现后,写了个小功能:扫描文件夹里未归档的视频,手动补录,这个补录功能反而成了我最常用的功能之一。工具越灵活,人越容易坚持,这是我从这三部视频里学到的。

费曼写作法是怎么帮我“拍”视频的

我写这篇文章,其实也用了“365天第三部小视频”的思路,费曼说要“教给一个孩子”,所以我每写一段代码,都尝试用最简单的语言解释给自己听:

  • “今天为什么要加 --verbose 参数?因为我要看视频的拍摄参数,方便调色。”
  • “为什么用 cobra 库而不用标准库的 flag因为子命令更清晰dailyclip createdailyclip review 是两件不同的事。”

这套逻辑放在视频上就是:

  • 我今天为什么拍这个片段?是为了记录通勤路上的叶子颜色,还是为了纪念第一次做菜?
  • 我在视频里要说什么?哪怕只是“今天是第193天”。

当你把这些“为什么”拍进视频里,第三部就不再是简单的打卡,而变成了一年期的自我访谈,我最近回看第200天的视频,发现我当时正为代码里的一个bug发愁,而旁边桌上的咖啡杯还在冒热气——那种真实的、未经修饰的瞬间,就是最好的素材。

从“坚持”到“不需要坚持”

说实话,到了第三年,我早就不是“坚持”了,而是习惯,每天早上起来,打开电脑,运行 dailyclip view 看看昨天拍的是什么,然后花十秒钟拍今天的第一杯水或者窗外的云。Go脚本帮我屏蔽了所有“我该拍什么”的决策成本——今天有个提示标签,路口”“同事”“键盘”,我照着拍就完了。

最近我又加了一个小功能:每周日晚上会随机播放过去七天的一个视频,配上一段简单的背景音乐,我经常惊讶于自己居然忘了那天的场景,比如上周二下雪了,我居然拍了三分钟垃圾桶上的积雪,这本来不在计划里,但工具允许我“跑题”,我觉得这点特别重要。

现在我的 dailyclip 已经有大概1500行Go代码了,不算多,但每一行都是我真实用过的,有时候我会想,如果当初用个现成的视频日记App,可能早就不拍了吧——因为那些App总想让你分享、你的好友、你的“影响力”,而我只想自己看着玩。

工具顺手了,拍摄就不是负担,就像写Go代码一样,go fmtdefer 用惯了,写逻辑就只剩“怎么表达”的问题。365天第三部小视频,说到底就是用一种可重复的方式,把每一天留下一点痕迹,我的方式是代码加视频,你的方式是什么都没关系,重要的是别停下来。

本文来自作者[kyadmin]投稿,不代表be365立场,如若转载,请注明出处:http://hljbesthome.com/nba/2298.html

(11)

文章推荐

发表回复

本站作者才能评论

评论列表(4条)

  • kyadmin
    kyadmin 2026-08-16

    我是be365的签约作者“kyadmin”!

  • kyadmin
    kyadmin 2026-08-16

    希望本篇文章《365天第三部小视频,从冲动到习惯,我用Go语言写了个记录工具》能对你有所帮助!

  • kyadmin
    kyadmin 2026-08-16

    本站[be365]内容主要涵盖:be365,be365网站,be365网址,ball365体育,Be365排名

  • kyadmin
    kyadmin 2026-08-16

    本文概览:先说说这个事儿是怎么来的,去年冬天我刷手机,突然看到有人在做“365天每天拍一个小视频”的挑战,第三部那种,就是连续拍摄第三年,我当时就...

    联系我们

    工作时间:周一至周五,9:30-18:30,节假日休息

    关注我们