suakii.egloos.com

suakii's log





이글루를 떠날까 한다....

한번 정 붙이면 쉽사리 바꾸지 못하는 성격이긴 하지만..
동영상 첨부가 안되니 너무 불편할 뿐이다.
다행이도 티스토리의 데이터 백업 기능이 종료되기 이전에 전체 데이터를 백업해 놓았기에
이동이 훨씬 수월하구나...
앞으로는 글을 티스토리에 쓰게 될 것 같다.
사실 뭐 찾아오는 사람도 별로 없지만 말이다...

suakii.tistory.com
으로 이동 중....

Making Embedded Systems - 디자인 패턴을 적용한 임베디드 시스템 : #6_04

임베디드 시스템이라는 말은 개인적으로는 왠지 멋있어 보인다. 물론 그 이면에 도사리고 있는 많은 기술적인 어려움과 난해함을 잘 모르더라도 말이다. 소프트웨어만으로 존재하는 시스템이 존재할수 없는 것처럼 하드웨어 그 자체만으로는 또한 아무런 의미가 없을 것이다. 주변에서 가끔 하드웨어와 소프트웨어를 너무 이분법적으로 보는 것은 아쉬울 따름이다. 이 책은 책의 제목처럼 임베디드 시스템을 개발하는 다양한 방법론에 대한 설명을 해주고 있다. 책의 부제인 디자인 패턴이 언급된 것처럼 소프트웨어 개발 시 들어봤었던 몇 가지 패턴들을 하드웨어적인 측면에서 부가적으로 언급해주고 있다. 물론 양쪽이 반드시 일치하지도 않고 그럴 필요도 없을 것이다. 개인적으로 책은 좀 어렵게 느껴지는것 같다. 하드웨어에 대한 언급을 하고 있기에 보드를 같이 병행하여 읽으면 좋겠지만 이러한 점이 책을 좀 읽기 어렵게 만드는 것 같다. 관련 분야에서 많은 경험을 쌓은 분들이 읽으면 쉽게 읽을 수 있으리라 생각을 해본다.

디자인 패턴이라고는 하지만 명확히 패턴이라는 명칭을 붙인 부분은 사실 어댑터 패턴, 파사드 패턴, 상태 패턴이 전부이다. 패턴에 얽매이기 보다는 전체적인 하드웨어 시스템을 개발하는 큰 과정을 살펴볼 수 있는 것이 오히려 이 책의 장점이라고 생각을 한다. 시스템 개발시 만들어진 아키텍처 부터 시작해서 입출력과  상태, 통신, 업데이트, 추가적인 작업과 마지막의 소비전력을 줄이는 것 까지의 전반적인 과정을 언급해주고 있어서 큰 흐름을 잡을 수 있다는 것은 앞서의 장점과 같다. 또한 각 챕터의 마지막에 나오는 인터뷰 질문은 꼭 하드웨어 개발자가 아니더라도 어떠한 문제에 대한 질문자의 의도와 핵심을 파악하고 거기에 따른 올바른 대답을 할 수 있어야 한다는 점에서 또하 이 책의 장점이 아닌가 라는 생각을 해본다.

지금 현재 아두이노를 이용하여 작은 시스템의 개발을 학생들과 같이 진행을 하고 있기에 이 책은 어떻게 진행을 해 나가야 하며, 어떠한 부분에 초점을 맞추어야 하는지에 대해서 많은 도움을 주는 것 같다. 다만 아쉬운 점은 이 책이 말하는 다양한 것들을 아직은 완벽하게 소화하지 못하는 나 자신의 역량의 한계일 뿐이다.

 어떠한 프로세서를 가지고서라도 프로젝트를 진행해 보았거나, 시작하려는 사람들이 주의해야 할 것들 그리고 관심있게 살펴봐야 할 것들을 친절하게 그리고 조금은 어렵게 제시하고 있는 이 책은 충분히 그만한 가치가 있다고 생각을 한다.
마지막으로 책을 잘 읽어 소화하지 못한 것이 못내 아쉬울 뿐이다.


