{"data":[{"id":1,"user_id":1,"title":"sunt aut facere repellat provident occaecati excepturi optio reprehenderit","body":"quia et suscipit suscipit recusandae consequuntur expedita et cum reprehenderit molestiae ut ut quas totam nostrum rerum est autem sunt rem eveniet architecto","thumbnail":"/public/thumbnails/post-1.svg"},{"id":2,"user_id":1,"title":"qui est esse (Part 2)","body":"est rerum tempore vitae sequi sint nihil reprehenderit dolor beatae ea dolores neque fugiat blanditiis voluptate porro vel nihil molestiae ut reiciendis qui aperiam non debitis possimus qui neque nisi nulla","thumbnail":"/public/thumbnails/post-2.svg"},{"id":3,"user_id":1,"title":"ea molestias quasi exercitationem repellat qui ipsa sit aut (Part 3)","body":"et iusto sed quo iure voluptatem occaecati omnis eligendi aut ad voluptatem doloribus vel accusata quis pariatu ex et quas accusantium","thumbnail":"/public/thumbnails/post-3.svg"},{"id":4,"user_id":1,"title":"eum et est occaecati (Part 4)","body":"ullam et saepe reiciendis voluptatem adipisci sit amet ac tempora natus eaque et quasi nihil aut voluptatem dolores aut meum est","thumbnail":"/public/thumbnails/post-4.svg"},{"id":5,"user_id":2,"title":"nesciunt quas odio","body":"repudiandae veniam quaerat sunt sed alias aut fugiat sit nostrum sed magnam et est voluptatem repellendus ut em","thumbnail":"/public/thumbnails/post-5.svg"},{"id":6,"user_id":2,"title":"optimizing database indexing strategies for large scale applications (Part 2)","body":"database indexing is one of the most critical factors in query performance. by creating proper B-tree and GIN indexes, read latency can drop from seconds to milliseconds during peak concurrency loads.","thumbnail":"/public/thumbnails/post-6.svg"},{"id":7,"user_id":2,"title":"building resilient microservices with event-driven architecture (Part 3)","body":"event-driven architectures decouple services and improve fault tolerance. using message queues like Kafka or RabbitMQ ensures zero data loss during sudden traffic spikes.","thumbnail":"/public/thumbnails/post-7.svg"},{"id":8,"user_id":2,"title":"mastering modern CSS grid and flexbox for responsive layouts (Part 4)","body":"CSS Grid and Flexbox provide intuitive ways to build complex UI layouts without third-party frameworks. combining container queries elevates dynamic responsiveness to new heights.","thumbnail":"/public/thumbnails/post-8.svg"},{"id":9,"user_id":3,"title":"securing REST APIs with OAuth2 and JSON Web Tokens","body":"authentication and authorization require layered defense mechanisms. implementing short-lived JWT access tokens alongside HTTP-only refresh cookies prevents token theft.","thumbnail":"/public/thumbnails/post-9.svg"},{"id":10,"user_id":3,"title":"a beginner guide to state management in React 19 (Part 2)","body":"React 19 introduces server actions and enhanced hooks that streamline application state without relying on third-party state managers like Redux or Zustand for simple apps.","thumbnail":"/public/thumbnails/post-10.svg"}],"pagination":{"page":1,"limit":10,"total":100,"totalPages":10,"hasNextPage":true,"hasPrevPage":false}}