[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"tag-vue":3,"tag-vue-posts":13,"header-categories":204},{"success":4,"data":5},true,{"id":6,"name":7,"description":8,"color":9,"createdAt":10,"updatedAt":10,"_count":11},"vue","Vue","The Progressive JavaScript Framework","#4fc08d","2026-07-24T06:02:39.333Z",{"posts":12},8,{"success":4,"data":14},{"items":15,"pagination":201},[16,53,84,107,125,144,161,182],{"id":17,"slug":18,"title":19,"excerpt":20,"status":21,"visibility":22,"featuredImage":23,"readingTime":24,"viewCount":25,"publishedAt":26,"createdAt":27,"updatedAt":28,"author":29,"tags":34,"categories":44,"_count":51},"5daa7f62-cd30-4a05-9fcf-a6fa6604e332","authentication-patterns-spa","Authentication Patterns for Single-Page Applications","Implement secure authentication in SPAs with token rotation, silent refresh, secure storage, and protection against common attacks.","published","public","https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1551288049-bebda4e38f71?w=1200&q=80",10,1228,"2026-04-18T06:04:41.020Z","2026-07-24T06:04:41.024Z","2026-07-28T15:12:51.098Z",{"id":30,"name":31,"email":32,"avatarUrl":33},"fddb5d93-7a2c-4d86-a06a-fa32e73a01c6","Mbeah Essilfie","mbeahessilfieprince@gmail.com","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F93322394?v=4",[35,39,40],{"id":36,"name":37,"color":38},"javascript","JavaScript","#f7df1e",{"id":6,"name":7,"color":9},{"id":41,"name":42,"color":43},"security","Security","#d63031",[45,48],{"id":46,"name":47},"web-development","Web Development",{"id":49,"name":50},"software-engineering","Software Engineering",{"comments":52},0,{"id":54,"slug":55,"title":56,"excerpt":57,"status":21,"visibility":22,"featuredImage":58,"readingTime":24,"viewCount":59,"publishedAt":60,"createdAt":61,"updatedAt":62,"author":63,"tags":64,"categories":78,"_count":83},"f8c52ae7-6edb-475d-b596-8ca9fe8a65d2","design-system-component-library-vue-tailwind","Building a Design System Component Library with Vue and Tailwind","Create a reusable, themeable component library using Vue 3, Tailwind CSS, and proper documentation with Storybook.","https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1633356122544-f134324a6cee?w=1200&q=80",215,"2026-05-02T06:04:23.990Z","2026-07-24T06:04:23.992Z","2026-07-28T13:21:44.400Z",{"id":30,"name":31,"email":32,"avatarUrl":33},[65,69,70,74],{"id":66,"name":67,"color":68},"typescript","TypeScript","#3178c6",{"id":6,"name":7,"color":9},{"id":71,"name":72,"color":73},"css","CSS","#1572b6",{"id":75,"name":76,"color":77},"tailwind","Tailwind CSS","#06b6d4",[79,80],{"id":46,"name":47},{"id":81,"name":82},"tutorials","Tutorials",{"comments":52},{"id":85,"slug":86,"title":87,"excerpt":88,"status":21,"visibility":22,"featuredImage":89,"readingTime":90,"viewCount":91,"publishedAt":92,"createdAt":93,"updatedAt":94,"author":95,"tags":96,"categories":103,"_count":106},"1cdfdd36-3803-44d3-9dfe-21955cf3c167","nuxt3-module-system-extending-framework","The Nuxt 3 Module System: Extending Your Framework","Build custom Nuxt modules to encapsulate functionality, share code between projects, and create powerful development tools.","https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1517694712202-14dd9538aa97?w=1200&q=80",9,959,"2026-05-20T06:04:02.792Z","2026-07-24T06:04:02.796Z","2026-07-28T17:17:15.711Z",{"id":30,"name":31,"email":32,"avatarUrl":33},[97,98,99],{"id":66,"name":67,"color":68},{"id":6,"name":7,"color":9},{"id":100,"name":101,"color":102},"nuxt","Nuxt","#00dc82",[104,105],{"id":46,"name":47},{"id":81,"name":82},{"comments":52},{"id":108,"slug":109,"title":110,"excerpt":111,"status":21,"visibility":22,"featuredImage":112,"readingTime":12,"viewCount":113,"publishedAt":114,"createdAt":115,"updatedAt":116,"author":117,"tags":118,"categories":121,"_count":124},"3d6e2b0b-d6b4-4c90-8bd3-fb7b6960fcd4","vue3-teleport-suspense-advanced-patterns","Vue 3 Teleport and Suspense: Advanced Component Patterns","Master Vue 3's built-in components for modals, loading states, and async component coordination with Teleport and Suspense.","https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1498050108023-c5249f4df085?w=1200&q=80",1565,"2026-05-24T06:03:57.898Z","2026-07-24T06:03:57.902Z","2026-07-28T17:14:06.897Z",{"id":30,"name":31,"email":32,"avatarUrl":33},[119,120],{"id":66,"name":67,"color":68},{"id":6,"name":7,"color":9},[122,123],{"id":46,"name":47},{"id":81,"name":82},{"comments":52},{"id":126,"slug":127,"title":128,"excerpt":129,"status":21,"visibility":22,"featuredImage":130,"readingTime":90,"viewCount":131,"publishedAt":132,"createdAt":133,"updatedAt":134,"author":135,"tags":136,"categories":140,"_count":143},"efe5eac4-404f-4d7e-8d95-5ad07cdcb7ff","building-accessible-web-applications","Building Accessible Web Applications: Beyond ARIA Labels","Accessibility isn't an afterthought. Learn to build inclusive web apps with semantic HTML, keyboard navigation, and ARIA done right.","https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1605379399642-870262d3d051?w=1200&q=80",2005,"2026-06-09T06:03:39.775Z","2026-07-24T06:03:39.778Z","2026-07-28T17:12:47.811Z",{"id":30,"name":31,"email":32,"avatarUrl":33},[137,138,139],{"id":36,"name":37,"color":38},{"id":6,"name":7,"color":9},{"id":71,"name":72,"color":73},[141,142],{"id":46,"name":47},{"id":49,"name":50},{"comments":52},{"id":145,"slug":146,"title":147,"excerpt":148,"status":21,"visibility":22,"featuredImage":112,"readingTime":90,"viewCount":149,"publishedAt":150,"createdAt":151,"updatedAt":152,"author":153,"tags":154,"categories":157,"_count":160},"caa4533e-4c7a-4351-aa8e-57931a330741","state-management-vue3-pinia-patterns","State Management in Vue 3: Pinia Patterns and Pitfalls","Master Pinia with real-world patterns: store composition, async actions, optimistic updates, and when you don't need a store at all.",603,"2026-06-23T06:03:23.704Z","2026-07-24T06:03:23.707Z","2026-07-28T16:30:04.131Z",{"id":30,"name":31,"email":32,"avatarUrl":33},[155,156],{"id":66,"name":67,"color":68},{"id":6,"name":7,"color":9},[158,159],{"id":46,"name":47},{"id":81,"name":82},{"comments":52},{"id":162,"slug":163,"title":164,"excerpt":165,"status":21,"visibility":22,"featuredImage":58,"readingTime":90,"viewCount":166,"publishedAt":167,"createdAt":168,"updatedAt":169,"author":170,"tags":171,"categories":178,"_count":181},"95431d71-6467-4be0-84c0-e9ab7d912c6d","testing-vue-components-practical","Testing Vue Components: A Practical Approach","Stop writing brittle tests. Learn a pragmatic testing strategy for Vue components using Vitest and Vue Test Utils.",2077,"2026-07-01T06:03:14.150Z","2026-07-24T06:03:14.153Z","2026-07-28T17:10:27.405Z",{"id":30,"name":31,"email":32,"avatarUrl":33},[172,173,174],{"id":66,"name":67,"color":68},{"id":6,"name":7,"color":9},{"id":175,"name":176,"color":177},"testing","Testing","#99425b",[179,180],{"id":49,"name":50},{"id":81,"name":82},{"comments":52},{"id":183,"slug":184,"title":185,"excerpt":186,"status":21,"visibility":22,"featuredImage":89,"readingTime":187,"viewCount":188,"publishedAt":189,"createdAt":190,"updatedAt":191,"author":192,"tags":193,"categories":197,"_count":200},"50add5fc-4026-4267-b917-7f71ea9e35b0","complete-guide-vue3-composables","The Complete Guide to Vue 3 Composables","Understand the power of Vue 3's Composition API through practical, real-world composable patterns that you can use today.",12,990,"2026-07-19T06:02:51.753Z","2026-07-24T06:02:51.757Z","2026-07-28T13:17:36.026Z",{"id":30,"name":31,"email":32,"avatarUrl":33},[194,195,196],{"id":36,"name":37,"color":38},{"id":66,"name":67,"color":68},{"id":6,"name":7,"color":9},[198,199],{"id":46,"name":47},{"id":81,"name":82},{"comments":52},{"page":202,"limit":187,"total":12,"totalPages":202,"hasNext":203,"hasPrev":203},1,false,{"success":4,"data":205},{"items":206,"pagination":263},[207,215,223,231,239,245,251,258],{"id":208,"name":209,"description":210,"parentId":211,"createdAt":212,"updatedAt":212,"parent":211,"children":213,"_count":214},"ai-future","AI & The Future","Artificial intelligence and emerging technology",null,"2026-07-24T06:02:45.990Z",[],{"posts":202},{"id":216,"name":217,"description":218,"parentId":211,"createdAt":219,"updatedAt":219,"parent":211,"children":220,"_count":221},"tools-productivity","Tools & Productivity","Developer tools and workflow optimization","2026-07-24T06:02:45.712Z",[],{"posts":222},7,{"id":224,"name":225,"description":226,"parentId":211,"createdAt":227,"updatedAt":227,"parent":211,"children":228,"_count":229},"career","Career & Growth","Professional development for developers","2026-07-24T06:02:45.486Z",[],{"posts":230},3,{"id":232,"name":233,"description":234,"parentId":211,"createdAt":235,"updatedAt":235,"parent":211,"children":236,"_count":237},"opinion","Opinion & Analysis","Industry analysis and technical opinions","2026-07-24T06:02:45.272Z",[],{"posts":238},6,{"id":81,"name":82,"description":240,"parentId":211,"createdAt":241,"updatedAt":241,"parent":211,"children":242,"_count":243},"Step-by-step learning guides","2026-07-24T06:02:44.965Z",[],{"posts":244},21,{"id":49,"name":50,"description":246,"parentId":211,"createdAt":247,"updatedAt":247,"parent":211,"children":248,"_count":249},"Best practices, patterns, and principles","2026-07-24T06:02:44.689Z",[],{"posts":250},24,{"id":252,"name":253,"description":254,"parentId":211,"createdAt":255,"updatedAt":255,"parent":211,"children":256,"_count":257},"devops-cloud","DevOps & Cloud","Infrastructure, deployment, and cloud computing","2026-07-24T06:02:44.453Z",[],{"posts":238},{"id":46,"name":47,"description":259,"parentId":211,"createdAt":260,"updatedAt":260,"parent":211,"children":261,"_count":262},"Frontend and backend web development tutorials and guides","2026-07-24T06:02:44.169Z",[],{"posts":250},{"page":202,"limit":12,"total":12,"totalPages":202,"hasNext":203,"hasPrev":203}]