지난주 일요일 집에 돌아오고나서 밀린일 하느라 계속 공부를 하질 못했는데

어제 밤이 되서야 오랜만에 책좀 읽었다.

 

이번에는 네트워크 원리에 대해서 원래 어느정도 알고는 있었지만

복습도하고 놓친부분을 채우려고 계속 볼 생각을했지만 그동안 영 의욕이 생기질 않아 하질 못했는데 어쨋든 봤다.

 

먼저 그림으로 배우는 네트워크 원리를 보면서

기존의 네트워크 관련 서적이 너무 어렵게 써져 있어서 이해하기가 어려운 부분들을 꽤 깔끔하게 정리해주었다.

내용은 잘 생각 나지는 않지만 인터페이스랑 물리/데이터링크 계층에 대해서는 좀 더 명확하게 이해했는데

 

인터페이스는 서로 다른 장치간에 만나는 부분 혹은 포트라고도 하고, (이부분은 TCP의 포트랑 좀 햇갈리긴했지만)

물리 계층은 물리적으로 연결되어 데이터를 전기적신호로 보내고 받는부분

데이터 링크 계층은 같은 네트워크 내에 MAC 인터페이스 간 연결? 정도 였던거같고,

 

모두의 네트워크 같은 경우에는

두 화자간에 대화하는 형태로 내용이 서술되어 있어서

읽다가 갑자기 내용이 확 뛰어넘어서 뭔가 싶을 순간들이 있지만

화자간의 대화라 그런가 내용의 흐름들이 앞에서 부터 읽었다면 따라가기 좋게 됬던거같다.

 

이 책에서 조금 더 명확하게 이해한게

HTTP 버전과 허브, 스위치인데

HTTP 1.0은 3way handshake를 각 프레임마다 하는 문제가 있었지만

HTTP 1.1에서는 keep alive 데이터를 전송할때 모든 프레임들을 보낼때까지 연결을 유지하도록 해서 3way handshake를 반복을 하지 않게하고

HTTP 2.0의 경우 전송을 순서대로 하다보니 순서가 늦은 데이터는 앞의 데이터 전송이 끝날떄 대기하는걸 방지하도록 모든 데이터의 프레임들을 같이 보내도록 순서를 조정했던것 같다.

 

그동안 계속 허브, 스위치가 햇갈렸는데

허브 : 물리적인 연결, 모든 연결된 호스트에 전달, 목적지가 아닌데도 보낸다 = 바보 허브/더미 허브

스위치 : MAC 주소 테이블, 주소 테이블이 없을땐 전체 보내서 만든후, 데이터를 허브와 달리 목적지에만 보내준다.

라우터 : 라우팅 테이블만들어서 전달?

 

 

충돌 방지 프로토콜

- CSMA/CD : 송신자 감지 다중 접속/충돌 감지?, 이더넷, 라우터에서 알아서 해준다.

- CSMA/CA : 송신자 감지 다중 접속/충돌 회피?, Wifi

 

공유기

- 라우터 + 스위치 + 무선 엑세스 포인트

 

무선 엑세스 포인트

- 인프라 스트럭쳐 모드 : 엑세스포인트를 중심으로 통신?

- 에드훅 모드 : 무선 장치간 1:1 통신

 

 

 

몇개 더 이해한게 있긴한데 대충 보면서 이거라도 더 알아먹은게 어딘가싶다.

'책 & 영상' 카테고리의 다른 글

전자정복  (0) 2023.08.27
이노베이션신화의 진실과 오해  (0) 2023.08.27
한동안 임베디드는 글럿다..  (0) 2022.06.20
책) 알기쉽게 배우는 AVR ATMEGA 128  (0) 2022.06.19
유튜버 포프TV  (0) 2022.06.12

얼마전에 대강 이 책을 보면서

제대로 안본 부분도 많긴 한데

 

너무 불친절한 부분이 많았다.

특히 LCD 파트 볼떄

4비트 모드로 동작시키는데 

 

LCD 4비트 모드 초기화라면서 값이 4비트가 아니라 여러개 있지 않나

