编程开发所有分类创业AI人工智能科学上网山地自行车论文生活小技巧收藏视频旅游健康与饮食人生经验
定义和使用AIDL接口
定义和使用AIDL接口
定义AIDL接口 使用场景:在library/module中定义AIDL,打包成sdk,再给其他APP调用 第一步,新建一个module,取名为sdk,在main目录下新建AIDL文件 编辑器报错,无法创建,我们需要在build.gradle文件设置一下,内容如下: 添加之后再sync一下,然后就可以创建AIDL文件了,AIDL文件长下面这个样子 文件名以.aidl结尾,里面的内容跟我们平时
2024-07-27
编程开发
Kotiln伴生对象
Kotiln伴生对象
写法 class Test { companion object { } } 反编译后 public final class Test { @NotNull public static final Companion Companion = new Companion((DefaultConstructorMarker)null); public static
2024-06-30
编程开发
Kotlin扩展函数/扩展属性
Kotlin扩展函数/扩展属性
扩展函数 顶层(Top-Level)扩展函数 // 文件名 Test.kt fun String.extendedFun(i: Int): String { // this代表(.)前面的对象,在这里,就是String对象 return this + i } 反编译结果 public final class TestKt { @NotNull public stati
2024-06-30
编程开发
Kotlin协程
Kotlin协程
创建协程环境 runBlocking 阻塞当前线程直到协程执行结束 launch 不会阻塞当前线程,返回值类型为Job,拿不到协程体的返回值 async 不会阻塞当前线程,返回值为Deferred,调用await()可以拿到协程体的返回值 协程启动模式 CoroutineStart.DEFAULT 立即进入待调度状态,一旦调度器 OK 就可以开始执行 CoroutineStart.LAZY
2024-06-25
编程开发
Kotlin委托和属性委托
Kotlin委托和属性委托
委托 // 定义接口 interface Printer { fun print(message: String) } // 实现接口的具体类 class ConsolePrinter : Printer { override fun print(message: String) { println("Printing message: $message")
2024-06-24
编程开发
DDOS攻击|TCP SYN泛洪攻击|TCP三次握手原理|网络攻防实战演练
DDOS攻击|TCP SYN泛洪攻击|TCP三次握手原理|网络攻防实战演练
引言 2019年,我的服务器遭遇了DDOS泛洪攻击,一怒之下,我便开始研究“网络攻防”,想着打回去。一眨眼4年过去了,本打算屠龙的我,自己却手握屠龙刀,成为了当初的那个屠龙少年 DDOS分有很多种,我只介绍TCP SYN flood(TCP SYN泛洪攻击),这是最常用的,也是效果最好的 免责声明:本篇文章仅仅是科普,作为学习案例,本人不承担任何法律后果 IP数据报 版本(4 bit):一般都
2023-08-29
编程开发
如何利用Docker容器搭建Nginx端口代理
如何利用Docker容器搭建Nginx端口代理
启动容器 #!/bin/bash docker rm -f nginx docker run -d \ --name nginx \ --network host \ --restart=always \ -e TZ=Asia/Shanghai \ -v ${PWD}/nginx.conf:/etc/nginx/nginx.conf:ro \ -
2023-07-28
编程开发
再也不需要移动硬盘,数据“自动备份”最佳方式
再也不需要移动硬盘,数据“自动备份”最佳方式
推荐一个非常好用的开源工具Rclone(我理解为"remote clone"远程克隆),网盘资源管理神器(上传、下载、同步),支持市面上绝大部分网盘提供商。配置简单,使用方便,最关键的是,它可以增量同步(只同步修改的内容),当作数据备份工具最合适不过了。 网盘我选择OneDrive,因为它下载不限速,缺点:当一个文件夹包含10000个以上文件,rclone会报错couldn’t list file
2023-07-25
编程开发
certbot➕ nginx➕docker 免费申请网站https证书
certbot➕ nginx➕docker 免费申请网站https证书
Certbot是一个开源工具,它是由Let's Encrypt提供的官方客户端,用于自动化获取、更新和安装Let's Encrypt证书。 优点:免费。 缺点:证书非永久,需要定期更新 申请证书 docker run --rm -it \ -e TZ=Asia/Shanghai \ -v "${PWD}/certs/:/etc/letsencrypt/" \ -v "${PWD}/lo
2023-07-17
编程开发
在Docker容器中部署NextJS项目
在Docker容器中部署NextJS项目
Nginx配置 server { listen 0.0.0.0:80; listen 0.0.0.0:443 ssl http2; server_name www.wmwm.me; ssl_certificate /etc/nginx/ssl/fullchain.pem; ssl_certificate_key /etc/nginx/ssl/private
2023-04-28
编程开发