![loading..](https://imgstor.waynecommand.com/img/Server-Sent-Events.jpeg)
![loading..](https://imgstor.waynecommand.com/img/Server-Sent-Events.jpeg)
SSE 和 NDJSON
背景最近再折腾GPT的时候, 遇到流式的响应,总是感觉有点怪怪的,但是又很好,解析了一下,发现竟然是标准化更广的一种协议。 Server-Sent Eventsdata: {"id":"id-1720428652482","object":"chat.completion.chunk","created":1720428652,"model":"gemma-7b-it","choices":[{"delta":{"content":"。"}}..
更多![loading..](https://imgstor.waynecommand.com/img/Reactive-Streams.png)
![loading..](https://imgstor.waynecommand.com/img/Reactive-Streams.png)
Full Spring Reactive
Full Spring Reactive背景之前写的一些项目都是仅用了一半的Reactive写法,到数据库这边就还是传统的写法 因为现在最常用的就是 MyBatis,然而并不支持,甚至说 driver 都很难支持的全。 不过踩坑无数 终于写了个完整的Reactive应用并在生产环境发布了。 (偷偷说一句 即使是全reactive,也不会带来什么性能提升) 总结坑点 mysql driver支持太差。 数据库API为: r2dbc R2dbcRepository的字段映射 SQL Statement 参数绑定 模版引擎的返回处理 请求参数处理 多步聚合处理 多线程 Flux Reactive 消费 doOn 系列勾子 Reactive1. MySql Driver驱动还是非关系性数据库比较好,mongodb..
更多![loading..](https://imgstor.waynecommand.com/img/spring-native.png)
![loading..](https://imgstor.waynecommand.com/img/spring-native.png)
Spring Native
Spring Native其实我主要使用的编程语言是Java来着 背景 springboot 2.5.2spring native 0.10.1 前两天在 spring 上生成项目的时候,忽然发现有个叫 Spring Native 的依赖,听名字就觉得不一般,赶紧玩一玩。 简要介绍spring native 初步看下来是为了减少打包体积,减少内存使用量,加速容器启动和启动服务速度。 先看数据 stats CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % 05cbc775970a cranky_moser 0.03% 31.82MiB / 7.506GiB log2021-07-07 08:04:11.145 INFO 1 -..
更多![loading..](https://imgstor.waynecommand.com/img/docker-vue-express-mysql.png)
![loading..](https://imgstor.waynecommand.com/img/docker-vue-express-mysql.png)
vue.js 和 springboot 项目制作 docker 镜像
vue.js 和 springboot 项目制作 docker 镜像 这里用了两个框架的名字 而不是 node, java,只是偏向于项目常用的 而不是考虑大而全的。 本文用到的所有环境 linux: 3.10.x docker: 20.10.1 (API: 1.41) windows: 20H2 node.js: v12.16.1 yarn: 1.22.4 vue-cli: @vue/cli 4.5.9 maven: 3.6.3 springboot: 2.2.10.RELEASE 个别版本会在配置文件中指定 vue.js这里会演示一个最小化的部署, web-ui 和 web-api 在一个 docker network里面,通过容器名+端口可以直接访问。nginx 也可以直接proxy_..
更多Spring Security & JWT
spring security and jwt写在前面Q: 为什么是spring security A: 无论是企业还是开源项目 一遍都会拿shiro作为首选,理由很简单 shiro简单 易于上手 文档教程多,随便参考一个开源项目都可以写出标准的业务代码。 但 spring security就不是这样了 根据我目前的使用来讲 你必须要了解spring security源代码 清楚执行流程,才能使用该框架。 并且 spring security可以不依赖servlet Q:为什么需要JWT A: 这里就会牵扯到基于token认证 和 基于传统的session认证 http本身是一种无状态的认证 这就意味着每一次请求 我们都不知道访问主体是谁 为了能够分辨访问主体 我们会在用户认证完毕之后给用户颁发一个标识..
更多