통합 검색어 입력폼

최고의 C++ 강의 5개

조회수 2017. 5. 29. 11:54 수정
번역beta Translated by kaka i
번역중 Now in translation
글자크기 설정 파란원을 좌우로 움직이시면 글자크기가 변경 됩니다.

이 글자크기로 변경됩니다.

(예시) 다양한 분야의 재밌고 유익한 콘텐츠를 카카오 플랫폼 곳곳에서 발견하고, 공감하고, 공유해보세요.

개발자라면 기억해두세요!

C++ 언어는 오랜 역사와 탄탄한 사용자 층, 그리고 고유한 지지 및 사용 기반을 가진 프로그래밍 언어입니다. 특정한 회사에 속해있지 않은 까닭에 C++ 컨퍼런스는 다양한 단체와 기구에서 주최되고 있는데요. 그 중 전세계 대표적인 C++ 컨퍼런스에는 아래 5개를 들 수 있습니다.

1. Cppcon

2. C++ and Beyond

3. Meeting C++

4. The ACCU Conference

5. C++Now


출처 : informit.com (자세한 비교 분석은 이 링크를 참고해주세요.)

C++ 컨퍼런스 중에서 제일 유명하고 규모도 큰 컨퍼런스로는 ‘CPP콘'(Cppcon)을 꼽을 수 있습니다. CPP콘을 살펴보면, 사전 등록자 참가 비용은 2016년 기준 995달러(약 116만원), 일반 등록자의 경우 1195달러(약 139만원)였는데요. 다행히도 우리는 비싼 항공료와 숙박비, 혹은 등록비를 부담할 능력이 안 돼도 공부할 의지만 있다면 대부분의 컨퍼런스들을 고화질 영상, 그것도 무료로 감상할 수 있습니다. 많은 컨퍼런스들이 종료되고 나면, 발표 자료와 발표 영상들을 깃허브와 유튜브에 모두 업로드해 두기 때문입니다. 그 중 C++ 개발자라면 놓치기 아쉬운 명강의들이 존재하는데요. 이러한 영상을 처음 접하시는 분들을 위해 최고의 강의 5개를 뽑아 정리해 보았습니다.

(무료강의
)
1. 션 페어런트의 ‘C++ 시즈닝(Seasoning)’

C++ 언어 초심자 뿐만 아니라, C++을 오랫동안 사용해 온 분들이라도 션 페어런트란 이름은 익숙하지 않을 수도 있습니다. 그러나 C++ 세계에서는 션 페어런트(Sean Parent)는 중요한 C++ 컨퍼런스마다 키노트 연사로 나서는 등 많은 존경과 인정을 받고 있는 개발자이기도 합니다. 션 페어런트는 현재 어도비시스템즈에서 ‘최고 과학자'(Principle Scientist)라는 역할로 일하고 있습니다. 그는 2013년부터 C++ 시즈닝, 베터 코드: 데이터 스트럭처베터 코드: 컨커런시과 같은 훌륭한 명강의들을 남겼습니다.


그 중에서도 제가 소개해 드릴 최고의 강의는 ‘C++ 시즈닝’이라는 강의입니다. (참고로 션 페어런트는 이 시리즈에 속한 여러 동일한 강의들을 여러 컨퍼런스에서 발표하기도 합니다) 2013년 9월 마이크로소프트(MS)의 본사가 위치한 미국 레이몬드에서 열린 ‘고잉네이티브(GoingNative) 2013’에서 션 페어런트는 ‘C++ 시즈닝’이란 제목의 강의를 진행했습니다. 이 링크에서 내려받을 수 있습니다.


‘C++ 시즈닝’ 강의에서 션 페어런트는 C++ 코드를 작성할 때 지켜야 할 몇 가지 가이드를 소개합니다. 예를 들어 raw loop 사용하지 않기, raw lock primitives 사용하지 않기, raw pointer 사용하지 않기 와 같은 얼핏보면 단순한 내용들 입니다. 그러나 단순히 수칙들을 전달하는 것에 그치지 않고, 자신의 구글에서 개발했던 경험을 바탕으로 그리고 여러 예제 코드들을 곁들이며 최고과학자라는 직함에 맞게 왜 그러한 주장을 하는지 친절하게 듣는 이들을 설득합니다.


<션 페어런트를 강의를 무료로 볼 수 있는 곳>
1. C++ 시즈닝 강의 링크
https://channel9.msdn.com/Events/GoingNative/2013/Cpp-Seasoning

2. Better Code: Data Structures (Cppcon 2015)
https://channel9.msdn.com/Events/CPP/CppCon-2015/Better-Code-Data-Structures

3. C++ Russia 키노트(C++ Russia 2015)
https://www.youtube.com/watch?v=IYmoz7e1L5c

4. 션 페어런트의 모든 강의 보기
https://channel9.msdn.com/Events/Speakers/Sean-Parent

2. 스콧 마이어스의 ‘이펙티브 C++’ 시리즈 돌아보기

C++ 세계에서의 최고의 록스타를 꼽으라면 아마도 C++ 창시자인 비야네 스트롭스트룹(Bjarne Stroustrup) 교수님과 스콧 마이어스(Scott Meyers) 두 분께서 1·2위를 놓고 다투지 않을까 생각이 듭니다. 그만큼 C++ 세계에서는 두분은 아주 유명하신 분이지요.


