채널톡 아이콘

readable_code:: 따라하면 끝나있는 C++ 개발환경 설정 A to Z

C++만큼 개발환경 설정하기 까다로운 언어가 또 있을까요? 돌아다니는 정보를 따라 개발 환경을 설정해보지만 빌드 한 번 하기가 왜 이렇게 어렵고 복잡한지… 이 강의를 통해 OS, 플랫폼 상관 없이 언제 어디서나 간편하게 C++ 개발환경을 설정하는 방법을 배워보세요!

(4.8) 수강평 19개

수강생 588명

난이도 입문

수강기한 무제한

개발환경셋팅
개발환경셋팅
c++
c++
readable
readable
vscode
vscode
개발환경셋팅
개발환경셋팅
c++
c++
readable
readable
vscode
vscode
Thumbnail
현대오토에버
LG전자
네이버
한화시스템/ICT
케이티

케이티

임직원들도 이 강의를 듣고 있어요!

현대오토에버
LG전자
네이버
한화시스템/ICT
케이티

케이티

임직원들도 이 강의를 듣고 있어요!

먼저 경험한 수강생들의 후기

4.8

5.0

foxrose

64% 수강 후 작성

좋은 강의 감사합니다.

5.0

choiseonmun

79% 수강 후 작성

VSCode로 C++를 시작하려는 입문자 분께 추천드립니다. 항상 Why를 알려주는 것이 좋았습니다. 아쉬운 점은 (1) 슬라이드에서 강조 시 여러 색깔보다는 단일 색상을 이용하는 게 눈에 좀 더 보기 편했을 것 같고, (2) Windows에서의 설정은 보여주지 않는다는 점(WSL에 익숙하시다면 무관) (3) 수업 노트로 Repo 링크를 달아주었다면 편의성 측면에서 더 좋았을 듯 합니다.

5.0

fain9301

100% 수강 후 작성

좋은 강의 감사합니다.

수강 후 이런걸 얻을 수 있어요

  • OS에 상관 없는 C++ 개발환경 설정

  • Version Control System(VSC, Github) 설정 방법

  • C++ 개발 효율을 높이기 위한 코딩폰트 설정 방법

  • C++ 개발을 위한 Integrated Development Environment(IDE, Visual Studio Code) 설정 방법

  • 스크립트를 통한 개발환경 설정 자동화

readable_code

cpp: 코어 개발환 설정 - 따라하면 끝나있는 C++ 개발환경 설정의 A to Z

C++ 개발에 필요한 필수 개발환경 설정 방법을 배워요!

  • C++ 개발은 하고 싶은데... 환경설정이 너무 복잡하죠?

  • 인터넷에서 한 군데 모여 있는 자료는 없나 찾아봐도 여기 다르고 저기 다르고...

  • 이 강의에서는 오랜시간 현업에서 개발하며 쌓인 C++ 개발에 필요한 모든 내용을 전달 해드립니다!


이런 내용을 배워요

소스코드 버전관리를 위한 Git 설정 방법

  • Github 한번 사용하려 보니 설정 해야 하는 것이 왜이리 많은지...

  • 간단하게 CLI를 통해 Github 관련 권한을 한번에 설정해보세요!

C++을 잘 개발하기 위한 IDE(VSCode) 설정 방법

  • C++은 IDE랑 Intellisense랑 엮기 어려우셨죠?

  • 복잡한 설정 없이 단순하게 셋팅하는 방법을 알려드립니다!

  • 개발 효율을 높이기 위한 추가 기능 추천은 덤

Screenshot 2023-11-24 at 5.34.56 PM

다양한 OS에 대한 C++ 개발환경 설정 방법

  • C++ 개발하려고 했더니, Windows에서 다르고 Ubuntu에서 다르고...

  • OS 상관 없이 적용 가능한 일괄적인 개발환경 설정 방법을 알려드립니다!

이 모든 것을 Enter 한 번으로 자동화!

  • 포멧 할 때마다 개발환경 설정 어려우셨죠?

  • 개발 환경 설정은 사람이 할 필요가 없습니다.

  • Enter 한번으로 자동화 해봅시다!


Screenshot 2023-11-24 at 5.45.20 PM

무엇을 얻을 수 있을까요?

  • OS에 상관 없는 C++ 개발환경 설정 방법(MacOS/Ubuntu)

  • Version Control System(VSC, Github) 설정 방법

  • 개발 효율을 높이기 위한 코딩폰트 설정 방법

  • C++ 개발을 위한 Integrated Development Environment(IDE, Visual Studio Code) 설정 방법

  • 스크립트를 통한 개발환경 설정 자동화