선은 7개인데 어떻게 4비트로 값을 보내는지 등등등

뭔가 설명이 빠진 부분이 많았다.

 

 

책 제목은 알기 쉽다면서

왜 이렇게 재미없고, 불친절하고, 빠진 부분이 많나 싶었는데

 

 

 

발행 년도가 2006년 2월이었다..

 

2022년에도 우리나라에서는 AVR에 관해서 유용한 자료가 (다른거에 비해서) 그렇게 많지 않은데

 

아 2006년에 나온 책이면 그 때 기준으로는

진짜 알기쉽게 배울수 있게 썼구나 싶은 생각이들었다.

이 책을 완전히 다본건 아니지만

네트워크 파트나 몇가지 부분만 빼면 거의 다 봤다.

 

이책은 원래 이만우 님인가? 아 이만우 님의 임베디드 리눅스 os 만들기 책을 보면서 나빌로스 만들기를 진행하다가

리눅스 시스템에 대해서 좀 봐야겠다 싶어서 이것 저것 찾아보다가

가장 넓고 얕게 배우는 책인것 같아서 보게 되었다.

 

리눅스 구조와 제공하는 다양한 API, 프로세서, 네트워크까지

보통 다른 리눅스 책에서는 스케쥴링이나 시그널 처리 같은 것들을 깊이 다루지만

이 책에서는 일부 영역에 깊이 하기보다는 가볍게 볼수 있도록 깊지 않고 가장 넓게 볼수있는 책이었다.

 

대강 당장 궁금했던 리눅스 구조나 개념들에 대해서 거의 다 살펴봤고

네트워크 파트나 make에 대한 내용도 더 진도나가고는 싶었지만

몇일간(길지도 않았지만) 잠깐 하면서 당장 리눅스에 대해서 궁금했던 부분도 어느정도 해소됬고,

계속 이걸 하기에는 동기부여가 잘안되서

 

이제 다음으로 곧 3d 프린터 운용기능사 실기 시험이있어서 실기시험을 준비하면서

지난번에 하다만 나빌로스를 진행해볼까 싶다.

 

그래도 이 책을 보고 공부하면서 간단한 디버깅 방식이나 시스템 콜, 가상 메모리가 뭔지, 디렉터리 구조 등 

이전보다는 약간이나마 더 정리하면서 도움됬던거 같다.

 

나빌로스 만들기를 진행할수도 있고, 결국에는 이런걸 공부해서 간단한 프로토 타이핑을 해보는게 목표라

이용성 교수님이 유튜브에 올리신 프로테우스로 센서를 만들고 시뮬레이션을 돌려보거나,

'실습과 그림으로 배우는 리눅스 구조' 혹은 '디버깅을 통해 배우는 리눅스 커널의 구조와 원리' 이런 책을 볼까 싶다.

 

최근에서야 책을 많이 읽으면서 알게 된게, 이런 책들이 다 리눅스를 다루고있기는 하지만 각 책마다의 컨셉이 있다는 점과

바로 내용이 많은 책을 보기 보다는 당장 나한태 너무 어렵지도 않고, 잘 전달하는지 그러니까 나한태 가장 잘 맞아보이는 책을 골라서 보는게 중요한걸 느꼈다.

 

 당장 아무생각없이 산 책이 나한태 너무 어렵거나 쉬워서 안 맞는데 돈아깝다고 보다가 재미없어서 포기했던 적이 여러번 있었는데 그럴때 능동적으로 나한태 조금 쉬운 책을 보고나서 준비 되었을때 조금 어려운 다음 단계 책을 봤었더라면 그렇게 쉽게 흥미를 읽지 않았을까 싶은 생각이 든다. 공부 순서가 중요한 만큼 책 보는 순서도 중요한거같다. 

 

내가 이번에 본 '모두를 위한 리눅스 프로그래밍'이라면 리눅스 초심자(명령어 같은건 조금은 아는) 리눅스 프로그래밍 전반을 넓고 얕게 배운다면,

'실습과 그림으로 배우는 리눅스 구조'는 다른 책들보다 추상적인 리눅스 내부 구조를 이해하기 좋게 꽤 많은 그림과 예제코드를 제공하고 있었다.

