主页

由依赖关系构建执行拓扑:风控决策引擎的依赖闭包与分层调度

一次信贷或反欺诈决策,往往要串起数十到上百个处理步骤:多源数据查询、特征衍生、模型打分。为了应对特征与模型的频繁迭代和严苛的时延要求(SLA),决策引擎普遍采用声明式依赖编排。本文记录如何由声明式依赖推导出分层执行拓扑,并对其中依赖闭包计算的两版实现做复杂度与实测对比(基准测试:全图规模 $\lvert V \rvert=256$,目标节点数 $\lvert R \rvert=24$,闭包构建耗时从 2,987 ms 降至 2.33 ms)。

阅读更多

SIMUL8 XML Internals: Understanding the XSD Schema for Programmatic Simulation

SIMUL8 is almost always used as a visual desktop tool. But under the hood, every .S8 simulation file can be exported to and imported from an XML format. Compared to manual GUI drag-and-drop, XML provides a programmatic interface to automate model construction, parameter tuning, and batch scenario generation. To build models this way, the offici...

阅读更多

JupyterHub 进阶实践:集成 Azure AD 实现企业级单点登录 (二期)

引言 前置文章:JupyterHub 极简部署实践:基于 SystemdSpawner 与本地 PAM 认证 (一期) 在一期部署中,我们成功搭建了基于 SystemdSpawner 与本地 PAM 认证的多用户 JupyterHub。随着团队规模的扩大,手动管理 Linux 用户、维护密码不仅繁琐,而且无法满足企业对单点登录(SSO)与多因素认证(MFA)的安全合规要求。 本期我们将 JupyterHub 升级为 Azure AD(Microsoft Entra ID)OAuth2 认证。由于一期已经严格遵循了统一的用户名规范,本次升级无需迁移已有用户数据,可以实现无痛过渡。

阅读更多

JupyterHub 极简部署实践:基于 SystemdSpawner 与本地 PAM 认证 (一期)

为什么选择 JupyterHub + SystemdSpawner 多用户 Jupyter 平台常见方案是基于 Kubernetes (Zero to JupyterHub) 或 Docker (DockerSpawner)。但对于中小团队或单机部署,Kubernetes 维护成本过高,DockerSpawner 存在数据权限映射和容器管理开销。 我们需要一个更轻量、贴合宿主机环境的方案。SystemdSpawner 是一个理想的选择:它能够利用 Linux 原生 systemd 服务的 cgroup 限制 CPU 和内存资源,且用户打开 Terminal 直接就是真实的宿主机 Shell,方便使用宿主机已安装的各种开发工具。这非常适合单机、多用户的高效共享开发服务器。

阅读更多

如何使用 NetBird 快速构建企业级安全内网

为什么选择 NetBird 随着企业业务的分布式发展和远程办公的普及,构建一个安全、高效且易于管理的内网变得至关重要。传统的 VPN 解决方案(如 OpenVPN、IPsec)配置繁琐,对客户端支持有限,且由于中心化架构容易产生网络瓶颈。 我们需要一个现代化的替代方案,它应该具备以下特质:部署简单、配置下发自动化、基于点对点直连(降低延迟),且拥有直观的管理面板。这就是我们选择 NetBird 的原因。它不仅满足上述所有需求,还完美地平衡了企业级安全需求与极简的运维体验。

阅读更多

用 Node.js 实现 Windows RDP 自动登录

一台 Windows 机器上有多个账号,其中一个需要在后台保持登录来跑依赖桌面会话的定时任务。手动用远程桌面连一下太原始,改注册表 AutoAdminLogon 也只能设默认登录账号,无法在 A 账号已登录的情况下让 B 账号也在后台上线。最终方案:用 Node.js 在本地跑一个 RDP 客户端,连本机 3389 端口把目标账号登上去。

阅读更多