🏋 Top Posts

👉 exponential operator javascript (toán tử luỹ thừa)

exponential operator javascript hay còn gọi là toán tử luỹ thừa được giới thiệu có một chi tiết cực kỳ dễ nhầm lẫn. Anh em cũng xem xét một chút.

👉 Axios vs Fetch - 2020 nên sử dụng thằng nào với những tính năng mới trong javascript

Axios vs Fetch - Nếu như bạn đã từng làm việt với HTTP calls trong javascript hay nodejs thì bạn cũng đã từng sử dụng 1 trong 2 thằng này. Axios là một module mạnh mẽ và phổ biến trong javascript, và tương tự Fetch được phát hành 2015 cho đến nay

👉 Constructor.js , class.js và constructor in class javascript

Dù sao đi nữa tôi nghĩ tương lại react sẽ lại phổ biến và lúc đó những kiến thức như thế này mạng lại lợi ích khác biệt cho các bạn bước vào một phần của react native. Trong hướng dẫn này, chúng ta đã đi tìm hiểu về sự tương đồng và khác biệt giữa constructor function JavaScript và class trong ES6. Cả hai lớp và các hàm tạo đều bắt chước một mô hình thừa kế hướng đối tượng thành JavaScript, đây là ngôn ngữ kế thừa dựa trên nguyên mẫu. Hiểu kế thừa nguyên mẫu là tối quan trọng để trở thành một nhà phát triển JavaScript hiệu quả. Làm quen với các lớp là vô cùng hữu ích, vì các thư viện JavaScript phổ biến như React sử dụng cú pháp lớp thường xuyên.

🏋 New Posts

