System Design — 13 Thuật Ngữ Thiết Kế Hệ Thống Developer Phải Biết

System Design là chủ đề “khó nhằn” nhất trong phỏng vấn senior — và cũng là kiến thức cốt lõi để xây dựng hệ thống phục vụ hàng triệu người dùng. Hiểu thuật ngữ system design bằng tiếng Anh giúp bạn tự tin khi đọc engineering blog của Netflix, Uber, hay khi ngồi vào bàn phỏng vấn. Ready? 🧠 🔹 CAP & Core Properties English IPA Tiếng Việt Example scalability /ˌskeɪləˈbɪləti/ khả năng mở rộng hệ thống khi tải tăng Horizontal scalability lets us add more servers to handle traffic spikes during Black Friday. availability /əˌveɪləˈbɪləti/ tính sẵn sàng — hệ thống luôn hoạt động Our SLA guarantees 99.99% availability, meaning less than 53 minutes of downtime per year. consistency /kənˈsɪstənsi/ tính nhất quán — mọi node trả về cùng dữ liệu Strong consistency ensures all users see the same account balance at the same time. partition tolerance /pɑːrˈtɪʃən ˈtɒlərəns/ chịu lỗi phân vùng — hoạt động dù mạng bị chia cắt Partition tolerance means the system continues to operate even if communication between nodes is lost. CAP theorem /kæp ˈθɪərəm/ định lý CAP — chỉ đạt được 2 trong 3: C, A, P According to the CAP theorem, our distributed database must choose between consistency and availability during a network partition. 🔹 Data Distribution English IPA Tiếng Việt Example sharding /ˈʃɑːrdɪŋ/ phân mảnh dữ liệu — chia DB thành nhiều phần nhỏ We use sharding by user ID to distribute data across 8 database servers. replication /ˌrɛplɪˈkeɪʃən/ sao chép dữ liệu — nhân bản DB để tăng độ tin cậy Database replication keeps a standby copy that takes over if the primary server fails. database indexing /ˈdeɪtəbeɪs ˈɪndɛksɪŋ/ đánh chỉ mục — tăng tốc truy vấn database Adding database indexing on the email column reduced the query time from 3 seconds to 10 milliseconds. 🔹 Performance & Caching English IPA Tiếng Việt Example caching /ˈkæʃɪŋ/ bộ nhớ đệm — lưu tạm kết quả để phục vụ nhanh hơn Add a Redis caching layer to serve popular product pages without hitting the database. CDN /ˌsiː.diː.ˈɛn/ Content Delivery Network — mạng phân phối nội dung toàn cầu Serve static assets through a CDN so users in Asia get fast load times from nearby edge servers. load balancing /loʊd ˈbælənsɪŋ/ cân bằng tải — phân phối request đều giữa các server Use load balancing with round-robin to distribute traffic evenly across 4 application servers. 🔹 Async Communication English IPA Tiếng Việt Example message queue /ˈmɛsɪdʒ kjuː/ hàng đợi tin nhắn — giao tiếp bất đồng bộ giữa services Send order events to a message queue so the notification service processes them independently. rate limiting /reɪt ˈlɪmɪtɪŋ/ giới hạn tần suất — kiểm soát số request mỗi giây Implement rate limiting at the API gateway to prevent a single client from overwhelming the system. 💡 Mẹo ghi nhớ CAP Theorem = “chọn 2 bỏ 1”: Consistency, Availability, Partition tolerance. Trong distributed system, khi mạng lỗi (P luôn xảy ra), bạn phải chọn C hoặc A. MongoDB chọn CP, Cassandra chọn AP. Sharding vs Replication: Sharding = chia pizza cho nhiều bàn (mỗi bàn một phần khác nhau). Replication = photocopy pizza (mỗi bàn một bản giống hệt). Sharding để scale, replication để backup. CDN = chuỗi cửa hàng tiện lợi: Thay vì mua hàng ở kho trung tâm (origin server), bạn mua ở cửa hàng gần nhà (edge server). Nhanh hơn nhiều! 📝 Bài tập Điền từ thích hợp vào chỗ trống: ...

13/02/2023 · 4 phút · 769 từ · Cuong TQ

Microservices Architecture — 12 Thuật Ngữ Kiến Trúc Developer Phải Biết

