[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"blog-categories-en":3,"blog-all-posts-en":56,"blog-index-all-12-en":71},[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","Founder Notes","Reflections from the founding team on business, management and product, documenting the growth of a software company.","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","Industry Watch","In-depth analysis of internet, software and digital industry trends with our own point of view.","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","Team and Culture","Company events, tech sharing, team building and hiring culture that show the daily life of the Jiayifangyuan team.","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","Project Retrospectives","Real project records from zero to one, covering problems, solutions, lessons learned and final outcomes.","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","Product Thinking","Requirement analysis, user experience and product design methods, plus the thinking from business problems to product solutions.","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","Engineering","Hands-on engineering practices in architecture, performance optimization, AI integration and cross-platform delivery from our R and D team.","cpu",60,24,{"language":57,"page":49,"pageSize":49,"total":58,"list":59},"en",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":70},"integration-api-pitfalls","Five Traps in Enterprise System Integration","However complete the API documentation is, integration usually stalls on field semantics, timeouts and repeated pushes.","佳益方圆团队","2026-10-17T09:00:00+08:00",false,[68,69,51],"Integration","APIs",{"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":72,"pageSize":73,"total":58,"list":74},12,9,[75,86,97,108,119,129,140,149,160],{"id":76,"slug":77,"title":78,"excerpt":79,"content":11,"cover":11,"tone":37,"author":64,"publishedAt":80,"updatedAt":80,"readingMinutes":49,"featured":66,"tags":81,"category":85},45,"observability-for-small-teams","Observability: Logs, Metrics and Traces","When something breaks, answering 'what happened' is worth more than 'the system is slow'.","2026-04-20T16:15:00+08:00",[82,83,84],"Observability","Logs","Operations",{"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":12,"author":64,"publishedAt":91,"updatedAt":91,"readingMinutes":49,"featured":66,"tags":92,"category":96},65,"mobile-context-first","Mobile Context Decides the Interaction","Moving admin features onto phones does not start with shrinking the screen, but with understanding where users open it.","2026-04-18T16:15:00+08:00",[93,94,95],"Mobile","Context","Product Design",{"id":40,"parentId":6,"slug":41,"name":42,"description":43,"icon":44,"cover":11,"tone":22,"kind":13,"sortOrder":46,"count":6},{"id":98,"slug":99,"title":100,"excerpt":101,"content":11,"cover":11,"tone":22,"author":64,"publishedAt":102,"updatedAt":102,"readingMinutes":49,"featured":66,"tags":103,"category":107},85,"regression-escape","Retrospective: A Regression That Slipped Through","One unrelated change brought back a bug fixed three months earlier.","2026-04-16T16:15:00+08:00",[104,105,106],"Retrospective","Testing","Quality",{"id":32,"parentId":6,"slug":33,"name":34,"description":35,"icon":36,"cover":11,"tone":29,"kind":13,"sortOrder":38,"count":6},{"id":109,"slug":110,"title":111,"excerpt":112,"content":11,"cover":11,"tone":12,"author":64,"publishedAt":113,"updatedAt":113,"readingMinutes":49,"featured":66,"tags":114,"category":118},104,"intern-program","Notes on Running an Internship","Interns are not cheap labour. Train them as future colleagues and the return is surprising.","2026-04-14T16:15:00+08:00",[115,116,117],"Team Culture","Internship","Mentoring",{"id":24,"parentId":6,"slug":25,"name":26,"description":27,"icon":28,"cover":11,"tone":37,"kind":13,"sortOrder":30,"count":6},{"id":120,"slug":121,"title":122,"excerpt":123,"content":11,"cover":11,"tone":12,"author":64,"publishedAt":124,"updatedAt":124,"readingMinutes":49,"featured":66,"tags":125,"category":128},123,"county-level-digitalization","County-Level Digitalisation: Real Needs, Different Paths","Digitalisation in county towns is a different problem from big cities.","2026-04-12T16:15:00+08:00",[19,126,127],"County","Digitalisation",{"id":17,"parentId":6,"slug":18,"name":19,"description":20,"icon":21,"cover":11,"tone":45,"kind":13,"sortOrder":15,"count":6},{"id":130,"slug":131,"title":132,"excerpt":133,"content":11,"cover":11,"tone":37,"author":64,"publishedAt":134,"updatedAt":134,"readingMinutes":49,"featured":66,"tags":135,"category":139},25,"referral-compounding","The Compound Interest of Reputation","A satisfied client brings the next one, provided they can explain clearly what you solved.","2026-04-10T16:15:00+08:00",[136,137,138],"Startup","Reputation","Relationships",{"id":5,"parentId":6,"slug":7,"name":8,"description":9,"icon":10,"cover":11,"tone":12,"kind":13,"sortOrder":14,"count":6},{"id":141,"slug":142,"title":143,"excerpt":144,"content":11,"cover":11,"tone":12,"author":64,"publishedAt":145,"updatedAt":145,"readingMinutes":49,"featured":66,"tags":146,"category":148},46,"api-rate-limiting","Rate Limiting: Protect the System Before Optimising Experience","Rate limits are not there to block users, but to keep most of the system available under abnormal traffic.","2026-04-08T09:28:00+08:00",[69,147,84],"Stability",{"id":49,"parentId":6,"slug":50,"name":51,"description":52,"icon":53,"cover":11,"tone":12,"kind":13,"sortOrder":54,"count":6},{"id":150,"slug":151,"title":152,"excerpt":153,"content":11,"cover":11,"tone":29,"author":64,"publishedAt":154,"updatedAt":154,"readingMinutes":49,"featured":66,"tags":155,"category":159},66,"docs-for-future-self","Write Product Docs for Your Future Self","Documentation is not a deliverable but team memory. Docs nobody reads are usually written for the wrong audience.","2026-04-06T09:28:00+08:00",[156,157,158],"Documentation","Team","Product",{"id":40,"parentId":6,"slug":41,"name":42,"description":43,"icon":44,"cover":11,"tone":22,"kind":13,"sortOrder":46,"count":6},{"id":161,"slug":162,"title":163,"excerpt":164,"content":11,"cover":11,"tone":37,"author":64,"publishedAt":165,"updatedAt":165,"readingMinutes":49,"featured":66,"tags":166,"category":169},86,"peak-traffic-preparation","Retrospective: Scaling Up the Night Before the Sale","The campaign page was load-tested, but login and coupons were what fell over.","2026-04-04T09:28:00+08:00",[104,167,168],"Peak Traffic","Performance",{"id":32,"parentId":6,"slug":33,"name":34,"description":35,"icon":36,"cover":11,"tone":29,"kind":13,"sortOrder":38,"count":6}]