inflearn logo
inflearn logo

readable_code::CMake - Tạo dự án C++ ưa thích

Rào cản lớn nhất đối với C++ là gì? Tôi nghĩ đó là CMake. Khi tôi mới bắt đầu sử dụng C++, CMake đã gây khó khăn cho việc xây dựng một tệp nguồn duy nhất... Chúng ta cùng nhau tiêu diệt nó nhé? Với khóa học này, bạn cũng có thể trở thành CMake Master!

(4.6) 5 đánh giá

66 học viên

Độ khó Cơ bản

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

C++
C++
cmake
cmake
software-design
software-design
C++
C++
cmake
cmake
software-design
software-design
날개 달린 동전

Giới thiệu Khóa học và tạo ra sự phát triển cùng thu nhập nhé!

날개 달린 동전

Đối tác tiếp thị

Giới thiệu Khóa học và tạo ra sự phát triển cùng thu nhập nhé!

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

  • Cú pháp cơ bản CMake

  • Cú pháp CMake hiện đại

  • Quản lý các phụ thuộc bên ngoài (dự án CMake riêng, thư viện bên thứ 3) bằng CMake

  • Xây dựng dự án C++ bằng CMake

mã có thể đọc được

cpp::build_system::module_project_with_cmake - Tạo các dự án C++ thú vị mà không phụ thuộc vào hệ điều hành/nền tảng.

Tìm hiểu về CMake, phần mềm cần thiết để tạo dự án C++!

  • CMake có khó không?

  • Tuy nhiên, trong bài giảng này, chúng ta sẽ tìm hiểu về mẫu CMake có thể sử dụng cho bất kỳ cấu hình dự án nào.

  • Tôi sẽ cho bạn biết mọi thứ tôi đã học được sau hơn 10 năm vật lộn với CMake!

Tìm hiểu về những điều này

Cú pháp cơ bản của CMake

  • Chúng tôi sẽ hướng dẫn bạn cú pháp cơ bản giúp bạn sử dụng CMake tốt hơn.

  • Hãy sử dụng CMake như một ngôn ngữ lập trình bằng cách học ngữ pháp cơ bản như biến, thông báo, hàm và câu lệnh điều khiển!

Cú pháp CMake hiện đại

  • Cũng giống như mô hình lập trình đã thay đổi từ C sang C++, CMake hiện đại hiện đang là xu hướng!

  • Khi xây dựng thư viện và tệp thực thi bằng CMake, hãy tránh sử dụng các phương pháp cũ.

Quản lý các phụ thuộc bên ngoài bằng CMake

  • Bạn vẫn đang quản lý các phần mềm phụ thuộc bên ngoài bằng cách cài đặt chúng trên PC của mình chứ?

  • Hãy quản lý các dự án CMake và các phụ thuộc bên ngoài theo cách tích hợp.

  • Bây giờ bạn có thể loại bỏ nhu cầu cài đặt các thư viện riêng biệt để xây dựng dự án của mình!

Xây dựng một dự án C++ có thể tái sử dụng bằng CMake

  • Nó chứa đựng tinh hoa của hơn 10 năm kinh nghiệm phát triển.

  • Chúng tôi cung cấp cấu trúc CMake cho phép bạn đạt được hiệu quả tối đa với những sửa đổi tối thiểu.

  • Bạn chưa bao giờ thấy một cấu trúc dự án nào như thế này phải không?!

Bạn có thể nhận được gì?

  • Khả năng sử dụng CMake như một ngôn ngữ lập trình

  • Các phương pháp hay nhất để xây dựng các dự án C++ bằng CMake

    • Quản lý các phụ thuộc bên ngoài bằng CMake

    • Tự động hóa quá trình phát triển bằng CMake

    • Xây dựng một dự án C++ có cấu trúc, có thể tái sử dụng bằng CMake

Từ khóa

  • Xây dựng hệ thống

  • CMake

  • Morden CMake

  • Kiến trúc dự án

  • Hệ thống mô-đun

  • Thư viện của bên thứ ba

Những điều cần lưu ý trước khi tham gia khóa học

