XGBoost 和 LightGBM 你已经调得很熟了,但只要数据里有一堆字符串类型的类别列,就免不了一段重复劳动:pd.get_dummies() 一下炸出几百列,或者 LabelEncoder 随手写上却悄悄引入了不存在的大小关系。 CatBoost 解决的就是这一件事——类别特征可以直接喂进去 ...
告别简单Docker一键部署!本文基于生产3节点ES集群实战,完整拆解架构选型、系统调优、集群部署、索引设计、数据同步等全流程。分享JVM堆内存黄金配置、索引零停机切换、Canal高可靠数据同步核心技巧,汇总脑裂、OOM、磁盘只读等6大生产高频坑点及解决方案,附带标准化SOP,适配面试刷题与生产落地... ...
本文已在博客园同步发布。 注意此为个人题解,并非转载于洛谷。 [PA 2012 Finals] Tax 题目大意 给定一个 \(n\) 个点 \(m\) 条边的无向图,定义路径的代价如下: 经过一个中间点时,代价为 \(max(\) 进入该点的边权, 离开该点的边权 \()\)。 起点 \(1\) ...
你大概用过不少健康管理类的App——输入年龄、性别、BMI、血压,再填几项血液指标,它就能给出一个风险评分或健康提示。 这个评分背后,往往是一个训练好的机器学习模型在实时计算。 但模型在Jupyter Notebook里跑通,和让它变成成千上万用户都能调用的服务,中间隔着一条不小的鸿沟。 今天我们就 ...
训练一个 XGBoost 模型要等十分钟,换 LightGBM 同样的数据只要一分钟,精度还差不多。这不是玄学,是两者在构造决策树的方式上有根本差异。 这篇文章解决四件事:LightGBM 为什么快、三个核心优化各自解决什么问题、Python 从训练到调参的完整代码、以及我踩过的 5 个坑。看完你能 ...
前两天帮朋友看一个后台系统,他问了个问题:用户点了「退出登录」,前端把 token 删了,但如果这个 token 之前已经被人抓包拿走,拿着它还能调接口吗? 答案是能,一直能用到它过期为止。这是 JWT 最常被问到、也最容易被忽略的一件事:JWT 本身是无状态的,服务端验的只是签名和过期时间,它不知 ...
拆解100亿订单号高并发去重实战方案!对比HashSet、MySQL、Redis Set等方案优劣,敲定分布式布隆过滤器+数据库兜底最优架构。通过分片优化解决Redis大key问题,搭配多线程批量加载、Redis管道提速,百亿数据4小时完成冷启动。支持10万+QPS、延迟<10ms,精准控制0.01... ...
分享一个开源项目的架构实践:自托管的用户行为分析系统。整体链路为 SDK 上报 → Go 采集服务 → ClickHouse → SQL/Superset 分析。Docker 安装脚本先启动演示,激活后启用真实采集。 项目地址:https://github.com/data-analyze-bi/s ...
前言 C++ 和其他语言的差别好大。 面向对象开发 宏定义 #ifndef xxx #define xxx ... #endif 为了防止重复 include,可以写:如果没有 define xxx,那么就 define,然后 include。这样在下次碰到的时候因为已经 define 过了,所以不 ...
继续使用 counter 与 ready,从语言内存模型和公开 API 规则理解 Java AtomicInteger、Go sync/atomic 与 CPython 的 Atomic 语义边界。 ...
处理数据的时候,最让人头大的往往不是复杂的模型调参,而是那些藏在角落里的异常值。 你是不是也遇到过这种糟心事:明明业务逻辑看着没毛病,一跑统计指标就飘红;或者模型效果突然断崖式下跌,排查半天发现是几个极端值在捣乱。 今天我们来聊聊最常用的 5 种异常值检测方法:Z-Score、IQR、LOF、Iso ...
选择一个 React 颜色选择器,听起来很简单,直到你开始认真考虑自己的应用到底需要什么。 也许你只需要一个很小的 HEX 颜色选择器。 也许你需要 RGB 和 HSL 控制、预设的调色板、一个吸管工具、从图片中取色、渐变功能、可访问性、表单支持,以及 OKLCH 等现代 CSS 颜色。 这些是完全 ...
本文针对生产环境线程池静态配置导致的 OOM、CPU 飙高及无法按需扩缩容问题,推导核心参数的科学评估公式;并基于 Java 17 和 Spring Boot 3 实现支持参数动态调整、队列容量热变更及多维度告警的线程池架构。 ...
在C系风格的代码中,标签是一个容易掌握但是却很难熟练使用的特性,容易主要体现在其规则简单,配合goto很容易就能实现一些比较复杂的逻辑。很难熟练使用主要是体现在对于复杂场景下,不好对流程把控,调试,也不好维护,是典型的面向过程的特性。前两天在看jdk源码的时候,无意中看到线程池中这个方法的源码: 1 ...
Git 冲突全攻略来袭!拆解冲突底层原理,覆盖 pull、merge、rebase、cherry-pick 四大高频场景,梳理标准化冲突解决流程。包含冲突标记解读、实用命令速查,讲解 IDEA 三路合并、自定义 merge 驱动等提效方案。剖析二进制冲突、静默逻辑冲突等 5 大难点,配套团队避坑方案... ...
一个很常见的线上现象:调用第三方接口的 goroutine 卡了十几分钟才返回,而代码里明明给 http.Client 设了 Timeout: 10 * time.Second。 这类问题查到最后,往往是那个请求根本没走你以为的那个 client。但要讲清楚为什么,得先把 net/http 客户端的 ...
沿着 Java synchronized、Go sync.Mutex 和 CPython threading.Lock 的真实实现路径,理解互斥锁如何使用原子操作、内存顺序以及等待与唤醒。 ...
1、Go 环境安装与模块初始化 安装 Go 1.21+ Go 1.21 及以上版本对 Go Modules 的支持更完善,语言服务器 gopls 也要求 Go 1.21+ 才能发挥全部功能。 先检查是否已安装: go version Windows 安装 下载安装包:访问 Go 下载页面(https ...
线上定时任务的故障有个很明显的时间分布:凌晨两三点出事的概率远高于白天。原因不是那个时段负载高,是那个时段正好是几类时间问题的集中爆发区。 这篇把我踩过和见过的三类坑整理一下。都是通用问题,跟具体框架关系不大。 坑一:容器里的时区不是你以为的时区 最常见的一种:本地开发跑得好好的任务,上线之后整整晚 ...
吃透Java线程安全!一文梳理5大类线程安全方案,覆盖无状态对象、volatile、锁机制、ThreadLocal等核心技术。详解CAS原理、读写锁、DCL单例等高频实战场景,对比各方案性能与适用场景,汇总死锁、内存泄漏等疑难坑点。附带面试真题模拟+优质源码,帮你搞定并发编程,提升面试与实战能力! ...