inflearn logo

Cấu trúc và nguyên lý của Kernel Linux: Debugging - Thực hành nâng cao [Tác giả trực tiếp giảng dạy Phần 1-3]

Tác giả của cuốn sách "Cấu trúc và nguyên lý của nhân Linux học qua thực hành debugging" sẽ giải thích một cách bài bản về kỹ năng debug memory dump tiên tiến nhất của nhân Linux phiên bản mới nhất (v6.1), vốn được sử dụng nhiều nhất trong phần mềm hệ thống.

(5.0) 13 đánh giá

328 học viên

Độ khó Trung cấp trở lên

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

trace32
trace32
Linux
Linux
linux-kernel
linux-kernel
Operating System
Operating System
debugging
debugging
trace32
trace32
Linux
Linux
linux-kernel
linux-kernel
Operating System
Operating System
debugging
debugging

Bạn sẽ nhận được điều này sau khi học.

  • Gỡ lỗi bản sao lưu bộ nhớ (memory dump) của nhân Linux bằng chương trình TRACE32 và Crash Utility

  • Các trường hợp nghiên cứu (case study) đa dạng có thể gặp trong quá trình phát triển dự án thực tế

  • boot-time ftrace tracer

  • Chạy chương trình Crash Utility để gỡ lỗi các cấu trúc dữ liệu chính của nhân Linux

  • Chạy chương trình TRACE32 để gỡ lỗi các cấu trúc dữ liệu chính của nhân Linux

<Thông báo>

1. Phát hành mã giảm giá 30% kỷ niệm cột mốc 200 học viên 

Để kỷ niệm cột mốc vượt qua 200 học viên (Cấu trúc và nguyên lý của Linux Kernel), chúng tôi xin phát hành mã giảm giá 30%. Xin cảm ơn các bạn. Số lượng có hạn cho 200 người đầu tiên.

2. Hướng dẫn lộ trình 🎯

Khóa học lần này <Cấu trúc và nguyên lý của Linux Kernel: Debugging - Advanced Thực chiến [Tác giả trực giảng Phần 1-3]> là khóa học nằm trong lộ trình 'Linux kernel - basic course dành cho nhà phát triển phần mềm hệ thống'.

Đối với những ai muốn tìm hiểu các chức năng chính cấu thành nên nhân Linux một cách hệ thống, việc tận dụng lộ trình học tập (giảm giá 30% cho toàn bộ khóa học) sẽ rất hữu ích.).

Các lĩnh vực như bán dẫn hệ thống, ô tô, v.v.

Nhân kơ-nen Linux mà các nhà phát triển phần mềm hệ thống nhất định phải biết


Hệ điều hành được sử dụng nhiều nhất trong tất cả các thiết bị IT là gì? Đó chính là hệ điều hành Linux. Nó đang được sử dụng trong điện thoại thông minh, TV kỹ thuật số, hệ thống giải trí trên máy bay và máy chủ. Các công ty bán dẫn hệ thống sử dụng Linux (Linux device driver) để điều khiển phần cứng do chính họ thiết kế. Ngoài ra, Linux cũng đang được sử dụng rộng rãi trong các linh kiện khác nhau (thông tin giải trí, tự hành, viễn thông) cấu thành nên xe điện (Automotive).

Cốt lõi của hệ điều hành Linux chính là nhân Linux (Linux Kernel). Cùng với kiến trúc Armv8-A, nhân Linux có thể được xem là nội dung đòi hỏi kiến thức nền tảng cần thiết nhất trong ngành phần mềm hệ thống hiện nay.

Các nhà phát triển phần mềm hệ thống Linux, lập trình viên hệ thống nhúng Linux (BSP) hãy chú ý!

Nhà phát triển trẻ (Junior Developer) trong lĩnh vực phần mềm hệ thống Linux, bao gồm các lĩnh vực bán dẫn hệ thống và xe điện (tự hành, giải trí đa phương tiện)

Người đang chuẩn bị xin việc muốn làm việc trong lĩnh vực phát triển phần mềm hệ thống Linux như bán dẫn hệ thống và xe điện.

✅ Sinh viên có nguyện vọng học cao học trong lĩnh vực phần mềm hệ thống Linux (bộ nhớ, hệ thống tệp, hệ điều hành) in the field of Linux system software (memory, file systems, operating systems)

Các nhà phát triển từ các lĩnh vực khác đang muốn chuyển đổi sự nghiệp sang lĩnh vực phần mềm hệ thống Linux to the Linux system software field

