반응형

안녕하세요 발전소장 에르입니다. :)

이번에는 '이것이 *이다' 시리즈에서 C++ 시리즈 리뷰를 해볼려고합니다.


보통 프로그래밍을 처음 접할때

전공자는 C를 먼저, 비전공은 파이썬이나 자바로 처음 접하곤하는데요.

비전공이나 특이케이스로 객체지향 언어를 먼저 접하신분들의 고민은

근본적인 작동원리와 수동적 메모리관리에 대한 고민을 많이합니다.

게다가 자료구조나 포인터나 프로그래밍에 근본이 되는 개념에 대한

갈증을 많이들 호소하시곤합니다만,

저도 위와같은 부류 중 하나인지라 마침 좋은 기회에 접할 수 있게되었습니다.

기준 버전또한 최신 C++11버전을 반영하여 옛날 버전으로 공부해야하는 설움이 없습니다!

게다가 홀로 독학을 하시는 저같은 분들에게는 누군가의 도움이 '절실'할때가 있는데요,

그럴때는 카페에 가입해 자료든 질문이든 마음껏 할 수 있으니, 

독학시의 에러사항도 핸들링할 수 있겠네요.

또한 이 책은 학원과 대학교에서 교재로도 사용되고 있을정도이니,

믿고보는 '이것이 시리즈'라고 할 수도 있겠네요!

아마 누군가는 이 글을 읽으면서 굳이 왜 C++을 배워야하는것에 대한 의구심을 품고있을수도있습니다만,

저는 어셈블리까지는 찍고와야 그래도 어느정도 어떻게 돌아는가는지

어떤 아키텍쳐가 좋을지, 지금의 프로젝트가 레가시가 됬을때의 대처법이라던지..

하는 안목이 생긴다고 생각합니다.

다른 이견은 언제든지 환영입니다 :)


일단 저자에 대한 정보입니다.

최호성

2015 현재 삼성 SDS 멀티캠퍼스(현 크레듀 멀티캠퍼스)의 보안 분야 전임 교수이자 (주)프로토콜마스터 기술 이사로 재직 중이다. ‘개발자에게 은퇴란 없다’라는 신념으로 실무 개발과 집필, 강의에 모두 열정을 쏟고 있다. 비트 교육센터에서 C/C++ 강의를 했으며, 1992년 처음 C를 접한 후로 지금까지 C/C++를 이용한 응용 프로그램을 개발해왔다.
한국전자통신연구원과 옛 정보통신부가 주도한 온라인 게임 서버 성능 평가 시스템 등 다수의 기술 연구 용역과 국책 과제를 수행했고 SafeNET, TimeKeeper, CyberWALL 등 다수의 상용 소프트웨어를 개발했다. 윈도우 기반 보안 소프트웨어 분야에서도 다양한 개발 경험을 갖고 있다.
저서로는 『MFC 정복』 (가남사), 『윈도우 프로그래밍 기초/고급편』 (프리렉), 『Visual C++ 2008 MFC 윈도우 프로그래밍』 (프리렉), 『독하게 시작하는 C 프로그래밍』 (루비페이퍼)이 있다.

그리고 독자분들이 궁금해하실 목차입니다.

PART 01 C에서 C++로 문법 전환하기


CHAPTER 01 C와는 다른 C++
    1.1 C와 C++의 차이
    1.2 HelloWorld로 본 C++
    1.3 인스턴스와 입출력 흐름
    1.4 자료형
    1.5 메모리 동적 할당
    1.6 참조자 형식
    1.7 범위 기반 for문


CHAPTER 02 C++ 함수와 네임스페이스
    2.1 디폴트 매개변수
    2.2 함수 다중 정의
    2.3 인라인 함수
    2.4 네임스페이스
    2.5 식별자 검색 순서


PART 02 객체지향 프로그래밍


CHAPTER 03 클래스
    3.1 객체지향 프로그래밍 개요
    3.2 클래스 기본 문법
    3.3 생성자와 소멸자
    3.4 메서드
    3.5 정적 멤버


CHAPTER 04 복사 생성자와 임시 객체
    4.1 복사 생성자
    4.2 묵시적 변환
    4.3 임시 객체와 이동 시맨틱


