readable_code:: Hoàn tất thiết lập môi trường phát triển C++ từ A đến Z

Có ngôn ngữ nào khác khó thiết lập môi trường phát triển như C++ không? Mình đã thử thiết lập môi trường phát triển theo thông tin lan truyền xung quanh nhưng tại sao xây dựng một lần lại khó khăn và phức tạp đến vậy? Thông qua bài giảng này, hãy tìm hiểu cách dễ dàng thiết lập môi trường phát triển C++ mọi lúc, mọi nơi, bất kể hệ điều hành hay nền tảng!

(4.8) 19 đánh giá

586 học viên

Độ khó Nhập môn

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

Visual Studio Code
Visual Studio Code
GitHub
GitHub
Visual Studio Code
Visual Studio Code
GitHub
GitHub
Thumbnail

Đánh giá từ những học viên đầu tiên

4.8

5.0

foxrose

64% đã tham gia

Cảm ơn bài giảng hay.

5.0

choiseonmun

79% đã tham gia

Tôi khuyến nghị khóa học này cho những người mới bắt đầu muốn học C++ với VSCode. Điều tôi thích nhất là giảng viên luôn giải thích tại sao (Why) cho mọi thứ. Những điểm tiếc nuối là (1) trong slide khi nhấn mạnh, sử dụng một màu duy nhất thay vì nhiều màu sắc sẽ dễ nhìn hơn, (2) không hướng dẫn cài đặt trên Windows (không sao nếu bạn đã quen với WSL) (3) sẽ tiện lợi hơn nếu có link Repo làm ghi chú bài học.

5.0

fain9301

100% đã tham gia

Bài giảng hay, cảm ơn.

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

  • Thiết lập môi trường phát triển C++ bất kể hệ điều hành

  • Cách thiết lập Hệ thống kiểm soát phiên bản (VSC, Github)

  • Cách đặt phông chữ mã hóa để tăng hiệu quả phát triển C++

  • Cách thiết lập Môi trường phát triển tích hợp (IDE, Visual Studio Code) để phát triển C++

  • Tự động hóa cài đặt môi trường phát triển thông qua tập lệnh

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

cpp: Thiết lập môi trường phát triển cốt lõi - Hướng dẫn từ A đến Z về cách thiết lập môi trường phát triển C++ mà bạn có thể thực hiện theo.

Tìm hiểu cách thiết lập môi trường phát triển cần thiết cho quá trình phát triển C++!

  • Tôi muốn phát triển bằng C++, nhưng... cài đặt môi trường quá phức tạp, đúng không?

  • Tôi tìm kiếm trên internet để xem có thông tin nào được tập hợp ở cùng một nơi không, nhưng ở đây và ở đó lại khác nhau...

  • Trong khóa học này, tôi sẽ dạy bạn mọi thứ bạn cần biết về phát triển C++, dựa trên kinh nghiệm sâu rộng của tôi trong lĩnh vực này!


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

Cách thiết lập Git để kiểm soát phiên bản mã nguồn

  • Tôi đã thử sử dụng GitHub một lần và tôi rất ngạc nhiên khi thấy có quá nhiều thứ cần thiết lập...

  • Thiết lập tất cả các quyền liên quan đến Github cùng một lúc thông qua CLI!

Cách thiết lập IDE (VSCode) để phát triển C++ hiệu quả

  • Việc tích hợp C++ với IDE và Intellisense có khó không?

  • Chúng tôi sẽ chỉ cho bạn cách thiết lập đơn giản mà không cần bất kỳ cài đặt phức tạp nào!

  • Bao gồm các đề xuất tính năng bổ sung để cải thiện hiệu quả phát triển.

Ảnh chụp màn hình 2023-11-24 lúc 5.34.56PM

Cách thiết lập môi trường phát triển C++ cho nhiều hệ điều hành khác nhau

  • Tôi đã thử phát triển bằng C++, nhưng nó khác trên Windows và khác trên Ubuntu...

  • Chúng tôi sẽ chỉ cho bạn cách thiết lập môi trường phát triển hoạt động bất kể hệ điều hành nào!

Tự động hóa tất cả những điều này chỉ với một lần Enter!

  • Bạn có thấy khó khăn khi thiết lập môi trường phát triển mỗi khi định dạng không?

  • Con người không cần thiết lập môi trường phát triển.

  • Hãy tự động hóa nó chỉ bằng một lần nhấn Enter!


Ảnh chụp màn hình 2023-11-24 lúc 5.45.20PM

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

  • Cách thiết lập môi trường phát triển C++ bất kể hệ điều hành nào (MacOS/Ubuntu)

  • Cách thiết lập Hệ thống kiểm soát phiên bản (VSC, Github)

  • Cách thiết lập phông chữ mã hóa để cải thiện hiệu quả phát triển

  • Cách thiết lập Môi trường phát triển tích hợp (IDE, Visual Studio Code) để phát triển C++

  • Tự động hóa thiết lập môi trường phát triển thông qua các tập lệnh