'디버깅을 통해 배우는 리눅스 커절 구조와 원리'이 책은 아직 구입하지 않아서 미리보기만 봤지만, 보통 임베디드시스템 교재하면 비싸고 구하기 힘든 atmega나 stm 교육용 보드 구입을 전제로 하고 있는것에 비해 여기서는 가장 쉽게 구할수 있는 교육용 플랫폼인 라즈베리 파이를 사용한다는 점이 좋아보이고, 나한태 필요한 디버깅 연습을 하면서 '모두를 위한 리눅스'보다는 조금 더 깊이 보는데 도움될거같다.

 

그리고 요즘 책보는데 아낌없이 투자하면서 보고있는데, 진작에 이랬어야 했다는 생각이 든다. 그 동안 돈이 아깝다는 이유로 원서 pdf를 보거나 무료 강의 같은걸로 공부해 왔었는데, 돈이 아깝다고 국내 서적을 보지 않고 부족한 영어 실력으로 원서를 보려고 하다 금방 흥미를 읽었던 적이 정말 많았다.

 

 가뜩이나 영어를 그렇게 잘하는것도 아니면서 모르는 내용을 원서로 공부하려하다가 포기하기를 반복해놓고, 국내에는 어떤 책들이 있는지 찾아보지도 않아놓고 윤성우의 c, 소켓 예전에 한두번 본거가지고 우리나라에는 코딩 문법만 가리키는 기본서밖에 없어서 우리나라에는 볼만한 책이 없다느니 하는 생각을 가지고 있었다.

 

 내가 나한태 필요한게 무엇인지 당장에 힘들어서 고민하지도 필요한걸 자세히 찾지 않다보니까, 대충 보이는 대부분의 IT 서적들이 국비학원생처럼 양산된 코딩 문법 강사들이 쓴 기초책 밖에 없어보였고, 해외에서 번역해온 전문 서적도 엉터리로 번역된게 많았었다.

 

 하기사 내가 책을 좀 찾아보려 했던게 3 ~ 4년 전인데 그 땐 지금처럼 프로그래밍 관련 수학이나 인공지능, ROS, 컴퓨터 비전책이 그렇게 많지 않아서 좋아보이는 책이 표윤석 박사님의 거북이 책, 오일석 교수님의 머신비전/컴퓨터비전 등 10개도 넘지 않을 정도로 그렇게 없었던거같다.

 

 수학 책은 컴퓨터 과학 영역을 고려해서 나온 책도 별로 없었고, 인공지능 책도 3분 딥러닝 텐서플로맛인가? 지금처럼 얼마 없긴했고, 그나마 전문적인 제목으로 무슨 무슨 프로젝트니 하는 packt 책들은 하나같이 번역기 돌린것같은 내용 뿐이었으니 우리나라에는 엉터리 책뿐이야!라고 생각해놓고 제대로 공부하는거 없이 시간이 지금까지 와버리고 말았다. 적어도 리눅스 시스템 프로그래밍 분야는 꽤 괜찬은 책이 많았는데 이쪽을 볼 생각을 못하고, 여유있지도 못했고

 

 아무튼 요즘은 정말 친절하게 쓴 책들이 많아져서 도움받을데 없이 혼자 삽질하고 있는 나한태는 이전보다는 공부하기 좋아진거같다.

 

와 난드투 테트리스를 대충 정리하고나서

주말부터 어떤 책 읽어볼까 고르고 이책 저책 읽기 시작했는데,

제대로 봤다고 하긴 힘들지만 생각보다 책을 꽤 많이 봤다.

 

이번에 본 책은 유닉스의 탄생인데,

벨 연구소에서 유닉스와 관련 프로그램들이 어떻게 누가 만들어졌는지에 대한 이야기들이 나온다.

 

내가 이 책을 왜 읽었더라..

예전에 집근처 도서관에서 조금 읽다가 만 적이 있어서인지

리눅스를 목표로 한번에 어려운 시스템 프로그래밍에 뛰어들기보다는 이책 저책을 읽으면서

