Skip to main content
AIConnect
← Blog

Bản đồ học tập: Core và Extensions (Learning Map: Core vs. Extensions)

Tách rõ phần nền tảng phải học sâu khỏi phần mở rộng có thể học khi cần — bản đồ tương tác cho 21 lĩnh vực, từ vựng tiếng Anh và trò chơi ôn tập.

✦ View the full interactive version

Học sâu phần nền tảng ổn định, học phần mở rộng khi dự án thật sự cần. Trang này biến ghi chú của bạn thành bản đồ tương tác cho 21 lĩnh vực, kèm từ vựng tiếng Anh và trò chơi ôn tập.

Nền tảng (Cơ bản · Beginner)

Câu hỏi trung tâm: Mình nên học sâu cái gì, và cái gì có thể học khi cần? (What should I learn deeply, and what can I learn on demand?)

Một minh họa cho một lĩnh vực (ví dụ Java):

CoreCommon ExtensionsProject-Specific Tools
Nền tảng ổn định — học sâu (learn deeply)Framework, thư viện, công cụ — học một cái cho tới khi làm đượcCông nghệ riêng của dự án — học khi cần (on demand)
Ví dụ Java: JVM, collectionsSpring Boot, Hibernate, Gradleserver/ của dự án này

Ba nhóm kiến thức:

  • Core knowledge (Kiến thức nền tảng) — Ngôn ngữ, runtime, thư viện chuẩn, khái niệm cơ bản và mental model. Ít thay đổi, dùng lại ở mọi nơi.
  • Extensions (Phần mở rộng) — Framework, thư viện, công cụ, nền tảng xây trên core. Nhiều, thay đổi nhanh, học theo nhu cầu.
  • Project-specific tools (Công nghệ riêng của dự án) — Mã nguồn và cấu hình của chính dự án bạn đang làm, ví dụ server/, Jenkinsfile.

Mẹo nhớ bằng nấu ăn: core là kỹ thuật nấu (thái, xào, kiểm soát lửa). Extension là các thiết bị và công thức (nồi chiên, máy xay, món cụ thể). Ai vững kỹ thuật thì học thiết bị mới trong vài ngày.

So sánh nhanh (Core vs. extensions at a glance)

Tiêu chíCoreExtensions
Bản chấtKhái niệm, ngôn ngữ, runtimeFramework, thư viện, công cụ
Độ ổn địnhCao, thay đổi chậmThấp hơn, xu hướng đổi nhanh
Chiến lược họcHọc sâu, học trướcHọc khi dự án, công việc hoặc mục tiêu cần
Khi bị rốiQuay lại coreĐừng thêm extension mới, củng cố core

Learning Map Explorer (Tương tác · Interactive)

Chọn một lĩnh vực để xem core, extensions và ví dụ trong workspace của bạn.

Nên học nó ngay không? (Should I learn this now?)

Đánh dấu tình huống của bạn. Kết quả theo thứ tự ưu tiên học trong ghi chú:

  1. Mình đã nắm vững core của lĩnh vực này
  2. Dự án, công việc hoặc mục tiêu thật cần extension này
  3. Mình đang thấy extension này khó hiểu
  • Chưa nắm core → Học core trước · Learn the core first. Chưa nắm core thì extension dễ gây rối. Học nền tảng ổn định trước.
  • Đang thấy khó hiểu → Quay lại core · Revisit the core. Extension thấy khó thường vì một khái niệm core còn thiếu. Ôn lại rồi quay lại.
  • Dự án thật cần → Học ngay, đủ để làm ra sản phẩm · Learn it now. Học một extension phổ biến vừa đủ để xây thứ thật, rồi dừng.
  • Chưa cần → Học khi cần · Learn on demand. Ghi vào danh sách; khi dự án, công việc hoặc mục tiêu đòi hỏi thì học.

21 lĩnh vực — Core và Extensions

Phiên bản tương tác cho phép chọn từng lĩnh vực để xem danh sách core, common extensions và ví dụ trong workspace. Bảng dưới là dữ liệu nền của Explorer:

