久别重逢的生活碎片
前些日子,和久违的高中同学见面一起吃了个饭。 时间过得很快,转眼间大学也毕竟毕业两年多了。据我所了解的,我那届高中同学,有很多在大学毕业之后没有就业而是选择了继续深造。两年的时间又过去了,不少研究生也已经毕业,参加工作了。
从聊天中得知,有些人在本地找到了一份稳定的工作…
在 Expo 中使用 Native 组件
目前,较为流行的 React Native 框架是 Expo,Expo 提供了 Expo Modules API 可供我们快速的开发一个 Native 组件或者模块。 这篇文章将简单介绍如何在 Expo ~52 中在当前项目中初始化并编写一个简单的 Native 组件。
准备
开…
新年的路
许久没有写代码了,原因是最近自驾去了挺多地方。 年前,去了海宁神仙湖。第一次上高速。
https://object.innei.in/bed/2025/0202_1738511753954.jpeg
https://object.innei.in/bed/2025/0202…
React Native 实践:Colors
开始编写 Follow Mobile 已经过去一个月了,想想也该沉淀点什么东西了。 这篇文章首先来讲讲 Follow Mobile 的颜色体系。
开始之前需要知道的是 Follow Mobile 是使用 React Native 开发的并且使用了 Expo 框架。
准备条件
由于…

构想:Electron Render OTA 更新
动机 由于 App 的版本铺量存在碎片化,用户升级不及时或者不更新,会导致版本长期停留在旧版本无法得到最快的安全性或者其他功能修复。
由于 Electron App 的全量更新需要更多的网络流量才能进行,对用户不友好。
拟使用热更的方式去动态更新 Electron 的…
Vercel 部署的单页应用(SPA)动态 Meta 标签实践
这篇文章是实现 Follow 的 Separate main application and external pages and SEO support 这个 PR 的一部分技术细节,由于其中的技术细节较多,所以这将是系列文中的一篇。 在上一篇文章在 Vercel 部署一个…
刹那
又过了半个月之久。这些天发生了什么值得记录的呢。 黑客松
上周公司举行了内部的黑客松,时间为:
Sep 20, 2024 00:00 GMT – Sep 27, 2024 00:00 GMT
刚好是过了中秋节,第一次参加任何形式的黑客松,也是一次和同事友好交流的机会,就参加了…
浅谈 Follow 中的设计理念
作为 Follow 的核心开发者,经过了三个多月的打磨,或者可以在这里讲讲其中的一些设计理念。 https://github.com/RSSNext/follow
图标转换
在 Follow 中,我们使用了大量图标,在一些场景下,状态的切换会伴随着图标的切换。
为了让图标转换的过…
React i18n CSR 最佳实践
最近,社区又开始给 Follow 上强度了,搞起了 i18n 工作。 开始之前有一个完善的 i18n 基建才是硬道理。我们选择 react-i18next。
接下来,我们会由浅入深去配置一个完善的 i18n 基建。
基础配置
安装
Copy
npm install react…
写在中秋前
关于工作 首先来说说 Follow 吧。挺开心的也挺意外的,参与的一个前端项目在这周几乎每天都上了 GitHub Treading。这周榜首也是 Follow。因为这个项目我作为 Top 1 Contributor 也是挺有成就感的一件事。
https://x.com…
南京行·工作进展与心情焦虑
南京 前些天的突然决定,买了去南京的高铁票。就这样周末去了一趟南京。
没有任何行程,毫无计划。
第一站,去朋友家里。
出地铁后,看到了南京小米。
然后是
https://x.com/__oQuery/status/1829828314003095747
晚上,去了夫子庙和秦淮河…
ShadowDOM 中样式隔离和继承
如果你了解 Web Component 那么你一定知道 Shadow DOM,Shadow DOM 是用于创建一个与外部隔离的 DOM Tree,在微前端中比较常见,可以在内部定义任何样式也不会污染外部的样式,但是也因为这个特征导致 Shadow DOM 中也不会继承任何外部样式…

再渡轮回
经过了五天的努力,我已经通关了「黑神话・悟空」。这是一款既塞尔达传说之后让我如此沉迷的。每天梦里都有那棍法。 上回说到,我在 PS5 上玩到虎先锋就一直过不去。于是我在 Steam 平台购买了,使用风灵月影来降低游戏的难度。按我的游戏水平…
从讨厌写作到乐于分享:我与写博客的心路历程
另外我更觉得写博客这种事... 写 比 发 更重要。 当你有一箩筐精心打磨的内容无论到哪个平台都应该是会受到关注的,而且既然此人都能打磨出高质量的内容他必然也是领域精英,也一定可以收获社媒声量。
所以不用担心没人看,我们都该担心自己愿不愿意写。
今天的主题从川哥的一个推文讲起…
忙碌中的思索:生活、工作与娱乐
已经有一个月没有写点什么了,但是好像也无话可写。 行业交流
最近这段时间,开始忙起来了。除了主业之外,也尝试开始发展一些副业。很快,新工作也已经两个月了,内心也还是有些焦虑的,也不知道之后试用期能不能过。
这些天和行业内的老人也算是进行了一些交流,大环境真的挺差的…
在 Nest.js 中使用 Auth.js
Auth.js 是一个可以非常方便接入 OAuth 的一个身份验证库。他起初是为 Next.js 而设计。如今官方以为其供一些常用框架的集成,但是不幸的是,并没有 Nest.js 的官方支持。 这篇文章将从零开始构造一个适用于 Nest.js 的 AuthModule…
一种在 Electron 和 Web 环境下显示原生及自定义菜单的通用方法
本文介绍一种可以在 Electron 应用中显示原生菜单,并且在非 Electron 环境(Web)下也可以显示自定义的上下文菜单的方法。通过封装一个通用组件和调用方法,在两套环境中交互统一。 调出原生菜单
在 Electron 中,默认情况下右键并不会弹出类似 Chrome…
被裁员后的恐惧
最近一直都在被裁员之后的恐惧中。 不知不觉已经过去了一个多月了。
上个月的 9 号下午,通知我被优化了,没有任何的征兆,原因是项目组资金砍半了,人也要砍半。想起来也是伤感,自从离开小红书后,选择降薪去到一家喜欢的公司做充满艺术感的产品,本以为能够一直做下去…