inflearn logo

Lập trình JPA tiêu chuẩn Java ORM - Cơ bản

Những người mới làm quen với JPA hoặc sử dụng JPA trong thực tế nhưng thiếu lý thuyết cơ bản Bằng cách tìm hiểu kỹ lý thuyết cơ bản về JPA, ngay cả những người mới bắt đầu cũng có thể tự tin sử dụng JPA trong thực tế.

(5.0) 2,140 đánh giá

25,600 học viên

Độ khó Cơ bản

Thời gian Không giới hạn

Java
Java
JPA
JPA
Java
Java
JPA
JPA

Tin tức

55 bài viết

  • yh님의 프로필 이미지

    Xin chào. Tôi là Kim Young-han.

    Cuối cùng thì toàn bộ lộ trình lập trình viên backend mà tôi đã đặt mục tiêu từ 7 năm trước cũng đã hoàn thiện.

    Đáp lại yêu cầu mở lại Backend Master Pass của đông đảo các bạn sau khi hoàn thành toàn bộ lộ trình, chúng tôi xin giới thiệu Backend Master Pass của Kim Young-han trong thời gian có hạn.

    Liên kết: https://inf.run/uixFt


    Hôm nay, cùng với khóa học "Cơ sở dữ liệu thực chiến Kim Young-han - Tối ưu hóa hiệu năng" vừa được ra mắt, tôi đã hoàn tất toàn bộ lộ trình nối tiếp từ Java thực chiến, Spring, JPA, cho đến thiết kế cơ sở dữ liệu và tối ưu hóa hiệu năng.

    Đã 7 năm trôi qua kể từ khi tôi bắt đầu bài giảng đầu tiên để đi đến được chặng đường này.

    Tôi xin chân thành cảm ơn tất cả các bạn đã đồng hành cùng tôi trong suốt chặng đường dài vừa qua.


    Hành trình 7 năm, và sự hoàn thiện

    Ngay từ khi bắt đầu khóa học, tôi đã có một mục tiêu.

    Nhớ lại vô số lập trình viên từ mới vào nghề, junior cho đến senior mà tôi đã gặp trong quá trình làm việc thực tế, tôi đã đặt mục tiêu hoàn thiện toàn bộ kỹ năng thực chiến cần thiết để một lập trình viên phát triển đúng hướng thành một lộ trình tổng thể.

    Không chỉ dừng lại ở việc giải thích một công nghệ cụ thể,

    • Nền tảng Java và Lập trình hướng đối tượng

    • Nguyên lý cốt lõi của Spring

    • Phát triển thực tế với Spring Boot và JPA

    • Thiết kế cơ sở dữ liệu

    • Dữ liệu lớn và tối ưu hóa hiệu suất

    Tôi mong muốn bao quát trọn vẹn mọi chủ đề mà một lập trình viên backend chắc chắn sẽ gặp phải trên hành trình trưởng thành của mình.

    Mục tiêu của tôi là xây dựng một cách bài bản toàn bộ lộ trình cần thiết để phát triển từ người mới lên junior, rồi từ junior lên senior.

    Và giờ đây, sau 7 năm, khép lại bằng khóa học Tối ưu hóa hiệu suất cơ sở dữ liệu, toàn bộ lộ trình mà tôi ấp ủ từ ban đầu cuối cùng đã hoàn thiện.

    Nhìn lại, đó quả thực là một hành trình dài.

    Trong suốt quá trình thực hiện khóa học, tôi đã phải quay đi quay lại vô số lần, trăn trở tìm ra cách giải thích hay hơn, và không ngừng suy nghĩ, kiểm chứng để chỉ đưa vào những nội dung thực sự thiết yếu cho công việc thực tế.


    Thú thật, duy trì một điều gì đó lâu đến vậy trong đời không phải là chuyện dễ dàng. Bản thân tôi cũng không ít lần rơi vào trạng thái chán nản, trải qua những khoảnh khắc mệt mỏi và khó khăn. Cũng có rất nhiều ngày, sau một ngày làm việc bù đầu bù cổ ở công ty, tôi trở về nhà trong tình trạng kiệt sức và vẫn phải quay bài giảng vào lúc tối muộn.

    Nghĩ lại, chính từng lời nhận xét nhỏ bé mà các bạn để lại đã vực tôi đứng dậy sau mỗi khoảnh khắc như thế. Những lời nhắn gửi khi các bạn lắng nghe bài giảng, dành cho tôi lời cổ vũ, hay chia sẻ câu chuyện trưởng thành của bản thân khi nỗ lực học tập và chuyển đến công ty mơ ước... tất cả đã trở thành nguồn động lực vô cùng to lớn đối với tôi. Chính những lời cổ vũ nhỏ bé được vun đắp ngày qua ngày ấy đã trở thành lý do lớn nhất giúp tôi vững bước đi hết hành trình dài này. Mỗi khi đọc từng lời nhận xét, hay tình cờ được các bạn nhận ra và gửi lời chào hỏi thân tình, những điều nhỏ bé ấy đã giúp tôi tin rằng công việc mình đang làm thực sự mang lại giá trị cho ai đó, từ đó tiếp thêm cho tôi thật nhiều sức mạnh.

    Nhìn lại, toàn bộ quá trình này tuyệt nhiên không phải là quãng thời gian tôi tự mình tạo dựng. Đó là quãng thời gian chúng ta cùng nhau vun đắp, và là hành trình chúng ta cùng nhau hoàn thiện.

    Tôi xin chân thành cảm ơn.


    Ra mắt Backend Master Pass trong thời gian có hạn

    Đáp lại yêu cầu của rất nhiều bạn về việc hoàn thiện toàn bộ lộ trình và mở lại Backend Master Pass, chúng tôi xin giới thiệu Backend Master Pass của Kim Young-han trong thời gian có hạn.

    Liên kết: https://inf.run/uixFt

    Gói Master Pass lần này là lộ trình toàn diện, xuyên suốt từ nền tảng đến thực chiến dành cho lập trình viên backend, đồng thời bao hàm cả những vấn đề về thiết kế và tối ưu hóa hiệu năng mà một lập trình viên cấp cao cần quan tâm.


    Cấu thành sản phẩm Pass — Tích hợp 4 lộ trình cốt lõi

    Gói Backend Master Pass bao gồm 4 lộ trình toàn diện sau đây.

    • Lộ trình Java thực chiến của Kim Young-han

    • Lộ trình chinh phục hoàn toàn Spring của Kim Young-han

    • Lộ trình Chinh phục Toàn diện Spring Boot và JPA Thực chiến của Kim Young-han

    • Lộ trình Cơ sở dữ liệu thực chiến của Kim Young-han

    Bạn có thể học theo một mạch xuyên suốt từ cú pháp cơ bản và lập trình hướng đối tượng trong Java, cho đến Spring, JPA, thiết kế cơ sở dữ liệu và tối ưu hóa hiệu năng.

    Đặc biệt, lần này, khóa học "Thực chiến Cơ sở dữ liệu của Kim Young-han - Tối ưu hóa hiệu suất" vốn là mảnh ghép cuối cùng đã chính thức được đưa vào, hoàn thiện toàn bộ lộ trình Backend Master.


    Mảnh ghép cuối cùng, Tối ưu hóa hiệu suất cơ sở dữ liệu

    Khi dịch vụ phát triển và dữ liệu bắt đầu tích lũy, sớm muộn bạn cũng sẽ đối mặt với các vấn đề về hiệu năng cơ sở dữ liệu.

    Trong giai đoạn phát triển, các câu truy vấn vẫn hoạt động tốt, nhưng khi đưa vào môi trường vận hành lại đột nhiên trở nên chậm chạp, và chỉ một truy vấn đơn giản cũng có thể gây ra điểm nghẽn hoặc sự cố cho toàn bộ dịch vụ.

    Điều cần thiết lúc này không đơn thuần chỉ là thủ thuật thêm vài chỉ mục.

    Chúng ta cần hiểu rõ cách cơ sở dữ liệu lưu trữ và truy xuất dữ liệu, cách phân tích kế hoạch thực thi, và lý do bộ tối ưu hóa lựa chọn một chỉ mục cùng thứ tự join cụ thể.

    Trong bài giảng tối ưu hiệu suất lần này, chúng ta sẽ đề cập đến các nội dung sau.

    • Phân tích kế hoạch thực thi thông qua EXPLAIN và EXPLAIN ANALYZE

    • B+Tree và cấu trúc nội bộ chỉ mục

    • Chỉ mục cụm và chỉ mục phụ

    • Nguyên lý thiết kế chỉ mục phức hợp

    • Chẩn đoán và tối ưu hóa Using filesort

    • ICP, chỉ mục bao phủ, quét bỏ qua

    • Trình tối ưu hóa và biểu đồ tần số

    • Tối ưu hóa phép nối và truy cập ngẫu nhiên

    • Cải thiện hiệu suất sắp xếp, phân trang và nhóm

    • Xử lý thống kê quy mô lớn sử dụng bảng tổng hợp trước

    Giờ đây, toàn bộ lộ trình đã được hoàn thiện, vượt ra khỏi khuôn khổ của việc chỉ xây dựng ứng dụng đúng cách, để tiến tới việc trực tiếp phân tích và giải quyết các vấn đề hiệu suất phát sinh khi dịch vụ tăng trưởng.


    Thời đại AI, tại sao cần một lộ trình tổng thể?

    Khi bước vào kỷ nguyên AI tự viết code, kỹ năng nền tảng của lập trình viên lại càng trở nên quan trọng hơn.

    AI không phải là công cụ thay thế năng lực của lập trình viên, mà là công cụ khuếch đại năng lực đó.

    Một lập trình viên có nền tảng vững chắc có thể đặt ra những câu hỏi tốt hơn cho AI, đồng thời kiểm chứng được liệu kết quả mà AI tạo ra có chính xác hay không.

    Ngược lại, nếu thiếu nền tảng, dù đoạn mã có vẻ hoạt động bình thường trên bề nổi, sẽ rất khó phát hiện ra những vấn đề sau đây.

    • Đoạn mã có thiết kế hướng đối tượng bị phá vỡ

    • Cấu trúc khó bảo trì

    • Xử lý giao dịch không chính xác

    • Truy cập dữ liệu không hiệu quả

    • Các truy vấn gây ra sự cố trong môi trường vận hành

    • Thiết kế ngày càng chậm chạp khi dữ liệu gia tăng

    Công nghệ và công cụ AI sẽ không ngừng thay đổi, nhưng những nền tảng cốt lõi như khả năng phân biệt code tốt và code xấu, các nguyên lý hướng đối tượng, cơ chế hoạt động của HTTP và web, giao dịch, thiết kế cơ sở dữ liệu và tối ưu hóa hiệu suất thì vẫn mãi không đổi.

    Chỉ khi hiểu rõ, bạn mới có thể đặt câu hỏi, chỉ khi am hiểu, bạn mới có thể kiểm chứng, và chỉ khi nắm vững, bạn mới có thể cải thiện để đạt được kết quả tốt hơn.

    Khóa học Backend Master Pass lần này đã đúc kết trọn vẹn bản chất bất biến ấy.


    Liên tục đổi mới khóa học

    Toàn bộ lộ trình đã hoàn thiện, nhưng quá trình sản xuất bài giảng vẫn chưa kết thúc.

    Thời gian tới, chúng tôi sẽ liên tục cập nhật và làm mới các bài giảng hiện có để bám sát những thay đổi của công nghệ và môi trường thực tiễn.

    Tùy theo nhu cầu, tôi sẽ tiến hành làm mới toàn bộ video, làm mới một phần video, cũng như cập nhật tài liệu hướng dẫn và các dự án mẫu.

    Các bạn đã mua Master Pass sẽ được tiếp tục học các nội dung đã cập nhật mà không phát sinh thêm chi phí, ngay cả khi các bài giảng được làm mới hoặc có thay đổi về giá sau này.

    Đó là sự tôn trọng tối thiểu và cũng là lời cam kết dành cho những ai đã tin tưởng và lựa chọn tôi.


    Cuối cùng

    Gói Pass này không đơn thuần chỉ là một sản phẩm gộp chung nhiều khóa học.

    Đây là thành quả đúc kết từ những bài học, thất bại và trăn trở của tôi sau nhiều năm làm việc thực tế, được hệ thống hóa thành một hành trình phát triển trọn vẹn.

    Tôi sẽ là người hướng dẫn vững vàng đồng hành cùng các bạn cho đến ngày các bạn vươn lên từ người mới thành junior, từ junior thành senior, và cuối cùng trở thành một lập trình viên mà các đồng nghiệp xung quanh thực sự mong muốn được làm việc cùng.

    Xin cảm ơn.

    11
  • yh님의 프로필 이미지

    Xin chào mọi người.

    Khóa học Tối ưu hóa hiệu suất cơ sở dữ liệu thực chiến của Kim Young-han cuối cùng đã chính thức ra mắt.

    Nhân dịp ra mắt, lộ trình cơ sở dữ liệu đang được giảm giá 30% 🙂

    Tiêu đề: Cơ sở dữ liệu thực chiến của Kim Young-han - Tối ưu hóa hiệu năng, chinh phục toàn diện Kế hoạch thực thi và Chỉ mục

    Số bài giảng: 104

    Thời lượng khóa học: 21 giờ 10 phút

    Liên kết: https://inf.run/Gcg6N


    Và để kỷ niệm việc hoàn thành toàn bộ các khóa học trong lộ trình Backend bao gồm cả lộ trình Cơ sở dữ liệu, chúng tôi xin giới thiệu Backend Master Pass của Kim Young-han trong thời gian có hạn.

    Liên kết Master Pass: https://inf.run/uixFt


    <Đặc điểm khóa học>

    Đặc điểm quan trọng nhất của khóa học này là chúng ta sẽ nạp vào cơ sở dữ liệu hàng trăm triệu đến hàng chục triệu bản ghi dữ liệu thực tế sát với thực tiễn, sau đó cùng tôi tinh chỉnh từng bước một. Từ đó, bạn sẽ học được phương pháp thực chiến để tối ưu hóa các câu truy vấn vốn tốn hàng giây xuống mức cực hạn chỉ trong 0,01 giây.


    <Nội dung khóa học>

    Trong quá trình phát triển, có những truy vấn vốn hoạt động tốt bỗng nhiên chậm hẳn đi khi dữ liệu ngày càng nhiều.

    Ban đầu, câu truy vấn chỉ mất 0.1 giây để thực thi, nhưng rồi có lúc thời gian thực thi vượt quá 1 giây, 10 giây, thậm chí trong trường hợp nghiêm trọng còn dẫn đến sự cố dịch vụ.

    Trong tình huống này, chúng ta sẽ phải đối mặt với những băn khoăn như sau.

    • Chúng ta nên bắt đầu tìm nguyên nhân khiến truy vấn chậm từ đâu?

    • Những mục xuất hiện trong kế hoạch thực thi có ý nghĩa gì?

    • Đã tạo chỉ mục rồi mà sao không được sử dụng nhỉ?

    • Nên thiết kế chỉ mục phức hợp theo thứ tự nào?

    • Phải chăng càng nhiều chỉ mục thì hiệu suất càng cao?

    • Tại sao Using filesort lại xảy ra và làm thế nào để loại bỏ nó?

    • Tại sao truy vấn lại chậm dần khi phân trang về các trang sau?

    • Thứ tự join do ai quyết định và làm thế nào để tối ưu hóa?

    • Tại sao trình tối ưu hóa lại chọn kế hoạch thực thi khác với dự kiến?

    Vấn đề hiệu năng cơ sở dữ liệu không thể giải quyết chỉ bằng việc nắm vững cú pháp SQL.

    Chúng ta cần hiểu rõ cách cơ sở dữ liệu lưu trữ dữ liệu, cách duyệt chỉ mục, và các tiêu chí mà bộ tối ưu hóa sử dụng để lựa chọn kế hoạch thực thi.

    Khóa học này không sửa các truy vấn chậm bằng cảm tính, mà hướng dẫn cách tìm nguyên nhân và khắc phục dựa trên kế hoạch thực thi và kết quả đo lường thực tế.

    Trước tiên, hãy tìm hiểu cấu trúc nội bộ của MySQL và InnoDB, đồng thời phân tích cách truy vấn thực sự được thực thi thông qua EXPLAIN và EXPLAIN ANALYZE.

    Sau đó, sử dụng hàng triệu bản ghi dữ liệu thực tế để trực tiếp tạo ra và giải quyết các vấn đề về hiệu suất.

    • Tối ưu hóa quét toàn bộ bảng thành quét chỉ mục

    • Xác định thứ tự cột trong chỉ mục phức hợp

    • Hiểu về B+Tree và cơ chế hoạt động nội bộ của chỉ mục

    • Phân tích chỉ mục phân cụm và chỉ mục thứ cấp

    • Chẩn đoán nguyên nhân Using filesort và kết thúc sớm

    • Cải thiện hiệu suất với ICP và chỉ mục bao phủ

    • Quét bỏ qua chỉ mục, hợp nhất chỉ mục, phân tích MRR

    • Ứng dụng trình tối ưu hóa và histogram

    • Tối ưu hóa thứ tự Join và truy cập ngẫu nhiên

    • Cải thiện hiệu suất sắp xếp, phân trang và phân nhóm

    • Tổng hợp luồng và thiết kế bảng tổng hợp trước

    Không chỉ đơn thuần đưa ra kết luận kiểu "Hãy thêm chỉ mục vào đây".

    Chúng ta sẽ kiểm tra từng bước lý do vì sao cần chỉ mục đó, những gì diễn ra bên trong cơ sở dữ liệu, cũng như kế hoạch thực thi và thời gian thực thi thực tế thay đổi như thế nào.

    Hơn nữa, không chỉ dừng lại ở việc tối ưu tốc độ cho một câu truy vấn duy nhất, khóa học còn đi sâu vào những nguyên lý nền tảng, giúp bạn liên tục phân tích và giải quyết các vấn đề hiệu suất phát sinh trong thực tế.


    <Những điều bạn sẽ đạt được qua khóa học này>

    1. Khả năng đọc kế hoạch thực thi

    Hiểu rõ các thành phần cốt lõi của EXPLAIN và EXPLAIN ANALYZE, đồng thời có thể xác định nguyên nhân gây ra các truy vấn chậm thông qua kế hoạch thực thi.

    2. Khả năng tự thiết kế chỉ mục

    Không chỉ dừng lại ở mức thêm một chỉ mục vào một cột duy nhất, bạn có thể thiết kế các chỉ mục kết hợp phù hợp với phân bố dữ liệu và điều kiện truy vấn.

    3. Hiểu rõ cơ chế hoạt động bên trong cơ sở dữ liệu

    Bạn sẽ nắm vững các nguyên lý cốt lõi bên trong chỉ mục như B+Tree, chỉ mục cụm, chỉ mục phụ, truy cập ngẫu nhiên, v.v.

    4. Trải nghiệm tối ưu hóa hiệu suất thực chiến

    Sử dụng hàng triệu bản ghi dữ liệu để trực tiếp phân tích các truy vấn chậm và trải nghiệm quá trình cải thiện hiệu suất lên gấp hàng chục đến hàng trăm lần.

    5. Tiêu chí giải quyết vấn đề trong môi trường vận hành

    Không chỉ những ưu điểm của chỉ mục, mà còn cân nhắc đến hiệu suất ghi, dung lượng lưu trữ và chi phí vận hành, bạn có thể lựa chọn giải pháp tối ưu nhất phù hợp với từng tình huống cụ thể.


    <Toàn bộ mục lục khóa học>

    1. Giới thiệu khóa học và tài liệu học tập

    2. Thiết lập môi trường thực hành

    3. Hiệu năng cơ sở dữ liệu và Kiến trúc MySQL

    4. Kế hoạch thực thi 1 - Làm chủ hoàn toàn EXPLAIN

    5. Kế hoạch thực thi 2 - Chinh phục hoàn toàn ANALYZE

    6. Tối ưu hóa thực chiến 1 - Chẩn đoán quét toàn bảng và cơ bản về chỉ mục phức hợp

    7. Cấu trúc nội bộ chỉ mục 1 - B+Tree

    8. Cấu trúc nội bộ chỉ mục 2 - Chỉ mục cụm, chỉ mục phụ

    9. Tinh chỉnh thực chiến 2 - Chẩn đoán Using filesort và Kết thúc sớm

    10. Chuyên sâu về chỉ mục 1 - ICP, Covering, Skip Scan

    11. Chuyên sâu về chỉ mục 2 - Merge, MRR, tính năng mới, hint, vận hành

    12. Trình tối ưu hóa và Histogram

    13. Tối ưu hóa Join

    14. Thực chiến tinh chỉnh 3 - Chẩn đoán truy cập ngẫu nhiên khi Join và chỉ mục bao phủ

    15. Tối ưu hóa sắp xếp, phân trang và nhóm

    16. Thực chiến tối ưu 4 - Tổng hợp luồng và bảng tổng hợp trước

    17. Tiếp theo,

    Tối ưu hóa hiệu năng cơ sở dữ liệu không đơn thuần là việc học thuộc lòng một vài kỹ thuật tinh chỉnh SQL.

    Đây là quá trình hiểu rõ lộ trình truy vấn dữ liệu, xác định điểm nghẽn dựa trên kế hoạch thực thi, và lựa chọn giải pháp tối ưu nhất trong số các phương án.

    Thông qua khóa học này, tôi hy vọng các bạn sẽ trưởng thành trở thành những lập trình viên có thể tự mình phân tích chính xác nguyên nhân và giải quyết vấn đề khi đối mặt với các truy vấn chậm, thay vì vội vàng thêm chỉ mục một cách mơ hồ.

    Tôi đã đưa vào bài giảng này toàn bộ kinh nghiệm tích lũy được qua quá trình giải quyết vô số vấn đề về hiệu suất trong thực tế, cùng với kết quả của những trăn trở và suy ngẫm suốt thời gian dài.

    Hy vọng điều này sẽ giúp ích cho sự phát triển của các bạn.

    Xin cảm ơn.

    0
  • yh님의 프로필 이미지

    Xin chào. Tôi là Kim Young-han.

    Tôi xin giới thiệu Lộ trình Master Backend của Kim Young-han trong thời gian giới hạn, điều mà nhiều người đã mong đợi từ lâu.

    Liên kết: https://inf.run/LR9Sp

     

    Hành trình 7 năm, và sự hoàn thiện

    Đã 7 năm trôi qua kể từ khi tôi bắt đầu bài giảng đầu tiên. Trong suốt thời gian đó, tôi đã tạo ra tổng cộng 26 bài giảng và nhận được sự ủng hộ nồng nhiệt với con số tích lũy lên tới 590.000 học viên.

    Khi mới bắt đầu giảng dạy, tôi đã có một quyết tâm. Nghĩ về vô số các nhà phát triển mới vào nghề, cấp trung và cấp cao mà tôi đã gặp trong thực tế, tôi đã tự hứa với lòng mình rằng sẽ tạo ra những "bài giảng phát triển thực chiến thực thụ để có thể giúp họ trưởng thành một cách bài bản". Mục tiêu truyền tải không thiếu sót bất kỳ kỹ năng thực tiễn nào cần thiết để phát triển từ một người mới thành cấp trung, và từ cấp trung lên cấp cao, cuối cùng đã được hoàn thành sau chặng đường 7 năm.

     

    Cấu trúc gói sản phẩm — Tích hợp 4 lộ trình cốt lõi

    Gói Master Pass lần này là một 'lộ trình trọn đời' đồng hành cùng toàn bộ vòng đời của một nhà phát triển, từ những nền tảng cơ bản khi mới vào nghề cho đến việc tối ưu hóa hiệu suất mà một kỹ sư dày dạn kinh nghiệm cần phải trăn trở.

    • Lộ trình Java thực chiến của Kim Young-han

    • Lộ trình chinh phục hoàn toàn Spring của Kim Young-han

    • Lộ trình chinh phục hoàn toàn thực hành Spring Boot và JPA của Kim Young-han

    • Lộ trình Cơ sở dữ liệu thực chiến của Kim Young-han

     

    Bao gồm bài giảng mới ra mắt vào tháng 7

    Thêm vào đó, chúng tôi cung cấp kèm theo khóa học 「Cơ sở dữ liệu thực chiến của Kim Young-han - Tối ưu hóa hiệu suất」 dự kiến ra mắt vào tháng 7. (Dự kiến 154,000 won)

    Đây là khóa học mà tôi đang dành nhiều tâm huyết nhất để thực hiện. Bởi vì 80% các sự cố trong thực tế phát sinh từ vấn đề hiệu suất cơ sở dữ liệu. Khi dịch vụ phát triển và lưu lượng truy cập lớn bắt đầu đổ về, dù bạn có viết mã ứng dụng backend sạch đến đâu đi chăng nữa, thì cuối cùng điểm nghẽn cuối cùng vẫn sẽ xảy ra ở cơ sở dữ liệu.

    Sau khi làm chủ khóa học này, bạn sẽ sở hữu tầm nhìn của một 'Senior thực thụ', người có thể chỉ ra chính xác điểm nghẽn mà không hề lúng túng trước các tình huống sự cố hay các truy vấn chậm chạp.

     

    Sự đền đáp dành cho các học viên cũ

    Tôi đã chuẩn bị một chút ưu đãi dành cho những người đã tin tưởng và đồng hành cùng tôi trong suốt thời gian dài vừa qua.

    - Người mua khóa học hiện tại: Áp dụng tỷ lệ chiết khấu cao hơn một chút cho các khóa học còn lại tùy theo số lượng khóa học (số tiền) đang sở hữu

    - Người mua tất cả các bài giảng (fan cứng): Tặng Master Pass làm quà tặng (miễn phí)

    Đặc biệt, để bày tỏ lòng biết ơn đối với những người hâm mộ chân chính đã luôn tin tưởng và theo sát tất cả các bài giảng của tôi cho đến nay, tôi xin gửi tặng các bạn "Gói Pass" và bài giảng "Tối ưu hóa hiệu suất cơ sở dữ liệu thực chiến" sẽ ra mắt vào tháng 7. (Nhất định! Hãy chọn mua Gói Pass với giá 0 won nhé)

     

    Thời đại AI, tại sao kỹ năng cơ bản lại quan trọng

    Thời đại mà AI viết mã thay cho con người. Liệu sự khác biệt giữa một lập trình viên giỏi và một lập trình viên không giỏi đã thu hẹp lại? Trên thực tế, kết quả ngược lại đang diễn ra.

    AI không phải là công cụ thay thế năng lực của nhà phát triển mà là công cụ khuếch đại năng lực đó.

    Những lập trình viên có năng lực có thể đặt ra những câu hỏi hay cho AI và phán đoán được mã nguồn mà AI tạo ra là tốt hay nguy hiểm. Họ cũng nhanh chóng nhận ra liệu thiết kế có sai sót hay không, có vấn đề hiệu suất nào đang tiềm ẩn, hay liệu nó có thể dẫn đến sự cố trong môi trường vận hành thực tế hay không.

    Ngược lại, nếu thiếu kiến thức cơ bản, bạn sẽ khó có thể kiểm chứng kết quả mà AI tạo ra. Ngay cả khi nhìn bên ngoài có vẻ hoạt động bình thường, nhưng thiết kế có thể bị phá vỡ, tiềm ẩn vấn đề về hiệu suất cơ sở dữ liệu hoặc có thể phát sinh lỗi trong môi trường vận hành thực tế.

    Công nghệ AI sẽ tiếp tục thay đổi nhanh chóng. Tuy nhiên, có những thứ sẽ không bao giờ thay đổi.

    • Nguyên lý cơ bản của hướng đối tượng

    • Khả năng phân biệt giữa mã tốt và mã xấu

    • Nguyên lý hoạt động của HTTP và Web

    • Giao dịch và công nghệ truy cập dữ liệu

    • Thiết kế cơ sở dữ liệu và tối ưu hóa hiệu suất

       

    Những kỹ năng cơ bản này càng trở nên quan trọng hơn trong kỷ nguyên AI. Đó là bởi vì chỉ khi hiểu rõ bạn mới có thể đặt câu hỏi, chỉ khi hiểu rõ bạn mới có thể kiểm chứng và chỉ khi hiểu rõ bạn mới có thể cải thiện.

    Trong gói Backend Master Pass lần này, chúng tôi đã gói gọn chính những bản chất không thay đổi đó.

     

    Liên tục làm mới bài giảng, không tốn thêm chi phí

    Trong tương lai, các bài giảng hiện tại cũng sẽ được cập nhật liên tục. Tùy theo nhu cầu, chúng tôi sẽ tiến hành làm mới toàn bộ video, làm mới một phần video hoặc cập nhật phiên bản tài liệu hướng dẫn.

    Những người mua Master Pass ngay bây giờ sẽ nhận được các bản cập nhật miễn phí mà không tốn thêm chi phí nào, ngay cả khi giá của các bài giảng được làm mới tăng lên sau này. Đây là phép lịch sự tối thiểu và là lời hứa của tôi đối với những người đã tin tưởng và lựa chọn tôi. Tôi dự định sẽ bắt đầu công việc làm mới (renewal) một cách nghiêm túc sau khi khai giảng khóa học Tối ưu hóa hiệu suất cơ sở dữ liệu thực chiến.

     

    Cuối cùng

    Gói học này không đơn thuần là một sản phẩm bán kiến thức. Đây là kết tinh từ nỗ lực suốt 7 năm qua, được tôi tạo ra để truyền tải đến các bạn những gì tôi đã học hỏi, trải nghiệm và trăn trở quyết liệt trong thực tế suốt hơn mười năm làm nghề.

    Cho đến ngày các bạn vượt qua mức mới vào nghề để trở thành Junior, vượt qua Junior để trở thành Senior, và cuối cùng trở thành một nhà phát triển mà các đồng nghiệp xung quanh thực lòng muốn làm việc cùng. Tôi sẽ luôn ở bên cạnh các bạn, là người hướng dẫn đáng tin cậy nhất.

    Cảm ơn bạn.

     

    18
  • yh님의 프로필 이미지

    Đã chỉnh sửa

    Xin chào các bạn
    Khóa học Thiết kế Cơ sở dữ liệu Phần 1 cuối cùng đã được mở.

    Để kỷ niệm khai trương, tôi giảm giá 30% cho tất cả các khóa học của mình 🙂

    Tiêu đề: Thiết kế cơ sở dữ liệu thực chiến của Kim Young Han phần 1 – Chinh phục hoàn toàn mô hình dữ liệu hiện đại

    • Số bài gi강: 83 bài

    • Thời lượng khóa học: 16 giờ 11 phút

    • Tài liệu PDF bài giảng: khoảng 400 trang

    Liên kết: https://inf.run/SEdxb

    [Giới thiệu khóa học]

    Cơ sở dữ liệu là nền tảng của mọi ứng dụng.
    Tuy nhiên, nếu không thiết kế đúng cách, dự án sẽ nhanh chóng gặp phải giới hạn và việc bảo trì sẽ trở thành địa ngục.

    Khóa học này không chỉ đơn thuần là cách tạo bảng, mà sẽ hướng dẫn bạn một cách có hệ thống về phương pháp thiết kế cơ sở dữ liệu hiện đại áp dụng được trong thực tế. Và tôi đã đưa vào khóa học này những kinh nghiệm thực chiến phong phú cùng kết quả của quá trình suy ngẫm lâu dài.

    [Điểm cốt lõi của bài giảng]

    Mô hình hóa khái niệm → logic → vật lý
    Chinh phục hoàn toàn thiết kế DB với phương pháp tiếp cận 3 bước.

    Kinh nghiệm thiết kế áp dụng ngay vào thực tế
    Không chỉ dừng lại ở lý thuyết, mà sử dụng dự án mall mua sắm làm ví dụ thực hành.

    Tránh những cạm bẫy của thiết kế sai lầm
    Thông qua thực hành, bạn sẽ nhận ra tại sao ERD lại quan trọng, tại sao cần chuẩn hóa, và khi nào nên thực hiện phi chuẩn hóa.

    Bản chất của thiết kế khóa và mối quan hệ
    Đi sâu vào khóa tự nhiên vs khóa đại diện, mối quan hệ một-một·một-nhiều·nhiều-nhiều, mối quan hệ nhận dạng vs mối quan hệ không nhận dạng.

    Phản ánh xu hướng thiết kế DB mới nhất
    Không dừng lại ở những cuốn sách giáo khoa từ hàng chục năm trước, chúng tôi trình bày phương pháp luận mô hình hóa dữ liệu hiện đại.

    [Những điều bạn sẽ học được]

    • Phân tích yêu cầu và rút ra các thực thể cốt lõi

    • Tạo ERD và quản lý từ điển thuật ngữ

    • Chuẩn hóa (1NF ~ BCNF) và những hạn chế của nó

    • Mô hình hóa vật lý có xem xét chỉ mục và hiệu suất

    • Thực hành thiết kế DB toàn bộ dự án trang web thương mại điện tử

    [Đối tượng khóa học]

    • Nhà phát triển: Người muốn thiết kế DB đúng cách trước khi viết code

    • Nhà hoạch định/Phân tích viên: Những người muốn hiểu căn bản về luồng dữ liệu và cấu trúc

    • Người chuẩn bị việc làm: Những ai muốn thể hiện năng lực thiết kế DB khác biệt trong buổi phỏng vấn

    • Lập trình viên junior: Những người muốn học các nguyên tắc thiết kế có thể áp dụng ngay trong thực tế

    • Nhà phát triển cấp cao/Trưởng nhóm: Những người muốn nâng cao chất lượng thiết kế cơ sở dữ liệu của đội ngũ

    [Mục lục toàn bộ khóa học]

    1. Giới thiệu khóa học và tài liệu học tập

    * 1-A. Windows - Hướng dẫn cài đặt MySQL

    * 1-B. macOS - Hướng dẫn cài đặt

    2. Tầm quan trọng của thiết kế

    * Bước đầu tiên trong thiết kế cơ sở dữ liệu

    * Thảm họa do thiết kế sai lầm gây ra

    * Thiết kế 3 giai đoạn - khái niệm, logic, vật lý

    * Tổng hợp

    3. Mô hình hóa khái niệm

    * Phân tích yêu cầu và xác định các yếu tố cốt lõi

    * Entity là gì?

    * Phân loại thực thể 1

    * Phân loại thực thể 2

    * Thuộc tính và định danh

    * Tính bản số và mức độ tham gia

    * Hoàn thành ERD

    * Thực thể liên quan - Giải quyết mối quan hệ nhiều-nhiều

    * Từ điển thuật ngữ

    * Tóm tắt

    4. Mô hình hóa khái niệm - Thực hành

    * Phân tích yêu cầu thực tế

    * Mô hình hóa khái niệm thực tế - Bắt đầu

    * Mô hình hóa khái niệm thực tế - Tạo ERD

    * Mô hình hóa khái niệm thực tế - Soạn thảo từ điển thuật ngữ

    * Tóm tắt

    5. Mô hình hóa logic 1 - Khóa

    * Các loại khóa khác nhau

    * Khóa tự nhiên vs Khóa đại diện1 - Khóa tự nhiên

    * Khóa tự nhiên vs Khóa đại diện2 - Khóa đại diện

    * Khóa tự nhiên vs Khóa đại diện3 - Đánh đổi hiệu suất

    * Khóa tự nhiên vs Khóa đại diện4 - Thiết kế hiện đại

    * Thiết kế khóa phức hợp

    * Mối quan hệ nhiều-nhiều và khóa phức hợp

    * Tổng hợp

    6. Mô hình hóa logic 2 - Mức độ tham gia và mối quan hệ một-nhiều

    * Mô hình hóa logic - Quan hệ

    * Mức độ tham gia

    * Quan hệ một-nhiều (1:N) nhiều-một (N:1) - Vị trí khóa ngoại 1

    * Quan hệ một-nhiều (1:N) nhiều-một (N:1) - Vị trí khóa ngoại 2

    * Mối quan hệ một-nhiều (1:N) và nhiều-một (N:1) - Join và hiện tượng phình to dữ liệu

    * Tóm tắt

    7. Mô hình hóa logic 3 - Quan hệ một-một, nhiều-nhiều

    * Mối quan hệ một-một (1:1) - Bắt đầu

    * Mối quan hệ một-một (1:1) - Vị trí khóa ngoại

    * Mối quan hệ một-một (1:1) - [Thực hành] Tính linh hoạt của việc mở rộng mối quan hệ

    * Quan hệ một-một (1:1) - FK trong bảng chính

    * Mối quan hệ nhiều-nhiều (M:N) - Hạn chế của mô hình quan hệ

    * Quan hệ nhiều-nhiều (M:N) - Bảng kết nối

    * Quan hệ nhiều-nhiều (M:N) - Thuộc tính

    * Quan hệ nhiều-nhiều (M:N) - Mô hình hóa khái niệm, logic

    * Tóm tắt

    8. Mô hình hóa logic 4 - Quan hệ định danh, quan hệ không định danh

    * Mối quan hệ nhận dạng vs Mối quan hệ không nhận dạng - Khái niệm

    * Mối quan hệ nhận dạng vs Mối quan hệ không nhận dạng - Một-nhiều (1:N)

    * Vấn đề của mối quan hệ nhận dạng

    * Mối quan hệ định danh vs mối quan hệ không định danh - Truy vấn SQL, hiệu suất

    * Mối quan hệ định danh vs mối quan hệ không định danh - một-một (1:1)

    * Mối quan hệ nhận dạng vs mối quan hệ không nhận dạng - Nhiều-nhiều(M:N) 1

    * Mối quan hệ định danh vs mối quan hệ không định danh - Nhiều-nhiều(M:N) 2

    * Mối quan hệ định danh vs mối quan hệ không định danh - Xu hướng thiết kế hiện đại

    * Tóm tắt

    9. Mô hình hóa logic - Thực hành

    * Mô hình hóa logic thực tế - Bắt đầu

    * Mô hình hóa logic thực tế - Tạo ERD

    10. Chuẩn hóa

    * Chuẩn hóa - bắt đầu

    * Dạng chuẩn hóa thứ nhất

    * Dạng chuẩn hóa thứ 2

    * Dạng chuẩn 3 (Third Normal Form)

    * Chuẩn hóa BCNF

    * Thực tế và chuẩn hóa

    * Tóm tắt

    11. Mô hình hóa vật lý

    * Tổng quan về mô hình hóa vật lý

    * Quy tắc chuyển đổi bảng và cột 1 - Quy tắc cơ bản

    * Quy tắc chuyển đổi bảng và cột 2 - Từ viết tắt và số ít số nhiều

    * Kiểu dữ liệu 1 - Ký tự, số, kiểu PK

    * Kiểu dữ liệu 2 - Kiểu ngày và thời gian

    * Phi chuẩn hóa

    * Tài liệu định nghĩa bảng

    * Tóm tắt

    12. Mô hình hóa vật lý - Thực hành

    * Mô hình hóa vật lý - Bắt đầu thực hành

    * Thiết kế chỉ mục - Thực hành

    * Phi chuẩn hóa - Thực hành

    * Tài liệu định nghĩa bảng của trung tâm thương mại

    * Tạo DDL và DB cho trung tâm thương mại

    * Mô hình vật lý - Tự động tạo ERD

    * Kiểm tra chức năng cửa hàng trực tuyến 1

    * Kiểm tra chức năng cửa hàng trực tuyến 2

    * Tổng hợp

    Cảm ơn bạn.

    5
  • yh님의 프로필 이미지

    Xin chào các bạn
    Khóa học Thiết kế Cơ sở dữ liệu Phần 1 cuối cùng đã bước vào giai đoạn chuẩn bị mở bán.

    Lần này phần 1 về thiết kế dự kiến ra mắt từ ngày 16 tháng 9 đến ngày 19 tháng 9.

    Lộ trình cơ sở dữ liệu - Lịch trình dự kiến phát hành khóa học

    • Thiết kế Phần 1 – Làm chủ hoàn toàn Mô hình hóa Dữ liệu Hiện đại - Dự kiến ra mắt giữa tháng 9

    • Thiết kế phần 2 - Làm chủ các mẫu thiết kế thực tế và kỹ thuật ứng dụng - Dự kiến ra mắt cuối năm 2025

    • Phần tối ưu hóa hiệu suất và tính năng nâng cao - Dự kiến ra mắt đầu năm 2026

    Tiêu đề: Thiết kế cơ sở dữ liệu thực chiến của Kim Young Han phần 1 – Chinh phục hoàn toàn mô hình dữ liệu hiện đại

    • Số bài giảng: 83 bài

    • Thời lượng khóa học: 16 giờ 11 phút

    • Tài liệu PDF bài giảng: khoảng 400 trang

    Giới thiệu khóa học

    Cơ sở dữ liệu là nền tảng của mọi ứng dụng.
    Tuy nhiên, nếu không thiết kế đúng cách, dự án sẽ nhanh chóng gặp phải giới hạn và việc bảo trì sẽ trở thành địa ngục.

    Khóa học này không chỉ đơn thuần là cách tạo bảng, mà sẽ hướng dẫn bạn một cách có hệ thống về phương pháp thiết kế hiện đại được áp dụng trong thực tế. Và tôi đã đưa vào khóa học này kết quả từ nhiều kinh nghiệm thực chiến và những suy ngẫm lâu dài của mình.

    Điểm cốt lõi của bài giảng

    * Mô hình hóa khái niệm → logic → vật lý

    3 bước tiếp cận để hoàn toàn chinh phục thiết kế DB.

    * Kinh nghiệm thiết kế áp dụng ngay vào thực tế

    Không chỉ dừng lại ở lý thuyết mà còn sử dụng dự án cửa hàng trực tuyến làm ví dụ.

    * Tránh những cạm bẫy của thiết kế sai lầm

    Tại sao ERD quan trọng, tại sao cần chuẩn hóa, và khi nào cần thực hiện phi chuẩn hóa - bạn sẽ nhận ra điều này thông qua thực hành.

    * Bản chất của thiết kế khóa và mối quan hệ

    Khóa tự nhiên vs khóa đại diện, mối quan hệ một-một·một-nhiều·nhiều-nhiều, mối quan hệ định danh vs mối quan hệ không định danh đều được đề cập sâu sắc.

    * Phản ánh xu hướng thiết kế DB mới nhất

    Không dừng lại ở những cuốn sách giáo khoa từ hàng chục năm trước, chúng tôi trình bày phương pháp luận mô hình hóa dữ liệu hiện đại.

    Những điều bạn sẽ học được

    • Phân tích yêu cầu và xác định các thực thể cốt lõi

    • Tạo ERD và quản lý từ điển thuật ngữ

    • Chuẩn hóa (1NF ~ BCNF) và những hạn chế của nó

    • Mô hình hóa vật lý có xem xét chỉ mục và hiệu suất

    • Thực hành thiết kế DB toàn bộ dự án Shopping Mall

    Đối tượng học viên

    • Lập trình viên: Những người muốn thiết kế DB đúng cách trước khi viết code

    • Nhà hoạch định/Phân tích viên: Những người muốn hiểu căn bản về luồng dữ liệu và cấu trúc

    • Người chuẩn bị việc làm: Những ai muốn thể hiện năng lực thiết kế DB khác biệt trong buổi phỏng vấn

    • Lập trình viên Junior: Những người muốn học các nguyên tắc thiết kế có thể áp dụng ngay trong thực tế

    • Lập trình viên Senior/Lead: Những người muốn nâng cao chất lượng thiết kế cơ sở dữ liệu của team

    Mục lục toàn bộ khóa học

    1. Giới thiệu khóa học và tài liệu học tập

    * 1-A. Windows - Hướng dẫn cài đặt MySQL

    * 1-B. macOS - Hướng dẫn cài đặt

    2. Tầm quan trọng của thiết kế

    * Bước đầu tiên trong thiết kế cơ sở dữ liệu

    * Thảm họa do thiết kế sai lầm gây ra

    * Thiết kế 3 giai đoạn - Khái niệm, Logic, Vật lý

    * Tóm tắt

    3. Mô hình hóa khái niệm

    * Phân tích yêu cầu và xác định các yếu tố cốt lõi

    * Entity là gì?

    * Phân loại thực thể 1

    * Phân loại thực thể 2

    * Thuộc tính và định danh

    * Tính bản số và mức độ tham gia

    * Hoàn thành ERD

    * Thực thể liên quan - Giải quyết mối quan hệ nhiều-nhiều

    * Từ điển thuật ngữ

    * Tóm tắt

    4. Mô hình hóa khái niệm - Thực hành

    * Phân tích yêu cầu thực tế

    * Mô hình hóa khái niệm thực tế - Bắt đầu

    * Mô hình hóa khái niệm thực tế - Tạo ERD

    * Mô hình hóa khái niệm thực tế - Soạn thảo từ điển thuật ngữ

    * Tóm tắt

    5. Mô hình hóa logic 1 - Khóa

    * Các loại khóa khác nhau

    * Khóa tự nhiên vs Khóa đại diện1 - Khóa tự nhiên

    * Khóa tự nhiên vs Khóa đại diện2 - Khóa đại diện

    * Khóa tự nhiên vs Khóa đại diện3 - Đánh đổi hiệu suất

    * Khóa tự nhiên vs Khóa đại diện4 - Thiết kế hiện đại

    * Thiết kế khóa phức hợp

    * Quan hệ nhiều-nhiều và khóa phức hợp

    * Tóm tắt

    6. Mô hình hóa logic 2 - Mức độ tham gia và mối quan hệ một-nhiều

    * Mô hình hóa logic - Quan hệ

    * Mức độ tham gia

    * Mối quan hệ một-nhiều (1:N) nhiều-một (N:1) - Vị trí khóa ngoại 1

    * Mối quan hệ một-nhiều (1:N) nhiều-một (N:1) - Vị trí khóa ngoại 2

    * Quan hệ một-nhiều (1:N) nhiều-một (N:1) - Join và hiện tượng phình to dữ liệu

    * Tóm tắt

    7. Mô hình hóa logic 3 - Quan hệ một-một, nhiều-nhiều

    * Mối quan hệ một-một (1:1) - Bắt đầu

    * Mối quan hệ một-một (1:1) - Vị trí khóa ngoại

    * Mối quan hệ một-một (1:1) - [Thực hành] Tính linh hoạt của việc mở rộng mối quan hệ

    * Mối quan hệ một-một (1:1) - FK trong bảng chính

    * Quan hệ nhiều-nhiều (M:N) - Hạn chế của mô hình quan hệ

    * Quan hệ nhiều-nhiều (M:N) - Bảng kết nối

    * Quan hệ nhiều-nhiều (M:N) - Thuộc tính

    * Quan hệ nhiều-nhiều (M:N) - Mô hình hóa khái niệm, logic

    * Tóm tắt

    8. Mô hình hóa logic 4 - Quan hệ định danh, quan hệ không định danh

    * Mối quan hệ nhận dạng vs Mối quan hệ không nhận dạng - Khái niệm

    * Mối quan hệ định danh vs Mối quan hệ không định danh - Một-nhiều (1:N)

    * Vấn đề của mối quan hệ nhận dạng

    * Mối quan hệ định danh vs mối quan hệ không định danh - Truy vấn SQL, hiệu suất

    * Mối quan hệ nhận dạng vs Mối quan hệ không nhận dạng - Một-một (1:1)

    * Mối quan hệ nhận dạng vs mối quan hệ không nhận dạng - Nhiều-nhiều(M:N) 1

    * Mối quan hệ nhận dạng vs Mối quan hệ không nhận dạng - Nhiều-nhiều(M:N) 2

    * Mối quan hệ nhận dạng vs Mối quan hệ không nhận dạng - Xu hướng thiết kế hiện đại

    * Tóm tắt

    9. Mô hình hóa logic - Thực hành

    * Mô hình hóa logic thực tế - Bắt đầu

    * Mô hình hóa logic thực tế - Tạo ERD

    10. Chuẩn hóa

    * Chuẩn hóa - bắt đầu

    * Dạng chuẩn hóa thứ nhất

    * Dạng chuẩn hóa thứ 2

    * Dạng chuẩn hóa thứ 3

    * Dạng chuẩn BCNF

    * Thực tế và chuẩn hóa

    * Tóm tắt

    11. Mô hình hóa vật lý

    * Tổng quan về mô hình hóa vật lý

    * Quy tắc chuyển đổi bảng và cột 1 - Quy tắc cơ bản

    * Quy tắc chuyển đổi bảng và cột 2 - Từ viết tắt và số ít số nhiều

    * Kiểu dữ liệu 1 - Ký tự, số, kiểu PK

    * Kiểu dữ liệu 2 - Kiểu ngày và thời gian

    * Phi chuẩn hóa

    * Tài liệu định nghĩa bảng

    * Tóm tắt

    12. Mô hình hóa vật lý - Thực hành

    * Mô hình hóa vật lý - Bắt đầu thực hành

    * Thiết kế chỉ mục - Thực hành

    * Phi chuẩn hóa - Thực hành

    * Tài liệu định nghĩa bảng của trung tâm thương mại

    * Tạo DDL và DB cho trung tâm thương mại

    * Mô hình vật lý - Tự động tạo ERD

    * Kiểm tra chức năng cửa hàng trực tuyến 1

    * Kiểm tra chức năng cửa hàng trực tuyến 2

    * Tóm tắt

    Cảm ơn bạn.

    4
  • yh님의 프로필 이미지

    Đã chỉnh sửa

    Xin chào. Mọi người

    Cuối cùng thì khóa học nhập môn cơ sở dữ liệu, phần cơ bản hai bài giảng đã được mở.

    Chúng tôi đã quyết định cung cấp khóa học nhập môn cơ sở dữ liệu miễn phí để những người mới bắt đầu tiếp cận cơ sở dữ liệu có thể học mà không cảm thấy áp lực.

    Hướng dẫn thực chiến cơ sở dữ liệu của Kim Young-han

    1. Giới thiệu thực hành cơ sở dữ liệu của Kim Young-han - Từ SQL từng bước một (Đã mở)

    2. Cơ bản Thực hành Cơ sở Dữ liệu của Kim Young-han (Đã mở)

    3. Khóa học thực chiến về cơ sở dữ liệu của Kim Young-han - Phần thiết kế (dự kiến nửa cuối năm 2025)

    4. Khóa học thực chiến về cơ sở dữ liệu của Kim Young-han - Phần nâng cao về tối ưu hiệu suất và các tính năng cao cấp (dự kiến nửa cuối năm 2025)

    Đối tượng khóa học

    Lưu ý rằng bài giảng lần này được thiết kế dễ hiểu không chỉ dành cho các nhà phát triển mà còn cho cả những người làm công tác lập kế hoạch, các chuyên gia phân tích dữ liệu.

    • Nhà phát triển: Dành cho các lập trình viên cấp độ junior, người học tự do, ứng viên đang chuẩn bị tìm việc muốn củng cố nền tảng cơ bản về cơ sở dữ liệu

    • Nhà hoạch định/Chuyên viên marketing: Những người cần ra quyết định dựa trên dữ liệu

    • Data Analyst: Người mới bắt đầu muốn nâng cao kỹ năng SQL

    [Giới thiệu lộ trình từ góc nhìn của nhà phát triển]

    Nếu là một nhà phát triển, tôi khuyên bạn nên theo sát toàn bộ lộ trình.

    Nhiều nhà phát triển sẽ đồng cảm, nhưng cuối cùng thì một ứng dụng tuyệt vời luôn được xây dựng trên nền tảng cơ sở dữ liệu được thiết kế tốt. Bởi vì có những vấn đề mà chỉ riêng mã ứng dụng không bao giờ có thể giải quyết được lại nằm chính xác trong lĩnh vực cơ sở dữ liệu này. Bản đồ học tập này sẽ bổ sung nửa kỹ năng cốt lõi còn thiếu, giúp bạn trở thành một nhà phát triển ở một tầm cao mới.

    Khóa nhập môn: Trước tiên, hãy nắm vững kiến thức cơ bản về cơ sở dữ liệu và SQL thông qua 'khóa nhập môn'.

    Phần Cơ bản: Trong phần cơ bản, chúng ta sẽ đi sâu vào nền tảng cơ bản về cơ sở dữ liệu mà một lập trình viên cấp junior nhất định phải nắm vững.

    • Bạn sẽ sở hữu khả năng giải quyết mọi yêu cầu kinh doanh phức tạp bằng SQL thông qua các câu lệnh JOIN, subquery, UNION và CASE.

    • Nắm vững kiến thức nền tảng cơ bản về tối ưu hóa hiệu suất SQL, thực sự cần thiết trong công việc thực tế, bằng cách hiểu rõ nguyên lý hoạt động của chỉ mục.

    • Hiểu sâu về giao dịch và tính toàn vẹn dữ liệu, bạn có thể tạo ra các ứng dụng ổn định mà dữ liệu không bị hỏng.

    Phần thiết kế: Phần thiết kế sẽ đưa bạn lên một cấp độ cao hơn trong vai trò phát triển phần mềm. Bạn sẽ học cách mà một thiết kế cơ sở dữ liệu tốt có thể quyết định tính dễ bảo trì và khả năng mở rộng của ứng dụng như thế nào, đồng thời phát triển kỹ năng mô hình hóa một cách hệ thống các yêu cầu phức tạp thường gặp trong thực tế công việc.

    Tối ưu hiệu suất và phần tính năng nâng cao: Tối ưu hiệu suất và phần tính năng nâng cao là chặng cuối cùng để trở thành một lập trình viên cấp cao xử lý lưu lượng lớn. Bạn sẽ học cách xác định các điểm nghẽn hiệu suất cơ sở dữ liệu mà không ai khác giải quyết được, đồng thời làm chủ những kỹ thuật nâng cao giúp đẩy giới hạn của dịch vụ lên mức cao nhất.

    Khi bạn làm chủ lộ trình này, các bạn sẽ không còn là một lập trình viên "chỉ đơn thuần triển khai chức năng", mà sẽ trưởng thành thành một lập trình viên thực sự tài năng, hiểu sâu và tối ưu hóa được cả ứng dụng lẫn cơ sở dữ liệu, từ đó có thể tìm ra chìa khóa giải quyết vấn đề trong bất kỳ tình huống nào.

    [Giới thiệu lộ trình từ góc nhìn lập kế hoạch, chuyên viên phân tích dữ liệu]

    Nếu bạn là một người làm công tác hoạch định hoặc phân tích dữ liệu, tôi khuyên bạn nên nghe phần nhập môn và cả phần cơ bản tiếp theo.

    Khóa nhập môn: Sau khi học xong khóa nhập môn để nắm vững kiến thức cơ bản về SQL, bạn sẽ có được tốc độ và sự độc lập để ngay lập tức tìm ra câu trả lời mình muốn, thay vì phải yêu cầu dữ liệu và chờ đợi.

    Phần Cơ bản: Trong phần cơ bản, chúng ta sẽ tiến thêm một bước nữa.

    Sử dụng các câu lệnh SQL nâng cao như JOIN, subquery, UNION, CASE để kết hợp dữ liệu phân tán ở nhiều nơi, xử lý lại theo tiêu chuẩn riêng của bạn và làm sâu sắc thêm quá trình phân tích.

    Chỉ với hai khóa học này, các bạn sẽ trở thành nhân tài cốt lõi có khả năng cải thiện dịch vụ dựa trên dữ liệu, thuyết phục tổ chức và giao tiếp hiệu quả với đội ngũ phát triển.

    Nếu bạn muốn trực tiếp dẫn dắt sản phẩm dựa trên dữ liệu, thì việc học khóa nâng cao 'Phần Thiết kế' để mở rộng hiểu biết về cấu trúc dữ liệu cũng là một lựa chọn tốt.

    Dành cho các anh chị làm công tác hoạch định và phân tích, phần nhập môn và phần cơ bản của lộ trình này sẽ hoàn toàn thay đổi cách làm việc bằng dữ liệu của mọi người.

    Khóa nhập môn - Mục lục phần học

    1. Giới thiệu khóa học và tài liệu học tập

    2. Giới thiệu về cơ sở dữ liệu

    3. Bắt đầu cơ sở dữ liệu

    4. SQL - Quản lý dữ liệu

    5. SQL - Truy vấn và Sắp xếp

    6. SQL - Xử lý dữ liệu

    7. SQL - Tổng hợp và Nhóm dữ liệu

    Phần cơ bản - Mục lục chương

    1. Giới thiệu khóa học và tài liệu học tập

    2. Join 1 - Inner Join

    3. Join 2 - Outer Join và các loại Join khác

    4. Truy vấn con

    5. UNION

    6. Câu lệnh CASE

    7. View (Giao diện)

    8. Chỉ mục 1

    9. Chỉ mục 2

    10. Tính toàn vẹn dữ liệu

    11. Giao dịch

    12. Thủ tục lưu trữ, hàm, trình kích hoạt

    Here are answers to your questions regarding roadmap progress.

    1. Thứ tự cơ bản tiến trình thực hiện lộ trình cơ sở dữ liệu

    - Thứ tự cơ bản là Java -> Cơ sở dữ liệu -> Spring -> Spring Boot và sử dụng JPA.

    2. Thứ tự đề xuất tiến trình theo lộ trình cơ sở dữ liệu

    Trình tự học hiệu quả nhất là học phần giới thiệu và phần cơ bản về cơ sở dữ liệu ngay trước phần Spring DB1 trong lộ trình học Spring.

    Do đó, việc học sẽ được thực hiện theo trình tự sau đây.

    - ...

    - Spring MVC2

    - Nhập môn cơ sở dữ liệu

    - Cơ bản về cơ sở dữ liệu

    - Spring DB Phần 1

    - Spring DB 2

    - ...

    Khi thực hiện lộ trình học sử dụng Spring Boot và JPA, chúng tôi khuyên bạn nên học ít nhất đến phần cơ bản về cơ sở dữ liệu trước khi tiến hành.

    Tôi sẽ tổng hợp và thông báo lại cho bạn một lần nữa về phần thiết kế cơ sở dữ liệu, tối ưu hiệu suất và các tính năng nâng cao sau khi sản phẩm được ra mắt.

    3. Học tập được tiến hành dựa trên mysql phải không? Hay là tiến hành bằng Oracle?

    Phần thực hành sẽ tập trung vào MySQL, nhưng nội dung bài giảng hướng đến việc truyền đạt kiến thức phổ quát bao quát không chỉ MySQL mà còn toàn bộ hệ thống quản trị cơ sở dữ liệu quan hệ (RDBMS). Vì vậy, mục tiêu là đạt được sự hiểu biết rộng rãi, không bị giới hạn trong một hệ cơ sở dữ liệu cụ thể.

    Ví dụ như, trong khóa học này, chúng ta sẽ học cách lái chiếc ô tô mang tên MySQL. Nhưng trọng tâm của chúng ta sẽ không chỉ đơn thuần là học cách vận hành một mẫu xe cụ thể, mà là nắm vững những nguyên lý lái xe cơ bản như ga, phanh, tay lái — những kiến thức cốt lõi [[STRONG_1]](các khái niệm nền tảng của RDBMS)[[/STRONG_1]] mà bạn cần biết khi sử dụng bất kỳ loại ô tô nào [[STRONG_2]](RDBMS)[[/STRONG_2]]. Vì vậy, điều này sẽ rất hữu ích khi bạn làm việc với các hệ quản trị cơ sở dữ liệu khác sau này.

    Cảm ơn bạn.

    1
  • yh님의 프로필 이미지

    Đã chỉnh sửa

    Xin chào tất cả mọi người

    Cuối cùng, hai bài giảng về giới thiệu và cơ bản về cơ sở dữ liệu đã sẵn sàng để mở.

    Cảm ơn bạn đã chờ đợi và ủng hộ chúng tôi trong thời gian dài!

    Ngày phát hành dự kiến là từ ngày 30 tháng 7 đến ngày 1 tháng 8.

    Lộ trình cơ sở dữ liệu thực tế của Kim Young-han

    1. Giới thiệu về cơ sở dữ liệu thực hành của Kim Young-han - từng bước từ SQL (mở)

    2. Cơ sở dữ liệu thực hành của Kim Young-han - Cơ bản (Mở)

    3. Cơ sở dữ liệu thực hành - Thiết kế của Kim Young-han (Dự kiến vào nửa cuối năm 2025)

    4. Cơ sở dữ liệu thực hành của Kim Young-han - Tối ưu hóa hiệu suất và các tính năng nâng cao (Dự kiến vào nửa cuối năm 2025)

    Mục tiêu bài giảng

    Xin lưu ý rằng bài giảng này được thiết kế để dễ hiểu không chỉ đối với các nhà phát triển mà còn đối với các nhà lập kế hoạch và nhà phân tích dữ liệu.

    • Nhà phát triển : Sinh viên năm ba, sinh viên không chuyên ngành, người tìm việc muốn xây dựng nền tảng vững chắc về cơ sở dữ liệu

    • Người lập kế hoạch/Người tiếp thị : Những người cần đưa ra quyết định dựa trên dữ liệu

    • Chuyên viên phân tích dữ liệu : Người mới bắt đầu muốn nâng cao kỹ năng SQL

    [Giới thiệu về lộ trình từ góc nhìn của nhà phát triển]

    Nếu bạn là nhà phát triển, tôi khuyên bạn nên làm theo toàn bộ lộ trình.

    Như nhiều nhà phát triển sẽ đồng ý, các ứng dụng tuyệt vời được sinh ra trên nền tảng cơ sở dữ liệu được thiết kế tốt. Điều này là do có những vấn đề trong lĩnh vực cơ sở dữ liệu mà không bao giờ có thể giải quyết chỉ bằng mã ứng dụng. Lộ trình này sẽ lấp đầy nửa năng lực cốt lõi còn lại và giúp bạn trở thành một nhà phát triển cấp cao hơn.

    Giới thiệu : Đầu tiên, chúng ta sẽ tìm hiểu những kiến thức cơ bản về cơ sở dữ liệu và SQL thông qua phần 'Giới thiệu'.

    Cơ bản : Cơ bản bao gồm các kỹ năng cơ bản về cơ sở dữ liệu cần thiết cho các nhà phát triển mới vào nghề.

    • Bạn sẽ có khả năng giải quyết mọi yêu cầu kinh doanh phức tạp trong SQL bằng cách sử dụng lệnh nối, truy vấn phụ, hợp và câu lệnh case.

    • Bằng cách hiểu đúng các nguyên tắc hoạt động của chỉ mục, bạn sẽ học được những kiến thức cơ bản về tối ưu hóa hiệu suất SQL cần thiết cho mục đích sử dụng thực tế.

    • Hiểu biết sâu sắc về giao dịch và tính toàn vẹn của dữ liệu cho phép bạn xây dựng các ứng dụng mạnh mẽ không làm hỏng dữ liệu.

    Thiết kế : Phần thiết kế sẽ giúp bạn trở thành một nhà phát triển ở cấp độ tiếp theo. Bạn sẽ tìm hiểu cách thiết kế cơ sở dữ liệu tốt quyết định khả năng bảo trì và mở rộng của ứng dụng, đồng thời phát triển khả năng mô hình hóa một cách có hệ thống các yêu cầu phức tạp mà bạn sẽ gặp phải trong thực tế.

    Tối ưu hóa Hiệu suất và Các Tính năng Nâng cao: Tối ưu hóa Hiệu suất và Các Tính năng Nâng cao là cánh cổng cuối cùng để trở thành một nhà phát triển nâng cao xử lý lưu lượng truy cập lớn. Bạn sẽ nắm vững các kỹ thuật tiên tiến để tìm ra các điểm nghẽn hiệu suất cơ sở dữ liệu mà không ai khác có thể giải quyết và vượt qua giới hạn của dịch vụ của bạn.

    Bằng cách nắm vững lộ trình này, bạn sẽ phát triển từ một "nhà phát triển đơn thuần chỉ triển khai các tính năng" thành một nhà phát triển thực sự có năng lực, hiểu sâu sắc và tối ưu hóa cả ứng dụng và cơ sở dữ liệu, đồng thời có thể tìm ra giải pháp cho mọi vấn đề.

    [Giới thiệu lộ trình từ góc nhìn của nhà phân tích dữ liệu và lập kế hoạch]

    Nếu bạn là người lập kế hoạch hoặc phân tích dữ liệu, tôi khuyên bạn nên nghe phiên bản giới thiệu và cơ bản.

    Bắt đầu: Khi bạn đã nắm vững những kiến thức cơ bản về SQL với khóa Bắt đầu, bạn sẽ có thể nhanh chóng và độc lập để có được câu trả lời bạn cần ngay lập tức mà không cần phải yêu cầu dữ liệu và chờ đợi.

    Kiến thức cơ bản : Trong phần Kiến thức cơ bản, chúng ta sẽ tiến thêm một bước nữa.

    Bằng cách sử dụng SQL nâng cao như lệnh nối, truy vấn phụ, hợp nhất và câu lệnh case, bạn có thể kết hợp dữ liệu nằm rải rác ở nhiều nơi khác nhau, xử lý lại theo tiêu chí của riêng bạn và tăng thêm chiều sâu cho quá trình phân tích.

    Chỉ riêng hai khóa học này sẽ giúp bạn trở thành người chủ chốt có thể cải thiện dịch vụ dựa trên dữ liệu, thuyết phục các tổ chức và giao tiếp trôi chảy với các nhóm phát triển.

    Nếu bạn muốn tự mình quản lý một sản phẩm dựa trên dữ liệu, bạn có thể tham gia khóa học 'Thiết kế' như một khóa học nâng cao để mở rộng hiểu biết của mình về cấu trúc dữ liệu.

    Đối với các nhà lập kế hoạch và phân tích, lộ trình cơ bản và giới thiệu này sẽ thay đổi hoàn toàn cách bạn làm việc với dữ liệu.

    Giới thiệu - Mục lục

    1. Giới thiệu bài giảng và tài liệu giảng dạy

    2. Giới thiệu về cơ sở dữ liệu

    3. Khởi động cơ sở dữ liệu

    4. SQL - Quản lý dữ liệu

    5. SQL - Truy vấn và Sắp xếp

    6. SQL - Xử lý dữ liệu

    7. SQL - Tổng hợp và Nhóm

    Cơ bản - Mục lục

    1. Giới thiệu bài giảng và tài liệu giảng dạy

    2. Join 1 - Inner Join

    3. Join 2 - Outer Join và các Join khác

    4. Truy vấn con

    5. LIÊN HIỆP

    6. Câu lệnh CASE

    7. Xem

    8. Mục lục 1

    9. Mục lục 2

    10. Tính toàn vẹn dữ liệu

    11. Giao dịch

    12. Thủ tục lưu trữ, hàm và trình kích hoạt

    Chúng tôi đã biên soạn và trả lời các câu hỏi về tiến độ thực hiện lộ trình.

    1. Trình tự cơ bản của tiến trình lộ trình cơ sở dữ liệu

    - Thứ tự cơ bản là Java -> Database -> Spring -> Spring Boot và sử dụng JPA.

    2. Thứ tự đề xuất của tiến trình lộ trình cơ sở dữ liệu

    Tiến trình hiệu quả nhất là nghiên cứu Giới thiệu về Cơ sở dữ liệu và Nguyên tắc cơ bản ngay trước Spring DB1 trên lộ trình Spring.

    Vì vậy, quá trình học tập như sau:

    - ...

    - Spring MVC2

    - Giới thiệu về cơ sở dữ liệu

    - Cơ bản về cơ sở dữ liệu

    - Spring DB Phần 1

    - Spring DB Phần 2

    - ...

    Khi tiến hành lộ trình sử dụng Spring Boot và JPA, bạn nên tìm hiểu ít nhất những kiến thức cơ bản về cơ sở dữ liệu và tiến hành.

    Chúng tôi sẽ cung cấp tổng quan toàn diện hơn về thiết kế cơ sở dữ liệu, tối ưu hóa hiệu suất và các tính năng nâng cao khi chúng được phát hành.

    3. Bạn sẽ học dựa trên MySQL hay Oracle?

    Mặc dù chương trình đào tạo thực hành tập trung vào MySQL, nội dung bài giảng tập trung vào việc truyền đạt kiến thức tổng quát không chỉ về MySQL mà còn về toàn bộ RDBMS. Do đó, mục tiêu là đạt được hiểu biết rộng rãi, không bị giới hạn trong một cơ sở dữ liệu cụ thể.

    Để so sánh, trong bài giảng này, chúng ta sẽ học cách lái một chiếc xe hơi tên là MySQL. Tuy nhiên, chúng ta sẽ không chỉ học cách vận hành một mẫu xe cụ thể, mà còn tập trung vào việc học các nguyên lý lái cơ bản (các khái niệm cốt lõi của RDBMS) mà bạn cần biết bất kể bạn lái loại xe nào (RDBMS), chẳng hạn như chân ga, phanh và vô lăng. Vì vậy, điều này sẽ rất hữu ích khi làm việc với các RDBMS khác.

    Cảm ơn

    17
  • yh님의 프로필 이미지

    Đã chỉnh sửa

    Xin chào. Mọi người ơi, cuối cùng chúng ta cũng đã mở bài giảng cuối cùng của lộ trình Java, Java nâng cao Phần 3.

    Liên kết: https://inf.run/iZKKT

    Java thực hành của Kim Young-han - Phần 3 nâng cao, Lambda, Stream, Lập trình hàm

    • Thời gian giảng bài: 16 giờ 40 phút

    • Số bài giảng: 97

    • Tài liệu PDF bài giảng: 387 trang

    [Giới thiệu khóa học]

    Tìm hiểu cú pháp và kỹ thuật mới thường được sử dụng trong Java hiện đại, chẳng hạn như lambda, luồng và lập trình hàm. Trong bài giảng này, tôi sẽ hướng dẫn bạn cách áp dụng và sử dụng các công nghệ như lambda, luồng và lập trình hàm vào thực tế, không chỉ đơn thuần là hiểu biết về chúng.

    [Tóm tắt nội dung bài giảng]

    Nội dung bài giảng chính như sau.

    1. Tại sao cần có Lambda

    Tìm hiểu cách lambda đóng vai trò quan trọng trong Java hiện đại, vừa tạo ra mã sạch, súc tích vừa dễ dàng tận dụng các tính năng nâng cao như xử lý song song.

    2. Lambda

    Bạn sẽ học định nghĩa, cú pháp và mẹo sử dụng lambda thông qua các ví dụ mã thực tế. Bạn sẽ có thể hiểu rõ phương pháp này khác với các phương pháp hiện có như thế nào và điều gì làm cho nó hấp dẫn.

    3. Giao diện chức năng

    Giao diện chức năng, một khái niệm thiết yếu được sử dụng với lambda! Chúng tôi sẽ giải thích tại sao lập trình chức năng lại khả thi và cách sử dụng dễ dàng các giao diện chức năng khác nhau được tích hợp sẵn trong API chuẩn Java.

    4. Sử dụng Lambda

    Làm thế nào chúng ta có thể áp dụng lambda vào mã thực tế? Hãy cùng tìm hiểu cách sử dụng cốt lõi của lambda để đơn giản hóa các mẫu lặp lại và logic phức tạp thông qua các ví dụ.

    5. Lambda so với Lớp ẩn danh

    Chúng tôi so sánh và phân tích trong những tình huống nào lambda hiệu quả hơn và trong những trường hợp nào nên sử dụng các lớp ẩn danh.

    6. Tài liệu tham khảo phương pháp

    Cú pháp tham chiếu phương thức được thêm vào Java 8 đưa tính sạch sẽ của lập trình hàm lên một tầm cao mới. Chúng tôi sẽ chỉ cho bạn cách cú pháp tham chiếu phương thức hoạt động và cung cấp một số ví dụ thực tế về cách sử dụng nó.

    7. Stream API1 - Cơ bản

    Stream API đưa ra một mô hình mới để làm việc với các bộ sưu tập Java cùng với lambda. Chúng tôi đã sắp xếp cấu trúc luồng và cách sử dụng cơ bản theo cách dễ hiểu ngay cả với người mới bắt đầu.

    8. Stream API2 - Tính năng

    Hãy cùng xem xét kỹ hơn các tính năng cốt lõi mà luồng cung cấp, chẳng hạn như lọc, ánh xạ, sắp xếp và thu gọn. Bạn sẽ học cách viết code trực quan và ngắn gọn hơn.

    9. Stream API3 - Bộ sưu tập

    Tìm hiểu khái niệm Collector, được sử dụng trong các luồng để thu thập và xử lý dữ liệu hiệu quả. Bạn có thể học các kỹ năng cần thiết để sử dụng thực tế, chẳng hạn như collect(), nhóm và phân vùng.

    10. Tùy chọn

    Chúng ta hãy sử dụng Optional một cách hợp lý để giải quyết vấn đề null một cách rõ ràng. Chúng tôi đề cập đến nhiều cách khác nhau để ngăn ngừa các vấn đề NPE thường gặp trong thực tế, chẳng hạn như isPresent(), orElse(), orElseThrow(), v.v.

    11. Phương pháp mặc định

    Chúng ta hãy cùng xem xét một khía cạnh mới của giao diện Java: phương thức mặc định.

    Tìm hiểu các phương pháp sử dụng đúng đắn, cùng với cách duy trì khả năng tương thích khi mở rộng giao diện.

    12. Dòng chảy song song

    Xử lý song song để có hiệu suất cao! Từ nhóm ForkJoin, tìm hiểu cách sử dụng đa lõi thông qua API luồng và các biện pháp phòng ngừa có thể phát sinh trong các luồng song song.

    13. Lập trình hàm

    Tất cả các tính năng được thêm vào kể từ Java 8, chẳng hạn như lambda, API luồng và Optional, đều phản ánh mô hình lập trình chức năng. Chúng tôi sẽ hướng dẫn bạn cách viết mã hiệu quả hơn bằng cách kết hợp ngôn ngữ hướng đối tượng với mô hình chức năng.

    Cảm ơn

    4

2.519.339 ₫