배경지식을 쌓는 중이기도 해서 눈에 들어왔던거 같다.

 

IT 쪽을 공부하면서 한두번씩은 들어봤을만한 유명한 사람들이 많이 나오기도하고

1960년대쯤부터 은근히 유쾌하기도한 벨 연구소 사람들 이야기들

리눅스에서 쓰이는 grep, awk 같은 명령어들의 개발 비화라던가

make, yacc, lex 같은 컴파일 관련 도구들에 대한 이야기 등

 

CS의 토대가 되는 것들이 어쩌다가 만들어졌는지 알수 있었다.

이 책의 구입 페이지에 들어가보면

예전에 okky에서 종종 만화를 올리시던 빈꿈님의 만화가 있는데,

처음 이 책을 봤을때는 빈꿈님이 쓰신 책인줄 알았다.

근데 아니더라

 

이 책은 제목 그대로 cpu 아키텍처 설계에 관한 이야기라

처음에는 컴퓨터 구조나 기본적인 명령어 처리 과정 설명으로 시작하다가

뒤에는 파이프 라인이니 병렬프로그래밍이니 하는 보통의 응용 어플리케이션 개발자들이 잘 모르는 내용이 많다.

 

하지만 뒤에 나오는 SIMD니 CUDA니 하는 것들을 어디서 봤는지는 잘 기억나지는 않지만

종종 마주친적이 있어서 그런게 있는갑다 하고 넘어간 적이 있어서 한번 뭔지는 알아야겠다 싶기도 했었고,

 

요새 임베디드 내용을 보면서 어셈블리니 프로세서마다 어떻게 컴파일하니 바이너리가 어떻게 나오니 하는걸 다루니까 결국에는 이 책을 한번 봐야겠다 싶었다.

 

이 책 또한 엉터리 번역서와는 다르게 컴공 학부 수준 학생들이 이해할 수 있을만큼 친절하게 설명해준다.

주제가 보통 컴공하는 사람들에게는 관심가지 않고, 친숙하지 않은 것들이라 그렇지 .....

 

그래도 OS, 프로세스, 명령어 등 컴퓨터 구조 관련 개념들을 복습하고, 모르는 부분을 간단하게나마 파악하는 좋은 책이었다.

이 책은 그동안 it 공부하면서 아무 곳에서도 알려주지 않지만

은근히 자주 나와서 블로그에서 찾아보게 되는 내용들을 모은 책이다.

 

저자가 웹쪽에서 일하시는 분이셔서 인코딩, 포멧, 웹관련 내용들 위주긴 하지만

유니코드와 utf-8/16 같은 것의 차이가 뭔지,

(은근히)자주 보는 형식이지만 찾아봐도 의미를 시원하게 이해할수 없는 xml, 프로토버프 같은 내용을

 

이해하기 좋게 간단한 예시와 만들거나 출력하면서 알려주는 친절한 책이다.

 

이 책의 각 주제들은 조금만 구글링해도 쉽게 찾아볼수 있는 것들이지만

그렇게 찾은 정리된 글이라 해도 위키피디아처럼 딱딱하다고 해야할까, 60%도 이해했다고 하기 힘들만큼 막연한 경우가 많았다.

 

하지만 이 책 같은 경우에는 흔히 있는 정리 글이나 안내 글보다는 독자들이 이해하는데 많이 신경을 썻다는걸 느낄수가 있었다.

 

프로그래밍 문법과 프레임워크 사용법만 배운 웹개발자들에게는 인코딩, 포멧, 웹서버 통신 등 학원이나 학교에서는 잘 알려주지는 않지만 꼭 필요한 지식들을 안내해주니 추천하며,

 

다른 분야라 해도 인코딩이나 종종 만나는 포멧들에 대해서 잘 설명되어있으니 한번 보면 좋은책이라 생각한다.

대충 난드투 테트리스를 끝내고

잠시 쉬면서 다음에 뭘 해야할까 고민하다가 

 

이제 컴퓨터 구조에 대해서 약간은 감 잡았다! 싶어서

