MoreRSS

site iconDeppWang | 德普王修改

男|程序员|爱折腾|工具控|五笔 er|麻将爱好者
请复制 RSS 到你的阅读器,或快速订阅到 :

Inoreader Feedly Follow Feedbin Local Reader

DeppWang | 德普王的 RSS 预览

macOS 利用 LaunchAgents + GitHub 自动同步文件修改

2025-12-08 11:40:01

在多台 Mac 间同步笔记或脚本可以使用 Git ,它能帮我们保留历史、解决冲突,但手动 git add/commit/push 容易忘。下面这套做法用 LaunchAgents 定时执行一个 Git 脚本,把指定仓库的修改自动提交并推送到 GitHub(或任意 Git 远端),既省事又留痕。

思路与准备

  1. 一个可访问的 Git 仓库,例如 [email protected]:demo/notes-sync.git,本机已配置好 SSH Key 或 Token。
  2. 仓库路径假设为 /Users/demo/Workspace/notes-sync,请替换成自己的目录。
  3. 写一个自动提交脚本,再用 LaunchAgents 每隔几分钟调用一次。

编写自动提交脚本

新建脚本 /Users/demo/Workspace/git-auto-commit.sh

#!/bin/zsh

REPO="/Users/demo/Workspace/notes-sync"
cd "$REPO" || exit 1

# 拉取远端,避免与他人改动冲突
git pull --rebase origin main

# 只在有变更时提交,避免空提交
if [[ -n "$(git status --porcelain)" ]]; then
git add .
git commit -m "auto-commit: $(date '+%Y-%m-%d %H:%M:%S')"
git push origin main
fi

赋权:

chmod +x /Users/demo/Workspace/git-auto-commit.sh

配置 LaunchAgents 定时执行

~/Library/LaunchAgents 新建 plist 文件 com.demo.git-auto-commit.plist

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.demo.git-auto-commit</string>

<!-- 每 5 分钟执行一次 -->
<key>StartInterval</key>
<integer>300</integer>

<key>ProgramArguments</key>
<array>
<string>/bin/zsh</string>
<string>/Users/demo/Workspace/git-auto-commit.sh</string>
</array>

<!-- 日志便于排查 -->
<key>StandardOutPath</key>
<string>/Users/demo/Workspace/git-auto-commit.log</string>
<key>StandardErrorPath</key>
<string>/Users/demo/Workspace/git-auto-commit-error.log</string>
</dict>
</plist>

加载与调试:

launchctl load ~/Library/LaunchAgents/com.demo.git-auto-commit.plist
launchctl start com.demo.git-auto-commit # 立刻跑一次
launchctl list | grep git-auto-commit # 查看状态
tail -f /Users/demo/Workspace/git-auto-commit.log

如需停止或卸载:

launchctl stop com.demo.git-auto-commit
launchctl unload ~/Library/LaunchAgents/com.demo.git-auto-commit.plist

关键注意事项

  • 认证方式:优先用 SSH Key,若用 Token 写在脚本里,记得用只读权限并限制作用域,或在 Keychain 保存环境变量再在脚本里读取。
  • 分支一致性:脚本里固定 main(或 master),与远端分支保持一致;多人协作时保留 git pull --rebase 以减少冲突。
  • 执行频率StartInterval 300 秒适合笔记类场景;频率过高会增加推送次数,可按仓库活跃度调整。
  • 忽略敏感文件:在 .gitignore 中排除缓存、日志、临时文件,避免不必要的提交。
  • 错误兜底:查看 git-auto-commit-error.log,常见问题是网络不通、权限不足或本地/远端存在冲突。

这样配置后,Mac 会在后台定时把仓库的变更自动提交并推送,跨设备同步靠 Git 即可完成,同时保留完整历史记录。

Git 部署常见分支问题

2025-12-08 11:40:01

一、代码提交到部署分支,而导致在开发环境没有问题,而测试环境出了问题