Môi trường thực hành

  • Hệ điều hành và phiên bản (OS): macOS, Ubuntu

  • Công cụ sử dụng: Clang, CMake, Visual Studio Code (VSCode)

  • Thông số kỹ thuật PC: Bất kỳ PC nào có khả năng xây dựng C++

Kiến thức và biện pháp phòng ngừa của người chơi

mã có thể đọc được

Tại sao lại là readable_code?

Tôi vẫn còn nhớ cảm giác tự ti khi lần đầu tiên bước vào phòng thí nghiệm sau đại học và nhìn vào mã nguồn đã được triển khai. "Ôi... tại sao mình có xem đi xem lại cũng không hiểu được nhỉ?" Lúc đó, tôi cứ nghĩ đó là do thiếu sót của bản thân. Hơn mười năm đã trôi qua kể từ đó. Giờ thì tôi nhận ra: vấn đề không phải ở tôi, mà là ở mã nguồn.

Nhiều nhà phát triển viết mã một cách khó hiểu và kêu lên, "Tôi phải quay lại!" Nhưng những mã đó sớm trở lại ám ảnh họ như một xiềng xích. Mã được viết mà không tuân thủ các quy ước để triển khai nhanh chóng và việc sử dụng quá nhiều chú thích gây ra sự nhầm lẫn khi đọc, và các giao diện được tạo ra một cách cẩu thả cuối cùng khiến việc phân biệt dữ liệu nào đang được trao đổi trở nên khó khăn. Mã được viết theo cách này, theo thời gian, tạo ra kết quả không chính xác, trở nên không thể đọc được đối với bất kỳ ai. Ngay cả tác giả của mã , sau một tuần không xem lại, cũng thấy mình phải mở sổ mã có tên là "gỡ lỗi" và giải mã mã .

Chúng ta gọi mã nguồn là một ngôn ngữ . Ngôn ngữ tồn tại để giao tiếp với một cái gì đó. Nhiều người lầm tưởng rằng một cái gì đó là máy tính. Quan niệm sai lầm này chính là nguyên nhân dẫn đến sự ra đời của nhiều thứ mật mã mà chúng ta gọi là mã. (Chẳng phải thật thú vị khi mã thực sự có nghĩa là mã hóa sao?)

Nhưng như tôi đã đề cập trước đó, mã nguồn không phải là thứ máy tính đọc, mà là thứ chúng ta đọc. Do đó, viết mã nguồn cũng giống như viết, và cụ thể hơn là viết tài liệu kỹ thuật. Bạn cần viết mã nguồn ngắn gọn và đủ rõ ràng để mọi người có thể hiểu. Mã nguồn được viết theo cách này dễ đọc và dễ hiểu cho bất kỳ ai, bất kể họ nhìn thấy nó khi nào. Đáng tiếc là, trong lĩnh vực tôi từng làm việc, mọi người thường nói rằng họ không có thời gian để xem xét và triển khai những chi tiết nhỏ nhặt như vậy. Tuy nhiên, điều tôi học được là vấn đề không phải là "không thể làm điều gì đó vì không có thời gian", mà là "không thể làm điều đó vì không có cách nào để làm".

Mã dễ đọc đối với mọi người ( readable_code ) cũng dễ đọc đối với máy tính trong hầu hết các trường hợp. Điều này là do nó tránh các biến, hàm, chuyển đổi và quy trình không cần thiết. Điều này cũng cải thiện đáng kể hiệu suất cộng tác và bảo trì mã. Ví dụ, tại công ty của tôi, tôi đã từ bỏ khuôn khổ hiện tại và thiết kế và triển khai một khuôn khổ mới. Công việc tích hợp mã này đã rút ngắn công việc vốn phải mất hai tuần với khuôn khổ hiện tại xuống chỉ còn ba ngày . Hơn nữa , việc triển khai mô-đun, vốn phải mất ba tháng với khuôn khổ hiện tại, đã trở nên khả thi trong vòng chưa đầy một tháng . Vấn đề với mã dễ đọc đối với con người là bạn không thể triển khai nó; nếu bạn có thể, thì không có lý do gì để không triển khai. Đó là một điều đáng kinh ngạc có thể cải thiện đáng kể hiệu quả phát triển.