한 책만 가지고 2주동안 해맸으니 이번에는 다양한 책을 빠르게 독파해보자 싶어서 

 

이것 저것 찾아보면서

이만우 님의 임베디드 os 개발 프로젝트인가? 하는 책을 보기로 시작했다.

 

확실해 메모리 맵드 아이오니 스택, 가상 머신이 뭔지 같은거를 난드 투 태트리스하면서

이게 뭔지 조금은 더 감잡고 나서 보니까 전보다는 이해가 더 잘되긴 했었다.

 

하지만 이 책을 보는데 여전히 부족하다고 느꼈던데

책 자체는 아주 어렵지는 않았고, 저자 분이 친절하게 옆에 앉아서 설명해주는 식이여서

그냥 책 내용데로 따라간다고 하면 따라가지 못할것도 없었다.

 

그런데 항상 공부하면서 생각하는 거지만 나한테 맞는 순서가 중요했구나를 느꼇었는데,

이 책이 내가 어거지로 따라갈 수는 있어도

 

리눅스 시스템이나 빌드 도구, c 어셈블리 같은 내용들에 대해서 이해 없이 보는건

뭔가 순서가 안맞다는 느낌이 들었었다.

 

그래서 다른 책을 찾아 보게 되었는데

리눅스 책을 볼까 아니면 컴퓨터 안에서 데이터가 어떻게 돌아가는지 알아 볼수 있도록 네트워크 관력 책을 할까 고민하다가 두 분야의 책을 몇개 골라서 완독 까지는 아니더라도 앞의 2-3장 정도는 읽어 보면서 가장 쉽게 읽힐만한 네트워크 분야 책인 '명쾌한 설명과 풍부한 그림으로 배우는 TCP/IP 쉽게, 더 쉽게'를 우선 완독했다.

 

너무 고맙게도 이런 책들이 서울시 전자 도서관에서 제공하고 있다 보니까 바로 빌려서 봤는데, 서울 도서관 앱이 교보문고나 yes24 전자책 앱보다는 훨씬 별로긴 했다.

 

 

아무튼 이 책을 보게 된 경위를 쭉 적어버렸는데,]

책 내용은 정말 네트워크 처음 공부하는 사람들을 위해서 진짜 완전 친절하게 정리되어있다.

그래도 아무런 배경없이 보는건 힘들겠지만 다른 네트워크 서적 중에서 이렇게 까지

귀여운 그림이랑 독자들을 혼란스럽게 하지 않게 어렵지도 않으면서 간결한 깔끔한 설명으로

 

각 계층이 뭐하는거다, 보안에서 어떤게 쓰인다는걸 정리하기가 쉽게 되어있었다.

이 책 만큼 독자가 이해하기 좋게 그림으로 네트워크의 동작을 그려낸 책을 본적이 없었다.

물론 네트워크나 보안 분야에서 일하는데는 책 내용이 많이 부족하다고 생각할 수 있긴하지만

 

불친절한 네트워크 책을 처음 보고 몇일을 머리 싸메다가 손을 놓는 것 보다는

네트워크 분야 전체적인 틀을 훑어보고, 다음 단계로 넘어가는데는 크게 도움되는 책이라 생각된다.

애고 요새 하나만 깊게 하지 않고 이것 저것 일 벌리는게 많다.

 

최근에 이책 저책 읽기 시작하기 전부터 전기 자격증 준비하면서 공부하긴 했었는데

 

미적분 물리책을 보기 시작하면서 로봇 공학까지는 그래도 대강 다 보기는 했지만

 

그 뒤에 본책 메카트로닉스, 파이썬 프로그래밍, 인생 유니티 교과서, 오늘 보기 시작한 kreysig 공업수학까지는

 

한번에 다 보지도 못하고 봐야할 조금씩 본 책, 앞으로 봐야할 책들만 쌓고있다. 

 

 

 

 

이럴수 밖에 없는게 개론이나 쉬운 책이면 몰라도 지금 보고 있는 전문 서적은 대충 보고 끝낼수도 없고

 

최소한 이론은 정리하거나 실습은 해야 그래도 봤다고 할수 있을거고 그래야 남는게 있으니

 

