在VitePress中实现内联Vue组件
发表于 | 分类于 技术原理
VitePress默认就支持在markdown中使用Vue组件,唯一的缺点是需要单独将SFC组件文件引入。
本文将探究一种新的方式,直接在markdown文档中编写Vue组件。
ENWriting Inline Vue SFCs Directly in VitePress Markdown
发表于
VitePress supports Vue components inside Markdown out of the box. The one friction point is that each component has to be imported from its own file. This post covers a plugin that removes that step: write the SFC as a fenced code block in the Markdown itself, and it is compiled into a real component in place.
初识并查集
发表于 | 分类于 数据结构和算法
并查集可以快速检测两个节点是否连通(具有相同的父节点),虽然用邻接矩阵也可以实现,但并查集空间复杂度是O(n),且时间复杂度也可以接近O(1),在处理图中某些特定问题非常有用。
博客v0.9迭代记录
发表于 | 分类于 博客
之前的博客文章是通过hexo来管理的,其目录结构类似于
_drafts目录存放草稿_posts目录保存了全部已发表的文章
这种平铺的结构并不是很容易直观地管理知识点,同时之前实现的SSR并不支持mdx,让一个前端开发者的博客缺失了不少乐趣。
因此我决定回归博客内容为主的本质,根据markdown frist原则、按照目录重新构建博客。
此外云服务器的续费价格变贵、免费SSL证书时效变短,感觉已经不太适合使用云服务器来部署独立域名的个人博客了,因此决定将博客构建为静态网站。
一番技术选型后,我确定使用vitepress作为开发构建工具,使用cloudflare作为部署服务器。本文将整理整个博客重构过程中的一些要点。
TypeScript类型体操
发表于 | 分类于 编程语言/TypeScript
最近看到了一道TS类型体操的面试题,要求实现日期格式化的FormatDate<DD-MM-YY>,用于约束特殊时间格式的字符串。
感觉有点震撼,现在面试八股文都这么考了?震撼的同时还发现,我TM居然不会!
因此我决定用一点时间来学习一下TS的类型体操,并整理在这篇文章中。
我对于AIGC的一些看法
发表于 | 分类于 杂项
在过去的一年多时间里面,AIGC似乎成了一个大家都耳熟能详、甚至常常挂在嘴边的词语。
本文将总结我——一个普通的程序员,截止目前对于AIGC的一些个人看法。
初识微前端
在过去几年中,陆陆续续就会听到“微前端”的声音。本文将从技术选型的角度,了解什么是微前端,整理目前社区使用的几种方案,以及实现微前端的一些技术要点,最后还附带一些个人对于微前端的看法。
pinia源码分析
在项目中使用Vue3和Pinia已经很长时间了,Pinia作为一个组合式Api的Vue状态管理库,在使用过程中也有一些心得。
本文将从源码的角度分析Pinia,最后会实现一个简易版的Pinia。
一种通过DAP协议实现代码运行可视化的方案
发表于 | 分类于 技术原理
最近看到了一个代码可视化的工具pythontutor,可以让代码按步展示详细过程。感觉有点意思,决定尝试实现一下。
在研究过程中发现,借助本地调试器提前拆分出代码的步骤执行顺序是一个不错的方案,因此又先转向如何通过程序控制调试器,中间了解到诸如DAP、CDP协议等不少知识,决定记录一下。
股票知识扫盲
发表于 | 分类于 杂项
看到标题莫慌!我完全没有想要炒股的念头。
过去一两年,老是听到说股市不行,经济不景气的问题;恰好我对之前对股市是一窍不通,现在打算了解一下相关的概念,方便在与人辩经的过程中不被忽悠。
TypeScript模块机制
在之前的一篇文章提到了NodeJS中CommonJS和ESModule混用的问题。
现在的前端项目中,还可能存在TS和JS的混用,叠加上各种模块机制的混用,导致整个项目比较复杂,以至于在开发过程中,可能会遇见很多不同的错误,这些错误大多数是没有弄懂TS的模块机制导致的。
本文将整理TypeScript中的模块系统,以及模块混用时的一些常见问题。
《这就是ChatGPT》读书笔记
发表于 | 分类于 读书笔记
今年双11只在图灵上面买了这一本书《这就是ChatGPT》,趁着周末看一下(貌似很久没有写读书笔记了,其实是很久没有看书了...
写这篇文章除了记录读书笔记之外,还有一个比较重要的任务:通过ChatGPT等AI工具阅读长篇内容来帮助我整理读书笔记。
记一次vite项目打包优化
新项目是使用vite作为开发工具的,最近发现vite项目的构建存在一些优化的空间,比如构建时间、构建产物的体积、缓存命中等,经过一番折腾之后达到了还不错的效果,记录一下。
初识shader
发表于 | 分类于 游戏
最近打算学习实现一个水面倒影的游戏场景效果,参考的教程里面用到了shader相关的知识,我好像基本没有任何的3d图形编程基础,于是决定补习一下相关的概念,并在本文记录。
《深入理解SVG》读书笔记
发表于 | 分类于 读书笔记
突然在电子书架上发现了《深入理解SVG》这一本书(已经忘记是什么时候买的了。细想一下,虽然目前在项目中会接触到SVG,但貌似并没有系统学习过相关的知识,决定阅读一下,并补充相关的知识点和笔记。
初识stable-diffusion
发表于 | 分类于 杂项
在过去的几年中,我也断断续续地进行了很多游戏demo的开发,碰到的一个难题就是游戏素材。游戏的核心逻辑代码好像没有那么难写,但游戏原画和动画素材却移植没有什么进展。
今年AIGC非常火热,通过AI可以生成大段的文本内容,也可以生成图片,因此我决定研究一下现在AIGC到什么程度了,以及是否可以用来生产游戏素材图片。
最终,在本文主要整理了stable-diffusion的安装和使用,以及一点点关于AIGC的思考。
windicss使用记录
在去年年初写了一篇《关于TailwindCSS的一些思考》,记录了一下我对于原子类框架的看法,却一直没有机会在项目中使用。
最近终于有时间来尝试一下原子类了。经过一段时间深度使用windicss,回头记录一下关于我对原子类框架新的看法(是如何从跃跃欲试到爱不释手的
本文也可以用于windicss入门使用的帮助,记录了大部分刚开始使用原子类框架的前端开发者可能会遇见的问题。