跳到主要内容

不花一分钱,如何在 Mac 上跑 Windows(M1/M2 版)

· 阅读需 2 分钟

这是在 MacOS M1 上体验最新 Windows11 的效果:

VMware Fusion,可以运行 Windows、Linux 系统,个人使用 licence 免费

安装流程见 👉 https://zhuanlan.zhihu.com/p/452412091

从申请 Fusion licence 到下载镜像,再到安装避坑

这篇文章讲非常详细


Fusion 对 Windows11 支持非常好,不支持其他版本

这里推荐 UTM,这是 UTM 运行 Windows7 的效果:

UTM 也是一款免费虚拟系统运行软件

这是官网 👉 https://mac.getutm.app

注意,UTM 从官网可直接下载

但 App Store 下载需要付费,如果想要赞助 UTM,可以选择付费下载


UTM 安装比较简单

先下载想要的镜像,镜像地址可从 MSDN 下载 👉 https://msdn.itellyou.cn

接着从 UTM 中下载对应配置文件 https://mac.getutm.app/gallery/

下载之后是一个 .utm 后缀的文件,然后打开该文件

打开之后需要改系统镜像路径

在右上角改成对应的下载好的系统镜像即可:

改后重新启动即可

拯救 VSCode,试试这款高颜值代码字体

· 阅读需 2 分钟

Monaspace,由 GitHub 开源的代码字体,包含 5 种变形字体的等宽代码字体家族,颜值 ++。

这 5 种字体分别是:

1️⃣ Radon 手写风格字体

2️⃣ Krypton 机械风格字体

3️⃣ Xenon 衬线风格字体

4️⃣ Argon 人文风格字体

5️⃣ Neon 现代风格字体

👉 项目地址:https://github.com/githubnext/monaspace?tab=readme-ov-file#coding-ligatures

下载方式

MacOS

使用 brew 安装:

brew tap homebrew/cask-fonts
brew install font-monaspace

Windows

下载该文件:https://github.com/githubnext/monaspace/tree/main/fonts/otf

拖到 C:\Windows\Fonts 中,点击安装

下载好后,如果是 VSCode 文件,可以在设置中找到 font-family,改为:'Monaspace Radon', monospace


👉 程序员楷鹏,如果有任何前端、 AI 方向的问题,可以在这个公众号上联系到我 🧑‍💻

👉 wukaipeng.com,上面收录个人所有的技术和英语文章,整个博客内容在 GitHub 开源,基于 Facebook 最新的 Docusaurus 3.0,欢迎 star ⭐️

如何利用 AI 做乘法,制作一款龙年贺卡小程序

· 阅读需 6 分钟

2022 年底 AIGC 的出现,让 2023 年成为通用人工智能元年

这是最好的时代,利用 AI,之前仅能存在幻想中的事物落地成现实。

只需要寥寥几句话,就可以描绘一张斑斓的画,真实而又丰富的画。

目前 AI 生图的大模型不多,大名鼎鼎的有 Midjourney,不过它闭源,并且国内用户使用不方便

Stable Diffusion,一款免费开源,而又强大的 AI 生图模型,正在成为 AI 绘画的宠儿。

比如这张庆祝新年的图片,正是出自 Stable Diffusion 之手:

Stable Diffusion 支持文生图(通过提示词文字生成图片)、图生图(通过垫图+提示词文字生成图片)、文生视频视频生成视频

如下是一个图生图的例子,通过一张手绘的垫图(左侧),生成一张真实的苹果图片(右侧):

还有比如前阵子抖音比较火的 AI 变换视频:

为了探索 Stable Diffusion 想象力的边际,在临近甲辰龙年之际,我们决定开发一款龙年贺卡小程序,效果图如下:

我们选择了一个叫做 Comfy UI 的开源框架,基于工作流的交互,让 Stable Diffusion 的编排和出图更加方便和快捷:

Comfy UI 官方介绍称之为:“最强大的 Stable Diffusion 的图形化操作界面

👉 官网链接: https://github.com/comfyanonymous/ComfyUI

虽然有 Comfy UI 加持,但在一开始,就碰壁了,无法生成文字,如下:

左边这张「龙年大吉」是我们输入给 Stable Diffusion 垫图,右边是图片是基于垫图和提示词生成的图片。

可以看到,文字根本是混乱的。

这个痛点强如 Midjourney 也无法解决,这是由于文字的特殊性