Keywords

  • Development Environment

  • Compiler

  • Build System

  • Version Control System

  • IDE

  • Coding Font

  • Automation Script

수강 전 참고 사항

실습 환경

  • 운영 체제 및 버전(OS): macOS, Ubuntu

  • 사용 도구: Clang, CMake, Github, Visual Studio Code(VSCode)

  • PC 사양: C++ 빌드가 가능한 모든 PC

readable_code

왜 readable_code 일까요?

대학원 연구실에 처음 들어가서 구현 되어 있는 소스코드를 보며 들었던 자괴감이 아직도 기억납니다. ‘아… 왜 아무리 봐도 이해가 안되지?’ 그 당시에는 제가 부족해서 그런 줄 알았습니다. 그 때부터 10년이 넘는 시간이 지났습니다. 이제야 알게 됐습니다. 내가 문제가 아니라 코드가 문제였구나.

많은 개발자들이 코드라는 이름의 암호를 작성하며 ‘일단 돌아가야 해!’라고 외치고 있습니다. 하지만 그 코드들은 머지 않아 옥죄는 목줄이 되어 나에게로 돌아옵니다. 빠른 구현을 위해 컨벤션을 맞추지 않고 구현한 코드와 남발한 주석은 코드를 읽는데 혼란을 야기하고, 큰 생각 없이 만들어 놓은 인터페이스는 나중에는 어떤 데이터를 주고 받기 위함인지 조차 희미해집니다. 이렇게 짜여진 코드들은 시간이 지남에 따라 잘못된 결과 값이 발산하는 것처럼 아무도 읽을 수 없는 코드가 되어갑니다. 심지어는 그 코드를 작성한 본인도 코드를 보지 않고 일주일 지나면 그 암호를 디버깅이라는 코드북을 펴놓고 해석해야만 합니다.

우리는 소스코드를 언어라고 부릅니다. 언어는 어떤 존재와 대화하기 위해 존재하는 것입니다. 여기서 많은 사람들은 그 어떤 존재를 컴퓨터라고 생각합니다. 이 착각으로 부터 야기되는 코드라고 부르는 많은 암호들이 생겨나는 것이겠죠.(코드의 뜻이 암호라는 것이 재미있지 않나요?) 하지만 앞서 이야기한 대로, 코드는 컴퓨터가 읽는 것이 아니라, 우리가 읽는 것입니다. 그렇기에 소스코드를 작성하는 것은 글짓기와도 같습니다. 그 중에서도 기술 문서를 작성하는 것과 비슷합니다. 간결하고 명확하게 사람이 이해할 수 있게 코드를 작성해야하는 것이죠. 이렇게 작성된 코드는 언제 누가 보아도 편하게 읽고 이해할 수 있습니다. 불행하게도 제가 겪어온 현업에서는 그런 사소하고 자잘한 것을 고려해서 구현할 시간이 없다고 합니다. 하지만 제가 느낀 것은 ‘시간이 없어서 못하는 것’이 아닌 ‘할 수 없어서 못하는 것’이였습니다.

사람이 읽기에 좋은 코드(readable_code)는 대부분의 경우 컴퓨터가 읽기에도 좋습니다. 불필요한 변수, 함수, 변환 및 프로세스를 구현하지 않기 때문이죠. 또한 이것은 협업과 코드 유지관리의 퍼포먼스를 비약적으로 상승시켜줍니다. 실제적으로 저는 제가 있던 회사에서 기존의 프레임웍을 버리고 새로운 프레임웍을 설계하여 구현하였고, 기존 프레임웍에서 2주가 걸려서도 진행하기 어려웠던 코드 통합작업을 3일만에 가능하게 단축시켰습니다. 또한 기존 프레임웍에서 3달정도 걸렸을 모듈 구현이 1달도 안걸리는 시간에 가능하게 되었죠. 이렇게 사람이 읽기에 좋은 코드는 구현을 못해서 문제인 것이지, 할 수만 있다면 안할 이유가 없는, 말도 안되게 개발 효율을 향상시킬 수 있는 놀라운 것이죠.