Microservices là kiến trúc mà hầu hết các hệ thống lớn đều đang dùng — Netflix, Uber, Grab đều chạy hàng trăm microservice. Nhưng đi kèm với đó là hàng loạt thuật ngữ phức tạp. Hiểu chúng bằng tiếng Anh giúp bạn đọc hiểu system design, tham gia architecture discussion, và phỏng vấn senior position. Let’s explore! 🏗️ 🔹 Core Concepts English IPA Tiếng Việt Example service /ˈsɜːrvɪs/ dịch vụ — đơn vị độc lập xử lý một chức năng The payment service handles all billing and transaction logic independently. gateway /ˈɡeɪtweɪ/ cổng vào — điểm tiếp nhận mọi request từ client The API gateway routes requests to the correct microservice based on the URL path. bounded context /ˈbaʊndɪd ˈkɒntɛkst/ ngữ cảnh giới hạn — phạm vi riêng của mỗi service Each microservice operates within its own bounded context with its own database. idempotent /ˌaɪdɪmˈpoʊtənt/ bất biến kết quả — gọi nhiều lần cho cùng kết quả Make the payment API idempotent so retrying a failed request doesn’t charge the user twice. 🔹 Resilience Patterns English IPA Tiếng Việt Example circuit breaker /ˈsɜːrkɪt ˈbreɪkər/ ngắt mạch — tạm dừng gọi service lỗi để tránh cascading failure The circuit breaker opens after 5 consecutive failures and stops calling the downstream service. saga pattern /ˈsɑːɡə ˈpætərn/ mẫu saga — quản lý transaction phân tán qua chuỗi event We use the saga pattern to coordinate the order, payment, and shipping services in a distributed transaction. eventual consistency /ɪˈvɛntʃuəl kənˈsɪstənsi/ nhất quán cuối cùng — dữ liệu sẽ đồng bộ sau một khoảng thời gian With eventual consistency, the inventory count may lag a few seconds behind the actual stock. 🔹 Communication & Data English IPA Tiếng Việt Example event sourcing /ɪˈvɛnt ˈsɔːrsɪŋ/ lưu trữ mọi thay đổi dưới dạng chuỗi event With event sourcing, we can rebuild the account balance by replaying all transaction events. CQRS /ˌsiː.kjuː.ɑːr.ˈɛs/ Command Query Responsibility Segregation — tách đọc và ghi CQRS uses separate models for reading data and writing data to optimize performance. distributed tracing /dɪˈstrɪbjuːtɪd ˈtreɪsɪŋ/ theo dõi request xuyên suốt nhiều service Use distributed tracing with Jaeger to track a request as it flows through 10 different services. 🔹 Infrastructure English IPA Tiếng Việt Example service mesh /ˈsɜːrvɪs mɛʃ/ lưới dịch vụ — quản lý giao tiếp giữa các service Deploy Istio as a service mesh to handle load balancing, encryption, and observability between services. sidecar /ˈsaɪdkɑːr/ container phụ chạy cạnh service chính The sidecar proxy handles TLS termination and metrics collection for each service pod. 💡 Mẹo ghi nhớ Circuit Breaker = cầu dao điện: Khi quá tải (service lỗi liên tục), cầu dao ngắt để bảo vệ hệ thống. Sau một lúc thử đóng lại (half-open state). Saga = câu chuyện dài nhiều chương: Mỗi service là một chương, nếu chương nào thất bại thì phải “undo” các chương trước đó (compensation). CQRS — nhớ: Command = viết (thay đổi data), Query = đọc (lấy data). Tách riêng vì đọc và ghi có nhu cầu khác nhau (đọc cần nhanh, ghi cần đúng). 📝 Bài tập Điền từ thích hợp vào chỗ trống: ...

12/02/2023 · 4 phút · 705 từ · Cuong TQ

Testing & QA — 14 Thuật Ngữ Kiểm Thử Developer Phải Biết