Văn hóa phát triển trưởng thành, tinh thần hợp tác và mã nguồn dễ đọc thường được coi là những yếu tố cần có, hay nói đúng hơn là tùy chọn. Tuy nhiên, tôi đã chứng kiến sức mạnh của mã nguồn dễ đọc và trải nghiệm ứng dụng thực tế của nó. Mặc dù tôi có thể áp dụng kiến thức này cho công ty và nhóm của mình, nhưng tôi không muốn hài lòng với điều đó. Tôi muốn tăng năng suất phần mềm của Hàn Quốc. Tôi muốn các kỹ sư được phát triển trong một môi trường tốt hơn. Tôi muốn một văn hóa phát triển mạnh mẽ được thấm nhuần trong các công ty Hàn Quốc.

Từ giờ trở đi, tôi sẽ chia sẻ với bạn tất cả những kinh nghiệm tôi đã có, những thành công và thất bại, và tất cả những kiến thức tôi đã học được trên chặng đường này . Những điều này vô cùng quý giá và sẽ là nền tảng vững chắc cho con đường của bạn. Bạn có muốn tham gia cùng chúng tôi không? (y/n) … -y

Sự khác biệt giữa readable_code và readable_code

  • Một giảng viên có kinh nghiệm về kiến trúc phần mềm sẽ giảng dạy dựa trên phần mềm đã được xác minh là có hiệu quả trong thực tế.

  • Bao gồm nội dung áp dụng cho công việc/phát triển thực tế

  • Nó truyền đạt bí quyết và khái niệm có được thông qua kinh nghiệm phát triển thực tế, chứ không phải nội dung lý thuyết có thể học được bằng cách đọc sách.

  • Chúng tôi đã triển khai một cấu trúc có thể hiểu được chỉ bằng cách nghe một bài giảng bằng cách loại bỏ tối đa sự phụ thuộc giữa các bài giảng.

Cách đọc tiêu đề bài giảng

  • Mô tả tiêu đề bài giảng bằng kỹ thuật snake_case được sử dụng khi mô tả các biến và không gian tên trong C++

  • Chia thứ bậc của các bài giảng theo cách tương tự như sử dụng không gian tên trong C++.

  • readable_code:: language_name :: xx::yy::zz::Course_Name - Phụ đề

    • language_name : Mô tả ngôn ngữ lập trình được sử dụng trong bài giảng (ví dụ: cpp, c, python, v.v.)

    • xx, yy, zz : Thể hiện thứ bậc chi tiết của từng bài giảng, các thuộc tính của bài giảng (ví dụ: thiết kế, xác minh, v.v.)

    • Corresponding_Course_Name: Tên của cấp độ thấp nhất mô tả tên gốc của bài giảng.

    • Phụ đề : Giải thích thêm về bài giảng


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

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

  • Bất cứ ai mới phát triển C++

  • Bất kỳ ai muốn có được một dự án CMake được triển khai tốt một cách có hệ thống

  • Những người cần phát triển C++ trên nhiều hệ điều hành

  • Người đã quản lý dự án bằng cách sửa đổi từng chút một tệp CMake đang chạy

  • Bất cứ ai muốn quản lý các phần phụ thuộc bên ngoài một cách đơn giản

  • Bất cứ ai muốn quản lý hiệu quả cấu trúc của dự án

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

  • C++

  • Thiết lập môi trường phát triển (Ubuntu, VSCode)

Xin chào
Đây là captaindev

619

Học viên

22

Đánh giá

4

Trả lời

4.8

Xếp hạng

2

Các khóa học

👋 Xin chào, tôi là Yang Eun-seong, Trưởng nhóm phát triển

Bạn có tò mò làm thế nào một lập trình viên từng phải Google tìm kiếm vào lúc 3 giờ sáng lại có thể tăng năng suất của nhóm lên gấp 4 lần không?


"Giúp đỡ 100 người trong công ty vs việc giúp hàng vạn nhà phát triển không phải tốn công vô ích... cái nào sẽ có ý nghĩa hơn?"

Khoảng 2 năm trước, khi đang làm kiến trúc sư tại một công ty xe tự lái, tôi chợt nảy ra ý nghĩ này.

Nhưng suy nghĩ này đã thay đổi hoàn toàn cuộc đời tôi.