就说汉字,书体有篆书、隶书、楷书、行书、草书等,排列有从左往右、从右往左、从上往下等。

另外一种解决思路是,我们把文字也作为垫图之一,比如这张「龙年大吉」的图片:

生成结果:

这个方案似乎能走得通,但是很快又遇到麻烦,对于稍微复杂的字,生成效果就不行了,比如「甲辰臻祥」:

为了解决这个问题,加上时间的有限性,只能在产品层面做出改动,贺卡图片由模板 + 主体图片组成,模板提前预制,主体图片则由 AI 生成,不包含文字:

另外一个问题,就是涉及到人物,像手部、面部比较复杂的内容时,生成效果较差,如下小女孩的手部:

这个解决方案较多:

  1. 可以选择合适的 Stable Diffusion 模型
  2. 利用插件做手部、面部的修正
  3. 添加负面提示词(Negative Prompt)

有了如上的探索,我们终于开始我们的乘法之路。

首先是选定关于新年的元素(Element),比如龙、财神爷、灯笼、白鹤等元素。

其次是风格(Style),我们探索了十多种 Stable Diffusion 生成的风格:

Stable Diffusion 稳如老狗,各种风格都驾驭得住。

通过 $Element \times Style$,我们为每一个元素生成对应的风格图片。

乘法的力量是不言而喻的,在几周时间,我们为了贺卡小程序生成了上万张图片。

AIGC 之前,这绝对实现不了,能做的,只是加法,并且还需要专业的设计师。

假设一个设计师 5 分钟出一张图,一万张图片,不眠不休,至少要 34 天:

$$ 10000 \times 5 \div 60 \div 24 = 34.7222222222 $$

这种人力成本、时间成本,一下子就被 AI 打下来了

目前 AI 还处于早期阶段,相信随着时间推移,AI 能力会更强,应用的场景会更广,拭目以待。

目前小程序也以及正式上线,名字很有年味,叫做「画年

操作简单,选择一个钟意的模板,一键生成:

如果不满意,可以调整配图 or 祝福语:

如果你有拜年贺卡需求,不妨体验一下这款小程序,目前免费使用。

最后推荐一些好用的资源

👉 程序员楷鹏,可以在这个公众号上联系到我

👉 wukaipeng.com,上面收录个人所有的技术和英语博客,这个博客网站在 GitHub 开源,基于最新的 Docusaurus3,欢迎 star

👉 doc.starflow.tech 专门面向中文的提示词工程指南,同样开源,一起学习进步

有 AI,我们还需要人类吗?

· 阅读需 7 分钟

文章来自 What Builders Talk About When They Talk About AI,由 OpenAI 首席技术官 Mira Murati、微软人工智能执行副总裁 Kevin Scott 等 8 位大佬对当前 AI 的发展和观点,可供参考。

1️⃣ 计算的第三个纪元

LLM(Large Language Model)无疑将会成为下一代的计算平台。目前 LLM 还处于非常早期的阶段,底层 Transformer 架构在 6 年前才被发明,而 ChatGPT 发布也仅仅不到一年。


2️⃣ 这波 AI 浪潮将会推动市场经济的发展

假设现在需要生成一张图片:

  • 画家:绘制费用 100$/h,花费时间 1h
  • AI:推理费用 0.01$,花费时间 1s

图片生成的价格低了 10000 倍,再考虑时间的价值,整个的图片生产成本至少降低了 4 、5 个数量级,这对于经济的效益增加无疑是巨大的。


3️⃣ 对于早期案例来说:创造力 大于 正确性

幻觉(Hallucination,即 LLM 产生的无效、错误的信息)是目前臭名昭著的大问题。但目前对于某些案例来说,比如虚拟伴侣、绘画、游戏等来说,创造力比正确性更重要。


4️⃣ 对于其他案例来说,比如“copilot”,会随着人们的使用正确性逐渐提高

Copilot 是最先被广泛采用的 AI 助手,基于以下几个原因:

  • 程序员群体偏好新技术
  • LLM 接受过大量的代码训练,代码类问题回答情况较好
  • 对 AI 反馈较好,例如程序员接收到 AI 的代码建议会立即做出反馈,接受 or 抛弃


5️⃣ AI 和生物学结合,对疾病处理能力有进一步的提升

生物学非常复杂,人脑远远不够,但是有 AI 的加持,提供多领域的交叉,诊治疑难杂病,提供新的诊治方案、早期防治等等不在话下。


