[ GAN is ... ]

 

AI가 만든 얼굴이라던지, 오바마 전미국대통령의 fake 영상이라던지 하는 뉴스를 들어보았을 것이다.

이런 것들을 만들어낼 수 있는 가장 대표적인 기술적 배경이 바로 GAN 이다.

 

아래 영상을 보면 바로 어떤 것인지 알 수 있다.

 

 

GAN은 "Generative Adversarial Network"의 줄임말인데, 풀어보면 아래와 같이 말할 수 있다.

  • Generative: 생성(Generation) 모델을 이용하여, 진짜 데이터와 같이
  • Adversarial: 두 개의 모델을 적대적(Adversarial)으로 경쟁시키며 발전 시키는
  • Network: 인공신경망(Artificial Neural Network)

 

"GAN"은 라벨(정답)이 없는 데이터를 가지고 학습을 하는 비지도학습의 한 유형이다.

GAN에 대한 가장 대표적인 설명은 "위조지폐범"과 "경찰"이다.

 

GAN

 

위조지폐범(생성모델)은 진짜와 구분이 어렵도록 위조지폐(가짜 데이터)를 계속 생성하고,

경찰(분류모델)은 진짜와 가짜를 계속 분류하면서 50%의 확률 정도가 될 때까지 계속 진행을 하는 방식이다.

 

 

 

[ This book is ... ]

 

서두가 길었다 ^^

 

GAN에 대해서 알려주는 괜찮은 책이 이번에 한빛미디어에서 출간되었다.

책의 제목은 "GAN 첫걸음" !!!

 

GAN 첫걸음 - 표지

 

예쁜 보라색으로 깔끔한 폰트로 제목이 적혀있는 표지를 갖고 있는 조금 작은 크기(신국판 규격 정도?!)의 책이다.

거기에다가 지금 이 글을 적고 있는 시점에서보면 나온지 얼마 안되는 따끈따끈한 책이다.

 

GAN 첫걸음 - 초판

 

이 책의 지은이는 "타리크 라시드"이다.

 

GAN 첫걸음 - 지은이

 

"타리크 라시드"는 이 책에 앞서서 다른 책을 출간했었다.

 

신경망 첫걸음 - 10점
타리크 라시드 지음, 송교석 옮김/한빛미디어

 

어떻게 보면 위 책의 다음 2권과 같은 위치에 있는 것이 바로 이 책 "GAN 첫걸음"인 것 같다.

물론, "신경망 첫걸음"을 보지 않고 바로 "GAN 첫걸음"을 본다고 하여 문제가 되지는 않는다.

 

GAN 첫걸음 - 대상 독자

 

책에 쓰여져 있는 것처럼, 기초부터 알고 싶은 사람을 배려해서 쓰여져 있기 때문이다.

 

하지만, 아무리 그래도 최소한 Machine Learning에 대한 기초적인 지식이 있으면 조금 더 읽기 수월할 것이고

"신경망 첫걸음"을 먼저 읽었다면 더더욱 읽고 이해하기 좋을 것이다.

 

 

[ Prerequisite ]

 

이 책은 기본적으로

"구글 코랩(Google Colab)" 환경에서 "파이토치(PyTorch)" 라이브러리를 이용하여 GAN을 구현한다.

 

친절하게도 이 책에서는 "Chapter1 파이토치 기본"에서

기본적인 실습 환경과 배경 지식에 대해서 친절하게 설명을 해주고 있다.

 

그러다가 PyTorch의 기본 데이터 형태인 텐서(tensor)에 대해서까지 Part1에서 설명을 해준다.

 

 

[ practice ]

 

"Chapter2 파이토치로 만드는 첫 번째 신경망"에서는

유명한 MNIST 데이터셋을 이용해 PyTorch로 신경망을 만드는 과정을 꼼곰히 설명해주고 있다.

 

"Chapter3 성능 향상 기법"에서는 조금 더 성능을 높이기 위한

손실함수, 활성화 함수, 옵티마이저, 정규화 등에 대해서 설명한다.

 