CHAPTER 05 연산자 다중 정의
    5.1 연산자 함수란?
    5.2 산술 연산자
    5.3 대입 연산자
    5.4 배열 연산자
    5.5 관계 연산자
    5.6 단항 증감 연산자


PART 03 객체의 관계 규정과 설계


CHAPTER 06 상속 기본
    6.1 상속이란?
    6.2 메서드 재정의
    6.3 상속에서의 생성자와 소멸자


CHAPTER 07 상속 심화
    7.1 가상 함수
    7.2 가상 함수 테이블
    7.3 순수 가상 클래스
    7.4 상속과 형변환
    7.5 상속과 연산자 다중 정의
    7.6 다중 상속


CHAPTER 08 수평적 관계와 집합 관계
    8.1 friend
    8.2 집합 관계


PART 04 템플릿과 예외 처리 그리고 이후에 알아야 할 것


CHAPTER 09 템플릿
    9.1 클래스 템플릿
    9.2 템플릿 특수화
    9.3 클래스 템플릿과 상속
    9.4 스마트 포인터


CHAPTER 10 예외 처리
    10.1 try, throw, catch문
    10.2 스택 풀기
    10.3 메모리 예외 처리


CHAPTER 11 객체지향 주소록
    11.1 C 주소록 예제
    11.2 첫 번째: 기초 수준 객체화
    11.3 두 번째: 컨테이너 구현
    11.4 세 번째: 반복자 구현
    11.5 번외편


CHAPTER 12 못 다한 이야기와 앞으로 해야 할 것
    12.1 STL 맛보기
    12.2 람다식과 함수 객체
    12.3 앞으로 배워야 할 것






반응형
by 발전소장 에르 :) 2018. 9. 17. 00:52
반응형


정보글을 장식할 주제는 DSLR이야. 그중에서도 캐논 이라는 회사의 DSLR을 알아볼거야ㅎㅎ

 

본격적으로 라인업을 알아보기 전에 우선 캐논 이라는 회사에 대해 아주! 간단하게 훑어보고 가자!

캐논본사.jpg

캐논은 1933년, 지금의 캐논의 전신인『정기 광학 연구소』 에서 출시한 카메라 '칸논' 에서 영감을 받아 사명을 바꾸면서 시작됐어.


처음으로 만들어서 팔기 시작 한 물건은 아이러니하게도 캐논 최대의 라이벌인 니콘 (당시 니폰광학)카메라 렌즈인 Nikkor 렌즈였다고 해ㅋㅋ


출처는 위키피디아 인데, 이건 찾아보는 사이트마다 말이 다르더라고... 대충 1930년대에 세워진 회사라고 생각하고 넘어가자!


어차피 메인은 캐논이 어떤회사인지가 아니라 뭘 만들어 팔고있는지 니까ㅋㅋ


 

옛날얘기는 그만하고 현실로 넘어와서!

카메라시장점유율.jpg

캐논은 현재 카메라시장에서 압도적인 1위를 차지하고있고, 10년 넘는 기간동안 시장1위의 자리를 한 번도 내어준 적이 없어.


그래서 이쪽에서는 1등 캐논 이라는 의미로 '이찌방 캐논' 이라고 많이 하지.


카메라 바디나 렌즈가 좋고 안좋고를 떠나서 일단 시장 점유율부터가 너무 압도적이니까.ㅋㅋㅋ


21세기 카메라시장의 압도적인 1위인 캐논의 경우 시가총액은 약 46조원, 직원수는 약 200,000명인 대기업이야.


2등기업인 니콘과 비교해보면 니콘의 시가총액은 약 8조원, 직원은 25,000명으로, 격차가 어마어마한걸 알 수 있어.




이정도면 캐논이라는 회사에 대해 대충은 알아본 것 같으니, 진짜로! 본론으로 들어가보도록 하자.


아! 재미가 없을지도 모르는 정보글이 쓸데없이 길어지면 읽기싫고 짜증나니까 센서 사이즈별로 1편, 2편으로 나눠서 글을 올릴 예정이야.




시작한다!

캐논 센서.jpg

자, 이게 뭔가 싶지? ㅋㅋㅋ 이건 카메라에서 빛을 받아들이고, 그 정보를 디지털사진으로 만들어주는 카메라의 핵심부품인 '이미지센서' 야.


