商城系统里最怕什么?超卖。100件商品卖出去105件,这差额要么自己贴钱要么和用户扯皮,怎么着都是血亏。这篇来聊库存管理的方案——从最简单的数据库扣减到Redis分布式锁,把超卖问题彻底解决。
Tauri 2.0 Beta体验:跨平台移动端支持
Tauri 2.0 Beta终于出了。最让人兴奋的变化是移动端支持——同一套代码可以编译到iOS和Android。虽然还是Beta阶段,但已经值得提前了解。这篇记录一下Tauri 2.0的主要变化和移动端体验。
RAG入门:检索增强生成实战
大模型很强但有两个硬伤:知识有截止日期、容易编造事实。RAG(Retrieval-Augmented Generation,检索增强生成)是目前最实用的解决方案——先从知识库里检索相关文档,再让模型基于检索结果生成回答。这篇用LangChain从零搭建一个RAG系统。
商城系统开发(五):搜索服务与Elasticsearch集成
商城的商品越来越多,MySQL的LIKE查询扛不住了。这篇接入Elasticsearch做商品搜索——从索引设计、中文分词到搜索排序,把一个基本可用的搜索服务搭起来。
大模型本地部署:llama.cpp实战
想在本地跑大模型但不想装一堆Python依赖和CUDA?llama.cpp是目前最实用的方案——纯C/C++实现的LLM推理引擎,支持CPU推理,量化后在消费级硬件上就能跑。这篇记录从编译安装到实际使用的全过程。
Go语言:分布式任务队列Asynq
Go生态里做异步任务队列,之前我一直是自己写goroutine + channel来处理。能跑但不优雅——重试、持久化、监控全得自己搞。后来发现了Asynq这个库,基于Redis的分布式任务队列,API设计很Go风格,用起来很舒服。
2023年技术总结:支付、商城与AI
2023年过得真快。年初立的flag完成了一半多一点,另外一半被一个意想不到的东西打乱了节奏——AI大模型的爆发。回顾一下今年做了什么、学了什么、明年打算怎么走。
语音转文字服务化:搭建转写API
之前在本地跑Whisper做语音转写,效果不错但只能自己用。这篇把Whisper包装成一个HTTP API服务,支持音频上传、异步转写、WebSocket实时推送结果,做成一个可以给其他系统调用的转写微服务。
支付系统开发(六):风控系统基础
支付系统做到最后,绕不开风控。之前几篇把支付核心链路、对账、退款都跑通了,但没有风控的支付系统等于在裸奔。这篇聊聊我在支付系统中搭建的基础风控模块——从交易风控的定位到规则引擎的设计思路。
支付系统开发(五):幂等性与防重设计
支付系统里"幂等"这个词出现的频率极高。简单说就是:同一个请求执行一次和执行多次的效果必须完全一样。听起来简单,但要做好挺费心思的。