Head First Data Analysis : #6_03

수 많은 데이터가 나열되어 있는 곳에서 의미있는 정보를 추출하는 것 만큼 어렵지만 의미이 있는 작업이 또 있을까 라는 생각을 늘 해본다. 굳이 최근에 이슈가 되고 있는 빅데이터 뿐만 아니라 데이터 과학자 등의 모든 것들도 사실 통계의 확장에 지나지 않을까 라는 생각이다. 다만 그 다루는 양과 다루는 도구의 차이가 사뭇 다른 용어들을 만들어 내고 있는 것일테고 말이다.

해드퍼스트 시리즈 특유의 구성답게 다양한 삽화와 문답식 그리고 약간은 혼란스러울 수 있는 구조가 매력이라면 충분히 매력적이다. 다만 이 시리즈의 가장 큰 약점은 해당 주제에 대한 지식이 있는 상태에서 읽는 것이랑, 물론 모든 책이 그러하겠지만 그 학습의 차이가 꽤나 많이 발생하는 것 같다는 생각이 개인적으로 늘 든다.

책을 읽는 내내 이 책이 데이터 분석이라는 제목을 가졌지만, 사실 상 통계 책이랑 같은 맥락이고 그 연장선에 있는 책이라는 것이다. 그렇다고 해드퍼스트 통계 책을 먼저 읽으라는 것은 아니지만 사실 읽어야 하고, 읽게 될 것이며, 읽으면 더 좋다는 것이다.

해드퍼스트 책은 어수선한 전개해도 불구하고 상당히 많은 내용들을 전달하려고 늘 노력하는 것 같다. 이 책 역시 데이터 분석이라는 것이 무엇인지에 대한 개괄적인 설명으로 시작하고 있다. 사실 모든 것들을 단계로 나눈다는 것이 쉬운 일은 아님에도 정의, 분해, 평가, 결정이라는 절차로 설명해주고 있다. 그렇다 결국 모든 분석의 끝은 무엇인가를 결정하기 위한 수단이라는 것이 관건이다. 그 결정이 책에서 자주 언급되는 CEO, 자신의 논문에 대한 근거이든 말이다.

다양한 분석 도구들이 존재하지만, 우리가 쉽게 사용하면서도 그 가치와 힘을 제대로 깨닫지 못하고 사용하는 엑셀부터 언급해주고 있다. 사실 최적화 기능 같은 것은 일상생활에서도 여러모로 쓸모가 있는 기능이다. 통계를 다뤄본 사람이라면 필연적으로 SPSS를 접하지 않을까 라는 생각을 하게 되지만, 요즘 들어 특히나 주목받고 있는 R에 대한 언급은 그 자체만으로도 참 의미 있다는 생각을 해본다. 물론 그 언급의 범위가 설치와 약간의 사용으로 제한적이긴 하지만, R을 더 공부하고 싶다는 생각을 들게 해준것만으로도 감사하게 생각한다.

책의 부록에서도 명확하게 언급하고 있지만, 이 책은 통계의 중요한 항목들을 다루지 않은 부분이 많다. , 어느정도 안내를 하고 있다는 것이다. 적합한 해를 찾기 위한 최적화 기능을 엑셀을 통해 설명하고, 또한 나온 각종 자료들을 시각화 해주는 방법을 설명하고 있으며, 가설 검증을 위한 기법들, 그리고 베이지안, 주관적 확률, 휴리스틱, 히스토그램, 회귀 등등을 언급하면서 통계의 기초에 대한 안내를 하고 있으며 다음의 더 깊은 학습을 위한 초석을 제공해주고 있다는 것이다. 그리고 그러한 안내 방식이 충분히 개인적으로는 마음에 든다.