카메라의 센서는 크게 CCD와 CMOS 이 두가지가 있는데, 내가 앞으로 소개할 카메라는 물론이고 게이들이 아마 앞으로 사게 될? 보게 될? 카메라는 대부분 CMOS 센서를 사용하고 있으니 이거에 관해서는 크게 신경쓸 필요가 없어. 뭐 궁금하면 설명 잘 해놓은곳 많으니까 찾아보면 될 거 같아ㅎㅎ


이 센서를 크게 풀프레임(135포맷, 35mm, 36*24mm 라고도 해.) 과 크롭 으로 나눠서 생산을 하는데


풀프레임 은 우리 게이들이 어릴적 동네 마트에서 팔던 필름 기억하지? 그 필름과 같은 사이즈의 센서를 말하는거고


크롭 이라는것은 센서 사이즈가 가로*세로가 풀프레임의 1/1.5의 사이즈 (캐논의 경우 1/1.6배야) 를 갖는 센서를 말해.


'아니 생산할거면 그냥 다 풀프레임으로 하지 좆만한센서는 만들어다 뭐하냐?' 라고 생각하는 게이들이 있을텐데 이유는 이야 .ㅋㅋ

반도체 웨이퍼.jpg

게이들도 뉴스같은곳에서 반도체가 나올 때 저렇게 동그라미 원판으로 생산되는건 본 적 있지? 저걸 보통 '웨이퍼' 라고 하는데, 이미지센서도 생산할땐 다 똑같은 저 원판으로 시작을 해.

풀프레임 웨이퍼 예시.jpg

파워포인트로 급하게 만드느라 퀄리티가 노짱 따라간 점 미안하게 생각한다ㅠㅠ

암튼 웨이퍼 1개를 잘라서 풀프레임 센서를 만들면 저정도 생산 할 수 있다고 가정해보자! 물론 실제로 웨이퍼가 훨씬 더 커서 12개는 넘게 나온다 이기ㅎㅎ


자 그럼 같은사이즈 웨이퍼를 잘라서 크롭센서를 생산해볼까?

웨이퍼 크롭.jpg

하나하나 넣다가 16개까지 넣고 귀찮아서 안넣었는데 간격맞추고 빽빽하게 놔두면 풀프레임보다 훨씬 많이 생산할 수 있겠지???

웨이퍼 1개 가격을 1/센서갯수로 보면 크롭센서가 생산비용이 월등히 낮은걸 알 수 있어ㅎㅎ 이렇게 싼 센서를 만들면? 싼 카메라를 만들 수 있게 되겠지?

그렇게 해서 판매량을 늘리는 전략인거야ㅋㅋ


물론 절대적인 성능차이는 크롭이 풀프레임을 절대 못따라오지만, 뭐 가볍게 즐기기에는 크롭센서도 부족하지않은, 아니 오히려 차고넘친다고 봐도 돼ㅋㅋ


내가 지금 쓸 1편은 캐논의 크롭바디를 소개할거야. 이제 진짜로! 진짜로! 본론으로 들어가보자. 소개는 성능 (카메라 등급) 의 오름차순으로 정리할게.


기계적인 세부스펙은 네이버나 캐논 컨슈머이미징 사이트 들어가서 찾아보도록 하고... 나는 큰 특징만 대충 추려서 설명할게.


1.보급기


처음으로 소개 할 라인은 보급기야. 싼 가격으로 출시를 해서 가격경쟁력을 갖추고 많이 팔아먹겠다! 는 의미의 카메라인데,


이걸 초보가 처음 카메라를 살 때 추천하는 입문기 랑 혼동하는 실수는 하지말도록 하자ㅋㅋ 초보는 오히려 기계적 도움을 많이 필요로 하기 때문에... 


보급기종은 적합하지 않다고 생각해! 뭐 개인차이는 있으니까 이걸로 비난하지는 말아줘ㅋㅋ


1-(1) 1500D

1500D 전면.jpg1500D 후면.jpg

자 1번으로 소개 할, 그러니까 캐논 DSLR 라인업 중에서는 가장 성능이 안좋은ㅋㅋ 1500D야.


이친구는 2018년 4월 경 출시한 카메라로, 기존의 1300D의 공식적인 후속작이야. 