2014년 독일 베를린에서 ‘미팅 C++ 2014’ 라는 컨퍼런스가 주최됐는데요. 이곳에서 스콧 마이어스는 자신의 과거 30년 전 이펙티브 C++(Effective C++) 시리즈가 어떻게 시작되었는지, 그리고 어떤 일들이 있어왔는지 오래전 에피소드와 함께 기술적인 내용도 함께 공유합니다. 이펙티브 C++ 시리즈의 팬이라면 꼭 들어보시길 추천합니다.

스콧 마이어스의 ‘이펙티브 C++’ 시리즈 돌아보기
https://youtu.be/smqT9Io_bKo

3. 니콜라스 옴로드의 fbstring 개발기

이번에는 비교적 최근에 열렸던 2016년도 CPP콘에서 있었던 인상깊었던 강의 하나를 소개하고자 합니다. 발표자는 니콜라스 옴로드(Nicholas Ormrod). 페이스북에서 엔지니어로 일하고 있는 분입니다. 그는 이 발표에서 C++의 표준 라이브러리 중 페이스북에서 가장 많이 활용되고 있는 스트링(string)을 설명하고, 그들이 떠났던 여정에 대해 설명합니다. gcc에서 string의 구현 방식을 살펴보고, 그 사용 특징에 기반해 아마도 스콧 메이어스만큼이나 유명한 안드레이 알렉사드레스큐(Andrei Alexandrescue)가 작성한 fbstring이 탄생하기까지 배경을 설명합니다. 특히 중간에 std::string을 fbstring으로 변경한 후 페이스북닷컴 전체에 가져온 퍼포먼스 향상에 대해서도 이야기 하니 꼭 들어보시길 바랍니다.


CppCon 2016: Nicholas Ormrod “The strange details of std::string at Facebook” 1. https://channel9.msdn.com/events/CPP/CppCon-2016/CppCon-2016-Nicholas-Ormrod-The-strange-details-of-stdstring-at-Facebook

2. https://youtu.be/kPR8h4-qZdk

4. 스테픈 T. 라와웨이드의 STL 강의들

마이크로소프트에서 근무하고 있는 스테픈 T. 라와웨이드(Stephan T. Lavavej)는 그의 이름 약자로 더 유명합니다. 바로 S.T.L이 그의 이름 줄임말인데요. 특히나 그가 맡고 있는 일이 비주얼 C++의 STL 개발이기 때문에 C++ 컨퍼런스에서 허브 서터나 션 페어런트처럼 유명한 연사도 그의 이름으로 농담하는 유머를 종종 들을 수 있기도 합니다. STL은 특히 트위터, 레딧에서 C++ 커뮤니티, 비주얼 C++의 제품 피드백 게시판과 같이 사용자들의 접점에서 활발히 활동하고 사람들에게 바로 답변을 주곤 합니다. 특히 좀 지난 영상이긴 하지만, MS의 채널9에서 STL은 C++ 고급 강의 시리즈를 몇 차례 진행한 적이 있었고, 그 내용은 모두 내려받아 감상할 수 있도록 업로드돼 있습니다. 각 시리즈의 제목과 주소는 다음과 같습니다.


<스테픈 T. 라와웨이드의 STL 강의 링크>
1. C9 Lectures: Stephan T. Lavavej – Standard Template Library (STL)
https://channel9.msdn.com/Series/C9-Lectures-Stephan-T-Lavavej-Standard-Template-Library-STL-

2. C9 Lectures: Stephan T Lavavej – Advanced STL https://channel9.msdn.com/Series/C9-Lectures-Stephan-T-Lavavej-Advanced-STL

3. C9 Lectures: Stephan T. Lavavej – Core C++ https://channel9.msdn.com/Series/C9-Lectures-Stephan-T-Lavavej-Core-C-

4. CppCon 2016: Stephan T. Lavavej “tuple<>: What’s New and How it Works” 
https://youtu.be/JhgWFYfdIho

마지막으로 소개해 드릴 영상은 기술 중심의 토크라기보다는 일종의 깨우침을 주고자 하는 발표자 의견 중심의 강의 영상입니다. 그 깨우침이란, C++을 공부하는 사람들에게 그간 의심하지 않고 받아들이고 답습하던 과거 C 방식의 교육을 지양하고 이제는 C++을 C++답게 배우고 가르치자고 주장하는 내용이 그것입니다.


발표자인 케이트 그레고리(Kate Gregory)는 C++ 독립 컨설턴트로 활동하고 있으며 과거 책, 발표 등을 통해 이름을 알린 여성 개발자입니다. CPP콘 2015에 열렸던 이 세션에서는 우리가 지금 가르치고 있는 C++이, 실제로는 정말 C++이 줄 수 있는 장점들을 뒤로 한 채 C 문법만 강조하는 교육이기 때문에 부정적인 면이 많다고 주장합니다. 그러면서 C++을 C++답게 쓸 수 있는 내용부터 가르치자고 말합니다.


케이트 그레고리의 Stop Teaching C 영상
https://channel9.msdn.com/Events/CPP/CppCon-2015/CPPConD05V002
이 콘텐츠에 대해 어떻게 생각하시나요?