Từ khóa

  • Môi trường phát triển

  • Trình biên dịch

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

  • Hệ thống kiểm soát phiên bản

  • IDE

  • Phông chữ mã hóa

  • Tập lệnh tự động hóa

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, Github, 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++

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. "Ô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 mình. 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 "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 là lý do tại sao rất nhiều mã, được gọi là "code", được tạo ra. (Thật thú vị khi mã thực sự có nghĩa là "code" phải không?) Tuy nhiên, như tôi đã đề cập trước đó, mã 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. Nó tương tự như viết tài liệu kỹ thuật. Chúng ta cần viết mã một cách ngắn gọn và rõ ràng để mọi người có thể hiểu được. Mã được viết theo cách này dễ đọc và dễ hiểu đối với bất kỳ ai. Thật không may, 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ì chúng ta không có thời gian", mà là "không thể làm điều đó vì chúng ta không thể".

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ó không triển khai các biến, hàm, chuyển đổi và quy trình không cần thiết. Nó 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. Điều này đã rút ngắn công việc tích hợp mã vốn sẽ 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 sẽ 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 làm. Đó 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 thứ "có thì tốt", hay nói đúng hơn là không thiết yếu. 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 tại 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 tại 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 tốt được thấm nhuần trong các công ty Hàn Quốc. Từ bây giờ, tôi sẽ chia sẻ với bạn những kinh nghiệm, thành công và thất bại của mình, cũng như tất cả những bí quyết tôi đã học được trên con đường sự nghiệp. 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 tương lai 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?

  • Những người chưa biết môi trường phát triển là gì

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

  • Những người gặp khó khăn trong việc thiết lập lại môi trường phát triển mỗi khi định dạng PC của mình

  • Những người muốn quản lý môi trường phát triển hiệu quả hơn

  • Những người muốn tạo môi trường phát triển nhất quán trên nhiều nền tảng

  • Bất cứ ai muốn tối ưu hóa quá trình phát triển C++

Xin chào
Đây là captaindev

Xác minh sự nghiệp

654

Học viên

24

Đánh giá

4

Trả lời

4.8

Xếp hạng

2

Các khóa học

Trưởng nhóm phát triển Yang Eun-seong

Kiến trúc sư Phần mềm Robotics

Tôi đã làm việc trong lĩnh vực phần mềm robot suốt 9 năm. Tại ROBOTIS và STRADVISION, tôi đã thiết kế và triển khai các hệ thống cũng như framework cần thiết ngay từ những bước đầu tiên.

Hiện tại, tôi đang một mình vận hành HolyGround, nền tảng giáo dục do chính tôi tạo ra. Tôi giảng dạy về hệ điều hành tác vụ AI ứng dụng trong công việc thực tế và hệ thống phát triển C++ cho robot.

Kinh nghiệm và hệ thống tự xây dựng

2023.06 ~

HolyGround - Đại diện

Tôi đang xây dựng và vận hành nền tảng giáo dục HolyGround. Vì là mô hình kinh doanh một thành viên, tôi trực tiếp đảm nhận từ lập kế hoạch và sản xuất nội dung giáo dục, phát triển, marketing, vận hành công ty cho đến xây dựng trang web. Tôi ứng dụng AI vào tất cả các quy trình này.

2021.12 ~ 2023.05

STRADVISION - Kiến trúc sư phần mềm Visual SLAM

Tôi đã thiết kế hệ thống Visual SLAM cho đỗ xe tự động từ con số không. Tôi đã áp dụng các nguyên tắc mã nguồn dễ đọc và tuân thủ các tiêu chuẩn phần mềm trong thực tế.

  • Thời gian phát triển tính năng 2 tháng → 2 tuần

  • Thông qua chứng nhận của khách hàng

2019.01 ~ 2021.12

ROBOTIS - Trưởng nhóm kỹ thuật bộ phận Nhận thức (Perception Part Tech Lead)

Tôi đã dẫn dắt phát triển phần mềm nhận dạng cho robot giao hàng. Vì ROS không đạt được hiệu suất cần thiết, nên tôi đã xây dựng lại toàn bộ khung phần mềm cốt lõi từ đầu dựa trên nền tảng đa luồng (multi-threading). Tôi cũng đã tối ưu hóa xử lý song song CUDA trên NVIDIA Jetson.

Lý do tôi tạo ra hệ điều hành cho các tác vụ AI

Vì phải vận hành HolyGround một mình nên tôi không còn cách nào khác là phải làm việc với AI. Lúc đầu, mọi thứ có vẻ khá ổn. Nhưng khi tôi tiếp tục giao việc, kết quả bắt đầu trở nên kỳ lạ. Dù vậy, tôi cũng không thể tự mình làm hết mọi việc mà không có AI.

Vấn đề không nằm ở một câu lệnh duy nhất. AI cần phải có khả năng đọc được thông tin, tiêu chuẩn, cách thức làm việc và các tài liệu của tôi.

