打造个人工作室系列一:思路整理

2023 年 09 月 29 日

作为一个 coder,工作无聊的时候,总想着搞一些 side project 调剂。但是,有时找到灵感,想要动手实验的时候,总是会被各种各样的客观条件限制。比如说,手边没有合适的机器,工作机上有监控,工作机环境不凑手之类。

因此,我想搞这样一套方案,希望能够随时随地做自己想做的工作。不管是在咖啡馆,还是在工作的间隙,只要想到了什么,就可以立刻利用手边的设备完成验证。

很明显,这套方案至少需要以下几个要件:

  1. 主力工作设备。例如台式机或高性能笔记本电脑。
  2. 日常便携设备。例如手机、平板或便携本。
  3. 网络连接方案。用于 2 和 1 之间的连接。

虽然仅靠要件 1 就可以解决所有问题,但这里不对这种方案进行探讨。毕竟这种方案的解决方法只有一个,买一台高性能且相对便携的笔记本。但是,高性能和便携永远是矛盾的。

按这三个要件来考虑的话,各自需要考虑哪些事情呢?

主力工作设备

既然是主力工作设备,性能必须是首要考量,便携性不用考虑太多。我基本只会考虑以下几种:

  • 游戏本/设计本。
  • 台式机。
  • 家用服务器。

另外,由于主力工作设备功耗肯定不会低,因此要考虑远程开机。这样的话需要配置有线网络(WOL),或者无线开机(内置开机卡或智能插座)的方案。

日常便携设备

作为日常便携设备,不需要考虑性能,但需要考虑方便的 I/O。因此以下几种方案值得考虑:

  • 便携本已经是一个完整工作环境,随身带个扩展坞和连线,方便外接屏幕就差不多了。
  • 平板与便携本比较,主要是缺少键盘,因此需要便携键盘。
  • 手机与平板差别主要是屏幕,因此同样需要考虑扩展坞外接屏幕。

所以综合下来,我会考虑手机+便携键鼠+扩展坞。如果是咖啡馆之类没有显示器的场所,可以考虑加一个便携屏。

网络连接方案

如果在家工作,直接使用主力工作设备即可。因此只需要考虑在 Internet 环境下,如何使用日常便携设备连接家里的主力工作设备。这个需求下有太多方案。但是,受限于客观条件,想要简单易用,又想要便宜,还想适应各种网络情况的,这样的方案不存在。

先考虑一下远程连接的建立,可选的方案有:

  1. 公网 IPv4。家庭使用光猫接入的情况下,基本拿不到;即使能拿到,也有端口限制的问题。以企业方式获取固定 IP 倒是可以,不过要花钱,且受到各种监管,因此不考虑。
  2. 公网 IPv6。普适性太差。一方面对路由有要求,另一方面对外部网络有要求。毕竟没人可以保证随时可以接入 IPv6 网络。不过将来如果 IPv6 网络发展的好,这种方案应该是最佳。
  3. 通过 ZeroTier 或类似服务,在 Internet 上建立局域网,通过 ZeroTier 网络转发,也可以自建服务器。对网络基础知识要求较高,性能较难保证。
  4. Cloudflare Tunnel 直接打洞。与 ZeroTier 方案本质上是类似的,只是使用了 Cloudflare 网络服务,因此性能上应该会稍微好一些。另外打洞概念理解起来也相对简单一些。但连接协议受 Cloudflare Tunnel 节制,非 http(s) 协议两端可能都要使用工具。要想方便使用,可能涉及到二次开发。

这几种方案其实没有优劣,各自适用于不同环境而已。方案 1 本质上是偏商用场景,稳定性高,需要多花钱。方案 2 应该是未来 IPv6 成为主流后的自然选择。方案 3 主要是 ZeroTier 服务器在国内不够多,如果可以自建公网服务器的话,就能保证性能。方案 4 明显最省钱,但也是最折腾的。

我会选方案 4,这样就需要家里有一台 24 小时开机并保持联网的低功耗服务器,用来接收并执行远程开关机指令,转发连接等等。服务器的选择很多,可以用开发板或无风扇主机。

总结

今年基本到了我所有设备换代的时候。在考虑对下一代手机和电脑的需求的时候,才想到了这个题目。接下来应该会在更换新设备之后,整理一下如何实现上面几个方案的过程。这样,换设备才有点意义嘛。对吧😁

Top