Inflearn brand logo image
Inflearn brand logo image
Inflearn brand logo image
Programming

/

Programming Language

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) 13 đánh giá

504 học viên

  • captaindev
개발환경셋팅
c++
readable
vscode
Visual Studio Code
GitHub
Thumbnail

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

Dịch cái này sang tiếng Việt

  • 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à

562

Học viên

18

Đánh giá

4

Trả lời

4.7

Xếp hạng

2

Các khóa học

👋 안녕하세요, 개발대장 양은성입니다

"또 야근이야? 이 코드 누가 짠 거야?"

자율주행 개발을 하면서 수없이 들었던 말들입니다. 복잡한 C++ 코드와 씨름하며 밤을 새고, 버그 때문에 주말 출근하던 날들이 있었어요.

그런데 어느 순간 깨달았습니다. 문제는 실력이 아니라 시스템이었다는 걸요.

좋은 개발자가 되는 건 "어떻게" 코딩하느냐가 아니라 "왜" 그렇게 해야 하는지를 이해하는 것부터 시작한다고 생각해요.

그래서 만들었습니다. 같은 고민을 하는 개발자들이 함께 성장할 수 있는 공간, Ground::Builder를요.


🚀 지금 뭘 하고 있나요?

현재: (주)HolyGround 대표로 Ground::Builder 운영 중

과거:

  • 스트라드비전에서 Visual SLAM 아키텍트로 자율주행 기술 개발

  • 로보티즈에서 배달 로봇 인지 시스템 개발

주력 분야: C++, CMake, SLAM, 멀티스레딩, 시스템 아키텍처

교육 활동: SSAFY 멘토, K-Digital Training, 특성화고 강의, 기업 컨설팅


🛠 요즘 작업 중인 것들

"이런 게 있었으면 좋았을 텐데" 시리즈

CodeCraft
"팀 코딩 컨벤션 때문에 맨날 싸워요" → 자동화로 해결

C++ DevEnv Accelerator
"개발 환경 설정만 하루 종일 해요" → 원클릭으로 해결

C++ Ultimate CMake Template
"CMake 너무 복잡해요" → 복붙으로 해결

TitanCore
"멀티스레드 안전하게 어떻게 해요?" → 템플릿으로 해결


📚 "이론보다는 실전" 강의

인프런에서 만날 수 있어요

C++ 개발환경 설정 A to Z
"왜 내 컴퓨터에서만 안 되지?" 이런 고민 끝!

Modern CMake 실전
"CMake 문서 읽다가 포기했어요" → 실무에서 바로 쓰는 방법만


💬 같이 얘기해요

리더블코드 오픈채팅 (운영자)
"이 코드 어떻게 개선할까요?" 일상 잡담부터 코드 리뷰까지

Spatial AI KR (SLAM 전문 커뮤니티 부운영자)


🔧 오픈소스 활동

GitHub: @movingChurch

cmake_ground
"CMake 템플릿 하나씩 만들기 귀찮아요" → 여기서 가져다 쓰세요


💭 같이 고민하는 개발자들에게

"이 버그 왜 안 잡혀?"
"이 코드 누가 이해해?"
"또 야근이야?"

저도 똑같은 고민을 했어요. 밤새 디버깅하고, 스파게티 코드와 싸우고, 팀원들과 코드 리뷰하다 싸우고...

그런데 깨달았습니다. 혼자 잘하는 것보다 함께 잘하는 게 더 중요하다는 걸요.

그래서 Ground::Builder를 만들었습니다. 혼자 끙끙대지 말고, 같이 고민하고 성장할 수 있는 공간이에요.

함께 가면 더 멀리 갈 수 있으니까요.


📱 연락처

이름: 양은성 (Paul)
닉네임: 개발대장
이메일: yes@holyground.world
GitHub: @movingChurch
LinkedIn: Eunsung Yang
Instagram: @captain.dev__
Threads: @captain.dev__


궁금한 거 있으면 언제든 연락주세요!
코딩 고민부터 인생 상담까지 🤝

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ả

13 đánh giá

4.8

13 đánh giá

  • sungkukpark님의 프로필 이미지
    sungkukpark

    Đánh giá 9

    Đánh giá trung bình 4.4

    4

    100% đã tham gia

    この講義はVSCode上で最も理想的な開発環境を構築する方法を扱っており、特にC++開発環境とCMakeを手軽に設定できる過程が大きな助けになりました。CまたはC++言語開発環境を初めて触れる方であれば、この講義を通じて最低数時間から最大数ヶ月に及ぶ試行錯誤を減らすことができるでしょう。また、各種有用なVSCode拡張を紹介してくれて、実際の作業効率を高めるのにも多くの助けになりました。 ただし、講義が「理想的なインストール方式」を一種の正解集のように提示するため、受講者が個別の拡張やツールをより深く探求する機会を得にくいという点は残念でした。環境を素早く完成させるのには優れていますが、同時に学習者がツールを主体的に理解し活用できる余地をもう少し設けてくれればという願いが残ります。これに加えて、.vscode/launch.jsonファイルなどを活用してCまたはC++コードをすぐに実行したりデバッグしたりできる設定法、そしてWindows OSでの開発環境設定法まで扱ってくれていれば、はるかに実用的で完成度の高い講義になったでしょうが、これらの部分が完全に抜けているという点はやや失望的でした。

    • fain9301님의 프로필 이미지
      fain9301

      Đánh giá 93

      Đánh giá trung bình 4.8

      5

      100% đã tham gia

      良い講義ありがとうございました。

      • jsy70716735님의 프로필 이미지
        jsy70716735

        Đánh giá 2

        Đánh giá trung bình 5.0

        5

        32% đã tham gia

        • jjhgwx님의 프로필 이미지
          jjhgwx

          Đánh giá 495

          Đánh giá trung bình 4.8

          5

          11% đã tham gia

          C++が必要な時は、熱心に聞きます!ありがとうございます!

          • jyseo님의 프로필 이미지
            jyseo

            Đánh giá 49

            Đánh giá trung bình 5.0

            5

            100% đã tham gia

            Miễn phí

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

            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!