Tuy nhiên, nhân Linux giống như một bức tường khổng lồ đối với những người mới bắt đầu trong lĩnh vực phần mềm hệ thống. Những người mới bắt đầu chắc hẳn đã từng có trải nghiệm bỏ cuộc nhiều lần khi đang học về nhân Linux. Phiên bản nhân Linux vốn đã khó nay lại càng trở nên phức tạp hơn khi được nâng cấp. Sau năm 2024, phiên bản nhân Linux đang được nâng cấp lên v6.6 trở lên, khiến rào cản gia nhập ngày càng cao hơn.

Các nhà phát triển phần mềm hệ thống Linux trong nhiều lĩnh vực khác nhau, bao gồm cả lĩnh vực bán dẫn hệ thống và xe điện, đều biết rằng việc hiểu rõ nhân (kernel) Linux là điều cần thiết để nâng cao năng lực phát triển. Tuy nhiên, họ đang gặp khó khăn trong việc xác định nên học nhân Linux như thế nào và quan trọng hơn hết là cần phải nắm vững những nội dung gì trong thực tế công việc.

Năng lực phát triển mà các nhà phát triển phần mềm hệ thống Linux muốn nâng cao nhất là gì?

Kỹ năng thực tế mà các nhà phát triển phần mềm hệ thống Linux muốn học nhất là gì? Đó chính là kỹ năng debugging. Vì debugging tỷ lệ thuận với khả năng giải quyết vấn đề, nên họ luôn muốn nâng cao năng lực này. Mặc dù có rất nhiều blog và tài liệu về Linux kernel, nhưng hầu như không có tài liệu nào hướng dẫn cách giải quyết vấn đề một cách hệ thống bằng các kỹ thuật debugging mới nhất.

Vì vậy, trong chương 3 'Gỡ lỗi và học mã nguồn' của cuốn sách 'Cấu trúc và nguyên lý của nhân Linux học qua gỡ lỗi' mà tôi đã viết, tôi có đề cập đến nội dung về gỡ lỗi.

Điểm khác biệt của bài giảng

Khóa học lần này bao gồm những nội dung chưa từng được đề cập trên YouTube hay bất kỳ nền tảng bài giảng nào trước đây! Khóa học sẽ bao gồm các phương pháp gỡ lỗi (debugging) nhân Linux mới nhất và nhiều nghiên cứu tình huống (case study) đa dạng. Ngoài ra, khóa học cũng giới thiệu cách gỡ lỗi cấu trúc dữ liệu của nhân thông qua kết xuất bộ nhớ (memory dump) nhân Linux. Những người tham gia khóa học này có thể tải xuống chương trình giáo dục (TRACE32) để trực tiếp thực hành.

1. Tổng hợp các phương pháp debug gần gũi nhất với việc phát triển thực tế

Kỹ năng công việc mà các sinh viên đang chuẩn bị xin việc hoặc các lập trình viên mới vào nghề muốn biết nhất chính là cách gỡ lỗi (debugging) bằng công cụ nào và thực hiện như thế nào. Trong bài giảng này, tôi sẽ giới thiệu phương pháp gỡ lỗi cấu trúc dữ liệu của Kernel bằng cách sử dụng 'Kernel Memory Dump' - một phương pháp gỡ lỗi tiên tiến nhất.

2. Giới thiệu các phương pháp gỡ lỗi mà các nhà phát triển Linux Kernel BSP tại các công ty bán dẫn hệ thống toàn cầu đang thực hiện

Ngành công nghiệp bán dẫn hệ thống đang trỗi dậy mạnh mẽ trong thời gian gần đây. Vậy các nhà phát triển Linux Kernel BSP tại Qualcomm - một trong những công ty bán dẫn hệ thống hàng đầu thế giới với năng lực công nghệ vượt trội - sẽ debug trình điều khiển (driver) nhân Linux theo cách nào?

Nội dung này sẽ được đề cập trong bài giảng lần này. Chúng ta sẽ sử dụng trình mô phỏng TRACE32 để gỡ lỗi các cấu trúc dữ liệu của nhân (kernel) từ bản sao lưu bộ nhớ (memory dump), đồng thời tải bản sao lưu bộ nhớ bằng crash-utility để phân tích các hoạt động chính của nhân Linux.

3. Giới thiệu phương pháp debug ftrace mới nhất 'boot-time tracer'