Bạn đã bao giờ gặp phải tình trạng như thế này chưa?

"Trời ơi, mới thiết lập môi trường phát triển thôi mà đã hết cả ngày rồi..."

"Lỗi CMake này rốt cuộc là vấn đề gì vậy?"

"Vừa đụng vào đa luồng (multi-thread) một chút là chương trình bị treo luôn rồi..."

"Lại cãi nhau với đồng nghiệp khi review code rồi..."

A... đây chính là hình ảnh của tôi 10 năm trước khi mới gia nhập Robotis. Để chế tạo robot giao hàng, tôi đã phải tự mình triển khai framework đa luồng (multi-thread) bằng C++ từ con số không, trong khi thực sự lúc đó tôi còn chẳng hiểu rõ biến là gì hay hàm là gì nữa.

Mỗi ngày tôi đều ở lại văn phòng đến tận đêm muộn để vật lộn với xử lý song song CUDA, mỗi tháng thay đổi và viết lại tới 20-30 nghìn dòng mã... Mã nguồn mở ư? Vì là dự án thương mại hóa nên không thể dùng được. Thực sự là bắt đầu từ con số không, đầy rẫy khó khăn.

Thế nhưng, trong quá trình khổ cực như địa ngục đó, tôi đã nhận ra một điều.

Một nhận thức thay đổi cuộc đời

"À, chỉ cần viết sao cho dễ đọc là được mà. Thế thì cấu trúc, cú pháp lẫn quy trình đều sẽ được sắp xếp một cách tự nhiên thôi, đúng không?"

Một nhận thức này đã thay đổi hoàn toàn cuộc đời phát triển của tôi. Khi tôi đến StradVision và thiết kế hệ thống Visual SLAM cho đỗ xe tự động, tôi đã thử áp dụng điều này vào đội ngũ của mình và...

🚀 Kết quả thật điên rồ:

  • Thời gian phát triển tính năng: 2 tháng → 2 tuần (Thật sự là nhanh hơn gấp 4 lần luôn đó)

  • Thời gian sửa lỗi: giảm 70% (tạm biệt những đêm thức trắng để debug~)

  • Số lần tranh cãi khi review code: giảm 60% (cuối cùng cũng có những buổi review hòa bình)

  • Làm thêm giờ của nhóm: Gần như biến mất (Đã lấy lại được cân bằng giữa công việc và cuộc sống!)

Vừa tuân thủ tiêu chuẩn công nghiệp (MISRA C++ 2008) mà vẫn đạt được kết quả như thế này đấy ạ.

Các thành viên trong nhóm đã nói rằng: "Oa... giờ mới thực sự có cảm giác đang làm phát triển phần mềm!". Lúc đó tôi đã chắc chắn rằng, à đây chính là câu trả lời.

Vì vậy, tôi đã đang trên đà thăng tiến. Sự nghiệp vững chắc, mức lương ổn, và những lời mời nhảy việc cứ liên tục tìm đến... Thế nhưng, một ngày nọ, trong đầu tôi bỗng nhiên hiện lên suy nghĩ này.

"Ơ? Cho dù mình có làm tốt ở công ty đến đâu thì cũng chỉ giúp ích được cho tối đa 100 người thôi sao? Nhưng nếu mình làm giáo dục... thì hàng nghìn, thậm chí hàng vạn lập trình viên sẽ không phải tốn công vô ích như mình nữa đúng không?"

Vì vậy, tôi đã quyết định. Tôi từ bỏ mức lương ổn định để thành lập HolyGround và công khai tất cả những gì mình biết.

Tại sao ư? Bởi vì bây giờ chúng ta không còn là đối thủ cạnh tranh nữa, và tôi chẳng có lý do gì để che giấu cả.

Bạn tò mò tôi đã làm gì cho đến bây giờ phải không?

🎯 CEO của HolyGround (06/2023 ~ Hiện tại)

Tôi đang thực hiện series "Giá như đã có nó"

  • Nội dung giáo dục thực tế giải quyết những trăn trở thực sự của các nhà phát triển

  • C++ Core Series: Thiết lập dự án, quản lý log, quản lý bộ nhớ

  • Hướng dẫn lập trình dễ đọc

  • Tất cả đều có thể áp dụng ngay vào công việc thực tế và được xây dựng tập trung vào chuyên môn