代码直接在部署分支 dev 提交了,没在功能分支提交,在 dev 环境没有问题,功能分支合并到 test 分支部署时,丢失在 dev 分支提交的代码,出现问题

示例:test 环境出现单元测试问题,dev 环境没有这个问题,单元测试提交到了 dev 分支,导致 test 分支代码丢失

解决方式

使用规则保证正确性,而不让人来保证正确性,2 种方式解决:

  1. 设置部署分支 dev 分支禁止 commit
  2. 远程仓库设置部署分支不能推送,只能通过 pr 的方式合并代码到部署分支

1. 本地设置 dev 分支禁止 commit

vim .git/hooks/pre-commit
#!/bin/bash

branch="$(git rev-parse --abbrev-ref HEAD)"

if [ "$branch" = "develop" ]; then
echo "Direct commits to develop branch are not allowed!"
echo "Please create a feature branch and submit a PR."
exit 1
fi
chmod +x .git/hooks/pre-commit

二、手动部署后测试没有生效,结果发现是代码没有推送到远程分支

流程化:推送代码自动触发部署,就没有不推送代码就部署的问题

使用运动相机当摩托车行车记录仪

2025-11-17 23:34:03

一直骑摩托上下班,前几个月一次雨后上班被一位女司机给撞了,责任清晰,对方全责。前两天雨后下班,2 个行人过马路不走斑马线,雨后路滑,制动距离变长,差点撞到了。一旦遇到交通事故,有监控还好,没监控万一遇到特殊情况,难免扯皮。为了安全,决定还是整个行车记录仪。自己规范行车,但保不齐别人不遵守规则。

2 种行车记录仪

  • 运动相机式
    • 缺点:每次需要离车拆装拿走,不然怕被偷
    • 优点:还可以当「素质提升器」
  • 专用式(摩托车专用行车记录仪,前后摄像头 + 控制器)
    • 缺点:安装麻烦,需要走线安装,线要接电瓶上;防抖性可能不过关
    • 优点:不用每次拆装

运动相机

适合的场景

  1. 行车记录仪,需要防水/防抖/清晰。如果车上有充电条件(USB 口),不需要长续航,可以边录边充
  2. 素质提升器
  3. 第一次人称视角视频:如记录小孩 / 记录婚礼 / 户外 / 旅行 / 运动 / 有水的场景
  4. 自媒体博主使用(需要走路/轻便)
  5. 录音机

正常运动相机效果没有手机好,不适合场景

  • 拍照
  • 夜景
  • 不动场景拍视频等

手机当行车记录仪

优势

  1. 省钱,不用额外购买设备
  2. 拆装方便

要解决的问题

  1. 防抖。如果直接安装在摩托车车头手机支架上
  2. 防水。下雨天使用,一般都是下雨时容易交通事故
  3. 安全。不建议使用贵重手机,摩托车的机震可能导致手机摄像头光学防抖损坏。建议使用没有光学防抖的闲置手机

摩托车的机震可能导致手机摄像头光学防抖损坏,我也是最近才知道这个知识点。如果行驶过程中还录像,因为光学防抖会主动矫正摄像头,那会加速光学防抖损坏。

即使不在行驶过程中使用手机录像,也会经常使用手机导航,虽然不使用手机录像相比使用手机录像时机震影响要小很多,但是还是有一定风险。最好还是使用个减震的手机支架,我试用了下摩多狼的减震支架,但发现没有用,减震固定得太死了,找摩友要了他正在使用的「灯昕磁悬浮减震支架」,减震可以灵活移动,效果要好不少。

不过最好不使用手机导航时揣兜里,人体的减震性最好。

运动相比对比

山狗与其它运动相机没有裸机防水功能而没有考虑。主要考虑大疆与速影 C200 系列。纠结的点主要在于大疆的价格,觉得 1000 多的售价,与基本只做行车记录仪的定位有点不匹配。看到了速影 C200 系列,就买来对比了下。

速影 C200 系列

