Đọc miễn phí · Bản online — Phần 1
Chạm nửa phải màn hình để lật trang ›
Lời mở đầu
Nó kể cho bạn một câu chuyện — và khi bạn đọc xong, bạn đã biết code lúc nào không hay.
Tôi viết cuốn này cho một người rất cụ thể: người Việt đang ở Hàn Quốc, giỏi tiếng Hàn, nhưng đứng ngoài ngành IT và không biết bắt đầu từ đâu.
Có thể bạn tốt nghiệp một ngành chẳng liên quan gì đến máy tính. Có thể bạn đang làm thêm để trụ lại, nhìn các công ty công nghệ Hàn Quốc tuyển người mà thấy mình xuất phát quá muộn. Có thể bạn từng mở một khoá học lập trình, đọc được ba trang rồi bỏ vì toàn thuật ngữ khô khốc.
Tôi hiểu cảm giác đó. Nên tôi chọn cách khác.
Trọn bộ — từ con số 0 đến đi làm được
Mỗi chương là một "vũ khí" nhân vật chính phải học để sống sót — kèm kinh nghiệm thực chiến mà người mới chỉ vỡ ra sau nhiều lần va vấp.
| Phần I · Nền tảng | HTML, CSS, JavaScript, bố cục Flexbox/Grid, web cho điện thoại |
| Phần II · Vào nghề | Đội IT làm việc thế nào, quản lý dự án, ứng xử với khách hàng, ngôn ngữ hiện trường |
| Phần III · Chuyên sâu | Backend & cơ sở dữ liệu, API, Cloud/AWS, bảo mật, lập trình thời đại AI |
| Thực chiến | Làm app To-do thật, dùng Git, gỡ lỗi (debug), dựng trang hồ sơ cá nhân |
| Đi làm tại Hàn | Từ điển thuật ngữ Việt–Hàn, câu hỏi phỏng vấn, sổ tay Kỹ sư cầu nối (BrSE) |
Cách đọc cuốn sách này
01 · Có một câu chuyện thật sự. Một nữ du học sinh tên Linh — mật danh ZERO — bị kéo vào một vụ tấn công hệ thống, có deadline 72 giờ, có một kẻ giấu mặt tên "A.". Bạn sẽ muốn biết chuyện gì xảy ra tiếp theo.
02 · Mọi thứ giải thích bằng tiếng Việt, viết cho người chưa biết gì. Không có thuật ngữ nào bị bỏ lại phía sau.
03 · Kèm tiếng Hàn 한국어 ở mỗi thuật ngữ quan trọng, để khi vào công ty Hàn bạn biết đồng nghiệp đang nói gì.
04 · Nền giấy sáng, ít mực. Đây là bản dành cho Chương 01 — nếu thấy cuốn, bạn sẽ biết phải tìm phần tiếp theo ở đâu.
Hành trình phía trước
Bạn đang cầm Chương 01. Đây là những gì đang chờ ZERO — và bạn — ở phía trước:
Và xuyên suốt hành trình đó, bạn học được một nghề thật.
Nhưng đó không phải điều đáng sợ nhất.
Kẻ tấn công không gõ phím. Hắn ra lệnh — và một AI tự viết mã, tự cài đặt, tự tung lên mạng. Mỗi phút trôi qua, nó lại mạnh hơn. Không nghỉ. Không sai. Không mệt.
Cả đội kỹ sư kỳ cựu của NOX TECH đang chạy đua với một thứ code nhanh hơn con người.
Linh không có câu trả lời. Cô chỉ biết một điều: trong căn phòng đầy người giỏi hơn mình, cô là người duy nhất kẻ kia không lường trước.
Bạn không cần biết gì trước. Bạn chỉ cần hiểu thứ mà AI đang làm.
Đồng hồ đã chạy. Lật trang.
Khúc dạo đầu — 3 giờ trước khi mọi thứ bắt đầu
Không ai nhìn thấy hắn. Đó là điều đáng sợ nhất.
Trong một căn phòng tối ở đâu đó của thành phố, một màn hình duy nhất hắt thứ ánh sáng xanh lạnh lên gương mặt không rõ nét. Những ngón tay gõ phím chậm rãi — kiểu nhàn nhã của một người biết chính xác mình đang làm gì, và biết rằng không ai kịp ngăn lại.
Trên màn hình, sơ đồ hệ thống của NOX TECH hiện ra như một thành phố thu nhỏ: hàng nghìn đốm sáng nối nhau bằng những sợi chỉ dữ liệu. Đẹp đẽ. Vững chãi. Tự tin một cách ngây thơ.
Hắn mỉm cười. Rồi gõ một dòng lệnh cuối cùng.
02:44 sáng
Lúc 02:44 sáng, toàn bộ website NOX TECH biến mất khỏi internet. Đèn cảnh báo đỏ bừng lên khắp văn phòng.
Ba phút sau, trong một căn phòng trọ chật hẹp ở Seoul, một cô gái Việt tên Linh — vừa tan ca làm thêm ở quán, mắt còn cay vì thiếu ngủ — nhận được tin nhắn từ số máy lạ:
Linh không biết vì sao họ chọn mình. Cô không biết gì về code. Cô chỉ biết một điều: đêm nay, cuộc đời cô sắp rẽ sang một hướng mà cô chưa từng tưởng tượng.
Còn kẻ vừa ký tên "A." — hắn là ai, và "người cũ" mà hắn nhắc tới là gì? Câu trả lời nằm ở những trang sau.
Hồ sơ #00 — tài liệu mật về các nhân vật
Bạn đang ở đây — chặng 1 / 7
01
첫 번째 무기 — 뼈대
— 2 giờ 47 phút sáng. Đèn cảnh báo đỏ trong phòng máy chủ nhấp nháy. —
02:47 sáng — Cánh cửa NOX TECH mở ra. Đây là nơi câu chuyện của bạn bắt đầu.
Khi bạn lần đầu mở cánh cửa NOX TECH, văn phòng chìm trong bóng tối. Chỉ có hàng chục màn hình phát ra ánh sáng xanh lạnh. Tiền bối xoay ghế lại, nhìn bạn.
"Mọi người! Web sập rồi! Khách đang chửi đầy trên Facebook. Ai đó dựng cho tôi cái trang thông báo NGAY, năm phút thôi!"
"Cả đội đang vùi đầu cứu hệ thống chính, không ai rảnh tay! …Lính mới. Cậu. Lại đây."
"Em á? Nhưng… em chưa viết dòng code nào trong đời!"
"(kéo ghế ngồi xuống cạnh) Không sao. Anh ngồi đây với em. Chỉ là một trang chữ thôi — thứ căn bản nhất của web, gọi là HTML. Anh đọc, em gõ. Bắt đầu."
Linh — không, ZERO — ngồi xuống chiếc ghế còn ấm. Bàn phím trước mặt lạnh lẽo như một nhạc cụ cô chưa từng biết chơi. Nhưng lần đầu tiên sau nhiều tháng, cô không thấy mình đơn độc.
↩ Hồi tưởng — sáu tháng trước
"죄송합니다 — xin lỗi, nhưng chúng tôi cần người có kinh nghiệm." Đó là câu thứ hai mươi mấy Linh nghe trong năm. Tốt nghiệp trái ngành, tiếng Hàn lưu loát nhưng tấm bằng chẳng giúp cô qua nổi vòng hồ sơ.
Những đêm như thế, Linh ngồi trong căn phòng trọ chật chội, nghe tiếng Hàn vọng qua vách tường mỏng và thấy mình lạc lõng. Gọi điện về nhà, cô luôn cười và nói "con ổn". Nhưng về tay trắng sau ngần ấy năm — Linh không cam lòng.
Tiền bối — người đàn ông trẻ với ánh mắt điềm tĩnh — dường như đọc được suy nghĩ của cô. Anh không an ủi. Anh chỉ nói một câu, nhẹ như không:
"Mọi lập trình viên trên đời này, kể cả anh, đều từng ngồi đúng chỗ em đang ngồi — không biết gì cả. Khác biệt duy nhất là họ không đứng dậy bỏ đi. Vậy thôi."
ZERO hít một hơi. Cô đặt tay lên bàn phím. Bài học đầu tiên bắt đầu.
"Đừng học thuộc. Hãy hiểu." — ZERO gõ dòng code đầu tiên trong đời.
Trước hết: ba từ nền tảng
Một tập hợp các trang thông tin hiển thị trên Internet — như Facebook, một shop online, hay trang chủ công ty. Mỗi "trang" bạn thấy là một web page.
Những dòng lệnh viết bằng "ngôn ngữ" máy tính hiểu được. Viết code nghĩa là ra lệnh: "hiển thị chữ này", "đổi màu kia", "khi bấm thì làm việc nọ".
Phần mềm bạn dùng để xem web: Chrome, Safari, Edge… Nó đọc code rồi "dịch" thành trang đẹp đẽ bạn nhìn thấy.
HTML dựng bộ khung xương (nội dung), CSS khoác lớp áo màu sắc & bố cục, còn JavaScript thổi vào sự sống — bấm, chạy, phản hồi. Đủ ba lớp, trang mới thật sự "sống".
Vũ khí thứ nhất
HTML viết tắt của HyperText Markup Language. Nói đơn giản, nó là bộ khung xương của trang web — cho máy biết một nội dung "là cái gì": đây là tiêu đề, đây là đoạn văn, đây là ảnh, đây là nút bấm.
"Xây nhà thì làm gì trước? Dựng bộ khung. Đây là phòng khách, đây là phòng ngủ, đây là bếp. HTML chính là vậy. Sơn tường (CSS) hay điện nước (JavaScript) tính sau. Trước hết phải có bộ khung đã."
Thẻ — Tag (태그) là đơn vị nhỏ nhất của HTML, nằm trong dấu <ngoặc nhọn>. Phần lớn thẻ đi theo cặp: một thẻ mở <p> và một thẻ đóng </p> (có thêm dấu /). Nội dung nằm ở giữa.
Bản thiết kế ngôi nhà
Một trang web thật được dựng trên một bộ khung cố định. Đừng cố học thuộc — hãy hiểu nó như bản thiết kế ngôi nhà: <html> là cả ngôi nhà, <head> là gác xép thông tin ẩn, <body> chứa mọi phòng bạn nhìn thấy.
<head> chứa thông tin không hiển thị (như tiêu đề trên tab trình duyệt), còn <body> chứa mọi thứ thật sự xuất hiện. Gần như toàn bộ công việc diễn ra bên trong body.
Bộ đồ nghề cơ bản
HTML có hàng trăm thẻ, nhưng bạn chỉ cần thuộc khoảng mười thẻ là làm được 90% công việc.
| Thẻ | Công dụng | 한국어 |
|---|---|---|
<h1>→<h6> | Tiêu đề, lớn nhất (h1) → nhỏ nhất (h6) | 제목 |
<p> | Đoạn văn | 문단 |
<a> | Liên kết sang trang khác | 링크 |
<img> | Chèn hình ảnh | 이미지 |
<ul>/<li> | Danh sách gạch đầu dòng | 목록 |
<button> | Nút bấm | 버튼 |
<div> | Khối chứa, nhóm các phần | 구역 |
<input> | Ô nhập liệu | 입력란 |
Tên thẻ thường là viết tắt tiếng Anh của công dụng: a = anchor (neo/liên kết), p = paragraph, ul = unordered list, img = image. Hiểu gốc từ, khỏi cần học thuộc.
Ví dụ thực hành
Hai thẻ <a> và <img> cần thuộc tính (attribute) — thông tin thêm viết trong thẻ mở, dạng tên="giá trị".
"Thử nhé. Muốn làm dòng tiêu đề TO nhất trang — em dùng thẻ nào?"
"Ơ… <h6>? Vì 6 to nhất ạ?"
"Sai. Ngược lại. Số càng NHỎ chữ càng LỚN — <h1> mới to nhất. Giờ thử lại: muốn chèn link sang trang khác?"
"Thẻ <a>… với href trỏ tới địa chỉ trang?"
"Đúng rồi đó. Thấy chưa — em học nhanh hơn em tưởng."
Nơi người dùng "nói chuyện" với trang
Mọi ô đăng nhập, ô tìm kiếm, nút gửi liên hệ… đều là form — cách trang web nhận thông tin từ người dùng.
| type= | Dùng để |
|---|---|
text | Nhập chữ thường |
email | Nhập email (tự kiểm tra định dạng) |
password | Nhập mật khẩu (hiện dấu chấm) |
number | Nhập số |
date | Chọn ngày tháng (hiện lịch) |
checkbox | Ô tích chọn (có/không) |
type quyết định hành vi của ô nhập. Chọn đúng type giúp người dùng nhập dễ và đúng hơn.
1. Thẻ nào tạo ô nhập liệu?<input> — kèm thuộc tính type.
2. Muốn ẩn ký tự mật khẩu?type="password"
3. placeholder làm gì?
Hiện chữ gợi ý mờ trong ô khi chưa nhập.
Mở Notepad (hoặc tải VS Code miễn phí), tạo file my.html và làm:
☐ Viết cấu trúc HTML đầy đủ (DOCTYPE → html → head → body)
☐ Đặt mật danh của bạn vào <h1>
☐ Dùng hai thẻ <p> để tự giới thiệu
☐ Nhấn đúp file để mở bằng trình duyệt — trang web đầu tiên của bạn đã sống dậy.
Khúc kết chương — 04:10 sáng
Trang thông báo của ZERO hiện lên: vài dòng chữ đen trên nền trắng, xấu xí và đơn sơ. "NOX TECH đang bảo trì. Xin quay lại sau ít phút." Nhưng với cô, nó đẹp như một phép màu. Cô vừa tạo ra một thứ từ hư không — và nó đang giúp cả công ty.
Trưởng nhóm liếc sang, khẽ buông một câu — với anh thế đã là lời khen: "Được đấy, lính mới." Lần đầu sau nhiều tháng, Linh mỉm cười thật lòng. Cô vừa thuộc về một nơi nào đó.
Nhưng khi tiền bối cúi xuống kiểm tra mã nguồn cũ, nụ cười chợt tắt. Anh chỉ vào một dòng chữ lạ — thứ không ai gõ vào:
"Đây không phải lỗi kỹ thuật. Có người cố tình làm điều này. Và họ vẫn đang ở đâu đó ngoài kia — theo dõi chúng ta."
⚿ Không có trên Google · ghi chép từ người đi trước
✕ Lồng thẻ sai cấp — nhét <div> vào trong <p>; layout vỡ khó hiểu.
✕ Dùng <br> liên tục để tạo khoảng cách thay vì CSS — PM Hàn nhìn là biết người mới.
✕ Quên thuộc tính alt cho ảnh — ở Hàn, chuẩn tiếp cận (접근성) bị soi rất kỹ.
✕ Đặt tên class kiểu div1, box2 — không ai đọc hiểu, bị bắt sửa hết.
✕ Copy nguyên khối HTML mà không hiểu — khi sếp hỏi "tại sao", không trả lời được.
PM Hàn hiếm khi khen "code đẹp". Thay vào đó bạn nghe: "이거 시맨틱하게 짜주세요" (viết cho đúng ngữ nghĩa đi) — đừng dùng <div> cho mọi thứ, hãy dùng <header>, <nav>, <main> đúng chỗ. Đó là chuẩn nghề.
Năm 2026, không ai code một mình nữa. Nhưng AI chỉ mạnh khi bạn hỏi đúng:
💬 "Giải thích đoạn HTML này như đang dạy học sinh lớp 8, chỉ thẻ nào dùng sai ngữ nghĩa và sửa giúp tôi."
💬 "Đây là HTML của tôi. Hãy đóng vai PM người Hàn review code và chỉ ra 3 điểm cần sửa, kèm lý do."
Hồ sơ nghề nghiệp · sau HTML
Chưa đủ để xin việc lập trình, nhưng đã đủ để nhận việc lẻ đầu tiên.
Hết chương 01 // 03:14 sáng
Khung đã dựng xong. Trang đã chạy. ZERO thở phào — lần đầu cô tạo ra một thứ tồn tại thật trên màn hình.
Rồi tin nhắn của A. hiện lên:
Trong lúc ZERO học dựng một trang, AI của A. vừa tung ra bốn nghìn trang giả — y hệt thật.
69:41:00 ▸ 66:02:00
Biết code thôi không cứu được ZERO nữa. Cô phải hiểu được thứ AI đang làm — trước khi nó nuốt cả hệ thống.
Khoác lớp áo màu sắc
Khi một trang web "giả" trông y hệt "thật" — làm sao phân biệt? Vũ khí thứ hai: CSS. 두 번째 무기 — 색
📖 Đọc Chương 02 · CSS ngay →
Hé lộ Chương 02 — một câu lệnh, cả thành phố xám bừng sống dậy thành muôn màu.
Phần 1 bạn vừa đọc là miễn phí. Câu chuyện — và cả nghề lập trình — vẫn còn ở phía trước.
🤍 Cùng xuất bản ZERO — đặt trước giá sáng lập
Đọc online MIỄN PHÍ tất cả các chương (bản giản lược). Bản online FULL — đủ mọi chương & mọi phần chuyên sâu, không lược — chỉ 89k. Khi đủ 500 đơn, sách được in màu & xuất bản; chưa đủ → hoàn 100%.
89k / 229k · bản online FULL / bản in (giá sáng lập)
🎁 Bản in tặng kèm bản online FULL · 🏛️ tên "Nhà đồng sáng lập" in cuối sách · 🛡️ chưa đủ 500 thì hoàn 100%.
Cảm ơn bạn đã đọc đến đây 🤍 Hẹn gặp ZERO ở Chương 02.
Không phải tiền mua sách — đây là khoản donate ủng hộ để team viết tiếp phần mới & xuất bản "MẬT DANH: ZERO". 🎁 Nếu sách được xuất bản, người donate được tặng miễn phí 1 cuốn. Đọc online luôn miễn phí nhé!