🚗 Kiến trúc sư phần mềm StradVision Visual SLAM (2021.12 ~ 2023.05)

Đúng là công ty đã tăng năng suất làm việc của nhóm lên gấp 4 lần đó

  • Hệ thống Visual SLAM cho đỗ xe tự động thiết kế từ con số không

  • Tăng tốc độ phát triển trong khi vẫn tuân thủ các tiêu chuẩn công nghiệp (MISRA C++ 2008)

  • Rút ngắn thời gian thiết lập môi trường thử nghiệm đến 90% bằng CI/CD dựa trên Docker

  • Đã vượt qua chứng nhận của khách hàng và được công nhận về năng lực kỹ thuật

🤖 Robotis Perception Part Tech-Lead (2019.01 ~ 2021.12)

Nơi tôi đã thực sự phát triển kỹ năng từ con số không

  • Tôi đã làm trưởng nhóm phát triển phần mềm nhận dạng cho robot giao hàng

  • Không thể dùng ROS nên đã phải tự mình xây dựng framework đa luồng bằng C++

  • Tối ưu hóa xử lý song song CUDA trên nền tảng nhúng (Nvidia Jetson)

  • Viết lại 20-30 nghìn dòng code mỗi tháng để rèn luyện khả năng triển khai từ con số 0

Hành trình giáo dục cùng các nhà phát triển Hàn Quốc

🎓 Programmers Autonomous Driving DevCourse (Khóa 1, 2, 3, 5, 6)

"Bây giờ tôi mới có cảm giác như mình thực sự được học cách phát triển phần mềm!"

  • Bài giảng đặc biệt về môi trường phát triển C++, hệ thống build và chiến lược nâng cao chất lượng mã nguồn

  • Tăng đáng kể tỷ lệ hoàn thành dự án nhóm thông qua cố vấn (mentoring)

  • Đánh giá thực tế từ học viên: "Tôi đã học được triết lý thực hành chứ không chỉ là ngữ pháp đơn thuần"

📚 Bài giảng bán chạy nhất trên Inflearn

Chấm dứt nỗi lo "Tại sao chỉ có máy mình là không chạy được?"

🏢 Bài giảng đặc biệt dành cho doanh nghiệp và tổ chức

  • SSAFY Đặc giảng về Portfolio - "Chiến lược xin việc thực chiến"

  • Trường THPT chuyên Đổi mới Sáng tạo ICT Seoul Đào tạo Python - "Lập trình mà học sinh cấp 3 cũng có thể hiểu"

Từ thời thơ ấu cho đến nay: Cuộc đời gắn liền với robot

🤖 Thời thơ ấu với ước mơ về robot

Vốn yêu thích robot từ khi còn nhỏ, tôi đã lần đầu tiếp xúc với lập trình thông qua bộ Lego có thể lập trình mà bố mẹ đã mua cho. Khi còn là học sinh cấp hai, tôi đã tham gia các cuộc thi robot với Mindstorms và thậm chí đã tham dự giải đấu thế giới với tư cách là đại diện quốc gia.

📚 Sự lầm tưởng thời còn là nhà nghiên cứu

Nhưng robot mà tôi gặp ở bậc cao học hoàn toàn khác với những gì tôi từng biết. Những công thức phức tạp, mã C++ khó nhằn... Một người thậm chí còn không nắm rõ biến và hàm như tôi đã phải vừa đọc vừa sửa mã nguồn robot để thực hiện nghiên cứu.

May mắn thay, ROS đã giúp tôi duy trì việc nghiên cứu bằng cách điều chỉnh các tham số, nhưng khi nghĩ lại, tôi thấy điều này dường như lại là một con dao hai lưỡi. Bởi vì tôi đã không thể rèn luyện được khả năng triển khai thực tế.

💼 Sự thức tỉnh trong công việc thực tế

Khi bước vào thực tế, tình hình hoàn toàn khác biệt. Trong các dự án thương mại hóa không thể sử dụng mã nguồn mở, tôi đã phải tự mình triển khai mọi thứ từ con số không.

