.gitignore(gitignore)
Git & GitHubFile liệt kê những thứ không đưa lên Git: node_modules, file .env chứa khoá bí mật…
Tài nguyên
TemplateBài viếtGói Hội viên PROHOTVề chúng tôi
Giới thiệuLiên hệChính sáchCho người mới vibe coding
134 thuật ngữ bạn sẽ gặp khi làm app cùng AI — giải nghĩa bằng lời thường, kèm bài giải thích chi tiết.
File liệt kê những thứ không đưa lên Git: node_modules, file .env chứa khoá bí mật…
Đăng nhập cần thêm mã từ điện thoại ngoài mật khẩu — mất mật khẩu vẫn chưa mất tài khoản.
Điều kiện kiểm được để nói một việc đã «xong», thường viết dạng Cho – Khi – Thì.
File hướng dẫn dự án cho Codex và nhiều công cụ AI lập trình khác, vai trò giống CLAUDE.md.
AI tự lập kế hoạch và dùng công cụ để hoàn thành một việc nhiều bước, không chỉ trả lời câu hỏi.
Đọc bài: AI agent là gì? Ví dụ thực tế và cách doanh nghiệp bắt đầu dùngCửa giao tiếp giữa hai phần mềm theo quy ước: bên này gửi yêu cầu, bên kia trả dữ liệu.
Như người phục vụ trong nhà hàng: nhận món từ khách, mang vào bếp, mang món ra.
Chuỗi bí mật để app được gọi một dịch vụ (AI, email, thanh toán). Lộ ra là người khác dùng được tiền và dữ liệu của bạn.
Bước kiểm tra «bạn là ai» — đăng nhập bằng mật khẩu, Google…
Khác phân quyền: phân quyền trả lời «bạn được làm gì».
Phần chạy trên máy chủ: kiểm tra quyền, tính toán, đọc ghi dữ liệu. Người dùng không thấy và không sửa được.
Như căn bếp của nhà hàng — khách chỉ nhận món, không vào bếp.
Bản sao dữ liệu cất riêng để khôi phục khi bị xoá nhầm hay hỏng.
Một «cuốn sổ» trong database: mỗi dòng là một bản ghi, mỗi cột là một thông tin.
Cấu hình nằm ngoài code như địa chỉ database, khoá API — mỗi môi trường một bộ, không đưa lên GitHub.
Nhánh làm việc tách riêng để thử tính năng mới mà không ảnh hưởng bản chính (main).
Bước đóng gói code thành bản tối ưu để chạy production. Bước này kiểm lỗi chặt hơn lúc chạy dev.
Vì vậy có chuyện chạy dev được mà build lại lỗi.
Dây chuyền tự động: mỗi lần đẩy code là tự kiểm tra (CI) rồi tự deploy (CD).
Trợ lý lập trình của Anthropic chạy trong terminal: đọc dự án, sửa nhiều file, chạy lệnh và test theo yêu cầu bằng lời.
Đọc bài: Claude Code là gì? Cài đặt và cách dùng cho người mới bắt đầuFile đặt ở gốc dự án ghi luật, lệnh chuẩn và bài học — Claude Code tự đọc mỗi phiên để không quên.
Component chạy trong trình duyệt (có dòng use client ở đầu file), cần cho nút bấm, ô nhập, hiệu ứng.
Người hoặc AI khác đọc thay đổi trước khi gộp, tìm lỗi logic, bảo mật, code thừa.
Trợ lý lập trình của OpenAI, dùng qua dòng lệnh hoặc ứng dụng, làm việc trực tiếp trên mã nguồn dự án.
Độ trễ ở lần gọi đầu khi một hàm serverless phải khởi động lại sau một lúc không ai dùng.
Một lần «chụp lại» trạng thái code kèm ghi chú, để sau này xem lại hoặc quay về.
Một mảnh giao diện độc lập, có tên, dùng lại được nhiều chỗ: nút, ô tìm kiếm, bảng đơn hàng.
Sửa component một lần là mọi chỗ dùng nó cùng đổi.
Lượng chữ tối đa AI «nhớ» được trong một cuộc trò chuyện. Phiên quá dài thì AI bắt đầu quên luật đầu phiên.
Mẩu dữ liệu nhỏ trình duyệt lưu theo từng website, thường dùng để giữ phiên đăng nhập.
Lịch chạy việc tự động theo giờ (mỗi phút, mỗi sáng 6 giờ…) như gửi email, dọn dữ liệu.
Ngôn ngữ trang trí trang web: màu sắc, cỡ chữ, bố cục, hiển thị trên điện thoại.
Trình soạn code có AI tích hợp, giao diện giống VS Code.
Nơi lưu dữ liệu của app một cách có tổ chức: khách hàng, sản phẩm, đơn hàng…
Như bộ sổ sách: mỗi sổ là một bảng, mỗi trang là một dòng.
Tìm nguyên nhân và sửa lỗi: tái hiện → khoanh vùng → sửa → kiểm lại.
Đưa phiên bản app mới lên máy chủ để người dùng truy cập được.
Đọc bài: Deploy web app xong thì app và dữ liệu nằm ở đâu? Giải thích dễ hiểuChương trình chạy app trong lúc làm (npm run dev), tự tải lại khi bạn sửa code. Không dùng để phục vụ khách thật.
Bản so sánh code trước và sau khi sửa: dòng có dấu + là thêm, dấu − là bớt.
Hệ thống «danh bạ» của Internet: chỉ tên miền trỏ về máy chủ nào.
Công cụ đóng gói app cùng mọi thứ nó cần vào một «container» để chạy giống hệt nhau ở mọi máy.
Kiểm thử cả luồng như người dùng thật: mở trình duyệt, đăng nhập, tạo đơn, kiểm kết quả.
Bộ khung có sẵn quy tắc tổ chức app; bạn viết code vào chỗ framework chừa sẵn. Ví dụ Next.js, Laravel, Django.
Đổi framework giữa chừng gần như là làm lại app.
Phần người dùng nhìn thấy và bấm vào: giao diện, nút, form. Chạy trong trình duyệt của khách.
Như phòng ăn của nhà hàng. Việc quan trọng như tính tiền, kiểm quyền không được để ở đây vì khách sửa được.
Làm được cả frontend lẫn backend của một app.
Phần mềm ghi lại lịch sử thay đổi code trên máy, quay về bản cũ được khi AI sửa hỏng.
Tải toàn bộ một kho code trên GitHub về máy.
Kéo thay đổi mới nhất từ GitHub về máy.
Đẩy các commit từ máy lên GitHub.
Dịch vụ trên mạng cất kho code Git, cho nhiều người cùng làm và nối với deploy tự động.
Khi AI tự tin đưa ra thông tin sai: hàm không tồn tại, thư viện không có thật, số liệu bịa.
Dịch vụ cho thuê chỗ để app chạy 24/7 và có địa chỉ trên mạng.
Đọc bài: Shared hosting và VPS: làm web app bằng AI nên chọn gì?Ngôn ngữ đánh dấu tạo khung nội dung trang web: tiêu đề, đoạn văn, nút, ô nhập.
Trình duyệt cuối cùng chỉ hiểu HTML, CSS và JavaScript — mọi framework đều sinh ra ba thứ này.
Mục lục giúp database tìm dữ liệu nhanh, đổi lại ghi chậm hơn một chút và tốn thêm chỗ.
Ngôn ngữ lập trình làm trang web «động»: bấm nút, kiểm ô nhập, lấy dữ liệu. Chạy được cả ở trình duyệt lẫn máy chủ.
Không liên quan gì tới Java dù tên na ná.
Định dạng dữ liệu dạng chữ, dễ đọc cho cả người lẫn máy — cách các app gửi dữ liệu cho nhau qua API.
Dạng «thẻ ra vào» có chữ ký mà máy chủ cấp sau khi đăng nhập. Ai cũng giải mã đọc được nên không được chứa bí mật.
Cột giúp phân biệt từng dòng trong bảng, không bao giờ trùng — thường là id.
Cột trỏ tới dòng của bảng khác, ví dụ đơn hàng có khach_hang_id trỏ về bảng khách hàng.
Công cụ soát code theo bộ quy tắc, bắt thói quen xấu và lỗi tiềm ẩn.
Địa chỉ trỏ về chính máy bạn đang dùng. App chạy ở localhost thì chỉ máy bạn mở được.
Gửi link localhost:3000 cho người khác sẽ không mở được — phải deploy hoặc dùng bản preview.
Nhật ký app tự ghi lại từng việc và từng lỗi theo thời gian — chỗ đầu tiên phải xem khi app hỏng.
Nền tảng làm phần mềm chủ yếu bằng kéo thả, viết thêm chút code khi cần.
Đọc bài: Low code là gì? Khác no code ở đâu và ai nên dùng nền tảng low codeVài byte đầu file cho biết loại file thật — tin cậy hơn đuôi file vốn đổi tên là xong.
Chuẩn kết nối giúp AI dùng công cụ và dữ liệu bên ngoài: đọc tài liệu, mở trình duyệt, truy vấn database.
Gộp thay đổi của một nhánh vào nhánh khác.
Khi hai nhánh cùng sửa một chỗ, Git không tự chọn được và cần người (hoặc AI) quyết.
Kiến trúc chia app thành nhiều dịch vụ nhỏ chạy riêng, nói chuyện với nhau qua API. Hợp với đội lớn, thường là quá sức với app nhỏ.
File ghi từng bước thay đổi cấu trúc database (thêm bảng, thêm cột), chạy theo thứ tự để dev và production luôn giống nhau.
Thay đổi kiểu xoá hay đổi tên cột chỉ chạy sau khi code mới đã deploy.
Kiến trúc một khối: giao diện, xử lý, dữ liệu chung một dự án. Lựa chọn hợp lý cho đa số app quản lý doanh nghiệp nhỏ.
Nơi làm và thử app — thường là máy bạn, dùng dữ liệu mẫu, sửa thoải mái.
Phiên bản đầu tiên tối giản nhưng dùng được thật, để thử với người dùng trước khi làm đầy đủ.
Framework xây trên React do Vercel phát triển: thêm định tuyến theo thư mục, chạy được phần máy chủ và tốt cho SEO.
Một dự án Next.js chứa cả giao diện lẫn backend — thư mục app/don-hang là trang /don-hang.
Nền tảng làm phần mềm hoàn toàn bằng kéo thả, cấu hình, không viết code. Ví dụ AppSheet.
Đọc bài: No code là gì? Nền tảng no code có làm được phần mềm dùng thật?Thư mục chứa mọi thư viện đã tải về. Rất nặng, không đưa lên GitHub — xoá đi thì chạy npm install là có lại.
Môi trường chạy JavaScript ngoài trình duyệt, trên máy tính hoặc máy chủ. Next.js cần Node.js để chạy.
Nên cài bản LTS — bản được hỗ trợ lâu dài, ổn định.
Nhóm database không lưu theo bảng quan hệ mà theo tài liệu, khoá–giá trị… Ví dụ MongoDB, Firestore.
Trình quản lý gói đi kèm Node.js: tải thư viện về dự án (npm install) và chạy các lệnh trong package.json (npm run dev).
Cách đăng nhập qua tài khoản của dịch vụ khác (Google, Facebook) mà app không cần biết mật khẩu của bạn.
Thư viện «phiên dịch» giữa code và database: viết lệnh bằng TypeScript thay vì câu SQL. Ví dụ Prisma, Drizzle.
Tổ chức phi lợi nhuận về bảo mật web, nổi tiếng với danh sách 10 nhóm lỗ hổng phổ biến nhất.
Một gói code được đóng sẵn để cài qua npm. Thư viện thường được phát hành dưới dạng package.
File khai tên dự án, danh sách thư viện kèm phiên bản và các lệnh chạy (dev, build, start).
Quy định ai được xem, sửa, xoá, duyệt dữ liệu nào. Phải kiểm ở máy chủ và database, ẩn nút trên giao diện là chưa đủ.
Chế độ của Claude Code chỉ đọc và lập kế hoạch, chưa sửa file nào — bạn duyệt kế hoạch xong mới cho làm.
Công cụ của Microsoft điều khiển trình duyệt thật để tự động bấm thử app và chụp màn hình.
Số «cửa» của từng chương trình trên một máy: Next.js mặc định 3000, PostgreSQL 5432.
Lỗi «port already in use» nghĩa là cửa đó đang có chương trình khác dùng.
Hệ quản trị database quan hệ mã nguồn mở, mạnh và phổ biến; Supabase chạy trên PostgreSQL.
Tài liệu mô tả yêu cầu sản phẩm: làm cho ai, làm gì, không làm gì, thế nào là xong. Bản một trang đủ để giao cho AI.
Bản app khách đang dùng với dữ liệu thật. Mọi thay đổi lên đây phải qua kiểm tra.
Câu lệnh, yêu cầu bạn gửi cho AI. Prompt rõ bối cảnh, phạm vi và tiêu chí xong thì AI làm đúng hơn.
Dữ liệu truyền vào một component từ bên ngoài, giống tham số của hàm.
Đề nghị gộp một nhánh vào nhánh chính, kèm chỗ xem thay đổi và bình luận trước khi gộp.
Một dòng bên này gắn với nhiều dòng bên kia: một khách có nhiều đơn hàng.
Giới hạn số lần gọi trong một khoảng thời gian để chặn spam và dò mật khẩu.
Thư viện JavaScript do Meta phát hành để dựng giao diện từ các mảnh ghép (component). Phần lớn app AI làm ra dùng React.
Sắp xếp lại code cho gọn, dễ đọc mà không đổi chức năng.
Chạy lại các test cũ sau mỗi thay đổi để chắc phần đang chạy tốt không bị hỏng.
Kho chứa toàn bộ code và lịch sử thay đổi của một dự án.
Giao diện tự co giãn hợp với màn hình điện thoại, máy tính bảng và máy tính.
Kiểu API phổ biến: mỗi loại dữ liệu có một địa chỉ, dùng GET để lấy, POST để tạo, PUT/PATCH để sửa, DELETE để xoá.
Luật phân quyền đặt ngay trong database: mỗi người chỉ đọc, ghi được những dòng mình được phép.
Trên Supabase nên bật RLS cho mọi bảng — tắt RLS là ai có khoá công khai cũng đọc được cả bảng.
Đọc bài: Row Level Security là gì? Bật RLS trên Supabase, PostgreSQL đúng cáchĐưa app về phiên bản chạy tốt trước đó khi bản mới bị lỗi. Quay lại code không tự quay lại dữ liệu.
Quy tắc ánh xạ một địa chỉ (URL) tới trang hoặc API tương ứng trong app.
Bản mô tả cấu trúc dữ liệu: có những bảng nào, cột nào, kiểu gì, quan hệ ra sao.
Bộ công cụ một dịch vụ cung cấp để app gọi dịch vụ đó dễ hơn, ví dụ Supabase SDK.
Dữ liệu giả để thử app (khách, sản phẩm, đơn mẫu), nạp và dọn được bằng một lệnh.
Dịch vụ tự gom lỗi của app kèm ngữ cảnh (trang, trình duyệt, số người gặp) và gửi cảnh báo.
Hàm trong Next.js chạy trên máy chủ nhưng gọi được thẳng từ form hay nút bấm — chỗ để lưu dữ liệu, kiểm quyền.
Component của Next.js chạy trên máy chủ: đọc dữ liệu trực tiếp, không gửi code nặng xuống trình duyệt.
Kiểu chạy app không thuê máy chủ cố định: code chạy khi có người gọi và tính tiền theo lượt. Vercel, Cloudflare Workers là serverless.
Như đi taxi thay vì mua xe — rẻ khi ít dùng, nhưng có giới hạn thời gian mỗi chuyến.
Phiên đăng nhập máy chủ ghi nhớ, nhờ đó bạn không phải nhập mật khẩu ở mỗi trang.
Bộ component giao diện mẫu (nút, bảng, form, hộp thoại…) được chép thẳng vào dự án, xây trên Tailwind CSS. AI rất quen nên app ra đẹp, đồng bộ.
Gói hướng dẫn và tài nguyên cho AI làm một việc theo đúng quy trình của bạn, gọi lại được nhiều lần.
Ngôn ngữ để hỏi và sửa dữ liệu trong database quan hệ: SELECT để đọc, INSERT để thêm, UPDATE để sửa, DELETE để xoá.
Đọc bài: SQL là gì? Học SQL để làm gì và 5 câu lệnh người mới nên biếtTấn công chèn lệnh SQL qua ô nhập liệu để đọc hoặc sửa trái phép database. Chặn bằng truy vấn tham số hoá.
Mã hoá kết nối giữa trình duyệt và website (ổ khoá trên thanh địa chỉ). Hosting hiện đại thường cấp miễn phí.
Dựng sẵn trang ở máy chủ rồi mới gửi về trình duyệt: hiện nhanh hơn và tốt cho SEO.
Bản app giống hệt thật để kiểm tra trước khi đưa cho khách, dùng dữ liệu thử.
Vercel tự tạo bản preview cho mỗi nhánh — có thể coi như staging.
Dữ liệu một component tự nhớ trong lúc chạy (đang mở hay đóng, ô nhập đang gõ gì). State đổi thì giao diện tự vẽ lại.
Dịch vụ backend dựng sẵn trên PostgreSQL: có database, đăng nhập, lưu file và API tự sinh.
Cách viết CSS bằng các class ngắn đặt ngay trong code giao diện (p-4, text-sm), không phải tự đặt tên CSS.
Cửa sổ ra lệnh cho máy bằng chữ. Claude Code, Codex chạy trong terminal.
Ba phím cứu nguy: Ctrl+C để dừng, mũi tên lên để gọi lại lệnh, Tab để tự điền.
Một tình huống kiểm thử cụ thể kèm kết quả mong đợi.
Địa chỉ dễ nhớ của website (5fedu.com) thay cho địa chỉ IP.
Nhóm thao tác database chạy trọn gói: hoặc thành công hết, hoặc huỷ hết — không có chuyện trừ kho mà chưa tạo đơn.
Đoạn lệnh database tự chạy khi dữ liệu thay đổi, ví dụ tự trừ kho khi có đơn mới.
Bước TypeScript soát kiểu dữ liệu toàn dự án — bắt lỗi sai kiểu trước khi app chạy.
JavaScript có khai báo kiểu dữ liệu (số, chữ, ngày…), nhờ đó máy bắt được nhiều lỗi ngay khi viết, trước khi app chạy.
Rất hợp với làm app bằng AI: AI sửa chỗ này làm hỏng chỗ khác là bị báo đỏ ngay.
Đoạn code tự kiểm tra một hàm nhỏ, ví dụ hàm tính tổng tiền đơn hàng có ra đúng số không.
Tỉ lệ thời gian app hoạt động bình thường. Uptime monitor kiểm định kỳ và báo khi web sập.
Yêu cầu viết theo công thức «Là [vai trò], tôi muốn [việc], để [lợi ích]» — giúp AI hiểu đúng mục đích.
Dịch vụ hosting cho app Next.js: nối GitHub, mỗi lần đẩy code là tự build và deploy.
Cách làm phần mềm bằng cách mô tả bằng lời cho AI viết code, người làm tập trung vào ý tưởng và kiểm tra kết quả.
Đọc bài: Vibe coding là gì? Làm app bằng cách trò chuyện với AI và giới hạn cần biếtMáy chủ ảo thuê theo tháng, bạn toàn quyền cài đặt và tự quản lý. Rẻ và linh hoạt nhưng phải tự lo vận hành.
Phần mềm chạy trên trình duyệt, đăng nhập và thao tác với dữ liệu như một phần mềm thật — khác website chỉ để đọc thông tin.
Ví dụ: app quản lý đơn hàng mở bằng Chrome trên máy tính hay điện thoại, không cần cài đặt.
Đọc bài: Web app là gì? Khác website và mobile app ở đâu, nên chọn loại nàoCách một dịch vụ tự báo cho app của bạn khi có sự kiện (ví dụ có thanh toán mới) bằng cách gọi vào một địa chỉ bạn khai sẵn.
API là bạn hỏi; webhook là họ tự gọi bạn.
Bản phác khung màn hình, chưa màu sắc, để thống nhất bố cục trước khi làm giao diện thật.
Mở thêm thư mục làm việc cho một nhánh khác trong cùng kho — để nhiều AI làm song song không giẫm chân nhau.
Tấn công chèn đoạn script vào nội dung hiển thị cho người khác, ví dụ qua ô ghi chú.