特点

  1. 支持裸机防水
  2. 有行车记录仪模式(通电开启录像,无电自动停止录像并关机)
  3. 有 2 小时续航
  4. 有记忆功能,上次设置的数据会保存
  5. 使用 A1 内存卡即可

注意点

  1. 防抖开了会裁剪画面
  2. 防抖与鱼眼矫正不能一起用
    • 应该是防抖与鱼眼矫正都是画面裁剪,都开启画面更少,所以不能一起用
  3. 带边框时可以充电,充电口盖子可以取下

价格

  • 速影 C200:京东国补后 335
  • 速影 C200 PRO:京东国补后 539

C200 vs C200 PRO

C200 优势:便宜 200

C200 PRO 优势:

  1. 可触控操作,更方面。C200 只能按键操作
  2. 实测更清晰,晚上车库测试,能看清楚车牌

实测 2 个防抖都不太行,直接安装在摩托车镜座支架上都不太可用

C200 PRO vs Action4

C200 PRO 优势

  1. 便宜 650
  2. 更轻 (裸机 88g / 加边框 105g) ( Action4 裸机 147g / 加边框 188g)
  3. 有车载模式
  4. 有防水充电线,可以雨天充电使用
  5. 拍摄视频所占内存更小
  6. 可以直接在视频上打上时间戳
  7. 循环录制自动按指定时间视频分段,大疆的循环录制是只录制指定分钟数
  8. 可以循环录影,内存满了自动删除之前

Action4 优势

  1. 更清晰
  2. 实测防抖效果好一点(开启电子增稳定):直接安装在镜座上录像相对更清晰点
  3. 易用性更好
    • 边框可以不拆时充电,不充电时盖住防水/防尘
    • 横竖屏拍摄可以不用手动调整
    • 机器可以查看具体电量数值
    • 连接设备更方面,可以搜索连接,不用每次扫码
    • 可以手机 APP 查看视频拍摄时间,C200 系列需要视频有水印才能看出来
    • 可直接按键切换拍照/视频
    • 有快充
  4. 赠送配件可直接磁吸快拆,不用额外购买磁吸快拆;赠送配件头盔粘胶可以直接使用
  5. 颜值高点,产品质量可能会好点
  6. 下载视频到手机速度更快
  7. 可手机 APP 编辑视频、可以更换电池、双屏

两者都不能云端自动备份,不能丢失时也能看到之前录制视频。

C200 系列因为有车载模式 / 有防水充电线,更适合直接固定安装在车上,但其防抖性不太行, 可能配置个运动相机减震支架会好点。但如果不安装在车上使用,其车载模式与防水充电线优势也就没了。又多了劣势:如果不取掉充电口盖子,不太易用,每次充电要拆边框。取掉了又没有了防水的优势。

Action4 相比有了防抖优势,可以配合支架直接安装在车上使用,也可以使用挂脖与安装上头盔上使用,当不安装在车上使用时,也不需要车载模式与防水充电线。

我想平时还是挂脖使用,离车后也可以连续录制。最后天猫买了大疆,总价 1220,1170 + 50 挂脖支架,原来有 A2 内存卡。

大疆 Action4 各平台对比

天猫旗舰店

  • 优势:
    • 价格 1170,原价 1248,直播间购买 -50,用了些淘金币
    • 双十一可激活试用 30 天

京东

  • 劣势:
    • 价格 1248
    • 不能试用,拆了就不能退

拼多多

  • 优势:价格 1157
  • 劣势:虽然标记的「品牌好货」,如果运气不买,买到瑕疵机器,售后可能不省心,赠送的随心换还要找客服单独领取激活。
  • 机器:应该都是正品,可以通过大疆官方查验

PS:拼多多「品牌好货」不是拼多多自营的,拼多多的「品牌好货」是聚合的三方商家店铺,只提供了一个「品牌好货」的入口,消费者看不了具体的三方店铺信息,客服也第三方店铺的。

总结