6️⃣ 把大模型交给用户,让他们去发现更多的使用场景

“你需要记住的是:大模型不是产品……AI 只是你基础架构上又新奇又有趣的一块拼图,它可以帮你解决一类新的问题,或者用更好的方式解决旧有的一类问题。”——Kevin Scott,微软


7️⃣ AI 记忆能力会越来越强

AI 目前是无记忆的,上下文窗口赋予了它们短期记忆的能力。目前大模型基本都是 32k 左右,这个数值会越来越大,处理超大文档的能力会越来越强。


8️⃣ 和 AI 进行交互的方式, 是一个很大的研究领域

目前大模型交互都以聊天为主,这只是方便构建应用而已,而不代表他们是最好的交互形式。多模态(文字、图片、语音,其他媒体)将会提供更多方面、更加立体的交互形态。


9️⃣ 我们是会用一个上手的通用模型,还是多个特定领域的特定模型,或者两者兼有之?

这个答案取决于你的需求和支付能力,并且答案会随着时间推移而改变,我们目前仍处于 AI 应用大量井喷的前夜。


1️⃣0️⃣ 企业如何使用 AI,如何对待数据集

AI 在企业中的应用还很早,企业的前进一般很慢,并且他们在意自己的数据集,不会把自己的宝贵的数据交到另外一个公司的手里,因此目前企业有三种选择:找一个 LLM 提供商,自己微调 LLM,或者自己开发一个全新的 LLM。


1️⃣1️⃣ 缩放定律可以引领我们走向 AGI 吗?

AGI: 人工通用智能(Artificial General Intelligence)指的是一种理论上的形式的人工智能,它具有与人类相当的智能和认知能力。

LLM 当前遵循缩放定律:算法不变的情况下,随着数据和计算力的增加,LLM 性能越好。

但缩放定律什么时候会生效?生效之前可以引领我们走向 AGI 吗?目前没有答案。


1️⃣2️⃣ AI 有那些新能力?

在执行某些任务的时候,AI 不仅做得更好,而且还在持续提升。


1️⃣3️⃣ LLM 的价格会下降吗?

目前芯片短缺造成了供应不足,进而抬高了 LLM 的花费,但目前有报告称,英伟达明年会生产更多 H100,届时 LLM 的开销会下降。


1️⃣4️⃣ 如何测算我们走向 AGI 的进度?

难以测量。最开始的测试方法是「图灵测试」,但现在让 AI 伪装成人类说话已经不难了,难的是如何让 AI 像人一样在现实世界活动。


1️⃣5️⃣ 我们还需要人类吗?

新的技术会替代掉一些岗位,到同时也会创作更多新的工作岗位给更多的人。虽然目前看 AI 以后会自动化我们的工作,但之后 AI 所带来的新层次的问题和可能性却是难以预料的。


1️⃣6️⃣ 现在是创建一家 AI 公司最好的时机

ChatGPT 为什么能成功,创始人 Sam 告诉你如何有效提高效率

· 阅读需 8 分钟

这是一篇 ChatGPT 创始人山姆·奥特曼(Sam Altman)在 2018 年写的一篇博客,关于如何提升效率的有效建议。

你在做什么?

💰 长期主义的本质是复利公式

复利是一个金融术语,但它也适合在个人的职业上。如果你每天都在产出,那么 50 年后你的复利获益将会是巨大的。提高自己的效率是一件非常重要的事情,从原来每天的 1% 提升到 10%,复利获益会变得更大。

复利公式见 👉 长期主义的本质是复利公式

🚀 提高效率的核心:做你自己喜欢的事情

在错误的方向上前进就是在倒退,花点时间去深入思考你自己喜欢做的事情,只有自己热爱的事情,才能真正地提高你的生产效率。

🤝 把自己不喜欢的事情委托给喜欢的人

做自己喜欢的事情才能让自己效率倍增,但面对自己不喜欢的事情,那么尽量不要去做它,比如采取委托、避免,或者其他方式。委托给别人的时候要注意,要委托给那些喜欢做这件事情的人,因为从“做你喜欢的事情可以提高效率”这一原则来说,应该也要让被委托者高效地完成这件事情。

💪 坚持自己的坚持

这些年能够留给我深刻印象的是那些有强烈信念的人,这种人在大众中很罕见。如果你发现你总是附和别人,那可不是一件好事。坚持自己的坚持,有时候可能会出错,但当其他人都在迷茫的时候,你却做了正确而重要的事情,那么你将会变得更加勇敢非凡。