"Chapter4 CUDA 기초"에서는 AI 하면 떠오르는 GPU를

어떻게 사용할 수 있는지에 대해서 친절하게 설명해준다.

 

여기까지가 "Part1 파이토치와 신경망 기초"에 해당한다.

 

 

[ lesson ]

 

본격적인 GAN에 대한 학습은 "Part2 튼튼한 GAN 만들기"로 분류되어 있는

"Chapter5 GAN 개념"부터 "Chapter8 얼굴 이미지"까지로 이루어져 있고,

 

"Part3 흥미로운 GAN 기법"에서는 조금 더 고급스러운(?)

'Chapter9 합성곱 GAN', 'Chapter10 조건부 GAN'에 대해서 설명해주고 있다.

 

 

 

[ My Opinion is ... ]

 

아직 이 책의 끝까지 공부해보지는 못했지만 지금까지 공부하면서 느낀 점을 적어보면...

 

책이 나름 친절하고 쉽게 설명해주고자 노력했지만,

그렇다고 해서 Machine Learning이 뭔지도 공부하지 않은 상태에서 접하기에는 어려울 수 밖에 없다.

 

또한 책에서 심심찮게 보이는 "신경망 첫걸음에서 뭐뭐를 해봤었다"와 같이

이 책을 보기 전에 "신경망 철걸음"을 보고와야 되는 것처럼 되어 있는 점은 조금 아쉬웠다.

 

하지만,

최소한 "Machine Learning"에 대해서 조금이라도 공부를 해보신 분이라면

GAN에 대해서 공부하기 위해 이 책을 추천할 수 있을 것 같다.

 

어려운 수학 공식에 대한 설명 보다는

구글 코랩에서 PyTorch를 직접 구현해보며 공부할 수 있다는 점은 정말 좋았다.

 

직접 해보면서 공부하는 것을 좋아하시는 분에게는 정말 정말 적극 추천한다!!!

 

 

※ 이 책은 한빛출판네트워크의 '나는 리뷰어다' 이벤트를 통해 제공 받은 도서입니다.

반응형

 

머신러닝에 대한 이론 공부만 해서는 실무에서 적용할 때 무쓸모가 될 수도 있기에 😥

실무에 적용을 어떻게 해야하는지에 대해서 살펴보고자 찾던 중 찾게 된 도서 !! 😍

 

"Machine Learning for Business"

 

책 표지

 

왠지 멋지게 생긴 선장 같은 아저씨가 더욱 더 눈길을 잡아끌었다.

 

하지만, 보험약관 처럼 놓친 것이 있었으니...

"아마존 세이지메이커와 주피터를 활용한 빠르고 효과적인 머신러닝 활용법"

 

어쩐지 추천의 글에 있는 2분 모두 AWS코리아 소속이시더라니... 😁

 

 

뭐 하지만, 회사에서도 퍼블릭 클라우드 사용량을 보면 대부분 AWS를 쓰고 있고,

글로벌 트렌드를 봐도 뭐 AWS가 대세이기는하니 ...

이번 기회에 말로만 듣던 세이지메이커 한 번 써보지 뭐 !!! 😑

 

 

우선 AWS 가입부터 해야하는데,

친절하게도 책의 뒷 부분에 있는 '부록'에

"AWS 가입"부터 파일 저장을 위한 S3 설정 및 사용방법, 세이지메이커 설정 등에 대해서 친절히 알려준다.

 

Amazon SageMaker

 

그런데, AWS 서비스 쓰려면 돈드는 것 아닌가!?

본래 처음 가입하면 1년간 어느 정도 사용할 수 있는 무료 정책이 있다지만

나는 이미 무료 1년이 지났는데... 그래서 홈페이지 찾아가봤다.

 

SageMaker 요금제

리전을 서울로 바꾸지는 말자.

시간당 요금이 여기보다 비싸다.

 

그런데, 실제 사용하면 얼마쯤 나온다는 것일까?

 

SageMaker 요금 예제

 