“Code mà không test thì cũng như nấu mà không nếm” — testing là kỹ năng sống còn của mọi developer. Dù bạn viết unit test cho function nhỏ hay chạy e2e test cho cả flow, hiểu thuật ngữ testing bằng tiếng Anh giúp bạn đọc hiểu test report, viết test plan, và trao đổi với QA team dễ dàng. Let’s test your vocabulary! 🧪 🔹 Các loại Test English IPA Tiếng Việt Example unit test /ˈjuːnɪt tɛst/ kiểm thử đơn vị — test từng function riêng lẻ Write a unit test to verify that the calculateTotal function returns the correct sum. integration test /ˌɪntɪˈɡreɪʃən tɛst/ kiểm thử tích hợp — test nhiều module kết hợp The integration test checks that the API endpoint correctly saves data to the database. e2e test /ˌiː.tuː.ˈiː tɛst/ end-to-end test — kiểm thử toàn bộ flow từ UI đến DB Our e2e tests simulate a user logging in, adding items to cart, and completing checkout. smoke test /smoʊk tɛst/ kiểm thử nhanh các chức năng chính sau deploy Run a smoke test after deployment to make sure the homepage and login still work. load test /loʊd tɛst/ kiểm thử tải — đo hiệu năng dưới áp lực The load test showed the server can handle 5,000 concurrent users before slowing down. 🔹 Test Techniques English IPA Tiếng Việt Example mock /mɒk/ đối tượng giả lập để thay thế dependency thật Use a mock for the payment service so the test doesn’t charge a real credit card. stub /stʌb/ hàm giả trả về giá trị cố định Create a stub that returns a fixed list of users instead of querying the database. fixture /ˈfɪkstʃər/ dữ liệu mẫu chuẩn bị sẵn cho test Load the test fixtures to populate the database with sample products before running tests. assertion /əˈsɜːrʃən/ câu lệnh kiểm tra kết quả đúng hay sai The assertion checks that the response status code equals 200. 🔹 Metrics & Processes English IPA Tiếng Việt Example coverage /ˈkʌvərɪdʒ/ độ phủ test — phần trăm code được test We need at least 80% test coverage before merging to the main branch. regression /rɪˈɡrɛʃən/ lỗi tái phát — bug cũ xuất hiện lại sau khi thay đổi code The new feature caused a regression — the search function stopped working. test suite /tɛst swiːt/ bộ test — tập hợp các test case liên quan Run the full test suite before every release to catch any regressions. 🔹 Phương pháp phát triển English IPA Tiếng Việt Example TDD /ˌtiː.diː.ˈdiː/ Test-Driven Development — viết test trước, code sau With TDD, you write the failing test first, then write code to make it pass. BDD /ˌbiː.diː.ˈdiː/ Behavior-Driven Development — viết test theo hành vi mong muốn BDD scenarios are written in plain English: “Given a logged-in user, when they click logout…” 💡 Mẹo ghi nhớ Mock vs Stub: Mock = diễn viên đóng thế (kiểm tra có được gọi đúng không). Stub = mannequin (chỉ đứng đó trả giá trị cố định, không kiểm tra gì). Mock verify behavior, stub provide data. Unit → Integration → E2E = Kim tự tháp test: Unit test nhiều nhất (đáy), e2e test ít nhất (đỉnh). Càng lên cao càng chậm và tốn chi phí. TDD nhớ quy trình: 🔴 Red (test fail) → 🟢 Green (viết code cho pass) → 🔵 Refactor (tối ưu code). 📝 Bài tập Điền từ thích hợp vào chỗ trống: ...

11/02/2023 · 4 phút · 743 từ · Cuong TQ

Backend Development — 14 Thuật Ngữ Lập Trình Server Developer Phải Biết

Backend là “bộ não” phía sau mọi ứng dụng — xử lý logic, lưu trữ dữ liệu, xác thực người dùng. Dù bạn viết Java, Python, Node.js hay Go, các thuật ngữ backend đều chung. Hiểu chúng bằng tiếng Anh giúp bạn đọc docs nhanh hơn và communicate hiệu quả trong team quốc tế. Let’s go! ⚙️ 🔹 API & Middleware English IPA Tiếng Việt Example API /ˌeɪ.piː.ˈaɪ/ giao diện lập trình ứng dụng — cầu nối giữa các hệ thống The mobile app calls the REST API to fetch the user’s order history. middleware /ˈmɪdəlˌwɛr/ lớp xử lý trung gian giữa request và response Add a logging middleware to record every incoming request. rate limiting /reɪt ˈlɪmɪtɪŋ/ giới hạn số request trong khoảng thời gian We set rate limiting to 100 requests per minute to prevent API abuse. error handling /ˈɛrər ˈhændlɪŋ/ xử lý lỗi — bắt và phản hồi lỗi phù hợp Proper error handling returns a 404 status instead of crashing the server. 🔹 Database & ORM English IPA Tiếng Việt Example ORM /ˌoʊ.ɑːr.ˈɛm/ Object-Relational Mapping — ánh xạ object sang bảng DB Using an ORM like Sequelize lets you write queries in JavaScript instead of raw SQL. migration /maɪˈɡreɪʃən/ script thay đổi cấu trúc database có kiểm soát Run the migration to add the email column to the users table. caching /ˈkæʃɪŋ/ lưu tạm dữ liệu để truy xuất nhanh hơn We use Redis for caching frequently accessed product data. 🔹 Authentication & Session English IPA Tiếng Việt Example authentication /ɔːˌθɛntɪˈkeɪʃən/ xác thực — chứng minh bạn là ai The authentication flow verifies the user’s email and password before granting access. authorization /ˌɔːθərɪˈzeɪʃən/ phân quyền — xác định bạn được làm gì After authorization check, only admin users can delete other accounts. session /ˈsɛʃən/ phiên làm việc — lưu trạng thái đăng nhập The server creates a session after login and stores it in Redis. 🔹 Architecture Patterns English IPA Tiếng Việt Example queue /kjuː/ hàng đợi — xử lý task theo thứ tự Push the email sending job to the queue so it runs in the background. worker /ˈwɜːrkər/ tiến trình chạy nền xử lý task từ queue The background worker processes image resizing jobs from the queue. logging /ˈlɒɡɪŋ/ ghi log — lưu lại hoạt động hệ thống Enable structured logging to make it easier to search for errors in production. dependency injection /dɪˈpɛndənsi ɪnˈdʒɛkʃən/ tiêm phụ thuộc — truyền dependency từ bên ngoài vào Use dependency injection to pass the database service into the controller for easier testing. 💡 Mẹo ghi nhớ Authentication vs Authorization: Authentication = “Bạn là ai?” (kiểm tra CMND). Authorization = “Bạn được vào đâu?” (kiểm tra vé). Luôn authen trước, author sau. Queue + Worker = nhà hàng: Queue = danh sách order. Worker = đầu bếp. Nhiều order thì thêm worker (scale), không cần khách đứng chờ. ORM — nhớ: Object ↔ Row Mapping. Mỗi object trong code = một row trong database. Không cần viết SQL tay! 📝 Bài tập Điền từ thích hợp vào chỗ trống: ...

