鱼酱的博客

「离开世界之前 一切都是过程」

Springboot中的一些Websocket实现

各种Websocket实现方式

WebSocket spring-boot-starter-websocket spring 官方提供的 websocket 实现,注意无法直接与 socket.io 连接 构建连接端点 使用@ServerEndpoint(value = "/echo")注解来标注端点路径 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 ...

从零构建一个npm package

构建自己的npm package

使用 TypeScript 构建 TypeScript相比较vanilla javascript,虽然两者编译后都是.js代码,但是ts构建的包可以有.d.ts类型声明。结合现代开发环境,这种类型提示可以给开发者一个较为良好的开发体验。 1. 设置项目 首先使用npm构建一个空项目 接下来,安装 TypeScript 和相关工具: 1 2 npm install ty...

连连看的算法

连连看的算法的研究

前言 连连看规则很简单,匹配相似的图块,且两图块的正交连接路径(不能对角连接路径)最多能通过 3 条直线线段表示(即最多两个转折点,这里简称连连看路径),则匹配成功,消除图块。 版面的所有图块消除则游戏结束。当然也有死局的情况,这里先不讨论。 如何计算这个路径、路径是否在两个转折点内,是连连看算法的核心。 路径检查 所有路径检查都是基于已选择的是相同的图块的情况,否则无需检查连接路...

zfoo库 scheduler

zfoo库 scheduler源码学习

基础使用 在需要定时调度的方法上添加注解@Scheduler,定义其cron表达式属性(字符串)即可。 1 2 3 4 5 6 7 8 9 @Scheduler(cron = "0/5 * * * * ?") public void cronScheduler1() { logger.info("scheduler1 每5秒时间调度任务"); } @Scheduler(cron...

Cloudflare系列(三):Cloudflare WebSocket

cloudflare workers WebSocket 的使用

worker 服务端 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 export default { async fetch(request, env, ctx) { const upgradeHeader = request.headers.get('Upgrade'); console.lo...

Cloudflare系列(二):Cloudflare KV & D1

cloudflare KV 和 D1 的使用

集成 KV Workers KV 是一种数据存储,可让您全局存储和检索数据。借助 Workers KV,您可以构建动态且高性能的 API 和网站,以支持低延迟的高读取量。 1. 添加 KV 使用npx wrangler kv namespace查看操作 KV 的相关指令。 1 2 3 4 Commands: wrangler kv namespace create <...

Cloudflare系列(一):Cloudflare workers

cloudflare workers 的使用

前言:关于 npm 的安装 bug 注意镜像源!! 在国内环境我们可能会使用淘宝等第三方的镜像源,但是有的包更新频率较快(比如 cloudflare 的脚手架 create-cloudflare),在这些第三方源中不一定是最新版。 若可能是版本问题导致的安装 bug,可以考虑使用nrm来管理镜像源,并使用npm的官方源来安装包。 nrm 的一些使用指令: 安装 nrm:n...

zfoo库 event

zfoo-event 源码学习

基础使用 在监听类中注册事件 一些使用规则: 使用@EventReceiver注解标注监听的方法,可以指定事件的处理总线类型; 方法参数必须是实现了IEvent接口的类,通过参数类型来区分所监听的事件; 方法名称必须是on开头; 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 @Co...

curl命令的使用

记录一些curl命令的使用

有时调试 web 项目时需要使用 postman 等 api 请求工具,而有时候只需临时简单进行一些请求,此时可以无需使用 postman,杀鸡焉用牛刀。curl 是一个非常强大的命令行工具,用于在命令行或脚本中执行 HTTP 请求。它支持多种协议,但最常用的还是 HTTP 和 HTTPS。以下是一些常见的 curl 命令和参数,用于执行各种类型的 HTTP 请求。(以下内容由 ChatGP...

java函数式接口

一些java函数式接口的研究和总结

Java 中有几个常见的函数式接口,这些接口通常位于java.util.function包中。函数式接口是指只有一个抽象方法的接口,通常用于Lambda表达式和方法引用。 基础使用 Function<T, R>: 接受一个输入参数,返回一个结果。使用apply调用。 1 2 3 4 5 6 7 8 9 import java.util.functio...