2023 → 2024. I love coding.
Development temporarily terminated.
首先还是必须要说的是,我暂时终止了我全部开发活动。我在GitHub的主页上已经更新了个人信息
理由很明显,我必须要停下开发的脚步了,备战高考很明显是一件更为重要的事情,所以,大约是明年一直到六月份高考结束前,我估计都不会有什么开发活动了...
希望高考完还有人记得我这个废物吧...
Frontend Framework -- Jwc.js
其实我也分不清这个项目到底是 22 年的还是 23 年的.. 不管了反正一视同仁为 23 年吧哈哈哈。
很可惜,这个项目在今年我只完成了最基本的工作,即「编写 Class Component」,下一步的「Functional Component」却迟迟没有出现,期间我尝试不另外写一个 compiler 来实现,但是最终还是以失败告终
其实是几乎完成的了,但是最后失败在于我没法做到响应式
在 Functional Component 中使用 useProp
来创建 Prop,但是当我尝试生成 Class Component 的时候我发现我没有办法可以找到什么地方有 prop
除非写一个 compiler...
所以下一年如果想要继续发展 jwc 的话,路只有一条:compiler,不过还好的是不会像 vue template 那样如此的复杂,还需要配一套 IDE Extension 才能开发顺畅...
但是我依旧选择打算放弃了...
原因无他,SolidJS、Vue CustomElement,都能实现 Web Component,它们的生态很明显更丰富,编码也更成熟,相比之下 Jwc 没有任何可以赢过别人的地方...
下一年,我可能只会分配一小点时间来研究 Jwc 的下一步发展,但是如果它真的很复杂的话,我真的会考虑放弃它...
Backend Framework -- PF4N.js
于是,后面我就继续搞 Mog 了,其中看到了 Halo CMS,发现很成熟,而且也有插件系统,我于是开始研究它的插件系统的实现方法,发现使用了 PF4J
上游库。但是当我再去找 NodeJS 的 Plugin System 的时候,我找不到任何成熟库...
需求不就来了吗!我立马创建了 PF4N 项目,并且进行了基本的编码。目前它已经可以正常跑起来了,插件什么的也可以加载。
但是由于没有正式在生产环境中测试,我们暂时还是将其设置为了 Private 状态
下一年,我可能将会把40%时间放在这里来发展 PF4N。
macOS App -- PhotosProcessor
这是人生中的第一次,第一次写 Swift, 第一次写 macOS App, 第一次用 Xcode,这些新奇的事物通过这次历程让我对他们有了短浅的认识。
一开始,我尝试使用ChatGPT来写这个软件,顺便写一个文章,结局是软件没写出来,我先觉得 ChatGPT 不行了… 语言和系统的各种breaking change 导致我在问的时候 ChatGPT 总是输出那些早就过时的内容,最后我还是前往 GitHub 找下别人怎么写的来解决的。
不过,欣喜的是目前这个软件的已有功能算是可以正常使用了,但是对我来说使用体验不是很好… 核心是设计的时候疏忽导致的,所以我还是得重构一轮才行...
下一年,我会把大量的时间放在这个项目里。把它做好了,才是做出了人生中第一个 macOS App,迈出了 macOS App 开发第一步!
CLI -- wlint
这是2023年的新年礼物哈哈
怎么说呢,我本来想着这个项目是一个难得的需求,但是后面才发现这个完全就没有什么太大用途。
先稍微介绍一下 wlint 吧。
它可以用来快速配置项目 linter 的工具。
npx wlint
,wlint 就可以自动获取合适的 lint 配置文件,并自动安装依赖项。wlint 通过自动分析项目中的依赖项,并自动匹配配置类别来配置对应的 liner。例如,如果项目中安装了 react 包,它可以自动匹配 react 的配置。
但是当我向外宣传这个 CLI 的时候,我发现似乎没什么人感兴趣。主要是,大家使用的都是 template,而 template 里早就配好了 linter,那我这个项目就纯属没有用了...
害,但是我觉得还是得放点时间来迭代一下它。ESLint 变化了许多,如果我这里还不更新的话就真的不行了...
CMS -- Mog: Stage 3 → Stage 5
Mog 堪称我目前的最耗时项目,已经写 2 年了... 至今还在重构中。它所涵盖的东西太多了,甚至我觉得没有必要上这么多东西,就比如:微服务
个人开发,使用这个架构纯属就是nt,而且只是区区一个小博客,更nt了。
但是今年算是完成了 Stage 5,但是 Stage 6 一直停滞不前。
首先就是时间问题,多个项目并行,虽然我已经把大部分时间放在了 Mog 上了,但是如果你看 Stage 6 的话,你可以发现几乎都是中后台重构的问题,由于以前的编码问题(现在也有问题)中后台简直就是坨垃圾,我都不好评价了已经。
其次就是 Ecosystem 建设, Stage 6 我需要完成各大博客系统迁移插件的开发,这也是需要学习成本的,很明显,我需要上学,我完全没时间去学习他们。
下一年,我可能不会再把这么多时间放在 Mog 上了, 因为在后面,我有更想做的事情了,看下去吧!
AI -- stable-diffusion-webui-ipynb
23 年,出现了 Stable Diffusion 火爆全网,我跟随着时代步伐,了解到了 Google Colab,于是喜欢折腾的我写出了我人生中的第一份 Notebook。
鉴于热爱分享的想法,我直接把它开源了出来,希望能帮到一些人更好地使用 SD 画出自己第一张画
整个 Notebook 被我整得非常豪华,可选安装模型、可选安装扩展、可选 Tunnel、多平台支持、爬取CivitAI数据等等的功能我都整上了。README 里也有我浏览网络发现的各种东西。
我还自己弄了一个 Prompt Collection List,后面甚至还开发出了一个小网页,可以直接使用我的prompt + SD API生成图片,SD 的 API 我弄懂了,Markdown Parse 这下也弄懂了(对!我是直接解析我写的markdown的!)
很可惜...
Google 发现薅羊毛的人太多了,出现了限制代码运行政策,一堆 Notebook 再也无法正常使用. 我不甘心,我尝试破解限制代码运行策略,还真给我尝试出来了
你可以看 PR 里具体的方式(虽然现在已经无效了):fix: try to bypass colab detection by wibus-wee · Pull Request #20 · wibus-wee/stable-diffusion-webui-ipynb
我的 Notebook 继续苟延残喘了一段日子,当有一次我点开的 Notebook 尝试重回 SD 时,发现我写的绕过已经无效了,Google 检测的更加厉害了,从本来的代码检查,到 runtime 检查,可能还有磁盘内的文件名检查。
我无力了,只能宣告这个 Notebook DEPRECIATED。
在说再见的结尾,我说出了内心的话:How grateful I am to Google Colab for initially granting me the pleasure of experiencing the artistry of AI.
希望未来我有机会能自己装一台机子自己跑图吧!
Side Project -- icalingua-theme-telegram
我很喜欢 Telegram Desktop 的 UI,很不喜欢 QQ 的UI,但是恰好大家都在用 QQ 而不是 Telegram,这导致我一直想自己写一个桌面端软件来用,不过这时的我碰到了 Icalingua++
于是我就开始了小改造,一改不要紧,这个项目从原本的只有2个js、1个 css,直接发展到现在的 Rollup + TypeScript + SCSS + Release CI + Real-time Release CI,并且把功能都做成模块化了
我真的佩服我自己,我发现我写很多东西我很喜欢把它们都模块化,感觉这样对我而言更好看更舒适哈哈哈
但是到后面,我发现它很卡,不是我写的原因,是它本来就很卡,单单使用 Addon 和 Style 是无法改善的了,我最后还是没有继续维护下去了...
Side Project -- activation-script
模块化的还有这个项目。
先介绍一下吧:
利用 MiTM 拦截和操作各种应用程序提出的网络请求,来自动激活/修改软件部分功能
同样的,我把每一个服务都变成了模块,还上了 TypeScript + Rollup + Release CI,还写了个 Config Generator
不过目前这个项目还在开发,而且有一些服务其实是直接搬 Qiuchenly 的代码的
Communities
mx-space/docs
今年对 mx-space 的贡献主要在文档方面,我们重构了 mx-space 文档,并且加入了一些辅助安装的组件放在文档里
我们把大量不合理的文章布局通通删掉,并且把原有的内容进行了重组,也更新了一部份文档内容
希望用得开心吧~
Others
Plans
其实对于 24 年,我没有太多的计划,原因是我 24 年大半年的时间处于高考备考状态,肯定是不能碰代码了,不过既然写都写了,那还是定一下高考完之后的计划吧..
- 完成 PhotosProcessor v1
- 发布 Mog v2 Alpha
- ... 想不到了,反正有什么做什么吧 😂
🎉 无限进步!