2시간 정도 쓰면 500원쯤 지불한다는거네... 음... 나의 똑똑해짐을 위해 이 정도는 투자해줘도 될 것 같다. 😎

 

뭐, 기본 환경 구축은 이 정도로 하고...

 

 

 

책의 내용을 살펴보자.

 

도서 구성

 

일반적인 회사의 운영 영역을 시나리오로 해서 구성이 되어있다.

 

각 시나리오에 따라 데이터가 제공되고

그 데이터를 모델에 적합한 형태로 가공도 하고

학습/검증/테스트 용도에 맞게 데이터셋 분리도 해보고

시나리오와 데이터에 맞는 머신러닝 알고리즘을 선택해서 학습도 한다.

심지어 AWS 비용 절감을 위한 관리 방법까지도 알려준다.

 

 

다만, 이렇게 실제 머신러닝을 비즈니스에 적용하기 위한 과정을

AWS SageMaker를 이용해서 적용하는 과정에 대해서 설명을 하다보니

머신러닝에 대해서는 많은 분량으로 설명해주지는 않는다.

 

하지만 이 부분은 절대 이 책의 단점이 아니다!!!

 

이 책은 분명히 타이틀에 적어놓은 것 처럼

"비즈니스 머신러닝"에 대한 책이다!!!

 

또한,

"아마존 세이지메이커와 주피터를 활용한 빠르고 효과적인 머신러닝 활용법"에 대해서 알려주는 책이다.

 

 

그리고, 이 책의 경우 원서에는 없는 설명도 포함되어 있다.

 

한국어판 부록

 

IT 서적의 안타까운 부분인데... 대상 시스템이 업그레이드가 되어버려 버전이 맞지 않게 되는 것이다.

하지만, 친절하게도 버전을 맞출 수 있는 방법을 가이드해주고 있다.

 

 

머신러닝에 대해서 기본적인 사항들을 공부하신 분들에게 추천하고픈 책이다.

전체적으로 어떤 흐름으로 비즈니스에 적용하는지 살펴보기에 충분히 괜찮은 책이다.

 

 

※ 이 책은 한빛출판네트워크의 '나는 리뷰어다' 이벤트를 통해 제공 받은 도서입니다.

반응형


이번 달에 리뷰 도서로 당첨된 책은 "데이터 전처리 대전"이다.



데이터 전처리 대전 - 10점
모토하시 도모미쓰 지음, 윤준 옮김/한빛미디어


AI/ML 관련 분야 中 "데이터"에 대한 내용을 담고 있는 책이다.



아직까지도 AI/ML 공부한다고 하면

대뜸 TensorFlow 또는 PyTorch와 같은 것으로

어떻게 Training을 해서 모델을 만들 것인지에 대해서 파고든다.


경사하강법(gradient descent)이 어찌고

오버핏이 어찌고 등등등...



하지만, 제대로된 결과물이 나오기 위해서는

제대로된 입력물이 있어야 한다!!!



즉, 데이터가 중요하다는 말이다 !!!



그러한 데이터를 미리 예쁘고 똑똑하게 처리하는 것이 바로

"데이터 전처리" 이다.






제목도 직관적이고

표지 디자인도 예쁘고

색상도 주황색으로 트랜디 하다!


즉, 책을 딱 보면 괜찮을 것 같다는 기대감을 준다 !!!







원서의 경우 2018년도에 작성이 되었고

번역본은 2019년 11월에 출간이 되었다.

아직 개정판은 없는 것 같다.


음... 시시각각 새로운 것들이 쏟아지는 AI/ML 바닥에서

지금 (20년 11월) 이 책을 봐도 되는 것인지

우려가 되기도 하지만...


데이터를 다루는 부분에 있어서는

책에서 설명하고 있는 내용들이 안될일은 없을 것 같다.


즉, 지금 구매해서 봐도 괜찮다.






이 책은 크게 4개의 파트로 구성되어 있다.


정말 직관적이다.


전처리가 무엇인지 설명해주고 (1부)

