- 博客(436)
- 资源 (1)
- 收藏
- 关注
原创 小红书爆文数据挖掘:用 AI 分析 1000 条笔记,我找到了“流量密码”的底层逻辑
以前做文本分析,大家喜欢用jieba分词画个词云图。你会得到一堆大词:“Python”、“学习”、“教程”、“干货”。这有意义吗?毫无意义。谁不知道 Python 频道要写 Python?我们需要的是**“结构”和“情绪”**。不是通过词频,而是通过LLM (大语言模型)理解标题的句式结构(如:反问句、感叹句)。分析封面的视觉要素(如:大字报、对比图)。分析文案的情绪触发点(如:焦虑、爽感、共鸣)。所谓“网感”,其实就是对人性的精确捕捉。
2026-01-21 09:59:17
317
原创 AI 加速开源贡献:自动匹配 Issue,一键生成高质量 PR(含测试与文档)
Issue 迷海:GitHub 上有数百万个 Issue,哪一个适合我?(既不能太难,又不能太无聊)。上下文缺失:拿到一个 Bug,要在几万行代码里找到是哪一行逻辑错了,这通常需要几天时间。合规性噩梦:开源项目通常有严格的 Contributing Guide,代码风格、测试覆盖率、Commit Message 格式,错一点都会被 CI 挂掉。我们将用 AI 将这三座大山夷为平地。AI 不会取代开源贡献者,它会取代**“那些还在用记事本读代码”**的贡献者。
2026-01-21 09:54:45
3
原创 Python + LLM 搞钱实战:全自动“网络问答接单”流水线,一周跑出第一笔收入
传统的“网络答主”每天只能写 3-5 个高质量回答,耗时耗力。而 AI 的出现,将生产成本降低到了几乎为零。我们要做的,就是用 Python 把“流量”这一项拉满。监控端:24 小时盯着哪里有“急需解决”的问题。内容端:用 LLM 生成比 90% 人类更条理清晰的答案。变现端平台激励:部分平台的创作分成。付费咨询:吸引用户点击你的主页,通过私域变现(接单、卖课)。带货:在回答中软植入推荐链接(Affiliate Marketing)。
2026-01-21 09:44:37
4
原创 红队实战:用 CodeQL + LLM 打造“自动代码审计机”,我在 GitHub 热门项目里挖到了 3 个 0-day
每一个做过源码审计的人都知道,使用传统工具扫描时,最痛苦的不是没漏洞,而是99% 的误报。工具告诉你:“这里有个 SQL 注入!。——这只是打印日志,根本没进数据库。CodeQL 的强大在于它支持“污点追踪 (Taint Tracking)”:它能确认数据是否真的从Source(入口)流到了Sink(危险函数)。LLM 的强大在于它懂“语义”:它能看懂代码里是否有这种鉴权逻辑,或者这种过滤函数是否有效。把两者结合,就是降维打击。“自动化”不是为了偷懒,而是为了把人的精力集中在最关键的“利用”环节。
2026-01-20 12:13:39
472
原创 从接需求到上线:Trae 的“原生中文 Agent”模式,是否真的比 Cursor Composer 更懂中国程序员?
Cursor 无疑是伟大的。它的Composer模式允许你按Ctrl+I直接指挥 AI 修改整个项目。但当你试图用它开发一个“微信小程序”或对接“高德地图 API”它生成的代码往往基于海外过时的文档。它不理解“Vant Weapp”或“Ant Design Vue”的最新中文文档。网络波动导致流式输出卡顿,思路中断。这时候,Trae带着它的Builder 模式(全自动代理)来了。这可能是决定你是否迁移的关键。维度CursorTrae网络延迟高。
2026-01-20 12:11:10
362
原创 智能合约“黑暗森林”:复现 DeFi 重入攻击,AI 竟然比黑客更快发现了合约漏洞?
想象一下,你在这个世界上有一台特殊的 ATM 机。检查余额:看你卡里有没有 100 块。吐钞:把 100 块吐给你。扣款:把你账户里的余额减去 100 块。听起来没问题?在步骤 2(吐钞)和步骤 3(扣款)之间,我大喊一声:“再给我取 100 块!因为步骤 3 还没执行,ATM 机觉得你余额还在,于是再次执行步骤 2。如此循环,直到提空 ATM 机的所有现金。这就是重入攻击的本质。Web3 的世界是残酷的。以前,你需要懂汇编、懂 EVM 才能发现深层漏洞。现在,
2026-01-20 12:10:02
314
原创 2026 程序员生存指南:Cursor 跌落神坛?这 6 款 AI 编码神器,谁才配做你的主力?(附深度横评表)
时间来到 2026 年初,如果你对 AI 编程的理解还停留在“在对话框里贴代码”,那你正在被降维打击。现在的头部工具(Cursor, Trae, Claude)已经进化到了Agentic(代理人)以前:你写函数,它补全一行。现在:你说“把支付模块重构了”,它读代码、改文件、跑测试、修 Bug,你只负责喝咖啡和 Review。市面上工具泛滥,但真正值得装进开发环境的,只有这 6 款。今天我们来一场生死看淡,不服就干的深度横评。
2026-01-20 11:59:11
454
原创 Android 脱壳实战:Frida Hook dlopen + AI 辅助,在内存中 dump 出被加固的 DEX
静态分析(Static Analysis)面对加固 APP 是无力的,因为 DEX 是加密存储的。但动态运行(Dynamic Runtime)不会撒谎。加载壳的 SO:通过加载壳的 Native 代码。解密 DEX:在 Native 层解密出原始 DEX 数据。加载 DEX:调用系统函数(如OpenCommonOpenMemory)将 DEX 放入内存,准备执行。守株待兔。我们不需要知道它怎么解密的,我们只需要 Hook 住加载 DEX。
2026-01-20 11:38:39
755
原创 自动发货机器人 2.0:接入大模型之后,它能自己回消息、处理差评和退款纠纷吗
买家:“老板,这个软件支持 M1 芯片的 Mac 吗?急!机器人:“亲,自动发货,拍下秒发哦~”买家骂了一句,去别家买了。买家:“老板,这个软件支持 M1 芯片的 Mac 吗?急!机器人(查询知识库后):“亲,支持的!我们的软件已经适配了 Apple Silicon 芯片(M1/M2/M3),拍下后我会发给您专用安装包,放心拍!成交。这背后的技术跨越,是从规则匹配 (Rule-based)到语义理解 (Semantic Understanding)的质变。
2026-01-20 11:26:29
5
原创 短视频神器:用 Python moviepy 自动剪辑,把 1 小时的电影切片成 3 分钟解说
Premiere (PR) 和 Final Cut Pro 是给艺术家用的,而MoviePy是给程序员用的。它是一个基于 ffmpeg 的 Python 库,能让你像处理字符串一样处理视频:切割、拼接、加特效、调整大小、混合音频。核心优势:批量化:写好一个脚本,文件夹里的 100 部电影自动处理。精确控制:精确到毫秒级的剪辑。免费:不需要昂贵的软件授权。Python MoviePy 虽然渲染速度不如专业的 PR/AE(因为它主要靠 CPU 计算),但它的核心价值在于“无人值守”。
2026-01-19 10:11:47
7
原创 批量加水印工具:防止盗图,用 Python 给你的 1000 张摄影作品加上透明 Logo
死板:它通常按绝对像素添加。在大图上水印像蚂蚁,在小图上水印像巨石。慢:打开 PS -> 加载脚本 -> 渲染 -> 保存,处理 1000 张图电脑风扇会起飞。Python 的优势在于**“逻辑判断”**。我们可以写代码告诉电脑:“如果图片宽大于 3000px,水印就缩放到 500px;如果是竖构图,水印就放在左下角……”fill:#333;important;important;fill:none;color:#333;color:#333;important;fill:none;fill:#333。
2026-01-19 10:06:09
27
原创 省下 20 块钱:用 Python Pillow + cv2 制作标准证件照(自动换底色 + 智能裁剪)
制作证件照的核心难点在于“如何把人从背景里完美地扣出来”。以前我们用 OpenCV 的 HSV 阈值或者 GrabCut 算法,代码写了一堆,头发丝还是扣不干净。现在,我们有Rembg。它是一个基于 U-2-Net 深度学习模型的 Python 库,专门用于移除背景,效果堪比精修。fill:#333;important;important;fill:none;color:#333;color:#333;important;fill:none;fill:#333;height:1em;
2026-01-19 10:04:08
5
原创 HR 救星:用 Python 批量提取 100 份简历中的“姓名+电话+学校”,自动填入 Excel
简历是典型的非结构化数据。格式不统一:有的是 PDF,有的是 Word。排版不统一:有的名字在左上角,有的在中间;有的写“毕业院校”,有的写“教育经历”。读取:如何让 Python 读懂 PDF 和 Word?提取:如何在杂乱的文字中精准抓取手机号和学校?正则表达式fill:#333;important;important;fill:none;color:#333;color:#333;important;fill:none;fill:#333;height:1em;是 PDF是 Word。
2026-01-19 10:01:59
122
原创 不加班的秘密:用 Python PyAutoGUI 录制鼠标键盘动作,自动完成 ERP 系统录入
定位:告诉代码屏幕上的坐标 (x=100, y=200) 在哪里。动作:告诉代码是左键点击、双击还是右键。输入:告诉代码敲击键盘上的哪些字母。它不关心你操作的是 SAP、金蝶、用友还是网页后台,只要屏幕上能看到,它就能点到。PyAutoGUI 不是最高级的技术,但它是性价比最高的技术。它不需要你懂 HTTP 协议,不需要你懂数据库,它只是忠实地模仿你的手。下次遇到几百条数据需要录入时,先别急着叹气。花 10 分钟写个脚本,然后端着咖啡看电脑自己干活,这才是程序员(及其朋友们)该有的工作方式。
2026-01-19 10:01:02
5
原创 LLM 推理加速:深入 vLLM 源码,揭秘 PagedAttention 如何让吞吐量提升 20 倍?
在 vLLM 出现之前,HuggingFace Transformers 的默认推理极其浪费显存。LLM 推理是自回归的(生成一个 Token,存入 KV Cache,再生成下一个)。传统的 KV Cache 管理方式是预分配 (Pre-allocation)假设最大序列长度是 2048,系统就会直接在显存里划出一块能存 2048 个 Token 的连续空间。问题来了:内部碎片:用户只问了句 “Hi”,占用了 5 个 Token,剩下的 2043 个 Token 空间全部闲置,但无法被其他请求使用。
2026-01-19 10:00:10
82
原创 大模型减肥术:4-bit 量化 (AWQ/GPTQ) 原理与实战
为什么我们需要量化?让我们做个简单的算术。: 每个参数占 2 Bytes。: 每个参数占 0.5 Bytes。对于一个70B (700亿参数)FP16 显存需求: GBINT4 显存需求: GB结论:量化是让大模型走入寻常百姓家的唯一路径。虽然单卡 3090 (24GB) 跑 70B 4-bit 仍需 CPU 卸载(速度慢),但它完美适配了Yi-34B(约 18GB) 或,让这些强大的模型在单卡上健步如飞。单卡 3090 (24GB)FP16 极限:只能跑 7B - 10B 模型。
2026-01-19 09:58:20
4
原创 布隆过滤器进阶:布谷鸟过滤器 (Cuckoo Filter) 是如何支持“删除”操作的?
布隆过滤器的原理是将一个元素通过 个哈希函数映射到位数组的 个点上。为什么不能删?假设元素 A 映射到了位置[1, 5, 8],元素 B 映射到了[2, 5, 9]。它们共享了位置5。如果你想删除 A,把1, 5, 8都置为 0,那么 B 在查询时,发现位置5是 0,就会被误判为“不存在”。这破坏了过滤器的正确性(False Negative 是绝对不允许的)。布谷鸟过滤器通过“指纹存储”“异或位置推导”,完美解决了布隆过滤器的删除难题。
2026-01-18 19:22:24
740
原创 恶意代码分析:在沙箱中运行勒索病毒,用 IDA Pro 逆向它的加密逻辑
逆向勒索病毒是一场与时间的赛跑。通过IDA Pro,我们透视了病毒的骨骼;通过ProcMon,我们记录了它的罪行。提取 IOC (威胁指标):提取 C2 域名、Hash 值,更新防火墙规则。发现 Kill Switch:阻断传播。找逻辑漏洞:有时候黑客也会写 Bug(比如密钥生成随机性不足),那是受害者唯一的生机。去下载一个简单的CrackMe(合法的逆向练习程序),尝试用 IDA Pro 找到它的注册码生成逻辑,写一个 KeyGen(注册机)。这是成为逆向工程师的第一步。
2026-01-18 19:21:49
713
原创 挖掘 0-Day 漏洞:AFL++ 模糊测试实战,给开源图像库 (libpng) 找一个致命 Crash
传统的 Fuzzing 是“瞎蒙”,随机生成乱码喂给程序,效率极低。及其继承者AFL++引入了覆盖率导向 (Coverage-Guided)机制。变异:对种子文件(如一个正常的 PNG)进行位翻转、剪切、拼接。执行:喂给程序运行。反馈:通过插桩(Instrumentation)监控程序执行了哪些代码路径。如果发现了新路径(比如进了一个生僻的if分支),就保留这个变异样本,作为下一代的“种子”。如果没有新发现,就丢弃。fill:#333;important;important;
2026-01-18 19:20:09
589
原创 Go 调度器 (GMP) 揭秘:从汇编角度看 Goroutine 是如何实现“协程切换”的?
操作系统线程(OS Thread)太重了。创建一个线程需要 1-8MB 栈内存,切换一次需要进入内核态,耗时 1-2 微秒。Go 的 GMP 模型本质上是一个二级调度系统: 仅仅是一个数据结构 (struct g),包含自己的栈和指令指针 (PC),初始只占 2KB。: 真正的 OS 线程。它不懂什么协程,它只知道执行代码。: 逻辑处理器,维护了一个本地运行队列(Local Run Queue)。M 并不直接执行 G 的代码,而是通过一个名为 g0的特殊 Goroutine 来充当“调度中介”
2026-01-18 19:19:23
376
原创 Java 并发探秘:JCTools 源码剖析,为什么 Netty 放弃 JDK 自带队列而选择 MpscArrayQueue?
在 Netty 的 Reactor 线程模型中,EventLoop本质上是一个单线程的执行器。IO 事件:来自网络 Socket 的读写。外部任务:其他线程提交给 EventLoop 执行的任务(例如这是一个典型的多生产者-单消费者 (Multi-Producer Single-Consumer, MPSC)场景。如果你使用 JDK 的锁竞争严重put和take共用一把锁(或者两把锁),导致线程上下文切换频繁。伪共享 (False Sharing)
2026-01-18 19:17:02
692
原创 算子优化实战:手写 Triton Kernel,将 LayerNorm 算子的执行时间压缩 50%
PyTorch 的显存带宽瓶颈:LayerNorm 需要读取输入 ,计算均值 和方差 ,然后再读取一次 进行归一化。多次读写 Global Memory 是最大的开销。通用性妥协:原生库为了兼容各种极端 Shape,往往会有很多分支判断逻辑,牺牲了特定场景的极致性能。将所有计算(均值、方差、归一化、仿射变换)融合在一个 Kernel 中,数据只从 Global Memory 读一次,写一次,中间全部在 GPU 的 SRAM(片上内存)中完成。Triton 是 AI 工程师跨越“算子优化”鸿沟的桥梁。
2026-01-18 19:16:29
4
原创 LLM 推理加速:深入 vLLM 源码,揭秘 PagedAttention 如何让吞吐量提升 20 倍?
在 vLLM 出现之前,HuggingFace Transformers 的默认推理极其浪费显存。LLM 推理是自回归的(生成一个 Token,存入 KV Cache,再生成下一个)。传统的 KV Cache 管理方式是预分配 (Pre-allocation)假设最大序列长度是 2048,系统就会直接在显存里划出一块能存 2048 个 Token 的连续空间。问题来了:内部碎片:用户只问了句 “Hi”,占用了 5 个 Token,剩下的 2043 个 Token 空间全部闲置,但无法被其他请求使用。
2026-01-18 19:11:34
4
原创 智能合约安全审计:复现“重入攻击 (Reentrancy)”,一行代码是如何盗走 1000 ETH 的?
想象一个现实场景:你去银行取钱。检查:柜员查账,发现你有 100 元。交互:柜员把 100 元现金递给你。生效:柜员拿起笔,准备在账本上把你账户扣除 100 元。重入攻击就在第 2 步和第 3 步之间发生了。当你接过钱的瞬间(第 2 步刚开始,第 3 步还没做),你大喊一声:“嘿,我还要取 100 元!柜员因为还没来得及改账本,一看账上还是 100 元,于是又递给你 100 元。如此循环,直到银行金库被你搬空。受害者合约 (Bank)攻击者合约受害者合约 (Bank)攻击者合约。
2026-01-17 20:53:08
831
原创 Redis 协议兼容:编写一个支持 RESP 协议的 KV Server
Redis 之所以流行,除了它快,还因为它简单的协议设计。RESP 协议通过简单的文本规则,实现了高性能与易读性的平衡。监听 -> 解析 -> 路由 -> 执行 -> 响应。目前的解析器是同步阻塞的,效率较低。尝试引入 Go 的bufio的Scanner机制,或者尝试支持PIPELINE(一次发送多条命令),这将极大提升你的 Server 吞吐量。
2026-01-17 20:49:53
925
原创 用户态网络栈:DPDK 入门实战,绕过 Linux 内核实现“零拷贝”收发包
硬件中断:网卡收到包 -> CPU 中断 -> 上下文切换。内核处理:内核分配sk_buff-> 协议栈解析(IP/TCP)。用户态拷贝recv()系统调用 -> 数据从内核空间到用户空间。DPDK 的革命性方案:UIO/VFIO 驱动:利用 Linux 的 UIO 机制,将网卡寄存器映射到用户空间,让应用程序直接驱动网卡。Hugepages (大页内存):减少 TLB Miss,提升内存访问效率。抛弃中断!CPU 死循环轮询网卡,没有上下文切换开销。fill:#333;important;
2026-01-17 20:49:23
656
原创 Solidity 开发入门:编写一个“去中心化投票系统”,部署在以太坊测试网
本文介绍了如何基于以太坊开发一个去中心化投票DApp。通过Solidity编写智能合约实现候选人初始化、投票和结果查询功能,使用Remix IDE进行编译部署,并利用MetaMask钱包在Sepolia测试网进行交互测试。文章详细展示了DApp从合约编写到部署测试的全流程,并分析了区块链技术带来的无服务器、不可篡改和透明性等优势。最后指出可通过React+ethers.js开发前端,迈向全栈Web3开发。该案例展示了区块链作为"信任机器"的核心价值,是入门DAO开发的实用教程。
2026-01-17 20:48:05
710
原创 防火墙性能天花板:使用 eBPF (XDP) 在网卡驱动层丢弃 DDoS 攻击包,性能吊打 iptables
sk_buff在 Linux 内核中,网络包不仅仅是二进制数据,它被封装在一个名为sk_buff(Socket Buffer) 的结构体中。这个结构体包含了大量元数据(时间戳、设备信息、路由信息等),大小往往超过 200 字节。网卡收到包 -> 触发中断。驱动申请内存,创建sk_buff最昂贵的操作数据从 DMA 拷贝到sk_buff。进入协议栈(IP 层)。Netfilter (Iptables) 匹配规则 -> DROP。网卡收到包 -> 触发中断。
2026-01-17 20:45:23
1313
原创 Android 脱壳实战:Frida 脚本 Hook dlopen,在内存中 dump 出被加固的 DEX 文件
静态分析(Static Analysis)面对加固 APP 是无力的,因为 DEX 是加密存储的。但动态运行(Dynamic Runtime)不会撒谎。加载壳的 SO:通过加载壳的 Native 代码。解密 DEX:在 Native 层解密出原始 DEX 数据。加载 DEX:调用系统函数(如OpenCommonOpenMemory)将 DEX 放入内存,准备执行。守株待兔。我们不需要知道它怎么解密的,我们只需要 Hook 住加载 DEX。
2026-01-17 20:44:37
576
原创 零知识证明 (ZK) 科普:如何在不泄露密码的情况下证明“我知道密码”?(附 Python 示例)
零知识证明看似悖论,实则是概率与数论的完美结合。它解决了数字世界中**“信任”与“隐私”**的终极矛盾。如果你看懂了上面的 Python 代码,恭喜你,你已经迈入了 Web3 最硬核技术的大门。尝试了解Circom语言和SnarkJS。这是一个可以让你编写电路逻辑并生成真实 zk-SNARK 证明的开发工具栈,试着写一个“证明我知道方程 的解,但不告诉你是 3”的小程序。
2026-01-17 20:43:48
554
原创 Unity 游戏逆向:使用 Il2CppDumper 还原 C# 符号表,修改 DLL 实现“无敌模式”
Mono: C# -> IL (中间语言)。DLL 包含元数据,极易反编译。Il2Cpp: C# -> IL -> C++ -> Native Code (机器码)。DLL 只有汇编,元数据(类名、方法名)被剥离并打包到了中。fill:#333;important;important;fill:none;color:#333;color:#333;important;fill:none;fill:#333;height:1em;Il2Cpp 模式 (困难)IDA。
2026-01-17 20:42:18
766
原创 Semantic Kernel 入门:微软官方 SDK 实战,在 C#/Python 项目中无缝集成 LLM 技能
LLM 是概率性的(不可控),而传统软件是确定性的(严谨)。Semantic Kernel 的核心理念是Copilot模式:它不试图取代代码,而是将 LLM 封装成“Plugins” (插件),让传统代码可以编排 AI,AI 也可以回调传统代码(如查询数据库、发送邮件)。fill:#333;important;important;fill:none;color:#333;color:#333;important;fill:none;fill:#333;height:1em;插件集 (Plugins)
2026-01-17 20:40:54
9
原创 WebAssembly 逆向分析:如何反编译 Wasm 二进制文件,修改游戏里的“金币数量”?
WebAssembly 是一种基于堆栈虚拟机的二进制指令格式。它类似于汇编语言,但比 x86 汇编更抽象。浏览器加载.wasm文件,编译为机器码运行。逆向 Wasm 的两种核心思路:静态分析:将.wasm反汇编为.wat(WebAssembly Text) 或伪 C 代码,分析逻辑。动态调试:利用浏览器开发者工具挂载断点,或直接修改(线性内存)。fill:#333;important;important;fill:none;color:#333;color:#333;important;
2026-01-16 11:38:28
955
原创 端侧推理加速:NCNN (腾讯开源) 部署实战,在树莓派上跑通 30FPS 的人脸检测
在边缘端(手机、开发板),主流框架有 TFLite、MNN、TNN 和 NCNN。为什么首选 NCNN?无依赖:编译产物只有一个.a或.so库,不依赖 protobuf、OpenCV(核心计算部分),部署极其干净。极致优化:针对 Arm A53/A72 等架构做了深度的汇编优化。社区活跃:转换工具(onnx2ncnn)非常成熟,几乎支持所有主流模型。fill:#333;important;important;fill:none;color:#333;color:#333;important;
2026-01-16 11:37:39
17
原创 H.265 (HEVC) 网页播放:WebAssembly + FFmpeg 实现浏览器端的硬解/软解兼容方案
为什么在 Chrome 里放不出来?因为 H.265 的专利池太深了。只有 Safari (即使是 iOS) 和 Edge (需硬件支持) 原生支持较好。我们的目标是构建一套混合解码方案优先硬解 (WebCodecs):如果浏览器支持硬件加速(如 Chrome 94+ 的 WebCodecs),直接调用 GPU,性能起飞。降级软解 (Wasm + FFmpeg):如果不支持,自动切换到 WebAssembly 版的 FFmpeg 进行 CPU 软解,利用 SIMD 指令集加速。fill:#333。
2026-01-16 11:36:13
914
原创 大模型“越狱”指南:DAN 模式与对抗样本 (Adversarial Examples) 攻击原理揭秘
现代 LLM 的安全护栏主要依赖于。模型被训练为最大化“有用性”和“安全性”。但在高维向量空间中,这种对齐并非无懈可击。越狱(Jailbreak)的本质,就是在高维空间中寻找一个“对抗子空间”,使得模型在该区域内的“拒绝回答”概率降为零。!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!1--Two在人类眼里这是垃圾,但在 LLM 眼里,这串 Token 对应的Embedding 向量能够引导模型生成的概率分布向“肯定回答”剧烈偏移。大模型越狱是一场发生在高维概率空间。
2026-01-16 11:32:31
100
原创 分布式事务落地:Seata AT 模式 vs TCC 模式,在订单与库存扣减场景下的艰难抉择
订单服务:创建订单 ().库存服务:扣减库存 ().如果没有分布式事务,当库存扣减成功,但网络超时导致订单服务回滚时,库存就永久丢失了(超卖/少卖)。能用 AT 就用 AT,毕竟“懒”是程序员的美德。性能瓶颈上 TCC,这是架构师能力的体现。TCC 的三个坑:一定要注意处理空回滚(未 Try 先 Cancel)、幂等(多次 Cancel)、悬挂(Cancel 比 Try 先到)。如果你的业务并发极高,TCC 都嫌慢,那就只能上RocketMQ 事务消息了。
2026-01-16 11:29:35
702
原创 手写分布式共识:用 Go 实现 Raft 算法的核心逻辑(选主与日志复制)
强领导者 (Strong Leader)。整个集群只有 Leader 能写日志,Follower 只能被动接受。:老大挂了,怎么选新老大?:老大怎么把指令强行同步给小弟?Safety:怎么保证数据不丢、不乱?fill:#333;important;important;fill:none;color:#333;color:#333;important;fill:none;fill:#333;height:1em;超时 (Election Timeout)获得大多数票。
2026-01-16 11:29:00
556
原创 实时同声传译:OpenAI Whisper (Turbo版) + PyAudio,自制一个会议实时字幕生成器
在实时语音识别(ASR)场景下,我们面临一个“不可能三角”高精度(需要大模型,如 Large-v3)低延迟(需要小模型,如 Base/Tiny)低算力(希望能跑在普通笔记本上)以前我们只能选 Tiny 模型跑实时,结果“人工智能”变成了“人工智障”。的出现打破了这个三角。它通过减少解码层的层数,实现了在保持 Large 级别精度的同时,推理速度接近 Small 模型。fill:#333;important;important;fill:none;color:#333;color:#333;
2026-01-16 11:27:03
117
原创 前端 AI 推理:使用 WebGPU 加速 ONNX Runtime,在浏览器端实时运行 YOLOv8
传统的 Web AI 推理主要依赖,它本质上是利用 CPU 计算。虽然 SIMD 指令集带来了一定优化,但面对矩阵乘法这种并行计算任务,CPU 永远打不过 GPU。WebGL 虽然也能用,但它原本是为图形渲染设计的,用于通用计算(GPGPU)时需要经过复杂的 Hack(把数据伪装成纹理),开销巨大。WebGPU 是为计算而生的标准。它提供了对 GPU 的低级访问,配合 ONNX Runtime 的webgpu执行提供商(Execution Provider),性能实现了质的飞跃。fill:#333;
2026-01-16 11:25:53
18
抠一张图要 5 块钱?拒绝被宰!我用 Python 手搓了一个离线版 AI 抠图神器(附源码)
2025-12-05
软考中级资料获取,中级
2023-04-19
yolov8训练与应用
2023-04-24
软件工程师 高级架构师资料
2023-04-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