分类: 技术

23 篇文章

thumbnail
论如何优雅的将自己的服务接入学校的 CAS 统一认证系统
论如何优雅的将自己的服务接入学校的 CAS 统一认证系统 起因 前几天跟同学聊起一个希望建立校友交流论坛的想法,讨论之中有人表示如果能用学校的统一认证系统登录的话,就可以大大简化注册门槛。于是我开始研究学校的统一认证系统起来...... 了解原理 首先我希望找一个使用统一认证系统的学校服务进行测试,在这里,我选择了学校的一站式服务平台,当在尚未登录…
小技巧:通过 New-Ailas 指令在 Powershell 上启动多个不同版本的应用程序
小技巧:通过 New-Ailas 指令在 Powershell 上启动多个不同版本的应用程序 如果你像我一样,电脑上安装有多个 Java 的话,你肯定会遇到这样的烦恼:当我们试图在命令行中调用其他非 classpath 上的 java.exe 时,需要费尽心思找到这些 Java 的路径,以全路径执行,这十分费时费力。但是如果你正在使用 Powers…
深入理解开源许可证(Apache,MIT,GPL,BSD,CC)
深入理解开源许可证(Apache,MIT,GPL,BSD,CC) 前言 如果说有什么东西正在为开源世界保驾护航,那就一定不能不提到开源许可证(Open Source License),正是因为这些各不相同的开源许可证的共同支持下,才有了现在这么繁荣的开源软件社区。 但是问题是,这些开源协议太多了(至少有上百种!),即使是主流的几个开源协议,由于其法…
thumbnail
耗时半天,我用 Kotlin 实现了 helang 何语言
耗时半天,我用 Kotlin 实现了 helang 何语言 起因 事情是这样的:一天下午,我偶然看到了这个仓库: kifuan/helang: 何语言,次世代赛博编程语言。 (github.com) 有人用 Python 写了一套解释器,可以运行何同学同款代码: u8 forceCon = [68]; forceCon[1 | 2 | 6 | 7 …
Forge 开发经验 —— 创造一个通过消耗耐久值进行合成的物品
Forge 开发经验 —— 创造一个通过损坏耐久值进行合成的物品 如果你玩过工业 2,你应该知道“锻造锤”这个物品,它可以通过消耗耐久值来将矿物锻造成矿物片,但是实际上“消耗耐久值合成”这个功能在原版是不受支持的,那么,应当如何实现这个功能呢? 环境:Minecraft 1.18.2, Forge 40.1.0, Mapping 'parchmen…
有关 Kotlin 具名参数形参传参顺序导致输出结果发生改变问题的一些探索
有关 Kotlin 具名参数形参传参顺序导致输出结果发生改变问题的一些探索 具名参数 众所周知,Kotlin 拥有一种叫做具名参数(Named arguments)的特性,它在需要跳过可选参数,或是调整参数顺序的地方十分有效。 例如如下拥有五个参数,且后四个参数为可选参数的函数: fun reformat( str: String, normali…
Jetpack Compose for Desktop 使用过程中遇到的几个大坑
Jetpack Compose for Desktop 使用过程中遇到的几个大坑 最近在用 Jetpack Compose for Desktop 写一些好玩的,用的时候遇到了很多大坑,在这里总结如下: Binary distribution 无法访问 ClassLoader Resources 我们有时候一定会希望从 jar 内部读取资源,这个时…
thumbnail
ASM 那点事 —— 让 BungeeCord 允许 authlib-injector 中非 ASCII 的玩家 ID 连接
起因 前些天在某个群跟群友聊天时,偶然听说了当一个符合 authlib-injector 规范的以非 ASCII 玩家 ID 的玩家连接 BungeeCord 时,BungeeCord 会以玩家 ID 字符不被允许为由禁止玩家加入服务器。这个问题令我很感兴趣,思考了一番以后,决定为 authlib-injector 贡献一个功能来解决这个问题。 定…
有关 C++ 指针(*)和引用(&)区别的小结
众所周知,C 语言存在一个叫做指针的东西,我们可以用指针来指向一个值的内存地址,然后进行内存地址各种操作。但是在 C++ 中,又多了一个叫做引用的东西,这二者之间存在着细微的差别,通过研读了知乎上的一篇文章(下),对于我之前不太明白的地方,作出了如下小结: 指针可空,引用不可空 指针可以改变指向,也就是说转而指向其他对象,但是引用却是不可变的 指针…