1-2 năm đầu thực sự là địa ngục. Nhưng trong quá trình này, tôi đã xây dựng được nền tảng lập trình thực thụ và rèn luyện được "năng lực thực sự có thể tạo ra mọi thứ mà không cần đến mã nguồn mở".

Bí quyết tăng năng suất gấp 4 lần: Triết lý cốt lõi của Trưởng nhóm phát triển

🎯 Nguyên tắc vàng

"Công việc lặp đi lặp lại hãy để máy móc, giải quyết vấn đề sáng tạo hãy để con người"

🤖 Những việc máy móc đảm nhận (Tự động hóa)

  • Định dạng: "Đừng tranh cãi vì phong cách viết code"

  • Kiểm thử: "Không cần con người phải chạy mỗi lần"

  • Thống nhất môi trường: Loại bỏ hiện tượng "chỉ chạy được trên máy tôi"

  • Phân tích tĩnh: "Phát hiện vấn đề trước khi biên dịch"

🧠 Những việc con người cần tập trung vào (Sáng tạo)

  • Thiết kế kiến trúc: "Bức tranh tổng thể của hệ thống"

  • Triển khai thuật toán: "Logic kinh doanh cốt lõi"

  • Phán đoán cuối cùng: "Cái này đúng không? Kiểm chứng chất lượng"

🏆 Kết quả áp dụng thực tế

Khi áp dụng triết lý này:

  • Cấu trúc trở nên rõ ràng hơn

  • Mã nguồn nhất quán

  • Câu hỏi "Đoạn mã này làm gì vậy?" sẽ hoàn toàn biến mất

  • Nhà phát triển có thể tập trung vào những việc thực sự quan trọng

Tại sao nội dung của Đội trưởng Phát triển lại khác biệt?

Kinh nghiệm triển khai từ con số 0

"Kỹ năng thực thụ để có thể tạo ra sản phẩm mà không cần đến mã nguồn mở"

  • Hầu hết các bài giảng: Tập trung vào cách sử dụng mã nguồn mở

  • Nội dung của Trưởng nhóm Phát triển: Cách tự mình triển khai từ con số 0

Thành tích đã được kiểm chứng trong thực tế

"Những phương pháp thực tế đã được áp dụng chứ không phải lý thuyết"

  • Kết quả đã được kiểm chứng về việc cải thiện năng suất nhóm gấp 4 lần

  • Tuân thủ các tiêu chuẩn công nghiệp nhưng vẫn phát triển nhanh chóng

  • Vượt qua kiểm định của khách hàngChất lượng đã được chứng minh

Góc nhìn "Giá như đã có nó thì tốt biết mấy"

"Những điều tôi đã khao khát khi còn là lính mới"

  • Những thứ mà "giá như đã có sẵn" khi tôi còn là lính mới 10 năm trước

  • Thay vì lý thuyết hào nhoáng, "giải pháp thực tế" có thể áp dụng ngay lập tức

  • "Người giải quyết vấn đề thực thụ" Concept

Series HolyGround "Giá như đã có nó"

💻 Nội dung cao cấp tập trung vào thực tiễn

🔧Quản lý thiết lập dự án C++ Core (₩99,000)

"Giải quyết sự ức chế khi cả đội phải chờ đợi build lại mỗi khi thay đổi một tham số chỉ vì hard-coding". Với hệ thống Configuration an toàn về kiểu dữ liệu, hãy rút ngắn thời gian build từ 15 phút xuống còn 1 phút.

📋Quản lý nhật ký C++ Core (₩99,000)

"Bạn đã từng trải qua cảm giác chương trình bị giật lag do debug bằng cout, và mỗi khi có lỗi lại thức trắng đêm vì không tìm ra nguyên nhân chưa?" Hãy tự mình hiện thực hóa hệ thống logging với hiệu suất nhanh gấp 10 lần dựa trên spdlog.

🧠Quản lý bộ nhớ C++ Core (₩199,000)

"Mất ăn mất ngủ vì rò rỉ bộ nhớ và lỗi con trỏ" - Đây là nội dung dành cho tất cả các nhà phát triển C++, một lộ trình 8 bước. Hãy đạt được chuyên môn quản lý bộ nhớ một cách hệ thống bằng cách tự tay triển khai Memory Pool cho các hệ thống thời gian thực.