시간이 오래걸리더라도 어쩔수가 없다.

 

 

 

그렇다고 한책만 깊게 보지않고 여러가지를 늘리고 있는데

 

한 책만 오래 보면 질리는 순간도 오고, 막힐때 그런걸 이해하기 위해서 다른 책부터 먼저 보는게 더 나은 경우도 많으며

 

결국에는 한 책에 나오는 내용이 딴 책에도 나오고 어렵게 나오는 표현이 더 이해하기 쉽게 표현한 경우도 꾀 있다보니

 

자꾸 다 읽은 책이 늘지 않고 보는 책만 늘어나고 있다.

 

 

 

딴건 몰라도 공업수학 책은 상, 하권 다읽으려면 3주이상은 걸릴거같아서 걱정이다.

 

 

------

 

아무튼 어제는 인생 유니티 교과서라는 책을 잠깐 봤었는데

 

프로그래밍 공부하면 3차원 공간에서 뭔가 만들어 보고싶다는 로망이 있었다.

 

그러다가 yes 24 북클럽 무료책에 이 책이 있길래 봤는데 정말 보물같은 책이었다.

 

 

 

 

지금 내가 학교 수업도 듣고, 공학 공부도 하다보니 실제로 유니티로 뭘 만들어볼 시간이나 여유가 전혀 없지만

 

이 책이 독자들을 안내하는 방식이 너무 마음에 들었다.

 

 

 

내가 지금까지 본 프로그래밍이나 다른 책들은 하나같이 지식, 실습을 나열했다고 해야될까?

 

아예 왜 하는지 알려주지도 않거나, 알려 준다 해도 학습에 동기를 불어넣어줄만큼 와닿지가 않는 책들이 많았다.

 

 

 

그렇지만 이 책의 경우에는 소개말부터가 정말 보물같았는데 내용도 정말 친절하다.

 

이 책에서는 유니티를 사용해서 게임을 만드는건 당연하지만

 

단순히 게임 만드는 방법을 알려줄 뿐만아니라

 

유니티 어플리케이션 설계 과정을 일반적인 알고리즘 책에서 알고리즘 설계 단계나

 

다른 CS 책에서의 소프트웨어 설계 단계처럼 딱딱하지 않고

 

실제 기업 환경에서 프로토타이핑하고, 알파 버전 만들고, 베타 버전을 만드는 과정을

 

설명하면서 어플리케이션을 만들다보니 딱딱한 책들보다는 더 와닿는다.

 

또한 파트별로 넘어갈때마다 내가 어디쯤에 와있는지 다음 파트에는 어느정도 가는지를 알려주는데

 

 

 

대부분의 책은 외워! 실습해! 지도도 주지 않고 앞으로 가!라고만 한다면

 

이 책은 앞으로 갈 방향이 어디인지, 어느정도 진도나가면 내가 어디쯤에있고, 다음에는 어디까지 갈것인지를

 

명확하게 설명해주니까 더 동기 부여된다고 해야될까 앞으로의 막연함, 막막함 같은게 줄어드는 느낌이들더라.

 

 

 

 

나는 책을 사기전에 꼭 인삿말을 보는 편인데, 

 

인삿말을 보면 저자가 이 책을 왜 썻는지, 어떤걸 목표로 하는지, 그냥 돈벌려고 했는지, 성의있게 썻는지

 

대강 감이 잡히기도 하고 공부하는 내용보다는 저자의 생각 철학을 보는게 더 재밋어서 자주본다.

 

 

 

이 책은 인삿말부터가 제목에다가 '쉽게 배우는'이니 '프로젝트'라면서 진짜 중요한 노하우는 없고

 

조금만 검색하면 나올 내용들을 파는 붕어빵같은 책들과는 다르다는 느낌은 많이 받았다.

 

아아 진짜 시간만 있으면 대충 읽어볼게 아니라 실습하면서 뭐라도 만들어 볼텐데

 

언제 여유있을진 모르겠지만 되면 해봐야지

우리 나라 시중에 나오는 대부분의 프로그래밍 강의나 교재들은

 