보기엔 다른 DSLR이랑 별 차이 없어보이는데 왜 제일 아랫등급인지 궁금한 게이들이 있을거야. 


우선 받아들인 디지털 빛 정보를 이미지로 전환해주는 화질엔진 (쉽게 컴퓨터 CPU라고 생각해) 이 DIGIC4+ 가 들어가는데, 


이 화질엔진은 무려 2008년에 개발된ㅋㅋㅋ 이걸 아직 생산하는구나 싶을 수준의 사골이야...ㅠㅠ


화질엔진만 구린가? 아니지ㅋㅋ 우선 와이파이 파일공유 시스템이 빠지고, 듀얼픽셀이라는 액정보고 사진찍기 쉽게 해주는 기능도 빠지고, 액정 터치도 빠지고...


편의기능은 거의 없다고 보는게 쉬울 정도로 처참하게 다 빠졌어ㅋㅋ 이런걸 초보자가 사면? 사진에 금방 실증을 느끼고 장롱에 쳐박게 되는거지...


개인적으로 이런걸 왜 사지? 라고 생각하는 몇 안되는 카메라야... 이 글 보고있는 게이들이라도 저건 사지말았으면 해


다나와기준 최저가 바디+번들렌즈 약 600,000\ (가격 왜이런지 나도 잘 모르겠음...)


1-(2) 200D

200d 전면.jpg200d 후면.jpg

2번째로 알아 볼 카메라는 1500D의 상위기종인 200D야.


"아니 앞뒤 사진 색이 왜 다르냐" 라고 생각한게이! 분명 있을거야! 


난 저게 200D의 정체성이라고 생각해ㅋㅋ 캐논 DSLR중에서는 유일하게 흰색모델이 나오는 제품이 바로 200D거든. 그래서 그거 보여주려고 일부러 2개 다 갖고와봤어ㅠㅠ


200D는 세상에서 가장 가벼운 DSLR로 마케팅을 해서 여성유저에게 성공적으로 어필한 100D의 후속작으로, 이정도는 사야 초보자가 사도 괜찮겠다 싶어.


우선 1500D에서 빠졌던 와이파이, 터치, 회전식액정, 듀얼픽셀 기술이 다 들어갔고, 화질엔진도 DIGIC 7이 들어가서 좋다고 생각해.


근데 난 개인적으로 이걸 DLSR이 아니라 사실상 미러리스라고 보는게 맞지 않나 생각하는데, 그 이유는 DSLR의 핵심이라고 할 수 있는 뷰파인더에 있어.

200d 뷰파인더.gif

이게 200D의 뷰파인더야. 화면에 보이는 네모 9개가 측거점이라고 하는 초점을 검출하는 포인트인데, 이게 9개지? 측거점 9개가 언제적 뷰파인더냐면ㅋㅋ


2004년에 출시한 캐논의 중급기인 20D 수준인거야... 2017년에 나온 카메라가 뷰파인더는 2004년 수준인거지ㅋㅋ


근데 라이브뷰라는, 거울을 통해 상을 보고 사진을 찍는게 아닌 이미지센서를 통해 상을 보고 그대로 찍는 기능이 있는데,


캐논에서 라이브뷰 촬영에 아주 좋은! 듀얼픽셀이라는 기술을 200D에 넣어줬다는거야. 그러니까 뷰파인더 보고 찍는건 14년 전 수준인데


액정보고 찍는건 DSLR 안에서는 어마어마하게 좋은... 미러리스로 바꿔서 쓰면 훨씬 편한 카메라가 되어버린거지ㅋㅋ 그래서 난 이게 제품은 DSLR이지만 , 시스템 상으로는 미러리스 시스템을 채택했다고 봐. 그리고 미러리스가 필요하면 굳이 200D를 사야하는 생각도 들지... 뭐 사는건 지마음이니까ㅋㅋ


다나와기준 최저가 바디 단품 약 450,000\


1-(3) 800D

800d 전면.jpeg800d 후면.jpg

이건 800D야! 누가 DSLR 하나 추천해달라고 하면 난 무조건 이거부터 추천해줘ㅋㅋ 왜인지는 밑에서 설명해줄게.


위에서도 말했듯이 캐논은 급나누기가 아주 철저한 회사야. 아랫급바디가 윗급의 영역을 침범하는걸 절대 허용하지 않아.