Lĩnh vựcCoreCommon ExtensionsVí dụ trong workspace
JavaJVM, JDK, JRE; Syntax, classes, interfaces, enums, records; Collections, generics, exceptions; Streams, lambdas, functional interfaces; Concurrency: threads, executors, futures; I/O, networking, reflection, annotationsSpring Framework, Spring Boot; Spring MVC, Security, Data JPA, Batch; Hibernate and JPA; Quarkus, Micronaut; Maven, Gradle; JUnit, Mockito, Testcontainersautomation/, server/
JavaScript / TypeScriptJavaScript ES2015+; TypeScript type system; Functions, objects, prototypes, classes; Modules, async/await, promises, event loop; DOM, browser APIs, fetch, storageReact, Next.js; Vue, Nuxt; Angular; Svelte, SvelteKit; Ember; Node.js, Express, NestJS, Fastify; Jest, Vitest, Playwright, Cypress; Vite, Webpack, esbuild, npm, Yarn, pnpmclient/ember-ui/, worker/nodejs/
PythonSyntax, data structures, functions, classes; Standard library; Typing and type hints; Virtual environments; File handling, modules, packaging basicsDjango, Flask, FastAPI; NumPy, Pandas, Matplotlib; PyTorch, TensorFlow, scikit-learn; LangChain and AI tooling; pytest; pip, poetry, uv—
C# / .NETCLR and .NET runtime; C# syntax, classes, interfaces, records; Generics, collections, LINQ; Async/await and tasks; Exceptions, attributes, reflection.NET Framework (legacy); Modern .NET (cross-platform); ASP.NET Core, Web API, MVC, Blazor; WPF and WinForms; Entity Framework Core; xUnit, NUnit, MSTest—
HTMLSemantic HTML5; Forms and validation; Accessibility basics and ARIA; Document structure and metadataHandlebars and Ember templates; JSX and TSX; EJS and server-side templates—
CSSCascade, specificity, inheritance; Box model, display, positioning; Flexbox and grid; Responsive design, media queries; Variables, transitions, animationsTailwind CSS; Bootstrap; Sass and Less; CSS-in-JS (styled-components, Emotion)—
LinuxFilesystem hierarchy, permissions; Users, groups, processes, services; Package managers (apt, yum, dnf, pacman); Logs, env variables, cron jobs; Networking: ports, SSH, DNS, firewallUbuntu, Debian, Fedora, Red Hat, Arch; systemd; Nginx, Apache; Shell scripting, automation; Server hardening, monitoring—
WindowsFilesystem, registry, services, processes; Users, groups, permissions, UAC; Environment variables, PATH; Event Viewer, Task Scheduler, Device Manager; Windows Terminal, command-line toolsWindows Server; Active Directory, Group Policy; IIS; WSL; Hyper-V; Remote Desktop, enterprise admin—
BashCommands, arguments, pipes, redirects; Variables, quoting, conditionals, loops; Functions, exit codes; File operations, text processing; Process control, jobsgrep, sed, awk, find, xargs; curl, wget, jq; Deployment and automation scripts; Bash on Linux, macOS, Git Bash, WSL—
PowerShellCmdlets, objects, pipelines; Variables, arrays, hashtables; Functions, modules, profiles; Error handling, execution policy; Files, services, processes, JSONWindows administration; Azure PowerShell; Microsoft Graph PowerShell; PowerShell remoting; Cross-platform PowerShell 7+; CI/CD and dev automation—
AndroidAndroid OS architecture; Activities, fragments, services, intents; App lifecycle, permissions; UI layouts, navigation; Storage, networking, background workKotlin and Java; Android Studio, Gradle; Jetpack Compose; Room, WorkManager, Retrofit; Firebase; Google Play publishing—
iOSiOS architecture, app lifecycle; Views, view controllers, navigation; Permissions, storage, networking; Concurrency, background tasks; App signing, provisioningSwift, Objective-C; Xcode; SwiftUI, UIKit; Core Data, Combine, async/await; TestFlight, App Store—
Cross-platform mobileMobile UX patterns; Touch input, offline, push notifications; Permissions, performance, battery; App store review constraintsReact Native; Flutter; Ionic; Kotlin Multiplatform; Progressive Web Apps—
Backend và APIHTTP and HTTPS; REST concepts; Request/response lifecycle; Authentication vs. authorization; Validation, errors, pagination, versioningSOAP; GraphQL; gRPC; WebSocket; OpenAPI / Swagger; JSON:API; OAuth2, OIDC, JWT, SAML; CORS, TLS/SSL—
Dữ liệu · DatabasesRelational database concepts; SQL basics; Indexes, transactions, normalization; Connection pooling; Data modelingPostgreSQL, MySQL; MongoDB, Redis; Elasticsearch, OpenSearch; JDBC, ODBC; JPA, Hibernate, Elideserver/elide/, integration/db/
DevOpsLinux basics; Processes, ports, env variables; DNS, TCP/IP, HTTP; Build, release, deploy, rollback; Logs, metrics, monitoringDocker and Docker Compose; Kubernetes; Jenkins, GitHub Actions, GitLab CI; Terraform, CloudFormation; Nginx and reverse proxiesdocker-compose.yml, Jenkinsfile, client/docker/nginx.conf.template
CloudRegions, availability zones; Compute, storage, networking, identity; Managed databases; Cost, scaling, reliability, securityAWS: Elastic Beanstalk, EC2, S3, RDS, IAM; Azure; Google Cloud Platformelastic-beanstalk/
Chuẩn và giao thức · SpecsHTTP, HTTPS, DNS, TCP/IP; JSON, XML, YAML, Markdown; Hashing, AES, RSA, signatures; Design patterns, SOLIDSMTP, IMAP, POP3; WebSocket; OAuth2, OIDC, JWT, SAML; TLS/SSL, PKI, X.509, CAs; PDF; OpenAPI / Swagger; UML, architecture diagrams; Smart contracts, ERC-20, ERC-721; MCP, tool calling, embeddings, RAG—
Công cụ · ToolsGit; Command line basics; VS Code; Browser developer tools; DebuggersGitHub, GitLab, Bitbucket; Postman and curl; Docker Desktop; Database clients; API clients; CI/CD dashboards—
AI và dữ liệu · AILLM fundamentals; Tokens and context windows; Embeddings; Prompt structure; Evaluation, hallucination risks; Strengths, limits, latency, cost, privacyPrompt engineering; RAG pipelines; Agentic workflows; MCP servers; Vector databases; LangChain, LlamaIndex, Semantic Kernel; Fine-tuning; Evaluation datasets; Guardrails, safety filters; Observability, tracing; Model routing; Prompt/version management—
Tiếng Anh · EnglishGrammar, sentence structure; Everyday communication; Listening, pronunciation; Reading comprehensionBusiness English; Technical English; Interview English; Presentation, public speaking; Meeting communication; Docs, emails, reports writing—

