강의

멘토링

로드맵

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) 14 reviews

518 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

578

Learners

19

Reviews

4

Answers

4.7

Rating

2

Courses

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

새벽 3시 또 구글링하던 개발자가 어떻게 팀 생산성을 4배나 올렸는지 궁금하시죠?


"회사에서 100명 도와주는 것 vs 수만 명 개발자가 삽질 안 하는 것... 뭐가 더 의미 있을까?"

2년 전쯤 자율주행 회사에서 아키텍트 일 하면서 문득 든 생각이었어요.

근데 이 생각이 제 인생을 아예 바꿔버렸네요.

혹시 이런 거 겪어보신 적 있나요?

"아 씨, 개발 환경 설정만 벌써 하루 다 갔네..."

"이 CMake 에러는 대체 뭐가 문젠데?"

"멀티스레드 좀 건드렸다가 프로그램 뻗어버렸어..."

"또 코드 리뷰하다가 팀원이랑 싸웠어..."

아... 이거 다 10년 전 로보티즈 갓 입사했을 때 제 모습이에요. 배송 로봇 만든다고 C++ 멀티스레드 프레임워크를 아무것도 없는 상태에서 구현해야 하는데, 솔직히 변수가 뭔지 함수가 뭔지도 제대로 몰랐거든요.

매일같이 밤늦게까지 사무실에서 CUDA 병렬 처리랑 씨름하면서, 한 달에 코드를 2-3만 줄씩 갈아엎고... 오픈소스? 상용화 프로젝트라 못 쓰죠. 진짜 맨땅에 헤딩이었어요.

그런데 이 개지옥 같은 과정에서 하나의 깨달음을 얻었어요.

인생을 바꾼 하나의 깨달음

"아, 그냥 읽기 좋게 짜면 되는구나. 그럼 구조도 문법도 과정도 자연스럽게 정리되잖아?"

이 하나의 깨달음이 제 개발 인생을 완전히 바꿔놓았어요. 스트라드비전 가서 자동 주차용 Visual SLAM 시스템 설계할 때 이걸 팀에 적용해봤는데...

🚀 결과가 미쳤어요:

  • 기능 개발 기간: 2개월 → 2주 (아니 진짜 4배나 빨라짐)

  • 버그 수정 시간: 70% 줄어듦 (밤샘 디버깅은 이제 안녕~)

  • 코드 리뷰 때 싸우는 횟수: 60% 감소 (드디어 평화로운 리뷰)

  • 팀 야근: 거의 없어짐 (워라밸 챙겼다!)

산업 표준(MISRA C++ 2008) 지키면서도 이런 결과가 나온 거예요.

팀원들이 "와... 이제서야 진짜 개발하는 기분이에요!"라고 하더라고요. 그때 확신했죠, 아 이게 답이구나.

그래서 승승장구하고 있었어요. 커리어도 탄탄하고, 연봉도 괜찮고, 이직 제안도 계속 들어오고... 그런데 어느 날 문득 이런 생각이 들더라고요.

"어? 내가 회사에서 아무리 잘해봤자 기껏해야 100명한테 도움 되는 거잖아? 근데 교육을 한다면... 수천 명, 아니 수만 명의 개발자들이 나처럼 삽질 안 해도 되는 거 아니야?"

그래서 결심했어요. 안정적인 월급 차버리고 HolyGround 만들어서 제가 알고 있는 거 다 공개하기로.

왜냐고요? 이제 경쟁자도 아니고, 숨길 이유가 하나도 없거든요.

제가 지금까지 뭘 했는지 궁금하시죠?

🎯 HolyGround CEO (2023.06 ~ 지금)

"있었으면 좋았을 텐데" 시리즈 만들고 있어요

  • 개발자들 진짜 고민 해결하는 실전 교육 콘텐츠

  • C++ Core 시리즈: 프로젝트 설정, 로그 관리, 메모리 관리

  • 리더블 프로그래밍 가이드라인

  • 전부 현업에서 바로 써먹을 수 있는 실무 위주로 만들었어요

🚗 StradVision Visual SLAM Software Architect (2021.12 ~ 2023.05)

팀 생산성 4배 올린 그 회사 맞아요

  • 자동 주차용 Visual SLAM 시스템 아무것도 없는 상태에서 설계

  • 산업 표준(MISRA C++ 2008) 지키면서도 개발 속도 올리기

  • Docker 기반 CI/CD로 테스트 환경 구축을 90%나 단축

  • 고객사 인증도 통과해서 기술력 인정받았어요

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

