[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"blog-categories-zh-CN":3,"blog-all-posts-zh-CN":56,"blog-index-engineering-2-zh-CN":72},[4,16,23,31,39,48],{"id":5,"parentId":6,"slug":7,"name":8,"description":9,"icon":10,"cover":11,"tone":12,"kind":13,"sortOrder":14,"count":15},6,0,"founder-notes","创业手记","创始团队在经营、管理与产品上的思考，记录一家软件公司的成长过程。","pen-tool","","blue","article",10,20,{"id":17,"parentId":6,"slug":18,"name":19,"description":20,"icon":21,"cover":11,"tone":22,"kind":13,"sortOrder":15,"count":15},5,"industry-watch","行业观察","对互联网、软件与数字化行业趋势的深度分析，输出团队自己的判断。","globe","cyan",{"id":24,"parentId":6,"slug":25,"name":26,"description":27,"icon":28,"cover":11,"tone":29,"kind":13,"sortOrder":30,"count":15},4,"team-culture","团队动态","公司活动、技术分享、团建与招聘文化，了解佳益方圆团队的日常。","users","indigo",30,{"id":32,"parentId":6,"slug":33,"name":34,"description":35,"icon":36,"cover":11,"tone":37,"kind":13,"sortOrder":38,"count":15},3,"project-retrospective","项目复盘","从 0 到 1 的真实项目记录，完整呈现问题、方案、踩坑经验与最终结果。","clipboard-check","teal",40,{"id":40,"parentId":6,"slug":41,"name":42,"description":43,"icon":44,"cover":11,"tone":45,"kind":13,"sortOrder":46,"count":47},2,"product-thinking","产品思维","需求分析、用户体验与产品设计方法论，以及从业务问题到产品方案的思考过程。","lightbulb","slate",50,22,{"id":49,"parentId":6,"slug":50,"name":51,"description":52,"icon":53,"cover":11,"tone":12,"kind":13,"sortOrder":54,"count":55},1,"engineering","技术专栏","架构设计、性能优化、AI 集成与跨端方案等一线技术实践，由研发团队持续分享。","cpu",60,24,{"language":57,"page":49,"pageSize":49,"total":58,"list":59},"zh-CN",126,[60],{"id":30,"slug":61,"title":62,"excerpt":63,"content":11,"cover":11,"tone":22,"author":64,"publishedAt":65,"updatedAt":65,"readingMinutes":49,"featured":66,"tags":67,"category":71},"integration-api-pitfalls","企业系统集成：接口对接最容易踩的五个坑","接口文档写得再全，真正对接时仍然会卡在字段约定、超时和重复推送这些细节上。","佳益方圆团队","2026-10-17T09:00:00+08:00",false,[68,69,70],"系统集成","接口","工程实践",{"id":49,"parentId":6,"slug":50,"name":51,"description":52,"icon":53,"cover":11,"tone":12,"kind":13,"sortOrder":54,"count":6},{"language":57,"page":40,"pageSize":73,"total":55,"list":74},9,[75,86,96,107,117,128,137,147,158],{"id":76,"slug":77,"title":78,"excerpt":79,"content":11,"cover":11,"tone":45,"author":64,"publishedAt":80,"updatedAt":80,"readingMinutes":49,"featured":66,"tags":81,"category":85},35,"frontend-monitoring-basics","前端监控：等白屏了才知道","用户不会告诉你页面打不开，他们只会离开。前端监控应该在上线前就位。","2026-08-18T14:05:00+08:00",[82,83,84],"前端","监控","运维",{"id":49,"parentId":6,"slug":50,"name":51,"description":52,"icon":53,"cover":11,"tone":12,"kind":13,"sortOrder":54,"count":6},{"id":87,"slug":88,"title":89,"excerpt":90,"content":11,"cover":11,"tone":22,"author":64,"publishedAt":91,"updatedAt":91,"readingMinutes":49,"featured":66,"tags":92,"category":95},36,"gray-release-for-smb","中小项目怎么做灰度发布","没有庞大的基础设施，也可以用简单办法把发布风险降到可控。","2026-08-06T15:18:00+08:00",[93,84,94],"发布","风险控制",{"id":49,"parentId":6,"slug":50,"name":51,"description":52,"icon":53,"cover":11,"tone":12,"kind":13,"sortOrder":54,"count":6},{"id":97,"slug":98,"title":99,"excerpt":100,"content":11,"cover":11,"tone":29,"author":64,"publishedAt":101,"updatedAt":101,"readingMinutes":49,"featured":66,"tags":102,"category":106},37,"excel-export-performance","报表导出为什么这么慢","十万行数据导出卡死浏览器，问题往往不在生成文件，而在查询和内存使用方式。","2026-07-25T16:31:00+08:00",[103,104,105],"报表","导出","性能",{"id":49,"parentId":6,"slug":50,"name":51,"description":52,"icon":53,"cover":11,"tone":12,"kind":13,"sortOrder":54,"count":6},{"id":108,"slug":109,"title":110,"excerpt":111,"content":11,"cover":11,"tone":37,"author":64,"publishedAt":112,"updatedAt":112,"readingMinutes":49,"featured":66,"tags":113,"category":116},38,"message-queue-tradeoffs","消息队列不是万能药","引入队列能解决耦合和削峰，也会带来重复、顺序和可观测性三类新问题。","2026-07-13T09:44:00+08:00",[114,115,70],"架构","消息队列",{"id":49,"parentId":6,"slug":50,"name":51,"description":52,"icon":53,"cover":11,"tone":12,"kind":13,"sortOrder":54,"count":6},{"id":118,"slug":119,"title":120,"excerpt":121,"content":11,"cover":11,"tone":45,"author":64,"publishedAt":122,"updatedAt":122,"readingMinutes":49,"featured":66,"tags":123,"category":127},39,"legacy-data-migration","数据迁移：先把旧系统的账算清","迁移失败的原因通常不是技术，而是没人说得清旧数据里到底有什么。","2026-07-01T10:57:00+08:00",[124,125,126],"数据迁移","老系统","项目实践",{"id":49,"parentId":6,"slug":50,"name":51,"description":52,"icon":53,"cover":11,"tone":12,"kind":13,"sortOrder":54,"count":6},{"id":38,"slug":129,"title":130,"excerpt":131,"content":11,"cover":11,"tone":22,"author":64,"publishedAt":132,"updatedAt":132,"readingMinutes":49,"featured":66,"tags":133,"category":136},"testing-on-a-budget","预算有限时，测试该测什么","没有专职测试团队，也要有测试策略。关键是把有限的精力放在出错代价最高的地方。","2026-06-19T11:10:00+08:00",[134,135,70],"测试","质量",{"id":49,"parentId":6,"slug":50,"name":51,"description":52,"icon":53,"cover":11,"tone":12,"kind":13,"sortOrder":54,"count":6},{"id":138,"slug":139,"title":140,"excerpt":141,"content":11,"cover":11,"tone":12,"author":64,"publishedAt":142,"updatedAt":142,"readingMinutes":49,"featured":66,"tags":143,"category":146},41,"lightweight-code-review","小团队的代码评审怎么落地","评审不是找茬，而是让改动在合并前被第二个人理解。规模小也要有流程。","2026-06-07T12:23:00+08:00",[144,145,70],"代码评审","团队",{"id":49,"parentId":6,"slug":50,"name":51,"description":52,"icon":53,"cover":11,"tone":12,"kind":13,"sortOrder":54,"count":6},{"id":148,"slug":149,"title":150,"excerpt":151,"content":11,"cover":11,"tone":45,"author":64,"publishedAt":152,"updatedAt":152,"readingMinutes":49,"featured":66,"tags":153,"category":157},42,"offline-deployment-notes","局域网离线部署的注意事项","工厂、政务和大企业内部网络常常不能访问互联网，部署方式要为此重新设计。","2026-05-26T13:36:00+08:00",[154,155,156],"部署","离线环境","交付",{"id":49,"parentId":6,"slug":50,"name":51,"description":52,"icon":53,"cover":11,"tone":12,"kind":13,"sortOrder":54,"count":6},{"id":159,"slug":160,"title":161,"excerpt":162,"content":11,"cover":11,"tone":29,"author":64,"publishedAt":163,"updatedAt":163,"readingMinutes":49,"featured":66,"tags":164,"category":168},43,"barcode-and-rfid-basics","扫码与标签：仓储数字化的第一步","很多仓储项目的起点不是系统，而是把每一件货变成一个可扫描的编号。","2026-05-14T14:49:00+08:00",[165,166,167],"仓储","条码","制造业",{"id":49,"parentId":6,"slug":50,"name":51,"description":52,"icon":53,"cover":11,"tone":12,"kind":13,"sortOrder":54,"count":6}]