📖Hướng dẫn lập trình C++ dễ đọc (₩149,000)

Tôi đã hệ thống hóa triết lý "mã nguồn dễ đọc là mã nguồn tốt" bằng 10 năm kinh nghiệm thực tế. Phân định rõ ràng vai trò của công cụ tự động hóa và con người để nâng cao chất lượng mã nguồn của toàn đội ngũ ngay lập tức.

C++ Ultimate Boilerplate (₩299,000)

"Chấm dứt nỗi đau "lãng phí hàng ngày trời để thiết lập môi trường mỗi khi bắt đầu dự án mới". Với mẫu dự án C++ đa nền tảng, bắt đầu dự án mới trong vòng 5 phút, hãy trải nghiệm môi trường phát triển được tự động hóa hoàn toàn.

🛠Hệ thống tự động hóa môi trường phát triển C++ (₩199,000)

Đừng nói câu "mất cả ngày chỉ để thiết lập môi trường phát triển" nữa. Hệ thống môi trường phát triển tự động hóa hoàn toàn sẽ giúp bạn trải nghiệm điều kỳ diệu khi mọi toolchain được cài đặt chỉ với một cú nhấp chuột.

🎯 Điểm khác biệt của từng nội dung

Hãy cùng phát triển với Trưởng nhóm Phát triển

💝 Lời hứa của tôi

"Giờ chúng ta không còn là đối thủ cạnh tranh nữa, tôi sẽ chia sẻ cho bạn tất cả những gì mình có"

Tôi sẽ chia sẻ tất cả mọi thứ mà tôi đã đúc kết được từ những trải nghiệm thực tế mà không giấu giếm điều gì. Bởi vì tôi hy vọng rằng các nhà phát triển khác sẽ không phải vất vả như tôi đã từng.

🎯 Những người như thế này là cực kỳ phù hợp

  • "Dành cả ngày chỉ để thiết lập môi trường phát triển" là những người

  • "Muốn bỏ cuộc vì lỗi CMake" là những người

  • "Sợ đa luồng đến mức không dám chạm tay vào" là những người

  • "Mỗi lần review code là lại cãi nhau với đồng nghiệp" là người

  • "Muốn rèn luyện kỹ năng để có thể tự mình triển khai từ con số 0" những người đang có mong muốn này

🚀 Những gì bạn sẽ nhận được khi đồng hành cùng nhau

📈 Những thay đổi có thể cảm nhận được ngay lập tức:

  • Thiết lập môi trường phát triển: Rút ngắn 90% thời gian

  • Thời gian gỡ lỗi: giảm 70%

  • Xung đột khi review code: Giải quyết 60%

  • Giao tiếp nhóm: Hiệu quả hơn 50%

🎯 Cải thiện năng lực dài hạn:

  • Thiết kế hệ thống từ con số 0 Năng lực

  • Kiến trúc sư dẫn dắt đội ngũ Năng lực

  • Trọng tâm tự động hóa Khả năng xây dựng văn hóa phát triển

  • Mã nguồn dễ đọc tạo thói quen viết

💡 Giá trị đặc biệt chỉ có tại Đội trưởng Phát triển

"Gói nén của 10 năm sai lầm và thử nghiệm"

  • Kiểm chứng thực tế: Chỉ truyền đạt những phương pháp luận đã được kiểm chứng trong các dự án thực tế

  • Sự khác biệt về độ hoàn thiện: Quy trình học tập hoàn chỉnh "Lý thuyết → Thực hành → Thực chiến"

  • Nén thời gian: Rút ngắn 10 năm thử sai xuống còn vài tuần

  • Kết nối thực tế: Những kỹ năng có thể áp dụng ngay vào công việc vào ngày mai

🏅 Triết lý giáo dục đã được kiểm chứng

"Lập trình viên không nên lãng phí thời gian vào những công việc lặp đi lặp lại. Họ cần tập trung vào việc giải quyết những vấn đề thực sự quan trọng."

Triết lý này đã được chứng minh bằng kết quả thực tế là tăng năng suất gấp 4 lần.

🗣 Cộng đồng ấm áp