👉 [Chuyện cuối tuần #7] - Docker is damaged, kẹt xe làm buổi sáng mất hết năng lượng và nhân vật Anh CAO trong Upstream

Họ đã đưa ra những kiến thức chuẩn bị cho việc `ngồi ghế nóng` kiểu giống như đề mở vậy. Đó là `k8s`, `docker`, và quan trọng là `kafka`. Nhưng đột nhiên hãy xem hình ảnh tôi đang làm

👉 Kafka: Hướng dẫn phỏng vấn dưới góc nhìn của một DEV chuẩn bị layoff (phần 2)

Ngoài trời đang mưa rả rích, tiếng mưa rơi lộp độp trên của kính của văn phòng của một công ty lớn trong ngành sản xuất phần mềm. Trong phòng phỏng vấn, Senior - một kỹ sư dày dạn kinh nghiệm đang trao đổi với Intern - một ứng viên trẻ tiềm năng.

👉 Kafka: Hướng dẫn phỏng vấn dưới góc nhìn của một DEV chuẩn bị layoff.

Gần đây, hiện tại và sắp tới sau khi kỳ tết 2025 thì chuần bị là mùa cao điểm của việc nhảy việc, và nhiều anh em đã gửi các câu hỏi or đã hỏi tôi về các câu hỏi của các stacks ví dụ như phỏng vấn của NVIDIA..

👉 Lập trình đồng thời và Vật cực tất phản - Chuyện cuối tuần

Chuyện cuối tuần - Vật cực tất phản, hôm nay tôi muốn đề cập đến một khái niệm mà tôi đọc qua trong cuộc sống là đúng, nhưng trong lập trình cấp độ ngôn ngữ thì tôi thấy nó chưa đúng, nhưng lạ thay với cấp độ doanh nghiệp thì nó lại đúng. Khái niệm được đề cập như sau:

👉 DDD - Project: vetautet.com 07: Cơn ác mộng của việc tìm kiếm log và cuộc cách mạng trong DDD project

Đó là ngày đầu tiên của tôi sau khi được tăng chức khi có một bước tiến mới trong việc [Cải thiện hiệu suất API mới kỹ thuật mới trong DDD - Project] với tư cách một Junior tại một công ty công nghệ.

👉 Nếu Kafka mất tin nhắn hãy tập trung 3 giai đoạn này - Vũ khí backend năm tới

Làm thế nào để đảm bảo message không bị mất sau này chủ yếu được phân tích từ ba giai đoạn này, hãy chú ý nó một cách cẩn thận. Chỉ khi nào bạn thực sự sử dụng nó thì mới thấy 3 giai đoạn này là vô cùng quan trọng.

👉 Lập trình đồng thời #1: Nói về Thread vs Virtual Thread và ghé nhà hàng xóm Goroutine

Chỉ cần hiểu như thế này cho các round phỏng vấn như món tráng miệng đó là `Thread` rất nặng, nó tương ứng mới các thread của hệ điều hành. Vì vậy chắc chắn có limited.

👉 2025 tôi không phải có thêm kinh nghiệm và tôi có thêm nhiều Anh Em DEV hơn. Tạm biệt 2024

Tôi còn nhớ JavaEE lúc đó rất phổ biến vì các logic business được quản lý mới Struct, Spring, và không quên đó là Hibernate chịu trách nhiệm quản lý database, nhìn lại một hành trình giờ đây quá nhiều thay đổi với sự xuất hiện của SpringMVC nó đã làm lu mờ đi Struct...

👉 DDD - Project: vetautet.com 06: INTERN với sự khiêm tốn đến kỳ lạ lần này nó đã thực sự thành công lên Junior

Cậu intern mới vào công ty có 3 tháng mà có thể thấy hình như cậu ấy đã chạm vào được trái tim của ứng dụng, của anh em và quan trọng có lẽ danh phận Junior chỉ để nhằm hạn chế lương của cậu ta thôi sao... Tôi tự nhủ..

👉 DDD - Project: vetautet.com 05: Hệ thống chúng tôi cảm ơn thằng em INTERN và đây có lẽ là định mệnh

Chắc chắn chúng ta sẽ phải thêm một tuyến phòng thủ tiếp theo để bảo về Redis, tôi nói. Vậy cái gì có performance tốt hơn Redis cache nữa... Bỗng thằng em INTERN cất tiếng nói, Anh em thấy thế này, giọng nó khá trong trẻo..

👉 Hệ thống đồng thời CAO: Kỹ thuật rất đơn giản phải không? Nhưng tôi mất 5 năm còn bạn chỉ mất 3 phút..

Đương nhiên có rất nhiều framework opensource hỗ trợ local cache chẳng hạn như `Ehcache`, `Guava cache`, `Caffeine Cache` đương nhiên còn nhiều nữa... Nhưng thật sự bạn hay team bạn đã sử dụng chúng hết chưa, và các bạn phải chọn lựa thì dựa trên tiêu chí nào?

👉 Cách đảm bảo dữ liệu không bị trùng lặp trong các tình huống đồng thời cao?

Cách đảm bảo dữ liệu không bị trùng lặp trong các tình huống đồng thời cao. Trước tiên hãy xem câu hỏi và sau đó mỗi chúng ta tự hỏi: "Minhd đã từng gặp phải những tình huống này chưa? Hoặc có thể tương lai sẽ gặp thì mình sẽ thực hiện như thế nào?"

👉 Tôi rất tự tin về MYSQL cho đến khi gặp người Anh phỏng vấn có tâm

Sau cuộc phỏng vấn đó, tôi dành một chút thời gian để suy nghĩ lại về những gì anh ấy nói.   Công nhận về MYSQL việc viết câu lệnh rất đơn giản chỉ xoay quanh bốn cụm từ `SELECT`, `UPDATE`, `DELETE`, `INSERT INTO` tôi tin rằng đây là điều mà mọi lập trình viên có chút kinh nghiệm đều có thể hiểu và làm được. Nhưng hôm nay sao nó lại quá lạ lùng như vậy…

👉 Lập trình tuổi 35 - Khủng hoảng không phải đến từ công việc mà từ chi tiêu

Lập trình tuổi 35 - họ nói độ tuổi này ít công ty tuyển, tôi nghĩ không phải, chả phải có nhiều công ty sẵn sằng chi trả mức lương 8K để tuyển 10 năm kinh nghiệm đó sao? Chả phải nhìn xung quanh, bạn tôi vẫn còn hăng say hay sao?

👉 DDD - Project: vetautet.com 04: Một tai nạn trực tuyến xảy ra lúc 11h đêm, một cuộc điện thoại và nhiều notifications

Lúc này hệ thống đã lên tới `6000 request/second`, điều đó có nghĩa là hệ thống bán vé tàu của chúng tôi phát huy sức mạnh với nhiều người quan tâm. Ngáp một hơi lấy tinh thân đi ngủ thôi... Cuộc đời lập trình viên đẹp đến thế là cùng... NHƯNG

👉 DDD - Project: vetautet.com 03: Tuyến phỏng thủ thứ hai của lập trình viên nhiều kinh nghiệm

Ở phần trước chúng ta đã đến cập đến tuyền phòng thủ đầu tiên trong hệ thống [DDD bán vé tàu TẾT - Đồng thời cao], ở đó có một khái niệm cân được quan tâm đó là `circuitBreaker` và `RateLimiter`. Cốt lõi là `circuitBreaker` nó sẽ phát huy tác dụng trong trường hợp đó chính là quấy bán vé quá tải thì phải lập tức chuyển qua trạng thái OPEN.

👉 DDD - Project: vetautet.com 02: Tuyến phỏng thủ đầu tiên được thiếp lập

Như vậy thì ở video trước chúng ta đã lập nên tuyền phòng thủ đầu tiên sử dụng công cụ `Resilience4j` được Netflix khuyên các hệ thống nên thay thế cho `Hystrix`. Vì `Hystrix` đang được maintenance. Tất nhiên các dự án cũ đang còn sử dụng Hystrix thì vẫn có thể sử dụng chúng nhằm giảm lỗi trong hệ thống.

👉 DDD - Project: vetautet.com 01: Triển Khai Kiến Trúc DDD Cho Ứng Dụng Bán Vé Tàu Tết Với Spring Boot Phần 1: Giới Thiệu Cấu Trúc Module

Trong dự án bán vé tàu Tết với Spring Boot, chúng tôi sẽ chia ứng dụng thành 5 module chính: start, application, controller, infrastructure, và domain. Hãy quan sát và suy nghĩ..

👉 Go 35: Code + SQL - Build Service Two Factor Authentication - Interface vs SQLC

File sqlc và goose dành cho các Lập trình viên Go Member có thể lấy tại đây, Section Go 35: Code + SQL - Build Service Two Factor Authentication - Interface vs SQLC

👉 Dự án đồng thời cao về bán vé tàu TẾT giờ cao điểm sử dụng JAVA - OPENSOURCE By MEMBER TIPSJAVA

Trên thực tế, việc xây dựng bán vé TÀU TẾT về cơ bản là một ứng dụng toàn diện của công nghệ có tính đồng thời cao trong các tình huống cụ thể. Ví dụ như mới tổ chức bán vé vào dịp tết, chuẩn bị bán vé liveshow MỸ TÂM, hoặc bán Iphone 17... Các kịch bản có tính đồng thời cao và khả năng thiết kế kiến ​​trúc có tính tương tranh cao là khả năng then chốt không thể thiếu đối với các nhà phát triển. ..

👉 INTERVIEW BACKEND 01: Bảo Vệ Server Khi Bị SPAM API FORGOT PASSWORD với 5000 request/second

INTERVIEW BACKEND vị trí Fresher BE như sau: Làm thế nào bảo vệ hệ thống cụ thể là nhiệm vụ API FORGOT PASSWORD khi có nhiều request trong một thời gian ngắn hạn.

👉 Series GOLANG cho người mới bắt đầu TỪ SỐ 0

Golang cho người mới bắt đầu sẽ được thiết kế dành cho những sinh viên chưa có hoặc chỉ có kinh nghiệm lập trình cơ bản. Trong topic này, bạn sẽ học những kiến ​​thức cơ bản về ngôn ngữ lập trình go backend

👉 Series JAVA cho người mới bắt đầu TỪ SỐ 0

Java cho người mới bắt đầu sẽ được thiết kế dành cho những sinh viên chưa có hoặc chỉ có kinh nghiệm lập trình cơ bản. Trong topic này, bạn sẽ học những kiến ​​thức cơ bản về ngôn ngữ lập trình Java

👉 Go 31 - [User Login Interface] Implementation Verification OTP

Sau khi chúng ta triển khai thực hiện chức năng [Go 29: Implement IUserLogin - Register] và `User` sẽ nhận được `OTP` được gửi qua `EMAIL` or `SMS` đã đăng ký. Sau nó nếu User nhập OTP

👉 Java Backend - Giới thiệu về dự án eCommerce và các bước hình thành API

Thứ hai, đó là chúng ta phải biết năng lực hiện này của các lập trình viên backend java đều khác nhau, cho nên tốt nhất chúng tôi sẽ chia ra nhiều level khác nhau.

👉 Go Backend Ecommerce: [User Login Interface] Implementation Registration - Phần 24

Triển khai quy trình đăng ký người dùng trong dự án Shopdev, bao gồm kiểm tra email hoặc số điện thoại, mã hóa dữ liệu, gửi OTP qua Kafka và AWS, và lưu trữ dữ liệu bảo mật.

👉 Hướng dẫn đồng bộ dữ liệu Mysql to Kafka sử dụng Debezium với N Tables tốc độ REALTIME

Debezium là một công cụ mạnh mẽ cho phép chúng ta theo dõi các thay đổi trong cơ sở dữ liệu MySQL và phát những thay đổi đó dưới dạng các sự kiện vào Kafka.

👉 Lộ trình Java, Go, Nodejs Backend Toàn Diện

Các lập trình viên nhìn chung có niềm đam mê lớn với công nghệ nên họ sẽ chắc chắn dành nhiều tâm sức cho việc học kỹ thuật lâpk trình trong suốt sự nghiệp của mình. Hơn nữa, các lập trình viên không chỉ cần thành thạo ngôn ngữ phát triển trong công việc mà còn phải thành thạo hàng loạt middleware mà các công nghệ đang triển khai. Ví dụ: Nếu bạn là kỹ sư phát triển back-end, bạn không chỉ cần thành thạo 1-2 ngôn ngữ back-end mà còn cả database, cache, message queue, sync..

👉 Ngoài javascript bây giờ tôi nên chọn ngôn ngữ nào tiếp theo?

Tôi bắt đầu lập trình bằng javascript cách đây 6 tháng và đây là ngôn ngữ duy nhất tôi biết cho đến nay. Tôi không thực sự hứng thú với frontend và tôi đã quen thuộc với các công nghệ được sử dụng để phát triển phía backend. Tôi muốn ngôn ngữ tiếp theo của mình là ngôn ngữ được sử dụng rộng rãi cho phát triển backend chủ thuần túy trong ngành và tôi không thể quyết định giữa JAVA, Go, C#, PHP, python. Ngôn ngữ nào có thể mang lại cho tôi nhiều cơ hội nhất để bắt đầu hành trình của mình trong những năm tiếp theo của lập trình viên.

👉 Tại Sao Vẫn Nên Học Java Dù Đã Có Ngôn Ngữ Chủ Lực

Nam là một chiến binh PHP dũng mãnh, có thể xử lý bất kỳ thách thức nào với chiếc "gươm" cú pháp của mình. Nhưng rồi một ngày, Nam nhận ra mình bị lạc vào một khu rừng mã code, nơi có những thứ mà PHP không thể cứu vãn được.

👉 Lộ trình trở thành backend với Golang

Tại sao lại học Go? Và lộ trình trở thành backend với Golang như thế nào? Cần có kiến thức gì để có thể học các ngôn ngữ nhanh chóng có thể? Không có cách nào khác ngoài sự kiên nhẫn và chọn đúng hướng đi...

👉 Nếu accessToken bị đánh cắp thì sẽ xử lý như thế nào cũng như làm sao để phát hiện điều đó?

Bám sát vào câu hỏi. "Nếu accessToken bị đánh cắp thì sẽ xử lý như thế nào cũng như làm sao để phát hiện điều đó?". Suy nghĩ. Tại sao nhà tuyển dụng lại hỏi vào thẳng câu đó, hay là từ câu đó nếu mà bạn trả lời được thì sẽ dẫn dắt một câu chuyện khác?

👉 Nghệ thuật ổn định của hệ thống và tính sẵn sàng cao của một backend (beginer-> junior -> senior -> level 5)

Lập trình viên đề cập đến hệ thống ai cũng nghĩ về kiến trúc với 3 điều sau. Một tính sẵn sàng cao, hai đồng thời cao, và ba là hiệu suất cao. 3 yếu tố này bắt buộc phải hiểu nếu bạn là một Backend phải xem xét trong quá trình làm việc với dự án. Trong bài viết này, chúng ta sẽ nói những điều này cũng là điều mà chúng ta thường gọi là tính ổn định của hệ thống.

👉 Cách connect redis vs nodejs này cực kỳ hiệu quả và giám sát tốt nhất

Cách connect redis này là một cách tạo độ tin cậy và giám sát hệ thống một cách hiệu quả trong kiến trúc microservice, đến nay chúng tôi vẫn sử dụng cách này triển khai cho nhiều dự án.

👉 Redis và Mysql phân tích tính nhất quán dữ liệu đồng thời cao trong hệ thống (Backend Level 4, 5)

Đối với Lập Trình Viên Backend lâu năm không cần phải giải thích tính quan trọng của cache (redis, memcached) nó được sử dụng rộng rãi trong các dự án do tính đồng thời cao và hiệu suất cao không phải bàn cãi, nhưng nó có nhược điểm đó là tính nhất quán.

👉 Redis và Memcached sự khác biệt là gì?

Redis và Memcached vốn dĩ rất thân thuộc với nhiều lập trình viên backend, chúng đều là cơ sở dữ liệu dựa trên bộ nhớ và thường được sử dụng làm bộ nhớ đệm (cache) trong ứng dụng hiện nay, và cũng có nhiều kịch bản để áp dụng.

👉 Nói về khóa phân tán với hai levels lập trình backend

"Khóa phân tán" là một phương pháp phổ biến được sử dụng để giải quyết "xung đột đồng thời" trong các ứng dụng phân tán hiện nay. Ở đây chúng ta sẽ phân tích các kịch bản và cách triển khai về phương pháp này.

👉 Lộ trình lập trình backend: Nói về redis các tình huống và kịch bản trong thực tế cũng như phỏng vấn.

Redis String là một trong những cấu trúc dữ liệu cơ bản nhất trong Redis, nó có thể lưu trữ bất kỳ loại dữ liệu nào, bao gồm number, text, object được tuần tự hóa, v.v. String trong Redis có thể lưu trữ tới 512MB dữ liệu.

👉 Sự đánh đổi hiệu suất và tính nhất quán trong hệ thống backend

Khi chúng ta nói về tính nhất quán nhất là các hệ thống phân tán, thì sách vở chỉ có phân hai loại, nhất quán yếu và nhất quán mạnh. Nhưng thực tế thì phải có 3 loại tính nhất quán.

👉 Lập trình phía Backend - hiểu stream trong Node.js tối ưu hệ thống

Stream trong Node.js được sử dụng khi xử lý các tình huống với các File lớn hoặc phát trực tiếp liveStream một ứng dụng nào đó. Thật sự nếu kỹ năng chưa đủ thì có lẽ sẽ làm một thảm họa, ví dụ sau đây làm bằng chứng...