Tôi đã sắp xếp lại những thông tin rời rạc. Tôi đã xây dựng cấu trúc công việc để AI có thể đọc nội dung đó khi cần và làm việc theo cùng một tiêu chuẩn. Tôi đã liên tục chỉnh sửa trong khi trực tiếp áp dụng vào phát triển, marketing, vận hành công ty và xây dựng trang web. Những gì được tạo ra như vậy chính là hệ điều hành công việc AI hiện nay.

Kinh nghiệm từ việc kết nối và vận hành nhiều tác vụ khác nhau thành một hệ thống duy nhất tại hiện trường robot đã được tiếp nối tại đây. Những nội dung tôi dạy về AI đều đúc kết từ quá trình thử sai và kinh nghiệm vận hành này.

Khóa đào tạo đang được xây dựng hiện nay

Điều khiển Trí tuệ nhân tạo

Cách khiến AI làm việc bằng cách đọc thông tin và tiêu chuẩn của tôi

Tập hợp thông tin, nguyên tắc, giọng văn, cách thức làm việc và tài liệu của bản thân vào một nơi. Sau đó, tạo ra một hệ điều hành công việc cá nhân để AI có thể đọc những nội dung đó và làm việc. Những người mới bắt đầu với AI có thể xuất phát từ việc cài đặt và cách sử dụng cơ bản. Những người đã sử dụng hàng ngày có thể xây dựng một cấu trúc giúp duy trì các tiêu chuẩn không bị xáo trộn ngay cả khi công việc kéo dài.

Tìm hiểu cách điều khiển trí tuệ nhân tạo

Readable Programming

Robotics C++ phát triển bằng trí tuệ nhân tạo

Kết nối các tiêu chuẩn lập trình, cấu trúc dự án, cấu hình build, quality gate và cấu trúc kiểm thử thành một hệ thống phát triển C++ cho robot duy nhất. Đây là khóa học dành cho các nhà phát triển robot và xe tự lái đã biết đọc viết C++ và đang làm việc với codebase hiện tại. Đây không phải là bài giảng dành cho người mới bắt đầu học cú pháp C++.

Tìm hiểu về Readable Programming

Nơi đã từng giảng dạy

  • Mentoring về môi trường phát triển C++, hệ thống build và chất lượng mã nguồn cho các khóa 1, 2, 3, 5, 6 của Programmers Autonomous Driving Dev Course.

  • Bài giảng đặc biệt về Portfolio SSAFY

  • Đào tạo Python cho trường THPT chuyên biệt tại Seoul ICT Innovation

Những gì đọng lại sau khóa học

Tôi sẽ mở và cho bạn xem hệ thống mà tôi thực sự đang sử dụng. Tôi không chỉ dừng lại ở việc hướng dẫn tạo ra kết quả. Tôi giải thích tại sao cấu trúc này lại cần thiết, và khi áp dụng vào công việc của mỗi người thì cần thay đổi những gì. Thứ còn lại sau khi kết thúc bài giảng không phải là một hệ thống để chiêm ngưỡng, mà phải là một hệ thống phù hợp với công việc của chính bạn.

Thêm

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

Tất cả

28 bài giảng ∙ (3giờ 33phú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ả

19 đánh giá

4.8

19 đánh giá

  • haedallog님의 프로필 이미지
    haedallog

    Đánh giá 16

    Đánh giá trung bình 4.9

    5

    79% đã tham gia

    Tôi khuyến nghị khóa học này cho những người mới bắt đầu muốn học C++ với VSCode. Điều tôi thích nhất là giảng viên luôn giải thích tại sao (Why) cho mọi thứ. Những điểm tiếc nuối là (1) trong slide khi nhấn mạnh, sử dụng một màu duy nhất thay vì nhiều màu sắc sẽ dễ nhìn hơn, (2) không hướng dẫn cài đặt trên Windows (không sao nếu bạn đã quen với WSL) (3) sẽ tiện lợi hơn nếu có link Repo làm ghi chú bài học.

    • foxrose71857님의 프로필 이미지
      foxrose71857

      Đánh giá 14

      Đánh giá trung bình 4.6

      Đã chỉnh sửa

      5

      64% đã tham gia

      Cảm ơn bài giảng hay.

      • jooo09228413님의 프로필 이미지
        jooo09228413

        Đánh giá 4

        Đánh giá trung bình 4.8

        5

        100% đã tham gia

        Cảm ơn Tôi nghĩ các kịch bản tự động hóa sẽ giúp ích rất nhiều trong thực tế!

        • fain9301님의 프로필 이미지
          fain9301

          Đánh giá 102

          Đánh giá trung bình 4.7

          5

          100% đã tham gia

          Bài giảng hay, cảm ơn.

          • jjhgwx님의 프로필 이미지
            jjhgwx

            Đánh giá 1,049

            Đánh giá trung bình 4.9

            5

            11% đã tham gia

            Khi nào cần C++, tôi sẽ lắng nghe chăm chỉ! Cảm ơn bạ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!

            Miễn phí