구조를 어떻게 손봐야 하는지 알려주고 (2부)

내용도 손봐야 하는 경우 어떻게 할지 알려준 다음에 (3부)

실전에 적용하기 위해 필요한 사항들을 알려준다 (4부)





화려한 것을 좋아하는 개인적인 취향에서 조금 아쉽게도

흑백 인쇄이지만

깔끔한 편집으로

보기 편하게 잘 되어 있다.







번역도 술술 읽힐 정도는 아니지만

그냥 보기에 크게 어색하지 않게 잘 되어 있다.







책 내용은

표지에 명시되어 있는 것처럼


파이썬

SQL

R


3가지 방법으로 설명을 해주고 있다.



즉, 현재 주로 사용하고 있는 언어(도구?)가

저 3가지에 속한다고 하면 아무 부담없이

이 책을 구매해도 될 것 같다.



각 도구(언어?)에 대한 설명은 별도로 없기 때문에

셋 중 하나는 다룰줄 아는 사람에게만

이 책을 권장한다.






이 책에서 사용하는 데이터는 한빛미디어 홈페이지에서 다운로드 받을 수 있다.


http://hanbit.co.kr/support/supplement_survey.html?pcode=B1543811360




역자가 예제 환경 설정 등에 대해서 포스팅을 해준다고 했는데,

1년이 지난 지금까지도 포스팅 안해줬다.


https://junyun0516.github.io/




그냥 데이터나 예제를 github를 통해서 공유해주지....




결론은 ...

1년이 지난 책이지만, 지금 봐도 괜찮은 데이터 전처리 관련 도서이다.






* 이 책은 한빛출판네트워크의 '나는 리뷰어다' 이벤트를 통해 제공 받은 도서입니다.



반응형

 

이번 달에 보게된 책은 다음과 같다.

 

[한빛미디어] Machine Learning with Python Cookbook - 파이썬을 활용한 머신러닝 쿡북

 

 

 

주의할 점은

이 책은 입문자를 위한 책이 아니라

머신러닝에 대해 익숙한 개발자를 위한 책이라는 사실이다.

 

 

 

하지만, 그렇다고 해서 너무 겁먹을 필요는 없다.

 

친절하게도 numpy 기본에 대해서도

한 번 집어주는 등 나름 친절한 부분도 있으니

너무 무서워 할 필요는 없다.

 

 

 

 

 

 

Chapter 1 에서는 numpy에 대해서 알려주고 있고

 

 

 

Chapter 2 에서는 sklearn(사이킷런)을 이용한 샘플데이터 생성하기와

pandas(판다스)를 이용한 외부데이터 불러오기 등을 알려준다.

 

사실 이 정도면 거의 입문서라고 봐도 무방할 것 같다.

 

 

 

그리고, 더욱 더 친절하게도 옮긴이(박해선님)가

"덧붙임"이라고 추가적인 설명까지도 제공해주고 있다.

 

 

 

물론 그렇다고 해서 머신러닝에 대해서

한 번도 공부해보지 않은

말 그대로의 입문자에게

추천할 수는 없을 것 같다.

 

 

머신러닝에 대해서

한 번쯤 간략하게 살펴본

입문자는 아니고

초보자라고 불리울 정도의

수준에 있는 분에게 필요한 책으로 보인다.

 

 

 

그리고 개인적으로 마음에 드는 것은

흑백이 아니라 살짝 컬러가 들어가 있다 !!!

 

 

 

 

이 책은 표지에 써 있는 것처럼

사이킷런 중심으로 작성되어 있다.

 

뒷 부분에는 케라스로 작성된 내용도 있긴하다.

 

참고하면 될 것 같다.

 

 

 

 

이 책에 대한 정오표는 아래에서 확인할 수 있다.

 

https://tensorflow.blog/ml-cookbook/

 

 

 

그리고, 원서에서는 제공하지 않는 코드를 옮긴이가 별도로 제공해준다!!!

 

https://github.com/rickiepark/machine-learning-with-python-cookbook

 

 