10/02/2023 · 4 phút · 691 từ · Cuong TQ

Frontend Development — 14 Thuật Ngữ Lập Trình Giao Diện Developer Phải Biết

Frontend là nơi user nhìn thấy và tương tác trực tiếp — một button lag, một layout vỡ là user bỏ đi ngay. Với sự phổ biến của React, Vue, Angular, việc hiểu thuật ngữ frontend bằng tiếng Anh là bắt buộc nếu bạn muốn đọc docs, trao đổi với team quốc tế, hay phỏng vấn remote. Let’s dive in! 🎨 🔹 Component & Rendering English IPA Tiếng Việt Example component /kəmˈpoʊnənt/ thành phần giao diện có thể tái sử dụng Each page is built from reusable components like Header, Footer, and Sidebar. render /ˈrɛndər/ hiển thị giao diện lên màn hình React renders the component tree whenever state changes. DOM /dɒm/ Document Object Model — cây cấu trúc của trang web JavaScript manipulates the DOM to update content without reloading the page. virtual DOM /ˈvɜːrtʃuəl dɒm/ bản sao nhẹ của DOM thật, dùng để tối ưu cập nhật React uses a virtual DOM to compare changes before updating the real DOM. 🔹 State & Data Flow English IPA Tiếng Việt Example state /steɪt/ trạng thái dữ liệu của component When the user clicks the button, the state updates and the counter increments. props /prɒps/ dữ liệu truyền từ component cha sang con The parent passes the user’s name as props to the ProfileCard component. hook /hʊk/ hàm đặc biệt để dùng state và lifecycle trong function component Use the useState hook to manage local state in a functional component. event handler /ɪˈvɛnt ˈhændlər/ hàm xử lý sự kiện từ user Attach an onClick event handler to the button to trigger the form submission. 🔹 Lifecycle & Patterns English IPA Tiếng Việt Example lifecycle /ˈlaɪfˌsaɪkəl/ vòng đời component — từ mount đến unmount Fetch API data in the componentDidMount lifecycle method. hydration /haɪˈdreɪʃən/ gắn logic JS vào HTML đã render từ server After server-side rendering, hydration attaches event listeners to the static HTML. responsive /rɪˈspɒnsɪv/ thiết kế tương thích mọi kích thước màn hình The layout must be responsive so it works on both mobile and desktop. 🔹 Build & Optimization English IPA Tiếng Việt Example bundler /ˈbʌndlər/ công cụ đóng gói code thành file tối ưu We switched from Webpack to Vite as our bundler for faster build times. tree shaking /triː ˈʃeɪkɪŋ/ loại bỏ code không sử dụng khỏi bundle Enable tree shaking to remove unused utility functions and reduce bundle size. CSS-in-JS /ˌsiː.ɛs.ˈɛs ɪn ˌdʒeɪ.ˈɛs/ viết CSS trực tiếp trong JavaScript We use styled-components, a CSS-in-JS library, to scope styles to each component. 💡 Mẹo ghi nhớ State vs Props: State = ví tiền của bạn (tự quản lý, tự thay đổi). Props = tiền bố mẹ cho (nhận từ bên ngoài, không tự đổi được). Muốn thay props? Phải nhờ component cha thay đổi. DOM vs Virtual DOM: DOM = nhà thật (sửa tốn công). Virtual DOM = bản vẽ nhà (vẽ thử trước, chỉ sửa chỗ khác biệt). Đó là lý do React nhanh! Hydration — nghĩa gốc là “cấp nước”. Tưởng tượng HTML từ server là cây khô, JS là nước — hydration làm cây sống lại (có tương tác). 📝 Bài tập Điền từ thích hợp vào chỗ trống: ...

