WHH

MY BLOG

一部旧手机在家发挥余热,安装Termux后,希望手机能自动更新DNS解析,方便远程访问家里网络。
最开始使用Python完成,为了方便能直接运行,用Go做了重新实现。

实现逻辑是,通过https://4.ipw.cn获取当前IP,然后通过阿里云SDK去检查IP是否一致,不一致则更新。

阅读全文 »

在windows开发后,想编译后在linux里面运行。测试通过docker编译后看能否可以在linux里面运行。
linux环境使用的是wsl1 Debian,
创建一个普通rust文件demo2.rs:

1
2
3
4
5
6
7
8
fn main() {
println!("Hello, world!");
let num = demo();
println!("{}", num)
}
fn demo() -> i32 {
return 1;
}
阅读全文 »

一次项目改造中,为了兼容一起获取配置代码,在 Spring 启动后,把Environment写入静态属性,其他地方需要获取值时,直接通过静态方法中从Environment内获取。

1
2
3
4
5
6
7
8
9
public class SystemEnv {
private static Environment environment;
public static void setEnvironment(Environment environment) {
SystemEnv.environment = environment;
}
public static String getProperty(String key) {
return environment.getProperty(key);
}
}
阅读全文 »

Quarkus可以很方便通过GraalVm编译本地文件后直接执行,编译后启动非常快。
本次通过构建Quarkus项目,然后插件通过docker编译后生成本地文件。

阅读全文 »

安装

直接使用scoop进行安装。为了图方便使用的是 gnu。

1
scoop install rustup-gnu

安装好后通过rustc --version查看版本

阅读全文 »

前端有个耗时的查询比对任务提交,想实时获取比对进程。一般常规都是轮询、长连接、websocket等,今天查到html5里面有个SSE(Server-sent Events),客户端提交一次请求后,由服务端单向推送数据。不支持一次请求客户端再次通信。

阅读全文 »

最近公司要求修改依赖为公司统一封装的SpringBoot,里面包含了注册中心等配置,方便统一管理。

开发SpringBoot项目一般默认继承spring-boot-starter-parent,这次要求默认继承公司内部的依赖。同时把以前打包的war改为jar,最后打包发现只是普通的jar打包编译,也没有依赖。

阅读全文 »

现有一个多边形,和一个点,需要判断点是否在多边形内。
几种情况:

  • 点在边上
  • 点在多边形顶点上
  • 点在多边形内

方法通过射线法,从点发出一条射线,如果穿过多边形,偶数个交点表示在多边形外;奇数个交点在多边形内。
特殊情况:

  • 点的射线和多边形边重合
  • 点的射线刚刚好经过多边形的点
    阅读全文 »

Java代码中可以通过Unicode注释后隐藏部分实际代码

1
2
3
4
@Test
public void demo(){
// \u000d System.out.println("Hello");
}

上述代码会输出Hello,因为前面unicode会转义为换行,后面的代码正常执行。后面代码也可以全部转义为unicode,用于隐藏,如下。

1
2
3
4
5
@Test
public void demo(){
// \u000d \u0053\u0079\u0073\u0074\u0065\u006d\u002e\u006f\u0075\u0074\u002e\u0070\u0072\u0069\u006e\u0074\u006c\u006e\u0028\u0022\u0048\u0065\u006c\u006c\u006f\u0022\u0029\u003b
\u0053\u0079\u0073\u0074\u0065\u006d\u002e\u006f\u0075\u0074\u002e\u0070\u0072\u0069\u006e\u0074\u006c\u006e\u0028\u0022\u0048\u0065\u006c\u006c\u006f\u0022\u0029\u003b
}

上述会输出2次Hello

0%