只当行车记录仪可以上 C200,使用相对防盗的方式直接安装上车上。满足基本行车记录仪需求,可以区分事故责任,晚上可能看不清车牌号,防抖性一般。或者直接买更便宜不防水的汽车行车记录仪,自己 DIY 一下。

如果考虑还会拍点东西,建议直接上 Action4。其颜值更高,更愿意拿出去拍,易用性也很好。C200 PRO 有点不上不下,当运动相机拍可能功能不太够;安装上车上防抖跟 C200 差不多,有点划不来。贵的东西除了贵,确实优点更多。而大疆 Action4 做行车记录仪,完全够用了,完全不用什么 Action5 PRO 什么的了。

下大雨或者可视距离变少同时又下雨(如晚上下雨)的情况建议还是不要骑摩托车了,使用其它交通工具更安全。

顺便说一句,大疆还是有点格局的,可以激活试用。在中国,像京东/大疆这样的大厂,还是越多越好。

Apple TV 上使用 RetroArch 玩魂斗罗

2025-11-01 16:15:40

我 Apple TV 现在是配合极米投影仪在使用,现在基本只偶尔使用 VLC + NAS 看电影。买过一段时间 Arcade 玩游戏,玩的频率不高加上订阅制不太划算,Apple TV 就只用来看电影了。

前两天突然想到能不能 Apple TV 玩下小时候的魂斗罗之类的游戏,折腾试了一下,还真可以。

我是使用的 RetroArch 实现的,可以按这 2 个视频教程操作,讲得挺详细。

  1. BiliBili - 全能模拟器RetroArch苹果AppleTV客户端使用教程
  2. YouTube - Retro Gaming on the Apple TV 4K (Guide)

RetroArch 的核心 Core 是模拟原来经典游戏主机的模拟主机系统,它提供一系列 Core,可以模拟原来各种经典游戏的主机,是一个 Core 集合,但它不提供具体的游戏,需要你自己去找。

在 使用 RetroArch 遇到的几个问题

1、游戏资源问题

这几个网站的资源实测可用:

  1. https://www.emu-land.net/en/consoles/dendy/roms/top : 这个网站好像晚上不能下载,要白天才行
  2. https://github.com/dream1986/nesrom
  3. https://forum.ubuntu.org.cn/viewtopic.php?t=202700 破解版

2、 IP 打不开的问题

