diff --git a/content/post/2025/02/08/img/1.png b/content/post/2025/02/08/img/1.png deleted file mode 100644 index ce58f6a..0000000 Binary files a/content/post/2025/02/08/img/1.png and /dev/null differ diff --git a/content/post/2025/02/08/img/2.png b/content/post/2025/02/08/img/2.png deleted file mode 100644 index 8a8ffb7..0000000 Binary files a/content/post/2025/02/08/img/2.png and /dev/null differ diff --git a/content/post/2025/02/08/index.md b/content/post/2025/02/08/index.md index 0b8da7f..f28c4c1 100644 --- a/content/post/2025/02/08/index.md +++ b/content/post/2025/02/08/index.md @@ -41,5 +41,5 @@ Bài viết này phân tích hiệu suất của việc sử dụng Virtual Thre ## Bonus: Vài ảnh hay ho đến từ [ByteByteGo](https://bytebytego.com/) -![A Cheatsheet On Message Queues](img/1.png) -![From Monolith to Microservices: Key Transition Patterns](img/2.png) +![A Cheatsheet On Message Queues](https://substack-post-media.s3.amazonaws.com/public/images/2ae8b491-b794-446b-8ca5-25ac552161be_1417x1600.png) +![From Monolith to Microservices: Key Transition Patterns](https://substack-post-media.s3.amazonaws.com/public/images/015e9750-7334-424b-b0c4-9c39bc5dd2d2_1600x1596.png) diff --git a/content/post/2025/02/16/doc/2025 GDC State of the Game Industry report.pdf b/content/post/2025/02/16/doc/2025 GDC State of the Game Industry report.pdf deleted file mode 100644 index dcb71f2..0000000 Binary files a/content/post/2025/02/16/doc/2025 GDC State of the Game Industry report.pdf and /dev/null differ diff --git a/content/post/2025/02/16/doc/EN-CNTNT-eBook-DesigningDistributedSystems.pdf b/content/post/2025/02/16/doc/EN-CNTNT-eBook-DesigningDistributedSystems.pdf deleted file mode 100644 index fa4a571..0000000 Binary files a/content/post/2025/02/16/doc/EN-CNTNT-eBook-DesigningDistributedSystems.pdf and /dev/null differ diff --git a/content/post/2025/02/16/doc/Quastor Summaries.pdf b/content/post/2025/02/16/doc/Quastor Summaries.pdf deleted file mode 100644 index c72bb33..0000000 Binary files a/content/post/2025/02/16/doc/Quastor Summaries.pdf and /dev/null differ diff --git a/content/post/2025/02/16/doc/[FINAL] SOTI 2025 Results Press Release.pdf b/content/post/2025/02/16/doc/[FINAL] SOTI 2025 Results Press Release.pdf deleted file mode 100644 index e8ebbfa..0000000 Binary files a/content/post/2025/02/16/doc/[FINAL] SOTI 2025 Results Press Release.pdf and /dev/null differ diff --git a/content/post/2025/02/16/img/11b53f30-8dba-4520-9b1a-425b54b9b84a_1280x1585.gif b/content/post/2025/02/16/img/11b53f30-8dba-4520-9b1a-425b54b9b84a_1280x1585.gif deleted file mode 100644 index 9ddcd1f..0000000 Binary files a/content/post/2025/02/16/img/11b53f30-8dba-4520-9b1a-425b54b9b84a_1280x1585.gif and /dev/null differ diff --git a/content/post/2025/02/16/img/1c328642-7222-4127-a6c5-16614e010022_1283x1536.jpg b/content/post/2025/02/16/img/1c328642-7222-4127-a6c5-16614e010022_1283x1536.jpg deleted file mode 100644 index 11f39ab..0000000 Binary files a/content/post/2025/02/16/img/1c328642-7222-4127-a6c5-16614e010022_1283x1536.jpg and /dev/null differ diff --git a/content/post/2025/02/16/img/2689b510-e5d2-42cd-8852-75a89205de7a_1280x1608.gif b/content/post/2025/02/16/img/2689b510-e5d2-42cd-8852-75a89205de7a_1280x1608.gif deleted file mode 100644 index 89633ba..0000000 Binary files a/content/post/2025/02/16/img/2689b510-e5d2-42cd-8852-75a89205de7a_1280x1608.gif and /dev/null differ diff --git a/content/post/2025/02/16/img/670b7459-49bc-485c-965a-7dbfb3177894_892x1798.jpg b/content/post/2025/02/16/img/670b7459-49bc-485c-965a-7dbfb3177894_892x1798.jpg deleted file mode 100644 index 1b0a6ca..0000000 Binary files a/content/post/2025/02/16/img/670b7459-49bc-485c-965a-7dbfb3177894_892x1798.jpg and /dev/null differ diff --git a/content/post/2025/02/16/img/a8107d0d-57fb-4f5d-810a-561c09494c49_1604x1536.jpg b/content/post/2025/02/16/img/a8107d0d-57fb-4f5d-810a-561c09494c49_1604x1536.jpg deleted file mode 100644 index b643f6c..0000000 Binary files a/content/post/2025/02/16/img/a8107d0d-57fb-4f5d-810a-561c09494c49_1604x1536.jpg and /dev/null differ diff --git a/content/post/2025/02/16/index.md b/content/post/2025/02/16/index.md index 6bb262a..7db792d 100644 --- a/content/post/2025/02/16/index.md +++ b/content/post/2025/02/16/index.md @@ -57,15 +57,11 @@ Tuần này có kha khá bonus đến từ nhiều nguồn khác nhau ### Bonus #1: Một vài ebook mình tìm được -- [Designing Distributed Systems](doc/EN-CNTNT-eBook-DesigningDistributedSystems.pdf) -- [[FINAL] SOTI 2025 Results Press Release](doc/[FINAL]%20SOTI%202025%20Results%20Press%20Release.pdf) -- [2025 GDC State of the Game Industry report](doc/2025%20GDC%20State%20of%20the%20Game%20Industry%20report.pdf) -- [Quastor Summaries](doc/Quastor%20Summaries.pdf) +- [Designing Distributed Systems](https://info.microsoft.com/rs/157-GQE-382/images/EN-CNTNT-eBook-DesigningDistributedSystems.pdf) +- [Quastor Summaries](https://drive.google.com/file/d/1U7EchvgzCjTtF5JzGVVCFgjXC-qw7lIG/view) ### Bonus #2: Vài ảnh hay ho đến từ [ByteByteGo](https://bytebytego.com/) -![The Open Source AI Stack](img/1c328642-7222-4127-a6c5-16614e010022_1283x1536.jpg) -![Cookies Vs Sessions Vs JWT Vs PASETO](img/11b53f30-8dba-4520-9b1a-425b54b9b84a_1280x1585.gif) -![Algorithms you should know before taking System Design Interviews](img/670b7459-49bc-485c-965a-7dbfb3177894_892x1798.jpg) -![Top 6 Load Balancing Algorithms](img/a8107d0d-57fb-4f5d-810a-561c09494c49_1604x1536.jpg) -![How TikTok Manages a 200K File Frontend MonoRepo?](img/2689b510-e5d2-42cd-8852-75a89205de7a_1280x1608.gif) +![Cookies Vs Sessions Vs JWT Vs PASETO](https://substack-post-media.s3.amazonaws.com/public/images/11b53f30-8dba-4520-9b1a-425b54b9b84a_1280x1585.gif) +![Algorithms you should know before taking System Design Interviews](https://substack-post-media.s3.amazonaws.com/public/images/fdbcc119-8f5d-4d27-9a4b-2c8bde82b537_4026x8030.jpeg) +![Top 6 Load Balancing Algorithms](https://substack-post-media.s3.amazonaws.com/public/images/12dffcce-f231-48cc-915f-d53c0f8bce0c_3735x3573.jpeg) diff --git a/content/post/2025/02/23/img/7fb7334f-535e-464a-a513-0e4c76ebc329_1334x1536.jpg b/content/post/2025/02/23/img/7fb7334f-535e-464a-a513-0e4c76ebc329_1334x1536.jpg deleted file mode 100644 index 404ec2f..0000000 Binary files a/content/post/2025/02/23/img/7fb7334f-535e-464a-a513-0e4c76ebc329_1334x1536.jpg and /dev/null differ diff --git a/content/post/2025/02/23/img/8eb12e04-e90d-43e6-a102-dda8bcc24756_1280x1532.gif b/content/post/2025/02/23/img/8eb12e04-e90d-43e6-a102-dda8bcc24756_1280x1532.gif deleted file mode 100644 index f01b828..0000000 Binary files a/content/post/2025/02/23/img/8eb12e04-e90d-43e6-a102-dda8bcc24756_1280x1532.gif and /dev/null differ diff --git a/content/post/2025/02/23/img/9c309ad3-78a8-4511-a6f2-e69c06d5c500_1280x1566.gif b/content/post/2025/02/23/img/9c309ad3-78a8-4511-a6f2-e69c06d5c500_1280x1566.gif deleted file mode 100644 index 848e50a..0000000 Binary files a/content/post/2025/02/23/img/9c309ad3-78a8-4511-a6f2-e69c06d5c500_1280x1566.gif and /dev/null differ diff --git a/content/post/2025/02/23/img/a44f9f4b-193d-484e-bbf1-169751104380_1280x1568.gif b/content/post/2025/02/23/img/a44f9f4b-193d-484e-bbf1-169751104380_1280x1568.gif deleted file mode 100644 index 7d94e83..0000000 Binary files a/content/post/2025/02/23/img/a44f9f4b-193d-484e-bbf1-169751104380_1280x1568.gif and /dev/null differ diff --git a/content/post/2025/02/23/img/c1155e03-c3dc-4192-8e05-e6b87dc6a574_1280x1664.gif b/content/post/2025/02/23/img/c1155e03-c3dc-4192-8e05-e6b87dc6a574_1280x1664.gif deleted file mode 100644 index 8358633..0000000 Binary files a/content/post/2025/02/23/img/c1155e03-c3dc-4192-8e05-e6b87dc6a574_1280x1664.gif and /dev/null differ diff --git a/content/post/2025/02/23/img/c87c75a8-b4c1-4cd2-9c32-4d22c499643d_1527x1536.jpg b/content/post/2025/02/23/img/c87c75a8-b4c1-4cd2-9c32-4d22c499643d_1527x1536.jpg deleted file mode 100644 index 60bbc0f..0000000 Binary files a/content/post/2025/02/23/img/c87c75a8-b4c1-4cd2-9c32-4d22c499643d_1527x1536.jpg and /dev/null differ diff --git a/content/post/2025/02/23/img/e64796b4-03d1-4b0f-a60f-999505f15aeb_1280x1661.jpg b/content/post/2025/02/23/img/e64796b4-03d1-4b0f-a60f-999505f15aeb_1280x1661.jpg deleted file mode 100644 index b6d2e17..0000000 Binary files a/content/post/2025/02/23/img/e64796b4-03d1-4b0f-a60f-999505f15aeb_1280x1661.jpg and /dev/null differ diff --git a/content/post/2025/02/23/img/fe9062b4-fd0e-4530-8e20-eea854b8490e_2250x2814.png b/content/post/2025/02/23/img/fe9062b4-fd0e-4530-8e20-eea854b8490e_2250x2814.png deleted file mode 100644 index e26b2cd..0000000 Binary files a/content/post/2025/02/23/img/fe9062b4-fd0e-4530-8e20-eea854b8490e_2250x2814.png and /dev/null differ diff --git a/content/post/2025/02/23/index.md b/content/post/2025/02/23/index.md index 19dba46..70189cd 100644 --- a/content/post/2025/02/23/index.md +++ b/content/post/2025/02/23/index.md @@ -49,14 +49,13 @@ Bài viết blog này trên seangoedecke.com thảo luận về hai kiểu làm ### Bonus #1: Vài ảnh hay ho đến từ [ByteByteGo](https://bytebytego.com/) -![Top Strategies to Reduce Latency](img/fe9062b4-fd0e-4530-8e20-eea854b8490e_2250x2814.png) -![The Ultimate API Learning Roadmap](img/9c309ad3-78a8-4511-a6f2-e69c06d5c500_1280x1566.gif) -![30 Useful AI Apps That Can Help You in 2025](img/8eb12e04-e90d-43e6-a102-dda8bcc24756_1280x1532.gif) -![10 Essential Components of a Production Web Application](img/a44f9f4b-193d-484e-bbf1-169751104380_1280x1568.gif) -![How do we design effective and safe APIs?](img/7fb7334f-535e-464a-a513-0e4c76ebc329_1334x1536.jpg) -![Code First v.s. API First](img/a44f9f4b-193d-484e-bbf1-169751104380_1280x1568.gif) -![Oauth 2.0 Explained With Simple Terms](img/e64796b4-03d1-4b0f-a60f-999505f15aeb_1280x1661.jpg) -![Session, Cookie, JWT, Token, SSO, and OAuth 2.0 Explained in One Diagram](img/c1155e03-c3dc-4192-8e05-e6b87dc6a574_1280x1664.gif) +![Top Strategies to Reduce Latency](https://substack-post-media.s3.amazonaws.com/public/images/fe9062b4-fd0e-4530-8e20-eea854b8490e_2250x2814.png) +![The Ultimate API Learning Roadmap](https://substack-post-media.s3.amazonaws.com/public/images/9c309ad3-78a8-4511-a6f2-e69c06d5c500_1280x1566.gif) +![10 Essential Components of a Production Web Application](https://substack-post-media.s3.amazonaws.com/public/images/a44f9f4b-193d-484e-bbf1-169751104380_1280x1568.gif) +![How do we design effective and safe APIs?](https://substack-post-media.s3.amazonaws.com/public/images/d5155be3-163d-479c-a75e-632e0f98dd36_3006x3453.jpeg) +![Code First v.s. API First](https://substack-post-media.s3.amazonaws.com/public/images/aad520f5-00d9-4606-af4b-fdb5d1ac63c4_1600x1483.png) +![Oauth 2.0 Explained With Simple Terms](https://substack-post-media.s3.amazonaws.com/public/images/bb375f63-bf06-4956-b3a3-914fd6aa2d91_1280x1664.jpeg) +![Session, Cookie, JWT, Token, SSO, and OAuth 2.0 Explained in One Diagram](https://substack-post-media.s3.amazonaws.com/public/images/c1155e03-c3dc-4192-8e05-e6b87dc6a574_1280x1664.gif) ### Bonus #2: Một vài link hay ho khác diff --git a/content/post/2025/03/04/img/0854344c-e671-4c21-8b25-f966772e54b5_1280x1532.gif b/content/post/2025/03/04/img/0854344c-e671-4c21-8b25-f966772e54b5_1280x1532.gif deleted file mode 100644 index 5d09dd9..0000000 Binary files a/content/post/2025/03/04/img/0854344c-e671-4c21-8b25-f966772e54b5_1280x1532.gif and /dev/null differ diff --git a/content/post/2025/03/04/img/1112c07d-db40-484e-917b-0071ed7cf354_1280x1532.gif b/content/post/2025/03/04/img/1112c07d-db40-484e-917b-0071ed7cf354_1280x1532.gif deleted file mode 100644 index ec12250..0000000 Binary files a/content/post/2025/03/04/img/1112c07d-db40-484e-917b-0071ed7cf354_1280x1532.gif and /dev/null differ diff --git a/content/post/2025/03/04/img/35ae3f82-afa0-47b9-a2a0-58b6c6d8cfb1_1280x1476.gif b/content/post/2025/03/04/img/35ae3f82-afa0-47b9-a2a0-58b6c6d8cfb1_1280x1476.gif deleted file mode 100644 index a6b24b2..0000000 Binary files a/content/post/2025/03/04/img/35ae3f82-afa0-47b9-a2a0-58b6c6d8cfb1_1280x1476.gif and /dev/null differ diff --git a/content/post/2025/03/04/img/5fd8bdda-52dd-454f-be79-ad548f17810b_1280x1557.gif b/content/post/2025/03/04/img/5fd8bdda-52dd-454f-be79-ad548f17810b_1280x1557.gif deleted file mode 100644 index 811e99d..0000000 Binary files a/content/post/2025/03/04/img/5fd8bdda-52dd-454f-be79-ad548f17810b_1280x1557.gif and /dev/null differ diff --git a/content/post/2025/03/04/index.md b/content/post/2025/03/04/index.md index 74ba237..bc62fa2 100644 --- a/content/post/2025/03/04/index.md +++ b/content/post/2025/03/04/index.md @@ -73,7 +73,6 @@ Tóm lại, bài viết cho thấy tiềm năng của LLM trong việc giúp cá ## Bonus: Vài ảnh hay ho đến từ [ByteByteGo](https://bytebytego.com/) -![What is an AI Agent?](img/0854344c-e671-4c21-8b25-f966772e54b5_1280x1532.gif) -![Git vs GitHub](img/1112c07d-db40-484e-917b-0071ed7cf354_1280x1532.gif) -![A Cheatsheet on Database Performance](img/5fd8bdda-52dd-454f-be79-ad548f17810b_1280x1557.gif) -![18 Common Ports Worth Knowing](img/35ae3f82-afa0-47b9-a2a0-58b6c6d8cfb1_1280x1476.gif) +![Git vs GitHub](https://substack-post-media.s3.amazonaws.com/public/images/1112c07d-db40-484e-917b-0071ed7cf354_1280x1532.gif) +![A Cheatsheet on Database Performance](https://substack-post-media.s3.amazonaws.com/public/images/5fd8bdda-52dd-454f-be79-ad548f17810b_1280x1557.gif) +![18 Common Ports Worth Knowing](https://substack-post-media.s3.amazonaws.com/public/images/35ae3f82-afa0-47b9-a2a0-58b6c6d8cfb1_1280x1476.gif) diff --git a/content/post/2025/03/08/img/fc4c9cac-3046-4b45-9dd8-7dccc79b4e2c_1280x1608.gif b/content/post/2025/03/08/img/fc4c9cac-3046-4b45-9dd8-7dccc79b4e2c_1280x1608.gif deleted file mode 100644 index 09b4bfd..0000000 Binary files a/content/post/2025/03/08/img/fc4c9cac-3046-4b45-9dd8-7dccc79b4e2c_1280x1608.gif and /dev/null differ diff --git a/content/post/2025/03/08/index.md b/content/post/2025/03/08/index.md index d96b74e..f693335 100644 --- a/content/post/2025/03/08/index.md +++ b/content/post/2025/03/08/index.md @@ -103,4 +103,4 @@ Bài viết này cung cấp một cái nhìn sâu sắc về cách tiếp cận ### Bonus 2: Vài ảnh hay ho đến từ [ByteByteGo](https://bytebytego.com/) -![JWT 101: Key to Stateless Authentication](img/fc4c9cac-3046-4b45-9dd8-7dccc79b4e2c_1280x1608.gif) +![JWT 101: Key to Stateless Authentication](https://substack-post-media.s3.amazonaws.com/public/images/fc4c9cac-3046-4b45-9dd8-7dccc79b4e2c_1280x1608.gif) diff --git a/content/post/2025/03/24/img/06c5ad46-faaf-479b-bde3-b5de8033b4e9_1280x1664.gif b/content/post/2025/03/24/img/06c5ad46-faaf-479b-bde3-b5de8033b4e9_1280x1664.gif deleted file mode 100644 index 8bcc143..0000000 Binary files a/content/post/2025/03/24/img/06c5ad46-faaf-479b-bde3-b5de8033b4e9_1280x1664.gif and /dev/null differ diff --git a/content/post/2025/03/24/img/2f632296-4214-4ec8-a1d2-280e9b7f2696_1280x1532.gif b/content/post/2025/03/24/img/2f632296-4214-4ec8-a1d2-280e9b7f2696_1280x1532.gif deleted file mode 100644 index 070cacf..0000000 Binary files a/content/post/2025/03/24/img/2f632296-4214-4ec8-a1d2-280e9b7f2696_1280x1532.gif and /dev/null differ diff --git a/content/post/2025/03/24/img/369facba-0136-4687-b794-bc58e3139f5c_2250x2752.jpg b/content/post/2025/03/24/img/369facba-0136-4687-b794-bc58e3139f5c_2250x2752.jpg deleted file mode 100644 index 727524e..0000000 Binary files a/content/post/2025/03/24/img/369facba-0136-4687-b794-bc58e3139f5c_2250x2752.jpg and /dev/null differ diff --git a/content/post/2025/03/24/img/377ca779-5d63-4995-9541-b37008700a8c_800x1073.jpg b/content/post/2025/03/24/img/377ca779-5d63-4995-9541-b37008700a8c_800x1073.jpg deleted file mode 100644 index 3d92353..0000000 Binary files a/content/post/2025/03/24/img/377ca779-5d63-4995-9541-b37008700a8c_800x1073.jpg and /dev/null differ diff --git a/content/post/2025/03/24/img/65a92a81-f2c5-4aed-9faa-35a66124cffe_1283x1536.gif b/content/post/2025/03/24/img/65a92a81-f2c5-4aed-9faa-35a66124cffe_1283x1536.gif deleted file mode 100644 index 5165dc3..0000000 Binary files a/content/post/2025/03/24/img/65a92a81-f2c5-4aed-9faa-35a66124cffe_1283x1536.gif and /dev/null differ diff --git a/content/post/2025/03/24/img/a6903386-4b5f-450e-b64d-839c6fdf8238_1280x1601.gif b/content/post/2025/03/24/img/a6903386-4b5f-450e-b64d-839c6fdf8238_1280x1601.gif deleted file mode 100644 index c28e686..0000000 Binary files a/content/post/2025/03/24/img/a6903386-4b5f-450e-b64d-839c6fdf8238_1280x1601.gif and /dev/null differ diff --git a/content/post/2025/03/24/img/c3beec9e-cd04-4748-ae7e-3299b42883f6_2360x2824.jpg b/content/post/2025/03/24/img/c3beec9e-cd04-4748-ae7e-3299b42883f6_2360x2824.jpg deleted file mode 100644 index 0d472de..0000000 Binary files a/content/post/2025/03/24/img/c3beec9e-cd04-4748-ae7e-3299b42883f6_2360x2824.jpg and /dev/null differ diff --git a/content/post/2025/03/24/index.md b/content/post/2025/03/24/index.md index 0922463..c3180cd 100644 --- a/content/post/2025/03/24/index.md +++ b/content/post/2025/03/24/index.md @@ -170,12 +170,12 @@ Các điểm chính về văn hóa kỹ thuật của Meta: - Sử dụng serverless functions cho các sản phẩm - Cho phép các team nhanh chóng thay đổi ưu tiên -2. **Technology openness**: +2. **Technology openness**: - Sử dụng monorepo cho tất cả dự án - Không áp dụng quy tắc sở hữu code nghiêm ngặt - Đóng góp nhiều dự án mã nguồn mở (PyTorch, Llama, Presto, RocksDB) -3. **Research in production**: +3. **Research in production**: - Không có phòng nghiên cứu riêng biệt - Các team phát triển sản phẩm trực tiếp thực hiện nghiên cứu - Đảm bảo các giải pháp hoạt động ở quy mô lớn @@ -249,14 +249,13 @@ Kiến trúc này đặc biệt phù hợp cho: ## Bonus 2: Vài hình ảnh hay ho đến từ [ByteByteGo](https://bytebytego.com/) -![How to Build Idempotent APIs](img/c3beec9e-cd04-4748-ae7e-3299b42883f6_2360x2824.jpg) -![A Cheatsheet on Non-Functional Requirements](img/369facba-0136-4687-b794-bc58e3139f5c_2250x2752.jpg) -![12 Algorithms for System Design Interviews](img/2f632296-4214-4ec8-a1d2-280e9b7f2696_1280x1532.gif) -![How Kubernetes Works?](img/65a92a81-f2c5-4aed-9faa-35a66124cffe_1283x1536.gif) -![PostgreSQL 101: The Everything Database](img/a6903386-4b5f-450e-b64d-839c6fdf8238_1280x1601.gif) -![Top 12 Tips for API Security](img/06c5ad46-faaf-479b-bde3-b5de8033b4e9_1280x1664.gif) +![How to Build Idempotent APIs](https://substack-post-media.s3.amazonaws.com/public/images/c3beec9e-cd04-4748-ae7e-3299b42883f6_2360x2824.png) +![12 Algorithms for System Design Interviews](https://substack-post-media.s3.amazonaws.com/public/images/2f632296-4214-4ec8-a1d2-280e9b7f2696_1280x1532.gif) +![How Kubernetes Works?](https://substack-post-media.s3.amazonaws.com/public/images/65a92a81-f2c5-4aed-9faa-35a66124cffe_1283x1536.gif) +![PostgreSQL 101: The Everything Database](https://substack-post-media.s3.amazonaws.com/public/images/a6903386-4b5f-450e-b64d-839c6fdf8238_1280x1601.gif) +![Top 12 Tips for API Security](https://substack-post-media.s3.amazonaws.com/public/images/06c5ad46-faaf-479b-bde3-b5de8033b4e9_1280x1664.gif) ## Bonus 3: Vài hình ảnh hay ho đến từ [DesignGurus](https://designgurus.io/) -![System Design Master Template](img/377ca779-5d63-4995-9541-b37008700a8c_800x1073.jpg) +![System Design Master Template](https://www.designgurus.io/_next/image?url=https%3A%2F%2Fstorage.googleapis.com%2Fdownload%2Fstorage%2Fv1%2Fb%2Fdesigngurus-prod.appspot.com%2Fo%2Fee5726e8e29469477b999c100%3Fgeneration%3D1726724098184989%26alt%3Dmedia&w=3840&q=75&dpl=dpl_3Rx6M949Pc1cQKT3QTdj87FcKNdg) diff --git a/content/post/2025/04/05/img/217bf342-bfd4-4088-bba3-b2734f065a20_1280x1280.gif b/content/post/2025/04/05/img/217bf342-bfd4-4088-bba3-b2734f065a20_1280x1280.gif deleted file mode 100644 index ab6bf0c..0000000 Binary files a/content/post/2025/04/05/img/217bf342-bfd4-4088-bba3-b2734f065a20_1280x1280.gif and /dev/null differ diff --git a/content/post/2025/04/05/img/3ecf2600-10d8-4180-8328-8d790fbba0cc_1280x1557.gif b/content/post/2025/04/05/img/3ecf2600-10d8-4180-8328-8d790fbba0cc_1280x1557.gif deleted file mode 100644 index c655f38..0000000 Binary files a/content/post/2025/04/05/img/3ecf2600-10d8-4180-8328-8d790fbba0cc_1280x1557.gif and /dev/null differ diff --git a/content/post/2025/04/05/img/972d1d02-396b-4464-b8a3-320b0cbd0f6f_1743x1536.jpg b/content/post/2025/04/05/img/972d1d02-396b-4464-b8a3-320b0cbd0f6f_1743x1536.jpg deleted file mode 100644 index d75e4d2..0000000 Binary files a/content/post/2025/04/05/img/972d1d02-396b-4464-b8a3-320b0cbd0f6f_1743x1536.jpg and /dev/null differ diff --git a/content/post/2025/04/05/img/e9419479-e915-4401-91db-19a3fbb3f272_1280x1601.jpg b/content/post/2025/04/05/img/e9419479-e915-4401-91db-19a3fbb3f272_1280x1601.jpg deleted file mode 100644 index 333c627..0000000 Binary files a/content/post/2025/04/05/img/e9419479-e915-4401-91db-19a3fbb3f272_1280x1601.jpg and /dev/null differ diff --git a/content/post/2025/04/05/img/https___substack-post-media.s3.amazonaws.com_public_images_cf7e2044-2627-4b70-8f93-247a25fa8db9_1280x1545.gif b/content/post/2025/04/05/img/https___substack-post-media.s3.amazonaws.com_public_images_cf7e2044-2627-4b70-8f93-247a25fa8db9_1280x1545.gif deleted file mode 100644 index b83157a..0000000 Binary files a/content/post/2025/04/05/img/https___substack-post-media.s3.amazonaws.com_public_images_cf7e2044-2627-4b70-8f93-247a25fa8db9_1280x1545.gif and /dev/null differ diff --git a/content/post/2025/04/05/index.md b/content/post/2025/04/05/index.md index 791aabf..da05adc 100644 --- a/content/post/2025/04/05/index.md +++ b/content/post/2025/04/05/index.md @@ -372,11 +372,9 @@ Một số điểm chính: ## Bonus: Vài ảnh hay ho đến từ [ByteByteGo](https://bytebytego.com/) -![24 Good Resources to Learn Software Architecture in 2025](img/e9419479-e915-4401-91db-19a3fbb3f272_1280x1601.jpg) -![SOAP vs REST vs GraphQL vs RPC](img/972d1d02-396b-4464-b8a3-320b0cbd0f6f_1743x1536.jpg) -![SQS vs SNS vs EventBridge vs Kinesis](img/3ecf2600-10d8-4180-8328-8d790fbba0cc_1280x1557.gif) -![Top 5 common ways to improve API performance](img/217bf342-bfd4-4088-bba3-b2734f065a20_1280x1280.gif) -![xAI's Grok-3 One-Pager](img/https___substack-post-media.s3.amazonaws.com_public_images_cf7e2044-2627-4b70-8f93-247a25fa8db9_1280x1545.gif) +![SOAP vs REST vs GraphQL vs RPC](https://substack-post-media.s3.amazonaws.com/public/images/6b437484-1fd8-4b59-ba05-46bb3352b053_2904x2559.jpeg) +![SQS vs SNS vs EventBridge vs Kinesis](https://substack-post-media.s3.amazonaws.com/public/images/3ecf2600-10d8-4180-8328-8d790fbba0cc_1280x1557.gif) +![Top 5 common ways to improve API performance](https://substack-post-media.s3.amazonaws.com/public/images/217bf342-bfd4-4088-bba3-b2734f065a20_1280x1280.gif) ## Bonus 2: Vài video hay ho đến từ [Inside Java](https://inside.java/) diff --git a/content/post/2025/04/12/img/ae95d38c-41f8-4eb7-885e-f7fafa4ca45d_2250x2624.jpg b/content/post/2025/04/12/img/ae95d38c-41f8-4eb7-885e-f7fafa4ca45d_2250x2624.jpg deleted file mode 100644 index 0531cb8..0000000 Binary files a/content/post/2025/04/12/img/ae95d38c-41f8-4eb7-885e-f7fafa4ca45d_2250x2624.jpg and /dev/null differ diff --git a/content/post/2025/04/12/index.md b/content/post/2025/04/12/index.md index fea6afc..c195509 100644 --- a/content/post/2025/04/12/index.md +++ b/content/post/2025/04/12/index.md @@ -308,7 +308,7 @@ Bài viết phân tích hai phong cách làm việc của kỹ sư phần mềm - Ưu tiên "ship now, improve later" - Phù hợp với startup, hackathon - Thách thức: tech debt, thiếu edge cases - + - Accuracy-Oriented: - Tập trung vào tính chính xác và ổn định lâu dài - Ưu tiên "make sure it's right before it goes live" @@ -320,12 +320,12 @@ Bài viết phân tích hai phong cách làm việc của kỹ sư phần mềm - Cần tốc độ để validate ý tưởng - Chấp nhận bug và thiếu hiệu quả - Phù hợp với speed-oriented engineers - + - Scaling (1 → 10): - Cần cân bằng giữa tốc độ và ổn định - Tập trung vào testing và kiến trúc - Cần engineers có thể nhìn xa hơn - + - Enterprise (10 → 100): - Ưu tiên ổn định và tuân thủ - Quy trình và quản trị rõ ràng @@ -380,7 +380,7 @@ Bài viết dự đoán về tương lai của hệ sinh thái LLM dựa trên c - Từ model nhỏ (100M params) đến lớn (1T params) - Từ text đơn giản đến đa phương tiện - Từ vài cent đến vài đô la mỗi giờ - + - Giá trị mang lại: - Thay thế công việc có chi phí cao: - Quản lý thông tin ($1000-10000/giờ) @@ -425,4 +425,4 @@ Bài viết kết luận rằng sự kiên trì đúng cách là sự kết hợ ## Bonus: Vài ảnh hay ho đến từ [ByteByteGo](https://bytebytego.com/) -![Data Consistency Strategies For Microservices](img/ae95d38c-41f8-4eb7-885e-f7fafa4ca45d_2250x2624.jpg) +![Data Consistency Strategies For Microservices](https://substack-post-media.s3.amazonaws.com/public/images/ae95d38c-41f8-4eb7-885e-f7fafa4ca45d_2250x2624.png) diff --git a/content/post/2025/04/20/doc/cache-and-message-broker-for-microservices-solution-brief.pdf b/content/post/2025/04/20/doc/cache-and-message-broker-for-microservices-solution-brief.pdf deleted file mode 100644 index 2b46ba0..0000000 Binary files a/content/post/2025/04/20/doc/cache-and-message-broker-for-microservices-solution-brief.pdf and /dev/null differ diff --git a/content/post/2025/04/20/doc/caching-at-scale-with-redis-updated-2021-12-04.pdf b/content/post/2025/04/20/doc/caching-at-scale-with-redis-updated-2021-12-04.pdf deleted file mode 100644 index c00f177..0000000 Binary files a/content/post/2025/04/20/doc/caching-at-scale-with-redis-updated-2021-12-04.pdf and /dev/null differ diff --git a/content/post/2025/04/20/img/c1dbb32e-8d1b-4c13-ae48-fe485ad92191_1280x1601.gif b/content/post/2025/04/20/img/c1dbb32e-8d1b-4c13-ae48-fe485ad92191_1280x1601.gif deleted file mode 100644 index 63e7445..0000000 Binary files a/content/post/2025/04/20/img/c1dbb32e-8d1b-4c13-ae48-fe485ad92191_1280x1601.gif and /dev/null differ diff --git a/content/post/2025/04/20/img/c3bf4776-744b-4e87-85f8-6dddd6d85597_1280x1566.gif b/content/post/2025/04/20/img/c3bf4776-744b-4e87-85f8-6dddd6d85597_1280x1566.gif deleted file mode 100644 index 0949a2a..0000000 Binary files a/content/post/2025/04/20/img/c3bf4776-744b-4e87-85f8-6dddd6d85597_1280x1566.gif and /dev/null differ diff --git a/content/post/2025/04/20/img/d864f35c-537c-4571-8644-ce20d1a0caa5_1280x1427.gif b/content/post/2025/04/20/img/d864f35c-537c-4571-8644-ce20d1a0caa5_1280x1427.gif deleted file mode 100644 index 6dfe8b0..0000000 Binary files a/content/post/2025/04/20/img/d864f35c-537c-4571-8644-ce20d1a0caa5_1280x1427.gif and /dev/null differ diff --git a/content/post/2025/04/20/img/f112df94-df52-4140-98ec-873e5b74d988_1280x1601.gif b/content/post/2025/04/20/img/f112df94-df52-4140-98ec-873e5b74d988_1280x1601.gif deleted file mode 100644 index af22d51..0000000 Binary files a/content/post/2025/04/20/img/f112df94-df52-4140-98ec-873e5b74d988_1280x1601.gif and /dev/null differ diff --git a/content/post/2025/04/20/index.md b/content/post/2025/04/20/index.md index 106146c..7b03f19 100644 --- a/content/post/2025/04/20/index.md +++ b/content/post/2025/04/20/index.md @@ -45,10 +45,10 @@ Video này điểm qua những cải tiến nổi bật trong các phiên bản ## Bonus: Vài ảnh hay ho đến từ [ByteByteGo](https://bytebytego.com/) -![30 Free APIs for Developers](img/f112df94-df52-4140-98ec-873e5b74d988_1280x1601.gif) -![The Generative AI Learning Roadmap](img/c3bf4776-744b-4e87-85f8-6dddd6d85597_1280x1566.gif) -![HTTP/1 -> HTTP/2 -> HTTP/3](img/c1dbb32e-8d1b-4c13-ae48-fe485ad92191_1280x1601.gif) -![Structure of URL](img/d864f35c-537c-4571-8644-ce20d1a0caa5_1280x1427.gif) +![30 Free APIs for Developers](https://substack-post-media.s3.amazonaws.com/public/images/f112df94-df52-4140-98ec-873e5b74d988_1280x1601.gif) +![The Generative AI Learning Roadmap](https://substack-post-media.s3.amazonaws.com/public/images/c3bf4776-744b-4e87-85f8-6dddd6d85597_1280x1566.gif) +![HTTP/1 -> HTTP/2 -> HTTP/3](https://substack-post-media.s3.amazonaws.com/public/images/c1dbb32e-8d1b-4c13-ae48-fe485ad92191_1280x1601.gif) +![Structure of URL](https://substack-post-media.s3.amazonaws.com/public/images/d864f35c-537c-4571-8644-ce20d1a0caa5_1280x1427.gif) ## Bonus 2: Vài video hay ho đến từ [ByteByteGo](https://bytebytego.com/) @@ -56,6 +56,6 @@ Video này điểm qua những cải tiến nổi bật trong các phiên bản ## Bonus 3: Vài tài liệu hay ho đến từ [Redis.io](https://redis.io/) -[Cache and Message Broker for Microservices](doc/cache-and-message-broker-for-microservices-solution-brief.pdf) +[Cache and Message Broker for Microservices](https://redis.io/resources/cache-and-message-broker-for-microservices-solution-brief.pdf) -[Caching at Scale With Redis](doc/caching-at-scale-with-redis-updated-2021-12-04.pdf) \ No newline at end of file +[Caching at Scale With Redis](https://redis.io/wp-content/uploads/2021/12/caching-at-scale-with-redis-updated-2021-12-04.pdf) diff --git a/content/post/2025/04/22/img/39f5b04d-ad39-4bbe-a32f-f47792d4ef62_2250x2682.png b/content/post/2025/04/22/img/39f5b04d-ad39-4bbe-a32f-f47792d4ef62_2250x2682.png deleted file mode 100644 index 4422665..0000000 Binary files a/content/post/2025/04/22/img/39f5b04d-ad39-4bbe-a32f-f47792d4ef62_2250x2682.png and /dev/null differ diff --git a/content/post/2025/04/22/index.md b/content/post/2025/04/22/index.md index cf61dbb..cee37ff 100644 --- a/content/post/2025/04/22/index.md +++ b/content/post/2025/04/22/index.md @@ -49,7 +49,7 @@ Bài viết này hướng dẫn chi tiết về cách kết hợp gRPC với Spr ## Bonus: Vài ảnh hay ho đến từ [ByteByteGo](https://bytebytego.com/) -![Latency and Partition Tolerance in Distributed Systems](img/39f5b04d-ad39-4bbe-a32f-f47792d4ef62_2250x2682.png) +![Latency and Partition Tolerance in Distributed Systems](https://substack-post-media.s3.amazonaws.com/public/images/39f5b04d-ad39-4bbe-a32f-f47792d4ef62_2250x2682.png) ## Bonus 2: Vài video hay ho đến từ [ByteByteGo](https://bytebytego.com/) diff --git a/content/post/2025/04/30/img/0349d8e9-8c8e-4e01-94a8-f2b596069732_1280x1977.jpg b/content/post/2025/04/30/img/0349d8e9-8c8e-4e01-94a8-f2b596069732_1280x1977.jpg deleted file mode 100644 index e569af3..0000000 Binary files a/content/post/2025/04/30/img/0349d8e9-8c8e-4e01-94a8-f2b596069732_1280x1977.jpg and /dev/null differ diff --git a/content/post/2025/04/30/img/89a09e07-6548-4c12-87c6-0486c6177ea7_1308x1536.jpg b/content/post/2025/04/30/img/89a09e07-6548-4c12-87c6-0486c6177ea7_1308x1536.jpg deleted file mode 100644 index 3ff0426..0000000 Binary files a/content/post/2025/04/30/img/89a09e07-6548-4c12-87c6-0486c6177ea7_1308x1536.jpg and /dev/null differ diff --git a/content/post/2025/04/30/img/f7fc4f19-ebd8-45a0-9398-469805bb4a26_1280x1532.gif b/content/post/2025/04/30/img/f7fc4f19-ebd8-45a0-9398-469805bb4a26_1280x1532.gif deleted file mode 100644 index a32b7a2..0000000 Binary files a/content/post/2025/04/30/img/f7fc4f19-ebd8-45a0-9398-469805bb4a26_1280x1532.gif and /dev/null differ diff --git a/content/post/2025/04/30/index.md b/content/post/2025/04/30/index.md index 1740ad3..9e14f3b 100644 --- a/content/post/2025/04/30/index.md +++ b/content/post/2025/04/30/index.md @@ -72,9 +72,9 @@ Bài viết của Paul Millerd chia sẻ 40 suy nghĩ khi tác giả bước san ## Bonus: Vài ảnh hay ho đến từ [ByteByteGo](https://bytebytego.com/) -![A Cheatsheet on Comparing Key-Value Stores](img/f7fc4f19-ebd8-45a0-9398-469805bb4a26_1280x1532.gif) -![A Handy Cheatsheet for the Most Popular Cloud Services](img/0349d8e9-8c8e-4e01-94a8-f2b596069732_1280x1977.jpg) -![Which Database Should I Use on AWS?](img/89a09e07-6548-4c12-87c6-0486c6177ea7_1308x1536.jpg) +![A Cheatsheet on Comparing Key-Value Stores](https://substack-post-media.s3.amazonaws.com/public/images/f7fc4f19-ebd8-45a0-9398-469805bb4a26_1280x1532.gif) +![A Handy Cheatsheet for the Most Popular Cloud Services](https://substack-post-media.s3.amazonaws.com/public/images/16fe4308-ed47-451f-a852-c476ecfb4167_1280x1977.jpeg) +![Which Database Should I Use on AWS?](https://substack-post-media.s3.amazonaws.com/public/images/89a09e07-6548-4c12-87c6-0486c6177ea7_1308x1536.jpeg) ## Bonus 2: Vài video hay ho đến từ [ByteByteGo](https://bytebytego.com/) diff --git a/content/post/2025/05/02/img/ad16adef-3082-42bd-ac99-9a569ad2e33b_2250x2624.jpg b/content/post/2025/05/02/img/ad16adef-3082-42bd-ac99-9a569ad2e33b_2250x2624.jpg deleted file mode 100644 index d21523a..0000000 Binary files a/content/post/2025/05/02/img/ad16adef-3082-42bd-ac99-9a569ad2e33b_2250x2624.jpg and /dev/null differ diff --git a/content/post/2025/05/02/index.md b/content/post/2025/05/02/index.md index ca84d4b..4f2c178 100644 --- a/content/post/2025/05/02/index.md +++ b/content/post/2025/05/02/index.md @@ -94,4 +94,4 @@ Bài viết cũng thảo luận về các yếu tố ảnh hưởng đến hiệ ## Bonus: Vài ảnh hay ho đến từ [ByteByteGo](https://bytebytego.com/) -![API Protocols 101](img/ad16adef-3082-42bd-ac99-9a569ad2e33b_2250x2624.jpg) +![API Protocols 101](https://substack-post-media.s3.amazonaws.com/public/images/ad16adef-3082-42bd-ac99-9a569ad2e33b_2250x2624.png) diff --git a/content/post/2025/05/03/img/214c0c6c-2426-49d0-9fa8-cdb9ce089dcc_1280x1585.gif b/content/post/2025/05/03/img/214c0c6c-2426-49d0-9fa8-cdb9ce089dcc_1280x1585.gif deleted file mode 100644 index 4cb11a0..0000000 Binary files a/content/post/2025/05/03/img/214c0c6c-2426-49d0-9fa8-cdb9ce089dcc_1280x1585.gif and /dev/null differ diff --git a/content/post/2025/05/03/img/6ff106a0-de83-48b0-9eb4-3f8bf0d43a57_1280x1566.gif b/content/post/2025/05/03/img/6ff106a0-de83-48b0-9eb4-3f8bf0d43a57_1280x1566.gif deleted file mode 100644 index ca70415..0000000 Binary files a/content/post/2025/05/03/img/6ff106a0-de83-48b0-9eb4-3f8bf0d43a57_1280x1566.gif and /dev/null differ diff --git a/content/post/2025/05/03/img/840e868d-2c83-4b1b-a881-df1da6c6e332_1309x1536.gif b/content/post/2025/05/03/img/840e868d-2c83-4b1b-a881-df1da6c6e332_1309x1536.gif deleted file mode 100644 index 4a888d9..0000000 Binary files a/content/post/2025/05/03/img/840e868d-2c83-4b1b-a881-df1da6c6e332_1309x1536.gif and /dev/null differ diff --git a/content/post/2025/05/03/index.md b/content/post/2025/05/03/index.md index 67998f0..64f04d0 100644 --- a/content/post/2025/05/03/index.md +++ b/content/post/2025/05/03/index.md @@ -171,6 +171,6 @@ Một số điểm chính: ## Bonus: Vài ảnh hay ho đến từ [ByteByteGo](https://bytebytego.com/) -![What is MCP?](img/840e868d-2c83-4b1b-a881-df1da6c6e332_1309x1536.gif) -![How to Design a System like Instagram](img/6ff106a0-de83-48b0-9eb4-3f8bf0d43a57_1280x1566.gif) -![How to load your websites at lightning speed](img/214c0c6c-2426-49d0-9fa8-cdb9ce089dcc_1280x1585.gif) \ No newline at end of file +![What is MCP?](https://substack-post-media.s3.amazonaws.com/public/images/840e868d-2c83-4b1b-a881-df1da6c6e332_1309x1536.gif) +![How to Design a System like Instagram](https://substack-post-media.s3.amazonaws.com/public/images/6ff106a0-de83-48b0-9eb4-3f8bf0d43a57_1280x1566.gif) +![How to load your websites at lightning speed](https://substack-post-media.s3.amazonaws.com/public/images/214c0c6c-2426-49d0-9fa8-cdb9ce089dcc_1280x1585.gif) \ No newline at end of file diff --git a/content/post/2025/05/04/img/66d12ddc-2abe-4a98-82d5-ee177e80487c_1470x1600.png b/content/post/2025/05/04/img/66d12ddc-2abe-4a98-82d5-ee177e80487c_1470x1600.png deleted file mode 100644 index 27d6c54..0000000 Binary files a/content/post/2025/05/04/img/66d12ddc-2abe-4a98-82d5-ee177e80487c_1470x1600.png and /dev/null differ diff --git a/content/post/2025/05/04/index.md b/content/post/2025/05/04/index.md index 13f4b40..bc50749 100644 --- a/content/post/2025/05/04/index.md +++ b/content/post/2025/05/04/index.md @@ -25,7 +25,7 @@ Tác giả kết luận rằng Augment Code đã chọn không fork VS Code đ ### Điểm chính cần lưu ý: - Việc fork IDE có thể mang lại lợi ích ngắn hạn nhưng tiềm ẩn nhiều rủi ro dài hạn - Các plugin tiêu chuẩn có thể mất nhiều thời gian hơn để hoàn thiện nhưng mang lại trải nghiệm người dùng ổn định hơn -- Sự cạnh tranh trong lĩnh vực AI coding đang thúc đẩy sự đổi mới và giá trị cho người dùng +- Sự cạnh tranh trong lĩnh vực AI coding đang thúc đẩy sự đổi mới và giá trị cho người dùng ## [Why I'm No Longer Talking to Architects About Microservices](https://blog.container-solutions.com/why-im-no-longer-talking-to-architects-about-microservices) @@ -127,4 +127,4 @@ Tác giả trình bày các khái niệm cốt lõi như Domain/Subdomain, Bound ## Bonus: Vài ảnh hay ho đến từ [ByteByteGo](https://bytebytego.com/) -![Monolith vs Microservices vs Modular Monoliths](img/66d12ddc-2abe-4a98-82d5-ee177e80487c_1470x1600.png) +![Monolith vs Microservices vs Modular Monoliths](https://substack-post-media.s3.amazonaws.com/public/images/66d12ddc-2abe-4a98-82d5-ee177e80487c_1470x1600.png) diff --git a/content/post/2025/05/05/img/111cec1b-a195-4ff5-963c-714ceecd01ab_1280x1664.gif b/content/post/2025/05/05/img/111cec1b-a195-4ff5-963c-714ceecd01ab_1280x1664.gif deleted file mode 100644 index dbae096..0000000 Binary files a/content/post/2025/05/05/img/111cec1b-a195-4ff5-963c-714ceecd01ab_1280x1664.gif and /dev/null differ diff --git a/content/post/2025/05/05/img/2370fff4-b515-484e-a081-4ce73b2c62c2_1280x1566.gif b/content/post/2025/05/05/img/2370fff4-b515-484e-a081-4ce73b2c62c2_1280x1566.gif deleted file mode 100644 index 010e89c..0000000 Binary files a/content/post/2025/05/05/img/2370fff4-b515-484e-a081-4ce73b2c62c2_1280x1566.gif and /dev/null differ diff --git a/content/post/2025/05/05/img/8ef255cc-ebbb-4710-9faf-f366274a2bef_1280x1373.gif b/content/post/2025/05/05/img/8ef255cc-ebbb-4710-9faf-f366274a2bef_1280x1373.gif deleted file mode 100644 index 8f2ec22..0000000 Binary files a/content/post/2025/05/05/img/8ef255cc-ebbb-4710-9faf-f366274a2bef_1280x1373.gif and /dev/null differ diff --git a/content/post/2025/05/05/img/b415d54d-0dbd-428d-a09c-3de0332c0f71_1280x1502.gif b/content/post/2025/05/05/img/b415d54d-0dbd-428d-a09c-3de0332c0f71_1280x1502.gif deleted file mode 100644 index acbc5c3..0000000 Binary files a/content/post/2025/05/05/img/b415d54d-0dbd-428d-a09c-3de0332c0f71_1280x1502.gif and /dev/null differ diff --git a/content/post/2025/05/05/index.md b/content/post/2025/05/05/index.md index 6180158..034c089 100644 --- a/content/post/2025/05/05/index.md +++ b/content/post/2025/05/05/index.md @@ -152,10 +152,10 @@ Những điểm chính: ## Bonus: Vài ảnh hay ho đến từ [ByteByteGo](https://bytebytego.com/) -![How does SSO Work?](img/111cec1b-a195-4ff5-963c-714ceecd01ab_1280x1664.gif) -![How Java Virtual Threads Work?](img/b415d54d-0dbd-428d-a09c-3de0332c0f71_1280x1502.gif) -![Memcached vs Redis](img/8ef255cc-ebbb-4710-9faf-f366274a2bef_1280x1373.gif) -![The Shopify Tech Stack](img/2370fff4-b515-484e-a081-4ce73b2c62c2_1280x1566.gif) +![How does SSO Work?](https://substack-post-media.s3.amazonaws.com/public/images/111cec1b-a195-4ff5-963c-714ceecd01ab_1280x1664.gif) +![How Java Virtual Threads Work?](https://substack-post-media.s3.amazonaws.com/public/images/b415d54d-0dbd-428d-a09c-3de0332c0f71_1280x1502.gif) +![Memcached vs Redis](https://substack-post-media.s3.amazonaws.com/public/images/8ef255cc-ebbb-4710-9faf-f366274a2bef_1280x1373.gif) +![The Shopify Tech Stack](https://substack-post-media.s3.amazonaws.com/public/images/2370fff4-b515-484e-a081-4ce73b2c62c2_1280x1566.gif) ## Bonus 2: Vài video hay ho đến từ [ByteByteGo](https://bytebytego.com/) diff --git a/content/post/2025/05/06/img/5321bec2-0079-47e2-92e9-1cd9950227c8_2250x2624.jpg b/content/post/2025/05/06/img/5321bec2-0079-47e2-92e9-1cd9950227c8_2250x2624.jpg deleted file mode 100644 index 5dbb1d3..0000000 Binary files a/content/post/2025/05/06/img/5321bec2-0079-47e2-92e9-1cd9950227c8_2250x2624.jpg and /dev/null differ diff --git a/content/post/2025/05/06/index.md b/content/post/2025/05/06/index.md index 0ae7ce3..17de3d3 100644 --- a/content/post/2025/05/06/index.md +++ b/content/post/2025/05/06/index.md @@ -49,7 +49,7 @@ Tác giả phân loại các trường hợp cần sự can thiệp của lập ## [CI/CD DevOps Pipeline Project: Deployment of Java Application on Kubernetes](https://dev.to/prodevopsguytech/cicd-devops-pipeline-project-deployment-of-java-application-on-kubernetes-4fi2) -Bài viết này trình bày chi tiết về việc triển khai một hệ thống CI/CD (Continuous Integration/Continuous Deployment) hoàn chỉnh cho ứng dụng Java trên Kubernetes. Đây là một dự án DevOps toàn diện nhằm tự động hóa toàn bộ vòng đời phát triển phần mềm, từ giai đoạn phát triển đến triển khai. +Bài viết này trình bày chi tiết về việc triển khai một hệ thống CI/CD (Continuous Integration/Continuous Deployment) hoàn chỉnh cho ứng dụng Java trên Kubernetes. Đây là một dự án DevOps toàn diện nhằm tự động hóa toàn bộ vòng đời phát triển phần mềm, từ giai đoạn phát triển đến triển khai. Mục tiêu chính của dự án là tự động hóa quy trình phát triển phần mềm, cải thiện tốc độ, độ tin cậy và hiệu quả đồng thời giảm thiểu sự can thiệp thủ công. Dự án sử dụng nhiều công cụ DevOps phổ biến như Jenkins, Maven, SonarQube, Trivy, Nexus Repository, Docker, Kubernetes, Prometheus và Grafana. @@ -181,4 +181,4 @@ Tác giả kết luận rằng cả những người quá lạc quan và quá bi ## Bonus: Vài ảnh hay ho đến từ [ByteByteGo](https://bytebytego.com/) -![Object Oriented Programming Fundamentals](img/5321bec2-0079-47e2-92e9-1cd9950227c8_2250x2624.jpg) +![Object Oriented Programming Fundamentals](https://substack-post-media.s3.amazonaws.com/public/images/5321bec2-0079-47e2-92e9-1cd9950227c8_2250x2624.png) diff --git a/content/post/2025/05/07/img/027a010d-4cd7-436a-9404-e4865f008df5_1309x1536.gif b/content/post/2025/05/07/img/027a010d-4cd7-436a-9404-e4865f008df5_1309x1536.gif deleted file mode 100644 index 568259a..0000000 Binary files a/content/post/2025/05/07/img/027a010d-4cd7-436a-9404-e4865f008df5_1309x1536.gif and /dev/null differ diff --git a/content/post/2025/05/07/img/3efae3ad-8c45-4fb2-a79f-6b3387b0751e_1280x1601.gif b/content/post/2025/05/07/img/3efae3ad-8c45-4fb2-a79f-6b3387b0751e_1280x1601.gif deleted file mode 100644 index 012c773..0000000 Binary files a/content/post/2025/05/07/img/3efae3ad-8c45-4fb2-a79f-6b3387b0751e_1280x1601.gif and /dev/null differ diff --git a/content/post/2025/05/07/img/67c39b9a-9a91-4e57-9e24-7714b4f806dd_1280x1349.gif b/content/post/2025/05/07/img/67c39b9a-9a91-4e57-9e24-7714b4f806dd_1280x1349.gif deleted file mode 100644 index 4d4aec5..0000000 Binary files a/content/post/2025/05/07/img/67c39b9a-9a91-4e57-9e24-7714b4f806dd_1280x1349.gif and /dev/null differ diff --git a/content/post/2025/05/07/img/81074d22-5821-4aec-bb2d-0a099d06b6ac_1600x840.jpg b/content/post/2025/05/07/img/81074d22-5821-4aec-bb2d-0a099d06b6ac_1600x840.jpg deleted file mode 100644 index 4effb90..0000000 Binary files a/content/post/2025/05/07/img/81074d22-5821-4aec-bb2d-0a099d06b6ac_1600x840.jpg and /dev/null differ diff --git a/content/post/2025/05/07/img/fb1b1cd1-eac3-4b66-a391-9ec73f6c37f3_1280x1502.gif b/content/post/2025/05/07/img/fb1b1cd1-eac3-4b66-a391-9ec73f6c37f3_1280x1502.gif deleted file mode 100644 index edeee70..0000000 Binary files a/content/post/2025/05/07/img/fb1b1cd1-eac3-4b66-a391-9ec73f6c37f3_1280x1502.gif and /dev/null differ diff --git a/content/post/2025/05/07/index.md b/content/post/2025/05/07/index.md index a9f1408..39593fe 100644 --- a/content/post/2025/05/07/index.md +++ b/content/post/2025/05/07/index.md @@ -162,8 +162,7 @@ Bảng tra cứu này là một tài nguyên quý giá cho cả sinh viên và c ## Bonus: Vài ảnh hay ho đến từ [ByteByteGo](https://bytebytego.com/) -![3 Steps to Master Your Software](img/81074d22-5821-4aec-bb2d-0a099d06b6ac_1600x840.jpg) -![The Ultimate Software Architect Roadmap](img/67c39b9a-9a91-4e57-9e24-7714b4f806dd_1280x1349.gif) -![What is Retrieval-Augmented Generation (RAG)?](img/027a010d-4cd7-436a-9404-e4865f008df5_1309x1536.gif) -![How Two-factor Authentication (2FA) Works?](img/fb1b1cd1-eac3-4b66-a391-9ec73f6c37f3_1280x1502.gif) -![How Amazon S3 Works?](img/3efae3ad-8c45-4fb2-a79f-6b3387b0751e_1280x1601.gif) +![3 Steps to Master Your Software](https://substack-post-media.s3.amazonaws.com/public/images/81074d22-5821-4aec-bb2d-0a099d06b6ac_1600x840.png) +![The Ultimate Software Architect Roadmap](https://substack-post-media.s3.amazonaws.com/public/images/67c39b9a-9a91-4e57-9e24-7714b4f806dd_1280x1349.gif) +![How Two-factor Authentication (2FA) Works?](https://substack-post-media.s3.amazonaws.com/public/images/fb1b1cd1-eac3-4b66-a391-9ec73f6c37f3_1280x1502.gif) +![How Amazon S3 Works?](https://substack-post-media.s3.amazonaws.com/public/images/3efae3ad-8c45-4fb2-a79f-6b3387b0751e_1280x1601.gif) diff --git a/content/post/2025/05/11/img/1bc9340f-de4f-4767-b2f8-f4c6529e9eea_1309x1536.gif b/content/post/2025/05/11/img/1bc9340f-de4f-4767-b2f8-f4c6529e9eea_1309x1536.gif deleted file mode 100644 index e53fe2e..0000000 Binary files a/content/post/2025/05/11/img/1bc9340f-de4f-4767-b2f8-f4c6529e9eea_1309x1536.gif and /dev/null differ diff --git a/content/post/2025/05/11/img/1e7afaab-de4b-4604-a557-22974fb2e3ea_1280x1532.gif b/content/post/2025/05/11/img/1e7afaab-de4b-4604-a557-22974fb2e3ea_1280x1532.gif deleted file mode 100644 index 24094c1..0000000 Binary files a/content/post/2025/05/11/img/1e7afaab-de4b-4604-a557-22974fb2e3ea_1280x1532.gif and /dev/null differ diff --git a/content/post/2025/05/11/img/1fe69fe9-1e79-45b8-abc3-1d5ce8af280c_2250x2624.jpg b/content/post/2025/05/11/img/1fe69fe9-1e79-45b8-abc3-1d5ce8af280c_2250x2624.jpg deleted file mode 100644 index ebd9c89..0000000 Binary files a/content/post/2025/05/11/img/1fe69fe9-1e79-45b8-abc3-1d5ce8af280c_2250x2624.jpg and /dev/null differ diff --git a/content/post/2025/05/11/img/2a933717-1d59-46a6-ba51-76e24ae048fc_1280x1502.gif b/content/post/2025/05/11/img/2a933717-1d59-46a6-ba51-76e24ae048fc_1280x1502.gif deleted file mode 100644 index 7155061..0000000 Binary files a/content/post/2025/05/11/img/2a933717-1d59-46a6-ba51-76e24ae048fc_1280x1502.gif and /dev/null differ diff --git a/content/post/2025/05/11/img/b9397d70-0232-4a8b-8b3e-edd4c15eb9bb_800x939.gif b/content/post/2025/05/11/img/b9397d70-0232-4a8b-8b3e-edd4c15eb9bb_800x939.gif deleted file mode 100644 index c240d9c..0000000 Binary files a/content/post/2025/05/11/img/b9397d70-0232-4a8b-8b3e-edd4c15eb9bb_800x939.gif and /dev/null differ diff --git a/content/post/2025/05/11/index.md b/content/post/2025/05/11/index.md index 71a9d30..292d98e 100644 --- a/content/post/2025/05/11/index.md +++ b/content/post/2025/05/11/index.md @@ -27,7 +27,7 @@ Bài viết cũng nhấn mạnh rằng với các nhóm nhỏ (có thể họp t - Việc đo lường năng suất là một bài toán phức tạp cần được tiếp cận một cách toàn diện - Cần tránh tạo ra những động lực tiêu cực thông qua việc đo lường - Nên kết hợp nhiều phương pháp và chỉ số khác nhau -- Luôn bắt đầu bằng việc xác định rõ mục đích của việc đo lường +- Luôn bắt đầu bằng việc xác định rõ mục đích của việc đo lường ## [In defense of ruthless managers](https://www.seangoedecke.com/ruthless-managers/) @@ -49,7 +49,7 @@ Tuy nhiên, tác giả cũng nhấn mạnh rằng những ưu điểm này chỉ - Mỗi kiểu quản lý đều có ưu và nhược điểm riêng - Người quản lý tàn nhẫn có thể hiệu quả trong việc thực hiện thay đổi - Giao tiếp rõ ràng và dễ dự đoán là những ưu điểm quan trọng -- Năng lực của người quản lý vẫn là yếu tố quyết định nhất +- Năng lực của người quản lý vẫn là yếu tố quyết định nhất ## [AI ambivalence](https://nolanlawson.com/2025/04/02/ai-ambivalence/) @@ -225,12 +225,12 @@ Bài viết này bổ sung thêm một loại tối ưu hóa quan trọng mà t ## Bonus: Vài ảnh hay ho đến từ [ByteByteGo](https://bytebytego.com/) -![REST API Design Best Practices](img/1fe69fe9-1e79-45b8-abc3-1d5ce8af280c_2250x2624.jpg) -![How to Learn Backend Development?](img/2a933717-1d59-46a6-ba51-76e24ae048fc_1280x1502.gif) -![The Simplified Git Workflow](img/b9397d70-0232-4a8b-8b3e-edd4c15eb9bb_800x939.gif) -![Virtualization vs Containerization](img/1bc9340f-de4f-4767-b2f8-f4c6529e9eea_1309x1536.gif) -![How Netflix Built a Distributed Counter?](img/1e7afaab-de4b-4604-a557-22974fb2e3ea_1280x1532.gif) +![REST API Design Best Practices](https://substack-post-media.s3.amazonaws.com/public/images/4036e9a7-f2b6-476c-ad5d-48916db3b610_1309x1536.gif) +![How to Learn Backend Development?](https://substack-post-media.s3.amazonaws.com/public/images/2a933717-1d59-46a6-ba51-76e24ae048fc_1280x1502.gif) +![The Simplified Git Workflow](https://substack-post-media.s3.amazonaws.com/public/images/b9397d70-0232-4a8b-8b3e-edd4c15eb9bb_800x939.gif) +![Virtualization vs Containerization](https://substack-post-media.s3.amazonaws.com/public/images/1bc9340f-de4f-4767-b2f8-f4c6529e9eea_1309x1536.gif) +![How Netflix Built a Distributed Counter?](https://substack-post-media.s3.amazonaws.com/public/images/1e7afaab-de4b-4604-a557-22974fb2e3ea_1280x1532.gif) ## Bonus 2: Vài video hay ho đến từ [ByteByteGo](https://bytebytego.com/) -[Why Everyone's Talking About MCP?](https://www.youtube.com/watch?v=_d0duu3dED4) \ No newline at end of file +[Why Everyone's Talking About MCP?](https://www.youtube.com/watch?v=_d0duu3dED4) diff --git a/content/post/2025/05/13/img/65279cf0-3266-445d-852b-a45d6ac9afa4_2250x2862.jpg b/content/post/2025/05/13/img/65279cf0-3266-445d-852b-a45d6ac9afa4_2250x2862.jpg deleted file mode 100644 index 31576be..0000000 Binary files a/content/post/2025/05/13/img/65279cf0-3266-445d-852b-a45d6ac9afa4_2250x2862.jpg and /dev/null differ diff --git a/content/post/2025/05/13/img/ai-50-2025.webp b/content/post/2025/05/13/img/ai-50-2025.webp deleted file mode 100644 index fc6de39..0000000 Binary files a/content/post/2025/05/13/img/ai-50-2025.webp and /dev/null differ diff --git a/content/post/2025/05/13/index.md b/content/post/2025/05/13/index.md index 373971c..5d7fc4b 100644 --- a/content/post/2025/05/13/index.md +++ b/content/post/2025/05/13/index.md @@ -29,7 +29,7 @@ John hiện đang đóng góp vào Linux Kernel, triển khai Homa Transport Pro ### Kết luận: -Thiết kế phần mềm vẫn là một kỹ năng quan trọng và không thể thay thế, ngay cả trong kỷ nguyên AI. Việc hiểu và áp dụng các nguyên tắc thiết kế tốt sẽ giúp tạo ra các hệ thống phần mềm bền vững và dễ bảo trì hơn. +Thiết kế phần mềm vẫn là một kỹ năng quan trọng và không thể thay thế, ngay cả trong kỷ nguyên AI. Việc hiểu và áp dụng các nguyên tắc thiết kế tốt sẽ giúp tạo ra các hệ thống phần mềm bền vững và dễ bảo trì hơn. ## [20 years of Git. Still weird, still wonderful](https://blog.gitbutler.com/20-years-of-git) @@ -53,7 +53,7 @@ Sau 20 năm, Git vẫn đang được sử dụng theo cách mà nó được th ### Kết luận: -Git đã đi một chặng đường dài từ một dự án cá nhân đơn giản trở thành công cụ không thể thiếu trong phát triển phần mềm. Câu chuyện về sự phát triển của Git không chỉ là câu chuyện về một công cụ, mà còn là câu chuyện về cách một ý tưởng đơn giản có thể thay đổi hoàn toàn cách chúng ta làm việc với code. +Git đã đi một chặng đường dài từ một dự án cá nhân đơn giản trở thành công cụ không thể thiếu trong phát triển phần mềm. Câu chuyện về sự phát triển của Git không chỉ là câu chuyện về một công cụ, mà còn là câu chuyện về cách một ý tưởng đơn giản có thể thay đổi hoàn toàn cách chúng ta làm việc với code. ## [A Modest Critique of Optional Handling](https://mccue.dev/pages//4-5-25-optional-critique) @@ -65,7 +65,7 @@ Trong bài viết này, Ethan McCue đưa ra một phân tích sâu sắc về v - **Vấn đề với cách sử dụng hiện tại**: Nhiều lập trình viên đang sử dụng Optional như một cách để "giải quyết null", dẫn đến code phức tạp và khó đọc hơn. -- **Hạn chế của Optional**: +- **Hạn chế của Optional**: - Khó xử lý với checked exceptions - Code trở nên phức tạp khi có nhiều Optional lồng nhau - Khó khăn trong việc thay đổi biến local trong lambda @@ -83,7 +83,7 @@ Tác giả cung cấp nhiều ví dụ cụ thể về cách chuyển đổi cod ### Kết luận: -Mặc dù Optional là một tính năng hữu ích trong Java, nhưng việc sử dụng nó cần được cân nhắc kỹ lưỡng. Thay vì tuân theo các quy tắc cứng nhắc về việc "tránh .isPresent/.get", các lập trình viên nên linh hoạt trong việc chọn cách tiếp cận phù hợp với từng tình huống cụ thể. +Mặc dù Optional là một tính năng hữu ích trong Java, nhưng việc sử dụng nó cần được cân nhắc kỹ lưỡng. Thay vì tuân theo các quy tắc cứng nhắc về việc "tránh .isPresent/.get", các lập trình viên nên linh hoạt trong việc chọn cách tiếp cận phù hợp với từng tình huống cụ thể. ## [Project Loom: Structured Concurrency in Java](https://rockthejvm.com/articles/structured-concurrency-in-java) @@ -93,7 +93,7 @@ Trong bài viết này, Riccardo Cardin từ Rock the JVM chia sẻ một hướ - **Giới thiệu về Structured Concurrency**: Đây là một cách tiếp cận mới để quản lý đồng thời trong Java, giúp đơn giản hóa việc viết code đồng thời và tránh các vấn đề phổ biến như rò rỉ thread. -- **Cấu hình Project**: +- **Cấu hình Project**: - Yêu cầu Java 23 với preview features - Cấu hình Maven để hỗ trợ structured concurrency - Sử dụng SLF4J và Logback cho logging @@ -125,7 +125,7 @@ Tác giả cung cấp một ví dụ cụ thể về việc triển khai structu ### Kết luận: -Structured Concurrency trong Project Loom đánh dấu một bước tiến quan trọng trong việc xử lý đồng thời trong Java. Tính năng này không chỉ giúp code dễ viết hơn mà còn an toàn hơn, giảm thiểu các vấn đề phổ biến trong lập trình đồng thời. Với việc được tích hợp vào Java 23, đây là thời điểm tốt để các developer bắt đầu tìm hiểu và áp dụng tính năng này vào các dự án của mình. +Structured Concurrency trong Project Loom đánh dấu một bước tiến quan trọng trong việc xử lý đồng thời trong Java. Tính năng này không chỉ giúp code dễ viết hơn mà còn an toàn hơn, giảm thiểu các vấn đề phổ biến trong lập trình đồng thời. Với việc được tích hợp vào Java 23, đây là thời điểm tốt để các developer bắt đầu tìm hiểu và áp dụng tính năng này vào các dự án của mình. ## [Go's HTTP Server Patterns in Java 25](https://mccue.dev/pages/4-5-25-go-http-server) @@ -133,7 +133,7 @@ Trong bài viết này, Ethan McCue chia sẻ cách triển khai các mẫu HTTP ### Những điểm chính: -- **Giới thiệu về jdk.httpserver**: +- **Giới thiệu về jdk.httpserver**: - Module mới trong Java cho phép tạo HTTP server đơn giản - Tương tự như cách Go xử lý HTTP server - Phù hợp cho phát triển và prototyping @@ -169,7 +169,7 @@ Tác giả minh họa việc xây dựng một wiki server với các chức nă ### Kết luận: -Mặc dù `jdk.httpserver` được đánh dấu là "for development only", nó cung cấp một cách tiếp cận đơn giản và hiệu quả để xây dựng HTTP server trong Java, tương tự như cách Go làm. Điều này mở ra khả năng phát triển nhanh các ứng dụng web đơn giản mà không cần đến các framework phức tạp. Tuy nhiên, cho môi trường production, tác giả khuyến nghị sử dụng các server chuyên nghiệp như Jetty. +Mặc dù `jdk.httpserver` được đánh dấu là "for development only", nó cung cấp một cách tiếp cận đơn giản và hiệu quả để xây dựng HTTP server trong Java, tương tự như cách Go làm. Điều này mở ra khả năng phát triển nhanh các ứng dụng web đơn giản mà không cần đến các framework phức tạp. Tuy nhiên, cho môi trường production, tác giả khuyến nghị sử dụng các server chuyên nghiệp như Jetty. ## [Java is dying and it paid off my mortgage](https://alyosha.net/posts/java-is-dying-and-it-paid-off-my-mortgage/) @@ -206,7 +206,7 @@ Tác giả chia sẻ câu chuyện cá nhân: ### Kết luận: -Bài viết đưa ra một góc nhìn mới về việc theo đuổi sự nghiệp trong lĩnh vực phát triển phần mềm. Thay vì chạy theo các xu hướng công nghệ mới, việc làm chủ các công nghệ đã trưởng thành như Java có thể mang lại sự ổn định và thành công lâu dài. Câu chuyện của tác giả là một minh chứng cho thấy đôi khi những lựa chọn "không phổ biến" lại có thể là lựa chọn tốt nhất cho sự nghiệp. +Bài viết đưa ra một góc nhìn mới về việc theo đuổi sự nghiệp trong lĩnh vực phát triển phần mềm. Thay vì chạy theo các xu hướng công nghệ mới, việc làm chủ các công nghệ đã trưởng thành như Java có thể mang lại sự ổn định và thành công lâu dài. Câu chuyện của tác giả là một minh chứng cho thấy đôi khi những lựa chọn "không phổ biến" lại có thể là lựa chọn tốt nhất cho sự nghiệp. ## [Refining var-handles in Valhalla](https://cr.openjdk.org/~jrose/values/atomic-value-access-api.html) @@ -251,7 +251,7 @@ Tác giả cung cấp pseudocode chi tiết cho việc triển khai: ### Kết luận: -Việc cải tiến var-handles trong Valhalla là một bước quan trọng để hỗ trợ tốt hơn cho value types trong Java. Cách tiếp cận mới giúp đơn giản hóa việc xử lý atomic operations và cải thiện hiệu suất của ứng dụng. Tuy nhiên, đây là một API phức tạp và chỉ nên được sử dụng bởi các developer có kinh nghiệm. +Việc cải tiến var-handles trong Valhalla là một bước quan trọng để hỗ trợ tốt hơn cho value types trong Java. Cách tiếp cận mới giúp đơn giản hóa việc xử lý atomic operations và cải thiện hiệu suất của ứng dụng. Tuy nhiên, đây là một API phức tạp và chỉ nên được sử dụng bởi các developer có kinh nghiệm. ## [Cấu hình domain .localhost cho ứng dụng local](https://inclouds.space/localhost-domains) @@ -299,11 +299,11 @@ Tác giả đề xuất một số cải tiến trong tương lai: ### Kết luận: -Cách tiếp cận này mang lại nhiều lợi ích cho việc phát triển và kiểm thử ứng dụng web locally. Nó giúp đơn giản hóa việc truy cập các ứng dụng và tạo ra một môi trường phát triển chuyên nghiệp hơn. Mặc dù cần một số cấu hình ban đầu, nhưng lợi ích mang lại là đáng kể, đặc biệt khi làm việc với nhiều ứng dụng cùng lúc. +Cách tiếp cận này mang lại nhiều lợi ích cho việc phát triển và kiểm thử ứng dụng web locally. Nó giúp đơn giản hóa việc truy cập các ứng dụng và tạo ra một môi trường phát triển chuyên nghiệp hơn. Mặc dù cần một số cấu hình ban đầu, nhưng lợi ích mang lại là đáng kể, đặc biệt khi làm việc với nhiều ứng dụng cùng lúc. ## [AI 50: AI Agents Move Beyond Chat](https://www.sequoiacap.com/article/ai-50-2025/) -![](img/ai-50-2025.webp) +![](https://sequoiacap.com/wp-content/uploads/sites/6/2025/04/ai-50-2025.png) Trong bài viết này, Konstantine Buhler từ Sequoia Capital phân tích xu hướng AI năm 2025, đặc biệt là sự chuyển đổi từ AI chỉ trả lời câu hỏi sang AI thực sự thực hiện công việc. @@ -342,8 +342,8 @@ Các công ty trong danh sách AI 50 đã chứng minh: ### Kết luận: -Năm 2025 đánh dấu bước ngoặt quan trọng trong phát triển AI, chuyển từ công cụ trả lời sang công cụ hành động. Mặc dù vẫn còn thách thức về độ chính xác và bảo mật, nhưng xu hướng phát triển là không thể phủ nhận. Các tiến bộ trong doanh nghiệp sẽ dần lan tỏa sang đời sống hàng ngày, mở ra một kỷ nguyên mới cho AI trong năm 2026. +Năm 2025 đánh dấu bước ngoặt quan trọng trong phát triển AI, chuyển từ công cụ trả lời sang công cụ hành động. Mặc dù vẫn còn thách thức về độ chính xác và bảo mật, nhưng xu hướng phát triển là không thể phủ nhận. Các tiến bộ trong doanh nghiệp sẽ dần lan tỏa sang đời sống hàng ngày, mở ra một kỷ nguyên mới cho AI trong năm 2026. ## Vài ảnh hay ho đến từ [ByteByteGo](https://bytebytego.com/) -![A Cheatsheet On OOP Design Patterns](img/65279cf0-3266-445d-852b-a45d6ac9afa4_2250x2862.jpg) \ No newline at end of file +![A Cheatsheet On OOP Design Patterns](https://substack-post-media.s3.amazonaws.com/public/images/65279cf0-3266-445d-852b-a45d6ac9afa4_2250x2862.png) diff --git a/content/post/2025/07/23/img/Gpw1p1waYAAeAyY.jpg b/content/post/2025/07/23/img/Gpw1p1waYAAeAyY.jpg deleted file mode 100644 index 2da4418..0000000 Binary files a/content/post/2025/07/23/img/Gpw1p1waYAAeAyY.jpg and /dev/null differ diff --git a/content/post/2025/07/23/index.md b/content/post/2025/07/23/index.md index f7d996b..86dda27 100644 --- a/content/post/2025/07/23/index.md +++ b/content/post/2025/07/23/index.md @@ -42,7 +42,7 @@ Các nguyên tắc chính của DOP bao gồm: mô hình hóa dữ liệu bất Java hiện đại hỗ trợ DOP thông qua nhiều tính năng mới: - **Records**: Các lớp dữ liệu nhẹ và bất biến -- **Sealed Classes**: Hạn chế các kiểu con có thể có để mô hình hóa dữ liệu dự đoán được hơn +- **Sealed Classes**: Hạn chế các kiểu con có thể có để mô hình hóa dữ liệu dự đoán được hơn - **Pattern Matching và Switch Expressions**: Cho phép kiểm tra kiểu toàn diện và xử lý dữ liệu sạch sẽ Lợi ích của DOP bao gồm mã nguồn đơn giản và dễ đọc hơn, khả năng bảo trì được cải thiện, giảm sự kết nối chặt chẽ giữa các thành phần hệ thống, dễ dàng kiểm thử các hàm độc lập, và tái cấu trúc an toàn hơn. @@ -117,4 +117,4 @@ Trong thời đại AI trợ lý lập trình ngày càng phổ biến, một th ## [Cursor best practices](https://x.com/paraschopra/status/1917466537637859544) -![Cursor best practices](img/Gpw1p1waYAAeAyY.jpg) +![Cursor best practices](https://pbs.twimg.com/media/Gpw1p1waYAAeAyY?format=jpg) diff --git a/content/post/2025/08/19/img/1a16589b-604b-4954-9a25-ac2cc07eeed9_2250x2862.jpg b/content/post/2025/08/19/img/1a16589b-604b-4954-9a25-ac2cc07eeed9_2250x2862.jpg deleted file mode 100644 index 7b3ea43..0000000 Binary files a/content/post/2025/08/19/img/1a16589b-604b-4954-9a25-ac2cc07eeed9_2250x2862.jpg and /dev/null differ diff --git a/content/post/2025/08/19/img/292f3b60-c96a-4d5e-962b-408cef38750c_2250x2862.jpg b/content/post/2025/08/19/img/292f3b60-c96a-4d5e-962b-408cef38750c_2250x2862.jpg deleted file mode 100644 index 9ec48a7..0000000 Binary files a/content/post/2025/08/19/img/292f3b60-c96a-4d5e-962b-408cef38750c_2250x2862.jpg and /dev/null differ diff --git a/content/post/2025/08/19/img/2b9b3f22-fd5f-4c0b-bc64-27d7c2fde1e2_1280x1502.gif b/content/post/2025/08/19/img/2b9b3f22-fd5f-4c0b-bc64-27d7c2fde1e2_1280x1502.gif deleted file mode 100644 index 6d554eb..0000000 Binary files a/content/post/2025/08/19/img/2b9b3f22-fd5f-4c0b-bc64-27d7c2fde1e2_1280x1502.gif and /dev/null differ diff --git a/content/post/2025/08/19/img/3eedbbd4-e0a4-4519-be5c-ee0c644df55f_1280x1502.gif b/content/post/2025/08/19/img/3eedbbd4-e0a4-4519-be5c-ee0c644df55f_1280x1502.gif deleted file mode 100644 index ecb9cba..0000000 Binary files a/content/post/2025/08/19/img/3eedbbd4-e0a4-4519-be5c-ee0c644df55f_1280x1502.gif and /dev/null differ diff --git a/content/post/2025/08/19/img/3ffe492a-215d-4428-8d18-f23b2d970218_3375x3375.jpg b/content/post/2025/08/19/img/3ffe492a-215d-4428-8d18-f23b2d970218_3375x3375.jpg deleted file mode 100644 index ecbc362..0000000 Binary files a/content/post/2025/08/19/img/3ffe492a-215d-4428-8d18-f23b2d970218_3375x3375.jpg and /dev/null differ diff --git a/content/post/2025/08/19/img/87b06b99-818a-410d-a630-3961851617f3_1283x1536.gif b/content/post/2025/08/19/img/87b06b99-818a-410d-a630-3961851617f3_1283x1536.gif deleted file mode 100644 index 6b404a2..0000000 Binary files a/content/post/2025/08/19/img/87b06b99-818a-410d-a630-3961851617f3_1283x1536.gif and /dev/null differ diff --git a/content/post/2025/08/19/img/a42c9ba4-0951-42b1-94e3-1e9a055c476c_1280x1581.gif b/content/post/2025/08/19/img/a42c9ba4-0951-42b1-94e3-1e9a055c476c_1280x1581.gif deleted file mode 100644 index a3bd66a..0000000 Binary files a/content/post/2025/08/19/img/a42c9ba4-0951-42b1-94e3-1e9a055c476c_1280x1581.gif and /dev/null differ diff --git a/content/post/2025/08/19/img/bda0fcd6-d0f3-485f-826e-e64e8ad041e0_1309x1536.gif b/content/post/2025/08/19/img/bda0fcd6-d0f3-485f-826e-e64e8ad041e0_1309x1536.gif deleted file mode 100644 index 9a6a4d4..0000000 Binary files a/content/post/2025/08/19/img/bda0fcd6-d0f3-485f-826e-e64e8ad041e0_1309x1536.gif and /dev/null differ diff --git a/content/post/2025/08/19/img/bfc82003-280b-47a9-93a6-2600afe7f7a8_1309x1536.gif b/content/post/2025/08/19/img/bfc82003-280b-47a9-93a6-2600afe7f7a8_1309x1536.gif deleted file mode 100644 index fd2f300..0000000 Binary files a/content/post/2025/08/19/img/bfc82003-280b-47a9-93a6-2600afe7f7a8_1309x1536.gif and /dev/null differ diff --git a/content/post/2025/08/19/img/c2d55082-3853-45c1-922a-55321e2dbbcb_1280x1680.gif b/content/post/2025/08/19/img/c2d55082-3853-45c1-922a-55321e2dbbcb_1280x1680.gif deleted file mode 100644 index 864c601..0000000 Binary files a/content/post/2025/08/19/img/c2d55082-3853-45c1-922a-55321e2dbbcb_1280x1680.gif and /dev/null differ diff --git a/content/post/2025/08/19/img/cc72d79b-1734-4a93-a932-6b3d10c04c7d_1280x1664.gif b/content/post/2025/08/19/img/cc72d79b-1734-4a93-a932-6b3d10c04c7d_1280x1664.gif deleted file mode 100644 index e6fc4a3..0000000 Binary files a/content/post/2025/08/19/img/cc72d79b-1734-4a93-a932-6b3d10c04c7d_1280x1664.gif and /dev/null differ diff --git a/content/post/2025/08/19/img/ea385c61-b3d2-4ecb-8c22-b43587ea85e5_1280x1585.gif b/content/post/2025/08/19/img/ea385c61-b3d2-4ecb-8c22-b43587ea85e5_1280x1585.gif deleted file mode 100644 index 0a14409..0000000 Binary files a/content/post/2025/08/19/img/ea385c61-b3d2-4ecb-8c22-b43587ea85e5_1280x1585.gif and /dev/null differ diff --git a/content/post/2025/08/19/img/eda9d3e8-85e0-403c-a9e4-af832df8ff3e_1280x1502.gif b/content/post/2025/08/19/img/eda9d3e8-85e0-403c-a9e4-af832df8ff3e_1280x1502.gif deleted file mode 100644 index 063a13e..0000000 Binary files a/content/post/2025/08/19/img/eda9d3e8-85e0-403c-a9e4-af832df8ff3e_1280x1502.gif and /dev/null differ diff --git a/content/post/2025/08/19/img/f3c20adf-c285-4abf-bf87-8a9cc044aeed_1280x1546.jpg b/content/post/2025/08/19/img/f3c20adf-c285-4abf-bf87-8a9cc044aeed_1280x1546.jpg deleted file mode 100644 index a79af1a..0000000 Binary files a/content/post/2025/08/19/img/f3c20adf-c285-4abf-bf87-8a9cc044aeed_1280x1546.jpg and /dev/null differ diff --git a/content/post/2025/08/19/img/f8fa0a70-5806-411b-90ea-71ce6a007fe4_1280x1425.gif b/content/post/2025/08/19/img/f8fa0a70-5806-411b-90ea-71ce6a007fe4_1280x1425.gif deleted file mode 100644 index 90f545f..0000000 Binary files a/content/post/2025/08/19/img/f8fa0a70-5806-411b-90ea-71ce6a007fe4_1280x1425.gif and /dev/null differ diff --git a/content/post/2025/08/19/img/f9742557-fb6c-40c1-8590-56234a0666c2_1280x1664.gif b/content/post/2025/08/19/img/f9742557-fb6c-40c1-8590-56234a0666c2_1280x1664.gif deleted file mode 100644 index 825e118..0000000 Binary files a/content/post/2025/08/19/img/f9742557-fb6c-40c1-8590-56234a0666c2_1280x1664.gif and /dev/null differ diff --git a/content/post/2025/08/19/img/https___substack-post-media.s3.amazonaws.com_public_images_0375ebc8-e7eb-4e5f-bf2b-d49eb9cf3ecb_1280x1502.gif b/content/post/2025/08/19/img/https___substack-post-media.s3.amazonaws.com_public_images_0375ebc8-e7eb-4e5f-bf2b-d49eb9cf3ecb_1280x1502.gif deleted file mode 100644 index 4545d2b..0000000 Binary files a/content/post/2025/08/19/img/https___substack-post-media.s3.amazonaws.com_public_images_0375ebc8-e7eb-4e5f-bf2b-d49eb9cf3ecb_1280x1502.gif and /dev/null differ diff --git a/content/post/2025/08/19/index.md b/content/post/2025/08/19/index.md index f819ad9..a878177 100644 --- a/content/post/2025/08/19/index.md +++ b/content/post/2025/08/19/index.md @@ -6,39 +6,31 @@ tags: ["ByteByteGo"] *Nếu các bạn để ý thì chắc cũng thấy các Newsletter gần đây vắng bóng mục Bonus: Một số hình ảnh hay ho đến từ [ByteByteGo](https://bytebytego.com/). Và đúng là như vậy, sự thật là vì chèn hình ảnh thì mình chèn bằng tay chứ không nhờ AI Agent, nên là mình skip hết các ảnh mình thấy. Và bây giờ tích cũng khá nhiều rồi nên mình sẽ "xả ảnh" 1 loạt luôn hehe. Nói thể thôi chứ nhiều lắm, có khi sẽ cần P2, P3,... nữa :v Thôi không vòng vo nữa, mời các bạn đến với thế giới ảnh của ByteByteGo đợt này.* -![How to Learn API Development?](img/3eedbbd4-e0a4-4519-be5c-ee0c644df55f_1280x1502.gif) +![How to Learn API Development?](https://substack-post-media.s3.amazonaws.com/public/images/3eedbbd4-e0a4-4519-be5c-ee0c644df55f_1280x1502.gif) -![Must-Know Network Protocol Dependencies](img/bda0fcd6-d0f3-485f-826e-e64e8ad041e0_1309x1536.gif) +![Must-Know Network Protocol Dependencies](https://substack-post-media.s3.amazonaws.com/public/images/bda0fcd6-d0f3-485f-826e-e64e8ad041e0_1309x1536.gif) -![Top AI Coding Tools for Developers You Can Use in 2025](img/https___substack-post-media.s3.amazonaws.com_public_images_0375ebc8-e7eb-4e5f-bf2b-d49eb9cf3ecb_1280x1502.gif) +![18 Key Design Patterns Every Developer Should Know](https://substack-post-media.s3.amazonaws.com/public/images/cc72d79b-1734-4a93-a932-6b3d10c04c7d_1280x1664.gif) -![18 Key Design Patterns Every Developer Should Know](img/cc72d79b-1734-4a93-a932-6b3d10c04c7d_1280x1664.gif) +![Coupling and Cohesion: The Two Principles for Effective Architecture](https://substack-post-media.s3.amazonaws.com/public/images/1a16589b-604b-4954-9a25-ac2cc07eeed9_2250x2862.png) -![Coupling and Cohesion: The Two Principles for Effective Architecture](img/1a16589b-604b-4954-9a25-ac2cc07eeed9_2250x2862.jpg) +![The Data Engineering Roadmap](https://substack-post-media.s3.amazonaws.com/public/images/c2d55082-3853-45c1-922a-55321e2dbbcb_1280x1680.gif) -![The Data Engineering Roadmap](img/c2d55082-3853-45c1-922a-55321e2dbbcb_1280x1680.gif) +![Popular interview question: What is the difference between Process and Thread?](https://substack-post-media.s3.amazonaws.com/public/images/f9742557-fb6c-40c1-8590-56234a0666c2_1280x1664.gif) -![Popular interview question: What is the difference between Process and Thread?](img/f9742557-fb6c-40c1-8590-56234a0666c2_1280x1664.gif) +![What do version numbers mean?](https://substack-post-media.s3.amazonaws.com/public/images/a42c9ba4-0951-42b1-94e3-1e9a055c476c_1280x1581.gif) -![What do version numbers mean?](img/a42c9ba4-0951-42b1-94e3-1e9a055c476c_1280x1581.gif) +![A Cheatsheet On Domain-Driven Design](https://substack-post-media.s3.amazonaws.com/public/images/292f3b60-c96a-4d5e-962b-408cef38750c_2250x2862.png) -![How Transformers Architecture Works?](img/eda9d3e8-85e0-403c-a9e4-af832df8ff3e_1280x1502.gif) +![Top 20 System Design Concepts You Should Know](https://substack-post-media.s3.amazonaws.com/public/images/f3c20adf-c285-4abf-bf87-8a9cc044aeed_1280x1546.jpeg) -![Top YouTube Channels and Blogs for AI Learning in 2025](img/2b9b3f22-fd5f-4c0b-bc64-27d7c2fde1e2_1280x1502.gif) +![What is an AI Agent?](https://substack-post-media.s3.amazonaws.com/public/images/87b06b99-818a-410d-a630-3961851617f3_1283x1536.gif) -![A Cheatsheet On Domain-Driven Design](img/292f3b60-c96a-4d5e-962b-408cef38750c_2250x2862.jpg) +![Essential Git Cheatsheet!](https://substack-post-media.s3.amazonaws.com/public/images/f8fa0a70-5806-411b-90ea-71ce6a007fe4_1280x1425.gif) -![Top 20 System Design Concepts You Should Know](img/f3c20adf-c285-4abf-bf87-8a9cc044aeed_1280x1546.jpg) +![9 OOP Design Patterns You Must Know](https://substack-post-media.s3.amazonaws.com/public/images/bfc82003-280b-47a9-93a6-2600afe7f7a8_1309x1536.gif) -![What is an AI Agent?](img/87b06b99-818a-410d-a630-3961851617f3_1283x1536.gif) - -![Essential Git Cheatsheet!](img/f8fa0a70-5806-411b-90ea-71ce6a007fe4_1280x1425.gif) - -![9 OOP Design Patterns You Must Know](img/bfc82003-280b-47a9-93a6-2600afe7f7a8_1309x1536.gif) - -![The Fundamental Pillars of Object-Oriented Programming](img/ea385c61-b3d2-4ecb-8c22-b43587ea85e5_1280x1585.gif) - -![How Docker Revolutionizes MCP](img/3ffe492a-215d-4428-8d18-f23b2d970218_3375x3375.jpg) +![The Fundamental Pillars of Object-Oriented Programming](https://substack-post-media.s3.amazonaws.com/public/images/ea385c61-b3d2-4ecb-8c22-b43587ea85e5_1280x1585.gif) ## Và một số video diff --git a/content/post/2025/08/20/img/0f92402a-8be5-4b30-bc87-76f19dce3114_1280x1502.jpg b/content/post/2025/08/20/img/0f92402a-8be5-4b30-bc87-76f19dce3114_1280x1502.jpg deleted file mode 100644 index ee63e70..0000000 Binary files a/content/post/2025/08/20/img/0f92402a-8be5-4b30-bc87-76f19dce3114_1280x1502.jpg and /dev/null differ diff --git a/content/post/2025/08/20/img/25af8b79-f58d-4b9c-aeaa-b6ffb8b93f39_1280x1608.gif b/content/post/2025/08/20/img/25af8b79-f58d-4b9c-aeaa-b6ffb8b93f39_1280x1608.gif deleted file mode 100644 index 09b4bfd..0000000 Binary files a/content/post/2025/08/20/img/25af8b79-f58d-4b9c-aeaa-b6ffb8b93f39_1280x1608.gif and /dev/null differ diff --git a/content/post/2025/08/20/img/337fbca9-f069-467c-a44c-d7461856ce23_1280x1664.gif b/content/post/2025/08/20/img/337fbca9-f069-467c-a44c-d7461856ce23_1280x1664.gif deleted file mode 100644 index f7477a8..0000000 Binary files a/content/post/2025/08/20/img/337fbca9-f069-467c-a44c-d7461856ce23_1280x1664.gif and /dev/null differ diff --git a/content/post/2025/08/20/img/3530d961-653b-4631-95db-004c0df05073_2250x2624.jpg b/content/post/2025/08/20/img/3530d961-653b-4631-95db-004c0df05073_2250x2624.jpg deleted file mode 100644 index bc4778e..0000000 Binary files a/content/post/2025/08/20/img/3530d961-653b-4631-95db-004c0df05073_2250x2624.jpg and /dev/null differ diff --git a/content/post/2025/08/20/img/4036e9a7-f2b6-476c-ad5d-48916db3b610_1309x1536.gif b/content/post/2025/08/20/img/4036e9a7-f2b6-476c-ad5d-48916db3b610_1309x1536.gif deleted file mode 100644 index ce8b4d9..0000000 Binary files a/content/post/2025/08/20/img/4036e9a7-f2b6-476c-ad5d-48916db3b610_1309x1536.gif and /dev/null differ diff --git a/content/post/2025/08/20/img/73fccf8d-dabe-42b9-9802-1f71ed865a32_1541x1536.jpg b/content/post/2025/08/20/img/73fccf8d-dabe-42b9-9802-1f71ed865a32_1541x1536.jpg deleted file mode 100644 index 93a0b70..0000000 Binary files a/content/post/2025/08/20/img/73fccf8d-dabe-42b9-9802-1f71ed865a32_1541x1536.jpg and /dev/null differ diff --git a/content/post/2025/08/20/img/7a12caa3-603d-43b0-954e-f7b450281ae8_1280x1502.gif b/content/post/2025/08/20/img/7a12caa3-603d-43b0-954e-f7b450281ae8_1280x1502.gif deleted file mode 100644 index 0077f92..0000000 Binary files a/content/post/2025/08/20/img/7a12caa3-603d-43b0-954e-f7b450281ae8_1280x1502.gif and /dev/null differ diff --git a/content/post/2025/08/20/img/8a4a708d-20f3-47d9-92a0-ac826585711e_1280x1664.gif b/content/post/2025/08/20/img/8a4a708d-20f3-47d9-92a0-ac826585711e_1280x1664.gif deleted file mode 100644 index 1e2eec8..0000000 Binary files a/content/post/2025/08/20/img/8a4a708d-20f3-47d9-92a0-ac826585711e_1280x1664.gif and /dev/null differ diff --git a/content/post/2025/08/20/img/8ea2cf88-f4a3-4135-8801-dcaa1eacadcc_2250x2624.jpg b/content/post/2025/08/20/img/8ea2cf88-f4a3-4135-8801-dcaa1eacadcc_2250x2624.jpg deleted file mode 100644 index 83c9479..0000000 Binary files a/content/post/2025/08/20/img/8ea2cf88-f4a3-4135-8801-dcaa1eacadcc_2250x2624.jpg and /dev/null differ diff --git a/content/post/2025/08/20/img/a1bd7046-865b-4496-bbc5-f7ded4e22dfd_1921x1536.jpg b/content/post/2025/08/20/img/a1bd7046-865b-4496-bbc5-f7ded4e22dfd_1921x1536.jpg deleted file mode 100644 index a577eae..0000000 Binary files a/content/post/2025/08/20/img/a1bd7046-865b-4496-bbc5-f7ded4e22dfd_1921x1536.jpg and /dev/null differ diff --git a/content/post/2025/08/20/img/aa4b4949-70e8-4c9a-902d-70e179513bb2_2250x2624.jpg b/content/post/2025/08/20/img/aa4b4949-70e8-4c9a-902d-70e179513bb2_2250x2624.jpg deleted file mode 100644 index c57d9bc..0000000 Binary files a/content/post/2025/08/20/img/aa4b4949-70e8-4c9a-902d-70e179513bb2_2250x2624.jpg and /dev/null differ diff --git a/content/post/2025/08/20/img/e369aaeb-f74b-4923-a3d9-410a46ee5594_2250x2624.jpg b/content/post/2025/08/20/img/e369aaeb-f74b-4923-a3d9-410a46ee5594_2250x2624.jpg deleted file mode 100644 index 4585d92..0000000 Binary files a/content/post/2025/08/20/img/e369aaeb-f74b-4923-a3d9-410a46ee5594_2250x2624.jpg and /dev/null differ diff --git a/content/post/2025/08/20/img/f22fad89-0da7-4390-bde8-178e56221449_1280x1502.gif b/content/post/2025/08/20/img/f22fad89-0da7-4390-bde8-178e56221449_1280x1502.gif deleted file mode 100644 index d730cb6..0000000 Binary files a/content/post/2025/08/20/img/f22fad89-0da7-4390-bde8-178e56221449_1280x1502.gif and /dev/null differ diff --git a/content/post/2025/08/20/img/f88bba04-c206-49a3-9e7b-4aecee486b06_1280x1547.gif b/content/post/2025/08/20/img/f88bba04-c206-49a3-9e7b-4aecee486b06_1280x1547.gif deleted file mode 100644 index 43ae209..0000000 Binary files a/content/post/2025/08/20/img/f88bba04-c206-49a3-9e7b-4aecee486b06_1280x1547.gif and /dev/null differ diff --git a/content/post/2025/08/20/img/fa29d150-f51a-43c0-99e1-28031a59c1b7_1530x1536.jpg b/content/post/2025/08/20/img/fa29d150-f51a-43c0-99e1-28031a59c1b7_1530x1536.jpg deleted file mode 100644 index 0fbd22e..0000000 Binary files a/content/post/2025/08/20/img/fa29d150-f51a-43c0-99e1-28031a59c1b7_1530x1536.jpg and /dev/null differ diff --git a/content/post/2025/08/20/img/https___substack-post-media.s3.amazonaws.com_public_images_1e486766-bf1a-4f75-9003-9d382d567855_1280x1502.gif b/content/post/2025/08/20/img/https___substack-post-media.s3.amazonaws.com_public_images_1e486766-bf1a-4f75-9003-9d382d567855_1280x1502.gif deleted file mode 100644 index 8de14f5..0000000 Binary files a/content/post/2025/08/20/img/https___substack-post-media.s3.amazonaws.com_public_images_1e486766-bf1a-4f75-9003-9d382d567855_1280x1502.gif and /dev/null differ diff --git a/content/post/2025/08/20/img/https___substack-post-media.s3.amazonaws.com_public_images_4b6b777c-9e12-4b56-bd27-75c01987abe6_1280x1502.gif b/content/post/2025/08/20/img/https___substack-post-media.s3.amazonaws.com_public_images_4b6b777c-9e12-4b56-bd27-75c01987abe6_1280x1502.gif deleted file mode 100644 index c794330..0000000 Binary files a/content/post/2025/08/20/img/https___substack-post-media.s3.amazonaws.com_public_images_4b6b777c-9e12-4b56-bd27-75c01987abe6_1280x1502.gif and /dev/null differ diff --git a/content/post/2025/08/20/index.md b/content/post/2025/08/20/index.md index 4b2d8ca..43f71d4 100644 --- a/content/post/2025/08/20/index.md +++ b/content/post/2025/08/20/index.md @@ -6,39 +6,39 @@ tags: ["ByteByteGo"] *Vì còn quá nhiều ảnh của [ByteByteGo](https://bytebytego.com/) nên xin mời các bạn đến với phần 2 hehe. Hiện tại thì mình đã lọc ra bớt, chỉ up những ảnh mình thấy là tâm đắc mà thôi.* -![Synchronous vs Asynchronous](img/e369aaeb-f74b-4923-a3d9-410a46ee5594_2250x2624.jpg) +![Synchronous vs Asynchronous](https://substackcdn.com/image/fetch/$s_!5Nbl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe369aaeb-f74b-4923-a3d9-410a46ee5594_2250x2624.heic) -![A Cheatsheet on REST API Design Best Practices](img/4036e9a7-f2b6-476c-ad5d-48916db3b610_1309x1536.gif) +![A Cheatsheet on REST API Design Best Practices](https://substack-post-media.s3.amazonaws.com/public/images/4036e9a7-f2b6-476c-ad5d-48916db3b610_1309x1536.gif) -![9 Clean Code Principles To Keep In Mind](img/f88bba04-c206-49a3-9e7b-4aecee486b06_1280x1547.gif) +![9 Clean Code Principles To Keep In Mind](https://substack-post-media.s3.amazonaws.com/public/images/f88bba04-c206-49a3-9e7b-4aecee486b06_1280x1547.gif) -![The 4 Types of SQL Joins](img/0f92402a-8be5-4b30-bc87-76f19dce3114_1280x1502.jpg) +![The 4 Types of SQL Joins](https://substack-post-media.s3.amazonaws.com/public/images/0f92402a-8be5-4b30-bc87-76f19dce3114_1280x1502.png) -![Visualizing a SQL query](img/337fbca9-f069-467c-a44c-d7461856ce23_1280x1664.gif) +![Visualizing a SQL query](https://substack-post-media.s3.amazonaws.com/public/images/337fbca9-f069-467c-a44c-d7461856ce23_1280x1664.gif) -![Explaining JSON Web Token (JWT) with simple terms](img/fa29d150-f51a-43c0-99e1-28031a59c1b7_1530x1536.jpg) +![Explaining JSON Web Token (JWT) with simple terms](https://substack-post-media.s3.amazonaws.com/public/images/fa29d150-f51a-43c0-99e1-28031a59c1b7_1530x1536.jpeg) -![Understanding Eventual Consistency](img/aa4b4949-70e8-4c9a-902d-70e179513bb2_2250x2624.jpg) +![Understanding Eventual Consistency](https://substack-post-media.s3.amazonaws.com/public/images/aa4b4949-70e8-4c9a-902d-70e179513bb2_2250x2624.png) -![How to Deploy Services](img/8a4a708d-20f3-47d9-92a0-ac826585711e_1280x1664.gif) +![How to Deploy Services](https://substack-post-media.s3.amazonaws.com/public/images/8a4a708d-20f3-47d9-92a0-ac826585711e_1280x1664.gif) -![The System Design Topic Map](img/f22fad89-0da7-4390-bde8-178e56221449_1280x1502.gif) +![The System Design Topic Map](https://substack-post-media.s3.amazonaws.com/public/images/f22fad89-0da7-4390-bde8-178e56221449_1280x1502.gif) -![API Gateway Versus Service Mesh](img/3530d961-653b-4631-95db-004c0df05073_2250x2624.jpg) +![API Gateway Versus Service Mesh](https://substack-post-media.s3.amazonaws.com/public/images/3530d961-653b-4631-95db-004c0df05073_2250x2624.png) -![JWT Simply Explained](img/25af8b79-f58d-4b9c-aeaa-b6ffb8b93f39_1280x1608.gif) +![JWT Simply Explained](https://substack-post-media.s3.amazonaws.com/public/images/25af8b79-f58d-4b9c-aeaa-b6ffb8b93f39_1280x1608.gif) -![The 5 Pillars of API Design](img/https___substack-post-media.s3.amazonaws.com_public_images_4b6b777c-9e12-4b56-bd27-75c01987abe6_1280x1502.gif) +![The 5 Pillars of API Design](https://substack-post-media.s3.amazonaws.com/public/images/4b6b777c-9e12-4b56-bd27-75c01987abe6_1280x1502.gif) -![How Computer Memory Works?](img/7a12caa3-603d-43b0-954e-f7b450281ae8_1280x1502.gif) +![How Computer Memory Works?](https://substack-post-media.s3.amazonaws.com/public/images/7a12caa3-603d-43b0-954e-f7b450281ae8_1280x1502.gif) -![A Deep Dive Into HTTP: From HTTP/1.1 to HTTP/3](img/8ea2cf88-f4a3-4135-8801-dcaa1eacadcc_2250x2624.jpg) +![A Deep Dive Into HTTP: From HTTP/1.1 to HTTP/3](https://substack-post-media.s3.amazonaws.com/public/images/8ea2cf88-f4a3-4135-8801-dcaa1eacadcc_2250x2624.png) -![AI Agent versus MCP](img/https___substack-post-media.s3.amazonaws.com_public_images_1e486766-bf1a-4f75-9003-9d382d567855_1280x1502.gif) +![AI Agent versus MCP](https://substack-post-media.s3.amazonaws.com/public/images/1e486766-bf1a-4f75-9003-9d382d567855_1280x1502.gif) -![How does HTTPS work?](img/a1bd7046-865b-4496-bbc5-f7ded4e22dfd_1921x1536.jpg) +![How does HTTPS work?](https://substack-post-media.s3.amazonaws.com/public/images/0e18db0d-f511-4f85-bb58-388fce70d42e_2631x2103.png) -![Top 6 most commonly used Server Types](img/73fccf8d-dabe-42b9-9802-1f71ed865a32_1541x1536.jpg) +![Top 6 most commonly used Server Types](https://substack-post-media.s3.amazonaws.com/public/images/4cd58a79-de9c-4ac2-a6df-eac95b61d71e_1541x1536.jpeg) ## Và một số video diff --git a/content/post/2025/08/21/index.md b/content/post/2025/08/21/index.md index c2c5f68..657a026 100644 --- a/content/post/2025/08/21/index.md +++ b/content/post/2025/08/21/index.md @@ -73,7 +73,11 @@ Git Client → Traefik Proxy → Git Server (GitLab/Gitea) ## Giải pháp -Vào phần `Server > (server của bạn, thường là localhost) > Proxy > Configuration`. Thêm các dòng sau vào `services.traefik.command`: +Vào phần `Server > (server của bạn, thường là localhost) > Proxy > Configuration`. + +![1](img/image.png) + +Thêm các dòng sau vào `services.traefik.command`: ``` yaml - '--entrypoints.http.transport.respondingTimeouts.readTimeout=600s' diff --git a/content/post/2025/08/22/img/074eba32-d415-4ed1-a60e-d193918f0df2_2250x2624.jpg b/content/post/2025/08/22/img/074eba32-d415-4ed1-a60e-d193918f0df2_2250x2624.jpg deleted file mode 100644 index 66206bd..0000000 Binary files a/content/post/2025/08/22/img/074eba32-d415-4ed1-a60e-d193918f0df2_2250x2624.jpg and /dev/null differ diff --git a/content/post/2025/08/22/img/27a066e7-b104-48aa-a5c5-1d5f87c32307_2250x2624.jpg b/content/post/2025/08/22/img/27a066e7-b104-48aa-a5c5-1d5f87c32307_2250x2624.jpg deleted file mode 100644 index f80bc14..0000000 Binary files a/content/post/2025/08/22/img/27a066e7-b104-48aa-a5c5-1d5f87c32307_2250x2624.jpg and /dev/null differ diff --git a/content/post/2025/08/22/img/4ceb221a-ba89-4ebc-9813-4bbb85277287_2360x2770.jpg b/content/post/2025/08/22/img/4ceb221a-ba89-4ebc-9813-4bbb85277287_2360x2770.jpg deleted file mode 100644 index 080462b..0000000 Binary files a/content/post/2025/08/22/img/4ceb221a-ba89-4ebc-9813-4bbb85277287_2360x2770.jpg and /dev/null differ diff --git a/content/post/2025/08/22/img/5dfd6e6b-7736-4994-b85e-61c93a69a6d0_800x939.gif b/content/post/2025/08/22/img/5dfd6e6b-7736-4994-b85e-61c93a69a6d0_800x939.gif deleted file mode 100644 index a089f75..0000000 Binary files a/content/post/2025/08/22/img/5dfd6e6b-7736-4994-b85e-61c93a69a6d0_800x939.gif and /dev/null differ diff --git a/content/post/2025/08/22/img/6361ec0d-86b0-4b65-a2c7-ffebc52088cf_1280x1532.gif b/content/post/2025/08/22/img/6361ec0d-86b0-4b65-a2c7-ffebc52088cf_1280x1532.gif deleted file mode 100644 index 24094c1..0000000 Binary files a/content/post/2025/08/22/img/6361ec0d-86b0-4b65-a2c7-ffebc52088cf_1280x1532.gif and /dev/null differ diff --git a/content/post/2025/08/22/img/8d91771b-65ec-407f-82c7-f5fa56f433ce_800x1001.gif b/content/post/2025/08/22/img/8d91771b-65ec-407f-82c7-f5fa56f433ce_800x1001.gif deleted file mode 100644 index 009b315..0000000 Binary files a/content/post/2025/08/22/img/8d91771b-65ec-407f-82c7-f5fa56f433ce_800x1001.gif and /dev/null differ diff --git a/content/post/2025/08/22/img/a326735a-320e-4476-af4b-ea9856ff25da_2360x2770.png b/content/post/2025/08/22/img/a326735a-320e-4476-af4b-ea9856ff25da_2360x2770.png deleted file mode 100644 index 1ef7ee0..0000000 Binary files a/content/post/2025/08/22/img/a326735a-320e-4476-af4b-ea9856ff25da_2360x2770.png and /dev/null differ diff --git a/content/post/2025/08/22/img/a793a9c6-86e1-426a-a774-b78785966e9c_2360x2770.jpg b/content/post/2025/08/22/img/a793a9c6-86e1-426a-a774-b78785966e9c_2360x2770.jpg deleted file mode 100644 index 07e8d49..0000000 Binary files a/content/post/2025/08/22/img/a793a9c6-86e1-426a-a774-b78785966e9c_2360x2770.jpg and /dev/null differ diff --git a/content/post/2025/08/22/img/a9f2fed5-3dd3-400e-8c1f-2a710b748508_800x1040.gif b/content/post/2025/08/22/img/a9f2fed5-3dd3-400e-8c1f-2a710b748508_800x1040.gif deleted file mode 100644 index fe4048b..0000000 Binary files a/content/post/2025/08/22/img/a9f2fed5-3dd3-400e-8c1f-2a710b748508_800x1040.gif and /dev/null differ diff --git a/content/post/2025/08/22/img/cb8b771f-baa7-4504-ae79-4aa69adf0f5a_2250x2624.jpg b/content/post/2025/08/22/img/cb8b771f-baa7-4504-ae79-4aa69adf0f5a_2250x2624.jpg deleted file mode 100644 index 9d3f509..0000000 Binary files a/content/post/2025/08/22/img/cb8b771f-baa7-4504-ae79-4aa69adf0f5a_2250x2624.jpg and /dev/null differ diff --git a/content/post/2025/08/22/img/cd483dd1-9d8f-4e1e-b030-44a384f3d8e8_2250x2624.jpg b/content/post/2025/08/22/img/cd483dd1-9d8f-4e1e-b030-44a384f3d8e8_2250x2624.jpg deleted file mode 100644 index c4fa3bb..0000000 Binary files a/content/post/2025/08/22/img/cd483dd1-9d8f-4e1e-b030-44a384f3d8e8_2250x2624.jpg and /dev/null differ diff --git a/content/post/2025/08/22/img/d7a3fa93-1dab-4f51-9852-93e74ec0836f_800x939.gif b/content/post/2025/08/22/img/d7a3fa93-1dab-4f51-9852-93e74ec0836f_800x939.gif deleted file mode 100644 index 6892de2..0000000 Binary files a/content/post/2025/08/22/img/d7a3fa93-1dab-4f51-9852-93e74ec0836f_800x939.gif and /dev/null differ diff --git a/content/post/2025/08/22/img/dbfba66c-6482-4392-86d8-af7b1835e2a6_2360x2770.png b/content/post/2025/08/22/img/dbfba66c-6482-4392-86d8-af7b1835e2a6_2360x2770.png deleted file mode 100644 index 3189326..0000000 Binary files a/content/post/2025/08/22/img/dbfba66c-6482-4392-86d8-af7b1835e2a6_2360x2770.png and /dev/null differ diff --git a/content/post/2025/08/22/index.md b/content/post/2025/08/22/index.md index a1872bd..d9260ba 100644 --- a/content/post/2025/08/22/index.md +++ b/content/post/2025/08/22/index.md @@ -6,31 +6,31 @@ tags: ["ByteByteGo"] *Hôm nay hơi lười nên chúng ta lại quay lại series ảnh của [ByteByteGo](https://bytebytego.com/) nhé. Bạn thích thì mình viết, bạn không thích thì mình cũng viết hehe* -![SQL vs NoSQL: Choosing the Right Database](img/074eba32-d415-4ed1-a60e-d193918f0df2_2250x2624.jpg) +![SQL vs NoSQL: Choosing the Right Database](https://substack-post-media.s3.amazonaws.com/public/images/074eba32-d415-4ed1-a60e-d193918f0df2_2250x2624.png) -![How Do Companies Ship Code to Production?](img/8d91771b-65ec-407f-82c7-f5fa56f433ce_800x1001.gif) +![How Do Companies Ship Code to Production?](https://substack-post-media.s3.amazonaws.com/public/images/8d91771b-65ec-407f-82c7-f5fa56f433ce_800x1001.gif) -![CRUB System v.s. Event Sourcing?](img/a9f2fed5-3dd3-400e-8c1f-2a710b748508_800x1040.gif) +![CRUB System v.s. Event Sourcing?](https://substack-post-media.s3.amazonaws.com/public/images/a9f2fed5-3dd3-400e-8c1f-2a710b748508_800x1040.gif) -![How Data Lake Architecture Works?](img/d7a3fa93-1dab-4f51-9852-93e74ec0836f_800x939.gif) +![How Data Lake Architecture Works?](https://substack-post-media.s3.amazonaws.com/public/images/d7a3fa93-1dab-4f51-9852-93e74ec0836f_800x939.gif) -![How Netflix Built a Distributed Counter](img/6361ec0d-86b0-4b65-a2c7-ffebc52088cf_1280x1532.gif) +![How Netflix Built a Distributed Counter](https://substack-post-media.s3.amazonaws.com/public/images/6361ec0d-86b0-4b65-a2c7-ffebc52088cf_1280x1532.gif) -![How TCP Handshake Works?](img/5dfd6e6b-7736-4994-b85e-61c93a69a6d0_800x939.gif) +![How TCP Handshake Works?](https://substack-post-media.s3.amazonaws.com/public/images/5dfd6e6b-7736-4994-b85e-61c93a69a6d0_800x939.gif) -![Database Schema Design](img/cb8b771f-baa7-4504-ae79-4aa69adf0f5a_2250x2624.jpg) +![Database Schema Design](https://substack-post-media.s3.amazonaws.com/public/images/cb8b771f-baa7-4504-ae79-4aa69adf0f5a_2250x2624.png) -![Transactions and Concurrency In Database](img/cd483dd1-9d8f-4e1e-b030-44a384f3d8e8_2250x2624.jpg) +![Transactions and Concurrency In Database](https://substack-post-media.s3.amazonaws.com/public/images/cd483dd1-9d8f-4e1e-b030-44a384f3d8e8_2250x2624.png) -![How SQL Query Executes In A Database?](img/4ceb221a-ba89-4ebc-9813-4bbb85277287_2360x2770.jpg) +![How SQL Query Executes In A Database?](https://substack-post-media.s3.amazonaws.com/public/images/4ceb221a-ba89-4ebc-9813-4bbb85277287_2360x2770.png) -![How RabbitMQ Works?](img/a326735a-320e-4476-af4b-ea9856ff25da_2360x2770.png) +![How RabbitMQ Works?](https://substack-post-media.s3.amazonaws.com/public/images/a326735a-320e-4476-af4b-ea9856ff25da_2360x2770.png) -![Database Indexing Demystified: Key Index Types](img/27a066e7-b104-48aa-a5c5-1d5f87c32307_2250x2624.jpg) +![Database Indexing Demystified: Key Index Types](https://substack-post-media.s3.amazonaws.com/public/images/27a066e7-b104-48aa-a5c5-1d5f87c32307_2250x2624.png) -![6 Data Structures to Save Storage](img/dbfba66c-6482-4392-86d8-af7b1835e2a6_2360x2770.png) +![6 Data Structures to Save Storage](https://substack-post-media.s3.amazonaws.com/public/images/dbfba66c-6482-4392-86d8-af7b1835e2a6_2360x2770.png) -![5 Database Normal Forms Every Developer Should Know](img/a793a9c6-86e1-426a-a774-b78785966e9c_2360x2770.jpg) +![5 Database Normal Forms Every Developer Should Know](https://substack-post-media.s3.amazonaws.com/public/images/a793a9c6-86e1-426a-a774-b78785966e9c_2360x2770.png) ## Và một số video diff --git a/content/post/2025/08/23/img/297d9a09-7bb1-4818-b192-b0c6e6f281e8_2360x2770.jpg b/content/post/2025/08/23/img/297d9a09-7bb1-4818-b192-b0c6e6f281e8_2360x2770.jpg deleted file mode 100644 index 26cc392..0000000 Binary files a/content/post/2025/08/23/img/297d9a09-7bb1-4818-b192-b0c6e6f281e8_2360x2770.jpg and /dev/null differ diff --git a/content/post/2025/08/23/img/32470e3a-ad82-47d4-89a0-50452cf6b5f3_3000x3900.jpg b/content/post/2025/08/23/img/32470e3a-ad82-47d4-89a0-50452cf6b5f3_3000x3900.jpg deleted file mode 100644 index c9490ce..0000000 Binary files a/content/post/2025/08/23/img/32470e3a-ad82-47d4-89a0-50452cf6b5f3_3000x3900.jpg and /dev/null differ diff --git a/content/post/2025/08/23/img/4e52d277-d633-405c-a419-16ec2b74ad02_2360x3114.jpg b/content/post/2025/08/23/img/4e52d277-d633-405c-a419-16ec2b74ad02_2360x3114.jpg deleted file mode 100644 index 30b4bee..0000000 Binary files a/content/post/2025/08/23/img/4e52d277-d633-405c-a419-16ec2b74ad02_2360x3114.jpg and /dev/null differ diff --git a/content/post/2025/08/23/img/56532cec-fb2f-4e68-a1b8-70a9a5028503_2250x2624.jpg b/content/post/2025/08/23/img/56532cec-fb2f-4e68-a1b8-70a9a5028503_2250x2624.jpg deleted file mode 100644 index aca9e10..0000000 Binary files a/content/post/2025/08/23/img/56532cec-fb2f-4e68-a1b8-70a9a5028503_2250x2624.jpg and /dev/null differ diff --git a/content/post/2025/08/23/img/5791931d-46af-4ea2-bffe-5fea406baab3_3000x3900.jpg b/content/post/2025/08/23/img/5791931d-46af-4ea2-bffe-5fea406baab3_3000x3900.jpg deleted file mode 100644 index 1a560f2..0000000 Binary files a/content/post/2025/08/23/img/5791931d-46af-4ea2-bffe-5fea406baab3_3000x3900.jpg and /dev/null differ diff --git a/content/post/2025/08/23/img/63055e37-b9bd-4272-af1f-cd6541df89e7_2250x2624.jpg b/content/post/2025/08/23/img/63055e37-b9bd-4272-af1f-cd6541df89e7_2250x2624.jpg deleted file mode 100644 index 03b8e0d..0000000 Binary files a/content/post/2025/08/23/img/63055e37-b9bd-4272-af1f-cd6541df89e7_2250x2624.jpg and /dev/null differ diff --git a/content/post/2025/08/23/img/6e4d9909-210e-4800-8f29-407849c722bf_2376x2818.jpg b/content/post/2025/08/23/img/6e4d9909-210e-4800-8f29-407849c722bf_2376x2818.jpg deleted file mode 100644 index d9838a1..0000000 Binary files a/content/post/2025/08/23/img/6e4d9909-210e-4800-8f29-407849c722bf_2376x2818.jpg and /dev/null differ diff --git a/content/post/2025/08/23/img/71fa35ca-3bb5-4601-831f-f13f46a6f11d_2250x2624.jpg b/content/post/2025/08/23/img/71fa35ca-3bb5-4601-831f-f13f46a6f11d_2250x2624.jpg deleted file mode 100644 index 4b68941..0000000 Binary files a/content/post/2025/08/23/img/71fa35ca-3bb5-4601-831f-f13f46a6f11d_2250x2624.jpg and /dev/null differ diff --git a/content/post/2025/08/23/img/89c503de-5e18-4860-8556-f5f44b49e9b7_2360x2770.jpg b/content/post/2025/08/23/img/89c503de-5e18-4860-8556-f5f44b49e9b7_2360x2770.jpg deleted file mode 100644 index 6ad7947..0000000 Binary files a/content/post/2025/08/23/img/89c503de-5e18-4860-8556-f5f44b49e9b7_2360x2770.jpg and /dev/null differ diff --git a/content/post/2025/08/23/img/93e1c5fb-c230-4b86-ac95-6fd9209f3ad1_2360x2770.jpg b/content/post/2025/08/23/img/93e1c5fb-c230-4b86-ac95-6fd9209f3ad1_2360x2770.jpg deleted file mode 100644 index af76b7d..0000000 Binary files a/content/post/2025/08/23/img/93e1c5fb-c230-4b86-ac95-6fd9209f3ad1_2360x2770.jpg and /dev/null differ diff --git a/content/post/2025/08/23/img/95a38be8-f32e-4539-8900-5e9d6f9d40bf_2360x2770.jpg b/content/post/2025/08/23/img/95a38be8-f32e-4539-8900-5e9d6f9d40bf_2360x2770.jpg deleted file mode 100644 index d74ef35..0000000 Binary files a/content/post/2025/08/23/img/95a38be8-f32e-4539-8900-5e9d6f9d40bf_2360x2770.jpg and /dev/null differ diff --git a/content/post/2025/08/23/img/9e0f17b6-cec8-4607-a058-eae3e446b6a6_3327x3946.jpg b/content/post/2025/08/23/img/9e0f17b6-cec8-4607-a058-eae3e446b6a6_3327x3946.jpg deleted file mode 100644 index 167b950..0000000 Binary files a/content/post/2025/08/23/img/9e0f17b6-cec8-4607-a058-eae3e446b6a6_3327x3946.jpg and /dev/null differ diff --git a/content/post/2025/08/23/img/aa6f54c9-42dd-4560-b696-4e937fb43528_3327x3900.jpg b/content/post/2025/08/23/img/aa6f54c9-42dd-4560-b696-4e937fb43528_3327x3900.jpg deleted file mode 100644 index 7f5d588..0000000 Binary files a/content/post/2025/08/23/img/aa6f54c9-42dd-4560-b696-4e937fb43528_3327x3900.jpg and /dev/null differ diff --git a/content/post/2025/08/23/img/c102625c-50df-4d7b-b154-ff4284e5fdaf_2250x2624.jpg b/content/post/2025/08/23/img/c102625c-50df-4d7b-b154-ff4284e5fdaf_2250x2624.jpg deleted file mode 100644 index 741a8b7..0000000 Binary files a/content/post/2025/08/23/img/c102625c-50df-4d7b-b154-ff4284e5fdaf_2250x2624.jpg and /dev/null differ diff --git a/content/post/2025/08/23/img/d3b197f6-0847-4323-99fa-8d91ffea09f4_2250x2814.png b/content/post/2025/08/23/img/d3b197f6-0847-4323-99fa-8d91ffea09f4_2250x2814.png deleted file mode 100644 index 7f5beca..0000000 Binary files a/content/post/2025/08/23/img/d3b197f6-0847-4323-99fa-8d91ffea09f4_2250x2814.png and /dev/null differ diff --git a/content/post/2025/08/23/img/df32b82e-fb8e-4d38-82b1-b018168fa88a_2360x2770.jpg b/content/post/2025/08/23/img/df32b82e-fb8e-4d38-82b1-b018168fa88a_2360x2770.jpg deleted file mode 100644 index 625f0eb..0000000 Binary files a/content/post/2025/08/23/img/df32b82e-fb8e-4d38-82b1-b018168fa88a_2360x2770.jpg and /dev/null differ diff --git a/content/post/2025/08/23/img/e566ed02-724a-4419-b1ca-c70a83f2b58a_2360x2770.jpg b/content/post/2025/08/23/img/e566ed02-724a-4419-b1ca-c70a83f2b58a_2360x2770.jpg deleted file mode 100644 index 3bbd3e3..0000000 Binary files a/content/post/2025/08/23/img/e566ed02-724a-4419-b1ca-c70a83f2b58a_2360x2770.jpg and /dev/null differ diff --git a/content/post/2025/08/23/img/ec03cc75-1a8f-4439-888d-04e71ea1a062_2250x2624.jpg b/content/post/2025/08/23/img/ec03cc75-1a8f-4439-888d-04e71ea1a062_2250x2624.jpg deleted file mode 100644 index 9853d0c..0000000 Binary files a/content/post/2025/08/23/img/ec03cc75-1a8f-4439-888d-04e71ea1a062_2250x2624.jpg and /dev/null differ diff --git a/content/post/2025/08/23/img/f98283d5-9fde-4f08-bb72-eb59e9d5c675_2360x2770.jpg b/content/post/2025/08/23/img/f98283d5-9fde-4f08-bb72-eb59e9d5c675_2360x2770.jpg deleted file mode 100644 index 3674296..0000000 Binary files a/content/post/2025/08/23/img/f98283d5-9fde-4f08-bb72-eb59e9d5c675_2360x2770.jpg and /dev/null differ diff --git a/content/post/2025/08/23/index.md b/content/post/2025/08/23/index.md index ecf3dec..65080e3 100644 --- a/content/post/2025/08/23/index.md +++ b/content/post/2025/08/23/index.md @@ -6,43 +6,43 @@ tags: ["ByteByteGo"] *Nốt phần ảnh này của [ByteByteGo](https://bytebytego.com/) sau đó chúng ta sẽ quay lại với Newsletter như mọi khi nhé hehe* -![A Guide To Database Replication](img/c102625c-50df-4d7b-b154-ff4284e5fdaf_2250x2624.jpg) +![A Guide To Database Replication](https://substack-post-media.s3.amazonaws.com/public/images/c102625c-50df-4d7b-b154-ff4284e5fdaf_2250x2624.png) -![Best ways to test system functionality](img/9e0f17b6-cec8-4607-a058-eae3e446b6a6_3327x3946.jpg) +![Best ways to test system functionality](https://substack-post-media.s3.amazonaws.com/public/images/9e0f17b6-cec8-4607-a058-eae3e446b6a6_3327x3946.jpeg) -![How CQRS Works?](img/df32b82e-fb8e-4d38-82b1-b018168fa88a_2360x2770.jpg) +![How CQRS Works?](https://substack-post-media.s3.amazonaws.com/public/images/df32b82e-fb8e-4d38-82b1-b018168fa88a_2360x2770.png) -![How MongoDB Works?](img/95a38be8-f32e-4539-8900-5e9d6f9d40bf_2360x2770.jpg) +![How MongoDB Works?](https://substack-post-media.s3.amazonaws.com/public/images/95a38be8-f32e-4539-8900-5e9d6f9d40bf_2360x2770.png) -![Database Index Internals Key Data Structures](img/63055e37-b9bd-4272-af1f-cd6541df89e7_2250x2624.jpg) +![Database Index Internals Key Data Structures](https://substack-post-media.s3.amazonaws.com/public/images/63055e37-b9bd-4272-af1f-cd6541df89e7_2250x2624.png) -![A Guide To Database Sharding](img/56532cec-fb2f-4e68-a1b8-70a9a5028503_2250x2624.jpg) +![A Guide To Database Sharding](https://substack-post-media.s3.amazonaws.com/public/images/56532cec-fb2f-4e68-a1b8-70a9a5028503_2250x2624.png) -![Top 5 common ways to improve API performance](img/e566ed02-724a-4419-b1ca-c70a83f2b58a_2360x2770.jpg) +![Top 5 common ways to improve API performance](https://substack-post-media.s3.amazonaws.com/public/images/e566ed02-724a-4419-b1ca-c70a83f2b58a_2360x2770.jpeg) -![REST API Vs. GraphQL](img/32470e3a-ad82-47d4-89a0-50452cf6b5f3_3000x3900.jpg) +![REST API Vs. GraphQL](https://substack-post-media.s3.amazonaws.com/public/images/32470e3a-ad82-47d4-89a0-50452cf6b5f3_3000x3900.jpeg) -![Tokens vs API Keys](img/89c503de-5e18-4860-8556-f5f44b49e9b7_2360x2770.jpg) +![Tokens vs API Keys](https://substack-post-media.s3.amazonaws.com/public/images/89c503de-5e18-4860-8556-f5f44b49e9b7_2360x2770.jpeg) -![5 Data Structures That Make DB Queries Super Fast](img/f98283d5-9fde-4f08-bb72-eb59e9d5c675_2360x2770.jpg) +![5 Data Structures That Make DB Queries Super Fast](https://substack-post-media.s3.amazonaws.com/public/images/f98283d5-9fde-4f08-bb72-eb59e9d5c675_2360x2770.png) -![How can Cache Systems go wrong?](img/5791931d-46af-4ea2-bffe-5fea406baab3_3000x3900.jpg) +![How can Cache Systems go wrong?](https://substack-post-media.s3.amazonaws.com/public/images/5791931d-46af-4ea2-bffe-5fea406baab3_3000x3900.jpeg) -![8 System Design Concepts Explained in 1 Diagram](img/4e52d277-d633-405c-a419-16ec2b74ad02_2360x3114.jpg) +![8 System Design Concepts Explained in 1 Diagram](https://substack-post-media.s3.amazonaws.com/public/images/4e52d277-d633-405c-a419-16ec2b74ad02_2360x3114.png) -![Top Leader Election Algorithms in Distributed Databases](img/ec03cc75-1a8f-4439-888d-04e71ea1a062_2250x2624.jpg) +![Top Leader Election Algorithms in Distributed Databases](https://substack-post-media.s3.amazonaws.com/public/images/ec03cc75-1a8f-4439-888d-04e71ea1a062_2250x2624.png) -![16 Coding Patterns That Make Interviews Easy](img/6e4d9909-210e-4800-8f29-407849c722bf_2376x2818.jpg) +![16 Coding Patterns That Make Interviews Easy](https://substack-post-media.s3.amazonaws.com/public/images/6e4d9909-210e-4800-8f29-407849c722bf_2376x2818.png) -![What happens when you type a URL into a browser?](img/aa6f54c9-42dd-4560-b696-4e937fb43528_3327x3900.jpg) +![What happens when you type a URL into a browser?](https://substack-post-media.s3.amazonaws.com/public/images/aa6f54c9-42dd-4560-b696-4e937fb43528_3327x3900.png) -![How to Learn Databases?](img/297d9a09-7bb1-4818-b192-b0c6e6f281e8_2360x2770.jpg) +![How to Learn Databases?](https://substack-post-media.s3.amazonaws.com/public/images/297d9a09-7bb1-4818-b192-b0c6e6f281e8_2360x2770.png) -![How HTTPS Works?](img/93e1c5fb-c230-4b86-ac95-6fd9209f3ad1_2360x2770.jpg) +![How HTTPS Works?](https://substack-post-media.s3.amazonaws.com/public/images/93e1c5fb-c230-4b86-ac95-6fd9209f3ad1_2360x2770.png) -![The Evolution of Scaling at Netflix](img/d3b197f6-0847-4323-99fa-8d91ffea09f4_2250x2814.png) +![The Evolution of Scaling at Netflix](https://substack-post-media.s3.amazonaws.com/public/images/d3b197f6-0847-4323-99fa-8d91ffea09f4_2250x2814.png) -![Top Scalability Strategies for Real-World Load](img/71fa35ca-3bb5-4601-831f-f13f46a6f11d_2250x2624.jpg) +![Top Scalability Strategies for Real-World Load](https://substackcdn.com/image/fetch/$s_!STjn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71fa35ca-3bb5-4601-831f-f13f46a6f11d_2250x2624.heic) ## Và một số video diff --git a/content/post/2025/08/31/img/7136a64a-5300-4eed-852f-cdaf6cf73c6a_3000x3900.jpg b/content/post/2025/08/31/img/7136a64a-5300-4eed-852f-cdaf6cf73c6a_3000x3900.jpg deleted file mode 100644 index 703b2de..0000000 Binary files a/content/post/2025/08/31/img/7136a64a-5300-4eed-852f-cdaf6cf73c6a_3000x3900.jpg and /dev/null differ diff --git a/content/post/2025/08/31/img/7f891bc7-8657-47ff-8974-efcfcc0f0bb1_2250x2624.jpg b/content/post/2025/08/31/img/7f891bc7-8657-47ff-8974-efcfcc0f0bb1_2250x2624.jpg deleted file mode 100644 index 86382f7..0000000 Binary files a/content/post/2025/08/31/img/7f891bc7-8657-47ff-8974-efcfcc0f0bb1_2250x2624.jpg and /dev/null differ diff --git a/content/post/2025/08/31/img/ba21dab1-a39e-4c3a-a815-08d8be09de49_2360x2492.png b/content/post/2025/08/31/img/ba21dab1-a39e-4c3a-a815-08d8be09de49_2360x2492.png deleted file mode 100644 index 2604c65..0000000 Binary files a/content/post/2025/08/31/img/ba21dab1-a39e-4c3a-a815-08d8be09de49_2360x2492.png and /dev/null differ diff --git a/content/post/2025/08/31/img/db0481bd-807d-419c-a71e-913a13cb855e_1280x808.jpg b/content/post/2025/08/31/img/db0481bd-807d-419c-a71e-913a13cb855e_1280x808.jpg deleted file mode 100644 index 1b1d7fa..0000000 Binary files a/content/post/2025/08/31/img/db0481bd-807d-419c-a71e-913a13cb855e_1280x808.jpg and /dev/null differ diff --git a/content/post/2025/08/31/img/fe53c806-a56f-4004-97e8-bbc6b5b9eb3d_3000x3900.jpg b/content/post/2025/08/31/img/fe53c806-a56f-4004-97e8-bbc6b5b9eb3d_3000x3900.jpg deleted file mode 100644 index c81bc02..0000000 Binary files a/content/post/2025/08/31/img/fe53c806-a56f-4004-97e8-bbc6b5b9eb3d_3000x3900.jpg and /dev/null differ diff --git a/content/post/2025/08/31/index.md b/content/post/2025/08/31/index.md index 5b1feb1..0c05456 100644 --- a/content/post/2025/08/31/index.md +++ b/content/post/2025/08/31/index.md @@ -59,8 +59,8 @@ Tác giả khuyến nghị khám phá các chỉ mục tìm kiếm mã nguồn m ## Bonus: Vài ảnh hay ho đến từ [ByteByteGo](https://bytebytego.com/) -![What is the SOLID Principle?](img/7136a64a-5300-4eed-852f-cdaf6cf73c6a_3000x3900.jpg) -![Common HTTP Status Codes](img/fe53c806-a56f-4004-97e8-bbc6b5b9eb3d_3000x3900.jpg) -![How Clean Architecture Works?](img/db0481bd-807d-419c-a71e-913a13cb855e_1280x808.jpg) -![How does Docker Work?](img/ba21dab1-a39e-4c3a-a815-08d8be09de49_2360x2492.png) -![A Guide to Top Caching Strategies](img/7f891bc7-8657-47ff-8974-efcfcc0f0bb1_2250x2624.jpg) +![What is the SOLID Principle?](https://substack-post-media.s3.amazonaws.com/public/images/7136a64a-5300-4eed-852f-cdaf6cf73c6a_3000x3900.png) +![Common HTTP Status Codes](https://substack-post-media.s3.amazonaws.com/public/images/fe53c806-a56f-4004-97e8-bbc6b5b9eb3d_3000x3900.jpeg) +![How Clean Architecture Works?](https://substack-post-media.s3.amazonaws.com/public/images/db0481bd-807d-419c-a71e-913a13cb855e_1280x808.jpeg) +![How does Docker Work?](https://substack-post-media.s3.amazonaws.com/public/images/ba21dab1-a39e-4c3a-a815-08d8be09de49_2360x2492.png) +![A Guide to Top Caching Strategies](https://substack-post-media.s3.amazonaws.com/public/images/7f891bc7-8657-47ff-8974-efcfcc0f0bb1_2250x2624.png) diff --git a/content/post/2025/09/07/doc/Java Puzzlers - Traps, Pitfalls, and Corner Cases (2005).pdf b/content/post/2025/09/07/doc/Java Puzzlers - Traps, Pitfalls, and Corner Cases (2005).pdf deleted file mode 100644 index f308c5c..0000000 Binary files a/content/post/2025/09/07/doc/Java Puzzlers - Traps, Pitfalls, and Corner Cases (2005).pdf and /dev/null differ diff --git a/content/post/2025/09/07/doc/Java-Interview-Questions.pdf b/content/post/2025/09/07/doc/Java-Interview-Questions.pdf deleted file mode 100644 index af5607e..0000000 Binary files a/content/post/2025/09/07/doc/Java-Interview-Questions.pdf and /dev/null differ diff --git a/content/post/2025/09/07/img/4bf62d5c-e538-4fba-8d4f-aa00d0bd064a_3000x3900.jpg b/content/post/2025/09/07/img/4bf62d5c-e538-4fba-8d4f-aa00d0bd064a_3000x3900.jpg deleted file mode 100644 index 20a7e24..0000000 Binary files a/content/post/2025/09/07/img/4bf62d5c-e538-4fba-8d4f-aa00d0bd064a_3000x3900.jpg and /dev/null differ diff --git a/content/post/2025/09/07/img/82b8257a-93c3-4861-b211-88d57b12bc93_2250x2624.jpg b/content/post/2025/09/07/img/82b8257a-93c3-4861-b211-88d57b12bc93_2250x2624.jpg deleted file mode 100644 index 49c28f1..0000000 Binary files a/content/post/2025/09/07/img/82b8257a-93c3-4861-b211-88d57b12bc93_2250x2624.jpg and /dev/null differ diff --git a/content/post/2025/09/07/img/e249b1bd-134e-4242-ac16-1d50daf804d3_3000x3900.jpg b/content/post/2025/09/07/img/e249b1bd-134e-4242-ac16-1d50daf804d3_3000x3900.jpg deleted file mode 100644 index 4d66a73..0000000 Binary files a/content/post/2025/09/07/img/e249b1bd-134e-4242-ac16-1d50daf804d3_3000x3900.jpg and /dev/null differ diff --git a/content/post/2025/09/07/index.md b/content/post/2025/09/07/index.md index 7c8675c..e41e04a 100644 --- a/content/post/2025/09/07/index.md +++ b/content/post/2025/09/07/index.md @@ -179,9 +179,9 @@ Bài viết từ Ham Vocke là một tấm gương phản chiếu về những ## Bonus: Vài ảnh hay ho đến từ [ByteByteGo](https://bytebytego.com/) -![How Does SSO Work?](img/4bf62d5c-e538-4fba-8d4f-aa00d0bd064a_3000x3900.jpg) -![Best Practices in API Design](img/e249b1bd-134e-4242-ac16-1d50daf804d3_3000x3900.jpg) -![Top Strategies For Reliability and Fault Tolerance](img/82b8257a-93c3-4861-b211-88d57b12bc93_2250x2624.jpg) +![How Does SSO Work?](https://substack-post-media.s3.amazonaws.com/public/images/4bf62d5c-e538-4fba-8d4f-aa00d0bd064a_3000x3900.png) +![Best Practices in API Design](https://substack-post-media.s3.amazonaws.com/public/images/e249b1bd-134e-4242-ac16-1d50daf804d3_3000x3900.png) +![Top Strategies For Reliability and Fault Tolerance](https://substack-post-media.s3.amazonaws.com/public/images/82b8257a-93c3-4861-b211-88d57b12bc93_2250x2624.png) ## Bonus: Một vài video thú vị @@ -194,7 +194,6 @@ Bài viết từ Ham Vocke là một tấm gương phản chiếu về những ## Bonus: Một vài sách thú vị -[Java interview questions and answers - Boosting your java career](doc/Java-Interview-Questions.pdf) -Nguồn: https://enos.itcollege.ee/~jpoial/allalaadimised/reading/Java-Interview-Questions.pdf -[Java Puzzlers - Traps, Pitfalls, and Corner Cases](doc/Java%20Puzzlers%20-%20Traps,%20Pitfalls,%20and%20Corner%20Cases%20(2005).pdf) -Nguồn: https://github.com/shannonasmith/Java_books/blob/main/Java%20Puzzlers%20-%20Traps%2C%20Pitfalls%2C%20and%20Corner%20Cases%20(2005).pdf +[Java interview questions and answers - Boosting your java career](https://enos.itcollege.ee/~jpoial/allalaadimised/reading/Java-Interview-Questions.pdf) + +[Java Puzzlers - Traps, Pitfalls, and Corner Cases](https://github.com/shannonasmith/Java_books/blob/main/Java%20Puzzlers%20-%20Traps%2C%20Pitfalls%2C%20and%20Corner%20Cases%20(2005).pdf) diff --git a/content/post/2025/09/10/img/607358c5-2e0b-41fc-9cdd-a350e1faf144_3780x4096.jpg b/content/post/2025/09/10/img/607358c5-2e0b-41fc-9cdd-a350e1faf144_3780x4096.jpg deleted file mode 100644 index c8ab314..0000000 Binary files a/content/post/2025/09/10/img/607358c5-2e0b-41fc-9cdd-a350e1faf144_3780x4096.jpg and /dev/null differ diff --git a/content/post/2025/09/10/img/8b1bd4d5-a708-4793-a9e6-aa96db182f54_3000x3900.jpg b/content/post/2025/09/10/img/8b1bd4d5-a708-4793-a9e6-aa96db182f54_3000x3900.jpg deleted file mode 100644 index c7fdfff..0000000 Binary files a/content/post/2025/09/10/img/8b1bd4d5-a708-4793-a9e6-aa96db182f54_3000x3900.jpg and /dev/null differ diff --git a/content/post/2025/09/10/img/c34a8b8b-feff-4473-9eb1-dd399f5a81eb_2360x2664.jpg b/content/post/2025/09/10/img/c34a8b8b-feff-4473-9eb1-dd399f5a81eb_2360x2664.jpg deleted file mode 100644 index ec8ddd5..0000000 Binary files a/content/post/2025/09/10/img/c34a8b8b-feff-4473-9eb1-dd399f5a81eb_2360x2664.jpg and /dev/null differ diff --git a/content/post/2025/09/10/img/f8993d4d-8879-4eeb-9635-3a5aa13816cc_2250x2624.jpg b/content/post/2025/09/10/img/f8993d4d-8879-4eeb-9635-3a5aa13816cc_2250x2624.jpg deleted file mode 100644 index b65099d..0000000 Binary files a/content/post/2025/09/10/img/f8993d4d-8879-4eeb-9635-3a5aa13816cc_2250x2624.jpg and /dev/null differ diff --git a/content/post/2025/09/10/index.md b/content/post/2025/09/10/index.md index 1e1f33d..bd64ae1 100644 --- a/content/post/2025/09/10/index.md +++ b/content/post/2025/09/10/index.md @@ -111,9 +111,9 @@ Bài viết từ Avi khám phá các khái niệm và thực tiễn quan trọng ## Bonus: Vài ảnh hay ho đến từ [ByteByteGo](https://bytebytego.com/) -![A Detailed Guide to Content Delivery Networks](img/f8993d4d-8879-4eeb-9635-3a5aa13816cc_2250x2624.jpg) -![CI/CD Pipeline Explained](img/607358c5-2e0b-41fc-9cdd-a350e1faf144_3780x4096.jpg) -![What are some of the most popular versioning strategies?](img/8b1bd4d5-a708-4793-a9e6-aa96db182f54_3000x3900.jpg) -![The Testing Pyramid](img/c34a8b8b-feff-4473-9eb1-dd399f5a81eb_2360x2664.jpg) +![A Detailed Guide to Content Delivery Networks](https://substack-post-media.s3.amazonaws.com/public/images/f8993d4d-8879-4eeb-9635-3a5aa13816cc_2250x2624.png) +![CI/CD Pipeline Explained](https://substack-post-media.s3.amazonaws.com/public/images/607358c5-2e0b-41fc-9cdd-a350e1faf144_3780x4096.jpeg) +![What are some of the most popular versioning strategies?](https://substack-post-media.s3.amazonaws.com/public/images/8b1bd4d5-a708-4793-a9e6-aa96db182f54_3000x3900.png) +![The Testing Pyramid](https://substack-post-media.s3.amazonaws.com/public/images/c34a8b8b-feff-4473-9eb1-dd399f5a81eb_2360x2664.jpeg) *Tổng kết thì mình thấy đợt thử nghiệm này cũng khá ổn. Có điều bài viết còn khá dài dòng và đôi chỗ còn sai sót từ ngữ tiếng Việt một chút. Với cái giá free thì quá được :))) Hẹn gặp lại các bạn trong các bài viết tới.* diff --git a/content/post/2025/09/14/img/94510aef-adee-4c78-84cf-05dfe5f9d6c0_3000x3900.jpg b/content/post/2025/09/14/img/94510aef-adee-4c78-84cf-05dfe5f9d6c0_3000x3900.jpg deleted file mode 100644 index 0f135f2..0000000 Binary files a/content/post/2025/09/14/img/94510aef-adee-4c78-84cf-05dfe5f9d6c0_3000x3900.jpg and /dev/null differ diff --git a/content/post/2025/09/14/img/a5e59510-28d9-423e-bdc4-986d24e58f91_2808x4096.jpg b/content/post/2025/09/14/img/a5e59510-28d9-423e-bdc4-986d24e58f91_2808x4096.jpg deleted file mode 100644 index 28130ec..0000000 Binary files a/content/post/2025/09/14/img/a5e59510-28d9-423e-bdc4-986d24e58f91_2808x4096.jpg and /dev/null differ diff --git a/content/post/2025/09/14/img/c8da4839-d519-43a9-bffb-2c81a2c153f4_2250x2624.jpg b/content/post/2025/09/14/img/c8da4839-d519-43a9-bffb-2c81a2c153f4_2250x2624.jpg deleted file mode 100644 index 9cb8148..0000000 Binary files a/content/post/2025/09/14/img/c8da4839-d519-43a9-bffb-2c81a2c153f4_2250x2624.jpg and /dev/null differ diff --git a/content/post/2025/09/14/index.md b/content/post/2025/09/14/index.md index c4e2720..c8d5a0b 100644 --- a/content/post/2025/09/14/index.md +++ b/content/post/2025/09/14/index.md @@ -229,10 +229,10 @@ Họ sẽ phán xét chúng ta giống như chúng ta phán xét những ngườ ## Bonus: Vài ảnh hay ho đến từ [ByteByteGo](https://bytebytego.com/) -![A Guide to Rate Limiting Strategies](img/c8da4839-d519-43a9-bffb-2c81a2c153f4_2250x2624.jpg) -![9 Docker Best Practices You Should Know](img/94510aef-adee-4c78-84cf-05dfe5f9d6c0_3000x3900.jpg) -![Where Do We Cache Data?](img/a5e59510-28d9-423e-bdc4-986d24e58f91_2808x4096.jpg) +![A Guide to Rate Limiting Strategies](https://substack-post-media.s3.amazonaws.com/public/images/c8da4839-d519-43a9-bffb-2c81a2c153f4_2250x2624.png) +![9 Docker Best Practices You Should Know](https://substack-post-media.s3.amazonaws.com/public/images/94510aef-adee-4c78-84cf-05dfe5f9d6c0_3000x3900.png) +![Where Do We Cache Data?](https://substack-post-media.s3.amazonaws.com/public/images/a5e59510-28d9-423e-bdc4-986d24e58f91_2808x4096.jpeg) ## Bonus: Một vài video hay ho -![All New Java Language Features Since Java 21 #RoadTo25](https://www.youtube.com/watch?v=X0-TGhktFnE) +[All New Java Language Features Since Java 21 #RoadTo25](https://www.youtube.com/watch?v=X0-TGhktFnE) diff --git a/content/post/2025/09/30/img/1a1213e2-86cb-4fa8-bf72-e37ffe0da44d_2250x2624.jpg b/content/post/2025/09/30/img/1a1213e2-86cb-4fa8-bf72-e37ffe0da44d_2250x2624.jpg deleted file mode 100644 index 8824a85..0000000 Binary files a/content/post/2025/09/30/img/1a1213e2-86cb-4fa8-bf72-e37ffe0da44d_2250x2624.jpg and /dev/null differ diff --git a/content/post/2025/09/30/img/45136e24-79ee-4c6d-a53a-89df6afebef6_3000x3900.jpg b/content/post/2025/09/30/img/45136e24-79ee-4c6d-a53a-89df6afebef6_3000x3900.jpg deleted file mode 100644 index 7c77e01..0000000 Binary files a/content/post/2025/09/30/img/45136e24-79ee-4c6d-a53a-89df6afebef6_3000x3900.jpg and /dev/null differ diff --git a/content/post/2025/09/30/img/4863d93c-ca2a-4b5a-b0b4-fe3621a6c184_2250x2920.jpg b/content/post/2025/09/30/img/4863d93c-ca2a-4b5a-b0b4-fe3621a6c184_2250x2920.jpg deleted file mode 100644 index 80bad59..0000000 Binary files a/content/post/2025/09/30/img/4863d93c-ca2a-4b5a-b0b4-fe3621a6c184_2250x2920.jpg and /dev/null differ diff --git a/content/post/2025/09/30/img/5d9faeeb-3428-44c8-94fd-4b52fc287da3_3000x3900.png b/content/post/2025/09/30/img/5d9faeeb-3428-44c8-94fd-4b52fc287da3_3000x3900.png deleted file mode 100644 index 46719f4..0000000 Binary files a/content/post/2025/09/30/img/5d9faeeb-3428-44c8-94fd-4b52fc287da3_3000x3900.png and /dev/null differ diff --git a/content/post/2025/09/30/img/a370bb6a-82d3-45ad-b6f4-a2a9a4317402_800x1099.jpg b/content/post/2025/09/30/img/a370bb6a-82d3-45ad-b6f4-a2a9a4317402_800x1099.jpg deleted file mode 100644 index b0edb9b..0000000 Binary files a/content/post/2025/09/30/img/a370bb6a-82d3-45ad-b6f4-a2a9a4317402_800x1099.jpg and /dev/null differ diff --git a/content/post/2025/09/30/img/aa5ea98b-c832-429d-8e48-63f25b7feb5a_3000x3900.jpg b/content/post/2025/09/30/img/aa5ea98b-c832-429d-8e48-63f25b7feb5a_3000x3900.jpg deleted file mode 100644 index 21bb37f..0000000 Binary files a/content/post/2025/09/30/img/aa5ea98b-c832-429d-8e48-63f25b7feb5a_3000x3900.jpg and /dev/null differ diff --git a/content/post/2025/09/30/img/d6d04f12-2adc-4d8e-a9ca-2de16399066f_2250x3376.jpg b/content/post/2025/09/30/img/d6d04f12-2adc-4d8e-a9ca-2de16399066f_2250x3376.jpg deleted file mode 100644 index 23f50f8..0000000 Binary files a/content/post/2025/09/30/img/d6d04f12-2adc-4d8e-a9ca-2de16399066f_2250x3376.jpg and /dev/null differ diff --git a/content/post/2025/09/30/index.md b/content/post/2025/09/30/index.md index 8eb11c2..a97e5ae 100644 --- a/content/post/2025/09/30/index.md +++ b/content/post/2025/09/30/index.md @@ -121,12 +121,12 @@ Một số tính năng bị chỉ trích như NIO ("0/10") và Streams ("1/10"), ## Bonus: Một vài ảnh hay ho đến từ [ByteByteGo](https://bytebytego.com/) -![Python vs Java](img/aa5ea98b-c832-429d-8e48-63f25b7feb5a_3000x3900.jpg) -![Design Patterns Cheat Sheet](img/4863d93c-ca2a-4b5a-b0b4-fe3621a6c184_2250x2920.jpg) -![Design Patterns Cheat Sheet](img/d6d04f12-2adc-4d8e-a9ca-2de16399066f_2250x3376.jpg) -![CI/CD Simplified Visual Guide](img/a370bb6a-82d3-45ad-b6f4-a2a9a4317402_800x1099.jpg) -![How Apache Kafka Works?](img/5d9faeeb-3428-44c8-94fd-4b52fc287da3_3000x3900.png) -![Load Balancers vs API Gateways vs Reverse Proxy](img/45136e24-79ee-4c6d-a53a-89df6afebef6_3000x3900.jpg) -![Understanding Load Balancers: Traffic Management at Scale](img/1a1213e2-86cb-4fa8-bf72-e37ffe0da44d_2250x2624.jpg) +![Python vs Java](https://substack-post-media.s3.amazonaws.com/public/images/aa5ea98b-c832-429d-8e48-63f25b7feb5a_3000x3900.jpeg) +![Design Patterns Cheat Sheet](https://substack-post-media.s3.amazonaws.com/public/images/4863d93c-ca2a-4b5a-b0b4-fe3621a6c184_2250x2920.png) +![Design Patterns Cheat Sheet](https://substack-post-media.s3.amazonaws.com/public/images/d6d04f12-2adc-4d8e-a9ca-2de16399066f_2250x3376.png) +![CI/CD Simplified Visual Guide](https://substack-post-media.s3.amazonaws.com/public/images/a370bb6a-82d3-45ad-b6f4-a2a9a4317402_800x1099.jpeg) +![How Apache Kafka Works?](https://substack-post-media.s3.amazonaws.com/public/images/5d9faeeb-3428-44c8-94fd-4b52fc287da3_3000x3900.png) +![Load Balancers vs API Gateways vs Reverse Proxy](https://substack-post-media.s3.amazonaws.com/public/images/45136e24-79ee-4c6d-a53a-89df6afebef6_3000x3900.png) +![Understanding Load Balancers: Traffic Management at Scale](https://substackcdn.com/image/fetch/$s_!4Uyj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a1213e2-86cb-4fa8-bf72-e37ffe0da44d_2250x2624.heic) *Nhìn chung thì nội dung ngắn gọn, mình tương đối hài lòng, chắc khoảng 80% so với Claude Code với Claude models, nhưng vì miễn phí nên là mình rất ưng ý :)))* diff --git a/content/post/2025/10/01/img/00912640-ad5f-4ec7-aefa-e5eecf67dab0_3000x3900.jpg b/content/post/2025/10/01/img/00912640-ad5f-4ec7-aefa-e5eecf67dab0_3000x3900.jpg deleted file mode 100644 index f23edbc..0000000 Binary files a/content/post/2025/10/01/img/00912640-ad5f-4ec7-aefa-e5eecf67dab0_3000x3900.jpg and /dev/null differ diff --git a/content/post/2025/10/01/img/1c2bd03d-66f2-4eb9-8293-7a1d49b9b9b6_2360x2920.jpg b/content/post/2025/10/01/img/1c2bd03d-66f2-4eb9-8293-7a1d49b9b9b6_2360x2920.jpg deleted file mode 100644 index 8f0a196..0000000 Binary files a/content/post/2025/10/01/img/1c2bd03d-66f2-4eb9-8293-7a1d49b9b9b6_2360x2920.jpg and /dev/null differ diff --git a/content/post/2025/10/01/img/1e27232c-d4f1-4f4b-94fa-7318d39f6f3e_2360x2960.jpg b/content/post/2025/10/01/img/1e27232c-d4f1-4f4b-94fa-7318d39f6f3e_2360x2960.jpg deleted file mode 100644 index ef55c4c..0000000 Binary files a/content/post/2025/10/01/img/1e27232c-d4f1-4f4b-94fa-7318d39f6f3e_2360x2960.jpg and /dev/null differ diff --git a/content/post/2025/10/01/img/26b55058-17ae-453f-8463-4d4e717e489b_2360x2920.jpg b/content/post/2025/10/01/img/26b55058-17ae-453f-8463-4d4e717e489b_2360x2920.jpg deleted file mode 100644 index e20bcf3..0000000 Binary files a/content/post/2025/10/01/img/26b55058-17ae-453f-8463-4d4e717e489b_2360x2920.jpg and /dev/null differ diff --git a/content/post/2025/10/01/img/43b73739-a975-42af-999d-8676b1605ed2_3000x3900.png b/content/post/2025/10/01/img/43b73739-a975-42af-999d-8676b1605ed2_3000x3900.png deleted file mode 100644 index 485dfed..0000000 Binary files a/content/post/2025/10/01/img/43b73739-a975-42af-999d-8676b1605ed2_3000x3900.png and /dev/null differ diff --git a/content/post/2025/10/01/img/9bef6181-7eed-45a9-9c7e-abd6864cc62b_2360x2960.jpg b/content/post/2025/10/01/img/9bef6181-7eed-45a9-9c7e-abd6864cc62b_2360x2960.jpg deleted file mode 100644 index 50fe663..0000000 Binary files a/content/post/2025/10/01/img/9bef6181-7eed-45a9-9c7e-abd6864cc62b_2360x2960.jpg and /dev/null differ diff --git a/content/post/2025/10/01/img/9ffab5bc-5857-4544-8e25-2dbf795e6f85_3000x3900.png b/content/post/2025/10/01/img/9ffab5bc-5857-4544-8e25-2dbf795e6f85_3000x3900.png deleted file mode 100644 index bb58b14..0000000 Binary files a/content/post/2025/10/01/img/9ffab5bc-5857-4544-8e25-2dbf795e6f85_3000x3900.png and /dev/null differ diff --git a/content/post/2025/10/01/index.md b/content/post/2025/10/01/index.md index 9bfd430..b5192e9 100644 --- a/content/post/2025/10/01/index.md +++ b/content/post/2025/10/01/index.md @@ -195,10 +195,10 @@ Claude Code đại diện cho sự thay đổi hướng tới kỹ thuật phầ ## Bonus: Một vài ảnh hay ho đến từ [ByteByteGo](https://bytebytego.com/) -![How Java Works](img/1e27232c-d4f1-4f4b-94fa-7318d39f6f3e_2360x2960.jpg) -![How Gitflow Branching Works?](img/9bef6181-7eed-45a9-9c7e-abd6864cc62b_2360x2960.jpg) -![The Life of a Redis Query](img/9ffab5bc-5857-4544-8e25-2dbf795e6f85_3000x3900.png) -![Cookies vs Sessions](img/1c2bd03d-66f2-4eb9-8293-7a1d49b9b9b6_2360x2920.jpg) -![Access Control Clearly Explained](img/26b55058-17ae-453f-8463-4d4e717e489b_2360x2920.jpg) -![How Git Reset Works?](img/00912640-ad5f-4ec7-aefa-e5eecf67dab0_3000x3900.jpg) -![Apache Kafka Explained (At the high level)](img/43b73739-a975-42af-999d-8676b1605ed2_3000x3900.png) +![How Java Works](https://substack-post-media.s3.amazonaws.com/public/images/1e27232c-d4f1-4f4b-94fa-7318d39f6f3e_2360x2960.png) +![How Gitflow Branching Works?](https://substack-post-media.s3.amazonaws.com/public/images/9bef6181-7eed-45a9-9c7e-abd6864cc62b_2360x2960.png) +![The Life of a Redis Query](https://substack-post-media.s3.amazonaws.com/public/images/9ffab5bc-5857-4544-8e25-2dbf795e6f85_3000x3900.png) +![Cookies vs Sessions](https://substack-post-media.s3.amazonaws.com/public/images/1c2bd03d-66f2-4eb9-8293-7a1d49b9b9b6_2360x2920.png) +![Access Control Clearly Explained](https://substack-post-media.s3.amazonaws.com/public/images/26b55058-17ae-453f-8463-4d4e717e489b_2360x2920.png) +![How Git Reset Works?](https://substack-post-media.s3.amazonaws.com/public/images/00912640-ad5f-4ec7-aefa-e5eecf67dab0_3000x3900.png) +![Apache Kafka Explained (At the high level)](https://substack-post-media.s3.amazonaws.com/public/images/43b73739-a975-42af-999d-8676b1605ed2_3000x3900.png) diff --git a/content/post/2025/10/03/img/30caf720-4b66-4f5f-84d2-72c578969944_2250x2624.jpg b/content/post/2025/10/03/img/30caf720-4b66-4f5f-84d2-72c578969944_2250x2624.jpg deleted file mode 100644 index c3275fe..0000000 Binary files a/content/post/2025/10/03/img/30caf720-4b66-4f5f-84d2-72c578969944_2250x2624.jpg and /dev/null differ diff --git a/content/post/2025/10/03/index.md b/content/post/2025/10/03/index.md index 158d3dd..506f8b8 100644 --- a/content/post/2025/10/03/index.md +++ b/content/post/2025/10/03/index.md @@ -157,6 +157,7 @@ Cuối cùng, để phát triển thẩm mỹ, tác giả khuyên nên làm nhi - Để phát triển thẩm mỹ, cần làm nhiều loại dự án khác nhau và giữ thái độ cởi mở ## Bonus: Một vài ảnh thú vị đến từ [ByteByteGo](https://bytebytego.com/) -![Service Discovery 101: The Phonebook for Distributed Systems](img/30caf720-4b66-4f5f-84d2-72c578969944_2250x2624.jpg) + +![Service Discovery 101: The Phonebook for Distributed Systems](https://substackcdn.com/image/fetch/$s_!CEQb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F30caf720-4b66-4f5f-84d2-72c578969944_2250x2624.heic) *Bài viết trong kho của mình đã hết rồi. Có lẽ phải chờ một thời gian để mình tích luỹ lại sau đó mới tiếp tục được nhé. Hẹn gặp lại các bạn sau.*