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

/

Programming Language

readable_code:: C++ development environment setup A to Z that is complete if you follow along

Is there any other language that is as difficult to set up as C++ in terms of development environment? I set up the development environment by following the information that is floating around, but why is it so difficult and complicated to build even once? Through this lecture, learn how to set up the C++ development environment easily anytime, anywhere, regardless of OS or platform!

(4.8) 13 reviews

504 learners

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

Reviews from Early Learners

What you will learn!

  • Setting up a C++ development environment independent of OS

  • How to set up Version Control System (VSC, Github)

  • How to set coding fonts to improve C++ development efficiency

  • How to set up an Integrated Development Environment (IDE, Visual Studio Code) for C++ development

  • Automating development environment setup via scripts

readable_code

cpp: Setting up the core development environment - A to Z of setting up the C++ development environment that you can follow along with.

Learn how to set up the essential development environment required for C++ development!

  • I want to develop in C++, but... the environment settings are too complicated, right?

  • I searched the internet to see if there was any information gathered in one place, but it was different here and there...

  • In this course, I will teach you everything you need to know about C++ development, based on my extensive experience in the field!


Learn about these things

How to set up Git for source code version control

  • I tried using GitHub once and I was surprised at how many things there were to set up...

  • Set Github-related permissions all at once through the CLI!

How to set up an IDE (VSCode) for effective C++ development

  • Was it difficult to integrate C++ with IDE and Intellisense?

  • We'll show you how to set it up simply without any complicated settings!

  • Additional feature recommendations to improve development efficiency are included.

Screenshot 2023-11-24 at 5.34.56PM

How to set up a C++ development environment for various operating systems

  • I tried to develop in C++, but it was different on Windows and different on Ubuntu...

  • We'll show you how to set up a development environment that works regardless of OS!

Automate all of this with a single Enter!

  • Was it difficult to set up the development environment every time you formatted?

  • There is no need for humans to set up the development environment.

  • Let's automate it with one press of Enter!


Screenshot 2023-11-24 at 5.45.20PM

What can you get?

  • How to set up a C++ development environment regardless of OS (MacOS/Ubuntu)

  • How to set up a Version Control System (VSC, Github)

  • How to set coding fonts to improve development efficiency

  • How to set up an Integrated Development Environment (IDE, Visual Studio Code) for C++ development

  • Automating development environment setup through scripts

Keywords

  • Development Environment

  • Compiler

  • Build System

  • Version Control System

  • IDE

  • Coding Font

  • Automation Script

Things to note before taking the course

Practice environment

  • Operating System and Version (OS): macOS, Ubuntu

  • Tools used: Clang, CMake, Github, Visual Studio Code (VSCode)

  • PC specifications: Any PC capable of building C++

readable_code

Why readable_code?

I still remember the feeling of self-doubt I felt when I first entered my graduate school lab and looked at the source code. "Ah... why can't I understand it no matter how much I look at it?" At the time, I thought it was my own shortcomings. More than ten years have passed since then. Now, I realize: the problem wasn't me, it was the code.

Many developers write code, cryptic, and cry out, "I have to get back to it!" But those codes soon come back to haunt them like a shackle. Code written without adherence to conventions for quick implementation and overused comments create confusion when reading, and carelessly created interfaces eventually make it difficult to discern what data is being exchanged. Code written this way, over time, produces incorrect results, becoming unreadable to anyone. Even the author of the code , after a week without looking at it, finds himself having to open the codebook called "Debugging" and decipher the code .