🚫 避免和消耗你的人在一起

要完成一件伟大的事情,应该努力和那些聪明、积极、高效和开朗的人在一起,他们不会随意贬低你的理想和抱负,并且他们可以推动你前进,也能给你带来某些启发。在你能力范围之内,避免和让你陷入精神内耗的人一起,否则代价将会是巨大的。

🔍 找对问题并解决它

我们基本上都身处红海行业,竞争激烈,我们要做的就是聪明而勤奋地工作,找到正确的问题,并正确地去解决它,这方面没有太多的捷径。

优先级

📋 三个基本原则

  1. 完成重要的事情
  2. 别把时间浪费在傻逼事情上
  3. 做大量的清单

强烈推荐使用清单

清单写下每年、每月和每天的任务,清单可以让你聚焦当下的任务,并且能够让你处理多个任务(因为你的大脑释放出来,不需要记住那么多的任务)。

可以把清单写在纸上,方便添加和移除,开会的时候进行记录也不会冒犯别人。

经常回顾清单,及时修改或者删除任务,不做分类和排序这样耗费时间的事情,重要的事情就打个“⭐️”。

优先做产生势头的事情

优先做那些可以产生“势头”的事情,你做完一件,产生成就感,继续去做下一件事情

🛡 学会冷酷无情

“为了要完成我最重要的项目,我会变得坚韧残酷——我发现只要我真心想要做成某件事,并且付出足够的努力,通常都能实现。”

I am relentless about getting my most important projects done—I’ve found that if I really want something to happen and I push hard enough, it usually happens.

“我尝试变得残酷,对于无关紧要的事情说不,对于非关键任务会以最快速的方式实现。我可能做得过头了—比如,我几乎可以确定在回复邮件时,我的简洁到了无礼的程度。

“I try to be ruthless about saying no to stuff, and doing non-critical things in the quickest way possible. I probably take this too far—for example, I am almost sure I am terse to the point of rudeness when replying to emails.”

🌐 维护一个开放的社交网络

努力避免会议和研讨会,因为这会浪费大量的时间和精力。但是日程上,也要保持一定的开放性,去接触一些新的人和想法,维护一个开放的社交网络是很重要的。在研讨会上,虽然 90% 都是浪费时间,但 10% 有价值的东西可以弥补这样的损失

物理方面

这一方面围绕睡眠、锻炼和营养展开,有些老生常谈,并且 Sam 是一个极度素食主义,这里忽略,感兴趣可以见原文。

其他方面

🏢 舒适的办公环境

办公室安静不会被人打扰,拥有自然光和一台漂亮的办公桌,以及很多台 4K 显示屏。

🛠 一些小妙招

  • 写一些自定义的小工具,让它们去干那些烦人、琐碎重复的工作。

  • 提高打字速度

  • 学习快捷键

😓 糟糕的大姨妈

像很多人一样,偶尔会有一两周丧失斗志,对任何事情都提不起劲

暂时没有什么好的解决方法,但是相信“大姨妈”总是会过去,过去之后又是精神抖擞,继续奋斗。

另外,在心情很差的时候,避免和其他人接触,这是一个良心建议。

💞 重视爱人和家庭

不要为了效率去忽略你的爱人和家庭,你提高了效率,却失去了快乐

最后

Sam 的提高效率的观点值得参考,同时他也强调了:不要掉入提高效率陷阱中,提高效率不是目的,我们的目的是为了快速、质量地完成任务

如何把一家创业公司搞垮

· 阅读需 7 分钟

在拜读了耗子哥推荐的书《重来》之后,如何把一家创业公司搞垮,我得到了一些灵感。

💎 追求完美的产品

我们都知道没有完美的产品,但是对于创业公司,想要做出完美的产品,至少需要付出很多的努力:

  1. 毫无 BUG:全面的产品交互设计、严格的编码过程、完整的用例测试等等。
  2. 大而全的功能:不要花时间去区分重要、次要,所有能力都得上,所有平台都得适配,所有功能都得支持。
  3. 延迟交付:追求完美产品,需要付出时间和精力,延期延期再延期。
  4. 沉默的反馈:开发完毕一个功能,要经过很久才能上线,迟迟得不到客户的真实反馈。

追求完美的产品,这个功能也要,那个功能也要,迟迟交付产品,磨灭团队信心,减少公司成功几率,钝刀子杀人

📊 开会的技巧