Chat mở Readable Code (Quản trị viên)

  • Chào mừng bạn, từ những trăn trở về lập trình cho đến những câu chuyện phiếm thường ngày

  • Từ "Cách đặt câu hỏi hay" đến "Phong cách mã nguồn dễ đọc"

  • Chia sẻ và giải quyết những trăn trở thực tế của các nhà phát triển đang đi làm

Spatial AI KR (Phó quản trị viên)

  • Cộng đồng chuyên về SLAM, tự hành và robot

  • Thảo luận kỹ thuật với các chuyên gia trong ngành

  • Đánh giá các bài báo mới nhất và chia sẻ các trường hợp áp dụng trong thực tế

Đừng chịu đựng một mình, hãy cùng nhau trưởng thành

😤 Những nỗi trăn trở này, tôi cũng đã từng gặp rất nhiều

  • "A, lại phải làm thêm giờ rồi..."

  • "Tại sao cái lỗi này mãi vẫn không sửa được nhỉ?"

  • "Lại cãi nhau với đồng đội mỗi khi review code rồi..."

Tôi cũng từng có những ngày tháng thức trắng đêm để gỡ lỗi, vật lộn với mớ code rối rắm như mì spaghetti, và mất cả ngày trời chỉ để thiết lập môi trường phát triển.

🌟 Đi cùng nhau, chúng ta có thể tiến xa hơn

Trở thành một lập trình viên giỏi "không phải là" nằm ở việc bạn viết mã như thế nào, mà "bắt đầu từ việc" hiểu tại sao mình phải làm như vậy.

Đó là lý do tại sao HolyGround được tạo ra. Đừng chịu đựng một mình, vì đây là nơi chúng ta có thể cùng nhau trăn trở và trưởng thành.

🎯 Năng lực thực sự là khi bạn có thể tạo ra mọi thứ ngay cả khi không có mã nguồn mở

Việc sử dụng mã nguồn mở và việc không thể làm được gì nếu thiếu mã nguồn mở là một trời một vực đấy.

Giống như trải nghiệm phát triển từ con số không đã có ảnh hưởng quyết định đến sự trưởng thành của tôi, đặc biệt là với những lập trình viên muốn đi làm thực tế, trải nghiệm này là vô cùng cần thiết.

📞 Hãy liên hệ bất cứ lúc nào


🤝"Đừng tự mình chịu đựng, hãy làm cùng nhau!" Nếu bạn gặp bế tắc khi đang phát triển?Hãy hỏi Đội trưởng Phát triển!🚀Tôi sẽ chỉ cho bạn tất cả những gì tôi biết.


Đội trưởng phát triển Yang Eun-seong

Đây là việc tôi làm vì mong muốn các nhà phát triển Hàn Quốc sẽ thành công

Thêm

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

Tất cả

16 bài giảng ∙ (4giờ 51phú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ả

5 đánh giá

4.6

5 đánh giá

  • bumjunoh9024님의 프로필 이미지
    bumjunoh9024

    Đánh giá 1

    Đánh giá trung bình 3.0

    3

    50% đã tham gia

    Nội dung bài giảng ổn. Nó bao gồm nội dung và trình độ phù hợp cho những người lần đầu làm việc với CMake. Nhưng giá quá đắt. Nếu bạn hỏi liệu nó có đáng nghe ở mức giá này không thì không. Tôi muốn nói. Tôi nghĩ nó sẽ là một lựa chọn tốt hơn nếu giá rẻ hơn nhiều.

    • ojs9410104449님의 프로필 이미지
      ojs9410104449

      Đánh giá 3

      Đánh giá trung bình 5.0

      5

      100% đã tham gia

      • zz06223720님의 프로필 이미지
        zz06223720

        Đánh giá 5

        Đánh giá trung bình 5.0

        5

        31% đã tham gia

        • kimjaehyun1235님의 프로필 이미지
          kimjaehyun1235

          Đánh giá 2

          Đánh giá trung bình 5.0

          5

          31% đã tham gia

          • hyeonsuchoi7884님의 프로필 이미지
            hyeonsuchoi7884

            Đánh giá 6

            Đánh giá trung bình 4.8

            5

            100% đã tham gia

            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!

            3.402.014 ₫