[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"blog-post-frontend-monitoring-basics-en":3,"blog-adjacent-frontend-monitoring-basics-en":29,"blog-related-frontend-monitoring-basics-en":64},{"id":4,"slug":5,"title":6,"excerpt":7,"content":8,"cover":9,"tone":10,"author":11,"publishedAt":12,"updatedAt":12,"readingMinutes":13,"featured":14,"tags":15,"category":19,"seoSettings":28},35,"frontend-monitoring-basics","Frontend Monitoring: Finding Out Before the White Screen","Users will not tell you the page is broken, they just leave. Monitoring has to be in place before launch.","\u003Cp>We once got a call from a client saying the system would not open. A third-party script had failed to load and blanked the page. The error had been happening for six hours and we had no idea.\u003C\u002Fp>\n\u003Ch2>Collect at least four kinds of signal\u003C\u002Fh2>\n\u003Cp>Errors: JavaScript exceptions, failed assets and API failures, with route and browser version attached.\u003C\u002Fp>\n\u003Cp>Performance: first paint and average API latency, grouped by release and region so regressions stand out.\u003C\u002Fp>\n\u003Cp>Behaviour: clicks and navigation along key paths, enough to reconstruct what happened before the error.\u003C\u002Fp>\n\u003Cp>Environment: network type, screen size and whether an ad blocker is active.\u003C\u002Fp>\n\u003Ch2>Practical advice\u003C\u002Fh2>\n\u003Cp>Use an existing platform first. Building your own monitoring costs far more than small teams expect.\u003C\u002Fp>\n\u003Cp>Set thresholds: twenty errors of the same type within five minutes should page the team, not wait for a daily report.\u003C\u002Fp>\n\u003Cp>After every incident, add one monitoring rule so the same class of failure never stays silent again.\u003C\u002Fp>\n\u003Cp>Monitoring is not about pretty dashboards. It is about turning &#39;the user found it&#39; into &#39;we found it first&#39;.\u003C\u002Fp>","","slate","佳益方圆团队","2026-08-18T14:05:00+08:00",1,false,[16,17,18],"Frontend","Monitoring","Operations",{"id":13,"parentId":20,"slug":21,"name":22,"description":23,"icon":24,"cover":9,"tone":25,"kind":26,"sortOrder":27,"count":20},0,"engineering","Engineering","Hands-on engineering practices in architecture, performance optimization, AI integration and cross-platform delivery from our R and D team.","cpu","blue","article",60,{},{"previous":30,"next":47},{"id":31,"slug":32,"title":33,"excerpt":34,"content":9,"cover":9,"tone":10,"author":11,"publishedAt":35,"updatedAt":35,"readingMinutes":13,"featured":14,"tags":36,"category":40},14,"partnership-exit-clause","Agree on an Exit Before You Need One","Equity, roles and exit rules are easiest to settle while the company is small and the relationships are good.","2026-08-20T13:52:00+08:00",[37,38,39],"Startup","Partnership","Equity",{"id":41,"parentId":20,"slug":42,"name":43,"description":44,"icon":45,"cover":9,"tone":25,"kind":26,"sortOrder":46,"count":20},6,"founder-notes","Founder Notes","Reflections from the founding team on business, management and product, documenting the growth of a software company.","pen-tool",10,{"id":48,"slug":49,"title":50,"excerpt":51,"content":9,"cover":9,"tone":25,"author":11,"publishedAt":52,"updatedAt":52,"readingMinutes":13,"featured":14,"tags":53,"category":57},55,"empty-states-in-b2b","Empty States in B2B Products","The first thing a user sees is not a feature but a blank page. Empty states decide whether they can start.","2026-08-16T14:05:00+08:00",[54,55,56],"B2B","UX","Empty States",{"id":58,"parentId":20,"slug":59,"name":60,"description":61,"icon":62,"cover":9,"tone":25,"kind":26,"sortOrder":63,"count":20},2,"product-thinking","Product Thinking","Requirement analysis, user experience and product design methods, plus the thinking from business problems to product solutions.","lightbulb",50,[65,76,87],{"id":66,"slug":67,"title":68,"excerpt":69,"content":9,"cover":9,"tone":70,"author":11,"publishedAt":71,"updatedAt":71,"readingMinutes":13,"featured":14,"tags":72,"category":75},30,"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.","cyan","2026-10-17T09:00:00+08:00",[73,74,22],"Integration","APIs",{"id":13,"parentId":20,"slug":21,"name":22,"description":23,"icon":24,"cover":9,"tone":25,"kind":26,"sortOrder":27,"count":20},{"id":13,"slug":77,"title":78,"excerpt":79,"content":9,"cover":9,"tone":70,"author":11,"publishedAt":80,"updatedAt":81,"readingMinutes":58,"featured":82,"tags":83,"category":86},"why-enterprise-systems-age","Why Enterprise Systems Start to Age After Three Years","A system can pass acceptance with every feature checked, then feel awkward three years later. The problem is rarely the code — it is the changes that were never considered at delivery.","2026-10-16T09:30:00+08:00","2026-10-18T15:58:14.648+08:00",true,[84,85],"System Evolution","Architecture",{"id":13,"parentId":20,"slug":21,"name":22,"description":23,"icon":24,"cover":9,"tone":25,"kind":26,"sortOrder":27,"count":20},{"id":88,"slug":89,"title":90,"excerpt":91,"content":9,"cover":9,"tone":25,"author":11,"publishedAt":92,"updatedAt":92,"readingMinutes":13,"featured":14,"tags":93,"category":97},31,"idempotent-design-basics","Idempotency: Duplicate Submissions Are Not Just Double Clicks","Retries, redelivery and impatient users all send the same request more than once. Idempotency belongs in the API design.","2026-10-05T10:13:00+08:00",[94,95,96],"API Design","Idempotency","Reliability",{"id":13,"parentId":20,"slug":21,"name":22,"description":23,"icon":24,"cover":9,"tone":25,"kind":26,"sortOrder":27,"count":20}]