这周在干啥
两个 PR
给字节跳动贡献代码了
这周给字节贡献了第一个 PR,非常开心。
一个简单的文档 PR
这周的另一个 PR
其他
- 塞尔达打过火神兽啦!
- 周末在家看了喜剧之王单口季,第二期周奇墨,教主,付航接连炸场,太强了。强烈推荐。
散步随想
假设一个人能活到 80 岁,他从 10 岁开始阅读书籍,每年阅读 50 本书,那么终其一生,也不过阅读 3500 本。 而现在人类已经创作的书籍粗略估计已经超过上亿本。 我们应该怎么做?
- 挑选高质量的书籍,避免差的信息源干扰。
- 阅读书籍前查看简介,目录,快速大概了解这本书值不值得阅读。
- 通过快速了解这本书的大致内容判断是否能够解决你的问题。
了解作者的生平,研究方向是否符合是书籍内容。而不是兴趣爱好等
Kevin Kelly 在上海外滩大会上对 AI 的三个预测,我的笔记:
- 当答案触手可及,提出问题的能力就更为重要了; 那么如何提出一个好的问题?
- AI 将极大程度克服语言障碍,全球劳动力将共同竞争; 答:所以要使用时刻关注国际化的信息,而不是束缚在中文圈子。多阅读 Hacker News,Medium 等等论坛。
- AI 提高了低技能劳动者的工作能力;
- 全场景学习比阅读会让人接受更多的知识;
- AI 会帮我们做我们不想做的事情;
- 想象十年后会发生什么? 答:以自动驾驶为例。我认为五年内大多数的一二线城市(至少是每个省份的省会城市和经济发达地区)载人自动驾驶将会全面铺开,运输的成本也会大幅度下降。 目前国内已经有许多城市正在进行试点。相较于技术上的难度,法律法规可能是更大的挑战。如果自动驾驶汽车发生事故,那么谁应该来对这些事故负责?是写代码的程序员,还是运营公司的老板?如果出现人命,那应该怎么去处理?
这周发现了啥
shields.io:给你的技术栈生成徽章
GitHub 上有一个库 (markdown-badges)[https://github.com/Ileriayo/markdown-badges]。根据 shields.io 提供的 API,生成各种徽章。可以直接复制使用。
改变 AirDrop 的存储位置
AirDrop 的文件默认存储在 Downloads 文件夹。但是我更习惯存储在桌面。我通过这篇文章教程,改变了 AirDrop 的存储位置。
How to change the default AirDrop destination folder on Mac
文章里面通过设置 Folder Action Setup
添加脚本,将 AirDrop 接收到的文件移动到指定文件夹。
property AIRDROP_FOLDER : "Macintosh HD:Users:username:Desktop"
property QUARANTINE_KEY : "59"
property GET_QUARANTINE_COMMAND_START : "ls -l -@ '"
property GET_QUARANTINE_COMMAND_END : "' | tr '\\n' ' ' | sed 's/.*com\\.apple\\.quarantine\\s*\\(\\d*\\)/ \\1/' | awk '{$1=$1};1'"
on adding folder items to this_folder after receiving added_items
repeat with i from 1 to length of added_items
set current_item to item i of added_items
set quarantine_type to getQuarantineType(POSIX path of current_item)
if quarantine_type is equal to QUARANTINE_KEY then
moveFile(current_item, alias AIRDROP_FOLDER)
end if
end repeat
end adding folder items to
on moveFile(move_file, destination_dir)
tell application "Finder"
move move_file to destination_dir with replacing
end tell
end moveFile
on getQuarantineType(file_path)
return do shell script GET_QUARANTINE_COMMAND_START & file_path & GET_QUARANTINE_COMMAND_END
end getQuarantineType
将第一行的 username
改为你的用户名就可以了。
后面发现了这个命令,不知道是否有效。因为已经设置完成了,没有再试验。
defaults write com.apple.airdrop userfilepath -string ~/Desktop
宝玉推荐的 Prompt Engineering(提示工程)
https://x.com/dotey/status/1830487029139800266?s=12
让中国手机用上 eSIM!
eSIM 转 SIM 实体卡
https://iecho.cc/2023/10/20/Convert-eSIM-to-physical-SIM/
收藏了,以后有需要可以用到。
这周在读啥
在看的书
- 《JavaScript语言精粹》
硬地骇客 - 两个月 $12000 ARR 实践之路
硬地骇客的 Podwise 从灵感,启动到收入 $12000 的实践记录。
很好的关于独立开发者产品的。有推荐了很多起步阶段可以使用的工具。
Podwise 能够快速上线,离不开众多优秀的三方 SaaS 服务。我们选择这些服务的主要原因是物美价廉,甚至免费。
- Vercel:一站式应用部署平台,专注前端技术栈,支持 NextJS。免费计划足以应对项目初期需求。
- Zeabur:国内团队开发的部署平台,不依赖 AWS lambda,支持容器部署,补充 Vercel 的不足。
- Supabase:开源的 Firebase 替代品,提供认证、数据库、存储等服务。我们使用其认证功能实现 Podwise 登录注册。
- PlanetScale:易用的 MySQL 云服务,主数据源。尽管免费计划取消,我们依然选择继续使用。可替代选项有 Neon 和 Supabase。
- Clarity:微软推出的免费站点热力图和用户行为分析工具,可与 Google Analytics 集成。
- Tallyform:免费表单工具,功能强大,用于反馈收集和 bug 报告。
- Google Analytics:Google 提供的免费流量分析工具。
- BetterStack:监控平台,可实时监控应用并整合 Vercel 日志,免费用量有限。
- Sentry:前端错误监控平台,适合阶段性使用以提升产品质量。
服务厂商开发者启动项目计划
AWS:https://aws.amazon.com/startups Azure:https://www.microsoft.com/en-us/startups Google:https://startup.google.com/programs/
前端组件的封装
高效组件的设计与封装之道
https://mp.weixin.qq.com/s/Tm4O-YuVesjbzNMDu9CQDQ
图源:Josh W Comeau 的 React 课程:https://www.joyofreact.com/
【译】React组件组合:如何做到恰到好处
https://juejin.cn/post/7304594468158226472
将组件分解为较小组件的最重要规则是,当一个组件太大时。对我来说,一个组件的合适大小是它可以完全显示在我的笔记本电脑屏幕上。如果我需要滚动才能阅读组件的代码 - 这是一个明显的迹象,表明它太大了。
腾讯写码6年,我总结的技术人核心竞争力
https://mp.weixin.qq.com/s/EFi1GzHy5qAx9Ixnppoybw
前端 Axios 的封装
防抖和节流
防抖:在经过一定的时间后才执行函数,避免在短时间内大量发起请求。
节流:类似技能冷却。马上发起请求,然后需要一定的冷却时间才能再次发起请求。 可能存在的问题:
可能存在的问题:在不同的地方发起相同的请求,后调用的拿不到数据。 优化建议:缓存请求的 Promise,在多次请求只返回同一份Promise。
可能存在的问题:tokenKey 只取 method 和 url,如果多个地方同时调用了接口并且参数不同怎么办? 优化建议:使用调用参数生成 hash 值,确保不同的请求条件不做防抖或节流
这周在听啥
EP41 换城市就是换运?聊聊如何选择旺自己的城市 - 停电时间Power outage
在公园散步
我 gap 了四个月
我会花整整一下午的时间在观察云卷云舒
这是多么奢侈的体验