기본서가 대부분이지 않나 무슨 언어 교재 하나 목차를 보면

 

언어 만들어진 배경, 변수, 타입, 함수, 객체, 상속, 파일 입출력 정도는 다 있고

 

여기다가 조금 더 +알파만 하고 끝나는게 대부분이더라

 

 

 

 

내가 우리나라 교재나 자료에서 너무 답답하던게

 

이런 기초적인 내용들만 가지고 파는 책들이 대부분이고

 

'프로젝트로 배우는 %#!$#'라면서 프로젝트 한다는 책을 보면

 

주사위 게임, 계산기, 크롤링해서 머신러닝 돌리기 같이 처음 언어 배우는 사람들에게야 연습하는데 도움되도

 

프로그래밍 기본적인 감각은 땟지만 실제 프로젝트 경험이 없는 나한태는 완전히 도움이 안된다고는 하기는 어려워도

 

그렇다고 그런 책들 보고 연습해서 준비해도 실제 경험해본 프로젝트니 포트폴리오라고 하기에는 민망한 내용들 밖에 없었다.

 

 

 

그냥 편하게 말하면 opencv를 처음에 빌드해서 쓰려고하는데 cmake로 경로 설정해서 makefile 만들고 어째저째진행했는데 cmake가 뭐고 makefile이 뭐고, 파이썬으로 opencv를 쓰면 파이썬 래퍼니 뭐니 하는것들을 제대로 설명해주는 책을 거의 보질 못했엇다. 파이썬에서 느린거 c/c++로 구현하면 그걸 어떻게 쓸수있게 햇냐.

 

 

내가 어디 박혀서 독학만 하느라 나만 모르는 걸수도 있지만

 

기본적인 내용 말고 실제 써먹을수 있는건 어디서 배우나 답답하던 차에 이책을 찾게 되었다.

 

이 책도 절반정도는 기본적인 내용이지만 절반은 너무 깊게 파고들지도 않으면서 기본서보다는 더 멀리 나간 내용들이다.

 

 

 

 

중간에 아는 내용도 많다보니 1 ~ 2시간 정도 쭉 봤는데,

 

thinker나 matplotlib까지는 보통 책들에도 자주 나오기는 하지만 실제로 뭔가 만드는듯한 예제들이 꽤 있고

 

동시/병렬처리 프로그래밍, 코딩 테스트에 관심없지만 공부하기엔 적당한 분량으로 자료구조와 알고리즘도 있다. 

 

 

특히 가장 마음에 드는 부분은 마지막에 사용자 정의 패키지/모듈 c/c++ 확장 모듈

 

이런 내용들까지 알려주는 프로그래밍 교재가 우리나라 책중에 이거말고 있는진 모르겠다.

 

 

 

 

우리나라 대부분 코딩 교재란게 클래스 만들고 조금만 더하고 끝나니까

오픈 소스봐도 빌드에서 막히고, 다른 뭔지도 모를 문제로 정말 삽질을 많이 했었다.

 

 

글만 잘 찾아보고 읽었어도 해맬 일이 훨씬 적었겠지만 그렇게까지 머리 좋지도 끈기도 없어서

이렇게 친절하게 이만큼이라도 알려주는 책이 있는게 어딘가 싶었다.

 

 

 

이책을 다 읽은지는 몇일 되기는 했는데

 

로봇 공학 개론 요약을 정리하느라 너무 미뤄버리다보니

 

이 책의 내용이 가물가물해졋다.

 

 

 

내가 왜 이책을 읽게 됬는질 생각해보면

 

처음 신호처리인가 제어공학인가 공부 할때 RLC 회로를 보게 됬는데

 

나는 전기전자를 전혀 배우지도 않은 상태다 보니 푸리에 변환이니 라플라스 변환이니 왜하는건지,

 

전달함수가 뭐하는거고, 시스템응답을 어떻게 구해서 이 시스템이 안정하는지 등의 내용을 따라가는것만해도

 

너무 벅찼었다. 그래도 이 내용들은 신호와 시스템, 제어 공학에서 한정되서 공부하면 됬지만

 

 