많은 데이터 속에서 자신의 의사결정에 필요한 과학적인 방법을 공부해 보고 싶은 사람들은 오히려 해드퍼스트 통계를 공부해야 할 것이다. 아니면 통계라는 단어가 들어간 수 많은 책들을 공부하는 것이 오히려 정답일 것이다. 다만 이 책은 데이터 분석이라는 너무나도 매력적인 말로 그러한 단계로 들어가는 길을 살짝 쉽게 안내해주고 있다는 생각이 든다. 결코 책의 제목에 너무 많은 현혹이 되지 않았으면 좋겠다. 그리고 이 책은 그러한 길을 충분히 안내해줄 수 있다고 생각을 한다. 차근 차근 곱씹어서 읽어보고 그 다음 단계로 나간다면 목표한 바를 이를 수 있을 것이다.

 


 

 


뇌를자극하는 하드웨어 입문 - 만들면서 이해한다 #6_02

아두이노나 여타의 비슷한 다양한 보드를 이용하여 보다 편리하게 하드웨어를 사용하고 프로그래밍 하고 자신만의 만들기를 할 수 있는 일반적인 환경이 갖추어진 요즘 오히려 그렇게 편리하게 사용할 수 있는 것들에 대한 내부적인 원리와 부품 자체의 특성에 대한 호기심은 시작하는 사람이 반드시 만나야 하고 넘어서야 하는 단계라는 생각을 개인적으로 가지고 있다. 물론 환경의 편이성이 주는 것을 그 자체로만 받아들인다면 또 다른 이야기 일 것이다.

이 책은 책의 제목처럼 다양한 하드웨어 요소들을 직접 만들어 보면서 학습을 진행할 수 있도록 안내해주는 역할을 하고 있다. 납땜하는 방법부터 시작해서 매우 친절하게 설명하고 있다고 생각한다. 하드웨어 파트의 핼로우 월드 격인 LED도 직접 켜보고, 다양한 논리 게이트 들을 이용하여 간단한 회로를 구성하고, 프린트 회로 기판 작업까지 다루며, 메모리 회로를 만들고, AVR을 이용한 회로 구성과 시리얼 통신부터 인터럽트까지 참 많은 것들 다루고 있다. 그 만큼 저자의 많은 고민이 느껴진다.

이 책이 장점은 각각의 챕터별로 소개되는 주제들을 직접 따라해 볼 수 있도록 상세한 단계를 안내하고 있다는 것이다. 브레드보드에서의 실습이 아닌 만등기판에서 직접 회로를 납땜을 하고 PCB까지 만들어서 작업하도록 하는 것은 쉽사리 결정하기가 어려웠을지도 모르겠다는 생각마저 든다. 또한 그저 사용하는 것으로 그치지 않고 그 원리에 대해서도 자세히 다루고 있어 논리회로의 실습 파트로서도 손색이 없는 책이라는 느낌이다.

반면에 아쉬운 점은 각각의 주제가 통합된 하나의 실습이 아닌 논리회로 과목의 실습 파트같은 느낌이 든다는 것이다. 아무리 하드웨어를 초점으로 맞추고 있다고는 하지만 8장 이전까지는 사실 프로그래밍이 전혀 개입이 되지 않고 있다. 또한 정말 초보로 시작하는 사람들이 논리회로등에 대한 선수 학습 없이 8장이전까지 쉽사리 따라갈 수 있다고는 생각하지 않는다. 그 만큼 진입 장벽은 여전이 높다고 본다. 또한 초보자들에게 만능기판에서의 납땜과 PCB 에칭은 정말 부담스럽지 않을 수 없다. 왜 브레드보드에서의 예제로 진행하지 않았을까 하는 생각을 해본다. 8장 이후로는 또한 난이도가 급격히 높아져서 하드웨어만 다루던 이전의 작업과 너무 많은 차이가 생긴것 같기도 하다.

책의 초판이 2006년이고 6쇄가 발행된 시점이 2012년이지만 책의 표지에서 강조하고 있는 온라이 학습 사이트나 책의 QA란은 요 몇년간 제대로 운영이 되고 있지 않은것도 상당히 아쉽게 다가온다. 출판사 쪽에서라도 학습 사이트나 QA혹은 책에서 소개되고 있는 부품 구입사이트 등에 대한 링크는 재공지 혹은 수정할 필요가 있다는 생각을 해본다.