* 이 책은 한빛출판네트워크의 '나는 리뷰어다' 이벤트를 통해 제공 받은 도서입니다.

반응형


최근 가장 인기있는 직업


"유튜브 크리에이터"



해당 직업을 갖기 위해서는

유튜브에

자신만의 동영상을

촬영하고 편집해서

업로드를 해야한다.



이렇게

동영상만 업로드하면

엄청난 조회수의

유명 크리에이터가

될 수 있을까?





유명 유튜버가 되기 위한

비법이 담긴

"유튜브 정석"



허팝은 

"허팝과 함께하는 유튜브 크리에이터 되기"

라는 책을

이미 2017년에 출간했었다.






최근 바뀐 트랜드를 반영하고

추가적인 노하우까지 담아서

새로 출간한 책이다.


아직 따끈 따끈~







단순한 영상 편집 기법만 다루는 책이 아니다.


많은 유튜버들이 저작권 이슈로 인해

어려움을 겪었었다.


그러한 저작권 관련한 내용도 설명해주고 있다.






업로드만 했다고

사람들이 봐주지 않는다.


어떻게 업로드를 해야

많은 사람들이 찾아와주는지

구독을 눌러주는지를

설명해주고 있다.







알면 좋은 것들을

정말 꼼꼼하게 넣어주었다.







심지어 캡처 보드의 동작 원리까지~





책 전체가 컬러판이다.

종이질도 고급스럽다는...





솔직히, 큰 기대를 하지 않았었다.


어떤 분야에서 성공한 사람들이 낸 책들을 보면

본인 자랑만 잔뜩 있고


도덕책에 나올만한 내용들로 가득하고


네이버 검색 또는 구글링을 하면

손쉽게 볼 수 있는 내용들로 가득한

그런 쓸모 없는 책들이 대부분이기 때문에...



하지만, 이 책을 살펴보면서

저자가 신경을 많이 쓴 책이라는

생각이 확~ 들었다.



유튜버가 되기 전에 살펴보면

정말 정말 좋은 책이다!


이미 유튜버일지라도

이 책을 통해

많은 것을 배울 수 있을 것이다.




이 책을 택배로 받았을 때

초등 6학년인 딸이 먼저 열어보았는데

재미있다고

책을 가져가버렸었다.


초등학생도 재미있게 볼만한 책인 것은 분명하다.




허팝만 따라 해봐! 유튜브 정석 - 10점
허재원(허팝).안정기 지음/한빛미디어


* 이 책은 한빛출판네트워크의 '나는 리뷰어다' 이벤트를 통해 제공 받은 도서입니다.


반응형


최근 업무를 하면서 Python을 종종 사용하고 있다.


자료 취합하고, 가공하는 업무에서도 유용하고,

API를 이용한 자동화를 구성하기에도 유용하고,

AI/ML을 할 때에는 거의 de-facto 이다보니...



이와는 별도로 software engineer라는 간판을 달고있다보니

회사에서는 알고리즘 평가에 대한 인증을 요구하고 있다.



python 공부와 함께 알고리즘 공부를

동시에 할 수 있는 방법은 없을까?!




여기에 그 정답이 있다!!!



고전 컴퓨터 알고리즘 인 파이썬

(Classic Computer Science Problems in Python)



표지에 있는 인물 그림이 강력하다!!! ^^

'중국 신부 또는 사제'라고 한다.





최근에 Python 2.x 버전은 공식적으로 지원 종료되었으니

당연하긴 하지만...


이 책에서는 Python 3.7 버전을 기준으로 작성되었다고 한다.





이제는 기억나지도 않는 까마득한 꼬꼬마 시절에

프로그래밍 공부를 막 시작하던 시절이 생각나게 하는 주제들이다.


Pascal 또는 Borland C++, 아니면 Turbo C 등으로 공부했었는데...


공부를 한다고 하긴 했었지만,

체계적인 공부가 아닌 구현에만 급급한 주먹구구 방식이었다.





수포자에게는 낯선 단어일 수도 있는 "피보나치 수열"