그래서 다른회사에서 드물게 실수로? 나오는 하극상바디가 역사상 단 한대도 없어ㅋㅋㅋ 좋게말하면 돈값하는거고 나쁘게말하면 쪼잔한거지...


근데 이 세자리수 모델은 전통적으로 보급형 (저가형) 이야. 지금이야 물론 1500D나 200D같은 하위모델이 두개나 있지만 이 두 라인업이 생기기전에는 제일 아랫등급이었지


그래서 이 라인업은 발전이 더딘 캐논카메라 중에서도 제일 ㅎㅌㅊ의 발전속도를 보여주고 있었는데, 그랬었는데!


소니가 A5100 A6000을 필두로 해서 렌즈교환형 미러리스를 시장전반에 쫙 깔아버린거야. 시장1위 캐논한테도 소니의 발전은 위협적이었던거지ㅋㅋㅋ


그래서 캐논은 특단의 조치로 AF포인트를 중급기인 80D 수준으로 확 올려버리고, 라이브뷰를 필두로 편의기능은 되는대로 다 때려박아서 출시해


물론 급나누기를 소홀히 할 수는 없으니 조작 편의성이나 세세한 기능같은건 딸리긴 해ㅋㅋ


자 이제 보급기라인의 3제품이 끝났어. 보급기 다음은 보통 중급기 인데 캐논에만 특이한 라인업이 하나 있어 그게 뭐냐면


다나와기준 최저가 바디 단품 약 600,000\


2.준중급기

77d 전면.JPG77d 후면.jpg

바로 준중급기 77D야. 아니 보급이면 보급이고 중급이면 중급이지 찰스 마냥 준중급은 또 뭐냐? 


준중급기의 정체성은 보급기(800D)의 기계적 성능과 중급기(80D)의 조작성을 스까놓은 제품이라고 할 수 있겠다!


근데 800D가 80D보다 신형이라 이미지처리 프로세서는 더 신형이어서 모든 기계적성능이 80D가 우위에 있다고는 못하겠고...


중급기랑 보급기 출시시기가 꼬여있어서 좀 애매하다 이기ㅋㅋ


암튼 이게 가격도 800D (약 600,000\) 랑 80D (약 900,000\) 사이라서 (약 800,000\) 선택이 참 어려운데...


최근 80D 후속이 나올 시기가 슬 슬 다가오면서 80D가격이 내려가는바람에ㅋㅋ 그렇게 큰 차이는 안나게 됐다.


800D랑 기계적성능은 동일한데 셔터버튼이 있는 상단에 LCD액정 (촬영옵션 표시) 이 있고 회전식 다이얼이 달려있는 등...

껍데기는 80D라고 할 수 있어


나보고 사라면 80D를 사겠지만 이게 뭐가 필요한가 싶은 게이들은 800D를 사면 돼. 

솔직히 저거 있으면 편하긴한데 없어도 그냥 막 찍고 다니는사람은


있으나마나고... 오히려 상단액정 기스도 조심해야하는 불편함이 추가되기 때문에ㅋㅋㅋ 20만원 더 주고 살 만큼의 가치가 없을지도 몰라!


준중급기는 77D 하나가 끝이야. 왜 하나냐고? 보급기가 하나니까 준중급기도 하나지 (나는 1500D는 캐논 DSLR 얘기할때 입밖으로도 안꺼냄 200D는 미러리스라고 생각함)


다나와기준 최저가 바디 단품 약 830,000\


3.중급기

이제 3번째 라인업, 중급기를 소개 해 볼거야. 중급기도 보급기처럼 1개의 제품으로 구성돼있는데, 준중급기인 77d를 설명하면서도 언급했듯이 그건 바로

80d 전면.jpg80d 후면.jpg

짜잔! 80D다 이거야! 맞다, 77D랑 똑같이 생겼지? 그래서 후면은 77D사진 쓰려다가 말음ㅋㅋ


80D가 아랫급 카메라에 비해 우월한점은 바로 셔터가 1/8,000초 지원 셔터라는거야.


' 내 노트5 프로모드 가니까 1/24,000초 셔터도 있던데 1/8,000초가 뭐가 우월하다는거야'