진짜 맨땅에서 실력 키운 곳

  • 배송 로봇용 인지 소프트웨어 개발 리더 했어요

  • ROS 못 쓰고 C++ 멀티스레드 프레임워크 직접 만들어야 했음

  • Embedded Platform(Nvidia Jetson)에서 CUDA 병렬 처리 최적화

  • 한 달에 2-3만 줄씩 갈아엎으면서 제로베이스 구현 능력 기름

대한민국 개발자들과 함께한 교육 여정

🎓 프로그래머스 자율주행 데브코스 (1기, 2기, 3기, 5기, 6기)

"이제야 진짜 개발 방법을 배운 기분이에요!"

  • C++ 개발환경, 빌드 시스템, 코드 품질 향상 전략 특강

  • 멘토링을 통한 팀 프로젝트 완료율 대폭 향상

  • 수강생들의 실제 후기: "단순 문법이 아닌 실무 철학을 배웠어요"

📚 인프런 베스트셀러 강의

"왜 내 컴퓨터에서만 안 되지?" 고민 종결자

🏢 기업 및 기관 특강

  • SSAFY 포트폴리오 특강 - "실전 취업 전략"

  • 서울ICT이노베이션 특성화고 Python 교육 - "고등학생도 이해하는 프로그래밍"

어린 시절부터 지금까지: 로봇과 함께한 인생

🤖 로봇 꿈나무 시절

어린 시절부터 로봇을 사랑했던 저는 부모님이 사주신 프로그래머블 레고로 처음 프로그래밍을 접했습니다. 중학생 때는 마인드스톰으로 로봇 대회에 나가 국가대표로 세계 대회까지 참가했죠.

📚 연구자 시절의 착각

하지만 대학원에서 만난 로봇은 제가 알던 그것과 완전히 달랐습니다. 복잡한 수식, 어려운 C++ 코드... 변수와 함수도 제대로 모르던 제가 로봇 소스코드를 읽고 수정해가며 연구해야 했으니까요.

다행히 ROS 덕분에 파라미터 조정으로 근근이 연구를 이어갔지만, 지금 생각해보면 이게 오히려 독이 되었던 것 같습니다. 진짜 구현 능력을 기르지 못했거든요.

💼 현업에서의 각성

현업에 들어가니 상황이 완전히 달랐습니다. 오픈소스를 사용할 수 없는 상용화 프로젝트에서 제로베이스부터 모든 걸 구현해야 했거든요.

처음 1-2년은 정말 지옥이었습니다. 하지만 이 과정에서 진짜 프로그래밍 기반을 다졌고, "오픈소스 없이도 만들 수 있는 진짜 실력"을 기를 수 있었습니다.

4배 생산성 향상의 비밀: 개발대장의 핵심 철학

🎯 황금 원칙

"반복적인 작업은 기계에게, 창의적인 문제 해결은 사람에게"

🤖 기계가 담당하는 것들 (자동화)

  • 포매팅: "코드 스타일 때문에 싸우지 마세요"

  • 테스트: "사람이 매번 돌릴 필요 없어요"

  • 환경 통일: "내 컴퓨터에서만 되는" 현상 박멸

  • 정적 분석: "컴파일 전에 문제 발견"

🧠 사람이 집중해야 하는 것들 (창조)

  • 아키텍처 설계: "시스템의 전체 그림"

  • 알고리즘 구현: "핵심 비즈니스 로직"

  • 최종 판단: "이게 맞나? 품질 검증"

🏆 실제 적용 결과

이 철학을 적용하면:

  • 구조가 명확해집니다

  • 코드가 일관됩니다

  • "이 코드 뭐 하는 거예요?"라는 질문 자체가 사라집니다

  • 개발자는 정말 중요한 일에만 집중할 수 있습니다

왜 개발대장의 콘텐츠는 다를까요?

제로베이스 구현 경험

"오픈소스 없이도 만들 수 있는 진짜 실력"

  • 대부분의 강의: 오픈소스 활용법 위주

  • 개발대장 콘텐츠: 처음부터 직접 구현하는 방법

현업 검증된 성과

"이론이 아닌 실제로 써먹어본 방법들"

  • 팀 생산성 4배 향상이라는 검증된 결과

  • 산업 표준 준수하면서도 빠른 개발

  • 고객사 인증 통과로 입증된 품질

"있었으면 좋았을 텐데" 관점