Khi phiên bản nhân kernel Linux được nâng cấp, các phương pháp gỡ lỗi cũng đang dần phát triển. Trong ftrace, tính năng 'boot-time tracer' đã được đề xuất, cho phép truy vết hoạt động của kernel trong quá trình khởi động chỉ bằng cách thay đổi các thiết lập đơn giản. Trong bài giảng này, chúng tôi sẽ giới thiệu nhiều cách khác nhau để tận dụng 'boot-time tracer'.

4. Cung cấp chương trình mô phỏng TRACE32 (dùng cho giáo dục) và bản dump nhân Linux

Trình gỡ lỗi và chương trình TRACE32 được sử dụng rộng rãi trong toàn bộ quá trình phát triển phần mềm hệ thống Linux. Chương trình TRACE32 chỉ có thể chạy khi có bản quyền. Nếu tham gia khóa học này, bạn có thể tải xuống chương trình mô phỏng TRACE32 dành cho giáo dục từ 'Tài liệu bài giảng Inflearn' để trực tiếp sử dụng chương trình mô phỏng TRACE32 và gỡ lỗi bản sao lưu bộ nhớ (memory dump). Ngoài ra, bạn cũng có thể tải xuống 3 bản sao lưu bộ nhớ hạt nhân (kernel memory dump) để thực hành.

Bạn sẽ học được những nội dung này

Giải thích lý do tại sao phân tích dump lại cần thiết trong các dự án thực tế. Giới thiệu về Crash-Utility và TRACE32, những công cụ được sử dụng rộng rãi trong các dự án thực tế.

Giải thích chi tiết cách thức thực hiện debugging trong các dự án thực tế bằng cách sử dụng Crash-Utility và TRACE32.

Trong khi giải thích nội dung cuốn sách về TRACE32, chúng ta sẽ trực tiếp chạy TRACE32 để thực hiện gỡ lỗi. Trong khi nghe giảng, bạn có thể tải xuống chương trình TRACE32 dành cho giáo dục (dành cho trình mô phỏng) để vừa theo dõi vừa thực hành cùng lúc.

Hướng dẫn cách cài đặt và chạy chương trình TRACE32 (bản giáo dục, trình giả lập) đã được tải lên trong 'Tài liệu bài giảng'. Ngoài ra, hướng dẫn chi tiết cách tải bản dump bộ nhớ nhân (kernel memory dump) đã được tải lên trong 'Tài liệu bài giảng' và cách nạp bản dump bộ nhớ nhân đó vào chương trình TRACE32.


Giới thiệu 3 phương pháp thiết lập ftrace và giải thích chi tiết lý do tại sao cần đến boot-time ftrace tracer.

Giải thích cách thiết lập boot-time ftrace tracer và phân tích chi tiết mã nguồn nhân (kernel) liên quan.

Giới thiệu cách thiết lập dòng lệnh khởi động (boot command line) và phân tích chi tiết các log ftrace liên quan. Giới thiệu cách trích xuất log hạt nhân (kernel log) thành log ftrace và cách phân tích các thông điệp liên quan.

Phân tích chi tiết ftrace message và giải thích các nguyên lý hoạt động liên quan. Ngoài ra, cũng phân tích kỹ lưỡng mã nguồn kernel liên quan đến initcall.

Chạy chương trình Crash Utility để debug các cấu trúc dữ liệu chính của Linux kernel. Đồng thời phân tích mã nguồn driver kernel liên quan và giải thích chi tiết nguyên lý hoạt động.


Giải thích chi tiết nguyên lý hoạt động của các tính năng liên quan trong khi gỡ lỗi bản sao lưu bộ nhớ (kernel dump) của nhân Linux bằng chương trình Crash Utility.


Giới thiệu các nghiên cứu điển hình (case study) đa dạng có thể gặp phải trong quá trình phát triển dự án thực tế. Phân tích chi tiết các nhật ký hạt nhân (kernel log) liên quan và nguyên lý hoạt động của hạt nhân. Ngoài ra, nội dung cũng giải thích về cách giải quyết vấn đề thông qua việc gỡ lỗi (debugging).


Giải thích các nghiên cứu điển hình (case study) về vấn đề ô nhiễm ngăn xếp (stack corruption) và rò rỉ bộ nhớ (memory leak) có thể gặp phải trong quá trình phát triển dự án thực tế.

Giải thích về cấu trúc và dữ liệu của hệ thống bộ nhớ trong nhân Linux thông qua việc gỡ lỗi bằng Crash Utility.

