{"data":[{"id":"cmo8p5mhf0001jy04yc71myc0","title":"Handling Large File Uploads in Go Without Breaking the Server","content":"Chunked File Upload in Go: A Practical Guide There is a certain kind of pain that every backend developer eventually encounters. You build a file upload endpoint, everything works fine in local…","path":"handling-large-file-uploads","viewCount":636,"likes":14,"authorId":"cmduq93460000k004qvb2c65g","published":true,"thumbnail":"https://ik.imagekit.io/5s5n2ob6a/articles/article-thumbnail-1776780366226-WhatsApp_Image_2026-04-21_at_9.01.11_PM_rDp5Cnutf.jpeg","thumbnailFileId":"69e7844e5c7cd75eb84f3cae","createdAt":"2026-04-21T14:06:08.403Z","updatedAt":"2026-11-05T00:51:29.154Z","readingTimeMinutes":47,"author":{"id":"cmduq93460000k004qvb2c65g","name":"Rafly Aziz Abdillah","email":"raflyazizabdillah30@gmail.com","image":"https://ik.imagekit.io/72mu50jam/users/profile/profile-cmduq93460000k004qvb2c65g-1768670121926_nkJ_Asuos"}},{"id":"cmlv4z76e0001jo049hu399wr","title":"A Practical Guide to Redis Caching in Node.js Applications","content":"What is Redis? Redis (which stands for Remote Dictionary S**erver) is an open-source, in-memory data structure store. It is primarily used as a fast, highly scalable **key-value database, a cache, a…","path":"redis-caching-nodejs-guide","viewCount":617,"likes":9,"authorId":"cmduq93460000k004qvb2c65g","published":true,"thumbnail":"https://ik.imagekit.io/5s5n2ob6a/articles/article-thumbnail-1776326044175-WhatsApp_Image_2026-04-16_at_2.52.44_PM_-0Y1U0LHX.jpeg","thumbnailFileId":"69e0959c5c7cd75eb8e28a9f","createdAt":"2026-02-20T17:00:51.350Z","updatedAt":"2026-11-06T06:36:02.306Z","readingTimeMinutes":37,"author":{"id":"cmduq93460000k004qvb2c65g","name":"Rafly Aziz Abdillah","email":"raflyazizabdillah30@gmail.com","image":"https://ik.imagekit.io/72mu50jam/users/profile/profile-cmduq93460000k004qvb2c65g-1768670121926_nkJ_Asuos"}},{"id":"cmki2minl0001jr04aow20cgl","title":"How I Integrated @google/genai (Latest) with Gemini Models in a Node.js Express Application","content":"The Journey Begins So here's the thing. I've always been fascinated by AI, but most tutorials I found were either way too simple or unnecessarily complex. I wanted to build something real, something…","path":"how-i-integrated-google-genai-with-gemini-models","viewCount":718,"likes":10,"authorId":"cmduq93460000k004qvb2c65g","published":true,"thumbnail":"https://ik.imagekit.io/5s5n2ob6a/articles/article-thumbnail-1776323868991-WhatsApp_Image_2026-04-16_at_2.12.00_PM_FCof7p9gnj.jpeg","thumbnailFileId":"69e08d1e5c7cd75eb8a1532b","createdAt":"2026-01-17T08:54:17.841Z","updatedAt":"2026-10-23T03:54:38.231Z","readingTimeMinutes":16,"author":{"id":"cmduq93460000k004qvb2c65g","name":"Rafly Aziz Abdillah","email":"raflyazizabdillah30@gmail.com","image":"https://ik.imagekit.io/72mu50jam/users/profile/profile-cmduq93460000k004qvb2c65g-1768670121926_nkJ_Asuos"}},{"id":"cmkf86d5o0001w8f0cyhciurc","title":"5 Custom React Hooks yang Gue Pake Terus buat Bikin Coding Lebih Gampang","content":"5 Custom React Hooks yang Gue Pake Terus buat Bikin Coding Lebih Gampang Waktu ngoding React, gue sering banget nemuin pattern yang sama berulang-ulang di setiap project. Daripada nulis logic yang…","path":"5-custom-react-hooks-yang-berguna","viewCount":475,"likes":14,"authorId":"cmduq93460000k004qvb2c65g","published":true,"thumbnail":"https://ik.imagekit.io/5s5n2ob6a/articles/article-thumbnail-1776323725412-WhatsApp_Image_2026-04-16_at_2.14.27_PM_C91BYWBGX.jpeg","thumbnailFileId":"69e08c8d5c7cd75eb89cc953","createdAt":"2026-01-15T09:06:23.383Z","updatedAt":"2026-11-02T03:35:17.939Z","readingTimeMinutes":8,"author":{"id":"cmduq93460000k004qvb2c65g","name":"Rafly Aziz Abdillah","email":"raflyazizabdillah30@gmail.com","image":"https://ik.imagekit.io/72mu50jam/users/profile/profile-cmduq93460000k004qvb2c65g-1768670121926_nkJ_Asuos"}}],"meta":{"total":4,"page":1,"limit":10,"totalPages":1}}