09/02/2023 · 4 phút · 699 từ · Cuong TQ

Monitoring & Observability — 15 Thuật Ngữ Giám Sát Hệ Thống Developer Cần Biết

Hệ thống chạy tốt hay không, bạn phải đo lường được mới biết. Monitoring & Observability là kỹ năng quan trọng giúp bạn phát hiện sự cố sớm, debug nhanh, và giữ service ổn định. Cùng học 15 thuật ngữ quan trọng nhất trong lĩnh vực này nhé! 📊 🔹 Ba trụ cột Observability English IPA Tiếng Việt Example metrics /ˈmɛtrɪks/ số liệu đo lường (CPU, memory, request count) We track metrics like response time and error rate on every endpoint. logs /lɒɡz/ nhật ký hệ thống Check the application logs to find out why the request returned a 500 error. traces /treɪsɪz/ dấu vết request xuyên suốt các service Distributed traces show that the delay is in the payment service, not the API gateway. 🔹 Cảnh báo & Dashboard English IPA Tiếng Việt Example alerting /əˈlɜːrtɪŋ/ cảnh báo tự động khi có bất thường Set up alerting to notify the team when error rate exceeds 5%. dashboard /ˈdæʃbɔːrd/ bảng điều khiển hiển thị số liệu The Grafana dashboard shows real-time CPU and memory usage across all servers. health check /hɛlθ tʃɛk/ kiểm tra tình trạng hoạt động The load balancer pings the /health check endpoint every 30 seconds. 🔹 Cam kết & Chỉ tiêu English IPA Tiếng Việt Example SLA /ˌɛs.ɛl.ˈeɪ/ Service Level Agreement — cam kết mức dịch vụ Our SLA guarantees 99.9% uptime for enterprise customers. SLO /ˌɛs.ɛl.ˈoʊ/ Service Level Objective — mục tiêu nội bộ về chất lượng We set an SLO of 200ms p99 latency for the search API. uptime /ˈʌptaɪm/ thời gian hệ thống hoạt động The service maintained 99.95% uptime last quarter. downtime /ˈdaʊntaɪm/ thời gian hệ thống ngừng hoạt động The scheduled downtime for maintenance is from 2 AM to 4 AM on Sunday. 🔹 Xử lý sự cố English IPA Tiếng Việt Example incident /ˈɪnsɪdənt/ sự cố ảnh hưởng đến service We declared a P1 incident when the payment system went down. on-call /ɒn kɔːl/ trực — sẵn sàng xử lý sự cố I’m on-call this week, so I’ll respond to any production alerts. runbook /ˈrʌnbʊk/ tài liệu hướng dẫn xử lý sự cố Follow the runbook to restart the service and verify it’s healthy. postmortem /poʊstˈmɔːrtəm/ báo cáo phân tích sau sự cố We wrote a postmortem to document the root cause and prevent it from happening again. MTTR /ˌɛm.tiː.tiː.ˈɑːr/ Mean Time To Recovery — thời gian trung bình khôi phục Our goal is to keep MTTR under 30 minutes for critical incidents. 💡 Mẹo ghi nhớ Metrics, Logs, Traces = ba trụ cột observability. Metrics cho biết “có vấn đề gì?”, Logs cho biết “vấn đề xảy ra ở đâu?”, Traces cho biết “request đi qua những service nào và bị chậm ở đâu?”. SLA vs SLO: SLA = cam kết với khách hàng (vi phạm phải đền bù). SLO = mục tiêu nội bộ (thường cao hơn SLA để có “buffer”). Ví dụ: SLA 99.9% nhưng SLO 99.95%. Postmortem nghĩa gốc là “khám nghiệm tử thi” — trong IT là “mổ xẻ” sự cố để tìm nguyên nhân gốc rễ. Không blame ai, chỉ tìm cách cải thiện! 📝 Bài tập Điền từ thích hợp vào chỗ trống: ...

08/02/2023 · 4 phút · 725 từ · Cuong TQ

Security & Cybersecurity — 14 Thuật Ngữ An Ninh Mạng Developer Phải Biết