Giải thích các lệnh chính của TRACE32 (ép kiểu địa chỉ bộ nhớ) đã được giới thiệu trong sách. Giải thích chi tiết cách sử dụng các lệnh liên quan trực tiếp bằng chương trình TRACE32.

Giải thích thông tin symbol của bảng system call và sử dụng lệnh TRACE32 (d.v %y.ll sys_call_table) để kiểm tra thông tin hàm xử lý system call (system call handler). Trong các bài giảng tiếp theo, tôi sẽ giải thích các cấu trúc dữ liệu cốt lõi của Linux kernel cùng với các lệnh chính của TRACE32.

Giải thích chi tiết các lệnh thực tế được sử dụng trong quá trình thực hiện dự án (tùy chọn %l: xuất thông tin thanh ghi).

Cung cấp chương trình TRACE32 dùng cho giáo dục và 3 bản dump bộ nhớ nhân Linux (Linux kernel memory dump)

Trong bài giảng này, chúng tôi sẽ giới thiệu phương pháp gỡ lỗi tiên tiến nhất (Advanced) trong ngành phần mềm hệ thống Linux - phương pháp mà các nhà phát triển nhân Linux tại Qualcomm, một công ty bán dẫn hệ thống hàng đầu thế giới, đang sử dụng để gỡ lỗi - đó là phương pháp gỡ lỗi bản sao bộ nhớ nhân Linux (Linux kernel memory dump). Chúng tôi cung cấp các phương pháp gỡ lỗi nâng cao để có thể gỡ lỗi bộ nhớ nhân Linux bằng cách sử dụng các chương trình gỡ lỗi như TRACE32 và Crash utility.

✅ Bạn có thể tải chương trình TRACE32 dành cho giáo dục (phiên bản mô phỏng) từ chương trình giảng dạy. Học viên có thể sử dụng chương trình TRACE32 để tải bản sao lưu bộ nhớ nhân (kernel memory dump) được cung cấp trong bài giảng này và thực hành gỡ lỗi cùng lúc.

✅ Bạn có thể trực tiếp tải xuống Crash Utility, một dự án mã nguồn mở, và tải bản sao lưu bộ nhớ nhân (kernel memory dump) để thực hiện gỡ lỗi. Bằng cách tận dụng các tính năng đa dạng mà Crash Utility hỗ trợ, bạn có thể trực tiếp gỡ lỗi các cấu trúc dữ liệu hoặc call stack của nhân hệ điều hành.

Dựa trên kinh nghiệm viết sách và giảng dạy,
tôi sẽ truyền đạt sâu sắc và chi tiết hơn bất kỳ ai!

Trong lĩnh vực phần mềm hệ thống trong nước, tôi là tác giả duy nhất và chưa từng có tiền lệ đã viết cả sách về 'Linux Kernel' và sách về 'Kiến trúc Arm (Armv8-A, Armv7-A)'. Ngoài ra, tôi còn là một nhà phát triển đang làm việc thực tế, nắm bắt rõ nhất các xu hướng phần mềm hệ thống mới nhất (xe điện, bán dẫn hệ thống - phần mềm hệ thống), đồng thời là một nhà giáo dục hoạt động tích cực nhất trong việc truyền bá kiến thức trong lĩnh vực phần mềm hệ thống.

  • Tác giả cuốn 'Cấu trúc và nguyên lý của nhân Linux học qua debug' (Giải thưởng Sách hay của Viện Hàn lâm Khoa học Quốc gia Hàn Quốc năm 2021)

  • Tác giả cuốn sách 'Cấu trúc và nguyên lý của kiến trúc Arm dành cho phát triển phần mềm hệ thống' (Giải thưởng Sách hay của Viện Hàn lâm Khoa học Quốc gia Hàn Quốc năm 2024)

  • Giảng viên chính của 'Programmers Dev Course: Chuyên gia Hệ thống Linux và Kernel'

  • Tháng 6 năm 2022, Hội nghị Tổng hợp Khoa học Máy tính Hàn Quốc (KCC2022) - Thuyết trình hướng dẫn [Chinh phục Linux Kernel bằng ftrace]

  • Giảng viên nội bộ về 'Linux Kernel' và 'Kiến trúc Armv8' tại LG Electronics (bao gồm cả các nhà phát triển trong và ngoài nước) - (2020~2024)


Tôi có thể tự tin nói rằng mình là một nhà giáo dục có khả năng giải thích các chức năng chính cấu thành nên nhân Linux tốt hơn bất kỳ ai khác tại Hàn Quốc.

Lưu ý trước khi học