"신입 때 간절히 원했던 것들"

  • 제가 10년 전 신입일 때 "이런 게 있었으면" 했던 것들

  • 화려한 이론 대신 "당장 써먹을 수 있는" 실전 해결책

  • "진짜 고민 해결사" 콘셉트

HolyGround "있었으면 좋았을 텐데" 시리즈

💻 실전 중심 프리미엄 콘텐츠

🔧C++ Core 프로젝트 설정 관리 (₩99,000)

"하드코딩 때문에 파라미터 하나 바꿀 때마다 전체 팀이 빌드 기다리는 답답함"을 해결해드립니다. 타입 안전한 Configuration 시스템으로 빌드 시간을 15분에서 1분으로 단축하세요.

📋C++ Core 로그 관리 (₩99,000)

"cout 디버깅으로 프로그램이 버벅거리고, 장애 때마다 원인을 못 찾아서 밤샘"한 경험 있으시죠? spdlog 기반 10배 빠른 성능의 로깅 시스템을 직접 구현해보세요.

🧠C++ Core 메모리 관리 (₩199,000)

"메모리 누수와 포인터 오류로 밤잠 못 이루는" 모든 C++ 개발자를 위한 8단계 로드맵. 실시간 시스템용 메모리 풀까지 구현하며 체계적인 메모리 관리 전문성을 확보하세요.

📖C++ 리더블 프로그래밍 가이드라인 (₩149,000)

"읽기 좋은 코드가 좋은 코드"라는 철학을 현업 10년 경험으로 체계화했습니다. 자동화 도구와 인간의 역할을 명확히 분리하여 팀 전체의 코드 품질을 한 번에 끌어올리는 가이드입니다.

C++ Ultimate Boilerplate (₩299,000)

"새 프로젝트 시작할 때마다 환경 설정에 며칠씩 허비하는" 고통을 끝내드립니다. 크로스플랫폼 C++ 프로젝트 템플릿으로 5분 내 새 프로젝트 시작, 완전 자동화된 개발 환경을 경험하세요.

🛠C++ 개발환경 자동화 시스템 (₩199,000)

"개발 환경 설정하느라 하루 날린다"는 말 이제 그만하세요. 완전 자동화된 개발환경 시스템으로 클릭 한 번에 모든 툴체인이 세팅되는 마법을 경험해보세요.

🎯 각 콘텐츠의 차별점

개발대장과 함께 성장하세요

💝 제가 드리는 약속

"이제 경쟁자도 아닌데 가진 거 다 알려드릴게요"

제가 현업에서 삽질하면서 터득한 모든 걸 숨기지 않고 다 알려드려요. 더 많은 개발자들이 저처럼 고생 안 했으면 좋겠거든요.

🎯 이런 분들이면 딱이에요

  • "개발 환경 설정만 하루 종일 한다" 하시는 분

  • "CMake 에러 때문에 포기하고 싶다" 하시는 분

  • "멀티스레드는 무서워서 손도 못 댄다" 하시는 분

  • "코드 리뷰할 때마다 팀원이랑 싸운다" 하시는 분

  • "제로베이스로 구현할 수 있는 실력을 기르고 싶다" 하시는 분

🚀 함께하면 얻을 수 있는 것

📈 즉시 체감 가능한 변화:

  • 개발 환경 설정: 90% 시간 단축

  • 디버깅 시간: 70% 감소

  • 코드 리뷰 갈등: 60% 해결

  • 팀 커뮤니케이션: 50% 효율화

🎯 장기적 역량 향상:

  • 제로베이스 시스템 설계 능력

  • 팀을 이끄는 아키텍트 역량

  • 자동화 중심 개발 문화 구축 능력

  • 읽기 좋은 코드 작성 습관화

💡 개발대장만의 특별한 가치

"10년 시행착오의 압축팩"

  • 현업 검증: 실제 프로젝트에서 검증된 방법론만 전달

  • 완성도 차별화: "이론 → 실습 → 실전" 완전한 학습 프로세스

  • 시간 압축: 10년간의 시행착오를 몇 주로 단축

  • 실무 직결: 내일 당장 현업에서 써먹을 수 있는 스킬

🏅 검증된 교육 철학

"개발자는 반복 작업에 시간을 낭비하면 안 됩니다. 진짜 중요한 문제 해결에 집중해야죠."

이 철학이 4배 생산성 향상이라는 실제 결과로 입증되었습니다.

🗣 따뜻한 커뮤니티

