{"data":[{"id":110677,"title":"Django: d\u00f9ng auto_now v\u00e0 auto_now_add \u0111\u00fang c\u00e1ch \u2014 khi n\u00e0o n\u00ean thay b\u1eb1ng default=timezone.now","slug":"k74a96Ql4eO","url":"https:\/\/viblo.asia\/p\/django-dung-auto-now-va-auto-now-add-dung-cach-khi-nao-nen-thay-bang-defaulttimezonenow-k74a96Ql4eO","user_id":59670,"transliterated":"django-dung-auto-now-va-auto-now-add-dung-cach-khi-nao-nen-thay-bang-defaulttimezonenow","contents_short":"H\u1ea7u h\u1ebft model Django \u0111\u1ec1u c\u00f3 hai tr\u01b0\u1eddng th\u1eddi gian: createdat \u0111\u1ec3 bi\u1ebft b\u1ea3n ghi \u0111\u01b0\u1ee3c t\u1ea1o khi n\u00e0o v\u00e0 updatedat cho l\u1ea7n s\u1eeda cu\u1ed1i. C\u00e1ch nhanh nh\u1ea5t l\u00e0 autonowadd=True cho createdat v\u00e0 autonow=True cho updatedat \u2014 Django t\u1ef1 \u0111i\u1ec1n c\u1ea3 hai, b\u1ea1n kh\u00f4ng c\u1ea7n ch\u1ea1m v\u00e0o ch\u00fang. Nh\u01b0ng hai tham s\u1ed1 n\u00e0y c\u00f3 ba \"c\u00e1i b\u1eaby\" hay g\u1eb7p: kh\u00f4ng g\u00e1n \u0111\u01b0\u1ee3c ng\u00e0y c\u0169 khi import d\u1eef li\u1ec7u, update() h\u00e0ng lo\u1ea1t kh\u00f4ng \u0111\u1ed5i updatedat, v\u00e0 tr\u01b0\u1eddng...","published_at":"2026-11-14T15:32:37.000000Z","scheduled_publish_at":null,"is_shared":false,"updated_at":"2026-11-15T00:19:01.000000Z","edited_at":"2026-11-14T15:31:24.000000Z","translation_source":null,"trend_at":null,"promoted_at":null,"reading_time":4,"organization_pinned_at":null,"profile_pin_position":null,"points":0,"views_count":13,"clips_count":0,"comments_count":0,"rated_value":null,"promoted":false,"trending":false,"is_video":false,"thumbnail_url":"https:\/\/images.viblo.asia\/f276d918-bbe3-4a85-bf5e-241c3e652082.png","user":{"data":{"id":59670,"url":"https:\/\/viblo.asia\/u\/linhfishCR7","avatar":"5105dbd5-d474-47dd-a13e-f60f64a0370e.png","name":"Linh Fish Dev","username":"linhfishCR7","followers_count":0,"reputation":0,"posts_count":9,"banned_at":null,"level_partner":null,"following":false}},"tags":{"data":[{"slug":"django","name":"Django"},{"slug":"python","name":"Python"},{"slug":"web-development","name":"Web Development"}]},"commentators":{"data":[]}},{"id":110673,"title":"CHINH PH\u1ee4C ANZ SAU 5 N\u0102M L\u00c0M BACKEND ENGINEER C\u1ee6A N\u1eee H\u1eccC VI\u00caN","slug":"R5JRQrgr4Gv","url":"https:\/\/viblo.asia\/p\/chinh-phuc-anz-sau-5-nam-lam-backend-engineer-cua-nu-hoc-vien-R5JRQrgr4Gv","user_id":148488,"transliterated":"chinh-phuc-anz-sau-5-nam-lam-backend-engineer-cua-nu-hoc-vien","contents_short":"Trong h\u00e0nh tr\u00ecnh s\u1ef1 nghi\u1ec7p c\u00f4ng ngh\u1ec7, vi\u1ec7c t\u00ecm ki\u1ebfm c\u01a1 h\u1ed9i t\u1ea1i c\u00e1c t\u1eadp \u0111o\u00e0n qu\u1ed1c t\u1ebf lu\u00f4n l\u00e0 m\u1ee5c ti\u00eau c\u1ee7a nhi\u1ec1u k\u1ef9 s\u01b0 ph\u1ea7n m\u1ec1m. V\u1edbi m\u1ed9t k\u1ef9 s\u01b0 backend c\u00f3 g\u1ea7n 5 n\u0103m kinh nghi\u1ec7m l\u00e0m vi\u1ec7c t\u1ea1i Viettel con \u0111\u01b0\u1eddng \u0111\u1ebfn v\u1edbi ANZ kh\u00f4ng ch\u1ec9 l\u00e0 c\u00e2u chuy\u1ec7n c\u1ee7a n\u1ed7 l\u1ef1c c\u00e1 nh\u00e2n m\u00e0 c\u00f2n l\u00e0 minh ch\u1ee9ng cho s\u1ee9c m\u1ea1nh c\u1ee7a vi\u1ec7c h\u1ecdc t\u1eadp b\u00e0i b\u1ea3n v\u00e0 \u0111\u1ecbnh h\u01b0\u1edbng \u0111\u00fang \u0111\u1eafn.\n\nC\u00f9ng Engineer Pro tr\u00f2 chuy\u1ec7n v\u1edbi n\u1eef h\u1ecdc vi\u00ean n\u00e0y \u0111\u1ec3 h...","published_at":"2026-11-14T13:21:39.000000Z","scheduled_publish_at":null,"is_shared":false,"updated_at":"2026-11-14T22:30:02.000000Z","edited_at":"2026-11-14T13:21:34.000000Z","translation_source":null,"trend_at":null,"promoted_at":null,"reading_time":8,"organization_pinned_at":null,"profile_pin_position":null,"points":0,"views_count":9,"clips_count":0,"comments_count":0,"rated_value":null,"promoted":false,"trending":false,"is_video":false,"thumbnail_url":"https:\/\/images.viblo.asia\/0aed2df1-a88e-4c8c-8193-1d595707c5b3.png","user":{"data":{"id":148488,"url":"https:\/\/viblo.asia\/u\/EngineerPro","avatar":"7e978c37-0f70-45a7-ae51-ab4efb3eddb5.jpg","name":"EngineerPro","username":"EngineerPro","followers_count":172,"reputation":1867,"posts_count":102,"banned_at":null,"level_partner":null,"following":false}},"tags":{"data":[{"slug":"atbigtech","name":"@BigTech"},{"slug":"atengineerpro","name":"@EngineerPro"},{"slug":"atinterview","name":"@Interview"}]},"commentators":{"data":[]}},{"id":107349,"title":"Series Java Swing B\u00e0i 28: WindowListener - X\u1eed l\u00fd logic khi thu nh\u1ecf, ph\u00f3ng to v\u00e0 C\u1ea3nh b\u00e1o tr\u01b0\u1edbc khi tho\u00e1t","slug":"gdJzvPwjJz5","url":"https:\/\/viblo.asia\/p\/series-java-swing-bai-28-windowlistener-xu-ly-logic-khi-thu-nho-phong-to-va-canh-bao-truoc-khi-thoat-gdJzvPwjJz5","user_id":182653,"transliterated":"series-java-swing-bai-28-windowlistener-xu-ly-logic-khi-thu-nho-phong-to-va-canh-bao-truoc-khi-thoat","contents_short":"M\u1ecdi c\u1eeda s\u1ed5 \u1ee9ng d\u1ee5ng tr\u00ean h\u1ec7 \u0111i\u1ec1u h\u00e0nh \u0111\u1ec1u c\u00f3 m\u1ed9t v\u00f2ng \u0111\u1eddi: M\u1edf l\u00ean, \u0111\u01b0\u1ee3c ng\u01b0\u1eddi d\u00f9ng s\u1eed d\u1ee5ng (Activate), thu nh\u1ecf xu\u1ed1ng thanh Taskbar (Minimize), ph\u00f3ng to tr\u1edf l\u1ea1i, v\u00e0 cu\u1ed1i c\u00f9ng l\u00e0 b\u1ecb \u0111\u00f3ng (b\u1ea5m n\u00fat X).\n\n\u0110\u00f4i khi, b\u1ea1n mu\u1ed1n \u1ee9ng d\u1ee5ng c\u1ee7a m\u00ecnh \"ph\u1ea3n \u1ee9ng\" l\u1ea1i c\u00e1c tr\u1ea1ng th\u00e1i n\u00e0y. \u0110i\u1ec3n h\u00ecnh nh\u1ea5t l\u00e0 t\u00ednh n\u0103ng: B\u1eadt h\u1ed9p tho\u1ea1i h\u1ecfi \"B\u1ea1n c\u00f3 ch\u1eafc ch\u1eafn mu\u1ed1n tho\u00e1t kh\u00f4ng? D\u1eef li\u1ec7u ch\u01b0a l\u01b0u s\u1ebd b\u1ecb m\u1ea5t\" khi ng\u01b0\u1eddi d\u00f9ng v...","published_at":"2026-11-14T12:26:36.000000Z","scheduled_publish_at":null,"is_shared":false,"updated_at":"2026-11-14T22:34:02.000000Z","edited_at":"2026-09-26T03:17:30.000000Z","translation_source":null,"trend_at":null,"promoted_at":null,"reading_time":4,"organization_pinned_at":null,"profile_pin_position":null,"points":0,"views_count":14,"clips_count":0,"comments_count":0,"rated_value":null,"promoted":false,"trending":false,"is_video":false,"thumbnail_url":"https:\/\/images.viblo.asia\/43c724a4-1c2d-4faf-af03-41ddefb8fe0d.png","user":{"data":{"id":182653,"url":"https:\/\/viblo.asia\/u\/hhoang","avatar":"8392e404-ea43-497f-8b18-3777e24dc6ab.jpg","name":"Huy Ho\u00e0ng","username":"hhoang","followers_count":216,"reputation":14329,"posts_count":1762,"banned_at":null,"level_partner":null,"following":false}},"tags":{"data":[{"slug":"backend","name":"Backend"}]},"commentators":{"data":[]}},{"id":110645,"title":"[Series 100 B\u00e0i H\u1ecdc HTML\/CSS Th\u1ef1c Chi\u1ebfn - B\u00e0i 26]: \u0110\u1ea1i Ph\u1eabu Responsive Th\u00e2n Trang Shopee \u2014 K\u1ef9 Thu\u1eadt Vu\u1ed1t Ngang M\u01b0\u1ee3t Nh\u01b0 App (CSS Scroll Snap) & Co Gi\u00e3n L\u01b0\u1edbi S\u1ea3n Ph\u1ea9m (6 -> 4 -> 2 C\u1ed9t)","slug":"pPLkN8YDJRZ","url":"https:\/\/viblo.asia\/p\/series-100-bai-hoc-htmlcss-thuc-chien-bai-26-dai-phau-responsive-than-trang-shopee-ky-thuat-vuot-ngang-muot-nhu-app-css-scroll-snap-co-gian-luoi-san-pham-6-4-2-cot-pPLkN8YDJRZ","user_id":184801,"transliterated":"series-100-bai-hoc-htmlcss-thuc-chien-bai-26-dai-phau-responsive-than-trang-shopee-ky-thuat-vuot-ngang-muot-nhu-app-css-scroll-snap-co-gian-luoi-san-pham-6-4-2-cot","contents_short":"Ch\u00e0o m\u1eebng anh em \u0111\u00e3 b\u01b0\u1edbc sang B\u00e0i 26 trong chu\u1ed7i 100 B\u00e0i H\u1ecdc L\u00e0m Ch\u1ee7 HTML\/CSS Qua D\u1ef1 \u00c1n Clone Shopee!\n\n\u1ede B\u00e0i 25, ch\u00fang ta \u0111\u00e3 thi\u1ebft l\u1eadp h\u1ec7 th\u1ed1ng 3 Breakpoints chu\u1ea9n m\u1ef1c trong responsive.css v\u00e0 bi\u1ebfn h\u00f3a thanh Header Shopee t\u1eeb giao di\u1ec7n Desktop (120px) th\u00e0nh giao di\u1ec7n Mobile App (68px) k\u00e8m thanh l\u1ecdc nhanh 4 tab b\u00e1m d\u00ednh c\u1ef1c k\u1ef3 g\u1ecdn g\u00e0ng.\n\nTuy nhi\u00ean, khi b\u1ea1n cu\u1ed9n xu\u1ed1ng Ph\u1ea7n Th\u00e2n Trang (<main class=\"...","published_at":"2026-11-14T11:59:05.000000Z","scheduled_publish_at":null,"is_shared":false,"updated_at":"2026-11-14T21:28:02.000000Z","edited_at":"2026-11-14T11:59:04.000000Z","translation_source":null,"trend_at":null,"promoted_at":null,"reading_time":11,"organization_pinned_at":null,"profile_pin_position":null,"points":0,"views_count":14,"clips_count":0,"comments_count":1,"rated_value":null,"promoted":false,"trending":false,"is_video":false,"thumbnail_url":"https:\/\/images.viblo.asia\/fecde3c3-d731-46c2-979c-e031665a0428.png","user":{"data":{"id":184801,"url":"https:\/\/viblo.asia\/u\/Tuanhuu1201","avatar":"765295b3-c266-4756-8f0b-6b149861811c.png","name":"Thanh H\u1ea3i Hu\u1ef3nh","username":"Tuanhuu1201","followers_count":1,"reputation":7,"posts_count":26,"banned_at":null,"level_partner":null,"following":false}},"tags":{"data":[{"slug":"htmlcss","name":"HTML\/CSS"}]},"commentators":{"data":[{"id":231969,"url":"https:\/\/viblo.asia\/u\/anbui839","avatar":"330d7019-372b-4525-8237-c28fb1e87209.jpg","name":"An Bui","username":"anbui839","followers_count":0,"reputation":0,"posts_count":0,"banned_at":null,"level_partner":null}]}},{"id":110643,"title":"[Series 100 B\u00e0i H\u1ecdc HTML\/CSS Th\u1ef1c Chi\u1ebfn - B\u00e0i 25]: Kh\u1edfi \u0110\u1ed9ng Ch\u01b0\u01a1ng 9 \u2014 L\u00e0m Ch\u1ee7 Responsive Web Design V\u1edbi @media queries, Thi\u1ebft L\u1eadp H\u1ec7 Th\u1ed1ng Breakpoints & Bi\u1ebfn H\u00f3a Header Shopee Tr\u00ean Tablet \/ Mobile!","slug":"ymJXDMlaJkq","url":"https:\/\/viblo.asia\/p\/series-100-bai-hoc-htmlcss-thuc-chien-bai-25-khoi-dong-chuong-9-lam-chu-responsive-web-design-voi-atmedia-queries-thiet-lap-he-thong-breakpoints-bien-hoa-header-shopee-tren-tablet-mobile-ymJXDMlaJkq","user_id":184801,"transliterated":"series-100-bai-hoc-htmlcss-thuc-chien-bai-25-khoi-dong-chuong-9-lam-chu-responsive-web-design-voi-atmedia-queries-thiet-lap-he-thong-breakpoints-bien-hoa-header-shopee-tren-tablet-mobile","contents_short":"Ch\u00e0o m\u1eebng anh em \u0111\u00e3 ch\u1ea1m t\u1edbi c\u1ed9t m\u1ed1c l\u1ecbch s\u1eed: B\u00e0i 25 \u2014 Ho\u00e0n th\u00e0nh  ch\u1eb7ng \u0111\u01b0\u1eddng trong chu\u1ed7i 100 B\u00e0i H\u1ecdc L\u00e0m Ch\u1ee7 HTML\/CSS Qua D\u1ef1 \u00c1n Clone Shopee!\n\nTr\u1ea3i qua 24 b\u00e0i h\u1ecdc \u0111\u1ea7u ti\u00ean, ch\u00fang ta \u0111\u00e3 d\u1ef1ng n\u00ean m\u1ed9t \u0111\u1ebf ch\u1ebf giao di\u1ec7n Shopee Desktop (1200px) \u0111\u1ed3 s\u1ed9 t\u1eeb Trang ch\u1ee7, Popup \u0110\u0103ng nh\u1eadp, Trang T\u00ecm ki\u1ebfm, Chi ti\u1ebft s\u1ea3n ph\u1ea9m cho \u0111\u1ebfn Gi\u1ecf h\u00e0ng v\u00e0 Thanh to\u00e1n. Tuy nhi\u00ean, c\u00f3 m\u1ed9t s\u1ef1 th\u1eadt trong ng\u00e0nh Th\u01b0\u01a1ng m\u1ea1i \u0111i\u1ec7n...","published_at":"2026-11-14T11:49:05.000000Z","scheduled_publish_at":null,"is_shared":false,"updated_at":"2026-11-14T22:59:02.000000Z","edited_at":"2026-11-14T11:52:47.000000Z","translation_source":null,"trend_at":null,"promoted_at":null,"reading_time":12,"organization_pinned_at":null,"profile_pin_position":null,"points":0,"views_count":10,"clips_count":0,"comments_count":0,"rated_value":null,"promoted":false,"trending":false,"is_video":false,"thumbnail_url":"https:\/\/images.viblo.asia\/f7ef0aa0-579f-49fa-91bf-d875550386f3.png","user":{"data":{"id":184801,"url":"https:\/\/viblo.asia\/u\/Tuanhuu1201","avatar":"765295b3-c266-4756-8f0b-6b149861811c.png","name":"Thanh H\u1ea3i Hu\u1ef3nh","username":"Tuanhuu1201","followers_count":1,"reputation":7,"posts_count":26,"banned_at":null,"level_partner":null,"following":false}},"tags":{"data":[{"slug":"htmlcss","name":"HTML\/CSS"}]},"commentators":{"data":[]}},{"id":110658,"title":"How I Make Custom Reaction GIFs for Team Chats with a Text-to-GIF AI","slug":"vbLbjzmPLnk","url":"https:\/\/viblo.asia\/p\/how-i-make-custom-reaction-gifs-for-team-chats-with-a-text-to-gif-ai-vbLbjzmPLnk","user_id":231809,"transliterated":"how-i-make-custom-reaction-gifs-for-team-chats-with-a-text-to-gif-ai","contents_short":"My team's reaction GIFs were always the same three recycled clips, until someone dared us to make our own. It turns out the fastest way is to simply describe the animation you want and let an AI generate the frames.\n\nWhat I wanted\n\n- A looping clip of a laptop exploding with confetti for release days.\n- A custom sticker of our team mascot nodding approvingly.\n- Something small enough to survive...","published_at":"2026-11-14T11:18:14.000000Z","scheduled_publish_at":null,"is_shared":false,"updated_at":"2026-11-14T22:39:02.000000Z","edited_at":"2026-11-14T11:18:14.000000Z","translation_source":null,"trend_at":null,"promoted_at":null,"reading_time":0,"organization_pinned_at":null,"profile_pin_position":null,"points":0,"views_count":13,"clips_count":0,"comments_count":0,"rated_value":null,"promoted":false,"trending":false,"is_video":false,"thumbnail_url":"https:\/\/images.viblo.asia\/c7fdaf50-a65b-4a0f-bc97-6ef6e2a876c0.png","user":{"data":{"id":231809,"url":"https:\/\/viblo.asia\/u\/willcz0913","avatar":null,"name":"will","username":"willcz0913","followers_count":0,"reputation":0,"posts_count":3,"banned_at":null,"level_partner":null,"following":false}},"tags":{"data":[{"slug":"anh-gif","name":"\u1ea3nh gif"}]},"commentators":{"data":[]}},{"id":110655,"title":"\u0110\u1ed3ng b\u1ed9 l\u1eddi tho\u1ea1i v\u00e0 ti\u1ebfng n\u1ec1n trong m\u1ed9t l\u1ea7n render: quy tr\u00ecnh l\u00e0m video gi\u1ea3i th\u00edch k\u1ef9 thu\u1eadt","slug":"wd43EpPjLX9","url":"https:\/\/viblo.asia\/p\/dong-bo-loi-thoai-va-tieng-nen-trong-mot-lan-render-quy-trinh-lam-video-giai-thich-ky-thuat-wd43EpPjLX9","user_id":231953,"transliterated":"dong-bo-loi-thoai-va-tieng-nen-trong-mot-lan-render-quy-trinh-lam-video-giai-thich-ky-thuat","contents_short":"M\u1ed9t video gi\u1ea3i th\u00edch k\u1ef9 thu\u1eadt th\u01b0\u1eddng th\u1ea5t b\u1ea1i \u1edf ch\u1ed7 ng\u01b0\u1eddi xem kh\u00f4ng ng\u1edd: h\u00ecnh th\u00ec r\u00f5, nh\u01b0ng \u00e2m thanh th\u00ec kh\u00f4ng thu\u1ed9c v\u1ec1 h\u00ecnh. Gi\u1ecdng n\u00f3i nh\u01b0 \u0111\u01b0\u1ee3c d\u00e1n l\u00ean tr\u00ean, ph\u00f2ng th\u00ec im b\u1ea5t th\u01b0\u1eddng, ho\u1eb7c ti\u1ebfng click chu\u1ed9t kh\u00f4ng kh\u1edbp v\u1edbi thao t\u00e1c tr\u00ean giao di\u1ec7n. V\u1edbi clip d\u00e0i 15\u201325 gi\u00e2y \u2014 v\u1eeba \u0111\u1ee7 \u0111\u1ec3 ch\u1ec9 m\u1ed9t thao t\u00e1c, m\u1ed9t kh\u00e1i ni\u1ec7m, m\u1ed9t c\u1ea3nh b\u00e1o \u2014 t\u00f4i kh\u00f4ng c\u00f2n t\u00e1ch ph\u1ea7n h\u00ecnh v\u00e0 ph\u1ea7n ti\u1ebfng th\u00e0nh hai c\u00f4ng \u0111o\u1ea1n xa ...","published_at":"2026-11-14T11:03:16.000000Z","scheduled_publish_at":null,"is_shared":false,"updated_at":"2026-11-14T21:30:02.000000Z","edited_at":"2026-11-14T11:02:50.000000Z","translation_source":null,"trend_at":null,"promoted_at":null,"reading_time":7,"organization_pinned_at":null,"profile_pin_position":null,"points":0,"views_count":13,"clips_count":0,"comments_count":0,"rated_value":null,"promoted":false,"trending":false,"is_video":false,"thumbnail_url":"https:\/\/images.viblo.asia\/b6e1e339-a6a1-4647-a6f7-43869f8d33bb.png","user":{"data":{"id":231953,"url":"https:\/\/viblo.asia\/u\/seedancejack","avatar":null,"name":"Jack","username":"seedancejack","followers_count":0,"reputation":0,"posts_count":1,"banned_at":null,"level_partner":null,"following":false}},"tags":{"data":[{"slug":"ai-video","name":"ai video"},{"slug":"audio","name":"audio"},{"slug":"documentation","name":"Documentation"},{"slug":"technical-writing","name":"Technical Writing"}]},"commentators":{"data":[]}},{"id":109678,"title":"[Vibe Coding Th\u1ef1c Chi\u1ebfn #14] T\u1ed1i \u01afu VPS, \u0110\u00e1nh Ch\u1ec9 M\u1ee5c Database & T\u0103ng T\u1ed1c To\u00e0n Di\u1ec7n Cho H\u1ec7 Th\u1ed1ng EzyPlatform!","slug":"AoJe8j2D41j","url":"https:\/\/viblo.asia\/p\/vibe-coding-thuc-chien-14-toi-uu-vps-danh-chi-muc-database-tang-toc-toan-dien-cho-he-thong-ezyplatform-AoJe8j2D41j","user_id":212424,"transliterated":"vibe-coding-thuc-chien-14-toi-uu-vps-danh-chi-muc-database-tang-toc-toan-dien-cho-he-thong-ezyplatform","contents_short":"[Vibe Coding Th\u1ef1c Chi\u1ebfn #14] T\u1ed1i \u01afu VPS, \u0110\u00e1nh Ch\u1ec9 M\u1ee5c Database & T\u0103ng T\u1ed1c To\u00e0n Di\u1ec7n Cho H\u1ec7 Th\u1ed1ng EzyPlatform!\n\nT\u00e1c gi\u1ea3: Lee\nH\u1ea1 t\u1ea7ng th\u1ef1c nghi\u1ec7m: VPS Ubuntu 22.04 LTS (157.66.47.xxx - 2 vCPU, 2GB RAM)\nPortal Admin: https:\/\/1576647xxx-admin.interdata.io.vn\nC\u00f4ng c\u1ee5 \u0111o l\u01b0\u1eddng: htop, MySQL Slow Query Log, wrk load test, EzyPlatform DataIndex\nM\u1ee5c ti\u00eau: T\u0103ng t\u1ed1c \u0111\u1ed9 ph\u1ea3n h\u1ed3i g\u1ea5p 8.5 l\u1ea7n, gi\u1ea3m \u0111\u1ed9 tr\u1ec5 tru...","published_at":"2026-11-14T10:11:32.000000Z","scheduled_publish_at":null,"is_shared":false,"updated_at":"2026-11-14T15:46:02.000000Z","edited_at":"2026-10-25T17:32:58.000000Z","translation_source":null,"trend_at":null,"promoted_at":null,"reading_time":13,"organization_pinned_at":null,"profile_pin_position":null,"points":0,"views_count":10,"clips_count":0,"comments_count":0,"rated_value":null,"promoted":false,"trending":false,"is_video":false,"thumbnail_url":"https:\/\/images.viblo.asia\/bf8c6fb8-7f54-4b0b-99be-e9452b9f5087.png","user":{"data":{"id":212424,"url":"https:\/\/viblo.asia\/u\/arya.it","avatar":"5f571f56-1f15-4d86-abea-d37a3ae5bcd5.png","name":"Duong Nguyen","username":"arya.it","followers_count":0,"reputation":24,"posts_count":13,"banned_at":null,"level_partner":null,"following":false}},"tags":{"data":[{"slug":"database","name":"Database"},{"slug":"java","name":"Java"},{"slug":"mysql","name":"MySql"},{"slug":"performance","name":"Performance"}]},"commentators":{"data":[]}},{"id":110638,"title":"Ghi nh\u1eadt k\u00fd \u0111\u1ed9 \u1ed3n c\u1ee7a train horn b\u1eb1ng ESP32 (I2S) v\u00e0 MQTT tr\u00ean Linux","slug":"ym400bEd491","url":"https:\/\/viblo.asia\/p\/ghi-nhat-ky-do-on-cua-train-horn-bang-esp32-i2s-va-mqtt-tren-linux-ym400bEd491","user_id":231932,"transliterated":"ghi-nhat-ky-do-on-cua-train-horn-bang-esp32-i2s-va-mqtt-tren-linux","contents_short":"M\u00ecnh c\u1ea7n log l\u1ea1i nh\u1eefng c\u00fa h\u00fa ng\u1eafn c\u1ee7a m\u1ed9t train horn pneumatik \u2014 kh\u00f4ng ph\u1ea3i \u0111\u1ec3 \u201c\u0111o cho vui m\u1ed9t l\u1ea7n\u201d, m\u00e0 \u0111\u1ec3 so s\u00e1nh repeatability: c\u00f9ng van, c\u00f9ng \u00e1p su\u1ea5t, c\u00f9ng kho\u1ea3ng c\u00e1ch, l\u1ea7n n\u00e0y RMS l\u1ec7ch bao nhi\u00eau so v\u1edbi l\u1ea7n tr\u01b0\u1edbc. \u0110o b\u1eb1ng \u0111i\u1ec7n tho\u1ea1i r\u1ed3i k\u00e9o file v\u00e0o Audacity th\u00ec l\u00e0m \u0111\u01b0\u1ee3c, nh\u01b0ng v\u1edbi d\u00e3y th\u1eed v\u00e0i ch\u1ee5c l\u1ea7n th\u00ec m\u00ecnh mu\u1ed1n m\u1ed9t logger nh\u1ecf, t\u1ef1 \u0111\u1ea9y s\u1ed1 v\u1ec1 m\u00e1y Linux.\n\nB\u00e0i n\u00e0y ch\u1ec9 n\u00f3i ph\u1ea7n thu\u2013ghi\u2013l\u01b0u. K...","published_at":"2026-11-14T08:43:09.000000Z","scheduled_publish_at":null,"is_shared":false,"updated_at":"2026-11-14T18:58:02.000000Z","edited_at":"2026-11-14T08:44:48.000000Z","translation_source":null,"trend_at":null,"promoted_at":null,"reading_time":5,"organization_pinned_at":null,"profile_pin_position":null,"points":0,"views_count":11,"clips_count":0,"comments_count":0,"rated_value":null,"promoted":false,"trending":false,"is_video":false,"thumbnail_url":"https:\/\/images.viblo.asia\/cbf655b0-8e63-487f-982a-8653ca49f21e.png","user":{"data":{"id":231932,"url":"https:\/\/viblo.asia\/u\/horngunnotes","avatar":null,"name":"Horn Notes","username":"horngunnotes","followers_count":0,"reputation":0,"posts_count":1,"banned_at":null,"level_partner":null,"following":false}},"tags":{"data":[{"slug":"esp32","name":"esp32"},{"slug":"iot","name":"IoT"},{"slug":"linux","name":"Linux"},{"slug":"mqtt","name":"mqtt"},{"slug":"i2s","name":"i2s"}]},"commentators":{"data":[]}},{"id":110523,"title":"Command Box b\u00e0i h\u1ecdc 13: Ki\u1ec3m tra r\u00e0ng bu\u1ed9c \u0111\u1ea7u v\u00e0o (Validation) ngay t\u1eeb t\u1ea7ng CLI tr\u01b0\u1edbc khi th\u1ef1c thi","slug":"2vJPdvpoJeK","url":"https:\/\/viblo.asia\/p\/command-box-bai-hoc-13-kiem-tra-rang-buoc-dau-vao-validation-ngay-tu-tang-cli-truoc-khi-thuc-thi-2vJPdvpoJeK","user_id":184792,"transliterated":"command-box-bai-hoc-13-kiem-tra-rang-buoc-dau-vao-validation-ngay-tu-tang-cli-truoc-khi-thuc-thi","contents_short":"\u1ede B\u00e0i h\u1ecdc 12, ch\u00fang ta \u0111\u00e3 bi\u1ebft c\u00e1ch d\u00f9ng pflag v\u00e0 Cobra \u0111\u1ec3 b\u1eaft c\u00e1c l\u1ed7i c\u00fa ph\u00e1p c\u01a1 b\u1ea3n nh\u01b0 truy\u1ec1n thi\u1ebfu c\u1edd, sai ki\u1ec3u s\u1ed1 nguy\u00ean (int) hay xung \u0111\u1ed9t gi\u1eefa hai c\u1edd (MarkFlagsMutuallyExclusive). Nh\u01b0ng trong th\u1ef1c t\u1ebf v\u1eadn h\u00e0nh Backend,  \"\u0111\u00fang ki\u1ec3u d\u1eef li\u1ec7u\" ch\u01b0a bao gi\u1edd \u0111\u1ed3ng ngh\u0129a v\u1edbi \"h\u1ee3p l\u1ec7 \u0111\u1ec3 ch\u1ea1y\".\n\nH\u00e3y t\u01b0\u1edfng t\u01b0\u1ee3ng b\u1ea1n ch\u1ea1y l\u1ec7nh cbox db restore --file=.\/backup2026.sql --workers=500 --env=prod. V\u1ec1 m\u1eb7t c...","published_at":"2026-11-14T07:30:57.000000Z","scheduled_publish_at":null,"is_shared":false,"updated_at":"2026-11-14T23:28:01.000000Z","edited_at":"2026-11-12T10:14:08.000000Z","translation_source":null,"trend_at":null,"promoted_at":null,"reading_time":8,"organization_pinned_at":null,"profile_pin_position":null,"points":0,"views_count":16,"clips_count":0,"comments_count":0,"rated_value":null,"promoted":false,"trending":false,"is_video":false,"thumbnail_url":"https:\/\/images.viblo.asia\/1601416a-2c14-4121-ad19-317aa9e10721.png","user":{"data":{"id":184792,"url":"https:\/\/viblo.asia\/u\/nhh","avatar":"81df63c2-e6d9-43a9-85a4-8e807f120997.jpg","name":"Nguy\u1ec5n Huy Ho\u00e0ng","username":"nhh","followers_count":16,"reputation":184,"posts_count":259,"banned_at":null,"level_partner":null,"following":false}},"tags":{"data":[{"slug":"command","name":"command"}]},"commentators":{"data":[]}},{"id":110620,"title":"[Series 100 B\u00e0i H\u1ecdc HTML\/CSS Th\u1ef1c Chi\u1ebfn - B\u00e0i 24]: X\u00e2y D\u1ef1ng Giao Di\u1ec7n Trang Thanh To\u00e1n (Checkout Page) & B\u00ed Thu\u1eadt V\u1ebd \u0110\u01b0\u1eddng Vi\u1ec1n Phong B\u00ec Th\u01b0 K\u1ebb S\u1ecdc \u0110\u1ecf - Xanh B\u1eb1ng repeating-linear-gradient","slug":"G24B8qjGLz3","url":"https:\/\/viblo.asia\/p\/series-100-bai-hoc-htmlcss-thuc-chien-bai-24-xay-dung-giao-dien-trang-thanh-toan-checkout-page-bi-thuat-ve-duong-vien-phong-bi-thu-ke-soc-do-xanh-bang-repeating-linear-gradient-G24B8qjGLz3","user_id":184801,"transliterated":"series-100-bai-hoc-htmlcss-thuc-chien-bai-24-xay-dung-giao-dien-trang-thanh-toan-checkout-page-bi-thuat-ve-duong-vien-phong-bi-thu-ke-soc-do-xanh-bang-repeating-linear-gradient","contents_short":"Ch\u00e0o m\u1eebng anh em \u0111\u00e3 b\u01b0\u1edbc sang B\u00e0i 24 trong chu\u1ed7i 100 B\u00e0i H\u1ecdc L\u00e0m Ch\u1ee7 HTML\/CSS Qua D\u1ef1 \u00c1n Clone Shopee!\n\n\u1ede B\u00e0i 23, ch\u00fang ta \u0111\u00e3 ho\u00e0n th\u00e0nh Trang Gi\u1ecf H\u00e0ng (Shopping Cart) v\u1edbi thanh t\u1ed5ng ti\u1ec1n b\u00e1m d\u00ednh \u1edf \u0111\u00e1y m\u00e0n h\u00ecnh. Khi ng\u01b0\u1eddi mua ki\u1ec3m tra xong gi\u1ecf h\u00e0ng v\u00e0 b\u1ea5m v\u00e0o n\u00fat \"Mua H\u00e0ng\", h\u1ecd s\u1ebd b\u01b0\u1edbc sang m\u00e0n h\u00ecnh cu\u1ed1i c\u00f9ng \u0111\u1ec3 ho\u00e0n t\u1ea5t giao d\u1ecbch:  Trang Thanh To\u00e1n (Checkout \/ Order Confirmation Page)!\n\nN\u1ebfu b\u1ea1...","published_at":"2026-11-14T07:27:26.000000Z","scheduled_publish_at":null,"is_shared":false,"updated_at":"2026-11-14T18:24:02.000000Z","edited_at":"2026-11-14T09:47:04.000000Z","translation_source":null,"trend_at":null,"promoted_at":null,"reading_time":10,"organization_pinned_at":null,"profile_pin_position":null,"points":0,"views_count":11,"clips_count":0,"comments_count":0,"rated_value":null,"promoted":false,"trending":false,"is_video":false,"thumbnail_url":"https:\/\/images.viblo.asia\/42ae958e-0eac-442d-8112-b2f002b04e99.png","user":{"data":{"id":184801,"url":"https:\/\/viblo.asia\/u\/Tuanhuu1201","avatar":"765295b3-c266-4756-8f0b-6b149861811c.png","name":"Thanh H\u1ea3i Hu\u1ef3nh","username":"Tuanhuu1201","followers_count":1,"reputation":7,"posts_count":26,"banned_at":null,"level_partner":null,"following":false}},"tags":{"data":[{"slug":"htmlcss","name":"HTML\/CSS"}]},"commentators":{"data":[]}},{"id":110619,"title":"[Series 100 B\u00e0i H\u1ecdc HTML\/CSS Th\u1ef1c Chi\u1ebfn - B\u00e0i 23]: Kh\u1edfi \u0110\u1ed9ng Ch\u01b0\u01a1ng 8 \u2014 X\u00e2y D\u1ef1ng Giao Di\u1ec7n Trang Gi\u1ecf H\u00e0ng (Shopping Cart), \u0110\u1ed3ng B\u1ed9 B\u1ea3ng L\u01b0\u1edbi \u0110a Gian H\u00e0ng & B\u00ed Thu\u1eadt L\u00e0m Thanh Thanh To\u00e1n B\u00e1m \u0110\u00e1y (position: sticky; bottom: 0)","slug":"RlL5ebK8LbB","url":"https:\/\/viblo.asia\/p\/series-100-bai-hoc-htmlcss-thuc-chien-bai-23-khoi-dong-chuong-8-xay-dung-giao-dien-trang-gio-hang-shopping-cart-dong-bo-bang-luoi-da-gian-hang-bi-thuat-lam-thanh-thanh-toan-bam-day-position-sticky-bottom-0-RlL5ebK8LbB","user_id":184801,"transliterated":"series-100-bai-hoc-htmlcss-thuc-chien-bai-23-khoi-dong-chuong-8-xay-dung-giao-dien-trang-gio-hang-shopping-cart-dong-bo-bang-luoi-da-gian-hang-bi-thuat-lam-thanh-thanh-toan-bam-day-position-sticky-bottom-0","contents_short":"Ch\u00e0o m\u1eebng anh em ch\u00ednh th\u1ee9c b\u01b0\u1edbc sang Ch\u01b0\u01a1ng 8 v\u1edbi B\u00e0i 23 trong chu\u1ed7i 100 B\u00e0i H\u1ecdc L\u00e0m Ch\u1ee7 HTML\/CSS Qua D\u1ef1 \u00c1n Clone Shopee!\n\n\u1ede Ch\u01b0\u01a1ng 7 (t\u1eeb B\u00e0i 20 \u0111\u1ebfn B\u00e0i 22), ch\u00fang ta \u0111\u00e3 ho\u00e0n thi\u1ec7n tr\u1ecdn v\u1eb9n Trang Chi Ti\u1ebft S\u1ea3n Ph\u1ea9m (PDP). Sau khi kh\u00e1ch h\u00e0ng ch\u1ecdn xong m\u00e0u s\u1eafc b\u00e0n ph\u00edm, \u0111\u1ecdc b\u00ecnh lu\u1eadn 5 sao v\u00e0 b\u1ea5m n\u00fat \"Th\u00eam V\u00e0o Gi\u1ecf H\u00e0ng\", \u0111i\u1ec3m d\u1eebng ch\u00e2n ti\u1ebfp theo tr\u01b0\u1edbc khi r\u00fat h\u1ea7u bao ch\u00ednh l\u00e0 Trang Gi\u1ecf H\u00e0ng (Shop...","published_at":"2026-11-14T07:25:18.000000Z","scheduled_publish_at":null,"is_shared":false,"updated_at":"2026-11-14T18:28:01.000000Z","edited_at":"2026-11-14T07:26:41.000000Z","translation_source":null,"trend_at":null,"promoted_at":null,"reading_time":10,"organization_pinned_at":null,"profile_pin_position":null,"points":0,"views_count":9,"clips_count":0,"comments_count":0,"rated_value":null,"promoted":false,"trending":false,"is_video":false,"thumbnail_url":"https:\/\/images.viblo.asia\/6562787f-bfb0-4448-81ca-43fe994723ef.png","user":{"data":{"id":184801,"url":"https:\/\/viblo.asia\/u\/Tuanhuu1201","avatar":"765295b3-c266-4756-8f0b-6b149861811c.png","name":"Thanh H\u1ea3i Hu\u1ef3nh","username":"Tuanhuu1201","followers_count":1,"reputation":7,"posts_count":26,"banned_at":null,"level_partner":null,"following":false}},"tags":{"data":[{"slug":"htmlcss","name":"HTML\/CSS"}]},"commentators":{"data":[]}},{"id":110618,"title":"[Series 100 B\u00e0i H\u1ecdc HTML\/CSS Th\u1ef1c Chi\u1ebfn - B\u00e0i 22]: X\u00e2y D\u1ef1ng Khu V\u1ef1c \u0110\u00e1nh Gi\u00e1 S\u1ea3n Ph\u1ea9m (Product Ratings & Reviews), B\u1ed9 L\u1ecdc B\u00ecnh Lu\u1eadn \u0110a Tr\u1ea1ng Th\u00e1i & Khung Ph\u1ea3n H\u1ed3i C\u1ee7a Ng\u01b0\u1eddi B\u00e1n","slug":"7Z4DE8l0JnX","url":"https:\/\/viblo.asia\/p\/series-100-bai-hoc-htmlcss-thuc-chien-bai-22-xay-dung-khu-vuc-danh-gia-san-pham-product-ratings-reviews-bo-loc-binh-luan-da-trang-thai-khung-phan-hoi-cua-nguoi-ban-7Z4DE8l0JnX","user_id":184801,"transliterated":"series-100-bai-hoc-htmlcss-thuc-chien-bai-22-xay-dung-khu-vuc-danh-gia-san-pham-product-ratings-reviews-bo-loc-binh-luan-da-trang-thai-khung-phan-hoi-cua-nguoi-ban","contents_short":"Ch\u00e0o m\u1eebng anh em \u0111\u00e3 b\u01b0\u1edbc sang B\u00e0i 22 trong chu\u1ed7i 100 B\u00e0i H\u1ecdc L\u00e0m Ch\u1ee7 HTML\/CSS Qua D\u1ef1 \u00c1n Clone Shopee!\n\n\u1ede B\u00e0i 20 v\u00e0 B\u00e0i 21, ch\u00fang ta \u0111\u00e3 ho\u00e0n th\u00e0nh ph\u1ea7n Ch\u1ecdn mua s\u1ea3n ph\u1ea9m (Product Brief), Khung th\u00f4ng tin Gian h\u00e0ng (Shop Info Bar) v\u00e0 B\u1ea3ng th\u00f4ng s\u1ed1 k\u1ef9 thu\u1eadt (Specifications). H\u00f4m nay, ch\u00fang ta s\u1ebd l\u1eafp gh\u00e9p m\u1ea3nh gh\u00e9p cu\u1ed1i c\u00f9ng \u0111\u1ec3 kh\u00e9p l\u1ea1i tr\u1ecdn v\u1eb9n Ch\u01b0\u01a1ng 7 (Trang Chi Ti\u1ebft S\u1ea3n Ph\u1ea9m):  Khu v\u1ef1c \u0110\u00c1NH GI\u00c1 ...","published_at":"2026-11-14T07:24:32.000000Z","scheduled_publish_at":null,"is_shared":false,"updated_at":"2026-11-14T10:05:02.000000Z","edited_at":"2026-11-14T07:24:32.000000Z","translation_source":null,"trend_at":null,"promoted_at":null,"reading_time":8,"organization_pinned_at":null,"profile_pin_position":null,"points":0,"views_count":8,"clips_count":0,"comments_count":0,"rated_value":null,"promoted":false,"trending":false,"is_video":false,"thumbnail_url":"https:\/\/images.viblo.asia\/ac2094ff-7ae7-436b-831e-7bcc89db70d8.png","user":{"data":{"id":184801,"url":"https:\/\/viblo.asia\/u\/Tuanhuu1201","avatar":"765295b3-c266-4756-8f0b-6b149861811c.png","name":"Thanh H\u1ea3i Hu\u1ef3nh","username":"Tuanhuu1201","followers_count":1,"reputation":7,"posts_count":26,"banned_at":null,"level_partner":null,"following":false}},"tags":{"data":[{"slug":"htmlcss","name":"HTML\/CSS"}]},"commentators":{"data":[]}},{"id":110276,"title":"Joomla B\u00e0i h\u1ecdc 40: Ki\u1ec3m th\u1eed t\u1ef1 \u0111\u1ed9ng, t\u1ed1i \u01b0u h\u00f3a truy v\u1ea5n SQL v\u00e0 \u0111\u00f3ng g\u00f3i ph\u00e2n ph\u1ed1i Custom Component chu\u1ea9n","slug":"wlVmRlel45Z","url":"https:\/\/viblo.asia\/p\/joomla-bai-hoc-40-kiem-thu-tu-dong-toi-uu-hoa-truy-van-sql-va-dong-goi-phan-phoi-custom-component-chuan-wlVmRlel45Z","user_id":182732,"transliterated":"joomla-bai-hoc-40-kiem-thu-tu-dong-toi-uu-hoa-truy-van-sql-va-dong-goi-phan-phoi-custom-component-chuan","contents_short":"Ch\u00fang ta \u0111\u00e3 b\u01b0\u1edbc \u0111\u1ebfn ch\u1eb7ng \u0111\u01b0\u1eddng cu\u1ed1i c\u00f9ng c\u1ee7a chu\u1ed7i 40 b\u00e0i h\u1ecdc l\u1eadp tr\u00ecnh Joomla chuy\u00ean nghi\u1ec7p. T\u1eeb nh\u1eefng kh\u00e1i ni\u1ec7m n\u1ec1n t\u1ea3ng v\u1ec1 c\u1ea5u tr\u00fac CMS \u1edf Ph\u1ea7n 1, v\u1eadn h\u00e0nh & b\u1ea3o m\u1eadt \u1edf Ph\u1ea7n 2, thi\u1ebft k\u1ebf giao di\u1ec7n Template \u1edf Ph\u1ea7n 3, cho \u0111\u1ebfn h\u00e0nh tr\u00ecnh x\u00e2y d\u1ef1ng tr\u1ecdn v\u1eb9n m\u1ed9t Custom Component chu\u1ea9n MVC t\u1eeb con s\u1ed1 0 \u1edf Ph\u1ea7n 4 (Controller, Model, View, Router, Web Services, Events, Tags v\u00e0 Custom Fields).\n\nTrong Joom...","published_at":"2026-11-14T07:21:19.000000Z","scheduled_publish_at":null,"is_shared":false,"updated_at":"2026-11-14T11:00:14.000000Z","edited_at":"2026-11-07T04:25:47.000000Z","translation_source":null,"trend_at":null,"promoted_at":null,"reading_time":4,"organization_pinned_at":null,"profile_pin_position":null,"points":0,"views_count":13,"clips_count":0,"comments_count":0,"rated_value":null,"promoted":false,"trending":false,"is_video":false,"thumbnail_url":"https:\/\/images.viblo.asia\/e9058644-d0b7-4bb4-8561-1e802028c66a.png","user":{"data":{"id":182732,"url":"https:\/\/viblo.asia\/u\/Hieumn","avatar":"b79a0c92-fb82-49df-bda1-2f51c8e45300.jpg","name":"Nguyen Hoang","username":"Hieumn","followers_count":3,"reputation":26,"posts_count":110,"banned_at":null,"level_partner":null,"following":false}},"tags":{"data":[{"slug":"joomla","name":"joomla"}]},"commentators":{"data":[]}},{"id":110275,"title":"Joomla B\u00e0i h\u1ecdc 39: T\u00edch h\u1ee3p h\u1ec7 th\u1ed1ng Tags (Th\u1ebb) v\u00e0 Custom Fields (Tr\u01b0\u1eddng m\u1edf r\u1ed9ng) v\u00e0o Custom Component","slug":"XRJ8RWPdVGq","url":"https:\/\/viblo.asia\/p\/joomla-bai-hoc-39-tich-hop-he-thong-tags-the-va-custom-fields-truong-mo-rong-vao-custom-component-XRJ8RWPdVGq","user_id":182732,"transliterated":"joomla-bai-hoc-39-tich-hop-he-thong-tags-the-va-custom-fields-truong-mo-rong-vao-custom-component","contents_short":"Khi x\u00e2y d\u1ef1ng m\u1ed9t Custom Component chuy\u00ean nghi\u1ec7p, ng\u01b0\u1eddi qu\u1ea3n tr\u1ecb th\u01b0\u1eddng y\u00eau c\u1ea7u hai t\u00ednh n\u0103ng quen thu\u1ed9c c\u00f3 s\u1eb5n tr\u00ean c\u00e1c b\u00e0i vi\u1ebft c\u1ed1t l\u00f5i (com_content):  Tags (H\u1ec7 th\u1ed1ng th\u1ebb ph\u00e2n lo\u1ea1i) v\u00e0 Custom Fields (C\u00e1c tr\u01b0\u1eddng d\u1eef li\u1ec7u m\u1edf r\u1ed9ng \u0111\u1ed9ng). Thay v\u00ec ph\u1ea3i t\u1ef1 l\u1eadp tr\u00ecnh b\u1ea3ng qu\u1ea3n l\u00fd tags v\u00e0 c\u00e1c tr\u01b0\u1eddng nh\u1eadp li\u1ec7u t\u1eeb \u0111\u1ea7u, Joomla 5 cung c\u1ea5p s\u1eb5n c\u00e1c th\u01b0 vi\u1ec7n l\u00f5i t\u00edch h\u1ee3p s\u1eb5n (ContentHelper v\u00e0 FieldsHelper) gi...","published_at":"2026-11-14T07:21:11.000000Z","scheduled_publish_at":null,"is_shared":false,"updated_at":"2026-11-14T10:08:02.000000Z","edited_at":"2026-11-07T04:25:19.000000Z","translation_source":null,"trend_at":null,"promoted_at":null,"reading_time":4,"organization_pinned_at":null,"profile_pin_position":null,"points":0,"views_count":11,"clips_count":0,"comments_count":0,"rated_value":null,"promoted":false,"trending":false,"is_video":false,"thumbnail_url":"https:\/\/images.viblo.asia\/14a67125-632a-4d2f-b79e-473d1b625471.png","user":{"data":{"id":182732,"url":"https:\/\/viblo.asia\/u\/Hieumn","avatar":"b79a0c92-fb82-49df-bda1-2f51c8e45300.jpg","name":"Nguyen Hoang","username":"Hieumn","followers_count":3,"reputation":26,"posts_count":110,"banned_at":null,"level_partner":null,"following":false}},"tags":{"data":[{"slug":"joomla","name":"joomla"}]},"commentators":{"data":[]}},{"id":110274,"title":"Joomla B\u00e0i h\u1ecdc 38: X\u00e2y d\u1ef1ng h\u1ec7 th\u1ed1ng Plugin t\u00edch h\u1ee3p (Plugins v\u00e0 Event Dispatcher) cho Custom Component","slug":"1XVOW06DVMz","url":"https:\/\/viblo.asia\/p\/joomla-bai-hoc-38-xay-dung-he-thong-plugin-tich-hop-plugins-va-event-dispatcher-cho-custom-component-1XVOW06DVMz","user_id":182732,"transliterated":"joomla-bai-hoc-38-xay-dung-he-thong-plugin-tich-hop-plugins-va-event-dispatcher-cho-custom-component","contents_short":"Trong ki\u1ebfn tr\u00fac ph\u1ea7n m\u1ec1m h\u01b0\u1edbng \u0111\u1ed1i t\u01b0\u1ee3ng, m\u1ed9t Custom Component t\u1ed1t kh\u00f4ng ch\u1ec9 ch\u1ea1y \u0111\u1ed9c l\u1eadp m\u00e0 c\u00f2n ph\u1ea3i c\u00f3 kh\u1ea3 n\u0103ng m\u1edf r\u1ed9ng (Extensibility). Gi\u1ed1ng nh\u01b0 c\u00e1ch WordPress c\u00f3 c\u00e1c Hooks hay Laravel c\u00f3 h\u1ec7 th\u1ed1ng Events & Listeners, Joomla s\u1edf h\u1eefu m\u1ed9t c\u01a1 ch\u1ebf qu\u1ea3n l\u00fd s\u1ef1 ki\u1ec7n c\u1ef1c k\u1ef3 m\u1ea1nh m\u1ebd mang t\u00ean Event Dispatcher (d\u1ef1a tr\u00ean chu\u1ea9n Joomla\\Event).\n\nTrong Joomla B\u00e0i h\u1ecdc 38, ch\u00fang ta s\u1ebd h\u1ecdc c\u00e1ch thi\u1ebft k\u1ebf m\u1ed9t Eve...","published_at":"2026-11-14T07:21:05.000000Z","scheduled_publish_at":null,"is_shared":false,"updated_at":"2026-11-14T13:31:02.000000Z","edited_at":"2026-11-07T04:24:47.000000Z","translation_source":null,"trend_at":null,"promoted_at":null,"reading_time":3,"organization_pinned_at":null,"profile_pin_position":null,"points":0,"views_count":10,"clips_count":0,"comments_count":0,"rated_value":null,"promoted":false,"trending":false,"is_video":false,"thumbnail_url":"https:\/\/images.viblo.asia\/6faabc5e-586b-41ab-a7c3-27368f9ce8c6.png","user":{"data":{"id":182732,"url":"https:\/\/viblo.asia\/u\/Hieumn","avatar":"b79a0c92-fb82-49df-bda1-2f51c8e45300.jpg","name":"Nguyen Hoang","username":"Hieumn","followers_count":3,"reputation":26,"posts_count":110,"banned_at":null,"level_partner":null,"following":false}},"tags":{"data":[{"slug":"joomla","name":"joomla"}]},"commentators":{"data":[]}},{"id":110273,"title":"Joomla B\u00e0i h\u1ecdc 37: X\u00e2y d\u1ef1ng h\u1ec7 th\u1ed1ng Web Services (RESTful APIs) cho Custom Component","slug":"R5JRQW9p4Gv","url":"https:\/\/viblo.asia\/p\/joomla-bai-hoc-37-xay-dung-he-thong-web-services-restful-apis-cho-custom-component-R5JRQW9p4Gv","user_id":182732,"transliterated":"joomla-bai-hoc-37-xay-dung-he-thong-web-services-restful-apis-cho-custom-component","contents_short":"Trong c\u00e1c h\u1ec7 th\u1ed1ng ph\u1ea7n m\u1ec1m hi\u1ec7n \u0111\u1ea1i, m\u1ed9t Custom Component kh\u00f4ng ch\u1ec9 ph\u1ee5c v\u1ee5 giao di\u1ec7n HTML hi\u1ec3n th\u1ecb tr\u00ean tr\u00ecnh duy\u1ec7t, m\u00e0 c\u00f2n ph\u1ea3i cung c\u1ea5p c\u00e1c giao di\u1ec7n l\u1eadp tr\u00ecnh \u1ee9ng d\u1ee5ng (APIs) \u0111\u1ec3 t\u00edch h\u1ee3p v\u1edbi Mobile App (Flutter\/React Native), Single Page App (React\/Vue.js) ho\u1eb7c giao ti\u1ebfp v\u1edbi c\u00e1c microservices kh\u00e1c qua HTTP.\n\nB\u1eaft \u0111\u1ea7u t\u1eeb phi\u00ean b\u1ea3n Joomla 4 v\u00e0 \u0111\u01b0\u1ee3c t\u1ed1i \u01b0u h\u00f3a m\u1ea1nh m\u1ebd tr\u00ean Joomla 5, h\u1ec7 th\u1ed1ng t...","published_at":"2026-11-14T07:20:58.000000Z","scheduled_publish_at":null,"is_shared":false,"updated_at":"2026-11-14T20:20:02.000000Z","edited_at":"2026-11-07T04:24:26.000000Z","translation_source":null,"trend_at":null,"promoted_at":null,"reading_time":4,"organization_pinned_at":null,"profile_pin_position":null,"points":0,"views_count":13,"clips_count":0,"comments_count":0,"rated_value":null,"promoted":false,"trending":false,"is_video":false,"thumbnail_url":"https:\/\/images.viblo.asia\/dd3fd80f-feb3-4961-b181-cc660a27238f.png","user":{"data":{"id":182732,"url":"https:\/\/viblo.asia\/u\/Hieumn","avatar":"b79a0c92-fb82-49df-bda1-2f51c8e45300.jpg","name":"Nguyen Hoang","username":"Hieumn","followers_count":3,"reputation":26,"posts_count":110,"banned_at":null,"level_partner":null,"following":false}},"tags":{"data":[{"slug":"joomla","name":"joomla"}]},"commentators":{"data":[]}},{"id":110580,"title":"GitKraken Desktop (UI) B\u00e0i h\u1ecdc 3: Qu\u1ea3n l\u00fd Multiple Profiles \u2014 T\u00e1ch bi\u1ec7t ho\u00e0n to\u00e0n t\u00e0i kho\u1ea3n C\u00f4ng ty v\u00e0 C\u00e1 nh\u00e2n ch\u1ec9 v\u1edbi 1 c\u00fa click","slug":"bNVQGk9BJvR","url":"https:\/\/viblo.asia\/p\/gitkraken-desktop-ui-bai-hoc-3-quan-ly-multiple-profiles-tach-biet-hoan-toan-tai-khoan-cong-ty-va-ca-nhan-chi-voi-1-cu-click-bNVQGk9BJvR","user_id":185793,"transliterated":"gitkraken-desktop-ui-bai-hoc-3-quan-ly-multiple-profiles-tach-biet-hoan-toan-tai-khoan-cong-ty-va-ca-nhan-chi-voi-1-cu-click","contents_short":"N\u1ebfu b\u1ea1n v\u1eeba l\u00e0m vi\u1ec7c t\u1ea1i c\u00f4ng ty (s\u1eed d\u1ee5ng t\u00e0i kho\u1ea3n GitLab\/Bitbucket n\u1ed9i b\u1ed9 v\u1edbi email doanh nghi\u1ec7p), v\u1eeba duy tr\u00ec c\u00e1c d\u1ef1 \u00e1n c\u00e1 nh\u00e2n ho\u1eb7c freelance tr\u00ean GitHub (s\u1eed d\u1ee5ng email ri\u00eang), ch\u1eafc h\u1eb3n b\u1ea1n \u0111\u00e3 \u00edt nh\u1ea5t m\u1ed9t l\u1ea7n r\u01a1i v\u00e0o t\u00ecnh hu\u1ed1ng d\u1edf kh\u00f3c d\u1edf c\u01b0\u1eddi:  L\u1ee1 tay d\u00f9ng email c\u00e1 nh\u00e2n \u0111\u1ec3 commit v\u00e0o kho code c\u1ee7a c\u00f4ng ty, ho\u1eb7c \u0111\u1ea9y h\u00e0ng ch\u1ee5c commit l\u00ean GitHub nh\u01b0ng b\u1ea3ng \u0111\u00f3ng g\u00f3p (Contribution Graph) kh\u00f4ng h...","published_at":"2026-11-14T07:19:43.000000Z","scheduled_publish_at":null,"is_shared":false,"updated_at":"2026-11-14T17:00:37.000000Z","edited_at":"2026-11-13T14:13:31.000000Z","translation_source":null,"trend_at":null,"promoted_at":null,"reading_time":8,"organization_pinned_at":null,"profile_pin_position":null,"points":0,"views_count":18,"clips_count":0,"comments_count":0,"rated_value":null,"promoted":false,"trending":false,"is_video":false,"thumbnail_url":"https:\/\/images.viblo.asia\/a274b6ec-5368-43cb-a31b-4c618cfa8d87.png","user":{"data":{"id":185793,"url":"https:\/\/viblo.asia\/u\/hathile","avatar":"64404ff7-9c38-4ff9-a0af-c4aec09af8b9.gif","name":"HUy Ho\u00e0ng","username":"hathile","followers_count":13,"reputation":140,"posts_count":151,"banned_at":null,"level_partner":null,"following":false}},"tags":{"data":[{"slug":"desktop","name":"desktop"}]},"commentators":{"data":[]}},{"id":110617,"title":"[Series 100 B\u00e0i H\u1ecdc HTML\/CSS Th\u1ef1c Chi\u1ebfn - B\u00e0i 21]: X\u00e2y D\u1ef1ng Khung Th\u00f4ng Tin Gian H\u00e0ng (Shop Info Bar), Avatar \u0110\u00ednh Huy Hi\u1ec7u & B\u1ea3ng Th\u00f4ng S\u1ed1 K\u1ef9 Thu\u1eadt (Product Specifications)","slug":"yZJZlGplVjm","url":"https:\/\/viblo.asia\/p\/series-100-bai-hoc-htmlcss-thuc-chien-bai-21-xay-dung-khung-thong-tin-gian-hang-shop-info-bar-avatar-dinh-huy-hieu-bang-thong-so-ky-thuat-product-specifications-yZJZlGplVjm","user_id":184801,"transliterated":"series-100-bai-hoc-htmlcss-thuc-chien-bai-21-xay-dung-khung-thong-tin-gian-hang-shop-info-bar-avatar-dinh-huy-hieu-bang-thong-so-ky-thuat-product-specifications","contents_short":"Ch\u00e0o m\u1eebng anh em \u0111\u00e3 b\u01b0\u1edbc sang B\u00e0i 21 trong chu\u1ed7i 100 B\u00e0i H\u1ecdc L\u00e0m Ch\u1ee7 HTML\/CSS Qua D\u1ef1 \u00c1n Clone Shopee!\n\n\u1ede B\u00e0i 20, ch\u00fang ta \u0111\u00e3 d\u1ef1ng xong kh\u1ed1i \u0111\u1ea7u ti\u00ean c\u1ee7a trang Chi Ti\u1ebft S\u1ea3n Ph\u1ea9m (Product Brief) g\u1ed3m Th\u01b0 vi\u1ec7n \u1ea3nh, ch\u1ecdn M\u00e0u s\u1eafc c\u00f3 g\u00f3c t\u00edch 3D v\u00e0 c\u1ee5m n\u00fat Th\u00eam V\u00e0o Gi\u1ecf H\u00e0ng \/ Mua Ngay. Tuy nhi\u00ean, tr\u01b0\u1edbc khi xu\u1ed1ng ti\u1ec1n mua m\u1ed9t m\u00f3n \u0111\u1ed3 c\u00f4ng ngh\u1ec7 \u0111\u1eaft ti\u1ec1n tr\u00ean m\u1ea1ng, kh\u00e1ch h\u00e0ng lu\u00f4n c\u00f3 th\u00f3i quen cu\u1ed9n xu\u1ed1ng ...","published_at":"2026-11-14T07:03:22.000000Z","scheduled_publish_at":null,"is_shared":false,"updated_at":"2026-11-14T15:32:03.000000Z","edited_at":"2026-11-14T07:03:22.000000Z","translation_source":null,"trend_at":null,"promoted_at":null,"reading_time":10,"organization_pinned_at":null,"profile_pin_position":null,"points":0,"views_count":16,"clips_count":0,"comments_count":0,"rated_value":null,"promoted":false,"trending":false,"is_video":false,"thumbnail_url":"https:\/\/images.viblo.asia\/2231ad8a-b62a-40ef-a38b-84a67b7dc16a.png","user":{"data":{"id":184801,"url":"https:\/\/viblo.asia\/u\/Tuanhuu1201","avatar":"765295b3-c266-4756-8f0b-6b149861811c.png","name":"Thanh H\u1ea3i Hu\u1ef3nh","username":"Tuanhuu1201","followers_count":1,"reputation":7,"posts_count":26,"banned_at":null,"level_partner":null,"following":false}},"tags":{"data":[{"slug":"htmlcss","name":"HTML\/CSS"}]},"commentators":{"data":[]}},{"id":110616,"title":"[Series 100 B\u00e0i H\u1ecdc HTML\/CSS Th\u1ef1c Chi\u1ebfn - B\u00e0i 20]: Kh\u1edfi \u0110\u1ed9ng Ch\u01b0\u01a1ng 7 \u2014 Gi\u1ea3i Ph\u1eabu Trang Chi Ti\u1ebft S\u1ea3n Ph\u1ea9m (Product Detail Page), Ch\u1ecdn Ph\u00e2n Lo\u1ea1i H\u00e0ng C\u00f3 G\u00f3c T\u00edch 3D & B\u1ed9 T\u0103ng Gi\u1ea3m S\u1ed1 L\u01b0\u1ee3ng","slug":"OQJwzvXg4MP","url":"https:\/\/viblo.asia\/p\/series-100-bai-hoc-htmlcss-thuc-chien-bai-20-khoi-dong-chuong-7-giai-phau-trang-chi-tiet-san-pham-product-detail-page-chon-phan-loai-hang-co-goc-tich-3d-bo-tang-giam-so-luong-OQJwzvXg4MP","user_id":184801,"transliterated":"series-100-bai-hoc-htmlcss-thuc-chien-bai-20-khoi-dong-chuong-7-giai-phau-trang-chi-tiet-san-pham-product-detail-page-chon-phan-loai-hang-co-goc-tich-3d-bo-tang-giam-so-luong","contents_short":"Ch\u00e0o m\u1eebng anh em \u0111\u00e3 ch\u1ea1m t\u1edbi c\u1ed9t m\u1ed1c B\u00e0i 20 (ho\u00e0n th\u00e0nh  ch\u1eb7ng \u0111\u01b0\u1eddng!) trong chu\u1ed7i 100 B\u00e0i H\u1ecdc L\u00e0m Ch\u1ee7 HTML\/CSS Qua D\u1ef1 \u00c1n Clone Shopee!\n\n\u1ede Ch\u01b0\u01a1ng 6 (B\u00e0i 18 \u2013 19), ch\u00fang ta \u0111\u00e3 ho\u00e0n th\u00e0nh giao di\u1ec7n Trang Danh M\u1ee5c & T\u00ecm Ki\u1ebfm S\u1ea3n Ph\u1ea9m. V\u1eady \u0111i\u1ec1u g\u00ec x\u1ea3y ra ti\u1ebfp theo khi kh\u00e1ch h\u00e0ng \u01b0ng \u00fd m\u1ed9t chi\u1ebfc B\u00e0n ph\u00edm c\u01a1 hay MacBook v\u00e0 click chu\u1ed9t v\u00e0o th\u1ebb s\u1ea3n ph\u1ea9m \u0111\u00f3? H\u1ecd s\u1ebd \u0111\u01b0\u1ee3c \u0111\u01b0a t\u1edbi \"ph\u00f2ng ch\u1ed1t \u0111\u01a1n\" quan tr\u1ecdn...","published_at":"2026-11-14T07:01:20.000000Z","scheduled_publish_at":null,"is_shared":false,"updated_at":"2026-11-14T09:28:02.000000Z","edited_at":"2026-11-14T07:01:19.000000Z","translation_source":null,"trend_at":null,"promoted_at":null,"reading_time":10,"organization_pinned_at":null,"profile_pin_position":null,"points":0,"views_count":9,"clips_count":0,"comments_count":0,"rated_value":null,"promoted":false,"trending":false,"is_video":false,"thumbnail_url":"https:\/\/images.viblo.asia\/4a0b3923-41c8-4c74-b88e-e81f2dd3be20.png","user":{"data":{"id":184801,"url":"https:\/\/viblo.asia\/u\/Tuanhuu1201","avatar":"765295b3-c266-4756-8f0b-6b149861811c.png","name":"Thanh H\u1ea3i Hu\u1ef3nh","username":"Tuanhuu1201","followers_count":1,"reputation":7,"posts_count":26,"banned_at":null,"level_partner":null,"following":false}},"tags":{"data":[{"slug":"htmlcss","name":"HTML\/CSS"}]},"commentators":{"data":[]}}],"meta":{"pagination":{"total":48194,"count":20,"per_page":20,"current_page":1,"total_pages":2410,"links":{"next":"http:\/\/viblo.asia\/posts\/newest?page=2"}}}}