Lưu ý khi sử dụng chương trình TRACE32

  • Chương trình đào tạo TRACE32 chỉ có thể thực hành trong môi trường Windows.

  • Chương trình đào tạo TRACE32 chỉ có thể được sử dụng cho mục đích 'giáo dục' và không được sửa đổi hoặc phân phối cho mục đích thương mại.

  • Nếu có bất kỳ thắc mắc nào trong quá trình sử dụng chương trình đào tạo TRACE32 của bài giảng lần này, nhất định hãy hỏi người hướng dẫn.

Môi trường thực hành và tài liệu bài giảng được cung cấp

  • Hệ điều hành và phiên bản (OS): Raspberry Pi (Raspbian), Linux Kernel v6.1

  • Tài liệu hướng dẫn cài đặt và chương trình đào tạo TRACE32 (Bài giảng)

  • 3 bản kết xuất bộ nhớ nhân Linux (vmcore)


Kiến thức tiên quyết và lưu ý

  • Sẽ rất tốt nếu bạn biết sơ lược về cách thức hoạt động của Linux.

  • Tốt nhất bạn nên nghe bài giảng 'Cấu trúc và nguyên lý của Linux Kernel: Debugging - Basic [Tác giả trực tiếp giảng dạy Phần 1-2]' trước.

  • Nếu bạn đã có kiến thức về hệ điều hành hoặc cấu trúc máy tính, bạn sẽ có thể theo học khóa học này một cách thoải mái hơn.

  • Không cần kiến thức chuyên sâu về nhân Linux (Linux kernel).

Khuyến nghị cho
những người này

Khóa học này dành cho ai?

  • Nhà phát triển trẻ muốn nâng cao năng lực trong lĩnh vực phần mềm hệ thống, bao gồm bán dẫn hệ thống và lĩnh vực xe điện (tự hành, thông tin giải trí)

  • Người đang chuẩn bị tìm việc muốn phát triển phần mềm hệ thống trong các lĩnh vực như bán dẫn hệ thống và xe điện.

  • Sinh viên đại học có mục tiêu học cao học trong lĩnh vực phần mềm hệ thống (bộ nhớ, hệ thống tệp, hệ điều hành)

  • Nhà phát triển từ lĩnh vực khác muốn chuyển hướng sự nghiệp sang lĩnh vực phần mềm hệ thống

Cần biết trước khi bắt đầu?

  • Hệ điều hành

  • Ngôn ngữ C

  • Kiến trúc máy tính

Xin chào
Đây là austinkim

6,316

Học viên

241

Đánh giá

96

Trả lời

4.9

Xếp hạng

22

Các khóa học

Tác giả toàn cầu & Nhà phát triển phần mềm hệ thống Linux (Kiến trúc Arm, RISC-V)

Là tác giả vô tiền khoáng hậu trong lĩnh vực phần mềm hệ thống tại Hàn Quốc, người đã viết các cuốn sách về 'Kiến trúc Arm (Armv8-A, Armv7-A)' và 'Linux Kernel' (cả hai cuốn sách đều được Viện Hàn lâm Khoa học Quốc gia Hàn Quốc bình chọn là Sách ưu tú), đồng thời là tác giả toàn cầu đầu tiên tại Hàn Quốc viết cuốn sách tiếng Anh "Reverse Engineering Armv8-A Systems" thông qua nhà xuất bản nước ngoài (Packt). Trên hết, ông là một nhà phát triển đang làm việc thực tế, người nắm rõ nhất các xu hướng phần mềm hệ thống mới nhất (xe điện, bán dẫn hệ thống - phần mềm hệ thống). Ngoài ra, ông còn là một nhà giáo dục hoạt động tích cực nhất trong việc truyền bá kiến thức trong lĩnh vực phần mềm hệ thống.

  • Tác giả cuốn sách (tiếng Anh) 'Reverse Engineering Armv8-A Systems: A practical guide to Kernel, Firmware, and TrustZone analysis', (Nhà xuất bản Packt), (Packt Publishing)

  • Tác giả cuốn 'Cấu trúc và nguyên lý của kiến trúc Arm dành cho phát triển phần mềm hệ thống' (Giải thưởng Sách hay của Viện Hàn lâm Khoa học Quốc gia Hàn Quốc năm 2024))

  • Tác giả cuốn sách 'Cấu trúc và nguyên lý của nhân Linux học qua việc gỡ lỗi' (Giải thưởng Sách hay của Viện Hàn lâm Khoa học Quốc gia Hàn Quốc năm 2021))

  • Giảng viên chính của 'Programmers Dev Course: Chuyên gia Hệ thống Linux và Kernel'

  • Tháng 6 năm 2022, Hội nghị Tổng hợp Khoa học Máy tính Hàn Quốc (KCC2022) - Thuyết trình hướng dẫn [Chinh phục Linux Kernel bằng ftrace]

  • Giảng viên nội bộ của LG Electronics về 'Linux Kernel' và 'Kiến trúc Armv8' (bao gồm các nhà phát triển trong và ngoài nước) - (2020~Hiện tại)

