Flutter 平台通道:与原生代码握手
《Flutter 平台通道:与原生代码握手》 本文做什么,不做什么 Flutter 引擎之外的事——电池电量、蓝牙、推送、原生存储——都要穿过一层桥才能用,这层桥就是平台通道。本文用"取电池电量 + 订阅充电状态流"两个场景,把 MethodChannel 和 EventChannel 的 Android(Kotlin)、iOS(Swift)双端实…
训练计划
纯器械高强度训练方案,不含垫上动作也没有热身放松:周一胸加核心、周二背加核心、周三腿加核心,均为中午 35 分钟窗口;周四、周五各拆成中午小课与晚间加重容量课,周末做全身力量与有氧。
Go 接口与泛型:隐式实现到类型参数
《Go 接口与泛型:隐式实现到类型参数》 要做什么,不做什么 把 Go 类型系统里最容易被混着讲的两块拆开讲透:接口的隐式满足(含接口值内部结构和那个经典的 nil 坑)与泛型的类型参数(语法、约束、边界),最后给一套"这段代码该用接口还是泛型"的判断。边界先说死:不抠运行时 iface/itab 的内存布局,知道接口值是个二元结构就够用;不比泛型…
TCP 连接堆积:TIME_WAIT 与 accept queue 的排查
一、现象与影响面:连接数报警不等于连接数故障 症状:高峰期接口偶发超时或 connection refused,监控上连接数曲线陡增,或者 accept queue overflow 的字样出现在 netstat 统计里。影响面从"个别请求重试后成功"到"新连接完全建立不了"不等——accept 队列溢出时,三次握手会被悄悄丢弃,客户端只觉得慢,服…
PHP 环境搭建与工具链
PHP 解释器运行脚本,扩展提供附加能力,Composer 管项目依赖。一个环境能运行 echo 不代表已启用数据库或多字节扩展。
Go 测试入门:table-driven 与 httptest
《Go 测试入门:table-driven 与 httptest》 要做什么,不做什么 给"测试"这件事在 Go 里立个最小区:一条 table-driven 单元测试、一个 httptest 的 HTTP handler 测试、t.Parallel 与 -race 的正确打开方式,最后落到测试文件怎么组织。边界先说死:只走标准库 testing …
Flutter 测试入门:单元测试与 widget test
《Flutter 测试入门:单元测试与 widget test》 本文做什么,不做什么 给一个普通 Flutter 应用从零配上测试:纯逻辑跑单元测试、界面跑 widget test,最后 integration_test 和 CI 各一段带过。边界先说死:golden 图像比对不展开;CI 只给 GitHub Actions 的关键步骤,不做多平…
Kratos 微服务入门
Kratos 是 B 站开源的微服务框架。和 go-zero 同属「微服务全家桶」,但路线不同:Kratos 以 gRPC 和 proto 为核心,HTTP 是附属;go-zero 以 .api 文件生成 HTTP 服务为主。
用 Go 写一个并发安全的内存缓存
《用 Go 写一个并发安全的内存缓存》 要做什么,不做什么 给业务里最常见的那个需求写个底座:函数结果、外部接口响应、配置对象,放内存里复用,别每次都打穿到数据库。本文产出一个单文件、约 300 行的缓存包,三个能力:TTL 过期、容量淘汰、并发回源去重。边界先划死:单机内存缓存,多实例不共享、重启即失、不做持久化——这三条里任何一条是你的硬需求,…