{"data":[{"id":93982,"title":"C\u00e2n B\u1eb1ng T\u1ea3i (Load Balancing) L\u00e0 G\u00ec? T\u1ea1i Sao H\u1ec7 Th\u1ed1ng L\u1edbn B\u1eaft Bu\u1ed9c Ph\u1ea3i C\u00f3","slug":"ym4007Mo491","url":"https:\/\/viblo.asia\/p\/can-bang-tai-load-balancing-la-gi-tai-sao-he-thong-lon-bat-buoc-phai-co-ym4007Mo491","user_id":39706,"transliterated":"can-bang-tai-load-balancing-la-gi-tai-sao-he-thong-lon-bat-buoc-phai-co","contents_short":"Trong c\u00e1c h\u1ec7 th\u1ed1ng hi\u1ec7n \u0111\u1ea1i nh\u01b0 Facebook, Shopee, TikTok hay c\u00e1c n\u1ec1n t\u1ea3ng SaaS, h\u00e0ng ngh\u00ecn \u0111\u1ebfn h\u00e0ng tri\u1ec7u request c\u00f3 th\u1ec3 \u0111\u01b0\u1ee3c g\u1eedi \u0111\u1ebfn server m\u1ed7i ph\u00fat. N\u1ebfu to\u00e0n b\u1ed9 request \u0111\u1ec1u \u0111\u1ed5 v\u00e0o m\u1ed9t m\u00e1y ch\u1ee7 duy nh\u1ea5t, h\u1ec7 th\u1ed1ng s\u1ebd nhanh ch\u00f3ng b\u1ecb qu\u00e1 t\u1ea3i.\n\n\u0110\u00e2y l\u00e0 l\u00fac c\u00e2n b\u1eb1ng t\u1ea3i (Load Balancing) tr\u1edf th\u00e0nh m\u1ed9t th\u00e0nh ph\u1ea7n c\u1ef1c k\u1ef3 quan tr\u1ecdng.\n\nC\u00e2n B\u1eb1ng T\u1ea3i L\u00e0 G\u00ec?\nC\u00e2n b\u1eb1ng t\u1ea3i (Load Balancing) l\u00e0 k\u1ef9 thu\u1eadt ph\u00e2n ph\u1ed1...","published_at":"2026-05-06T02:06:42.000000Z","scheduled_publish_at":null,"is_shared":false,"updated_at":"2026-05-07T03:34:02.000000Z","edited_at":"2026-05-06T02:05:40.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":38,"clips_count":0,"comments_count":0,"rated_value":null,"promoted":false,"trending":false,"is_video":false,"thumbnail_url":"https:\/\/images.viblo.asia\/c9662375-3498-4975-9b01-0d133cf501e7.png","user":{"data":{"id":39706,"url":"https:\/\/viblo.asia\/u\/hoaiphan","avatar":"28c4b9ec-0b8e-426a-a0df-95cd667b2b5d.jpg","name":"Ho\u00e0i Long","username":"hoaiphan","followers_count":14,"reputation":495,"posts_count":23,"banned_at":null,"level_partner":null,"following":false}},"tags":{"data":[{"slug":"load-balancing","name":"Load Balancing"},{"slug":"mayfest2026","name":"MayFest2026"},{"slug":"nginx","name":"nginx"}]},"commentators":{"data":[]}},{"id":93945,"title":"Repaint v\u00e0 Reflow - th\u1ee3 s\u01a1n v\u00e0 k\u1ef9 s\u01b0 x\u00e2y d\u1ef1ng","slug":"pPLkN3EZJRZ","url":"https:\/\/viblo.asia\/p\/repaint-va-reflow-tho-son-va-ky-su-xay-dung-pPLkN3EZJRZ","user_id":73731,"transliterated":"repaint-va-reflow-tho-son-va-ky-su-xay-dung","contents_short":"Trong ph\u00e1t tri\u1ec3n web hi\u1ec7n \u0111\u1ea1i, vi\u1ec7c t\u1ea1o ra tr\u1ea3i nghi\u1ec7m ng\u01b0\u1eddi d\u00f9ng m\u01b0\u1ee3t m\u00e0 kh\u00f4ng ch\u1ec9 ph\u1ee5 thu\u1ed9c v\u00e0o t\u1ed1c \u0111\u1ed9 t\u1ea3i trang m\u00e0 c\u00f2n n\u1eb1m \u1edf c\u00e1ch tr\u00ecnh duy\u1ec7t render (hi\u1ec3n th\u1ecb) n\u1ed9i dung. Hai trong s\u1ed1 c\u00e1c y\u1ebfu t\u1ed1 k\u1ef9 thu\u1eadt \u1ea3nh h\u01b0\u1edfng tr\u1ef1c ti\u1ebfp \u0111\u1ebfn \u0111i\u1ec1u n\u00e0y l\u00e0 Repaint v\u00e0 Reflow.\n\nRepaint - th\u1ee3 s\u01a1n c\u1ea7n m\u1eabn\nRepaint x\u1ea3y ra khi b\u1ea1n thay \u0111\u1ed5i c\u00e1c thu\u1ed9c t\u00ednh \u1ea3nh h\u01b0\u1edfng \u0111\u1ebfn giao di\u1ec7n tr\u1ef1c quan nh\u01b0ng kh\u00f4ng thay \u0111\u1ed5i b\u1ed1 c\u1ee5c....","published_at":"2026-05-06T01:00:00.000000Z","scheduled_publish_at":null,"is_shared":false,"updated_at":"2026-05-07T03:00:06.000000Z","edited_at":"2026-05-05T06:53:52.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":32,"clips_count":0,"comments_count":0,"rated_value":null,"promoted":false,"trending":false,"is_video":false,"thumbnail_url":"https:\/\/images.viblo.asia\/095b7605-ef6d-4f75-9ad7-3eb88fbf3c68.png","user":{"data":{"id":73731,"url":"https:\/\/viblo.asia\/u\/mysun","avatar":"0373b7d4-300c-4663-9fe9-a772b852eb28.jpg","name":"Nguy\u1ec5n V\u0103n Kh\u1ea3i","username":"mysun","followers_count":1,"reputation":49,"posts_count":9,"banned_at":null,"level_partner":null,"following":false}},"tags":{"data":[{"slug":"advanced-javascript","name":"Advanced JavaScript"},{"slug":"frontend","name":"frontend"},{"slug":"mayfest2026","name":"MayFest2026"},{"slug":"optimize","name":"optimize"},{"slug":"uiux","name":"uiux"}]},"commentators":{"data":[]}},{"id":93981,"title":"Ph\u00e2n quy\u1ec1n User\/Admin chu\u1ea9n Enterprise: T\u1eeb b\u1ecf if\/else, l\u00e0m ch\u1ee7 Spatie v\u00e0 PHP Enums","slug":"AY4qQd6D4Pw","url":"https:\/\/viblo.asia\/p\/phan-quyen-useradmin-chuan-enterprise-tu-bo-ifelse-lam-chu-spatie-va-php-enums-AY4qQd6D4Pw","user_id":182653,"transliterated":"phan-quyen-useradmin-chuan-enterprise-tu-bo-ifelse-lam-chu-spatie-va-php-enums","contents_short":"Nhi\u1ec1u anh em Junior th\u01b0\u1eddng gi\u1ea3i quy\u1ebft b\u00e0i to\u00e1n ph\u00e2n quy\u1ec1n b\u1eb1ng c\u00e1ch th\u00eam m\u1ed9t c\u1ed9t is_admin (boolean) ho\u1eb7c role (string 'admin', 'user') v\u00e0o b\u1ea3ng users. Trong code th\u00ec r\u1ea3i \u0111\u1ea7y r\u1eaby c\u00e1c c\u00e2u l\u1ec7nh if ($user->role == 'admin').\n\nT\u1ea1i sao c\u00e1ch n\u00e0y l\u00e0 \"T\u1ed9i \u00e1c\" \u1edf c\u00e1c d\u1ef1 \u00e1n Enterprise?\nV\u00ec h\u1ec7 th\u1ed1ng kh\u00f4ng bao gi\u1edd ch\u1ec9 c\u00f3 2 role. M\u1ed9t ng\u00e0y \u0111\u1eb9p tr\u1eddi s\u1ebfp b\u1ea3o: \"Th\u00eam cho anh role Manager (Qu\u1ea3n l\u00fd), role Editor (Ng\u01b0\u1edd...","published_at":"2026-05-06T00:31:56.000000Z","scheduled_publish_at":null,"is_shared":false,"updated_at":"2026-05-07T03:00:06.000000Z","edited_at":"2026-05-06T00:37:36.000000Z","translation_source":null,"trend_at":null,"promoted_at":null,"reading_time":5,"organization_pinned_at":null,"profile_pin_position":null,"points":1,"views_count":37,"clips_count":0,"comments_count":1,"rated_value":null,"promoted":false,"trending":false,"is_video":false,"thumbnail_url":"https:\/\/images.viblo.asia\/8eddb07a-1b88-4a83-a81c-9b4914fe5495.png","user":{"data":{"id":182653,"url":"https:\/\/viblo.asia\/u\/hhoang","avatar":"15b74a7e-16dd-435c-b375-62f02864e065.jpg","name":"Nguy\u1ec5n Huy Ho\u00e0ng","username":"hhoang","followers_count":89,"reputation":6078,"posts_count":435,"banned_at":null,"level_partner":null,"following":false}},"tags":{"data":[{"slug":"mayfest2026","name":"MayFest2026"},{"slug":"authorization","name":"authorization"},{"slug":"backend","name":"Backend"},{"slug":"cai-dat-laravel","name":"c\u00e0i \u0111\u1eb7t laravel"},{"slug":"enterprise","name":"Enterprise"}]},"commentators":{"data":[{"id":182653,"url":"https:\/\/viblo.asia\/u\/hhoang","avatar":"15b74a7e-16dd-435c-b375-62f02864e065.jpg","name":"Nguy\u1ec5n Huy Ho\u00e0ng","username":"hhoang","followers_count":0,"reputation":0,"posts_count":0,"banned_at":null,"level_partner":null}]}},{"id":93979,"title":"[Open Source] #249 - yt-browse: Tr\u00ecnh duy\u1ec7t n\u1ed9i dung YouTube Terminal (TUI) chuy\u00ean s\u00e2u v\u1edbi ki\u1ebfn tr\u00fac Go, c\u01a1 ch\u1ebf Pipelined Fetching v\u00e0 b\u1ed9 l\u1ecdc d\u1eef li\u1ec7u th\u00f4ng minh","slug":"3RL1BY7PVao","url":"https:\/\/viblo.asia\/p\/open-source-249-yt-browse-trinh-duyet-noi-dung-youtube-terminal-tui-chuyen-sau-voi-kien-truc-go-co-che-pipelined-fetching-va-bo-loc-du-lieu-thong-minh-3RL1BY7PVao","user_id":183485,"transliterated":"open-source-249-yt-browse-trinh-duyet-noi-dung-youtube-terminal-tui-chuyen-sau-voi-kien-truc-go-co-che-pipelined-fetching-va-bo-loc-du-lieu-thong-minh","contents_short":"Vi\u1ec7c t\u00ecm ki\u1ebfm v\u00e0 duy\u1ec7t n\u1ed9i dung tr\u00ean giao di\u1ec7n Web c\u1ee7a YouTube th\u01b0\u1eddng g\u1eb7p nhi\u1ec1u xao nh\u00e3ng v\u00e0 gi\u1edbi h\u1ea1n v\u1ec1 kh\u1ea3 n\u0103ng l\u1ecdc d\u1eef li\u1ec7u n\u00e2ng cao. yt-browse ra \u0111\u1eddi nh\u01b0 m\u1ed9t gi\u1ea3i ph\u00e1p \"YouTube cho Power Users\", cho ph\u00e9p ng\u01b0\u1eddi d\u00f9ng kh\u00e1m ph\u00e1 to\u00e0n b\u1ed9 kho video, danh s\u00e1ch ph\u00e1t c\u1ee7a b\u1ea5t k\u1ef3 k\u00eanh n\u00e0o ngay trong Terminal. V\u1edbi t\u1ed1c \u0111\u1ed9 ph\u1ea3n h\u1ed3i c\u1ef1c nhanh, kh\u1ea3 n\u0103ng t\u00ecm ki\u1ebfm m\u1edd (fuzzy search) v\u00e0 l\u1ecdc theo th\u1eddi gian th\u1ef1c (...","published_at":"2026-05-05T23:06:56.000000Z","scheduled_publish_at":null,"is_shared":false,"updated_at":"2026-05-07T03:17:02.000000Z","edited_at":"2026-05-05T23:06:56.000000Z","translation_source":null,"trend_at":null,"promoted_at":null,"reading_time":6,"organization_pinned_at":null,"profile_pin_position":null,"points":0,"views_count":23,"clips_count":0,"comments_count":0,"rated_value":null,"promoted":false,"trending":false,"is_video":false,"thumbnail_url":"https:\/\/images.viblo.asia\/8279160a-e3e8-4d29-ab41-868f916b82b6.png","user":{"data":{"id":183485,"url":"https:\/\/viblo.asia\/u\/PTTGoat","avatar":"b180935b-95f1-43f2-8e59-ce89d4745975.jpg","name":"Trung t\u00edn Ph\u1ea1m","username":"PTTGoat","followers_count":19,"reputation":371,"posts_count":256,"banned_at":null,"level_partner":null,"following":false}},"tags":{"data":[{"slug":"opensource","name":"OpenSource"},{"slug":"terminal","name":"Terminal"},{"slug":"metadata","name":"metadata"}]},"commentators":{"data":[]}},{"id":93978,"title":"[Open Source] #248 - xyOps\u2122: H\u1ec7 th\u1ed1ng \u0111i\u1ec1u ph\u1ed1i v\u1eadn h\u00e0nh (Orchestration) t\u00edch h\u1ee3p v\u1edbi ki\u1ebfn tr\u00fac Conductor-Satellite, PixlCore v\u00e0 c\u01a1 ch\u1ebf Self-healing th\u00f4ng minh","slug":"AoJe8zok41j","url":"https:\/\/viblo.asia\/p\/open-source-248-xyops-he-thong-dieu-phoi-van-hanh-orchestration-tich-hop-voi-kien-truc-conductor-satellite-pixlcore-va-co-che-self-healing-thong-minh-AoJe8zok41j","user_id":183485,"transliterated":"open-source-248-xyops-he-thong-dieu-phoi-van-hanh-orchestration-tich-hop-voi-kien-truc-conductor-satellite-pixlcore-va-co-che-self-healing-thong-minh","contents_short":"Trong th\u1ebf gi\u1edbi qu\u1ea3n tr\u1ecb h\u1ea1 t\u1ea7ng, vi\u1ec7c ph\u1ea3i duy tr\u00ec r\u1eddi r\u1ea1c c\u00e1c c\u00f4ng c\u1ee5: Cron (l\u1eadp l\u1ecbch), Zabbix (gi\u00e1m s\u00e1t) v\u00e0 Jenkins (th\u1ef1c thi) th\u01b0\u1eddng d\u1eabn \u0111\u1ebfn t\u00ecnh tr\u1ea1ng \"\u1ed1c \u0111\u1ea3o d\u1eef li\u1ec7u\" v\u00e0 \u0111\u1ed9 tr\u1ec5 trong ph\u1ea3n \u1ee9ng s\u1ef1 c\u1ed1. xyOps\u2122 (ng\u01b0\u1eddi k\u1ebf nhi\u1ec7m ch\u00ednh th\u1ee9c c\u1ee7a Cronicle) ra \u0111\u1eddi nh\u01b0 m\u1ed9t n\u1ec1n t\u1ea3ng All-in-one \u0111\u1ed9t ph\u00e1, h\u1ee3p nh\u1ea5t ho\u00e0n to\u00e0n vi\u1ec7c gi\u00e1m s\u00e1t t\u00e0i nguy\u00ean, l\u1eadp l\u1ecbch t\u00e1c v\u1ee5 v\u00e0 \u0111i\u1ec1u ph\u1ed1i lu\u1ed3ng c\u00f4ng vi\u1ec7c (Workflow) ...","published_at":"2026-05-05T22:57:10.000000Z","scheduled_publish_at":null,"is_shared":false,"updated_at":"2026-05-06T11:51:01.000000Z","edited_at":"2026-05-05T22:57:10.000000Z","translation_source":null,"trend_at":null,"promoted_at":null,"reading_time":6,"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\/1c932e2e-87b5-48b8-b2d0-8926f93d0146.png","user":{"data":{"id":183485,"url":"https:\/\/viblo.asia\/u\/PTTGoat","avatar":"b180935b-95f1-43f2-8e59-ce89d4745975.jpg","name":"Trung t\u00edn Ph\u1ea1m","username":"PTTGoat","followers_count":19,"reputation":371,"posts_count":256,"banned_at":null,"level_partner":null,"following":false}},"tags":{"data":[{"slug":"opensource","name":"OpenSource"},{"slug":"self-host","name":"Self-host"},{"slug":"sre","name":"sre"}]},"commentators":{"data":[]}},{"id":93977,"title":"[Open Source] #247 - catpaw: Agent gi\u00e1m s\u00e1t \"Virtual SRE\" v\u1edbi ki\u1ebfn tr\u00fac Go, c\u01a1 ch\u1ebf AI Tool-calling v\u00e0 giao th\u1ee9c \u0111i\u1ec1u ph\u1ed1i tri th\u1ee9c MCP","slug":"k74a9g3D4eO","url":"https:\/\/viblo.asia\/p\/open-source-247-catpaw-agent-giam-sat-virtual-sre-voi-kien-truc-go-co-che-ai-tool-calling-va-giao-thuc-dieu-phoi-tri-thuc-mcp-k74a9g3D4eO","user_id":183485,"transliterated":"open-source-247-catpaw-agent-giam-sat-virtual-sre-voi-kien-truc-go-co-che-ai-tool-calling-va-giao-thuc-dieu-phoi-tri-thuc-mcp","contents_short":"Trong qu\u1ea3n tr\u1ecb h\u1ea1 t\u1ea7ng quy m\u00f4 l\u1edbn, vi\u1ec7c nh\u1eadn c\u1ea3nh b\u00e1o (Alerting) ch\u1ec9 l\u00e0 b\u01b0\u1edbc kh\u1edfi \u0111\u1ea7u; c\u00f4ng vi\u1ec7c ti\u00eau t\u1ed1n nhi\u1ec1u th\u1eddi gian nh\u1ea5t c\u1ee7a k\u1ef9 s\u01b0 SRE ch\u00ednh l\u00e0 ph\u00e2n t\u00edch nguy\u00ean nh\u00e2n g\u1ed1c (Root Cause Analysis - RCA). catpaw ra \u0111\u1eddi nh\u01b0 m\u1ed9t cu\u1ed9c c\u00e1ch m\u1ea1ng trong l\u0129nh v\u1ef1c gi\u00e1m s\u00e1t, k\u1ebft h\u1ee3p gi\u1eefa c\u00e1c b\u1ed9 l\u1ecdc truy\u1ec1n th\u1ed1ng b\u1ec1n b\u1ec9 c\u1ee7a Go v\u00e0 kh\u1ea3 n\u0103ng suy lu\u1eadn s\u1eafc b\u00e9n c\u1ee7a AI. Thay v\u00ec ch\u1ec9 g\u1eedi v\u1ec1 m\u1ed9t d\u00f2ng th\u00f4ng b\u00e1o kh\u00f4 ...","published_at":"2026-05-05T22:51:19.000000Z","scheduled_publish_at":null,"is_shared":false,"updated_at":"2026-05-07T03:00:06.000000Z","edited_at":"2026-05-05T22:51:18.000000Z","translation_source":null,"trend_at":null,"promoted_at":null,"reading_time":6,"organization_pinned_at":null,"profile_pin_position":null,"points":0,"views_count":12,"clips_count":0,"comments_count":0,"rated_value":null,"promoted":false,"trending":false,"is_video":false,"thumbnail_url":"https:\/\/images.viblo.asia\/e9baf560-6648-4d47-9e49-eff328e30b8b.png","user":{"data":{"id":183485,"url":"https:\/\/viblo.asia\/u\/PTTGoat","avatar":"b180935b-95f1-43f2-8e59-ce89d4745975.jpg","name":"Trung t\u00edn Ph\u1ea1m","username":"PTTGoat","followers_count":19,"reputation":371,"posts_count":256,"banned_at":null,"level_partner":null,"following":false}},"tags":{"data":[{"slug":"opensource","name":"OpenSource"},{"slug":"llm","name":"LLM"},{"slug":"sre","name":"sre"}]},"commentators":{"data":[]}},{"id":93976,"title":"[Open Source] #246 - Wails: Framework x\u00e2y d\u1ef1ng \u1ee9ng d\u1ee5ng Desktop v\u1edbi Go, ki\u1ebfn tr\u00fac Native WebView v\u00e0 c\u01a1 ch\u1ebf Binding m\u01b0\u1ee3t m\u00e0 gi\u1eefa Go v\u00e0 JavaScript","slug":"wlVmRwvg45Z","url":"https:\/\/viblo.asia\/p\/open-source-246-wails-framework-xay-dung-ung-dung-desktop-voi-go-kien-truc-native-webview-va-co-che-binding-muot-ma-giua-go-va-javascript-wlVmRwvg45Z","user_id":183485,"transliterated":"open-source-246-wails-framework-xay-dung-ung-dung-desktop-voi-go-kien-truc-native-webview-va-co-che-binding-muot-ma-giua-go-va-javascript","contents_short":"Vi\u1ec7c x\u00e2y d\u1ef1ng \u1ee9ng d\u1ee5ng Desktop t\u1eeb l\u00e2u \u0111\u00e3 b\u1ecb chia l\u00e0m hai th\u00e1i c\u1ef1c: S\u1eed d\u1ee5ng ng\u00f4n ng\u1eef h\u1ec7 th\u1ed1ng (C++, Rust, Go) cho hi\u1ec7u n\u0103ng cao nh\u01b0ng giao di\u1ec7n kh\u00f3 t\u00f9y bi\u1ebfn, ho\u1eb7c s\u1eed d\u1ee5ng Electron (JavaScript) cho giao di\u1ec7n \u0111\u1eb9p nh\u01b0ng \"ng\u1ed1n\" RAM v\u00e0 dung l\u01b0\u1ee3ng file c\u00e0i \u0111\u1eb7t kh\u1ed5ng l\u1ed3. Wails ra \u0111\u1eddi nh\u01b0 m\u1ed9t l\u1eddi gi\u1ea3i ho\u00e0n h\u1ea3o, k\u1ebft h\u1ee3p s\u1ee9c m\u1ea1nh x\u1eed l\u00fd c\u1ee7a Go v\u00e0 s\u1ef1 linh ho\u1ea1t c\u1ee7a c\u00e1c c\u00f4ng ngh\u1ec7 Web (React, Vue, Svelte). \u0110i\u1ec3...","published_at":"2026-05-05T22:43:09.000000Z","scheduled_publish_at":null,"is_shared":false,"updated_at":"2026-05-06T11:00:05.000000Z","edited_at":"2026-05-05T22:43:02.000000Z","translation_source":null,"trend_at":null,"promoted_at":null,"reading_time":6,"organization_pinned_at":null,"profile_pin_position":null,"points":0,"views_count":15,"clips_count":0,"comments_count":0,"rated_value":null,"promoted":false,"trending":false,"is_video":false,"thumbnail_url":"https:\/\/images.viblo.asia\/1479826a-397d-4ec5-94ac-695c465f8da8.png","user":{"data":{"id":183485,"url":"https:\/\/viblo.asia\/u\/PTTGoat","avatar":"b180935b-95f1-43f2-8e59-ce89d4745975.jpg","name":"Trung t\u00edn Ph\u1ea1m","username":"PTTGoat","followers_count":19,"reputation":371,"posts_count":256,"banned_at":null,"level_partner":null,"following":false}},"tags":{"data":[{"slug":"desktop","name":"desktop"},{"slug":"opensource","name":"OpenSource"},{"slug":"webkit","name":"WebKit"}]},"commentators":{"data":[]}},{"id":93967,"title":"C\u00e1c l\u1ec7nh git c\u01a1 b\u1ea3n","slug":"2vJPdWZaJeK","url":"https:\/\/viblo.asia\/p\/cac-lenh-git-co-ban-2vJPdWZaJeK","user_id":115099,"transliterated":"cac-lenh-git-co-ban","contents_short":"Tham kh\u1ea3o: https:\/\/git-scm.com\/docs\n\nI. Getting and Creating Projects\n1. git clone\n\u0110\u01b0\u1ee3c s\u1eed d\u1ee5ng \u0111\u1ec3 t\u1ea3i m\u1ed9t repo tr\u00ean github v\u1ec1 m\u00e1y local\n~\ngit clone \"url c\u1ee7a repo\"\n~\nNote: url \u1edf \u0111\u00e2y t\u00f9y thu\u1ed9c v\u00e0o vi\u1ec7c t\u1ea3i https hay th\u00f4ng qua SSH Keys.\n\nTrong tr\u01b0\u1eddng h\u1ee3p, repo \u0111\u00f3 c\u00f3 c\u00e1c branchs kh\u00e1c. V\u00ed d\u1ee5 c\u00e1c branch n\u00e0y cho vi\u1ec7c ph\u00e1t tri\u1ec3n t\u00ednh n\u0103ng, fix bug, ... M\u00e0 ta mu\u1ed1n clone nh\u1eefng branch thay v\u00ec branch main...","published_at":"2026-05-05T15:45:01.000000Z","scheduled_publish_at":null,"is_shared":false,"updated_at":"2026-05-06T15:24:01.000000Z","edited_at":"2026-05-05T16:11:00.000000Z","translation_source":null,"trend_at":null,"promoted_at":null,"reading_time":1,"organization_pinned_at":null,"profile_pin_position":null,"points":0,"views_count":31,"clips_count":0,"comments_count":0,"rated_value":null,"promoted":false,"trending":false,"is_video":false,"thumbnail_url":"https:\/\/images.viblo.asia\/e65cffd8-8043-463b-b708-bfe207097c4e.png","user":{"data":{"id":115099,"url":"https:\/\/viblo.asia\/u\/Nguyen-Dang-Trieu","avatar":"1c3e2389-1cbd-445f-918e-8e2b736fd646.jpg","name":"Nguy\u1ec5n \u0110\u1eb7ng Tri\u1ec1u","username":"Nguyen-Dang-Trieu","followers_count":11,"reputation":135,"posts_count":62,"banned_at":null,"level_partner":null,"following":false}},"tags":{"data":[{"slug":"git-co-ban","name":"git c\u01a1 b\u1ea3n"}]},"commentators":{"data":[]}},{"id":93965,"title":"M2M Authentication: X\u00e2y d\u1ef1ng API \"\u0110\u0103ng nh\u1eadp\" t\u1ef1 \u0111\u1ed9ng cho Xe \u00d4 t\u00f4 (Connected Car)","slug":"8X4EjMnDJN2","url":"https:\/\/viblo.asia\/p\/m2m-authentication-xay-dung-api-dang-nhap-tu-dong-cho-xe-o-to-connected-car-8X4EjMnDJN2","user_id":182653,"transliterated":"m2m-authentication-xay-dung-api-dang-nhap-tu-dong-cho-xe-o-to-connected-car","contents_short":"Khi n\u00f3i \u0111\u1ebfn \"\u0110\u0103ng nh\u1eadp\", 99% anh em dev s\u1ebd ngh\u0129 ngay \u0111\u1ebfn vi\u1ec7c User g\u00f5 Email v\u00e0 Password. Nh\u01b0ng trong th\u1ebf gi\u1edbi c\u1ee7a xe h\u01a1i k\u1ebft n\u1ed1i (Connected Cars), c\u00e1i xe \u00f4 t\u00f4 kh\u00f4ng c\u00f3 tay \u0111\u1ec3 g\u00f5 b\u00e0n ph\u00edm!\n\n\u0110\u00e2y l\u00e0 b\u00e0i to\u00e1n giao ti\u1ebfp Machine-to-Machine (M2M). Chi\u1ebfc xe s\u1ebd t\u1ef1 \u0111\u1ed9ng g\u1eedi th\u00f4ng s\u1ed1 \u0111\u1ecbnh danh c\u1ee7a n\u00f3 (th\u01b0\u1eddng l\u00e0 s\u1ed1 khung - VIN) k\u00e8m theo m\u1ed9t m\u00e3 b\u00ed m\u1eadt (Secret Key \/ Device Key) \u0111\u01b0\u1ee3c nh\u00e0 m\u00e1y n\u1ea1p s\u1eb5n v\u00e0o chip ...","published_at":"2026-05-05T13:49:40.000000Z","scheduled_publish_at":null,"is_shared":false,"updated_at":"2026-05-07T01:49:02.000000Z","edited_at":"2026-05-05T13:49:09.000000Z","translation_source":null,"trend_at":null,"promoted_at":null,"reading_time":4,"organization_pinned_at":null,"profile_pin_position":null,"points":1,"views_count":27,"clips_count":0,"comments_count":1,"rated_value":null,"promoted":false,"trending":false,"is_video":false,"thumbnail_url":"https:\/\/images.viblo.asia\/db52c3b6-3e05-49dd-8356-db66b4873cbc.png","user":{"data":{"id":182653,"url":"https:\/\/viblo.asia\/u\/hhoang","avatar":"15b74a7e-16dd-435c-b375-62f02864e065.jpg","name":"Nguy\u1ec5n Huy Ho\u00e0ng","username":"hhoang","followers_count":89,"reputation":6078,"posts_count":435,"banned_at":null,"level_partner":null,"following":false}},"tags":{"data":[{"slug":"atapi","name":"@api"},{"slug":"authentication","name":"Authentication"},{"slug":"om2m","name":"OM2M"}]},"commentators":{"data":[{"id":182653,"url":"https:\/\/viblo.asia\/u\/hhoang","avatar":"15b74a7e-16dd-435c-b375-62f02864e065.jpg","name":"Nguy\u1ec5n Huy Ho\u00e0ng","username":"hhoang","followers_count":0,"reputation":0,"posts_count":0,"banned_at":null,"level_partner":null}]}},{"id":93956,"title":"Thi\u1ebft k\u1ebf h\u1ec7 th\u1ed1ng Gi\u1ecf h\u00e0ng (Cart) chu\u1ea9n E-commerce: B\u00e0i to\u00e1n T\u1ed3n kho v\u00e0 T\u00ednh to\u00e1n \u0111\u1ed9ng","slug":"K9Vy89yaLQR","url":"https:\/\/viblo.asia\/p\/thiet-ke-he-thong-gio-hang-cart-chuan-e-commerce-bai-toan-ton-kho-va-tinh-toan-dong-K9Vy89yaLQR","user_id":182653,"transliterated":"thiet-ke-he-thong-gio-hang-cart-chuan-e-commerce-bai-toan-ton-kho-va-tinh-toan-dong","contents_short":"\u0111\u1ec3 thi\u1ebft k\u1ebf m\u1ed9t ch\u1ee9c n\u0103ng Gi\u1ecf h\u00e0ng (Shopping Cart) chu\u1ea9n m\u1ef1c cho h\u1ec7 th\u1ed1ng E-commerce, ch\u00fang ta kh\u00f4ng th\u1ec3 l\u00e0m theo ki\u1ec3u \"m\u00ec \u0103n li\u1ec1n\" (l\u01b0u v\u00e0o Session ho\u1eb7c Cookie). \u1ede c\u00e1c h\u1ec7 th\u1ed1ng th\u1ef1c t\u1ebf, Gi\u1ecf h\u00e0ng ph\u1ea3i \u0111\u01b0\u1ee3c \u0111\u1ed3ng b\u1ed9 qua Database \u0111\u1ec3 user \u0111\u0103ng nh\u1eadp tr\u00ean \u0111i\u1ec7n tho\u1ea1i hay m\u00e1y t\u00ednh \u0111\u1ec1u th\u1ea5y c\u00f9ng m\u1ed9t d\u1eef li\u1ec7u.\n\nH\u01a1n th\u1ebf n\u1eefa, m\u1ed9t gi\u1ecf h\u00e0ng \"c\u00f3 n\u00e3o\" ph\u1ea3i bi\u1ebft ki\u1ec3m tra s\u1ed1 l\u01b0\u1ee3ng t\u1ed3n kho (Stock) v\u00e0 t\u00ednh to\u00e1n gi\u00e1...","published_at":"2026-05-05T12:21:33.000000Z","scheduled_publish_at":null,"is_shared":false,"updated_at":"2026-05-07T03:00:06.000000Z","edited_at":"2026-05-05T09:22:51.000000Z","translation_source":null,"trend_at":null,"promoted_at":null,"reading_time":5,"organization_pinned_at":null,"profile_pin_position":null,"points":3,"views_count":35,"clips_count":0,"comments_count":1,"rated_value":null,"promoted":false,"trending":false,"is_video":false,"thumbnail_url":"https:\/\/images.viblo.asia\/964e62f0-6783-49a5-baad-e4c54d7b1ded.png","user":{"data":{"id":182653,"url":"https:\/\/viblo.asia\/u\/hhoang","avatar":"15b74a7e-16dd-435c-b375-62f02864e065.jpg","name":"Nguy\u1ec5n Huy Ho\u00e0ng","username":"hhoang","followers_count":89,"reputation":6078,"posts_count":435,"banned_at":null,"level_partner":null,"following":false}},"tags":{"data":[{"slug":"mayfest2026","name":"MayFest2026"},{"slug":"shopping-cart","name":"shopping cart"},{"slug":"e-commerce-platform","name":"e-commerce platform"},{"slug":"system-design","name":"System Design"},{"slug":"backend","name":"Backend"},{"slug":"cai-dat-laravel","name":"c\u00e0i \u0111\u1eb7t laravel"}]},"commentators":{"data":[{"id":182653,"url":"https:\/\/viblo.asia\/u\/hhoang","avatar":"15b74a7e-16dd-435c-b375-62f02864e065.jpg","name":"Nguy\u1ec5n Huy Ho\u00e0ng","username":"hhoang","followers_count":0,"reputation":0,"posts_count":0,"banned_at":null,"level_partner":null}]}},{"id":93910,"title":"\ud83e\udde0 Red Team AI: Khi Agent t\u1ef1 \u0111\u1ed9ng h\u00f3a tr\u1edf th\u00e0nh \"con ng\u1ef1a th\u00e0nh Troy\" \u2013 Ph\u1ea7n 2: \u0110\u1ea7u \u0111\u1ed9c t\u1eeb b\u00f3ng t\u1ed1i, \u0111\u00e1nh s\u1eadp b\u1ed9 nh\u1edb","slug":"y0VGwOprVPA","url":"https:\/\/viblo.asia\/p\/red-team-ai-khi-agent-tu-dong-hoa-tro-thanh-con-ngua-thanh-troy-phan-2-dau-doc-tu-bong-toi-danh-sap-bo-nho-y0VGwOprVPA","user_id":132770,"transliterated":"red-team-ai-khi-agent-tu-dong-hoa-tro-thanh-con-ngua-thanh-troy-phan-2-dau-doc-tu-bong-toi-danh-sap-bo-nho","contents_short":"\"Ph\u1ea7n 1 ch\u00fang ta \u0111\u00e3 tr\u1ef1c ti\u1ebfp \u0111\u1ed1i di\u1ec7n v\u1edbi agent. L\u1ea7n n\u00e0y? Ch\u00fang ta kh\u00f4ng c\u1ea7n n\u00f3i g\u00ec c\u1ea3. Ch\u1ec9 c\u1ea7n \u0111\u1ea7u \u0111\u1ed9c th\u1ee9 n\u00f3 \u0111\u1ecdc.\"\n\nCh\u00e0o m\u1eebng b\u1ea1n tr\u1edf l\u1ea1i h\u00e0nh tr\u00ecnh khai th\u00e1c l\u1ed7 h\u1ed5ng c\u1ee7a AI Agent. \u1ede Ph\u1ea7n 1, ch\u00fang ta \u0111\u00e3 h\u1ecdc c\u00e1ch n\u00f3i chuy\u1ec7n tr\u1ef1c ti\u1ebfp v\u1edbi agent, ti\u00eam prompt qua chat, v\u00e0 l\u1ee3i d\u1ee5ng l\u00f2ng tin m\u00f9 qu\u00e1ng c\u1ee7a LLM v\u00e0o \"vai tr\u00f2 h\u1ec7 th\u1ed1ng\".\n\nNh\u01b0ng n\u1ebfu b\u1ea1n ngh\u0129 r\u1eb1ng ch\u1ec9 c\u1ea7n kh\u00f4ng cho k\u1ebb t\u1ea5n c\u00f4ng chat v\u1edbi ag...","published_at":"2026-05-05T09:51:53.000000Z","scheduled_publish_at":null,"is_shared":false,"updated_at":"2026-05-07T03:13:02.000000Z","edited_at":"2026-05-06T08:52:58.000000Z","translation_source":null,"trend_at":null,"promoted_at":null,"reading_time":20,"organization_pinned_at":null,"profile_pin_position":null,"points":3,"views_count":58,"clips_count":2,"comments_count":0,"rated_value":null,"promoted":false,"trending":false,"is_video":false,"thumbnail_url":"https:\/\/images.viblo.asia\/cc7485d8-81a6-4fb5-b10d-fd703e3eeab1.png","user":{"data":{"id":132770,"url":"https:\/\/viblo.asia\/u\/Leone","avatar":"a64cae85-7b81-47db-b7a6-a0f80fb59c51.jpg","name":"fatfish","username":"Leone","followers_count":7,"reputation":163,"posts_count":6,"banned_at":null,"level_partner":null,"following":false}},"tags":{"data":[{"slug":"ai-redteam","name":"AI Redteam"},{"slug":"attacking-ai-agent","name":"Attacking AI Agent"},{"slug":"mayfest2026","name":"MayFest2026"},{"slug":"redteam","name":"redteam"},{"slug":"ai-agent","name":"AI Agent"}]},"commentators":{"data":[]}},{"id":93958,"title":"Gi\u1ea3i th\u00edch c\u0103n b\u1ea3n v\u1ec1 Model Context Protocol (MCP)","slug":"vbLbjXyZLnk","url":"https:\/\/viblo.asia\/p\/giai-thich-can-ban-ve-model-context-protocol-mcp-vbLbjXyZLnk","user_id":187940,"transliterated":"giai-thich-can-ban-ve-model-context-protocol-mcp","contents_short":"MCP l\u00e0 g\u00ec? Giao th\u1ee9c gi\u00fap AI k\u1ebft n\u1ed1i v\u1edbi th\u1ebf gi\u1edbi th\u1ef1c\n\nN\u1ebfu b\u1ea1n \u0111ang theo d\u00f5i tin t\u1ee9c v\u1ec1 AI trong th\u1eddi gian g\u1ea7n \u0111\u00e2y, ch\u1eafc ch\u1eafn \u0111\u00e3 nghe qua c\u1ee5m t\u1eeb MCP. V\u1eady n\u00f3 l\u00e0 g\u00ec, t\u1ea1i sao m\u1ecdi ng\u01b0\u1eddi l\u1ea1i n\u00f3i v\u1ec1 n\u00f3 nhi\u1ec1u \u0111\u1ebfn v\u1eady? B\u00e0i n\u00e0y m\u00ecnh s\u1ebd gi\u1ea3i th\u00edch theo ki\u1ec3u d\u1ec5 hi\u1ec3u nh\u1ea5t c\u00f3 th\u1ec3, kh\u00f4ng c\u1ea7n bi\u1ebft s\u00e2u v\u1ec1 AI hay ML v\u1eabn \u0111\u1ecdc \u0111\u01b0\u1ee3c.\n\nV\u1ea5n \u0111\u1ec1 b\u1eaft \u0111\u1ea7u t\u1eeb \u0111\u00e2y\n\nH\u00e3y th\u1eed t\u01b0\u1edfng t\u01b0\u1ee3ng b\u1ea1n \u0111ang d\u00f9ng m\u1ed9t tr\u1ee3 l\u00fd AI th\u00f4ng min...","published_at":"2026-05-05T09:47:25.000000Z","scheduled_publish_at":null,"is_shared":false,"updated_at":"2026-05-07T02:00:01.000000Z","edited_at":"2026-05-05T09:46:46.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":53,"clips_count":0,"comments_count":0,"rated_value":null,"promoted":false,"trending":false,"is_video":false,"thumbnail_url":"https:\/\/images.viblo.asia\/141b988b-4b92-4360-a4f8-0c65240379ca.png","user":{"data":{"id":187940,"url":"https:\/\/viblo.asia\/u\/vocweb","avatar":"d8f8ef8a-ff0b-48ef-8bb2-ecbfe96795e2.jpg","name":"Tien","username":"vocweb","followers_count":0,"reputation":0,"posts_count":2,"banned_at":null,"level_partner":null,"following":false}},"tags":{"data":[{"slug":"mayfest2026","name":"MayFest2026"},{"slug":"mcp","name":"MCP"},{"slug":"mcp-client","name":"MCP Client"},{"slug":"mcp-server","name":"MCP Server"}]},"commentators":{"data":[]}},{"id":93955,"title":"So s\u00e1nh DeepSeek V4 Flash vs GPT-5.4 Mini v\u00e0 Nano","slug":"wd43EZ3qLX9","url":"https:\/\/viblo.asia\/p\/so-sanh-deepseek-v4-flash-vs-gpt-54-mini-va-nano-wd43EZ3qLX9","user_id":22204,"transliterated":"so-sanh-deepseek-v4-flash-vs-gpt-54-mini-va-nano","contents_short":"S\u1ef1 kh\u00e1c bi\u1ec7t gi\u1eefa ch\u00fang s\u1eafc n\u00e9t h\u01a1n nhi\u1ec1u so v\u1edbi nh\u1eefng g\u00ec marketing c\u1ee7a c\u00e1c h\u00e3ng truy\u1ec1n \u0111\u1ea1t.\n\nT\u00f3m t\u1eaft c\u00e1c \u0111i\u1ec3m ch\u00ednh\n\n* DeepSeek V4 Flash ra m\u1eaft ng\u00e0y 24\/4\/2026 v\u1edbi context window 1 tri\u1ec7u token m\u1eb7c \u0111\u1ecbnh v\u00e0 gi\u00e1 output ch\u1ec9 0,28 USD per million token, r\u1ebb h\u01a1n GPT-5.4 Mini t\u1edbi 16 l\u1ea7n\n* GPT-5.4 Mini v\u00e0 Nano \u0111\u01b0\u1ee3c OpenAI ra m\u1eaft kho\u1ea3ng m\u1ed9t th\u00e1ng tr\u01b0\u1edbc \u0111\u00f3, ng\u00e0y 17\/3\/2026, c\u1ea3 hai gi\u1edbi h\u1ea1n context window \u1edf ...","published_at":"2026-05-05T08:39:37.000000Z","scheduled_publish_at":null,"is_shared":false,"updated_at":"2026-05-07T03:18:02.000000Z","edited_at":"2026-05-05T08:38:15.000000Z","translation_source":null,"trend_at":null,"promoted_at":null,"reading_time":13,"organization_pinned_at":null,"profile_pin_position":null,"points":4,"views_count":69,"clips_count":0,"comments_count":0,"rated_value":null,"promoted":false,"trending":false,"is_video":false,"thumbnail_url":"https:\/\/images.viblo.asia\/7a3adb33-5375-4699-bb85-de5b7c05cb88.png","user":{"data":{"id":22204,"url":"https:\/\/viblo.asia\/u\/pana","avatar":"06df2039-3b3a-4fb7-a706-794e8aa16200.jpg","name":"Steven Being","username":"pana","followers_count":12,"reputation":244,"posts_count":10,"banned_at":null,"level_partner":null,"following":false}},"tags":{"data":[{"slug":"mayfest2026","name":"MayFest2026"},{"slug":"deepseek-v4","name":"DeepSeek V4"},{"slug":"gpt-54","name":"GPT-5.4"}]},"commentators":{"data":[]},"organization":{"data":{"id":576,"name":"Infinity","avatar":"30950708-614c-4472-b46e-bfb3bb9b732b.png","slug":"infinity","followers_count":14,"members_count":2,"short_description":"Infinity l\u00e0 \u0111\u01a1n v\u1ecb cung c\u1ea5p gi\u1ea3i ph\u00e1p Digital Marketing t\u00edch h\u1ee3p cho doanh nghi\u1ec7p \u2014 t\u1eeb thi\u1ebft k\u1ebf website chu\u1ea9n SEO & UX\/UI, d\u1ecbch v\u1ee5 AI SEO (GEO\/AEO), PR Digital, s\u00e1ng t\u1ea1o n\u1ed9i dung s\u1ed1, qu\u1ea3ng c\u00e1o tr\u1ef1c tuy\u1ebfn (SEM\/Ads) \u0111\u1ebfn ph\u00e2n t\u00edch d\u1eef li\u1ec7u Marketing. V\u1edbi n\u1ec1n t\u1ea3ng nghi\u00ean c\u1ee9u v\u00e0 d\u1eef li\u1ec7u th\u1ef1c chi\u1ebfn, ch\u00fang t\u00f4i gi\u00fap doanh nghi\u1ec7p x\u00e2y d\u1ef1ng chi\u1ebfn l\u01b0\u1ee3c th\u01b0\u01a1ng hi\u1ec7u b\u1ec1n v\u1eefng v\u00e0 t\u0103ng tr\u01b0\u1edfng c\u00f3 h\u1ec7 th\u1ed1ng trong k\u1ef7 nguy\u00ean AI.","level_partner":null}}},{"id":93948,"title":"B\u00e0i 4 \u2014 Redis trong production: Nh\u1eefng \u0111i\u1ec1u n\u00ean v\u00e0 kh\u00f4ng n\u00ean","slug":"bA468BbgLKv","url":"https:\/\/viblo.asia\/p\/bai-4-redis-trong-production-nhung-dieu-nen-va-khong-nen-bA468BbgLKv","user_id":187909,"transliterated":"bai-4-redis-trong-production-nhung-dieu-nen-va-khong-nen","contents_short":"![](https:\/\/images.viblo.asia\/36a263c2-3504-40d4-9e18-a4c3028ae0df.jpg)\n\n\nSau khi t\u1edb d\u00f9ng Redis m\u1ed9t th\u1eddi gian, c\u00f3 v\u00e0i \u0111i\u1ec1u r\u1ea5t \u0111\u00e1ng r\u00fat kinh nghi\u1ec7m. Redis nhanh th\u1eadt \u0111\u1ea5y, nh\u01b0ng n\u1ebfu m\u00ecnh d\u00f9ng sai th\u00ec n\u00f3 \u0111\u1ea5m l\u1ea1i c\u1ea3 m\u00ecnh l\u1eabn \"ng\u01b0\u1eddi kh\u00e1c\" (l\u00e0 ai th\u00ec b\u00ed m\u1eadt nh\u00e9, t\u1edb s\u1ebd kh\u00f4ng k\u1ec3 l\u00e0 c\u00f3 c\u1ea3 anh leader \u0111\u00e2u =))).\n1) Lu\u00f4n set TTL cho cache\n\nN\u1ebfu kh\u00f4ng set TTL:\n\n- Memory t\u0103ng d\u1ea7n\n- Kh\u00f4ng ki\u1ec3m so\u00e1t \u0111\u01b0\u1ee3c lifecycle d\u1eef li\u1ec7u\n- Key s\u1ed1ng dai h\u01a1n c\u1ea3 deadline project\n\n<br>T\u1edb nh\u1edb h\u1ed3i m\u1edbi d\u00f9...","published_at":"2026-05-05T08:00:55.000000Z","scheduled_publish_at":null,"is_shared":false,"updated_at":"2026-05-07T02:41:02.000000Z","edited_at":"2026-05-05T08:52:14.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":70,"clips_count":0,"comments_count":1,"rated_value":null,"promoted":false,"trending":false,"is_video":false,"thumbnail_url":"https:\/\/images.viblo.asia\/63ecf9b3-b249-4462-ae0b-0c664716b255.png","user":{"data":{"id":187909,"url":"https:\/\/viblo.asia\/u\/pqviet2k3","avatar":"c260b47d-9195-4be0-85d6-70378c322850.jpeg","name":"Qu\u1ed1c Vi\u1ec7t Ph\u1ea1m","username":"pqviet2k3","followers_count":1,"reputation":7,"posts_count":4,"banned_at":null,"level_partner":null,"following":false}},"tags":{"data":[{"slug":"backend","name":"Backend"},{"slug":"cache","name":"Cache"},{"slug":"mayfest2026","name":"MayFest2026"},{"slug":"nosql","name":"NoSQL"},{"slug":"redis","name":"Redis"}]},"commentators":{"data":[{"id":142764,"url":"https:\/\/viblo.asia\/u\/quandthe173224","avatar":"ae82f1b8-e314-4ef0-b8cd-f08c7b05cef0.jpg","name":"Tr\u1ecdng Qu\u00e2n \u0110\u1eb7ng","username":"quandthe173224","followers_count":0,"reputation":0,"posts_count":0,"banned_at":null,"level_partner":null}]}},{"id":93947,"title":"Nh\u1eefng G\u00ec M\u00ecnh \u01af\u1edbc Bi\u1ebft S\u1edbm H\u01a1n V\u1ec1 React Hook Form","slug":"OXLA0jr8JGr","url":"https:\/\/viblo.asia\/p\/nhung-gi-minh-uoc-biet-som-hon-ve-react-hook-form-OXLA0jr8JGr","user_id":141426,"transliterated":"nhung-gi-minh-uoc-biet-som-hon-ve-react-hook-form","contents_short":"\n\u0110\u1eb7t v\u1ea5n \u0111\u1ec1\n\nKhi x\u1eed l\u00fd form \"thu\u1ea7n\" trong React, b\u1ea1n ph\u1ea3i t\u1ef1 qu\u1ea3n l\u00fd state cho t\u1eebng field, t\u1ef1 validate, t\u1ef1 hi\u1ec3n th\u1ecb l\u1ed7i... V\u1edbi form 3 tr\u01b0\u1eddng \u0111\u00e3 l\u1eb1ng nh\u1eb1ng, 10\u201315 tr\u01b0\u1eddng th\u00ec codebase r\u1ea5t kh\u00f3 b\u1ea3o tr\u00ec.\n\nReact Hook Form (RHF) gi\u00fap b\u1ea1n l\u00e0m t\u1ea5t c\u1ea3 \u0111i\u1ec1u \u0111\u00f3 v\u1edbi \u00edt code h\u01a1n, v\u00e0 hi\u1ec7u n\u0103ng t\u1ed1t h\u01a1n nh\u1edd d\u00f9ng ref thay v\u00ec state \u2014 t\u1ee9c l\u00e0 form kh\u00f4ng re-render li\u00ean t\u1ee5c khi user g\u00f5.\n\nC\u00e1ch d\u00f9ng c\u01a1 b\u1ea3n\n\n3 th\u1ee9 quan ...","published_at":"2026-05-05T07:40:14.000000Z","scheduled_publish_at":null,"is_shared":false,"updated_at":"2026-05-07T03:11:02.000000Z","edited_at":"2026-05-05T07:37:49.000000Z","translation_source":null,"trend_at":null,"promoted_at":null,"reading_time":2,"organization_pinned_at":null,"profile_pin_position":null,"points":1,"views_count":52,"clips_count":0,"comments_count":0,"rated_value":null,"promoted":false,"trending":false,"is_video":false,"thumbnail_url":"https:\/\/images.viblo.asia\/3ce25f8a-9e09-4f6c-943a-85e13de5fe95.png","user":{"data":{"id":141426,"url":"https:\/\/viblo.asia\/u\/Nhatdeeptry","avatar":"9f8a46af-ffab-49dd-9df8-192ce0734098.jpeg","name":"Cao \u0110\u00ecnh Nh\u1eadt","username":"Nhatdeeptry","followers_count":1,"reputation":11,"posts_count":3,"banned_at":null,"level_partner":null,"following":false}},"tags":{"data":[{"slug":"mayfest2026","name":"MayFest2026"},{"slug":"reactjs","name":"ReactJS"},{"slug":"form","name":"form"},{"slug":"nextjs","name":"nextjs"},{"slug":"react-hook-form","name":"react-hook-form"}]},"commentators":{"data":[]}},{"id":93943,"title":"B\u00e0i 3 \u2014 Distributed Lock: Khi backend ch\u1ea1y nhi\u1ec1u instance","slug":"ymJXDQrEJkq","url":"https:\/\/viblo.asia\/p\/bai-3-distributed-lock-khi-backend-chay-nhieu-instance-ymJXDQrEJkq","user_id":187909,"transliterated":"bai-3-distributed-lock-khi-backend-chay-nhieu-instance","contents_short":"Khi h\u1ec7 th\u1ed1ng c\u00f3 nhi\u1ec1u instance:\n\n- Cron job (schedule job) c\u00f3 th\u1ec3 ch\u1ea1y tr\u00f9ng\n- \u0110\u01a1n h\u00e0ng c\u00f3 th\u1ec3 b\u1ecb x\u1eed l\u00fd hai l\u1ea7n\n- Race condition xu\u1ea5t hi\u1ec7n\n<br><br>\n\n<br>\u2192 Redis th\u01b0\u1eddng \u0111\u01b0\u1ee3c d\u00f9ng \u0111\u1ec3 gi\u1ea3i quy\u1ebft b\u1eb1ng distributed locking.\n\n<br>D\u00f9ng l\u1ec7nh:\n\nSET key value NX PX 30000\n\n\u2192 \u00dd ngh\u0129a:\n\nNX: ch\u1ec9 set n\u1ebfu ch\u01b0a t\u1ed3n t\u1ea1i\n<br>PX: t\u1ef1 \u0111\u1ed9ng h\u1ebft h\u1ea1n sau 30 gi\u00e2y\n\n<br>Trong Java\n\nRedisson:\n- RLock\n- tryLock() auto unlock...","published_at":"2026-05-05T07:03:08.000000Z","scheduled_publish_at":null,"is_shared":false,"updated_at":"2026-05-07T02:33:02.000000Z","edited_at":"2026-05-05T07:08:20.000000Z","translation_source":null,"trend_at":null,"promoted_at":null,"reading_time":1,"organization_pinned_at":null,"profile_pin_position":null,"points":0,"views_count":64,"clips_count":0,"comments_count":0,"rated_value":null,"promoted":false,"trending":false,"is_video":false,"thumbnail_url":"https:\/\/images.viblo.asia\/146e3233-120d-45a7-8685-d8520313dcb9.png","user":{"data":{"id":187909,"url":"https:\/\/viblo.asia\/u\/pqviet2k3","avatar":"c260b47d-9195-4be0-85d6-70378c322850.jpeg","name":"Qu\u1ed1c Vi\u1ec7t Ph\u1ea1m","username":"pqviet2k3","followers_count":1,"reputation":7,"posts_count":4,"banned_at":null,"level_partner":null,"following":false}},"tags":{"data":[{"slug":"mayfest2026","name":"MayFest2026"},{"slug":"redis","name":"Redis"},{"slug":"nosql","name":"NoSQL"},{"slug":"backend","name":"Backend"},{"slug":"cache","name":"Cache"}]},"commentators":{"data":[]}},{"id":93940,"title":"B\u00e0i 2 \u2014 Cache Layer: Quan tr\u1ecdng kh\u00f4ng ph\u1ea3i d\u00f9ng, m\u00e0 l\u00e0 d\u00f9ng \u0111\u00fang","slug":"1QLxnp3g4Aw","url":"https:\/\/viblo.asia\/p\/bai-2-cache-layer-quan-trong-khong-phai-dung-ma-la-dung-dung-1QLxnp3g4Aw","user_id":187909,"transliterated":"bai-2-cache-layer-quan-trong-khong-phai-dung-ma-la-dung-dung","contents_short":"C\u00e1c chi\u1ebfn l\u01b0\u1ee3c cache ph\u1ed5 bi\u1ebfn\n\nTh\u1ef1c ra c\u00f3 r\u1ea5t nhi\u1ec1u chi\u1ebfn l\u01b0\u1ee3c cache. Quan tr\u1ecdng kh\u00f4ng ph\u1ea3i l\u00e0 bi\u1ebft h\u1ebft, m\u00e0 l\u00e0 ch\u1ecdn \u0111\u01b0\u1ee3c c\u00e1ch ph\u00f9 h\u1ee3p v\u1edbi b\u00e0i to\u00e1n c\u1ee7a m\u00ecnh.\n\n\u00c0 m\u00e0 n\u00f3i \u0111\u1ebfn ch\u1ecdn chi\u1ebfn l\u01b0\u1ee3c cache, t\u1edb t\u1eebng cache cho api get detail v\u1edbi ch\u1ee5c c\u00e1i filters v\u00e0 \u0111\u00e3 b\u1ecb a tech leader m\u1eafng x\u1ed1i x\u1ea3, thi\u1ebfu m\u1ed7i g\u00f5 v\u00e0o \u0111\u1ea7u t\u1edb=)))), l\u00fd do l\u00e0 api n\u00e0y c\u00f3 qu\u00e1 nhi\u1ec1u bi\u1ebfn th\u1ec3 \u2192 t\u1ed1n qu\u00e1 nhi\u1ec1u key, gi\u1ea3i ph\u00e1p m\u00ecnh ch\u1ecdn l\u00e0 ...","published_at":"2026-05-05T06:26:11.000000Z","scheduled_publish_at":null,"is_shared":false,"updated_at":"2026-05-07T02:18:01.000000Z","edited_at":"2026-05-05T07:17:48.000000Z","translation_source":null,"trend_at":null,"promoted_at":null,"reading_time":2,"organization_pinned_at":null,"profile_pin_position":null,"points":0,"views_count":53,"clips_count":0,"comments_count":0,"rated_value":null,"promoted":false,"trending":false,"is_video":false,"thumbnail_url":"https:\/\/images.viblo.asia\/a12af568-61a0-4b18-9cb6-e27ba0433554.png","user":{"data":{"id":187909,"url":"https:\/\/viblo.asia\/u\/pqviet2k3","avatar":"c260b47d-9195-4be0-85d6-70378c322850.jpeg","name":"Qu\u1ed1c Vi\u1ec7t Ph\u1ea1m","username":"pqviet2k3","followers_count":1,"reputation":7,"posts_count":4,"banned_at":null,"level_partner":null,"following":false}},"tags":{"data":[{"slug":"backend","name":"Backend"},{"slug":"cache","name":"Cache"},{"slug":"mayfest2026","name":"MayFest2026"},{"slug":"nosql","name":"NoSQL"},{"slug":"redis","name":"Redis"}]},"commentators":{"data":[]}},{"id":93942,"title":"Thi\u1ebft k\u1ebf t\u00ednh n\u0103ng Wishlist chu\u1ea9n Enterprise","slug":"1j4lQPYdJwl","url":"https:\/\/viblo.asia\/p\/thiet-ke-tinh-nang-wishlist-chuan-enterprise-1j4lQPYdJwl","user_id":182653,"transliterated":"thiet-ke-tinh-nang-wishlist-chuan-enterprise","contents_short":"Th\u00f4ng th\u01b0\u1eddng, m\u1ecdi ng\u01b0\u1eddi s\u1ebd t\u1ea1o m\u1ed9t b\u1ea3ng wishlists g\u1ed3m 2 c\u1ed9t: userid v\u00e0 productid. Xong!\nNh\u01b0ng chuy\u1ec7n g\u00ec x\u1ea3y ra n\u1ebfu 6 th\u00e1ng sau, d\u1ef1 \u00e1n m\u1edf r\u1ed9ng, s\u1ebfp y\u00eau c\u1ea7u user c\u00f3 th\u1ec3 th\u1ea3 tim b\u00e0i vi\u1ebft (Article), th\u1ea3 tim kh\u00f3a h\u1ecdc (Course), hay th\u1ea3 tim gian h\u00e0ng (Shop)? L\u00fac \u0111\u00f3, b\u1ea1n l\u1ea1i l\u1eadt \u0111\u1eadt \u0111i t\u1ea1o th\u00eam c\u1ed9t articleid, courseid... r\u1ed3i l\u1ea1i if\/else r\u1ed1i m\u00f9?\n\nH\u00f4m nay, m\u00ecnh s\u1ebd h\u01b0\u1edbng d\u1eabn b\u1ea1n thi\u1ebft k\u1ebf t\u00ednh n\u0103ng Wishlis...","published_at":"2026-05-05T06:24:35.000000Z","scheduled_publish_at":null,"is_shared":false,"updated_at":"2026-05-07T03:00:06.000000Z","edited_at":"2026-05-05T06:22:35.000000Z","translation_source":null,"trend_at":null,"promoted_at":null,"reading_time":3,"organization_pinned_at":null,"profile_pin_position":null,"points":3,"views_count":27,"clips_count":0,"comments_count":1,"rated_value":null,"promoted":false,"trending":false,"is_video":false,"thumbnail_url":"https:\/\/images.viblo.asia\/6d452b11-9eb2-4ea4-aa8a-fc8654123368.png","user":{"data":{"id":182653,"url":"https:\/\/viblo.asia\/u\/hhoang","avatar":"15b74a7e-16dd-435c-b375-62f02864e065.jpg","name":"Nguy\u1ec5n Huy Ho\u00e0ng","username":"hhoang","followers_count":89,"reputation":6078,"posts_count":435,"banned_at":null,"level_partner":null,"following":false}},"tags":{"data":[{"slug":"cau-hinh-database","name":"c\u1ea5u h\u00ecnh database"},{"slug":"cai-dat-laravel","name":"c\u00e0i \u0111\u1eb7t laravel"},{"slug":"backend","name":"Backend"},{"slug":"enterprise","name":"Enterprise"}]},"commentators":{"data":[{"id":182653,"url":"https:\/\/viblo.asia\/u\/hhoang","avatar":"15b74a7e-16dd-435c-b375-62f02864e065.jpg","name":"Nguy\u1ec5n Huy Ho\u00e0ng","username":"hhoang","followers_count":0,"reputation":0,"posts_count":0,"banned_at":null,"level_partner":null}]}},{"id":93871,"title":"X\u00e1c th\u1ef1c Email: \u0110\u1eebng l\u01b0u Token v\u00e0o Database n\u1eefa, h\u00e3y d\u00f9ng Signed URL!","slug":"kY4gDY7OJAe","url":"https:\/\/viblo.asia\/p\/xac-thuc-email-dung-luu-token-vao-database-nua-hay-dung-signed-url-kY4gDY7OJAe","user_id":182653,"transliterated":"xac-thuc-email-dung-luu-token-vao-database-nua-hay-dung-signed-url","contents_short":"Nhi\u1ec1u anh em code xong lu\u1ed3ng Register (\u0110\u0103ng k\u00fd) r\u1ed3i th\u00ec l\u00e0m ph\u1ea7n X\u00e1c th\u1ef1c Email (Verify Email) m\u1ed9t c\u00e1ch r\u1ea5t ng\u00e2y ng\u00f4: Sinh ra m\u1ed9t chu\u1ed7i random token -> L\u01b0u v\u00e0o c\u1ed9t verifytoken trong Database -> G\u1eedi link c\u00f3 ch\u1ee9a token \u0111\u00f3 qua email -> User click v\u00e0o link th\u00ec query DB t\u00ecm token r\u1ed3i update emailverified_at.\n\nC\u00e1ch n\u00e0y ch\u1ea1y \u0111\u01b0\u1ee3c, nh\u01b0ng n\u00f3 l\u1ea1i l\u00f2i ra m\u1ed9t r\u1ed5 Technical Debt (N\u1ee3 k\u1ef9 thu\u1eadt):\n\n1. DB c\u1ee7a b\u1ea1n...","published_at":"2026-05-05T06:04:51.000000Z","scheduled_publish_at":null,"is_shared":false,"updated_at":"2026-05-07T03:21:02.000000Z","edited_at":"2026-05-03T16:40:23.000000Z","translation_source":null,"trend_at":null,"promoted_at":null,"reading_time":6,"organization_pinned_at":null,"profile_pin_position":null,"points":3,"views_count":71,"clips_count":0,"comments_count":1,"rated_value":null,"promoted":false,"trending":false,"is_video":false,"thumbnail_url":"https:\/\/images.viblo.asia\/c2f89c5b-ed8b-4e7c-8bee-6b8846286ed6.png","user":{"data":{"id":182653,"url":"https:\/\/viblo.asia\/u\/hhoang","avatar":"15b74a7e-16dd-435c-b375-62f02864e065.jpg","name":"Nguy\u1ec5n Huy Ho\u00e0ng","username":"hhoang","followers_count":89,"reputation":6078,"posts_count":435,"banned_at":null,"level_partner":null,"following":false}},"tags":{"data":[{"slug":"access-database","name":"access database"},{"slug":"access-token","name":"Access Token"},{"slug":"curl","name":"curl"},{"slug":"email","name":"Email"},{"slug":"cai-dat-laravel","name":"c\u00e0i \u0111\u1eb7t laravel"}]},"commentators":{"data":[{"id":182653,"url":"https:\/\/viblo.asia\/u\/hhoang","avatar":"15b74a7e-16dd-435c-b375-62f02864e065.jpg","name":"Nguy\u1ec5n Huy Ho\u00e0ng","username":"hhoang","followers_count":0,"reputation":0,"posts_count":0,"banned_at":null,"level_partner":null}]}},{"id":93934,"title":"Jetpack Compose April 2026: Nh\u1eb9 nh\u00e0ng update nh\u01b0ng \u201cch\u1ea5t\u201d h\u01a1n h\u1eb3n","slug":"AoJe8zAk41j","url":"https:\/\/viblo.asia\/p\/jetpack-compose-april-2026-nhe-nhang-update-nhung-chat-hon-han-AoJe8zAk41j","user_id":59623,"transliterated":"jetpack-compose-april-2026-nhe-nhang-update-nhung-chat-hon-han","contents_short":"C\u00f3 g\u00ec m\u1edbi trong b\u1ea3n ph\u00e1t h\u00e0nh Jetpack Compose th\u00e1ng 4 n\u0103m 2026?\n\nB\u1ea3n ph\u00e1t h\u00e0nh Jetpack Compose th\u00e1ng 04\/2026 hi\u1ec7n \u0111\u00e3 \u1ed5n \u0111\u1ecbnh (stable). Phi\u00ean b\u1ea3n n\u00e0y bao g\u1ed3m Compose module l\u00f5i b\u1ea3n 1.11, c\u00e1c c\u00f4ng c\u1ee5 g\u1ee1 l\u1ed7i ph\u1ea7n t\u1eed d\u00f9ng chung (shared element), c\u1ea3i ti\u1ebfn s\u1ef1 ki\u1ec7n trackpad (b\u00e0n di chu\u1ed9t), c\u00f9ng nhi\u1ec1u c\u1eadp nh\u1eadt kh\u00e1c. Google c\u0169ng ra m\u1eaft m\u1ed9t s\u1ed1 API th\u1eed nghi\u1ec7m (experimental) m\u1edbi r\u1ea5t \u0111\u00e1ng \u0111\u1ec3 tr\u1ea3i nghi\u1ec7m.\n\n\u0110...","published_at":"2026-05-05T06:03:30.000000Z","scheduled_publish_at":null,"is_shared":false,"updated_at":"2026-05-07T03:00:06.000000Z","edited_at":"2026-05-05T02:38:40.000000Z","translation_source":null,"trend_at":null,"promoted_at":null,"reading_time":6,"organization_pinned_at":null,"profile_pin_position":null,"points":2,"views_count":31,"clips_count":1,"comments_count":0,"rated_value":null,"promoted":false,"trending":false,"is_video":false,"thumbnail_url":"https:\/\/images.viblo.asia\/6bc4c76c-4377-48c8-a2a0-8b13577761c2.png","user":{"data":{"id":59623,"url":"https:\/\/viblo.asia\/u\/khoaqh-2470","avatar":"bdb52e2a-2a68-44dc-8631-e18a0412f3b0.jpg","name":"Saitaman Q","username":"khoaqh-2470","followers_count":10,"reputation":1361,"posts_count":15,"banned_at":null,"level_partner":null,"following":false}},"tags":{"data":[{"slug":"mayfest2026","name":"MayFest2026"},{"slug":"android","name":"Android"},{"slug":"android-compose","name":"Android Compose"}]},"commentators":{"data":[]}}],"meta":{"pagination":{"total":44083,"count":20,"per_page":20,"current_page":2,"total_pages":2205,"links":{"previous":"http:\/\/viblo.asia\/posts\/newest?page=1","next":"http:\/\/viblo.asia\/posts\/newest?page=3"}}}}