Monthly Issue - 2023.9 & 10.1

Activation Script

看到了 QiuChenlyOpenSource/InjectLib 里的 Surge MITM 设置,突然发觉这个东西可以很不错的扩展起来,Qiuchenly 写的确实牛,但是对我来说我有一种想要组织代码的强迫症,把这么多东西都丢在一起很难受。

GitHub - wibus-wee/activation-script: A script designed to generate configuration files and activate software for the Surge

主要是重写了一下入口,是直接遍历 url 对应的 base 再去执行对应的方法,我个人认为这种方法会慢过原版,原版是直接对比 url 了,但是我这个还要一致遍历下去

而好处是什么呢,我可以写一个 generator 来生成对应的配置文件和自动帮我移动脚本文件。嗯,差不多就这个好处吧,还有个就是比较可视化,在处理问题的时候直接找文件修复就是了

PhotosProcessor

又双叒叕!我又来写 macOS App了!这次应该是真的写出来一点小东西了。

Image.png

Image.png

简单介绍一下动机吧。

第一,主要是我有很多图片是「创建时间」和「内容创建时间」是不一致的,就导致我在 finder 里排序的时间永远都是不对劲的,很迫切要写一个工具来同步时间

接着,又看到了 新一.enp1s1 在 X 上的推文,发现诶可以这样压缩,既然市面上没有,那我就自己简单实现一个出来吧。

又想起之前我一直想搞一个「暗水印」的东西,一直苦于没法实现或者是没机会实现又或者是没技术力实现,这次就想着反正也是图片处理,一起实现吧。

于是这三个需求结合就诞生了这个软件。

这个软件编写的时候一度尝试寻找过全部由 ChatGPT 编写,但最后还是因为太垃跨还是放弃了这个想法,不过一些经历到后面应该还是会发布成博文的,也作为一次经历吧。

但是 Xcode 体验也很不行... 所以我又自己原地诞生出了 Xcode + VSCode 的开发组合方式

一些经历:

Plants Schduler

家里有很多花,但是浇肥又不是同时浇的,所以记录就很复杂。于是用了一个晚上给家里写了一个这么个 Web App,本来是想用 Flutter 来写的,但是学习时间不够,这个东西有点赶,所以只好回归 React 系列了。

不过为了这个项目,我还是去看了一下 IndexedDB,在我封装完,我才发现有框架

Image.png

Image.png

哎算了... 我还是用我自己的吧,自己写的自己知道哪里的问题。

Mog Core

上个月对 core 主要是配置服务大重构,原本的配置服务会导致配置不同步,也很难直接对数据库做操作,备份啥的非常麻烦。于是在这样的情况下,重构配置服务是必要的了

feat(config-service)!: implement global configure microservice by wibus-wee · Pull Request #844 · mogland/core

refactor(config): transform config in libs to microservice by wibus-wee · Pull Request #849 · mogland/core

接着,也还是重构,将聚合模块给重构了,原本的聚合模块居然是直接使用子服务的 Service 来获取数据的,真的逆天... 我也没明白为什么我这么写的

总之就是目前是重构回使用 Redis 传输数据了

refactor(core): migrate aggregate injecting private service to use ClientModule by wibus-wee · Pull Request #850 · mogland/core

除此之外,还增强了一下 CI。我那天回看日志的时候发觉有个问题,测试的只有最基本的 /ping 但是有个问题,只测试这个只会测试出 Gateway 是否正常,但是其他服务如果挂了的话也没有办法测试出来。

所以改进后的CI将会根据参数处理动态URL,并重试失败的请求。改进错误报告,显示遇到问题的项目。也增加了 Development 状态下的测试。

ci: add dynamic URL handling, retry mechanism, and error reporting by wibus-wee · Pull Request #846 · mogland/core

也就只是改 CI 实在麻烦。。。

Mog Themes Dev Service

总算把模拟数据给实现了!

feat(mock): simulated data support by wibus-wee · Pull Request #2 · mogland-dev/vite-plugin-mog-themes-dev

理论上,现在开发主题可以完全不需要 Mog Core 启动了,只需要启动这个服务就可以进行编码了。编码完成后发布,直接丢到 Mog Core 里应该也能跑了。

这个实现的麻烦点在于,我要手动实现一些聚合模块和 mongo 里的逻辑,不然输出的数据完全就不对劲,完全不通用。

在后期,我应该会增强一下 EJS 防护机制,那天看到了 azu 的一个项目就是说 EJS 的安全问题的,突然想起 Mog 里也没有给 EJS 做安全防护,全部东西都是直接注入进去和输出的,最多就多一个转义符...

  • Loading...
  • Loading...
  • Loading...
  • Loading...
  • Loading...