Trojan Blog

Thinking will not overcome fear but action will.

开了 Clash Verge TUN 后,Docker 服务公网访问全挂?

用 connmark + 策略路由精准修复入站回程

一、背景:一个看似自相矛盾的需求 我在一台 Linux 服务器(Kali)上跑了 Clash Verge,开了 TUN 模式做全局代理——因为机器上有好几个程序都得靠它出墙。 同时,这台机器用 Docker 跑了两个容器: cli-proxy-api(CLIProxyAPI,把各家 LLM CLI 的凭据转成 OpenAI 兼容 API),监听 8317 cpa-manage...

一次 uni-app Android 返回链路与动态业务模块的系统性修复复盘

从返回链路失控到移动端动态业务能力补齐

一次 uni-app Android 返回链路与动态业务模块的系统性修复复盘 最近在一个基于 uni-app 的移动端项目中,我们完成了一轮比较集中的修复:一部分是 Android App 端返回行为异常,另一部分是移动端动态业务能力与 Web 端能力对齐。 这次修复看起来涉及很多页面和工具函数,但核心其实只有两个目标: Android App 不能因为系统返回、侧滑返回或原生标...

Android 11+ 下 APK 更新安装失败

从 ENOENT 到 DownloadManager + content URI

Android 11+ 下 APK 更新安装失败:从 ENOENT 到 DownloadManager + content URI 最近排查了一个 App 内更新问题:版本检查正常,APK 也能完整下载,但调用系统安装器时始终失败,报错类似: open failed: ENOENT (No such file or directory) 这个问题很容易让人误判成“文件没有下载成功”或...

K数之和

在一个数中将所有相加等于一个特定的数的情况列举出来。(可以用来凑单🤣)

K数之和 描述 给定 N 个不同的整数数组和一个目标数字,在数组中找出相加等于这个数字的所有情况。 样例 int nums[] = { 10,20,30,40,50,60,70,80,90,100 }; 输出: [[100] [90,10] [80,20] [70,30] [20,70,10] [60,40] [30,60,10] [40,50,10] [30,50,20] [20,3...

尽早执行与延迟执行的区别

声明式的代码 (declarative code)的重点在于把执行的结果定义出来,而命令式代码(imperative code)则重在详细描述实现该结果所需的步骤。这两种代码都可以写出正确的程序,但如果混起来用,那么程序的行为就有可能错乱。

尽早执行与延迟执行的区别 前言   声明式的代码 (declarative code) 的重点在于把执行的结果定义出来,而 命令式代码(imperative code) 则重在详细描述实现该结果所需的步骤。这两种代码都可以写出正确的程序,但如果混起来用,那么程序的行为就有可能错乱。 实例   运行命分令式的代码时,必须把方法所需的参数计算好,然后才能调用该方法,例如下面这行代码就是用命...

使用Mapper由非泛型转化为泛型

使用 Mapper 进行对象转换,使用 Ignore 对属性进行忽略

使用Mapper由非泛型转化为泛型 初始化 新建两个Model类 public class PageModel { public int Page { get; set; } public int PageSize { get; set; } public string Key { get; set; } public PageModel() { ...

分割等和子集

0-1 背包问题

分割等和子集 题目 给定一个只包含正整数的非空数组。是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。 注意: 每个数组中的元素不会超过 100 数组的大小不会超过 200 示例 1: 输入: [1, 5, 11, 5] 输出: true 解释: 数组可以分割成 [1, 5, 5] 和 [11]. 示例 2: 输入: [1, 2, 3, 5] 输出: fals...

惰性求值

尽量使用惰性求值的方式来查询,而不要及早求值

惰性求值 理论   定义查询操作时,程序并不会立刻把数据获取过来并填充到序列中,因为你定义的实际上只是一套执行步骤而已,等真正需要遍历查询结果时,才会得以执行。也就是说,对查询结果做迭代的时候,程序总是会从头开始执行这套步骤,这样做通常是合理的。每迭代一遍都产生一套新的结果,这叫作 惰性求值(lazy evaluation) ,反之,如果像编写普通的代码那样直接查询某一套变量的取值并将其...

Sqlserver for Linux 高可用

Sqlserver for Linux 高可用部署

Sqlserver for Linux 高可用 环境 主机名 IP 类型 node1 10.0.0.101 centos node2 10.0.0.102 centos node3...

使用 Docker 安装BTC钱包

使用 Docker 部署BTC钱包,另有 Dokcerfile

使用 Docker 部署BTC钱包 环境 ubuntu 18.04 docker 19.03.1 bitcoin-core-0.18.1 安装docker步骤略过 基础环境 Docker 拉取最新的 ubuntu image docker pull ubuntu 然后查看镜像 ➜ ~ docker images REPOSITO...