Trung cấp (Intermediate)

Vòng lặp học, core chuyển giao giữa các công nghệ và bức tranh số lượng.

Vòng lặp học (The study loop)

  1. Core trước (Learn the core first)
  2. Một extension (Build real things)
  3. Thêm khi cần (Add on demand)
  4. Quay lại core (Revisit when lost)

Khi extension gây rối, quay lại core rồi tiếp tục.

Cùng một khái niệm, khác công cụ (Concepts transfer, tools change)

Học core một lần, bạn nhận ra nó ở mọi ngôn ngữ. Chỉ phần extension là đổi tên.

Khái niệm (core)JavaJavaScript / TSC# / .NETPython
Bất đồng bộ · AsyncFutures, executorsPromises, async/awaitTasks, async/awaitasync/await
Kiểu dữ liệu · TypesGenericsTypeScript type systemGenericsType hints
Kiểm thử · TestingJUnit, MockitoJest, VitestxUnit, NUnitpytest
Web frameworkSpring BootExpress, NestJSASP.NET CoreDjango, FastAPI
Quản lý gói · PackagingMaven, Gradlenpm, Yarn, pnpmCLR, .NET runtimepip, poetry, uv

Bao nhiêu core, bao nhiêu extension? (Counts from your note)

Phiên bản tương tác vẽ biểu đồ số mục core và extension trong từng lĩnh vực. Tổng hợp lại: phần core nhỏ hơn nhiều so với extension, nên học sâu là khả thi, còn extension thì chỉ nên học khi cần.