아직까지는 성숙한 개발문화와 협업, 사람이 읽기에 좋은 코드는 많은 경우 있으면 좋은 것, 없어도 큰 상관 없는 것 정도로 치부되는 경우가 많은 것 같습니다. 하지만 저는 사람이 읽기에 좋은 코드의 능력을 보았고 그것의 실제를 경험했습니다. 제가 이것을 지협적으로 제가 있는 회사와 팀에 적용 할 수 있겠지만, 저는 그 정도로 만족하고 싶지 않습니다. 한국의 SW 생산성 자체를 키우고 싶습니다. 엔지니어분들이 더 좋은 환경에서 개발을 하기를 원합니다. 좋은 개발 문화가 한국의 회사들 안에 자리잡기를 원합니다. 저는 이제부터 제가 가졌던 경험, 성공과 실패, 그 과정을 통해 알게된 모든 노하우들을 여러분과 함께 나누려고 합니다. 이것들은 매우 소중한 것이며, 여러분께서 갈 그 길에 탄탄한 기반이 되어줄 것입니다. 함께 하시겠습니까?(y/n) …-y

readable_code의 차별점

  • Software architect 경험을 가진 강사가 현업에서 동작을 검증한 software 내용을 바탕으로 강의함

  • 실제 업무/개발에 적용 가능한 내용을 다룸

  • 책을 읽어서 알 수 있는 이론적인 내용이 아니라 실제 개발 경험을 바탕으로 습득한 노하우와 개념을 전달함

  • 각 강의들 간의 종속성을 최대한 없애서 하나의 강의만 들어도 이해 가능한 구조를 구현

강의명 읽는 법

  • C++에서 변수와 namespace를 기술 할 때 사용하는 snake_case 기술로 강의명 기술

  • 마치 C++에서 namespace를 사용하는 방식으로 강의의 계층 구조를 나눔

  • readable_code::language_name::xx::yy::zz::해당_강의명 - 부제

    • language_name : 어떤 프로그래밍 언어의 강의인지 기술(ex. cpp, c, python, etc…)

    • xx, yy, zz : 각 강의의 세부 계층, 강의의 속성을 표현(ex. 설계, 검증, etc…)

    • 해당_강의명 : 가장 아래 계층 이름은 강의의 본 이름을 기술

    • 부제 : 강의에 대한 부연 설명

이런 분들께
추천드려요

학습 대상은
누구일까요?

  • 개발환경이 무엇인지 알지 못하는 분

  • C++ 개발을 처음 시작하는 분

  • PC를 포맷할 때마다 개발환경을 다시 설정하는 것이 너무 힘들었던 분

  • 보다 효율적으로 개발환경을 관리하기를 원하시는 분

  • 여러 플랫폼에서 일관적인 개발환경을 구성하기를 원하시는 분

  • C++ 개발 프로세스를 최적화하고 싶은 분

안녕하세요
개발 대장입니다.

커리어인증

656

수강생

24

수강평

4

답변

4.8

강의 평점

2

강의

개발대장 양은성

Robotics Software Architect

9년 동안 로보틱스 소프트웨어를 만들었어요. ROBOTIS와 STRADVISION에서는 필요한 시스템과 프레임워크를 처음부터 설계하고 구현했어요.

지금은 제가 만든 교육 플랫폼 HolyGround를 혼자 운영해요. 실제 업무에 쓰는 AI 작업 운영체제와 로보틱스 C++ 개발 시스템을 가르칩니다.

경력과 직접 만든 시스템

2023.06 ~

HolyGround - 대표

교육 플랫폼 HolyGround를 만들고 운영하고 있어요. 1인 비즈니스라 교육 기획과 제작, 개발, 마케팅, 회사 운영, 사이트 제작까지 직접 맡아요. 이 모든 과정에 AI를 써요.

2021.12 ~ 2023.05

STRADVISION - Visual SLAM Software Architect

아무것도 없는 상태에서 자동주차용 Visual SLAM 시스템을 설계했어요. 읽기 좋은 코드 원칙을 적용했고, 현업 소프트웨어 규격을 지켰어요.

  • 기능 개발 기간 2개월 → 2주

  • 고객사 인증 통과

2019.01 ~ 2021.12

ROBOTIS - Perception Part Tech Lead

배송로봇 인지 소프트웨어 개발을 이끌었어요. ROS로는 필요한 성능이 안 나왔거든요. 그래서 핵심 프레임워크를 멀티스레딩 기반으로 바닥부터 전부 구축했어요. NVIDIA Jetson에서는 CUDA 병렬처리를 최적화했고요.

AI 작업 운영체제를 만들게 된 이유