리더블코드 오픈채팅 (운영자)

  • 코딩 고민부터 일상 잡담까지 환영

  • "질문 잘하는 법"부터 "읽기 쉬운 코드 스타일"까지

  • 현업 개발자들의 진짜 고민 공유 및 해결

Spatial AI KR (부운영자)

  • SLAM, 자율주행, 로보틱스 전문 커뮤니티

  • 업계 전문가들과의 기술 토론

  • 최신 논문 리뷰 및 현업 적용 사례 공유

혼자 끙끙대지 말고, 함께 성장해요

😤 이런 고민들, 저도 엄청 했어요

  • "아 또 야근이야..."

  • "이 버그는 도대체 왜 안 잡히지?"

  • "코드 리뷰할 때마다 팀원이랑 또 싸웠어..."

밤새 디버깅하고, 스파게티 코드랑 씨름하고, 개발 환경 설정만 하루 종일 붙잡고 있던 시절 저한테도 있었거든요.

🌟 같이 가면 더 멀리 갈 수 있어요

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

그래서 HolyGround 만든 거예요. 혼자 끙끙대지 말고, 같이 고민하고 성장할 수 있는 곳이거든요.

🎯 진짜 실력은 오픈소스 없어도 만들 수 있는 거예요

오픈소스 갖다 쓰는 거랑 오픈소스 없으면 아무것도 못 하는 거랑은 하늘과 땅 차이거든요.

아무것도 없는 상태에서부터 개발해본 경험이 제 성장에 결정적 영향을 줬던 것처럼, 특히 현업 가려는 개발자라면 이런 경험이 꼭 필요해요.

📞 언제든지 연락주세요


🤝"혼자 끙끙대지 말고, 같이 해요!"개발하다가 막히는 거 있으면?개발대장한테 물어보세요!🚀아는 거 다 알려드릴게요.


개발대장 양은성

한국 개발자들 잘됐으면 좋겠어서 하는 일이에요

Curriculum

All

28 lectures ∙ (3hr 33min)

Course Materials:

Lecture resources
Published: 
Last updated: 

Reviews

All

14 reviews

4.8

14 reviews

  • mingi4226님의 프로필 이미지
    mingi4226

    Reviews 1

    Average Rating 5.0

    5

    32% enrolled

    • Sungkuk Park님의 프로필 이미지
      Sungkuk Park

      Reviews 10

      Average Rating 4.5

      4

      100% enrolled

      이 강의는 VSCode 상에서 가장 이상적인 개발 환경을 구축하는 방법을 다루고 있으며, 특히 C++ 개발 환경과 CMake를 손쉽게 설정할 수 있는 과정이 큰 도움이 되었습니다. C 또는 C++ 언어 개발 환경을 처음 접하는 분들이라면 이 강의를 통해 최소 몇 시간에서 최대 몇 개월에 달하는 시행착오를 줄일 수 있을 것입니다. 또한 각종 유용한 VSCode 확장을 소개해 주어 실제 작업 효율을 높이는 데에도 많은 도움이 되었습니다. 다만, 강의가 ‘이상적인 설치 방식’을 일종의 정답지처럼 제시하다 보니, 수강자가 개별 확장이나 도구를 더 깊게 탐구할 기회를 얻기 어렵다는 점은 아쉬웠습니다. 환경을 빠르게 완성하는 데는 탁월하지만, 동시에 학습자가 도구를 주체적으로 이해하고 활용할 수 있는 여지를 조금 더 마련해 주었으면 하는 바람이 남습니다. 여기에 더해, .vscode/launch.json 파일 등을 활용해 C 또는 C++ 코드를 바로 실행하거나 디버깅할 수 있는 설정법, 그리고 윈도우 OS에서의 개발 환경 설정법까지 다루어 주었다면 훨씬 더 실용적이고 완성도 높은 강의가 되었을 텐데, 이 부분들이 완전히 빠져 있다는 점은 다소 실망스러웠습니다.

      • fain9301님의 프로필 이미지
        fain9301

        Reviews 95

        Average Rating 4.8

        5

        100% enrolled

        좋은 강의 감사합니다.

        • jsy7071님의 프로필 이미지
          jsy7071

          Reviews 2

          Average Rating 5.0

          5

          32% enrolled

          • Jang Jaehoon님의 프로필 이미지
            Jang Jaehoon

            Reviews 597

            Average Rating 4.9

            5

            11% enrolled

            C++이 필요할 때, 열심히 듣겠습니다! 감사합니다!

            Free

            captaindev's other courses

            Check out other courses by the instructor!

            Similar courses

            Explore other courses in the same field!