会议是一种毒药,在开会的时候,我们要尽量扩大它的毒性:

  1. 没有明确的问题,没有确定的议程。
  2. 人员尽量扩大。不要精简会议人员,多增加无关人员。
  3. 每个人都发言。多听取一些低能儿的无效意见。
  4. 去会议室。可以直接打断每个人的工作。
  5. 时长不限。不要限制开会的时间,时间越长越好。1 小时的会议,10 个人参加的话,就可以减少公司 10 小时的生产时间。

通过以上一些开会技巧,可以有效地增加会议的时长,多积累一些纸上谈兵的想法。

📆 做长期计划

做计划的本质是用过去指导未来,用以前的经验去圈套之后的变化。做长期计划,就可以把一个创业公司给套牢。

当创业公司按照一段时间去执行长期计划之后,如果发现事情不妙,可能会因为这么几个方面而硬着头皮继续执行:

  1. 沉没成本:我们都已经付出 4 个月的努力,不继续做下去很可惜吗?
  2. 傲慢自负:我们都已经定好目标了,再改变不是打脸吗?

🍔 满足客户

上线之后,要记住客户自上,来自客户的反馈都必须汲取,客户的要求都必须满足,让自己的产品成为一个臃肿的产品,成为一个臃肿产品的好处:

  1. 功能很多。用户所有的需求都能满足,意味着我们有对应处理需求的纷繁功能。
  2. 提高复杂性。每一个功能的增加,都需要对应交互,乱七八糟的功能可以让我们的产品交互变得复杂,界面花里胡哨。
  3. 拒绝新用户。通过提高产品复杂性,可以有效减少新的用户。
  4. 没有个性,平易近人。像一辆公交车一样,谁都可以上。

千万不要追求简洁,我们的目标是努力变成的微信,成就一款庞大、臃肿的垃圾产品

💰 融资扩张,多招人手

当产品取得一定的成效,就需要马上融资,融资带来的好处太多:

  1. 更大的办公室,人数更多的公司
  2. 花别人的钱会上瘾
  3. 对公司失去控制权
  4. 投资人套现离场的风险
  5. 融资非常耗时耗力
  6. 产品可能偏向迎合投资人而不是客户

多招聘人手,新来的人:

  1. 对公司不了解
  2. 对项目不了解
  3. 互相谦让,互相客气
  4. 谁也不敢指出产品缺陷

🎯 集中力量办小事

人总是有限的,资源也总是有限的,我们需要正确地调用这些人力和资源,把他们都投入到小事中,如何做到呢?

  1. 不做取舍。在众多的事情中,不要去试图找到中心点,所有的任务都必须做,所有的需求都必须完成。
  2. 没有急事。把所有事情都当做急事,那也就没有急事。
  3. 唯唯诺诺。顺从永远比争锋相对容易,人们很容易同意添加一项新功能、接受一个过于乐观的最后期限、笑纳一个平庸的设计

🚫 不以盈利为目的

公司如何通过产品盈利的事情,尽量搁置,就像我们在设计神舟一号的时候,先假设地心引力不存在

一家企业不以盈利为目的,那么公司的可持续存活就有问题,可以给员工一些退出策略:

  • 如何破产清算,保障各位 n+1
  • 被其他公司收购

让员工少一点破釜沉舟的勇气,可以让公司早一点走向 Ending。

区分元音音标和辅音音标

· 阅读需 2 分钟

👆 来自于:如何一眼区分元音音标辅音音标? 小技巧,告别死记硬背 |英语国际音标 丹的英语

区分元音音标和辅音音标的作用

  1. 拼读音标:多音节词、比较级、最高级
  2. 连读
  3. 区分单词音节数

字母的分类

👉 元音字母: a e i o u

👉 半元音字母 w y

👉 辅音字母:b c d f g h j k l m n p q r s t v x z

音标的定义

👉 元音音标:发音时气流从肺部发出经由口腔,不受阻碍自由呼出的,且需要振动声带的音标

👉 辅音音标:发音时气流从肺部发出经由口腔,气流在某些部位要受阻碍的音标

区分技巧

元音音标的特点:

  1. 长得像元音字母
  2. 双元音中其中一个长得像元音字母即可
  3. 每个字母比较“矮胖”

phonetic symbol-vowel

辅音音标的特点

  1. 长得像辅音字母
  2. 四不像却高个子: [θ] [∫] [t∫] [ð] [ŋ]
  3. 大耳朵:[ʒ] [dʒ]