Lập kế hoạch giờ học (Weekly hours planner)

Phiên bản tương tác có thanh trượt để chọn số giờ/tuần và tỉ lệ Core %, Extension % (phần còn lại dành cho dự án). Tỉ lệ mặc định chỉ là gợi ý để bạn tự điều chỉnh, không phải quy tắc trong ghi chú.

Chuyên sâu (Advanced)

Một yêu cầu đi qua nhiều lĩnh vực, AI là một lĩnh vực mới và các mô hình tư duy.

Hành trình của một yêu cầu (Where each area lives)

Một yêu cầu đi qua sáu tầng, mỗi tầng vừa có core vừa có extension:

TầngCoreExtension
BrowserHTML, CSS, DOMReact, Tailwind
DNS và TLSDNS, TCP/IP, TLSPKI, X.509
Reverse proxyHTTP, LinuxNginx
App serverJava, REST, authN/ZSpring Boot
DatabaseSQL, indexesPostgreSQL, Redis
CloudCompute, networkAWS, Docker

Một yêu cầu đi qua cả sáu tầng, vì vậy core mạng, HTTP và Linux dùng lại khắp nơi.

Mô hình AI và RAG (AI model types and the RAG pipeline)

Loại · TypeThế mạnhVí dụ tính năng · Example features
ChatHội thoại, hỏi đáp, tóm tắt, dịch, viết lạiSummarization, translation, rewriting
CodingHoàn thành code, giải thích, debug, viết test, refactorAutocomplete, code review, bug fixing
ReasoningGiải bài nhiều bước, lập kế hoạch, so sánh đánh đổiStep-by-step analysis, root-cause analysis
AgentDùng công cụ, thao tác IDE hoặc trình duyệt, tự làm nhiều bướcFunction calling, MCP, browser automation
MultimodalHiểu ảnh, âm thanh, video, sơ đồ, bản đồOCR, speech-to-text, chart interpretation

Quy trình RAG: Câu hỏi → Embedding → Vector DB → Đoạn liên quan → LLM → Trả lời (Retrieval-augmented generation: tìm các đoạn văn liên quan trước, rồi đưa cho LLM để trả lời bám sát tài liệu).

Embeddings và nền tảng LLM là core. Vector database, RAG pipeline và LangChain là extension.

Giao thức bảo mật (Security protocols in one line each)

  • OAuth2 (Delegated authorization) — Cho ứng dụng quyền truy cập hạn chế mà không đưa mật khẩu.
  • OpenID Connect (Identity layer on OAuth2) — Trả lời “người dùng này là ai” trên nền OAuth2.
  • JWT (Signed token format) — Định dạng token gọn, có chữ ký, dùng để mang thông tin xác thực.
  • SAML (XML-based single sign-on) — Đăng nhập một lần (SSO) bằng XML, phổ biến trong doanh nghiệp.
  • TLS/SSL và PKI (Encryption and trust chain) — TLS mã hóa đường truyền. PKI với chứng chỉ X.509 và CA cho biết bạn đang nói chuyện với ai.

Bốn mô hình tư duy (Mental models)

  • Kỹ năng hình chữ T (T-shaped skills) — Nét dọc là core học sâu, nét ngang là hiểu biết rộng về nhiều extension.
  • Học đúng lúc (Just-in-time learning) — Học extension khi dự án cần, vì lúc đó bạn nhớ lâu và có việc để áp dụng.
  • Chuyển giao kiến thức (Transfer of learning) — Core học ở Java giúp bạn đọc C# nhanh hơn. Extension thì ít chuyển giao hơn.
  • Nợ học tập (Learning debt) — Lao vào extension khi core còn yếu làm bạn dùng được nhưng không hiểu, nên khó sửa lỗi.

