# Grtsinry43 的前端札记 · 文章

> 第 1 / 1 页，共 38 篇。链接指向 Markdown 正文；引用请使用正文中的原网页地址。

## 阅读

- [我是怎样使用 AI Agent 写代码的](<https://blog.grtsinry43.com/posts/coding-with-ai-agent/index.md>): 到现在，我更关心的是，怎样让它参与工作的同时，不让自己失去对工作的理解。 我不再追求所有代码都由自己手写，也不再把“全部交给 AI”当成效率的终点。 真正稳定的状态，是知道什么时候应该讨论，什么时候可以让它执行，什么时候需要 Review，以及什么时候应该停下来，自己亲手实现。（更新：2026-07-16T04:46:31Z）
- [「手搓系列 02」深入浅出 Agent Skills：架构、实现与思考](<https://blog.grtsinry43.com/posts/agent-skills-deep-dive/index.md>): Skills 会变成 AI 协作工具的基础设施——不只是 Claude Code，各种 AI 工具都会需要一种方式来 "安装能力"。"Markdown + frontmatter + 按需加载" 这种模式，至少活到现在，说明还是有优点在的。（更新：2026-05-05T06:58:34Z）
- [我患上了 token 的瘾](<https://blog.grtsinry43.com/posts/token-addiction/index.md>): 面对未来的开发范式，我依然充满迷茫与恐惧。但我知道，明天早晨醒来，我依然会点开那个熟悉的代码编辑器，把我的业务需求和底层架构，毫无保留地喂给那些大模型。（更新：2026-03-29T12:54:12Z）
- [Xiaomi 17 标准版刷机折腾记：解锁、官改ROM与必备模块](<https://blog.grtsinry43.com/posts/xiaomi-17-bootloader-unlock-custom-rom/index.md>): 纠结了很久，还是入手了 Xiaomi 17 标准版。 买这个主要起源于最新小米设备上爆出的解锁漏洞，使得 8e5 机型重新解锁 bootloader 成为可能。 这篇文章主要讲讲我的折腾经历，但是隐去了解锁的流程，大家随便搜索论坛，酷安上，还有搞机 QQ 群都能拿到，等到解锁之后，就可以正式开始折腾了。（更新：2026-03-14T04:30:37Z）
- [从 v1 到 v2，谈谈这个简单博客背后的架构演进与实现](<https://blog.grtsinry43.com/posts/grtblog-v2-architecture/index.md>): 写下这篇文章的时候，`grtblog-v2` 的核心功能开发已经基本告一段落。 https://github.com/grtsinry43/grtblog-v2 目前正在进行稳定性测试，确认稳定后会逐步修复 Bug、补充功能，并拉朋友内测。当前的测试地址在： https://blog-next.grtsinry43.c…（更新：2026-03-06T05:11:14Z）
- [Go 语言初体验：Less is more，一种丑但可靠的工程美学](<https://blog.grtsinry43.com/posts/go-first-experience/index.md>): 最近新项目评估技术栈，因为 Java/Kotlin 太重，TypeScript/JavaScript（Node.js）因为 js 原型链的问题我一直感觉不是合格的后端语言，写 Rust 的话社区根本不会有几个人贡献，再加上后台任务，轻量化，易于部署，可能就只有 Go 能担任这个职责了。 其实我之前用过 go 的，当时在…（更新：2026-01-26T05:47:33Z）
- [2025 年终总结——从晨光到雾散，化经历为成长](<https://blog.grtsinry43.com/posts/2025-summary/index.md>): > 副标题：在爱中重新振作，于是我们真的曾将彼此照亮 说实话，我是一个很喜欢总结的人，而真的到想要总结这一年的时候，我才发现这一年很难定义了。 ::: year-card{slug="2025-summary" title="2025 年终总结" type="page" href="https://2025-summa…（更新：2026-03-08T16:35:04Z）
- [新时代的 PHP：RSC 的边界错位与工程代价](<https://blog.grtsinry43.com/posts/rsc-boundary-mismatch/index.md>): 讽刺的是，这篇文章，也就是你看到这个网站，正在运行在 Next.js 上，但由于无法承受的问题和维护压力，我已经很认真地把“放弃 Next.js”提上日程了。 Next.js 本身我正在用、也在骂。原因不复杂：这两年最“新时代 PHP”的东西，不是某个新框架，而是 **前端在不自知的情况下，被推去承接后端该承担的安全边…（更新：2025-12-13T16:09:44Z）
- [从想法到实践：在无序的生活里，试图用代码敲出一点秩序](<https://blog.grtsinry43.com/posts/from-think-to-code-in-2025/index.md>): > 其实标题应该是 于痛苦中和解，或者说，只是为了让自己别停下来罢了 回头看了一眼，距离无法正常行动到现在，已经过去三个月了，直到月底，我也不知道我还能不能正常行走。 [命运开了个无情的玩笑](https://blog.grtsinry43.com/moments/2025/09/16/some-dark-days) …（更新：2025-11-22T16:54:07Z）
- [PureFlow 简析：用 Kotlin 跨平台构建 RSS 阅读器](<https://blog.grtsinry43.com/posts/kmp-pureflow/index.md>): 之前研究那么久 KMP...但是直到现在也没写什么 demo 项目，这次因为身体原因刚好出不去，唉，正好有时间探索这个了。 > [!NOTE] > > 目前只是个 demo ，之后我有时间有精力会慢慢添加功能 项目地址：[https://github.com/grtsinry43/PureFlow](https://g…（更新：2025-09-22T12:29:52Z）
- [「手搓系列 01」 从零搭建 Vue 文档站，学习从静态生成到语法解析](<https://blog.grtsinry43.com/posts/hands-on-vue-docs/index.md>): 最近在实习，好久不更新了，休假回校之前，准备开一个新的合集 「手搓系列」，我们从头实现一些习以为常的前端轮子/技术栈/工具链，用手写的方式学习它的思路，同时得到些新的思考。 手搓的故事就从比较知名的文档网站 VitePress 开始吧，之后预计还有打包工具，ui 库，以及前端基建，干货多多，可以考虑长期追更（doge）…（更新：2025-09-02T18:03:56Z）
- [手把手带你玩转 Monorepo，拥抱现代前端开发新范式](<https://blog.grtsinry43.com/posts/monorepo-quick-guide/index.md>): > 你是否曾被这些问题困扰？ > > * 管理多个相互关联的 Git 仓库（或是复杂的 git submodules），心力交瘁。 > * 想在项目 A 中复用项目 B 的组件或工具函数，只能复制粘贴或者发布成 npm 包，流程繁琐。 > * 多个项目依赖同一个库，版本不一致导致“依赖地狱”。 > * 每次进行一个跨项…（更新：2025-07-21T06:03:33Z）
- [好久不见，这是一份来自作者的独白](<https://blog.grtsinry43.com/posts/thanks-to-three-years/index.md>): 最近在实习，一直没有更新，猛的发现已经过去这么久了 就在刚刚，我请求一个 llm，帮我这破站总结了一下。 你可以在这儿看看：[一份来自 AI 的全站总结](https://blog.grtsinry43.com/overall) 看着那份冷静得可怕、又精准得无话可说的报告，我愣了半天。那些我以为早就忘掉的折腾的记录、踩…（更新：2025-06-28T09:04:00Z）
- [构建一站式个人数字平台：在 2C2G 服务器上自建 Memos、Joplin、Gitea 与 Wiki.js](<https://blog.grtsinry43.com/posts/personal-open-source-alterative/index.md>): # 构建一站式个人数字平台：在 2C2G 服务器上自建 Memos、Joplin、Gitea 与 Wiki.js 前段时间课内作业需要，学校和华为云合作并给我们发放了代金券，由此我第一次使用华为云平台。 对于我这种前几年游击于各个云平台限时活动的“大冤种老用户”，虽然近几年云服务商都降价推广，活动频繁，但是来到一个新平…（更新：2025-05-04T08:50:56Z）
- [现代安卓开发之 Jetpack Compose、Xposed Hook 与 Kotlin Multiplatform](<https://blog.grtsinry43.com/posts/modern-android-explore/index.md>): emm上来堆三个技术名词太劝退，每个部分开始之前我都会写一段简短的介绍，用很通俗的语言讲解下这是个什么东西。 写这篇文章起源于我最近悲惨的生活和精神状态，因此适当摸摸鱼写写有趣的东西，尤其是写kotlin真的很爽，最近是真的写了很多 ![wakatime](/uploads/2025/04/23/image.png_d…（更新：2025-04-23T14:48:31Z）
- [登山节微信网页实现思路简述 ｜ 实现定位和数据处理](<https://blog.grtsinry43.com/posts/csu-dynamic-youth/index.md>): 去年 10 月份左右，学校组织活动需要，要求 7 天内实现一个登山节打卡用微信网页，包含定位打卡，排行榜，抽奖等等功能，其实当时一周内我就已经完成并迭代至稳定，~~但是当时这个博客还没有重构完故没有记录~~，如今新一期的活动准备开始，新功能和管理面板的开发需求也已经接近完成。但还没完成 ~~（硬控了我好久）~~，分享一…（更新：2025-03-23T08:01:50Z）
- [Redux 数据仓库的数据持久化和 Next.js 中使用流程 | JustPure 起始页的构建历程](<https://blog.grtsinry43.com/posts/just-pure-redux/index.md>): # Redux 数据仓库的数据持久化和 Next.js 中使用流程 | JustPure 起始页的构建历程 最近写了一个浏览器的起始页，是我无数忙碌任务中拼命抽时间赶出来的，很简陋但也是这段时间的一点心血，在无数忙碌生活中留下一个小小的自己的栖息罢了。 [JustPure 起始页——摒弃繁杂，唯有纯粹](https:/…（更新：2025-03-07T03:54:59Z）
- [零成本手把手带你建一个学习笔记网站（AriaDocs 项目的使用简记）](<https://blog.grtsinry43.com/posts/ariadocs-quicklook/index.md>): 偶然逛 Vercel 遇到的，本来我是有计划搞一个类似的文档的，并且计划随便搭个 Wikijs，或者 Vitepress/Docusaurus 推一个静态，但是一直懒了就鸽置了。但是感觉这个项目很简洁很舒服，并且自己随便改改代码就可以扩展 MDX，~~而且它还符合我的审美~~，用一下记录一下。 这篇文章面向没有前端基础…（更新：2025-03-01T16:28:34Z）
- [动手部署 Grtblog 前后端，即刻拥有自己的博客网站](<https://blog.grtsinry43.com/posts/grtblog-deploy/index.md>): 开学了比较忙，没想到一下子拖了这么久，有好多小伙伴评论和 b 站私信评论催我，赶快我抽时间弄了下部署流程，非常抱歉大家，我这项目也比较烂然后也刚好最近事情比较多。 本站使用的是自建的前后端，所以要求是有一台云服务器，预计要求大概是 2c2g，腾讯阿里云 99/r 的轻量应用应该就可以。 这个项目分为，前端，后端，管理面…（更新：2025-02-18T16:11:45Z）
- [刷机半生，归来仍是 MIUI | HyperOS2 初体验及亿些吐槽](<https://blog.grtsinry43.com/posts/hyperos2-experience/index.md>): 大概是不到一个月前，我还是从用了七八个月的类原生换成了 HyperOS2 官改。 谈到我为什么要做这个决定，以及小米研究了这么久的澎湃 2.0 怎么样，看我慢慢讲述。 如果你翻过相册，也可以看到当时随便刷机时留下来的照片，[传送门](https://blog.grtsinry43.com/album) 体验了一个月左右…（更新：2025-02-16T13:02:22Z）
- [使用 pf4j-spring 实现插件注入和 api 接口动态注册 | 插件系统构建（上）](<https://blog.grtsinry43.com/posts/pf4j-spring-plugins/index.md>): 哪个男孩不想拥有一个自己的插件系统？（x）话说回来，这个我已经计划好久了，不过一直在学其他的东西，刚开始想的是微服务+注册中心，不过对个人来说写这个实在太消耗精力了。在群里大佬的推荐下我感觉可以用 pf4j 试一试，不过毕竟是新玩意儿，加上...它文档是真的抽象，更不必说中文互联网从头翻到尾都是依托答辩，所以最后的效果…（更新：2025-01-25T16:20:46Z）
- [B 站直播弹幕的 WebSocket 获取尝试与抽奖程序实现](<https://blog.grtsinry43.com/posts/bilibili-danmaku-ws/index.md>): 网上对于 B 站的直播 ws 协议研究已经很多了，但是一是相互 copy 未形成完整的解决方案，二是 B 站收紧了未登录用户查看的弹幕信息。正巧学校团委部门直播使用，于是就有了我的相关尝试 > [!NOTE] 提示 > 这个方法不知道以后会不会再被限制，不过其原理上是完全模拟用户操作，与真实用户使用浏览器相同。 > […（更新：2025-01-17T07:35:03Z）
- [使用 BeautifulSoup 配合请求库实现简单的爬虫程序](<https://blog.grtsinry43.com/posts/beautifulsoup-simple-spider/index.md>): 事情起源于课内的课程实验作业...因为要求要用爬虫，~~不必说课内讲的一言难尽，更不必说就算讲了我也会在课上自己写项目不听这个~~，不过作为目前炒作很火的一样工具，其在获取数据层面提供的便利还是不能忽视的，于是我还是打算浅浅研究了一下，应付完了作业，~~然而还要水实验报告~~，于是就有了这篇文章，比较基础，不过用在日常…（更新：2025-01-07T11:47:20Z）
- [快速搭建专属域名邮箱服务，简单整合邮箱消息推送功能至 Spring Boot 应用程序](<https://blog.grtsinry43.com/posts/spring-boot-mail-push/index.md>): 作为即时通信的重要方式，邮件在互联网互动中起到举足轻重的作用，而搭建邮件推送服务不仅可以做到实时的消息交流，更能拉近网站与用户的距离，增加用户粘性，本文将介绍获取域名邮箱，启用 smtp，集成后端，实现推送的全过程，带你让网站“活起来”。 ## 搭建域名邮箱服务 > 感谢 [@miaoer](https://www.m…（更新：2025-01-02T13:27:42Z）
- [2024 年终总结——于血泪中求索，于迷茫中坚守](<https://blog.grtsinry43.com/posts/summary-2024/index.md>): 对我来说，2024 算是充满波折而又有些许收获的一年了，对于前端的正式系统探索从这里开始，这一年从入门直到写了一个又一个全栈项目，从刚入学的懵懂小登变成了老油条，认识了好多朋友，也遇见了好多大佬，如果概括这一年的经历，那么就是 **于血泪中求索，于迷茫中坚守**。一年的时间里我变得越来越现实，但是也学着对生活满怀希望，…（更新：2024-12-26T11:37:48Z）
- [使用Spring Security快速实现Oauth2客户端配置](<https://blog.grtsinry43.com/posts/spring-security-oauth2/index.md>): 在Spring的强大生态中，我们很多时候只需要简单的配置就可以完成想要的需求。在Grtblog中，我使用了其提供的能力快速完成了Oauth2Client配置，实现了第三方账号的快速注册以及登录，更便于用户快速获得账号参与评论，提升用户体验。 ## 安装依赖 在`pom.xml`中添加相关的依赖并同步即可 ```xml …（更新：2024-12-15T15:52:13Z）
- [用一个月的时间写一个自己的博客系统——Grtblog的技术介绍](<https://blog.grtsinry43.com/posts/grtblog-simple-introduction/index.md>): 终于，历时一个多月的开发 ~~bug~~ 和测试，这个目前问题很多很不成熟很难用的系统终于上线了...也了结了我一直以来重构这个网站的小愿望，算是我的第一个全栈中小型项目，之前的感觉大多都是小型玩具项目，虽然也给学校学了好多项目，有几万用户和几千并发，但是这次算是略微复杂的业务逻辑，还要考虑用户体验，尤其是我还为了这个…（更新：2024-12-13T16:44:51Z）
- [利用Vue自定义指令（directives）实现全站动画效果](<https://blog.grtsinry43.com/posts/vue3-spring-animation/index.md>): 最近一直在学习 React 高阶知识，因此对于主页的开发再一次停滞了，主要也是一段时间内没有找到什么灵感，今天空闲时间打开又添加了一些另外的功能，其中包括了折腾了好久的主页加载 Spring （不是那个 Spring 啦）弹簧效果和模糊效果。 <!--more--> 最后的效果在 **[Grtsinry43 的个人主页…（更新：2024-10-12T21:19:25Z）
- [折腾记录｜使用 Nuxt.js 重写个人主页，使用 SSR 优化 SEO ，实现一些期待已久的效果](<https://blog.grtsinry43.com/posts/home-website-refactoring-nuxtjs/index.md>): 在 22 年刚创建个人主页的时候，由于我的技术水平不够，只能用一些 wordpress typecho 这种直观的工具，后来因为换域名等等一系列的问题就被搁置了...再后来为了过备案，用图形化工具和 bootstrap 糊了一个，而如今熟练掌握 Vue 和 React 等框架之后，也到了完全重写的时候了，于是就有了这段…（更新：2024-09-18T18:09:49Z）
- [使用 Spring Boot + MyBatisPlus 提高效率，简化开发](<https://blog.grtsinry43.com/posts/springboot-mybatisplus-quickstart/index.md>): 最近一段时间，由于一些项目的需求，于是被迫用很快的速度学完了 Spring Framework，SpringMVC，Spring Boot。 然而实际上，我认为学习后端框架原理，前端的脚手架开发，搞一些基础建设是远远比每天写单调简单的业务逻辑要收获更多的，就是更多还是要有解决问题的能力和创新进步的想法吧，所以写业务逻辑…（更新：2024-08-11T00:05:33Z）
- [六月初至七月中旬｜前端学习简要总结，生活的小回顾](<https://blog.grtsinry43.com/posts/202406-frontend-summary/index.md>): 在这段时间里我通过完成多个项目，深入学习了前端和全栈开发的技术。主要使用了 Vue3、C++ Web 框架、jwt 鉴权、Docker、Nginx、FastAPI、微信网页开发、Vue2、Vant 组件库、TypeScript 和 React 等技术。 项目驱动对我来说是一种很好的学习方式哈哈哈，不仅让我掌握了新技术，…（更新：2024-07-11T23:27:23Z）
- [学习分享｜Vue3项目中使用微信SDK开发微信网页](<https://blog.grtsinry43.com/posts/wx-js-sdk-usage-vue3/index.md>): 最近在开发一个微信 H5 的项目，采用的是 Vue3+FastAPI，正好学习下微信用户登录，api 配置和调用，以及前后端关于这部分的解决方案 <!--more--> 对微信网页开发的探索起源于最近的一个项目，需要一方面调用微信登录获取用户信息和将 token 作为区分用户的方式，另一方面要调用微信网页的 API 实…（更新：2024-07-03T10:54:25Z）
- [学习分享｜Kubernetes快速上手，快速了解及开始使用](<https://blog.grtsinry43.com/posts/kubernetes-quick-start/index.md>): 最近感觉 K8s 挺火的，也许是时下比较热门的技术栈了，学习过程比较曲折复杂，分享一下自己的学习过程，从快速入门，到一些深入的使用 <!--more--> ## 简要介绍 ### Kubernetes 简介 Kubernetes，通常简称为 “k8s”，是一个开源平台，用于自动化部署、扩展和管理容器化应用程序。它允许您…（更新：2024-06-27T19:09:46Z）
- [问题解决｜使用Less变量和媒体查询实现深浅色模式适配](<https://blog.grtsinry43.com/posts/less-media-variable/index.md>): 使用Less变量简化css写法，并不影响css变量和媒体查询在深浅模式切换时的效果 <!--more--> ## 分析问题 首先要清楚问题的来源是什么，使用媒体查询api可以根据深浅色为css变量赋予不同的值，而Less（或是scss）不是原生被浏览器所支持，运行时需要先转为为原生css，这一步也就是编译，有点类似ts…（更新：2024-06-09T21:36:30Z）
- [学习分享｜原生三件套的网页效果](<https://blog.grtsinry43.com/posts/learn-simple-frontend/index.md>): 这是学习前端基础，用原生三件套尤其是js实现效果一些学习过程的记录，首先是静态的小米商城，之后实现了一些效果，比如表格、轮播图、瀑布流等，都是为了提升自己原生js的dom操作能力 <!--more--> 话题开始之前是一些没有用的内容： 首先是因为之前那个副硬盘位的西数盘经常掉盘（损失惨重），问了一下居然是兼容性问题（…（更新：2024-06-09T21:29:07Z）
- [学习分享｜跨域解决、安卓开发探索、油猴脚本探索](<https://blog.grtsinry43.com/posts/learn-share-1/index.md>): 最近学习的一些内容，包括跨域问题及其解决方案，安卓开发的简单探索，OpenAI的api做了个小插件 <!--more--> 额，把原来用Hexo托管在Github上的博客重新搞了一下，本来我是想坚持每天写博客的，但一直苦于没有时间~~（其实就是懒）~~，腾出时间把服务器和备案给搞了~~（又找借口）~~，本来想用Vue和…（更新：2024-06-09T21:22:48Z）
- [高考之后回来啦](<https://blog.grtsinry43.com/posts/helloback/index.md>): 终于终于，忙碌而又充实的高三生活结束了，当然，这也意味着人生的一个新阶段开始啦 作为计算机技术的爱好者但也是小白，这次是一个新的起点， 希望自己能抓住这段时间，不断进步和成长。生命不息，学习不止！ <!--more--> 未来这里会更新我的学习笔记和收获，希望自己不断进步，踏实进取！也希望自己和同行的朋友相互督促拒绝摆…（更新：2023-06-16T23:21:49Z）
- [高中时期一些文章的整理合集](<https://blog.grtsinry43.com/posts/article-archive/index.md>): 这里归档了一些我高中时候写的作文，既是黑历史，也是一段之前的记忆吧 大多数都是格式文章，千篇一律的套路啦 <!--more--> --- Hi~居然让你发现了，这是我高考前自己写的和积累的一些文章。 如果你正在准备高考，那么这些主题很明确语言很吸人眼球的文章会对你有很大帮助； 如果你只是看完技术文章之后发现了这里，不妨…（更新：2023-06-15T14:21:19Z）

## 目录导航

- [博客阅读指南](https://blog.grtsinry43.com/llms.txt)