Bảo mật không phải việc riêng của team security — mọi developer đều cần hiểu. Một lỗ hổng XSS hay SQL injection có thể khiến cả hệ thống bị hack. Hiểu thuật ngữ security bằng tiếng Anh giúp bạn viết code an toàn hơn và communicate rõ ràng hơn với team. Let’s go! 🔒 🔹 Mã hóa & Token English IPA Tiếng Việt Example encryption /ɪnˈkrɪpʃən/ mã hóa dữ liệu We use AES-256 encryption to protect sensitive data at rest. decryption /diːˈkrɪpʃən/ giải mã dữ liệu The server performs decryption using the private key to read the message. hash /hæʃ/ băm — chuyển dữ liệu thành chuỗi cố định, không thể đảo ngược We store password hashes using bcrypt instead of plain text. token /ˈtoʊkən/ mã xác thực tạm thời The API returns an access token after successful login. 🔹 Xác thực & Ủy quyền English IPA Tiếng Việt Example OAuth /oʊ.ɔːθ/ giao thức ủy quyền mở Users can sign in with Google using OAuth 2.0 without sharing their password. JWT /dʒɒt/ JSON Web Token — token mang thông tin xác thực The JWT contains the user ID and expiration time, signed with a secret key. certificate /sərˈtɪfɪkət/ chứng chỉ số — xác minh danh tính server The SSL certificate expired, causing browsers to show a security warning. 🔹 Lỗ hổng phổ biến English IPA Tiếng Việt Example XSS /ˌɛks.ɛs.ˈɛs/ Cross-Site Scripting — chèn script độc hại Sanitize all user input to prevent XSS attacks on the frontend. SQL injection /ˌɛs.kjuː.ˈɛl ɪnˈdʒɛkʃən/ chèn mã SQL độc hại vào truy vấn Always use parameterized queries to prevent SQL injection. CSRF /ˈsiː.sɜːrf/ Cross-Site Request Forgery — giả mạo request từ site khác Add a CSRF token to every form to prevent unauthorized submissions. CORS /kɔːrz/ Cross-Origin Resource Sharing — kiểm soát truy cập cross-domain Configure CORS headers to allow requests only from your frontend domain. 🔹 Phòng thủ & Kiểm tra English IPA Tiếng Việt Example vulnerability /ˌvʌlnərəˈbɪləti/ lỗ hổng bảo mật The security scan found a critical vulnerability in the authentication module. penetration testing /ˌpɛnəˈtreɪʃən ˈtɛstɪŋ/ kiểm thử xâm nhập We hired a firm to perform penetration testing before the product launch. patch /pætʃ/ bản vá lỗi Apply the security patch immediately to fix the remote code execution vulnerability. 💡 Mẹo ghi nhớ Encryption vs Hashing: Encryption = khóa tủ (có chìa mở lại). Hashing = xay thịt (không thể “un-xay” lại). Password phải hash (không cần giải mã), còn tin nhắn phải encrypt (cần đọc lại). XSS vs CSRF: XSS = hacker chèn script vào website bạn. CSRF = hacker lừa browser bạn gửi request đến website khác mà bạn đang login. Cả hai đều nguy hiểm! JWT đọc là “jot” (không phải J-W-T) — đây là cách phát âm chính thức từ RFC 7519. 📝 Bài tập Điền từ thích hợp vào chỗ trống: ...

07/02/2023 · 4 phút · 658 từ · Cuong TQ

API & REST — 15 Thuật Ngữ Giao Tiếp Hệ Thống Developer Cần Nắm