하지만, 이 책에서는 친절하게 모두 설명해준다 !!!






이러한 공부를 위한 실습환경은 정말 중요하다 !!!


예전에 C언어 책 소개를 하면서 셋팅했던 구름IDE를 이용하면 편하다.

아래 링크 참고~!!


https://www.whatwant.com/entry/한빛미디어-알쏭달쏭-C언어-180제






솔직히 Python 공부 역시 주먹구구식으로 해왔고,

Python 2.x를 주로 사용해왔기에

이 책에서 제시하는 코드들을 보고 처음에는 조금 당황했다.


function에서의 문법이나, 변수 선언할 때의 문법 등이 새로웠다!!!

뭔가 멋져보여서 배워야겠다고 마음먹었다 ^^






고전 컴퓨터 알고리즘 인 파이썬

(Classic Computer Science Problems in Python)


이 책을 한 문장으로 설명하자면,

고전적인 알고리즘 문제를 Python을 이용해서 공부할 수 있도록 설명해주는 책이다.


고전적인 알고리즘 문제라고 해서

요즘 배울필요가 없는 오래된, 유효기간이 지난 내용이라는 말은 절대 아니다!!!


이 책의 특징은

알고리즘 문제에 대해서 상당히 친절하게 설명을 하고 있고

단순히 그 결과만 도출하는 것이 아니라

성능 좋은 결과를 얻기 위해 풀이해 나가는 과정에 대해서도 차근차근 잘 설명을 해주고 있다.


또한 Python을 이용하여 구현을 하고 있기에

타이핑 후 즉시 결과를 확인하기에도 편리하고

변수의 사용에 있어서도 보다 자유롭다.


또한, Python 3.x의 문법 공부에도 도움을 준다.





욕심 같아서는 하루에 한 문제씩 풀어나가며 공부해봐야겠다!

(솔직히 하루에 한 문제는 무리고... 일주일에 한 문제 정도는... ^^)





고전 컴퓨터 알고리즘 인 파이썬 - 10점
데이비드 코펙 지음, 최길우 옮김/한빛미디어



* 이 책은 한빛출판네트워크의 '나는 리뷰어다' 이벤트를 통해 제공 받은 도서입니다.

반응형


최근에 React 기반의

홈페이지 제작에 관심이 있어서 살펴보다가

React Native를 알게 되었었다


안드로이드 앱개발과 iOS 앱개발을

한 방에 할 수 있다는~~~


그러다가 우연히

Flutter(플러터)

이야기를 듣게 되었고


최종적으로

플러터를 공부하기로 마음먹고

설치부터 공부하던 와중에...



집에 도착하게 된 책




우와~~~ 타이밍 정말 구우우우웃~~~~!!!





Flutter 개발 환경 구축은 아래 링크를 참조하기 바란다.


https://www.whatwant.com/entry/Flutter-Install-Flutter-설치하기-Windows




책을 받기 전에 이미 진행했던 내용인데...

책을 먼저 받아보았다면

조금 더 편하게 진행할 수 있었을텐데...




최근 많은 인기를 얻고 있는 Flutter 이다보니

구글링을 하면

많은 좋은 포스팅 및 동영상 강좌를 찾아볼 수 있다.



나도 그렇게 찾아서 하나씩

공부를 해보고자 하였으나

구글링을 통한 학습은

꼼꼼히 공부하기는 쉽지 않았다.



그러다가 받게된 "처음 배우는 플러터"라는 책은

정말 가뭄의 단비와 같이

알고 싶었던 내용들을 잘 설명해주었다.




플러터라는 언어에 대한 충분한 소개가 너무 좋았다.


구조가 어떻게 되어있고

다른 경쟁 도구(?)인 자마린이나 React Native 등과의 비교도 좋았다.



플러터 프로젝트에서 보이는 폴더들에 대한

설명도 꼼꼼하게 해주어서 정말 정말 좋았다.







각주를 보면 "합니다"로 하다가 "한다"로 변하는 과정을 보면서