Tôi có thể tự tin khẳng định rằng mình là một giảng viên có khả năng giải thích về Linux Kernel và kiến trúc Arm (Armv8-A, Armv7-A) tốt hơn bất kỳ ai khác tại Hàn Quốc.

Liên hệ giảng dạy: austindh.kim@gmail.com

Lộ trình chính 🎯

'Arm dành cho nhà phát triển phần mềm hệ thống - khóa học cơ bản'

'Arm dành cho nhà phát triển phần mềm hệ thống - khóa học nâng cao'

Linux kernel dành cho nhà phát triển phần mềm hệ thống - khóa học cơ bản

Thêm

Chương trình giảng dạy

Tất cả

42 bài giảng ∙ (5giờ 39phút)

Tài liệu khóa học:

Tài liệu bài giảng
Ngày đăng: 
Cập nhật lần cuối: 

Đánh giá

Tất cả

13 đánh giá

5.0

13 đánh giá

  • aceoftop1975님의 프로필 이미지
    aceoftop1975

    Đánh giá 121

    Đánh giá trung bình 5.0

    5

    100% đã tham gia

    2024/07/30/Thứ Ba 20:25 Tôi rất thích bài giảng. Bây giờ tôi đã nghe bài giảng về lộ trình của Donghyun Kim. Tôi cũng rất ấn tượng với lời khuyên rằng tất cả các bài giảng đều cung cấp thông tin và kiến ​​thức mới, đồng thời phải mất khoảng 15 ngày để giải quyết vấn đề OOM (hết bộ nhớ). Cảm ơn bạn đã chia sẻ kinh nghiệm cá nhân và giải thích linux/arm khó hiểu một cách dễ hiểu. Tuổi tôi hiện nay là 50 (sinh năm 1975). T.T Khi còn trẻ, tôi đã mua rất nhiều sách về Linux và nỗ lực rất nhiều nhưng vẫn không tiến bộ gì. Nhưng sau khi nghe Donghyun Kim giảng, tôi đã học được rất nhiều điều. Tôi chỉ có thời gian vào cuối tuần, nhưng tuần này tôi tận dụng thời gian nghỉ phép hàng năm để tham dự tất cả các buổi giảng. Mình đã nghe rất nhanh từ thứ bảy ngày 27 đến giờ nên chắc phải nghe lại thôi.^_^; Thời gian khóa học: Vì không giới hạn nên tôi nghĩ mình sẽ tiếp tục nghe nếu muốn nghe lại sau một năm. Bây giờ tôi sẽ đọc kỹ cuốn sách linux/arm mà tôi đã mua dưới dạng sách điện tử. Vì không có Jeju nên tôi không thể truyền tải được cảm xúc của mình. Bây giờ tôi cảm thấy mình có thể tiến bộ từng chút một với Linux. Cảm ơn bạn vì bài giảng tuyệt vời. Nếu bạn tiếp tục soạn bài giảng, tôi sẽ lắng nghe cẩn thận. Chúc một ngày tốt lành! Cảm ơn

    • redkyo008975님의 프로필 이미지
      redkyo008975

      Đánh giá 4

      Đánh giá trung bình 5.0

      5

      100% đã tham gia

      • yerinjeon9731님의 프로필 이미지
        yerinjeon9731

        Đánh giá 3

        Đánh giá trung bình 5.0

        5

        62% đã tham gia

        • heecheolsong님의 프로필 이미지
          heecheolsong

          Đánh giá 21

          Đánh giá trung bình 5.0

          5

          31% đã tham gia

          • kdpark5057님의 프로필 이미지
            kdpark5057

            Đánh giá 2

            Đánh giá trung bình 5.0

            5

            100% đã tham gia

            Khóa học khác của austinkim

            Hãy khám phá các khóa học khác của giảng viên!

            Khóa học tương tự

            Khám phá các khóa học khác trong cùng lĩnh vực!

            1.161.013 ₫