Trong thế giới microservices và web hiện đại, API là cách các hệ thống “nói chuyện” với nhau. Dù bạn build frontend gọi API hay backend expose API, hiểu thuật ngữ bằng tiếng Anh là bắt buộc. Cùng học 15 từ vựng quan trọng nhất nhé! 🔌 🔹 Cơ bản về Request/Response English IPA Tiếng Việt Example endpoint /ˈɛndpɔɪnt/ điểm truy cập API The /api/users endpoint returns a list of all registered users. request /rɪˈkwɛst/ yêu cầu gửi đến server The client sends a GET request to fetch the user profile. response /rɪˈspɒns/ phản hồi từ server The response includes a 200 status code and the JSON data. method /ˈmɛθəd/ phương thức HTTP (GET, POST, PUT, DELETE) Use the POST method to create a new resource on the server. 🔹 Cấu trúc dữ liệu truyền tải English IPA Tiếng Việt Example header /ˈhɛdər/ phần đầu request/response chứa metadata Set the Authorization header to include the Bearer token. body /ˈbɒdi/ phần thân chứa dữ liệu chính The POST request body contains the user’s name and email in JSON format. payload /ˈpeɪloʊd/ dữ liệu chính được truyền đi Keep the payload small to reduce response time for mobile clients. middleware /ˈmɪdəlwɛr/ lớp xử lý trung gian The authentication middleware checks the token before reaching the controller. 🔹 Bảo mật & Kiểm soát English IPA Tiếng Việt Example authentication /ɔːˌθɛntɪˈkeɪʃən/ xác thực danh tính The API requires authentication via an API key or OAuth token. rate limiting /reɪt ˈlɪmɪtɪŋ/ giới hạn số request trong thời gian nhất định We set rate limiting to 100 requests per minute per user to prevent abuse. pagination /ˌpædʒɪˈneɪʃən/ phân trang kết quả Use pagination with page and limit params to avoid returning 10,000 rows at once. versioning /ˈvɜːrʒənɪŋ/ quản lý phiên bản API We use URL-based versioning like /api/v2/users to maintain backward compatibility. 🔹 Mở rộng & Tích hợp English IPA Tiếng Việt Example webhook /ˈwɛbhʊk/ callback URL nhận thông báo tự động Stripe sends a webhook to our server whenever a payment is completed. GraphQL /ɡræf.kjuː.ˈɛl/ ngôn ngữ truy vấn API linh hoạt With GraphQL, the client can request exactly the fields it needs. SDK /ˌɛs.diː.ˈkeɪ/ Software Development Kit — bộ công cụ phát triển Install the AWS SDK to interact with S3 and DynamoDB from your Node.js app. 💡 Mẹo ghi nhớ Endpoint nghĩ như địa chỉ nhà — mỗi endpoint là một “địa chỉ” cụ thể trên server mà bạn gửi request đến. Header vs Body: Header = thông tin trên bao thư (người gửi, loại thư). Body = nội dung bên trong thư. Header mang metadata, body mang data thật. Webhook vs API call: API call = bạn gọi điện hỏi “có gì mới không?”. Webhook = bạn đăng ký nhận thông báo, khi có gì mới thì hệ thống tự gọi cho bạn. Webhook tiết kiệm hơn nhiều! 📝 Bài tập Điền từ thích hợp vào chỗ trống: ...

06/02/2023 · 4 phút · 661 từ · Cuong TQ

Database Fundamentals — 14 Thuật Ngữ Cơ Sở Dữ Liệu Developer Cần Biết

Database là trái tim của hầu hết mọi ứng dụng. Dù bạn dùng PostgreSQL, MySQL hay MongoDB, việc hiểu thuật ngữ database bằng tiếng Anh sẽ giúp bạn đọc docs, viết query, và communicate với team hiệu quả hơn rất nhiều. Cùng học 14 từ vựng quan trọng nhất nhé! 🗄️ 🔹 Cấu trúc dữ liệu English IPA Tiếng Việt Example schema /ˈskiːmə/ lược đồ cơ sở dữ liệu The schema defines all tables, columns, and relationships in our database. table /ˈteɪbəl/ bảng dữ liệu We created a new table called orders to store purchase history. primary key /ˈpraɪməri kiː/ khóa chính — định danh duy nhất Every primary key must be unique and not null. foreign key /ˈfɒrən kiː/ khóa ngoại — liên kết giữa các bảng The user_id foreign key in the orders table references the users table. index /ˈɪndɛks/ chỉ mục — tăng tốc truy vấn Adding an index on the email column improved query speed by 10x. 🔹 Truy vấn & Thao tác English IPA Tiếng Việt Example query /ˈkwɪəri/ truy vấn dữ liệu This query returns all users who signed up in the last 30 days. join /dʒɔɪn/ phép nối bảng We use an inner join to combine order data with customer information. transaction /trænˈzækʃən/ giao dịch — nhóm thao tác đảm bảo toàn vẹn Wrap the transfer in a transaction so both accounts update atomically. ACID /ˈæsɪd/ bộ 4 tính chất của transaction (Atomicity, Consistency, Isolation, Durability) Our database engine guarantees ACID compliance for financial transactions. 🔹 Thiết kế & Tối ưu English IPA Tiếng Việt Example normalization /ˌnɔːrməlaɪˈzeɪʃən/ chuẩn hóa dữ liệu — giảm trùng lặp After normalization, we split the address data into a separate table. migration /maɪˈɡreɪʃən/ di chuyển/thay đổi cấu trúc DB Run the migration to add the phone_number column to the users table. ORM /ˌoʊ.ɑːr.ˈɛm/ Object-Relational Mapping — ánh xạ object sang bảng Using an ORM like Sequelize lets you write queries in JavaScript instead of raw SQL. 🔹 Nâng cao English IPA Tiếng Việt Example stored procedure /stɔːrd prəˈsiːdʒər/ thủ tục lưu sẵn trong DB The stored procedure calculates monthly revenue and stores it in the reports table. trigger /ˈtrɪɡər/ trình kích hoạt — tự chạy khi có sự kiện A database trigger automatically updates the modified_at timestamp on every row change. 💡 Mẹo ghi nhớ Primary Key vs Foreign Key: Primary key = số CMND (unique cho mỗi người). Foreign key = ghi số CMND người khác vào đơn hàng để biết ai đặt. Index nghĩ như mục lục sách — không cần đọc cả cuốn, chỉ cần tra mục lục là tìm được trang cần tìm. Nhưng thêm nhiều index quá thì sách dày thêm (tốn bộ nhớ)! ACID nhớ theo câu: “A Transaction Can’t Be Incomplete Dirty” — Atomicity (toàn bộ hoặc không), Consistency (dữ liệu luôn hợp lệ), Isolation (không xung đột), Durability (lưu rồi là không mất). 📝 Bài tập Điền từ thích hợp vào chỗ trống: ...