인간적인 면(?)을 보여주기도.... ^^



책이 아직은 조금 다듬어지지 않은 부분이 보이긴 하지만

내용 자체가

기본적인 부분에서 너무 충실하기에

그냥 웃으며 넘어갈 수 있을 것 같다.




책 제목 그대로 처음 입문하는 용도로는 너무나 좋은 책이다.


이 책을 통해서 기본적인 사항에 대해서

파악한 뒤에


구글링 또는 유튜브 검색을 통해서

다른 좋은 자료들을 찾아서

원하는 내용을 공부하면 충분할 것으로 보인다.





다만, 입문용으로 적합한 내용의 책이다보니

조금은 아쉬운 부분들이 없지 않아 있다.


Android Studio 기반으로 작성되어 있다보니

요즘 유행하는 Visual Studio Code 환경에 대한 설명은 없다.


Android 위주로 설명하다보니

구글의 Material 디자인 위주로 내용이 나오고

애플의 Cupertino 디자인 내용은...


그리고

C나 Python 정도만 살짝 공부한 기본 지식이 있는 독자 정도면

충분하다고 하였지만...

그 정도만 공부한 분들이 도전하기에는

조금 쉽지 않을 수도 있겠다라는 느낌이...


뭐 하지만, 무식한 나도 어느 정도 따라갈 수 있었으니 상관 없을 수도 있겠다!




여하튼, 개인적으로 플러터에 대해서 공부하려는 찰라에

받게된 책인데,

가려운 부분을 정말 잘 긁어준 책이었기에 너무 좋았다 !!!




* 이 책은 한빛출판네트워크의 '나는 리뷰어다' 이벤트를 통해 제공 받은 도서입니다.


반응형


퇴근하고 집에오니

갑작스레 택배가 도착해있었다.



응!?

우리 컴맹 와이프가 갑자기 C언어를 공부하려고 하나?


아니면,

우리 공주님이 스크래치를 벗어나 드디어 C언어의 세계로 발을 들여놓으려고 하는건가?



표지는 깔끔하고... 예쁜데?!



'시바타 보요'라는 지은이는

C언어 책뿐만 아니라 Java 책도쓰고

무술, 건강지도법 등까지도 하는

정말 다재다능하신 분인가보다.


보통 하는 말로 "잡학"하신 분 ^^



작년 12월에 1쇄가 나온 따끈따끈한 책이다!!!



대체 이 책이 왜 택배로 온것이지?!


ㅋㅋㅋ


한빛미디어에서 모집한 "나는 리뷰어다"라는 행사에 응모했던 것이

정말 운이 좋아서 당첨이 되었었고

이번 3월 행사에 신청을 했던 것이

또 당첨이 되어서...^^



우하하하하~~~~~~ !!!




그런데, 내가 C언어를 사용해본지가 까마득한 옛날이라...

지금 내 컴퓨터에는 Visual Studio도 없는데...


C언어 180제.... 이 문제들을 어떻게 풀어보지!?



C/C++ 소스코드들을 컴파일하고 실행할 수 있는

"Dev-C++"이라는 도구를 소개해주고 있다.



https://sourceforge.net/projects/orwelldevcpp/


지금은 주소가 위와 같이 변경되었다 (예전 주소로도 접근은 가능하다)

무료로 사용할 수 있는 재미있는 도구이긴하지만...


마지막 업데이트가 2016년도...

개인적인 취향으로 입맛에 맞지 않는다 ^^






VirtualBox로 Linux Machine을 만들어볼까 생각도 했지만

그건 또 귀찮기도 해서...


그래서 Facebook에서 봤던 구름IDE 라는 것을 떠올려봤다.


(구름 이라는 서비스와 저는 아무런 관련이 없습니다!!!!!)


예전에 웹기반 개발환경을 알아보다가 알게된

국산! 웹IDE 개발환경


이번에 처음 가입해봤다.



https://ide.goorm.io



회원가입은 Facebook 같은 SNS 계정으로다 잘된다