Từ vựng Anh – Việt (Vocabulary)

Mười sáu thuật ngữ, kèm câu ví dụ.

EnglishTiếng ViệtExample
Core knowledgeKiến thức nền tảngCore knowledge is the stable foundation.
ExtensionPhần mở rộngSpring Boot is an extension of Java.
FrameworkKhung phần mềmA framework gives structure to your app.
LibraryThư việnWe import a library for date handling.
RuntimeMôi trường chạyThe JVM is the Java runtime.
Standard libraryThư viện chuẩnLearn the standard library before frameworks.
Mental modelMô hình tư duyA good mental model makes bugs easier to find.
AbstractionSự trừu tượng hóaFrameworks hide details behind abstractions.
ProtocolGiao thứcHTTP is the protocol of the web.
DependencyPhụ thuộcEach dependency adds risk and maintenance.
ToolchainChuỗi công cụOur toolchain includes Git, Gradle and Docker.
On-demand learningHọc theo nhu cầuLearn Kubernetes on demand, when the project needs it.
T-shaped skillsKỹ năng hình chữ TT-shaped developers know one area deeply.
Transferable skillKỹ năng chuyển giaoAsync thinking is a transferable skill.
APIGiao diện lập trìnhThe server exposes a REST API.
StackNgăn xếp công nghệOur stack is Java, PostgreSQL and Docker.

Mini game: Kiến trúc sư học tập (Review · Ôn tập)

Mười câu hỏi. Trả lời đúng được 10 điểm, trả lời đúng liên tiếp được thêm điểm thưởng.

  1. Core knowledge là gì? (What is core knowledge?) → Nền tảng ổn định như ngôn ngữ, runtime, thư viện chuẩn và mental model. Core là phần ít thay đổi và dùng lại được ở nhiều nơi.
  2. Mục nào là extension của Java? (Which is a Java extension?) → Spring Boot. Spring Boot là framework xây trên Java, nên là extension.
  3. Theo thứ tự ưu tiên học, bước đầu tiên là gì? (What is the first study priority?) → Learn the core first. Học core trước, rồi mới học một extension phổ biến.
  4. Mục nào thuộc core của JavaScript? (Which is JavaScript core?) → Event loop và promises. Event loop, promises và async/await là nền tảng của ngôn ngữ.
  5. Khi một extension gây rối, nên làm gì? (What to do when an extension is confusing?) → Quay lại core. Revisit the core whenever an extension feels confusing.
  6. Trong chuỗi [Core] → ? → [Project-Specific Tools], dấu ? là gì? (Fill the pipeline gap) → Common Extensions. Chuỗi đầy đủ: Core, Common Extensions, Project-Specific Tools.
  7. Kubernetes thuộc nhóm nào trong DevOps? (Where does Kubernetes belong?) → Extension. Core của DevOps là Linux, mạng, build/release/deploy. Kubernetes là extension.
  8. Mục nào là core của AI và dữ liệu? (Which is AI core?) → Tokens và context windows. LLM fundamentals, tokens, context windows, embeddings là core. Còn lại là extension.
  9. Authentication khác authorization ở điểm nào? (AuthN vs AuthZ) → Authn: bạn là ai. Authz: bạn được làm gì. Đây là core của Backend và API, còn OAuth2, JWT, SAML là extension.
  10. Quy tắc cá nhân khi học extension là gì? (The personal rule) → Học khi nó mở khóa một dự án, công việc hoặc mục tiêu thật. Learn the core deeply, then learn extensions when they unlock something real.

Dựa trên ghi chú “Learning Map: Core vs. Extensions”. Nhóm “Chuẩn và giao thức” được gom lại thành core và extension để dễ so sánh. Tỉ lệ giờ học chỉ mang tính gợi ý.