- 博客(17)
- 收藏
- 关注
原创 使用Gradle手搓一个Kotlin/Native项目
本文介绍了如何在macOS上使用Gradle构建Kotlin/Native项目。首先安装Gradle并创建空白目录,使用IntelliJ IDEA打开后,配置build.gradle.kts文件指定Kotlin多平台插件和macOS目标平台。接着创建src/nativeMain/kotlin/hello.kt文件写入简单打印程序。通过执行gradle wrapper和编译命令生成可执行文件,最后运行build/bin/native/debugExecutable下的.kexe文件即可看到输出结果。该教程简明
2025-08-12 11:19:37
416
原创 Kotlin Native调用C curl
本文介绍在macOS环境下使用Kotlin/Native调用libcurl库的方法。主要内容包括:1)通过Homebrew安装libcurl并配置环境变量;2)创建Kotlin/Native项目并配置libcurl的cinterop定义文件;3)修改build.gradle.kts文件设置编译参数;4)编写Kotlin代码调用libcurl进行HTTP请求。最终实现的功能等同于对应的C语言版本,展示了Kotlin/Native与C库的互操作能力。整个过程涉及环境配置、项目设置和代码实现等关键步骤。
2025-08-06 20:44:35
685
原创 LiteCloud超轻量级网盘项目基于Spring Boot
LiteCloud 是一个基于 Spring Boot 开发的轻量级云存储系统,提供文件管理、用户认证等功能。系统采用现代化深色主题设计,具有响应式布局,支持移动端访问。主要功能包括基于 Spring Security 的用户认证、多角色权限管理、文件上传下载、文件夹管理以及管理员控制面板。技术栈包含 Spring Boot、MyBatis-Plus、MySQL 后端和原生 JavaScript/CSS 前端。系统要求 JDK 17+ 和 MySQL 5.7+,支持通过 Maven 快速部署,默认提供 ad
2025-07-17 23:56:40
985
原创 KMP架构为什么可以跨端——只会安卓开发顺便学会了ios开发岂不爽翻了
KMP(Kotlin Multiplatform)是谷歌开发的跨平台架构,旨在解决多平台应用开发中的重复工作问题。传统开发需要为Android、iOS等不同平台分别编写业务逻辑和UI,而KMP允许将共享代码(如业务逻辑)放在commonMain中,平台差异部分通过expect/actual机制实现(如PlatformButton在不同平台的UI实现)。官方Demo展示了如何用expect声明通用接口,用actual提供平台具体实现。此外,Compose等框架进一步简化了跨平台UI开发。调试时可通过切换目标平
2025-07-11 13:46:53
821
原创 监听器模式
监听器和观察者有点像,但还是有不同的监听器是状态发生变化立刻就执行业务逻辑,观察者则是状态发生变化只是通知各个订阅者,状态发生变化了,业务逻辑还需要他们自己去执行监听器往往是1对1,观察者则是1对多 监听器往往用于ui相关,比如按钮的单击事件,观察者更多的是偏向于业务逻辑相关。
2025-07-01 23:58:20
253
原创 观察者模式
本文探讨了机器状态变化时如何通知工人和订单的问题,对比了三种解决方案:轮询方式存在性能低下和消息延迟问题;硬通知方式在对象过多时难以管理且耦合度高;最终采用观察者模式实现解耦。通过Java代码示例展示了观察者模式的具体实现:Machine类作为被观察者继承Subject接口,Worker和Order类作为观察者实现Observer接口。当机器状态(isBroken)变为true时,自动触发观察者的响应逻辑,实现了状态变更的即时通知机制。该模式有效解决了对象间的低耦合通信需求。
2025-07-01 23:55:11
340
原创 抽象工厂设计模式
本文介绍了使用抽象工厂模式管理不同系统(如安卓、苹果)的手机配件生产。通过定义通用的耳机和手机壳接口(EarPhone、PhoneCase),并实现具体产品类(如AppleEarphone、AndroidPhoneCase)。抽象工厂接口AccessoryFactory统一创建方法,由AppleAccessoryFactory和AndroidAccessoryFactory分别实现。Client类统一管理工厂生成的产品,主类演示了创建不同系统配件的过程。该模式有效解决了多系统扩展问题,避免了条件判断,支持灵
2025-06-22 22:16:34
481
原创 RabbitMQ原理及代码示例
本文介绍了在订单服务系统中使用 RabbitMQ 实现邮件发送异步化的优化方案。传统同步流程中,邮件发送过程可能造成响应延迟,影响用户体验和系统性能。通过引入 RabbitMQ,将邮件任务放入消息队列,订单生成后立即返回用户结果,由后台消费者异步处理邮件发送,显著提高了系统响应速度与扩展能力。文章结合 Spring Boot 示例代码,展示了交换机、队列配置,消息发送与消费流程,实现了系统解耦与高并发优化。
2025-04-17 11:54:34
410
原创 Spring Boot 下 MySQL Redis双重复用提高服务器性能
如何在一个简单的注册登录后台中集成 Redis,以提升登录过程的效率。首先,文章提供了不使用 Redis 时的源代码和数据库结构(一个简单的用户表)。然后,文章通过分步讲解展示了如何引入 Redis 依赖、配置 Redis 连接、以及如何在代码中通过 Redis 缓存用户数据来优化登录过程。在用户首次登录时,系统从 MySQL 查询用户信息并缓存至 Redis,而后续登录则直接从 Redis 获取用户数据,从而提高效率。最后,文章还讲解了如何清除 Redis 缓存。
2025-04-07 11:27:53
526
原创 Android studio局域网屏幕共享(旧手机可以用来当监控啦)
ScreenSharing是一个Android设备间的屏幕投射/分享应用,通过WebSocket实现设备间的实时屏幕共享。一台设备可以将屏幕内容编码并传输给另一台设备进行解码和显示,非常适合演示、教学和远程协助等场景。
2025-04-06 12:48:05
1316
1
原创 在线记事本——支持Markdown
CloudNotebook 是一个基于 PHP 和 SQLite 开发的在线 Markdown 笔记应用,支持密码保护、实时预览、自动保存和代码高亮等功能。用户无需注册即可通过笔记本 ID 创建和管理笔记,支持管理后台查看和删除笔记。系统界面简洁、响应式设计,适用于不同终端。安装部署简单,仅需支持 PHP 的服务器环境即可使用。适合个人快速记录、分享内容。
2025-04-05 22:23:03
1098
原创 Python print输出对齐的问题——包含中文无法对齐解决
原因很简单,因为中文字符默认是全角输出,而英文字符默认为半角, 半角和全角就像英文的 "," 和中文的 "," ,中文的逗号后面会更出一个小空格来,所以造成了这样的不规则。下面的,就是给定字符长度10个字符长度,对齐方式为左边对齐,空余的字符采用 * 填充。将非半角全部转换为半角,话不多说函数如下,调用方法我写在函数的最顶端了。但是当你将字符换为中文的时候,你就会发现它的结果就不那么尽人意了。当然了,我整理了三个方式,左右中,一起打印出来了。那么使用了上面的函数后,运行的代码截图就应该为。
2022-09-19 00:32:49
5960
2
原创 腾讯QQ 微信 amr音频文件转换成MP3的方法
工具link:https://pan.baidu.com/s/1P8jIr55pHuTiP6s8iQA-xg多的话不多说打开程序(windows环境下)第一步导入文件第二步开始转化第三步打开转换好的文件好的教程结束,刚才我有试过是可以的...
2020-02-03 19:49:23
3398
1
原创 C++ 冰河木马的实现
文件传输采用的winsock ,截屏采用的上一个帖子,下载文件采用上上个帖子,反正你在这个博客里搜一下就可以看到了,查看文件目录也是。。。不多说了,上代码。关于欲儿远控的说明命令大全dir-查询目录(查询对方指定路径的文件)——例如:dir-D:\\down-下载链接-保存路径(让对方下载指定链接的文件)——例如:down-http://www.anyuer.club-D:...
2019-08-04 00:37:39
4167
5
原创 关于图片马的正确用法
有图片,有木马,然而菜刀连接不上,你绝望吗?不怕今天我会教大家的。我们先看一下源码吧,过关方式也是叫我们上传图片马。。。然后我还要说吗一下,图片马不是一张木马图片一个菜刀就可以了的。还需要一个漏洞,叫做文件包含漏洞。。。这个漏洞原理呢一:准备图片马需要用到DOS指令Bashcopy 001.jpeg/b + test.php/a 2.jpg这个...
2019-04-23 18:03:24
49582
17
原创 Kali常用的一些基本指令
基础命令目录和文件命令cd /home 进入 /home目录cd … 返回上一级目录cd …/… 返回上两级目录cd 进入个人主目录cd ~user1 进入个人的主目录cd - 返回上次所在的目录pwd 显示工作路径ls ...
2019-04-14 12:23:55
9798
5
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人