회원가입 하고 로그인하면 위와 같은 환경이 나오는데...

Free 조건으로도 충분히 C/C++ 개발환경을 구성할 수 있었다.


"새 컨테이너 생성" 버튼을 누르면 된다.



컨테이너 이름만 새로 하나 지어주고

위와 같이 해서 그냥 만들면 된다.



그러면 위와 같은

나만의 웹기반 IDE를 갖게 된다 !!!



"알쏭달쏭 C언어 180제"

Chapter 01 실습파일을 넣기 위한 폴더를 하나 만들어보자.


위와 같이 'src' 폴더에서

마우스 오른쪽 버튼을 눌러 나오는 메뉴 중에서

'새로 만들기 - 폴더'를 고르면 된다.



폴더 이름은 'chap01'이라고 지어주자.



이번에는 'chap01' 폴더에서 '새로 만들기 - 파일'메뉴를 골라주자 !!!



파일 이름은 'ex0101.c'로 만들어 주자.



우리가 따라서 해 볼 첫번째 문제는 위와 같다

문제라고 하지만

실제로는 그냥 따라서 해보면 된다.



위와 같이 책에 있는 내용을 그대로 타이핑해보자.



'ex0101.c'파일에서 마우스 오른쪽 버튼을 눌러 나오는 메뉴에서

'빌드 - 선택한 파일 빌드' 항목을 눌러주면 빌드를 해볼 수 있다.



더 편리하게 해볼 수 있는 것은

'실행 - 선택된 파일 실행'을 선택하면 빌드 및 실행까지 바로 된다.



그러면 하단에 위와 같이 실행 결과를 확인할 수 있다.



앞에서 저장 기능을 따로 말하지 않았는데...

위와 같이 파일 이름 옆에 "*"가 나오는 것은 아직 저장되지 않은 내용이 있다는 뜻이고,

오른쪽 위에 있는 '저장' 버튼을 이용해서 바로 저장할 수 있다.


2번째 문제도 위와 같이 ex0102.c 파일로 작성한 뒤에

실행을 해보자.



한글 출력도 잘된다~!!




팁 아닌 팁인데...

Git 처럼 구름IDE 에서도 ignore 기능이 있다.


소스파일이 있는 곳에서 바로 컴파일을 하면

즉, 터미널 창에서 'gcc ex0101.c'를 실행하면

'a.out' 파일이 생성이 되는데,


그러면,

프로젝트 창에 'a.,out'도 표시가 되어버린다.


이런게 싫어서 찾아본 기능이 바로 'ignore' 이다.



프로젝트 창의 오른쪽 위에 'Ignore 설정' 버튼이 있다.



여기에서 위와 같이 입력을 한 뒤 '추가'하면 된다.







"[한빛미디어] 알쏭달쏭 C언어 180제"


오늘 리뷰를 하려는 책으로

공부하기 위한 준비는 모두 된 것 같다.


이제, 열심히 하나 하나 직접 해보면서 진행하면 된다.




처음에 이 책을 받고 제목에 있는 "180제"라는 문구를 보고선

알고리즘 테스트 관련 서적처럼

문제를 받으면 머리 싸메고

풀어야 하는 그런 책으로 생각을 했다.


하지만, 이 책은 알고리즘 공부를 위한 책이 아니라

C언어를 공부하기 위한 책이다.


문제 풀이 형식으로

아주 아주 기본적인 내용부터

하나씩 배워나갈 수 있도록 구성이 되어있다.


이론적인 내용부터 가르치는 것이 아니라

실제 완성된 코드 형식을 보고

왜 그렇게 작성이 되었는지를 설명해주고 있다.



개인적으로 진작에 이런 책이 있었더라면

보다 편하게 C언어를 배웠을텐데...

라는 아쉬움이 ^^






http://www.hanbit.co.kr/store/books/look.php?p_code=B1265473016






* 이 책은 한빛출판네트워크의 '나는 리뷰어다' 이벤트를 통해 제공 받은 도서입니다.



반응형

+ Recent posts