consonant

多语言元老给中国语言学习者的实用建议

· 阅读需 3 分钟

来自于 【干货!多语言元老给中国语言学习者的超实用建议】

主讲人:Steve Kaufmann,今年 76 岁,掌握 20 多种语言,Youtube 频道 👉 Steve


  1. Steve 的经历?

    一开始在加拿大学校学法语,但是没有兴趣,直到大学一位教授激励到它,让他对法国文化很有兴趣,到法国后学了三年,法语掌握得特别快,69 年和中国建交,然后学习汉语,后来去了日本学了日语……

  2. 哪些外语比较简单,哪些外语比较容易?

    取决于你掌握的语言和目标学习语言之间的距离,比如 Steve 已经学习了汉语,之后学习日语就很快。

  3. 没有英语学习环境怎么办?

    🔑 多听多阅读。会读英语文章不算,需要深度阅读小说,几百万字以上。

    🔑 多说,不要怕错。说话是为了沟通,而不是为了表演

  4. 对于有英语基础的中国学生的三个建议?

    💡 一段时间后会感觉没有进步,这是因为简单词汇遇见的频率比较高,能够快速掌握,但是遇到困难词汇的频率不高,导致对于它们学习掌握比较低。 解决方法:和兴趣挂钩,比如如果你喜欢文学 or 历史,可以找文学 or 历史英文小学作为切入点。

    💡 说母语比较舒适,但学外语要走出舒适圈。

    💡 坚持,不要放弃。这个过程不会变坏,只会慢慢变好

程序员提高效率的 10 个方法

· 阅读需 10 分钟

1. 早上不要开会 📅

每个人一天是 24 小时,时间是均等的,但是时间的价值却不是均等的,早上 1 小时的价值是晚上的 4 倍。为什么这么说?

因为早晨是大脑的黄金时间,经过一晚上的睡眠,大脑经过整理、记录、休息,此时的状态是最饱满的,适合专注度高的工作,比如编程、学习外语等,如果把时间浪费在开会、刷手机等低专注度的事情上,那么就会白白浪费早上的价值。

2. 不要使用番茄钟 🍅

有时候在专心编程的时候,会产生“心流”,心流是一种高度专注的状态,当我们专注的状态被打破的时候,需要 15 分钟的时候才能重新进入状态。

有很多人推荐番茄钟工作法,设定 25 分钟倒计时,强制休息 5 分钟,之后再进入下一个番茄钟。本人在使用实际使用这种方法的时候,经常遇到的问题就是刚刚进入“心流”的专注状态,但番茄钟却响了,打破了专注,再次进入这种专注状态需要花费 15 分钟的时间。

好的替换方法是使用秒表,它跟番茄钟一样,把时间可视化,但却是正向计时,不会打破我们的“心流”,当我们编程专注度下降的时候中去查看秒表,确定自己的休息时间。

3. 休息时间不要玩手机 📱

大脑处理视觉信息需要动用 90% 的机能,并且闪烁的屏幕也会让大脑兴奋,这就是为什么明明休息了,但是重新回到工作的时候却还是感觉很疲惫的原因。

那么对于休息时间内,我们应该阻断视觉信息的输入,推荐:

  • 闭目养神 😪
  • 听音乐 🎶
  • 在办公室走动走动 🏃‍♂️
  • 和同事聊会天 💑
  • 扭扭脖子活动活动 💁‍♂️
  • 冥想 or 正念 🧘

4. 不要在工位上吃午饭 🥣

大脑经过一早上的编程劳累运转之后,此时的专注度已经下降 40%~50%,这个时候我们需要去重启我们的专注度,一个好的方法是外出就餐,外出就餐的好处有:

  • 促进血清素分泌:我们体内有一种叫做血清素的神经递质,它控制着我们的睡眠和清醒,外出就餐可以恢复我们的血清素,让我们整个人神经气爽:
    • 日光浴:外出的时候晒太阳可以促进血清素的分泌
    • 有节奏的运动:走路是一种有节奏的运动,同样可以促进血清素分泌
  • 激发场所神经元活性:场所神经元是掌控场所、空间的神经细胞,它存在于海马体中,外出就餐时场所的变化可以激发场所神经元的活性,进而促进海马体活跃,提高我们的记忆力
  • 激活乙酰胆碱:如果外出就餐去到新的餐馆、街道,尝试新的事物的话,可以激活我们体内的乙酰胆碱,它对于我们的“创作”和“灵感”起到非常大的作用。

