[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"tag-performance":3,"header-categories":13,"tag-performance-posts":82},{"success":4,"data":5},true,{"id":6,"name":7,"description":8,"color":9,"createdAt":10,"updatedAt":10,"_count":11},"performance","Performance","Web performance optimization","#e535ab","2026-07-24T06:02:42.025Z",{"posts":12},12,{"success":4,"data":14},{"items":15,"pagination":79},[16,25,33,41,49,57,65,72],{"id":17,"name":18,"description":19,"parentId":20,"createdAt":21,"updatedAt":21,"parent":20,"children":22,"_count":23},"ai-future","AI & The Future","Artificial intelligence and emerging technology",null,"2026-07-24T06:02:45.990Z",[],{"posts":24},1,{"id":26,"name":27,"description":28,"parentId":20,"createdAt":29,"updatedAt":29,"parent":20,"children":30,"_count":31},"tools-productivity","Tools & Productivity","Developer tools and workflow optimization","2026-07-24T06:02:45.712Z",[],{"posts":32},7,{"id":34,"name":35,"description":36,"parentId":20,"createdAt":37,"updatedAt":37,"parent":20,"children":38,"_count":39},"career","Career & Growth","Professional development for developers","2026-07-24T06:02:45.486Z",[],{"posts":40},3,{"id":42,"name":43,"description":44,"parentId":20,"createdAt":45,"updatedAt":45,"parent":20,"children":46,"_count":47},"opinion","Opinion & Analysis","Industry analysis and technical opinions","2026-07-24T06:02:45.272Z",[],{"posts":48},6,{"id":50,"name":51,"description":52,"parentId":20,"createdAt":53,"updatedAt":53,"parent":20,"children":54,"_count":55},"tutorials","Tutorials","Step-by-step learning guides","2026-07-24T06:02:44.965Z",[],{"posts":56},21,{"id":58,"name":59,"description":60,"parentId":20,"createdAt":61,"updatedAt":61,"parent":20,"children":62,"_count":63},"software-engineering","Software Engineering","Best practices, patterns, and principles","2026-07-24T06:02:44.689Z",[],{"posts":64},24,{"id":66,"name":67,"description":68,"parentId":20,"createdAt":69,"updatedAt":69,"parent":20,"children":70,"_count":71},"devops-cloud","DevOps & Cloud","Infrastructure, deployment, and cloud computing","2026-07-24T06:02:44.453Z",[],{"posts":48},{"id":73,"name":74,"description":75,"parentId":20,"createdAt":76,"updatedAt":76,"parent":20,"children":77,"_count":78},"web-development","Web Development","Frontend and backend web development tutorials and guides","2026-07-24T06:02:44.169Z",[],{"posts":64},{"page":24,"limit":80,"total":80,"totalPages":24,"hasNext":81,"hasPrev":81},8,false,{"success":4,"data":83},{"items":84,"pagination":345},[85,118,143,164,186,206,226,247,269,287,308,326],{"id":86,"slug":87,"title":88,"excerpt":89,"status":90,"visibility":91,"featuredImage":92,"readingTime":93,"viewCount":94,"publishedAt":95,"createdAt":96,"updatedAt":97,"author":98,"tags":103,"categories":113,"_count":116},"f0cda6e8-230a-4618-8454-c067288d1703","developers-guide-http-caching","The Developer's Guide to HTTP Caching","Master HTTP caching headers, CDN strategies, and cache invalidation to deliver blazing-fast experiences while keeping content fresh.","published","public","https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1498050108023-c5249f4df085?w=1200&q=80",9,1829,"2026-04-24T06:04:33.840Z","2026-07-24T06:04:33.842Z","2026-07-28T12:15:56.850Z",{"id":99,"name":100,"email":101,"avatarUrl":102},"fddb5d93-7a2c-4d86-a06a-fa32e73a01c6","Mbeah Essilfie","mbeahessilfieprince@gmail.com","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F93322394?v=4",[104,108,109],{"id":105,"name":106,"color":107},"devops","DevOps","#ff6c37",{"id":6,"name":7,"color":9},{"id":110,"name":111,"color":112},"api-design","API Design","#009688",[114,115],{"id":73,"name":74},{"id":58,"name":59},{"comments":117},0,{"id":119,"slug":120,"title":121,"excerpt":122,"status":90,"visibility":91,"featuredImage":123,"readingTime":93,"viewCount":124,"publishedAt":125,"createdAt":126,"updatedAt":127,"author":128,"tags":129,"categories":139,"_count":142},"b4f7b827-eb04-45d0-ac3f-e5e691d391e3","full-text-search-without-elasticsearch","Implementing Full-Text Search Without Elasticsearch","You don't always need a dedicated search engine. Implement performant full-text search with PostgreSQL's built-in capabilities.","https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1580894894513-541e068a3e2b?w=1200&q=80",454,"2026-04-26T06:04:31.080Z","2026-07-24T06:04:31.083Z","2026-07-28T12:21:22.250Z",{"id":99,"name":100,"email":101,"avatarUrl":102},[130,134,135],{"id":131,"name":132,"color":133},"prisma","Prisma","#2d3748",{"id":6,"name":7,"color":9},{"id":136,"name":137,"color":138},"database","Database","#336791",[140,141],{"id":73,"name":74},{"id":50,"name":51},{"comments":117},{"id":144,"slug":145,"title":146,"excerpt":147,"status":90,"visibility":91,"featuredImage":148,"readingTime":32,"viewCount":149,"publishedAt":150,"createdAt":151,"updatedAt":152,"author":153,"tags":154,"categories":160,"_count":163},"b227a75c-ed23-4047-937e-7c3b989f4c0b","progressive-web-apps-2025-relevant","Progressive Web Apps in 2025: Still Relevant?","Are PWAs still worth building? An honest look at the current state of PWA capabilities, limitations, and when they make sense.","https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1516116216624-53e697fedbea?w=1200&q=80",959,"2026-04-28T06:04:28.940Z","2026-07-24T06:04:28.943Z","2026-07-28T12:20:37.368Z",{"id":99,"name":100,"email":101,"avatarUrl":102},[155,159],{"id":156,"name":157,"color":158},"javascript","JavaScript","#f7df1e",{"id":6,"name":7,"color":9},[161,162],{"id":73,"name":74},{"id":42,"name":43},{"comments":117},{"id":165,"slug":166,"title":167,"excerpt":168,"status":90,"visibility":91,"featuredImage":169,"readingTime":93,"viewCount":170,"publishedAt":171,"createdAt":172,"updatedAt":173,"author":174,"tags":175,"categories":182,"_count":185},"58d72280-be9f-423b-8bff-1d3cb19b4780","debugging-nodejs-applications-pro","Debugging Node.js Applications Like a Pro","Go beyond console.log. Master the Node.js debugger, memory profiling, async stack traces, and production debugging techniques.","https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1618477388954-7852f32655ec?w=1200&q=80",1038,"2026-04-30T06:04:26.346Z","2026-07-24T06:04:26.348Z","2026-07-28T13:22:15.462Z",{"id":99,"name":100,"email":101,"avatarUrl":102},[176,177,181],{"id":156,"name":157,"color":158},{"id":178,"name":179,"color":180},"nodejs","Node.js","#339933",{"id":6,"name":7,"color":9},[183,184],{"id":50,"name":51},{"id":26,"name":27},{"comments":117},{"id":187,"slug":188,"title":189,"excerpt":190,"status":90,"visibility":91,"featuredImage":191,"readingTime":192,"viewCount":193,"publishedAt":194,"createdAt":195,"updatedAt":196,"author":197,"tags":198,"categories":202,"_count":205},"cd2d70e2-f1c3-490e-b884-d53b8d053f72","scaling-nodejs-single-process-distributed","Scaling Node.js: From Single Process to Distributed System","A roadmap for scaling Node.js from handling 100 to 100,000 requests per second — clustering, load balancing, caching, and horizontal scaling.","https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1605379399642-870262d3d051?w=1200&q=80",11,1026,"2026-05-10T06:04:14.278Z","2026-07-24T06:04:14.280Z","2026-07-28T17:01:03.558Z",{"id":99,"name":100,"email":101,"avatarUrl":102},[199,200,201],{"id":178,"name":179,"color":180},{"id":105,"name":106,"color":107},{"id":6,"name":7,"color":9},[203,204],{"id":66,"name":67},{"id":58,"name":59},{"comments":117},{"id":207,"slug":208,"title":209,"excerpt":210,"status":90,"visibility":91,"featuredImage":211,"readingTime":212,"viewCount":213,"publishedAt":214,"createdAt":215,"updatedAt":216,"author":217,"tags":218,"categories":222,"_count":225},"434fd4db-d17e-4188-b412-6b5c5d821c8a","monitoring-observability-web-applications","Monitoring and Observability for Web Applications","Set up proper monitoring with structured logging, error tracking, performance metrics, and alerting before your users find the bugs.","https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1555066931-4365d14bab8c?w=1200&q=80",10,792,"2026-05-22T06:04:00.554Z","2026-07-24T06:04:00.557Z","2026-07-28T16:29:24.348Z",{"id":99,"name":100,"email":101,"avatarUrl":102},[219,220,221],{"id":178,"name":179,"color":180},{"id":105,"name":106,"color":107},{"id":6,"name":7,"color":9},[223,224],{"id":66,"name":67},{"id":58,"name":59},{"comments":117},{"id":227,"slug":228,"title":229,"excerpt":230,"status":90,"visibility":91,"featuredImage":231,"readingTime":32,"viewCount":232,"publishedAt":233,"createdAt":234,"updatedAt":235,"author":236,"tags":237,"categories":243,"_count":246},"f3b09ee9-105b-4aad-9660-5e753fee9c8c","optimizing-images-modern-web","Optimizing Images for the Modern Web","Reduce page weight by 60% with modern image formats, responsive sizing, lazy loading, and CDN-based optimization strategies.","https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1633356122544-f134324a6cee?w=1200&q=80",2087,"2026-06-01T06:03:48.905Z","2026-07-24T06:03:48.912Z","2026-07-28T16:28:49.168Z",{"id":99,"name":100,"email":101,"avatarUrl":102},[238,242],{"id":239,"name":240,"color":241},"css","CSS","#1572b6",{"id":6,"name":7,"color":9},[244,245],{"id":73,"name":74},{"id":50,"name":51},{"comments":117},{"id":248,"slug":249,"title":250,"excerpt":251,"status":90,"visibility":91,"featuredImage":252,"readingTime":80,"viewCount":253,"publishedAt":254,"createdAt":255,"updatedAt":256,"author":257,"tags":258,"categories":265,"_count":268},"de79638e-57cf-4565-a6d1-ba260f32a146","deploying-nuxt3-cloudflare-workers","Deploying Nuxt 3 to Cloudflare Workers: The Complete Guide","Deploy your Nuxt 3 app to the edge with Cloudflare Workers — zero cold starts, global distribution, and generous free tier.","https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1461749280684-dccba630e2f6?w=1200&q=80",2063,"2026-06-13T06:03:35.319Z","2026-07-24T06:03:35.322Z","2026-07-28T16:29:25.136Z",{"id":99,"name":100,"email":101,"avatarUrl":102},[259,263,264],{"id":260,"name":261,"color":262},"nuxt","Nuxt","#00dc82",{"id":105,"name":106,"color":107},{"id":6,"name":7,"color":9},[266,267],{"id":66,"name":67},{"id":50,"name":51},{"comments":117},{"id":270,"slug":271,"title":272,"excerpt":273,"status":90,"visibility":91,"featuredImage":211,"readingTime":192,"viewCount":274,"publishedAt":275,"createdAt":276,"updatedAt":277,"author":278,"tags":279,"categories":283,"_count":286},"e142fe82-f78c-4e55-bfc6-d5c739f3b7f0","web-performance-core-web-vitals","Web Performance: Core Web Vitals Optimization Guide","Practical techniques to improve LCP, FID, and CLS scores — the metrics that actually impact your search rankings and user experience.",1407,"2026-06-21T06:03:26.029Z","2026-07-24T06:03:26.033Z","2026-07-28T16:28:55.243Z",{"id":99,"name":100,"email":101,"avatarUrl":102},[280,281,282],{"id":156,"name":157,"color":158},{"id":239,"name":240,"color":241},{"id":6,"name":7,"color":9},[284,285],{"id":73,"name":74},{"id":58,"name":59},{"comments":117},{"id":288,"slug":289,"title":290,"excerpt":291,"status":90,"visibility":91,"featuredImage":191,"readingTime":32,"viewCount":292,"publishedAt":293,"createdAt":294,"updatedAt":295,"author":296,"tags":297,"categories":304,"_count":307},"e8420162-7f32-4e99-a0ab-6e0910097ae0","ssr-vs-ssg-right-choice","Server-Side Rendering vs Static Generation: Making the Right Choice","A practical framework for deciding between SSR, SSG, and ISR for your next project, with real-world trade-off analysis.",1730,"2026-07-09T06:03:04.135Z","2026-07-24T06:03:04.139Z","2026-07-28T16:30:12.275Z",{"id":99,"name":100,"email":101,"avatarUrl":102},[298,299,300],{"id":260,"name":261,"color":262},{"id":6,"name":7,"color":9},{"id":301,"name":302,"color":303},"architecture","Architecture","#795548",[305,306],{"id":73,"name":74},{"id":42,"name":43},{"comments":117},{"id":309,"slug":310,"title":311,"excerpt":312,"status":90,"visibility":91,"featuredImage":252,"readingTime":212,"viewCount":313,"publishedAt":314,"createdAt":315,"updatedAt":316,"author":317,"tags":318,"categories":322,"_count":325},"80d96c15-f730-46db-98dc-9c0902e521c6","postgresql-indexing-strategies","PostgreSQL Performance: Indexing Strategies That Actually Work","Move beyond basic B-tree indexes. Learn when to use partial indexes, covering indexes, and GIN indexes for real performance gains.",2114,"2026-07-13T06:02:59.241Z","2026-07-24T06:02:59.245Z","2026-07-28T16:29:39.441Z",{"id":99,"name":100,"email":101,"avatarUrl":102},[319,320,321],{"id":131,"name":132,"color":133},{"id":6,"name":7,"color":9},{"id":136,"name":137,"color":138},[323,324],{"id":73,"name":74},{"id":58,"name":59},{"comments":117},{"id":327,"slug":328,"title":329,"excerpt":330,"status":90,"visibility":91,"featuredImage":331,"readingTime":192,"viewCount":332,"publishedAt":333,"createdAt":334,"updatedAt":335,"author":336,"tags":337,"categories":341,"_count":344},"cc8bd585-3068-4f04-89c3-1d2c1a1f6143","understanding-javascript-event-loop","Understanding JavaScript Event Loop: Beyond the Basics","A deep dive into the JavaScript event loop, microtasks, macrotasks, and how they affect your application's performance.","https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1504639725590-34d0984388bd?w=1200&q=80",1034,"2026-07-15T06:02:56.332Z","2026-07-24T06:02:56.335Z","2026-07-28T16:27:18.926Z",{"id":99,"name":100,"email":101,"avatarUrl":102},[338,339,340],{"id":156,"name":157,"color":158},{"id":178,"name":179,"color":180},{"id":6,"name":7,"color":9},[342,343],{"id":73,"name":74},{"id":58,"name":59},{"comments":117},{"page":24,"limit":12,"total":12,"totalPages":24,"hasNext":81,"hasPrev":81}]