[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"blog-categories-zh-CN":3,"blog-all-posts-zh-CN":56,"blog-index-project-retrospective-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":15,"list":74},9,[75,86,96,106,116,126,136,145,155],{"id":76,"slug":77,"title":78,"excerpt":79,"content":11,"cover":11,"tone":22,"author":64,"publishedAt":80,"updatedAt":80,"readingMinutes":49,"featured":66,"tags":81,"category":85},78,"change-request-cascade","需求变更复盘：一次改动的连锁反应","客户要求把“客户”拆成“企业客户”和“个人客户”，看起来只是加一个字段。","2026-07-09T09:44:00+08:00",[82,83,84],"复盘","需求变更","项目管理",{"id":32,"parentId":6,"slug":33,"name":34,"description":35,"icon":36,"cover":11,"tone":12,"kind":13,"sortOrder":38,"count":6},{"id":87,"slug":88,"title":89,"excerpt":90,"content":11,"cover":11,"tone":29,"author":64,"publishedAt":91,"updatedAt":91,"readingMinutes":49,"featured":66,"tags":92,"category":95},79,"acceptance-dispute-retro","验收扯皮复盘：标准不清的代价","系统做完了，客户说“不是我们想要的”。所有争议最后都回到同一句话：当初没说清楚。","2026-06-27T10:57:00+08:00",[82,93,94],"验收","需求管理",{"id":32,"parentId":6,"slug":33,"name":34,"description":35,"icon":36,"cover":11,"tone":12,"kind":13,"sortOrder":38,"count":6},{"id":97,"slug":98,"title":99,"excerpt":100,"content":11,"cover":11,"tone":45,"author":64,"publishedAt":101,"updatedAt":101,"readingMinutes":49,"featured":66,"tags":102,"category":105},80,"database-pool-outage","上线故障复盘：一次数据库连接耗尽","系统在周一早上九点全面不可用，根因是一个没有被关闭的数据库连接。","2026-06-15T11:10:00+08:00",[82,103,104],"故障","数据库",{"id":32,"parentId":6,"slug":33,"name":34,"description":35,"icon":36,"cover":11,"tone":12,"kind":13,"sortOrder":38,"count":6},{"id":107,"slug":108,"title":109,"excerpt":110,"content":11,"cover":11,"tone":22,"author":64,"publishedAt":111,"updatedAt":111,"readingMinutes":49,"featured":66,"tags":112,"category":115},81,"third-party-api-change","第三方接口复盘：对方改了字段没通知","合作方升级接口版本，返回结构悄然变化，系统在两周后才出现异常。","2026-06-03T12:23:00+08:00",[82,113,114],"第三方接口","稳定性",{"id":32,"parentId":6,"slug":33,"name":34,"description":35,"icon":36,"cover":11,"tone":12,"kind":13,"sortOrder":38,"count":6},{"id":117,"slug":118,"title":119,"excerpt":120,"content":11,"cover":11,"tone":37,"author":64,"publishedAt":121,"updatedAt":121,"readingMinutes":49,"featured":66,"tags":122,"category":125},82,"migration-three-runs","数据迁移复盘：十万条数据的三次重跑","第一次跑出错，第二次跑对不上数，第三次才通过。每次失败都暴露了不同的问题。","2026-05-22T13:36:00+08:00",[82,123,124],"数据迁移","老系统",{"id":32,"parentId":6,"slug":33,"name":34,"description":35,"icon":36,"cover":11,"tone":12,"kind":13,"sortOrder":38,"count":6},{"id":127,"slug":128,"title":129,"excerpt":130,"content":11,"cover":11,"tone":29,"author":64,"publishedAt":131,"updatedAt":131,"readingMinutes":49,"featured":66,"tags":132,"category":135},83,"handover-without-docs","团队交接复盘：文档缺失的一个月","核心开发离职，接手的人花了一个月才敢改第一行代码。","2026-05-10T14:49:00+08:00",[82,133,134],"交接","团队",{"id":32,"parentId":6,"slug":33,"name":34,"description":35,"icon":36,"cover":11,"tone":12,"kind":13,"sortOrder":38,"count":6},{"id":137,"slug":138,"title":139,"excerpt":140,"content":11,"cover":11,"tone":12,"author":64,"publishedAt":141,"updatedAt":141,"readingMinutes":49,"featured":66,"tags":142,"category":144},84,"outsourcing-visibility","外包协作复盘：进度透明比承诺重要","外包团队每周都说“快完成了”，直到交付前一周才发现只完成一半。","2026-04-28T15:02:00+08:00",[82,143,84],"外包",{"id":32,"parentId":6,"slug":33,"name":34,"description":35,"icon":36,"cover":11,"tone":12,"kind":13,"sortOrder":38,"count":6},{"id":146,"slug":147,"title":148,"excerpt":149,"content":11,"cover":11,"tone":22,"author":64,"publishedAt":150,"updatedAt":150,"readingMinutes":49,"featured":66,"tags":151,"category":154},85,"regression-escape","测试不足复盘：回归漏测的一次事故","一个看似无关的改动，让三个月前修好的问题重新出现。","2026-04-16T16:15:00+08:00",[82,152,153],"测试","质量",{"id":32,"parentId":6,"slug":33,"name":34,"description":35,"icon":36,"cover":11,"tone":12,"kind":13,"sortOrder":38,"count":6},{"id":156,"slug":157,"title":158,"excerpt":159,"content":11,"cover":11,"tone":37,"author":64,"publishedAt":160,"updatedAt":160,"readingMinutes":49,"featured":66,"tags":161,"category":164},86,"peak-traffic-preparation","大促保障复盘：活动前夜的扩容","活动页面做了压力测试，但真正被打挂的是登录接口和优惠券服务。","2026-04-04T09:28:00+08:00",[82,162,163],"大促","性能",{"id":32,"parentId":6,"slug":33,"name":34,"description":35,"icon":36,"cover":11,"tone":12,"kind":13,"sortOrder":38,"count":6}]