API限流设计

个人开源项目[yeah-boot]需要一个流控/限流组件;虽然有一些成熟的开源流控组件,比如Alibaba Sentinel、Bucket4j、Guava RateLimiter等;但就是想自己造个轮子。 “限流”与“流控”的关联与区别(by AI): 我做的偏向于“限流”,但是模块叫“流控”,方便日后朝“流控”方向扩充功能; 核心思路:基于时间窗口内的请求记录与统计做控制。 主要参数:limitCount, timeWindow, bucketSize 大概思路:使用滑动时...

阅读全文

Minix操作系统简介及安装

经常会想着搞搞程序员的三大浪漫(操作系统、编译原理、图形学),奈何工作与生活事务繁杂、压力重大,像这种对个人”不太重要“的事情容易一直拖延,遥遥无期;所以先简单起个头,总比一直空想要好,待有时间时慢慢推进;先从操作系统开始,咨询了下AI,结合自己的目标(做出一个带图形界面的操作系统),给出的建议和学习路径是先学习minix;接下来简单介绍下minix以及虚拟机安装。 🧠 什么是 MINIX 3? MINIX 3 是一个 免费、开源(open-source) 的操作系统,设计...

阅读全文

全文检索引擎-ManticoreSearch

因个人开源的[商城项目]需要用到全文检索功能,主流的Elasticsearch太占资源,经过搜索比对,选择了轻量级的ManticoreSearch作为全文检索引擎。 ManticoreSearch是一个开源、高性能的全文检索引擎,源自Sphinx Search。它能够帮助开发者在海量文本数据中快速查找相关内容,同时支持实时索引和SQL查询,让数据写入后即可被立即搜索。 简单来说,ManticoreSearch就像一个专门为文本搜索优化的数据库,可以让你的应用或网站实现快速、精...

阅读全文

内网穿透-frp

frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议,且支持 P2P 通信。可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网。 Github上下载对应平台的二进制包,解压即可使用。注意:服务端和客户端需要下载对应的平台版本。 服务端frps.toml配置 客户端部署客户端frpc.toml配置 serverAddr和serverPort配置为服务端frps的公网IP和端口;localIP和local...

阅读全文

Spring AI MCP

因项目需要,使用到mcp。 MCP,全称 Model Context Protocol,是一种用于 大模型与外部服务交互 的协议。它的核心价值在于:标准化:定义了一致的通信方式,避免为每个外部服务重复造轮子。多通道支持:可通过 stdio、SSE(Server-Sent Events) 等传输方式进行通信,满足不同运行环境需求。插件化:MCP Server 可以像插件一样挂载到模型环境中,模型通过协议与之交互,从而获取外部数据或执行操作。简单来说,MCP 让 模型与外部世界的...

阅读全文

多系统(模块/主题)、多终端的token控制方案

在做自己的开源Java/Spring Boot脚手架项目(地址见末尾);默认实现为一个帐号对应一个token,web端和api端相互占用,开发和调试不方便,所以把token控制方案实现提前了一些。 该设计图为草图,暂不做细化,对设计有个概念即可,具体看代码实现。 附上主要代码片段,并做一定说明。 配置中包含secret,由于是开源项目,所以不做脱敏处理;配置含义见注释和代码,不另做说明。 已封装为单独服务类的方法: 补充:相关缓存key设计,结合设计图更直观。 对token相...

阅读全文

基于MyBatisPlus QueryWrapper封装的基础CRUD Controller

准备搭建个java脚手架,先做基础的crud封装 实现基于范型的基础CrudController,提供基础的crud接口;其中查询接口支持按实体类中字段进行equal查询,另外支持按客户端指定字段查询;对于非实体类的自定义查询类,支持标注@QueryField注解指定字段查询方式; username字段以likeRight方式模糊匹配;password字段以equal方式精确匹配;conditions_字段用于客户端指定字段查询; entity类由于要做成通用范型模式,类中字...

阅读全文

安装WordPress

根据【参考资料】中的【环境要求】,先进行环境的准备; 参考本博客文章【docker形式安装mysql8 】 配置wordpress与nginx,以及php 下载wordpress,解压,示例:/var/www/html/wordpress;复制wp-config-sample.php为wp-config.php,并修改数据库连接信息,示例: 创建数据库wordpress,数据库名称跟上面的DB_NAME一致; /etc/nginx/conf.d/example.conf,示例...

阅读全文

Docker形式安装MySQL8

项目需要,以docker形式安装MySQL8 配置文件和数据目录需要提前创建好mkdir -p /root/ysm.d/data/docker/mysql/datadir -p /root/ysm.d/data/docker/mysql/conf/root/ysm.d/data/docker/mysql/conf/my.cnf 内容如下(拷贝自mysql8.4默认配置): 获取初始密码,登录后进行修改

阅读全文