5. 睡午觉 😴

现在科学已经研究表现,睡午觉是非常重要的一件事情,它可以:

  • 恢复我们的身体状态:26 分钟的午睡,可以让下午的工作效率提升 34%,专注力提升 54%。
  • 延长寿命:中午不睡午觉的人比中午睡午觉的人更容易扑街
  • 预防疾病:降低老年痴呆、癌症、心血管疾病、肥胖症、糖尿病、抑郁症等

睡午觉好处多多,但也要适当,15 分钟到 30 分钟的睡眠最佳,超过的话反而有害。

6. 下午上班前运动一下 🚴

下午 2 点到 4 点是人清醒度最低的时候,10 分钟的运动可以让我们的身体重新清醒,提高专注度,程序员的工作岗位和场所如果有限,推荐:

  • 1️⃣ 深蹲
  • 2️⃣ 俯卧撑
  • 3️⃣ 胯下击掌
  • 4️⃣ 爬楼梯(不要下楼梯,下楼梯比较伤膝盖,可以向上爬到顶楼,再坐电梯下来)

7. 2 分钟解决和 30 秒决断 🖖

⚒️ 2 分钟解决是指遇到在 2 分钟内可以完成的事情,我们趁热打铁把它完成。这是一个解决拖延的小技巧,作为一个程序员,经常会遇到各种各样的突发问题,对于一些问题,我们没办法很好的决策要不要立即完成, 2 分钟解决就是一个很好的辅助决策的办法。

💣 30 秒决断是指对于日常的事情,我们只需要用 30 秒去做决策就好了,这源于一个“快棋理论”,研究人员让一个著名棋手去观察一盘棋局,然后分别给他 30 秒和 1 小时去决定下一步,最后发现 30 秒和 1 小时做出的决定中,有 90% 都是一致的。

8. 不要加班,充足睡眠 💤

作为程序员,我们可能经常加班到 9 点,到了宿舍就 10 点半,洗漱上床就 12 点了,再玩会儿手机就可以到凌晨 2、3 点。

压缩睡眠时间,大脑就得不到有效的休息,第二天的专注度就会降低,工作效率也会降低,这就是一个恶性循环。

想想我们在白天工作的时候,其实有很多时间都是被无效浪费的,如果我们给自己强制设定下班时间,创新、改变工作方式,高效率、高质量、高密度的完成工作,那是否就可以减少加班,让我们有更多的自由时间去学习新的知识技术,进而又提高我们的工作效率,形成一个正向循环。

9. 睡前 2 小时 🛌

  1. 睡前两小时不能做的事情:
    • 🍲 吃东西:空腹的时候会促进生长激素,生长激素可以提高血糖,消除疲劳,但如果吃东西把血糖提高了,这时候生长激素就停止分泌了
    • 🥃 喝酒
    • ⛹️ 剧烈运动
    • 💦 洗澡水过高
    • 🎮 视觉娱乐(打游戏,看电影等)
    • 📺 闪亮的东西(看手机,看电脑,看电视)
    • 💡 在灯光过于明亮的地方
  2. 适合做的事情
    • 📖 读书
    • 🎶 听音乐
    • 🎨 非视觉娱乐
    • 🧘‍♂️ 使身体放松的轻微运动

10. 周末不用刻意补觉 🚫

很多人以周为单位进行休息,周一到周五压缩睡眠,周末再补觉,周六日一觉睡到下午 12 点,但这与工作日的睡眠节奏相冲突,造成的后果就是星期一的早上起床感的特别的厌倦、焦躁。

其实周末并不需要补觉,人体有一个以天为单位的生物钟,打破当前的生物钟周期,就会影响到下一个生物钟周期,要调节回来也需要花费一定时间。

我们应该要以天为单位进行休息,早睡早起,保持每天的专注度。

参考

以上大部分来源于书籍 《为什么精英都是时间控》,作者桦泽紫苑,是一个脑神经专家。

10 分钟把你的 Web 应用转为桌面端应用

· 阅读需 6 分钟

在桌面端应用上,Electron 也早已做大做强,GitHub桌面端、VSCode、Figma、Notion、飞书、剪映、得物都基于此。但最近后起之秀的 Tauri 也引人注目,它解决了 Electron 一个大的痛点——打包产物特别大