We call source code a language . Language exists to communicate with something. Many people mistakenly think that something is a computer. This misconception is why so many codes, called "codes," are created. (Isn't it interesting that code actually means "code?") However, as I mentioned earlier, code isn't something computers read, it's something we read. Therefore, writing source code is akin to writing. It's similar to writing technical documentation. We need to write code concisely and clearly, so that people can understand it. Code written this way is easy for anyone to read and understand. Unfortunately, in the field I've worked in, people often say they don't have time to consider and implement such trivial details. However, what I've learned is that it's not about "not being able to do something because we don't have time," but rather "not being able to do it because we can't."

Code that's easy for people to read ( readable_code ) is also easy for computers to read in most cases. This is because it doesn't implement unnecessary variables, functions, transformations, and processes. It also dramatically improves collaboration and code maintenance performance. For example, at my company, I abandoned the existing framework and designed and implemented a new one. This shortened code integration work that would have taken two weeks with the existing framework to just three days . Furthermore, module implementation, which would have taken three months with the existing framework, became possible in less than a month . The problem with human-readable code is that it's not something you can implement; if you can, there's no reason not to. It's an incredible thing that can dramatically improve development efficiency.

A mature development culture, collaboration, and readable code are often considered nice-to-haves, or rather, not essential. However, I've witnessed the power of readable code and experienced its practical application. While I can apply this knowledge locally to my company and team, I don't want to be satisfied with that. I want to increase Korea's software productivity. I want engineers to develop in a better environment. I want a good development culture to take root within Korean companies. From now on, I will share with you my experiences, successes and failures, and all the know-how I've learned along the way . These are invaluable and will serve as a solid foundation for your future path. Would you like to join us? (y/n) … -y

Differences between readable_code and readable_code

  • An instructor with software architect experience teaches based on software that has been verified to work in the field.

  • Covers content applicable to actual work/development

  • It conveys know-how and concepts acquired through actual development experience, not theoretical content that can be learned by reading books.

  • We implemented a structure that can be understood by listening to just one lecture by eliminating dependencies between each lecture as much as possible.

How to read lecture titles

  • Describing lecture titles using the snake_case technique used when describing variables and namespaces in C++

  • Divide the hierarchy of lectures in a way similar to using namespaces in C++.

  • readable_code:: language_name :: xx::yy::zz::Course_Name - Subtitle

    • language_name : Describe the programming language in which the lecture is being held (ex. cpp, c, python, etc.)

    • xx, yy, zz : Represents the detailed hierarchy of each lecture, the properties of the lecture (e.g. design, verification, etc.)

    • Corresponding_Course_Name: The name of the lowest level describes the original name of the lecture.

    • Subtitle : Additional explanation of the lecture

Recommended for
these people

Who is this course right for?

  • For those who don't know what a development environment is

  • For those who are new to C++ development

  • For those who find it too difficult to set up the development environment again every time they format their PC

  • For those who want to manage their development environment more efficiently

  • For those who want to set up a consistent development environment across multiple platforms.

  • Anyone who wants to optimize their C++ development process

Hello
This is

562

Learners

18

Reviews

4

Answers

4.7

Rating

2

Courses

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

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

자율주행 개발을 하면서 수없이 들었던 말들입니다. 복잡한 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__


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

Curriculum

All

28 lectures ∙ (3hr 33min)

Course Materials:

Lecture resources
Published: 
Last updated: 

Reviews

All

13 reviews

4.8

13 reviews

  • fain9301님의 프로필 이미지
    fain9301

    Reviews 93

    Average Rating 4.8

    5

    100% enrolled

    Thank you for the good lecture.

    • jsy70716735님의 프로필 이미지
      jsy70716735

      Reviews 2

      Average Rating 5.0

      5

      32% enrolled

      • jjhgwx님의 프로필 이미지
        jjhgwx

        Reviews 495

        Average Rating 4.8

        5

        11% enrolled

        When I need C++, I'll listen attentively! Thank you!

        • jyseo님의 프로필 이미지
          jyseo

          Reviews 49

          Average Rating 5.0

          5

          100% enrolled

          • seongseolee3046님의 프로필 이미지
            seongseolee3046

            Reviews 2

            Average Rating 5.0

            5

            32% enrolled

            Free

            captaindev's other courses

            Check out other courses by the instructor!

            Similar courses

            Explore other courses in the same field!