라고 생각할수도 있겠지만... 폰카메라는 기본적으로 전자식셔터(실제로는 셔터막이 없음) 를 쓰고있고 DSLR은 기본적으로 물리셔터 (실제로 셔터막이 존재 함) 를 쓰고있어서 그래.


셔터에 관해서는 나중에 기회가 된다면 써보도록할게ㅋㅋ 하위기종이나 더 비싼 풀프레임이라도 보급형 포지션인 6D라인은 셔터스피드를 최대한 빠르게해도


1/4,000초가 한계인데 80D는 크롭센서이긴 하지만 크롭라인업 중에서는 상위기종이라 1/8,000초 셔터를 넣어준거라고 생각해.


물론 노출시간이 1/8,000초인 사진은 잘 안찍어ㅋㅋ 실제로 야외에서 셔터속도 자동모드로 사진을 1,000장 찍으면 그중에 30장정도 나올까?


1/8,000초가 필요한 조건은


1.야외면서

2.구름한점 없는 날씨에 햇볓도 쨍쨍한데

3.조리개값 1.4 수준으로 사진을 촬영을 하고싶다!


이 조건이 모두 겹칠때야ㅋㅋ 하나만 누락돼도 1/8,000초 셔터는 굳~이 필요하다고 하기 어렵네ㅎㅎㅎ


그럼 왜 비싼 1/8,000초 셔터를 넣냐? 하면 셔터막을 그만큼 빠르게 움직여야하기 때문에 충격에 더 강하게 만들어야겠지? 그래서 내구성이 더 좋다고 해


물론 이거 맞는말인지도 모르겠고 체감도 잘 안된다만ㅋㅋ 뭐 없는거보다야 좋긴 좋을거야. 음..이거말곤 딱히 특징적인 부분이 없네.


상단 LCD라던지 회전식 다이얼은 77D에서 소개했으니까 넘어가고... 올 하반기에 80D 후속이 공개될거라는 루머가 있으니 중급기를 사겠다 하면 좀 기다리는것도 좋을 것 같아ㅋㅋ 물론 지금 가격적으로 메리트있어서 사도 됨!


다나와기준 최저가 바디 단품 약 900,000\


4.플래그쉽


드디어 이번 포스팅의 마지막을 장식할 크롭바디 끝판왕! 플래그쉽을 소개할 차례가 왔어ㅋㅋ


7D 전면.JPG7D 후면.jpg

이게 크롭바디 끝판왕, 작은 1dx mark2 (풀프레임 플래그쉽) 라고 불리는 7d mark2야.


특징이라고 하면 연사에 중점을 둔 기계적 성능 (초당 10연사, AF포인트 65개) 과 회전식 터치 디스플레이의 부재라고 볼 수 있어.


전천후 기기라고는 보기 어렵지ㅋㅋ 연사에만 초점을 둔 특수목적기기라고 볼 수 있어.


이건 누가사냐고? 정글에서 새사진 찍는 기자나 스포츠선수 촬영 하는사람이 주로 써. 


연사가 이 카메라의 특징이자 전부야


음..그래서 딱히 할 말이 없네 이거는. 연사를 극한으로 조져야하는 상황이 아니라면 일상에서는 난 80d가 더 편하다고 봐!


아니면 이 돈으로 풀프레임센서를 가진 보급형바디 6D Mark2를 살 수도 있을거야


이건 내가 잘 모르기도 하고 판매볼륨이 큰 모델도 아니라.. 진짜로 할 말이 없네 미안하다ㅠ


다나와기준 최저가 바디 단품 약 1,500,000\


자 1편에서는 캐논의 크롭센서를 가진 DSLR에 대해서 알아봤어. 

원래 풀프레임까지 한 포스팅만에 다 알아 볼 생각이었는데ㅜㅜ 이게 생각보다 분량이 너~무 길더라고.. 

그래서 풀프레임은 2편에서 다루도록 할게. 

부족한 정보글 끝까지 읽어준 게이들이 몇이나 될지 모르겠다만 읽어줘서 고마워~ 

내 글쓰는 방식이나 구성에 대해서 불만있으면 댓글로 좀 말해주라 그래야 고쳐서 2편에서는 좀 더 깔끔하게 글 쓸 수 있어ㅠ

그럼 진짜 끝이다! 안녕!


반응형
by 발전소장 에르 :) 2018. 8. 23. 00:24
| 1 |