RLC를 처음봤을때 이게 뭔지도 몰랐고 (지금은 알지만) 전기 수동 소자에 대한 내용인 만큼

 

노베이스 상태에서 아무리 봐도 이해할수가 없었다.

 

 

이거 말고도 아 맞다 미분 방정식이 있었는데, 왜 미분 방정식으로 스프링이니 진자 운동을 표현해서 푸는지도

 

전혀 노베이스 배경지식이 없는 상태에서 공부하다보니 전혀 몰랐다.

 

아무튼 진자 운동을 미분방정식이 어떻고를 억지로 외워서 넘어가긴 했는데 시간 지나면서 다까먹었다.

 

 

 

 

그러고 시간이 지나서 미분 방정식이 뭐하는건지, 공업 수학이 뭔지에 대해서 그 당시보다는 조금 알게 되면서

 

공부하기는 해야하는데 막상 공업 수학 책을 펼 여유가 없다보니 한번 가벼운 마음으로 볼수 있는 책이 없을까 찾아보다가 찾은책이 이거다

 

 

 

최근에 전기 공부하면서도 스토크 정리, 가우스 정리 등에서 선적분, 면적분도 나오는데 시험에는 나오는 공식만 외우면 됬지 원리를 전혀 없이 이해 없이 공부했었다보니

 

마침 미적분을 공부해야되기도 했고, 미적분이랑 물리 사이에 어떤 연관이 있을지 조금 더 알고 싶어서 보게 되었다.

 

 

 

이 책 중간 중간에는 내가 아는 내용들도 꽤 많아서 금방 금방 넘어가면서 보긴 했는데

 

이 책의 장점이자 단점은 중요한 공식의 유도과정이 어떻게 되는지 일일히 설명해주는 부분이었다.

 

내가 고등학교를 안나오고 검시로 통과하면서 혼자 독학만 했지 제대로 배운적없는 삼각함수 사칙 연산 공식이나 삼각함수의 미적분같은 부분은 일일히 유도해주니까 어쩌다가 이런 공식이 나오게 되었는지 이해하기는 너무 좋았다.

 

하지만 이런 정리 과정들이 너무 많아서 옆에다가 종이 놓고 일일히 따라 적어가며 하는게 아니라 눈으로만 보면서 가니 너무 길어서 따라갈 수가 없었다.

 

아무튼 왜 중요한 공식, 요약, 정리가 유도되었는지 이해하는데는 정말 좋지만 한번에 다보기에는 좀 부담스럽긴 했다.

 

 

 

그리고 대망의 물리파트, 이책을 보기전에도 어쩔수 없이 미방에 대해서 잠깐 본적이 있긴 해서 다까먹기는 했지만 일반해 특수해 초기조건이 뭔지 정도는 기억하고 있었다.

 

물리 앞에서 부터 뉴턴의 운동 법칙을 미분 방정식으로 변형하고 해를 구해나가는 과정을 거치면서 물리 현상을 어떻게 예상해 내고 단순한 모델에서 다른 요소도 반영하고 직선 운동만 아닌 회전 운동에 대해서도 미방을 만들고 유도 과정들을 정리해 보면서

 

대학교에서 공업 수학이나 물리 수업을 전혀 들은적은 없었지만 왜 미방 미방 하는지는 전보다는 조금은 알겠더라

맨 뒷파트 부분은 뭐였는지 까먹었는데 눈으로만 보기에는 전혀 따라갈수가 없어서(필기해가면서 해도 힘들었겠지만) 그냥 간단하게 패스했다.

 

어짜피 다음에 공업 수학 공부할때 복습하면서 그 때가면 더 이해하겠지 싶다.

 

 

아무튼 이 책이 고등학교 대상으로 쓴 책이다보니 (대학교에서 배울법한 내용을 쓰기도하고, 쉽지는 않지만) 어떻게든 중간에 휙 뛰어나가는 거 없이 고민하거나 앞의 내용을 다시 보면 따라갈 수 있도록 신경 써준 부분이 좋았다.

+ Recent posts