05/02/2023 · 4 phút · 675 từ · Cuong TQ

Networking — 15 Thuật Ngữ Mạng Mà Developer Nào Cũng Phải Biết

Dù bạn là frontend hay backend developer, networking là nền tảng mà mọi thứ trên internet đều dựa vào. Hiểu rõ thuật ngữ mạng bằng tiếng Anh giúp bạn debug nhanh hơn, đọc docs chuẩn hơn, và tự tin hơn khi discuss kiến trúc hệ thống. Cùng mình khám phá 15 từ vựng quan trọng nhất nhé! 🌐 🔹 Giao thức cơ bản English IPA Tiếng Việt Example TCP /ˌtiː.siː.ˈpiː/ Transmission Control Protocol — giao thức truyền tin cậy TCP ensures all packets arrive in the correct order. UDP /ˌjuː.diː.ˈpiː/ User Datagram Protocol — giao thức truyền nhanh, không đảm bảo Video streaming uses UDP because speed matters more than reliability. IP address /ˌaɪ.ˈpiː əˈdrɛs/ địa chỉ IP — định danh thiết bị trên mạng Each server has a unique IP address to receive incoming traffic. port /pɔːrt/ cổng kết nối mạng The web server listens on port 80 for HTTP and 443 for HTTPS. 🔹 DNS & Truy cập web English IPA Tiếng Việt Example DNS /ˌdiː.en.ˈɛs/ Domain Name System — hệ thống phân giải tên miền DNS translates domain names like google.com into IP addresses. HTTP /ˌeɪtʃ.tiː.tiː.ˈpiː/ HyperText Transfer Protocol — giao thức truyền tải web The browser sends an HTTP request to fetch the webpage. HTTPS /ˌeɪtʃ.tiː.tiː.piː.ˈɛs/ HTTP Secure — HTTP có mã hóa SSL/TLS Always use HTTPS in production to encrypt data in transit. SSL/TLS /ˌɛs.ɛs.ˈɛl ˌtiː.ɛl.ˈɛs/ giao thức mã hóa kết nối We renewed the SSL/TLS certificate before it expired. 🔹 Hạ tầng mạng English IPA Tiếng Việt Example firewall /ˈfaɪərwɔːl/ tường lửa — lọc traffic vào/ra The firewall blocks all incoming traffic except port 443. load balancer /loʊd ˈbælənsər/ bộ cân bằng tải Our load balancer distributes requests across three backend servers. proxy /ˈprɒksi/ máy chủ trung gian (phía client) The company uses a proxy to filter outbound web requests. reverse proxy /rɪˈvɜːrs ˈprɒksi/ proxy ngược (phía server) Nginx acts as a reverse proxy in front of our application servers. 🔹 Hiệu năng mạng English IPA Tiếng Việt Example CDN /ˌsiː.diː.ˈɛn/ Content Delivery Network — mạng phân phối nội dung We serve static assets through a CDN to reduce page load time globally. latency /ˈleɪtənsi/ độ trễ mạng The latency between our server in Tokyo and users in Vietnam is about 50ms. bandwidth /ˈbændwɪdθ/ băng thông — dung lượng truyền tải We upgraded our bandwidth to handle the traffic spike during Black Friday. 💡 Mẹo ghi nhớ TCP vs UDP: TCP giống gửi thư bảo đảm (chậm nhưng chắc chắn đến). UDP giống hét qua cửa sổ (nhanh nhưng có thể mất). Video call dùng UDP vì mất 1-2 frame không sao, nhưng chuyển tiền phải dùng TCP! Proxy vs Reverse Proxy: Proxy đứng phía client (bảo vệ người dùng). Reverse proxy đứng phía server (bảo vệ server). Nhớ: “reverse” = đảo ngược vị trí. Latency vs Bandwidth: Latency = thời gian nước chảy từ đầu ống đến cuối ống. Bandwidth = độ rộng của ống. Ống to mà dài thì vẫn chậm! 📝 Bài tập Điền từ thích hợp vào chỗ trống: ...

04/02/2023 · 4 phút · 681 từ · Cuong TQ