HolyGround를 혼자 운영하려니 AI로 일할 수밖에 없었어요. 처음에는 꽤 잘하는 것 같았어요. 그런데 일을 계속 맡기다 보니 결과물이 이상해지기 시작했어요. 그렇다고 AI 없이 모든 일을 혼자 할 수도 없었고요.

문제는 프롬프트 하나가 아니었어요. AI가 제 정보와 기준, 일하는 방식과 자료를 읽을 수 있어야 했습니다.

흩어진 정보를 정리했어요. AI가 필요할 때 그 내용을 읽고 같은 기준으로 일하도록 작업 구조를 만들었고요. 개발과 마케팅, 회사 운영, 사이트 제작에 직접 쓰면서 계속 고쳤어요. 그렇게 만든 게 지금의 AI 작업 운영체제입니다.

로보틱스 현장에서 여러 작업을 하나의 시스템으로 묶고 운영해온 경험이 여기에도 이어졌어요. 제가 AI를 가르치는 내용은 이 시행착오와 운영 경험에서 나왔어요.

지금 만드는 교육

인공지능 다스리기

AI가 내 정보와 기준을 읽으며 일하게 만드는 법

자기 정보와 원칙, 말투, 작업 방식과 자료를 한곳에 모아요. 그리고 AI가 그 내용을 읽으며 일하는 개인 작업 운영체제를 만듭니다. AI가 처음인 분은 설치와 기본 사용부터 시작하실 수 있어요. 이미 매일 쓰시는 분은 일이 길어져도 기준이 흐트러지지 않는 구조를 만드실 수 있고요.

인공지능 다스리기 살펴보기

Readable Programming

인공지능으로 개발하는 로보틱스 C++

코딩 기준, 프로젝트 구조, 빌드 구성, 품질 게이트와 테스트 구조를 하나의 로보틱스 C++ 개발 시스템으로 연결해요. C++을 읽고 쓸 줄 알고 지금 코드베이스를 다루는 로보틱스·자율주행 개발자를 위한 과정이에요. C++ 문법을 처음 배우는 강의는 아니고요.

Readable Programming 살펴보기

가르쳐온 곳

  • 프로그래머스 자율주행 데브코스 1·2·3·5·6기에서 C++ 개발환경, 빌드 시스템, 코드 품질 멘토링

  • SSAFY 포트폴리오 특강

  • 서울ICT이노베이션 특성화고 Python 교육

강의에서 남기는 것

제가 실제로 쓰는 시스템을 열어서 보여드려요. 결과물만 따라 만들고 끝내지 않아요. 왜 이런 구조가 필요했는지, 각자의 일에 가져갈 때 뭘 바꿔야 하는지까지 설명해요. 강의를 다 들으신 뒤에 남아야 하는 건 구경한 시스템이 아니에요. 자기 일에 맞는 시스템이어야 합니다.

더보기

커리큘럼

전체

28개 ∙ (3시간 33분)

해당 강의에서 제공:

수업자료
강의 게시일: 
마지막 업데이트일: 

수강평

전체

19개

4.8

19개의 수강평

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

    수강평 1,148

    평균 평점 4.9

    5

    11% 수강 후 작성

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

    • JY C님의 프로필 이미지
      JY C

      수강평 4

      평균 평점 4.8

      5

      100% 수강 후 작성

      감사합니다. 자동화 스크립트는 실무에서 큰 도움이 될 것 같습니다!

      • fain9301님의 프로필 이미지
        fain9301

        수강평 103

        평균 평점 4.7

        5

        100% 수강 후 작성

        좋은 강의 감사합니다.

        • choiseonmun님의 프로필 이미지
          choiseonmun

          수강평 16

          평균 평점 4.9

          5

          79% 수강 후 작성

          VSCode로 C++를 시작하려는 입문자 분께 추천드립니다. 항상 Why를 알려주는 것이 좋았습니다. 아쉬운 점은 (1) 슬라이드에서 강조 시 여러 색깔보다는 단일 색상을 이용하는 게 눈에 좀 더 보기 편했을 것 같고, (2) Windows에서의 설정은 보여주지 않는다는 점(WSL에 익숙하시다면 무관) (3) 수업 노트로 Repo 링크를 달아주었다면 편의성 측면에서 더 좋았을 듯 합니다.

          • foxrose님의 프로필 이미지
            foxrose

            수강평 14

            평균 평점 4.6

            수정됨

            5

            64% 수강 후 작성

            좋은 강의 감사합니다.

            비슷한 강의

            같은 분야의 다른 강의를 만나보세요!

            무료