BackendBackend
20 ghi chú20 notes
- 01Giới thiệu về BackendIntroduction to Backend DevelopmentBackend development là việc xây dựng phần server-side của phần mềm: code, kho dữ liệu và hạ tầng chạy trên server thay vì chạy trong browser hay mobile app của người dùng. Khi bạn bấm "Mua ngay", refresh feed, hay đăng…Backend development is the practice of building the server-side of software: the code, data stores, and infrastructure that run on servers rather than in the user's browser or mobile app. When you tap "Buy now", refresh…19 Th7, 2026Jul 19, 2026
- 02Nền tảng Internet & WebInternet & Web FundamentalsMọi backend bạn xây dựng đều nằm ở cuối một chuỗi dài gồm các network, protocol và máy chủ. Người dùng gõ một URL hoặc app gọi một API, và chỉ trong vài trăm mili-giây, một packet rời khỏi thiết bị của họ, đi qua các…Every backend you build lives at the far end of a long chain of networks, protocols, and machines. A user types a URL or an app fires an API call, and within a few hundred milliseconds a packet leaves their device…19 Th7, 2026Jul 19, 2026
- 03Ngôn ngữ lập trình BackendBackend Programming LanguagesKhông có một ngôn ngữ lập trình backend nào là "tốt nhất" tuyệt đối. Mọi ngôn ngữ phổ biến đều có thể xây dựng một web service đúng đắn và đủ nhanh — điểm khác biệt thực sự nằm ở ecosystem, mô hình concurrency/runtime…There is no single "best" backend programming language. Every mainstream language can build a correct, fast-enough web service — the differences that matter in practice are the ecosystem, the concurrency/runtime model…19 Th7, 2026Jul 19, 2026
- 04Version Control & Cộng tácVersion Control & CollaborationVersion control là việc theo dõi và quản lý các thay đổi của source code (và mọi artifact dạng text) theo thời gian. Với một backend engineer, đây là công cụ quan trọng nhất trong công việc hằng ngày: nó ghi lại ai thay…Version control is the practice of tracking and managing changes to source code (and any text-based artifacts) over time. For a backend engineer, it is the single most important day-to-day tool: it records who changed…19 Th7, 2026Jul 19, 2026
- 05Web ServerWeb ServersMột web server là chương trình lắng nghe các request HTTP(S) qua network và trả về response HTTP. Theo nghĩa cổ điển, nó phục vụ static content (HTML, CSS, JavaScript, hình ảnh, font) trực tiếp từ disk. Trong kiến trúc…A web server is a program that listens for HTTP(S) requests over the network and returns HTTP responses. In the classic sense it serves static content (HTML, CSS, JavaScript, images, fonts) directly from disk. In modern…19 Th7, 2026Jul 19, 2026
- 06APIAPIsMột API tốt là một sản phẩm, không phải thứ nghĩ sau. Nó là bề mặt mà consumer thực sự phụ thuộc vào, và một khi đã public thì rất khó thay đổi. Các họ API phổ biến bạn sẽ gặp là REST, GraphQL, gRPC, và SOAP (legacy)…An API (Application Programming Interface) is a contract that lets one piece of software talk to another. It defines what you can ask for, how you ask, and what you get back — while hiding the implementation behind the…19 Th7, 2026Jul 19, 2026
- 07Authentication & AuthorizationAuthentication & AuthorizationHầu như mọi backend không tầm thường đều phải trả lời hai câu hỏi trên gần như mỗi request: "đây là ai?" và "họ có được phép làm việc này không?". Câu đầu là authentication (AuthN), câu sau là authorization (AuthZ). Làm…Almost every non-trivial backend has to answer two questions on nearly every request: "who is this?" and "are they allowed to do this?". The first is authentication (AuthN), the second is authorization (AuthZ). Getting…19 Th7, 2026Jul 19, 2026
- 08Cơ sở dữ liệu quan hệRelational DatabasesMột relational database lưu dữ liệu dưới dạng tập hợp các table (relation), trong đó mỗi table chứa các row (bản ghi) được mô tả bởi một tập cố định các column (thuộc tính). Các table liên kết với nhau qua các key, và…A relational database stores data as a set of tables (relations), where each table holds rows (records) described by a fixed set of columns (attributes). Tables are linked to each other through keys, and you query and…19 Th7, 2026Jul 19, 2026
- 09Cơ sở dữ liệu NoSQLNoSQL DatabasesCác database NoSQL xuất hiện vào giữa đến cuối những năm 2000, xuất phát từ nhu cầu của các công ty vận hành ở quy mô mà một server relational đơn lẻ khó đáp ứng. Google (Bigtable, 2006), Amazon (bài báo Dynamo, 2007)…NoSQL databases emerged in the mid-to-late 2000s, driven by companies operating at a scale that single relational servers struggled with. Google (Bigtable, 2006), Amazon (Dynamo paper, 2007), and Facebook (Cassandra…19 Th7, 2026Jul 19, 2026
- 10Thiết kế & Mở rộng DatabaseDatabase Design & ScalingMọi backend không tầm thường rồi cũng sống chết theo database của nó. Phần code ứng dụng bạn viết thường là phần dễ thay đổi nhất; còn tầng dữ liệu mới là nơi tập trung tính đúng đắn, latency và chi phí — và cũng là nơi…Every non-trivial backend eventually lives and dies by its database. The application code you write is usually the easy part to change; the data layer is where correctness, latency, and cost concentrate — and where a…19 Th7, 2026Jul 19, 2026
- 11CachingCachingCache là một kho lưu trữ nhỏ và nhanh, giữ các bản sao của dữ liệu để những request sau có thể được phục vụ mà không phải làm lại công việc tốn kém đã tạo ra dữ liệu đó — một database query, một lời gọi API từ xa, một…A cache is a small, fast store that holds copies of data so that future requests for that data can be served without redoing the expensive work that produced it — a database query, a remote API call, a template render…19 Th7, 2026Jul 19, 2026
- 12Bảo mật WebWeb SecurityBảo mật web không phải là một tính năng bạn gắn thêm vào lúc cuối; nó là thuộc tính của mọi quyết định bạn đưa ra khi xây dựng backend — cách bạn truy vấn database, cách bạn render output, cách bạn lưu secrets, cách bạn…Web security is not a feature you bolt on at the end; it is a property of every decision you make while building a backend — how you query the database, how you render output, how you store secrets, how you configure…19 Th7, 2026Jul 19, 2026
- 13TestingTestingGiá trị cốt lõi của một test suite không phải là tìm ra bug một lần; mà là nó liên tục tìm ra bug đó mãi mãi, tự động, trên mọi commit. Một bug bị bắt bởi unit test trong 50 mili-giây trên máy bạn rẻ hơn hàng bậc so với…The core value of a test suite is not that it finds bugs once; it is that it keeps finding them forever, automatically, on every commit. A bug caught by a unit test in 50 milliseconds on your laptop is orders of…19 Th7, 2026Jul 19, 2026
- 14Kiến trúc phần mềmSoftware ArchitectureVới một backend engineer, kiến trúc không phải bài tập vẽ sơ đồ trừu tượng. Nó quyết định trực tiếp:For a backend engineer, architecture is not an abstract diagram exercise. It directly determines:19 Th7, 2026Jul 19, 2026
- 15Message Broker & Xử lý bất đồng bộMessage Brokers & Async ProcessingPhần lớn hệ thống backend bắt đầu với các lời gọi synchronous kiểu request/response: client hỏi, service xử lý, client chờ kết quả. Cách này đơn giản và dễ suy luận, nhưng nó gắn chặt số phận của bên gọi vào bên bị gọi…Most backend systems start with synchronous request/response calls: a client asks, a service does the work, the client waits for the answer. This is simple and easy to reason about, but it couples the caller's fate to…19 Th7, 2026Jul 19, 2026
- 16Giao tiếp Real-timeReal-time CommunicationWeb cổ điển được xây trên mô hình HTTP request/response: client hỏi, server trả lời, rồi kết thúc. Mô hình này là client-initiated — server chỉ được "nói" khi bị "hỏi". Điều đó hoàn hảo khi tải một trang hay submit một…The classic web is built on HTTP request/response: the client asks, the server answers, and the connection is done. This model is client-initiated — the server can only speak when spoken to. That is perfect for loading…19 Th7, 2026Jul 19, 2026
- 17Khả năng mở rộng & Độ tin cậyScalability & ReliabilityVới một backend engineer, đây không phải là chuyện "để sau". Những quyết định kiến trúc giúp hệ thống scalable và reliable — statelessness, load balancing, timeout, retry, idempotency, redundancy — rẻ khi thiết kế từ…For a backend engineer these are not "later" concerns. The architectural decisions that make a system scalable and reliable — statelessness, load balancing, timeouts, retries, idempotency, redundancy — are cheap to…19 Th7, 2026Jul 19, 2026
- 18Observability & MonitoringObservability & MonitoringKhi một backend service rời khỏi máy của bạn và bắt đầu nhận traffic thật, câu hỏi quan trọng nhất không còn là "code có chạy không?" mà trở thành "nó đang làm gì ngay lúc này, và tại sao?". Monitoring trả lời liệu hệ…Once a backend service leaves your laptop and starts taking real traffic, the most important question stops being "does the code work?" and becomes "what is it doing right now, and why?" Monitoring answers whether the…19 Th7, 2026Jul 19, 2026
- 19CI/CD & Triển khaiCI/CD & DeploymentVới một backend engineer, điều này rất quan trọng vì một backend service tồn tại lâu dài, có state (databases!), và thường được nhiều client dùng chung. Một lần deploy hỏng có thể làm rớt request, hỏng dữ liệu, hoặc làm…For a backend engineer this matters because a backend service is long-lived, stateful (databases!), and often shared by many clients. A bad deploy can drop requests, corrupt data, or take down every consumer at once…19 Th7, 2026Jul 19, 2026
- 20AI cho BackendAI for BackendAI đã chuyển từ một lĩnh vực chuyên biệt trở thành công cụ hằng ngày của backend engineer, và nó tác động đến công việc theo hai hướng rất khác nhau. Thứ nhất là AI-assisted coding (viết code có AI hỗ trợ): các LLM…AI has moved from a specialist niche into the everyday toolbox of the backend engineer, and it now touches the work in two very different ways. First, AI-assisted coding: LLM-powered assistants (GitHub Copilot, Cursor…19 Th7, 2026Jul 19, 2026
Không tìm thấy ghi chú nào.No notes found.