너무나도 손쉽게 자신만의 만들기를 할 수 있는 편리한 환경을 주위에서 구할 수 있는 요즘에도 설사 그것이 브레드보드 상에서의 간단한 작업이라고 하더라도 결국 직접 회로를 납땜하고 에칭을 하는 작업을 결국은 만나게 될지도 모른다. 이 책은 그렇게 회로를 납땜하고 자신만의 기판을 만드는 작업부터 시작해서 논리회로를 구성하는 다양한 게이트들에 대한 안내를 차근차근 해주고 있다. 물론 소프트웨어를 사용한 하드웨어의 제어에 대한 소개의 비중과 하나의 완성도 있는 프로젝트 성격의 챕터들은 아니지만 논리회로를 공부한 사람에게 실제적으로 그것들을 구현해보거나 시작하는 사람들은 구현을 통해 이론을 알아볼 수 있는 좋은 기회를 제공해줄 것이다. 또한 AVRISP를 이용하여 자신만의 보드를 만들어 향후에 지속적으로 공부할 수 있는 발판을 마련할 수 있기에 좋은 출발점으로 삼을 수 있는 책이라는 생각을 해본다.


자바스크립트와 SVG로 쉽게 만드는 웹 기반 데이터 비주얼라이제이션 D3

어떻게 보여주느냐는 것이 어찌보면 자료가 가지고 있는 숙명이 아닐까 생각해 본다. 숫자로 이루어진 데이터 속에서의 규칙을 찾음에도 우리는 늘 그래프나 차트를 통해서 보다 명확한 자료를 보려고 한다. 그런 면에서 이 책은 자바스크립트를 이용하여 데이터를 어떻게 보여줄까 하는 것에 초점을 맞추었다. 사실 자바스크립트에 익숙하지가 않아서 코드가 쉽게 눈에 들어오지는 않았기에 첨부되어 있는 예제들을 실행해보고 결과를 직접 확인하면서 D3가 가지는 장점들을 살펴보았다. 이렇게 다양한 작업들을 무작정 쉬운 코드들은 아니지만 수월하게 표현해내는 것들을 보면서 웹의 진화가 어디까지 이어질 수 있을지에 대한 궁금증이 유발되었다. 그런 점에서 꼭 D3의 사이트를 방문해보기를 권한다.(http://d3js.org/) 감탄사가 나올뿐이다. 
이러한 장점을 가지고 있는 D3인 반면에 오히려 책은 아쉽게만 느껴진다. 전자책이 가지는 제한된 사항때문인지는 모르겠지만 일단 분량이 너무 적고 몇 개의 예를 보여주기에 급급한 것이 아닌가 하는 생각이 든다. 사용된 예들 또한 다양한 자료들을 다루었다는 생각이 들기도 하지만 사실 너무 제한적이다. 그리고 확실히 책을 편하게 읽으려면 많은 선행 지식들이 요구된다. Json 데이터를 파싱하는 파이썬 코드까지 보기에는 사실 힘이 부쳤다. 개인적으로는 말이다. 그리고 제공되는 7개의 예제들 또한 앞서 말한 분량의 아쉬움만 남을 뿐이다. 
그래도 웹 기반에서 다양한 자료들을 시각화하려는 사람들에게는 반가운 라이브러리가 아닐까 라는 생각을 해본다.
책을 완벽하게 소호하지 못하는 현재의 나의 지식이 더욱 큰 아쉬움으로 남는다.

빅데이터의 충격: 거대한 데이터의 파도가 사업 전략을 바꾼다! #6_01

이 책을 읽기 전까지 그저 용량이 큰 데이터에 대한 처리와 해당 자료에 대한 분석을 통해무엇인가 의미있는 것들을 산출해 내는 것이 빅데이터와 관련한 주제들이라고 막연하게 생각했었다. 뭐 그런 생각이 크게 틀린것은 아니지만, 그래도 이 책을 통해 보다 명확하고 체계적으로 빅데이터에 대한 것들을 정리할 수 있었다.

책의 두께와 표지의 첫 인상이 주는 것처럼 이 책은 빅데이터 프로그래밍에 대한 책이 아니다. 앞서 말한 것처럼 현상과 그 현상이 주는 파급 효과에 대한 것들을 체계적으로 설명해 나가고 있다. 지금처럼 수 많은 곳에서 수 많은 데이터가 생산되고 있는 시절도 없을 것이다. 중요한 것은 그러한 데이터들은 사실 이전에도 존재했었고, 충분히 그 데이터에 대한 분석의 시도는 있어왔던 것이다. 다만 생산되는 데이터의 형태가 달라지기 시작했고, 해당 데이터를 분석할 수 있는 보다 정교한 도구들이 출현했으며 이제는 그 데이터로부터 보다 의미있는 정보를 뽑아 낼 수 있게 된 것이다. 책을 읽는 내내 이러한 빅 데이터 분석 기법을 교실 환경에서도 사용해보고 싶다는 생각이 들었다. 이미 수업의 분석 기법에는 비디오 분석, 설문지 등의 다양한 분석 기법이 존재하기는 하지만, 수업이 진행되는 가운데 발생되는 수 많은 데이터, 예를 들면 학생들 개개인의 반응, 교사의 반응 등의 종합적인 자료들은 이 책이 말하는 빅데이터의 자료 요건을 충분히 갖추고 있지 않을까 라는 생각을 해본다.

이 책은 빅데이터의 정의를 데이터의 양과 다양성, 그 발생 빈도의 3V라는 측면에서 부터 정의를 하기 시작해서 빅데이터 처리에 필요한 기반 기술들을 언급하고 있으며, 빅데이터를 활용하는 미국과 일본의 사례를 각 기업의 측면에서 구체적으로 설명해주고 있다. 또한 빅데이터의 활용패턴을 보여주며, 무엇보다도 중요한 빅데이터에서 간과되어서는 안되는 개인정보의 보호 또한 빅데이터의 오픈과 해당 데이터의 마켓 그리고 최근에 빅데이터를 준비하고 있는 사례들을 잘 보여주고 있다.

앞서 말했듯이 책의 흐름은 더할 나위 없다. 정의와 도구와 사례와 준비등을 착실하게 보여주고 있으니 말이다. 작가가 참 친절하다는 느낌을 개인적으로 받는다. 일본책이니 해외와 더불어 일본 사례가 많은 것은 당연한 것일테다. 더불어 우리나라아의 자료에 대한 것들도 좀 더 소개가 되었으면 하는 생각을 가져본다. 뭐 참고문헌의 일본어로 된 것만 봐도 일본어를 모르는 사람은 어떻게 하라는 것인가? 물론 영어를 모르면 영어 참고 문헌도 못 보겠지만 조금은 다른 이야기 같다.

국내에서도 얼마전 공공의 데이터 활용에 대한 이슈가 

문제가 된 적이 있었다. 해당 정보를 공개하느냐의 여부부터 시작해서 말이다. 어느덧 그러한 데이터의 공개는 당연한 문제가 되었고 이제는 그러한 데이터를 가지고 어떻게 보다 의미있는 정보를 만들어 내는 것이 보다 중요한 관건이 되었다. 그리고 그러한 정부의 공공 데이터뿐만 아니라 너무나도 다양한 분야에서 발생되고 있는 수 많은 데이터와 이들의 신속한 처리와 이 속에서 추출되는 정보는 이제 기업의 미래를 결정짓는 중요한 자료이자 정보들이 될 것임은 이미 이 책이 아니더라도 짐작할 수 있을 것이다.

빅데이터에 대한 막연한 정의와 또한 해당 데이터의 처리 기법에 대한 간단한 소개들 그리고 그러한 자료들에 활용 사례와 준비를 이 책을 통해서 간략하고 재미있게 살펴볼 수 있는 좋은 기회가 될 것이라고 생각한다.


안드로이드 프로그래밍 정복 1권 - #5

어느덧 너무나 보편화 되어 버린 스마트폰 그 중에서도 안드로이드를 기반으로 하고 있는 스마트폰의 인기와 시장 점유율은 굳이 말하지 않아도 될 것이다. 이 책은 안드로이드 프로그래밍에 대한 모든 것들을 담고 있다고 봐도 충분할 정도의 내용을 담고 있는 책이다. 그런 점에서 안드로이드 프로그래밍 정복(이 얼마나 자신감 있는 제목이란 말인가?)만큼 이 책의 특징을 잘 설명해주는 문구도 없다고 생각을 한다. 개정판 이전에 한권으로 구성이 된 책을 이미 읽었기에 사실 그 책의 마지막 까지는 읽지 못했다 책의 구성방식에는 이미 익숙해져 있는 상태였으며 1, 2권으로 나누어지면서 추가된 내용과 챕터 등이 더 눈에 들어온 것도 사실이다.

책의 구성은 개발환경 셋팅에 관한 상세한 설명부터 시작해서, 레이아웃 관리, 입출력, 위젯, 액티비티, 스레드의 개념까지 이론, 코드, 설명의 정형화된 체계를 따르면서 반복된 형태로 마지막 까지 설명을 해나가고 있다. 코드와 상세한 설명들의 나열은 자칫 지루하고 따분한 느낌을 줄 수 있겠지만 이 책이 주는 긍정적인 측면에 비한다면 그러한 점은 충분히 무시할 수 있을 정도이다. 뭐 책의 중간 중간 나오는 저자의 유머러스하고 재치 있는 몇 구절들도 좋다. 또한 예제에 사용된 가족사진이 유난히 따뜻하게 느껴지기도 하고 말이다. 또한 책에 사용되는 전체 예제를 통합해서 제공하려고 한 점 역시 고민한 저자의 노력이 보이는 세심한 면이라고 할 수 있다.

기존의 한권으로 된 책이 1, 2 권으로 분권이 되면서 다루는 주제가 잘 나누어졌다는 느낌을 받는다. 물론 2권을 구입해야 한다는 추가적인 부담이 있겠지만, 적어도 2권을 빨리 구입해서 봐야겠다는 생각이 든다는 면에서 성공적이라고 평가를 하고 싶다. 그 만큼 저자도 추가적으로 할 이야기들이 많았을 것이라고 생각을 한다.

책이 가지는 아쉬운 점은 위에서도 살짝 언급을 했지만 상당히 따분하게 느껴질 수 있는 전개방식이라는 것이다. 앞쪽의 몇 챕터에 정신을 집중해서 읽기 시작하다가 또 다른 챕터를 넘어갔음에도 마치 이전 챕터를 읽고 있는 것 같은 구성상의 동일성이 주는 약간의 갑갑함이 그 원인이지 않을까 생각을 해보게 된다. 또한 저자가 말하고 있듯이 프로그래밍에 대한 선수 지식 특히나 자바에 대한 선수 지식이 있어야 책을 더 편하게 읽을 수 있을 것이다.

그럼에도 불구하고 이 책은 위에서 말한 아쉬운 점 보다 장점을 훨씬 더 많이 가지고 있는 책이다. 안드로이드 프로그래밍을 처음 시작하는 초보자들에게 친절하게 방향을 제시하며 고급 주제로 나갈 수 있도록 명확하게 안내를 해주고 있으며, 이미 어느 정도의 실력을 갖춘 중급 개발자들도 곁에 두고서 참고할 수 있고 또한 활용할 수 있는 레퍼런스 형식의 좋은 책이라는 것이다.

 



p.s 사실 Win32 연구 사이트인 winapi를 직접 운영하며(물론 최근엔 도메인이 바뀌었다-http://www.SoEnLab.com) 많은 책들을 저술한 저자이기에 그의 이름만 보고도 구입할 만큼 이 책은 충분한 가치가 있다.

 


1 2 3 4 5 6 7 8 9 10 다음