Serverless 场景下的 Java 与 AOT 编译
GraalVM 与 AOT 前置段落偏向于介绍 GraalVM 的基本概念,GraalVM 与 Spring Boot Native 的实践将放在文章偏后的位置 GraalVM 是 Oracle 开发的一款多语言虚拟机,也可以叫做 UVM(通用虚拟机),它可以运行多种语言,其中的核心为 Graal 即时编译器,由 Truffle framework 提供多语言支持 Graal 编译器是使用 Java 写的 JIT 编译器,大部分脚本语言或者有动态特效的语言都需要一个语言虚拟机运行,比如 CPython,Lua,Erlang,Java,Ruby,R,JS,PHP,Perl,APL 等等,但是这些语言的虚拟机实现差距很大,比如 CPython 的 VM 就不忍直视,JVM 的 HotSpotVM,C#的 CLR 和 JS 的 v8 却是 state of the art 级别的,GraalVM 的目标就是让所有语言都能使用 state of the art 级别的虚拟机 Truffle framework 是一个用于实现直译器的框架,它可以让我们使用 Java 实现直译器,从而让 Gr ...
新版本Spring Security中使用Lambda DSL替换旧版本配置
至暗时刻 之前的项目不是用上了最新最热的 SpringBoot 3.0 嘛,今天我脑子一热,看了一眼官网版本,直接把 SpringBoot 的版本从3.0.6升级到了3.1.1。 重新构建 Gradle 之后启动项目,SpringBoot 没出问题,但启动项目时,依赖传递更新的新版 Spring Security 中有好几个方法移除并标记为弃用(大红色的警告,看上去真的很吓人),虽然代码还能够正常运行,但是本着弃用方法必然有替用方法的原理,故参考文档后写下该文。 原本项目中的 Security 配置代码如下(仅包含了弃用字段的配置),主要集中在SecurityFilterChain的配置 Bean 上: 1234567891011121314151617@Beanpublic SecurityFilterChain filterChain(HttpSecurity http) throws Exception { //关闭CSRF,设置无状态连接 http.csrf().disable(); //不通过Session获取SecurityContext ...
Spring Security + JwtToken 实现无状态认证
项目简介 Spring Security 是 Spring 家族中的一个安全管理框架。相比与另外一个安全框架 Shiro,它提供了更丰富的功能,社区资源也比 Shiro 丰富。 一般来说中大型的项目都是使用 Spring Security 来做安全框架。规模较小的项目使用 Shiro 的比较多,因为 Spring Security 属于重量级安全框架,相比之下 Shiro 的配置与功能都要相对简单。在一般的 Web 应用中使用安全框架,框架主要负责认证和授权。 认证:验证当前访问系统的是不是本系统的用户,并且要确认具体是哪个用户 授权:经过认证后判断当前用户是否有权限进行某个操作 而认证和授权也是 SpringSecurity 作为安全框架的核心功能。 本项目仅包含 Spring Security 的配置,提供两个基于 Restful 的登录,登出接口,并没有其余的功能。基本实现了无状态认证与权限管理,其余的可以自行在基础上进行拓展。 采用技术栈 本文大部分 Spring 组件版本基于 SpringBoot 的自动配置管理,故由 SpringBoot 管理的依赖版本并不 ...
舞萌1w3指北
舞萌 2023 1w3-1w4 指北 前情提要:群友有两个 1w3 的,故进行推荐 主要分为以下几个部分:技术练习谱、交互/手速练习谱、稳定上分谱、投资未来谱 1. 技术练习谱 乐曲封面 乐曲名称 乐曲种类 定数 说明 最終鬼畜妹フランドール・S 东方 Project 12.1 ヒバナ niconico & VOCALOID 11.8 交互练习 / 定速全换手 はやくそれになりたい! niconico & VOCALOID 11.8 十六分 tap + slide DX ハム太郎とっとこうた 流行&动漫 11.8 初级星星谱 DXLiftoff 音击&中二节奏 11.7 切分音手法练习 DXグリーンライツ・セレナーデ niconico & VOCALOID 12.7 综合快速铺 2. 交互/手速练习谱 乐曲封面 乐曲名称 乐曲种类 定数 说明 初音ミクの消失 niconico & VOCALOID 11.8 尾杀抓纵连节奏 Meteor ni ...
康托展开与逆康托展开
康托展开是一个全排列到一个自然数的双射,其实质是计算当前排列在所有由小到大全排列中的顺序
群晖硬软件注意事项与解决方案
群晖硬软件注意事项与解决方案 适用对象:白群晖用户,不愿意折腾,有一定的预算空间,对数据敏感性较强 不适用对象:黑群晖用户,有些问题会涉及到硬件,由于黑群配置差异极大,很难找到原因 最后更新日期:2022 年 10 月 25 日(以下内容针对的是 DSM7.1.1) 不折腾玩转群晖 NAS 的通用建议: 企业级硬盘 多花点钱买企业级硬盘,现在 16-18T 的企业级硬盘价格真的不贵,耐心搜索本版帖子就能找到靠谱商家的合适价格。既然是用白群了,那就要知道群晖的是根据盘位费卖硬件的,尽量不要用普通硬盘,尤其是淘汰下来的旧硬盘 另外 NAS 所使用的硬盘除了对静音有极致要求则不推荐买专用 NAS 红盘,价格贵,性能低 内存容量 不要犹豫,内存加满 加内存是性价比最高的性能提升方式:群晖有一篇非常冷门的文章,提到了 RAID,网络,内存对性能的影响,简单的总结就是,8G->16G 内存,性能可以提升 30%以上,16G->32G 内存,写性能还能提升 30%。当然这个测试都是基于旗舰级硬件测试的,但对于家用机,内存升级仍是最有效的性能提升方式,可以无脑堆到支持内存的上限 性 ...
安木の追番目录
安木木的二次元追番列表(头图是本人AI图生图哈哈哈哈哈哈)
自由视角部署教程
自由视角部署教程 网络拓扑图与布线 使用 RJ45 网线将 PC 与路由器相连,路由器与交换机相连即可 快速启动流程 1.打开终端 ctrl+alt+T打开终端 查看目录和文件(非必要) 使用ls命令查看文件夹信息 123CMakeLists.txt~ record.txt sun.sh 公共的 图片 音乐examples.desktop record.txt~ sun.sh~ 模板 文档 桌面opencv-3.4.6 sensors work 视频 下载 使用cat命令查看文本文件内容 1cat record.txt 该指令可以查看配置文件,有一些可以使用的命令在该文本文件内,可以直接粘贴运行 2.查看本地网络 1ifconfig 指令输出如下(节选),节选的该设备为主网卡相关信息 123456789eno1 Link encap:以太网 硬件地址 f8:32:e4:bf:ce:69 inet 地址:192.168.2.242 广播:192.168.2.255 掩码:255.255.2 ...
Spring Cloud Alibaba 架构
Spring Cloud Alibaba 架构 毫无疑问,Spring Cloud 是目前微服务架构领域的翘楚,实际上,Spring Cloud 是一个全家桶式的技术栈,包含了很多组件。本文先从其最核心的几个组件入手,来剖析一下其底层的工作原理,也就是 Nacos、LoadBalancer、Feign、Sentinel、GateWay 这几个组件 业务场景介绍 假设需求为开发一个电商网站,要实现支付订单的功能,流程如下 创建一个订单之后,如果用户立刻支付了这个订单,我们需要将订单状态更新为"已支付" 扣减相应的商品库存 通知仓储中心,进行发货 给用户的这次购物增加相应的积分 针对上述流程,我们需要有订单服务,库存服务,仓储服务,积分服务,整个流程的大体思路如下: 用户针对一个订单完成支付之后,查看订单服务,更新订单状态 订单服务调用库存服务,完成相应功能 订单服务调用仓储服务,完成相应功能 订单服务调用积分服务,完成相应功能 服务注册与服务发现–Nacos 订单服务想要调用库存服务、仓储服务或积分服务,需要硬编码其他服务的地址 ...