我们知道 Electron 基于谷歌内核 Chromium 构建,打包后无论应用多小,至少都得 70M 起步,而 Tauri 使用操作系统内的 Webview1,运行时才会去动态连接 webview,这使得它的打包速度非常快、打包后的应用更小

Tauri 跟 Electron 一点不同,Electron 使用 JavaScript 编写后台服务,而 Tauri 则使用 Rust,Rust 这两年势头很猛,更安全、性能更好,很多应用都开始转入 Rust 的怀抱,相信不久后也会是前端必学基础。

本文就基于 Tauri 作为构建桌面端应用框架,仅需一点时间,就可以将一个 Web 应用转为桌面端应用

1. 打开一个 Web 应用

我们以 FocusTide 这个应用为转换对象,它是 GitHub 开源的一个计时 Web 应用:

首先我们先 Clone 该仓库到本地:

$ git clone git@github.com:Hanziness/FocusTide.git

然后我们安装并且运行起来:

# 安装依赖
$ yarn install

# 启动服务,在 localhost:3000
$ yarn dev

2. 安装 Tauri 依赖

我们以 Mac 为例,Mac 下需要安装 CLang 和 MacOS 相关开发依赖:

$ xcode-select --install

安装 Tauri:

$ curl --proto '=https' --tlsv1.2 https://sh.rustup.rs -sSf | sh

这条命令会安装下载 Rustup,它会下载安装 Rust 相关依赖,当安装成功后控制台会显示:

$ Rust is installed now. Great!

其他操作系统安装 Tauri:

  1. Windows 下安装 Tauri:https://tauri.app/zh-cn/v1/guides/getting-started/prerequisites/#windows
  2. Linux 下安装 Tauri:https://tauri.app/zh-cn/v1/guides/getting-started/prerequisites/#linux

3. 将 Tauri 集合到项目中

在 Web 应用内,先安装 Tauri 相关的 npm 包

$ npm install --save-dev @tauri-apps/cli

pakcage.json 增加脚本命令:

"scripts": {
"tauri": "tauri"
}

接着跑 Tauri 初始化项目命令:

$ npm run tauri init

这条命令执行之后,会在当前 Web 项目产生如下 Tauri 项目:

执行之后,会有一些问题需要我们去填写

  1. What is your app name? 应用名。这个名字会作为打包后应用的正式名称。

  2. What should the window title be? 默认窗口名称。这个会作为我们打开应用窗口的名称,后续我们不需要这个窗口的话我们可以在 tauri.conf.jsonhiddenTitle 字段去隐藏它。

  3. Where are your web assets (HTML/CSS/JS) located relative to the < current dir $gt; /src-tauri/tauri.conf.json file that will be created? 生产环境下的文件路径。也就是前端项目打包之后的项目路径,这个路径相对于 /src-tauri/tauri.conf.json 路径。FocusTide 项目打包产物放在项目的 dist 文件夹中,所以我们填 ..dist

  4. What is the URL of your dev server? 开发环境下的服务路径。FocusTide 项目开发下的服务路径为 http://localhost:3000

  5. What is your frontend dev command? 前端启动开发命令。FocusTide 项目启动开发命令是 yarn dev

  6. What is your frontend build command? 前端打包命令。FocusTide 项目的打包命令是 yarn generate

执行后,生成 src-tauri,接着我们就可以把项目跑起来了:

$ npm run tauri dev

可以看到,我们的应用在窗口跑起来了:

4. 打包发布

如果开发 OK,我们就可以把应用打包出来。

$ npm run tauri build

执行打包命令后,打包应用会存放在 src-tauri/target/release/bundle 下,可以看到,打包产物非常小:

Tauri 打包过程中,会更根据当前系统平台打包,比如 Mac 下只能打包 .dmg.app 包,Windows 下打包 .msi.exe 包。

5. 部署

下载后,如果我们要公开这个应用,需要部署应用,这里我们推荐 Laf ,我们可以使用它的云存储#文件管理,把我们的应用上传上去并且得到下载链接:

6. 最后

整个转换过程其实非常简单快速,如果你花费了超过 10 分钟的话,那我们深表歉意。如果你要继续深入使用桌面后台服务,可以查看 Tauri 官网

最后,我把转换后的 FocusTide 项目放到了个人 GitHub 上,并且取名为「来做」,目前仅限 Mac 端,欢迎下载 👏🏻

Footnotes

  1. Tauri vs. Electron: A comparison, how-to, and migration guide: https://blog.logrocket.com/tauri-electron-comparison-migration-guide/