因为 tvOS 本身没有 Files APP,RetroArch 是利用 tvOS 的 80 端口,即 Apple TV 对应 IP 地址 ( http://192.168.31.111/ ) 上传资源 。当打开 RetroArch 时,就会弹出这个提示。同一个局域网的其它设备或者说连同一个 WIFI 的设置,可以直接通过这个地址上传游戏资源。

但需要注意:要使用 Safari 浏览器打开这个地址,我使用 Chrome 就打不开,折腾半天。

3. 超级马里奥跳不高的问题

在玩「超级马里奥」时发现「跳跃键」跳不高,换了个游戏资源也不行,最后发现是输入映射时不小心将跳跃键键映射到了 Turbo 这个键上,按 Y 键取消映射了就好了。

ROM 文件 nes 与核心 FCEUmm / Nestopia 之间的关系

FC游戏机,是任天堂(Nintendo)生产、发行和销售的8位第三世代家用游戏机。日本版官方名称为家庭电脑(日版名:ファミリーコンピュータ,Family Computer,Famicom),俗称“红白机”,1983年7月15日在日本推出;欧美版名称为任天堂娱乐系统(英文版名:Nintendo Entertainment System,NES),俗称“灰机”,1985年10月18日在美国推出。

所以:

  • 核心 Core 是模拟主机系统,ROM 文件是游戏镜像
  • Famicom / NES 都是使用 .nes ROM 文件
  • FCEUmmNestopia 都可以运行 .nes ROM 文件,都支持 Famicom 和 NES
  • 核心 FCEUmm「仿真精准、音画最接近原机」,核心 Nestopia「性能轻快、兼容性好、支持作弊/快进」,我但没感觉出区别
FC NES

游戏图片

  • 影之传说

从羽毛球启发的「后端工程师等级说明」

2025-10-24 21:45:11

现在经常在打羽毛球,羽毛球等级森严,级别差太多根本没法打,只要差上半级,差的这边肯定打不过,差上两级,双方就没有体验感。有一位名叫「波澜不惊」的网友写了个很好的「业余羽毛球等级说明」,对级别的描述很精确,对每个等级具体需要掌握什么技术与这个等级的特点写得很清楚。

我作为软件后端工程师,虽然我们也有初级/中级/高级工程师的划分,但每个级别具体需要掌握什么,界限往往很模糊。我就在想能不能像羽毛球等级一样,也做一个「后端工程师等级说明」?这样既能认清自己的水平,也能更有针对性地进步。

2025 业余羽毛球等级说明

两个等级之间的映射

对于业余羽毛球初学者来说,正常的学习顺序是技术 -> 脚步 -> 球路 -> 体能,对应后端工程师,我将其它映射为技术 -> 业务 -> 架构 -> 兴趣。

羽毛球技术:握拍 / 发球 / 正手高远球 / 反手高远球 / 杀球 / 吊球,映射为后端工程师技术:编程语言 / 框架 / 数据库 / 缓存 / 中间件 / 容器化。其它一些技术如「勾搓扑挑」等映射为对工具的掌握,如「IDE、Linux Command、Git、Maven」等

后端工程师等级说明

0.5 级:刚接触编程

对应羽毛球室外打球阶段,核心特征是会刚接触编程。对 IDE、Git、Shell 等工具几乎陌生,只能照着教材输出“Hello World”,还分不清接口、数据库、部署之间的关系,只求代码能跑起来。

1.0 级:会点编程语言

对应羽毛球会握拍阶段,核心特征是会点编程语言。开始使用 IDE,能写变量、条件、循环、集合等基础特性,偶尔能写出小算法,可以照需求描述实现简单脚本或 demo,对数据库、缓存等还不太了解。

1.5 级:会使用框架

对应羽毛球会发球阶段,核心特征是会使用一种基础框架(如 Spring Boot)。开始理解接口开发的 POST GET 的区别,了解 Maven 命令,还不太会写数据库 SQL,还不能进行简单的业务开发。

2.0 级:初级工程师(大学毕业生水平)

对应羽毛球会打高远球阶段,核心特征是会能在指导下完成简单需求开发。会使用 MySQL 数据库,会写一些简单的 SQL,会使用 Git 。了解 MVC 开发,理解 ORM 等概念。能在指导下完成简单需求开发与 bug 修改,对表结构、用户登录原理与 Session 机制有初步认识。这个阶段更多是编码实现,也开始建立自己「实验室」通过 demo 代码实现各个技术点。

  • 「大学毕业生水平」:我觉得是一般计算机专业刚毕业的学生就差不多这个等级

2.5 级:初级工程师+

对应羽毛球小对抗、会挑球 / 偶尔会吊球阶段,核心特征是能在指导下完成小模块开发。技术上熟练使用主力语言、框架、MySQL 关系数据库,会使用基础的 Linux 命令,理解 Git 原理。可以写简单 CURD 增删改查代码,但 Bug 较多。

3.0 级:中级工程师(高水平大学毕业生)

对应羽毛球小对抗、会杀球 / 吊球阶段,核心特征是能在指导下完成中等模块开发,能独立完成小模块开发与设计。技术上会使用常用中间件,会用缓存 Redis,理解 Maven 原理,理解 Spring 框架的核心原理,熟悉 Docker 基本用法。业务上熟悉基本的 API 设计,可独立设计 API;熟悉数据库设计,可以独立设计数据库表;有一定业务抽象能力,可以将简单业务抽象为数据库表结构与 API,会写单元测试;理解用户登录原理。开始形成以完成一个让别人 / 用户来用的比较完整的软件功能为主的「工作室」。

  • 「高水平大学毕业生」:在学校学得好的,大学刚毕业就直接在这个等级

3.5 级:中级工程师+

对应羽毛球中对抗、会反手高远球阶段,核心特征是能在指导下完成中大模块开发,能独立完成中小模块开发与设计。技术上熟练使用 Redis,熟练使用常用中间件,如 Kafka。具备初步的业务设计模式意识,不只是按需求实现,开始理解业务需求背后真实的意图,可以指出需求中问题,帮助需求闭环。知道需求的优先级与重要性,合理分配精力与时间。开始对安全编程有一定想法与实现,代码不只是考虑功能实现。 开发的功能维护性在中等水平。可以快速定位独立解决中等难度的技术问题。开始建立起来对自己技术的自信。

4.0 级:高级工程师

对应羽毛球中对抗、普通大学校队水平、掌握各种杀球/吊球的阶段,核心特征是能独立完成中等模块功能的设计与开发。技术上掌握部分中间件原理,掌握 Docker 容器化原理,阅读过其源码。掌握数据库、Redis 关键机制。业务上可以快速的熟悉与理解新业务,并完成从需求分析、方案设计、编码上线工作。写的代码质量好,bug 少。开始在团队内形成个人影响力。开始建立自己的「工厂」,相比「工作室」,「工厂」有一整套的规范和标准。

4.5 级: 高级工程师 +

对应羽毛球大对抗、普通大学校队主力水平、会跳杀的阶段,核心特征是能独立完成大模块功能的设计与开发,独立解决复杂技术问题。技术上掌握中间件核心原理,从源码上理解。写的代码 Bug 非常少。各种业务系统的实现方式都已掌握,编码熟练使用各种设计模式,业务实现简洁但稳定,实现不仅考虑功能还兼顾安全,能承担核心技术攻关。开始发现现有架构的不足。这个等级需要掌握计算机基础知识,不然到不了这个级别。在团队内形成稳定的个人影响力。

PS:羽毛球技术的核心是通透的发力,后端工程师技术的核心我认为是计算机基础。发力可以分为:手指发力、手腕发力、内旋发力、鞭打发力、腰腹发力等。计算机基础可以分为: 计算机组成原理、Linux 操作系统,编译原理、网络原理、数据结构与算法等。业务球友不掌握发力,可以到 4.0 级,但绝对到不到 4.5 级。同样,我认为后端工程师不掌握计算机基础可以到高级工程师,但绝对到不了「高级工程师 +」这个等级。

5.0 级:技术专家

对应羽毛球大对抗、普通教练水平阶段,核心特征是可以根据需要修改、扩展、优化架构。高级工程师主要是在已有的架构框架下完成设计,而技术专家会根据需要修改、扩展、优化架构。各种技术运用自如,熟练运用各种技术完成业务开发。并且有一两项突出的技术,比如对 Redis 的研究非常深,给它贡献过核心代码。可以快速定位独立解决很复杂的问题。独立开发与团队配合都很好,几乎是没有 bug 的。系统安全做得好。在团队内形成极强的个人影响力

6.0 级:初级架构师

对应羽毛球比赛级、地区普通组冠军水平阶段,核心特征是独立完成一个系统的架构设计。可以是从 0 到 1 设计一个新系统,也可以是将架构从 1.0 重构到 2.0。初级架构师负责的系统复杂度相对来说不高,例如后台管理系统、某个业务下的子系统、100 万 PV 量级的网站等。6.0 级别要么初级架构师,要么就是技术 leader,可以带一个小团队,开始有团队影响力。

总结

做这么一个等级表不容易,涉及不少东西,写了很久,但水平有限,可能不太准确。本来让 AI 写,不太满意,全部手敲。后面可能不定时更新这个等级表。

后端工程师依次提升的 4 维度是技术、业务、架构、兴趣,而针对全栈工程师(独立开发),4 个维度又不太一样,我认为是技术、产品、需求、推广。每个职业都有自己的 4 维度划分。

还有一点小感受,学习计算机技术与学习羽毛球技术一样,关键是要有成就感,要有瘾,也就是正反馈,所以这就是需要有正确的方式与路线来学习,每个人情况不一样,需要找到最适合自己的方式与路线。

Link

注意力保卫战,我的注意力管理实践

2025-08-15 23:05:30

注意力是这个时代最稀缺的资源

打开手机,短视频软件在推送今天的热点,社交软件的红点提醒你有新消息,游戏的活动通知吸引你再玩一局。我们生活在一个注意力被无限分割的时代。

每个人每天的注意力总量是有限的,就像手机电池一样,用一点就少一点。当我们把注意力过多地消耗在娱乐和消遣上,留给工作、学习和成长的注意力自然就减少了。更糟糕的是,频繁的注意力切换会让大脑疲惫,即使想要专注时也难以进入状态。

影响专注的客观因素

有时候无法集中注意力并不完全是意志力的问题,一些客观因素确实会影响我们的专注能力:

  • 前一天没睡好,大脑处于疲劳状态
  • 饭后血糖升高,身体启动消化程序,容易犯困
  • 中午没有小憩,下午精力不足

这些客观因素虽然存在,但相对还是比较少的。更多时候,是我们主动选择了分心。

正视人性的弱点

人性是有弱点的,我们的大脑天生喜欢轻松愉悦的事物。刷短视频、追热点、看资讯,这些活动不需要深度思考,还能带来即时的满足感。经不住诱惑是正常的,关键是要认识到这一点,然后主动创造一个减少诱惑的环境。

与其依靠意志力对抗诱惑,不如从源头上减少诱惑的出现。

减少注意力分散的具体方法

智能手机管理

断舍离策略

  1. 不安装某些短视频软件,如快手、抖音
  2. 卸载 APP,改用网页版本,增加使用门槛,如 X(Twitter)
  3. 睡觉时手机不带进卧室,避免睡前刷手机和早起第一件事就是看手机
  4. 隐藏微信 APP 的朋友圈、视频号、搜一搜、看一看等分散注意力的功能

iPhone 专属技巧(安卓应该也能实现)

  1. 有时需要查点东西但不想频繁打开的,如小红书,可以卸载后使用快捷指令进行网页搜索
  2. 使用 APP 隐藏模式,将 BiliBili 等娱乐软件放入隐藏文件夹
  3. 开启「屏幕使用时间」,给特定 APP 设置每日使用限额
  4. 开启色彩过滤器,将手机调成黑白模式,降低视觉吸引力

电脑端防护

  1. 安装 BiliBili 自律插件:ProductivitiBili,过滤首页推荐
  2. 使用 YouTube 插件:Clean YouTube,隐藏推荐视频
  3. 安装搜索优化插件:AC-baidu,过滤百度等搜索引擎的广告
  4. 工作时关闭微信桌面端,使用智能手表接收重要通知

其他方法

  1. 使用数据统计来自我督促,如 GitHub 统计图、微信阅读时长 Weight(iPhone)
  2. 突然想到或者想做的事,建立待办事项清单,避免注意力切换
  3. 按优先级处理任务,永远先做最重要的事
  4. 专注时开启勿扰模式,屏蔽非紧急通知

建立自己的信息源

正因为大脑天生喜欢轻松愉悦的事物,所以我们不可能不去做不用脑的事。但我们可以主动构建自己的信息获取渠道,避免被动接受算法推送。比如:

资讯与新闻

稍后阅读

个人关注

专注的复利效应

成长的速度,取决于专注的时间。

当我们能够持续专注地投入到一件事情上,不仅能够产出更高质量的成果,还能进入心流状态,体验到深度工作带来的满足感。这种满足感远比刷短视频等获得的即时快感更持久、更有价值。

每一次选择专注而非分心,都是对未来的自己的投资。这些投资会像复利一样累积,最终带来质的飞跃。在这个注意力稀缺的时代,能够掌控自己注意力的人,才能真正掌控自己的人生。