라즈베리 파이 활용백서 리뷰

라즈베리 파이가 국내에 보급되면서 많은 이들의 관심을 끌고 있는 와중에 BJ퍼블릭에서 “라즈베리파이 활용백서”를 내놓았다. 개인적으로 라즈베리파이를 가지고 있기 때문에 이 책을 한번 읽어보고 싶었는데 기회가 닿아 실제로 읽어보고 책에 내용대로 따라해 볼 기회를 얻었다.

책의 구성은 6개의 챕터로 나누어진다. 1장에서는 기본적으로 라즈베리파이에 대한 간략한 소개와 함께 기본 환경설정에 대해서 다룬다. 글쓴이는 라즈베리파이를 사용할 때 초기에 네트워크 설정까지만 hdmi 케이블로 직접 모니터와 연결해서 작업하고 보통은 SSH로 라즈베리파이에 접속하여 커맨드라인환경에서 가지고 논다. 하지만 가정에서 미디어센터나 게임용으로도 관심 있는 분들을 위해 GUI로도 설정을 하는 방법들을 상세히 1장에서 다루고 있으므로 참조하면 좋을 것 같다.

라즈베리파이

2장은 본인이 주로 관심갖고 실제 구축한 웹서버와 관련된 내용이 나온다. 이 책을 보기 전까지는 데비안 계열의 라즈베리파이 공식 OS인 라즈비안 위에서 아파치와 mysql을 가지고 웹서버를 구성해서 센서와 연결작업으로 이것저것 테스트를 해보았다.

하지만, 이 책에서는 기본적으로 Arch Linux를 채택하고 nginx, PHP와 Maria DB등 최신의 그리고 새로운 기술들을 접목시켜서 구축하는 설명을 한다. 이 챕터의 내용은 꼼꼼히 다 따라해서 그런것도 있지만  고사양이 아닌 소형 싱글보드에 맞는 최적화된 구성의 웹서버 설치가이드를 제공하는 이 챕터가 다른 챕터의 내용보다 가장 마음에 들고, 유익했다.

웹서버를 기본 설치한 후에 워드프레스를 올리는 설명을 이어서 하는데, 개인적으로 워드프레스는 익숙하게 활용하고 있어 대신 PHP 코드이그나이터 프레임워크를 올려서 웹개발을 하고 있다. 성능은 혼자 가지고 개발하고 놀기에는 아주 만족스럽다. 다만 실제 2장의 내용들을 하나 하나 따라가다 보니 조금 변경된 부분들과 쉘 명령어에 오타가 조금 있어 이 부분에 대한 정정이 필요해 보인다. 다음판에서는 이 부분이 업데이트 되면 좋을 것 같다.

3장에서는 미디어센터용으로 기본으로 제공되는 XBMC에 대해서 설명한다. 간단한 설치 방법 후에 이어지는 내용 설명이 일일이 캡쳐화면으로 제공되어 상세한 반면 컴퓨터와 이런 환경에 익숙한 사람들에게는 다소 과도한 친절에 가까운 설명이긴 하다. 다만 가정에 미디어 센터용으로 아무것도 어떻게 할 줄 모르는 분들이 라즈베리 파이를 처음 접했을 때는 유용한 챕터가 될 것 같다.

4장은 네오지오 에뮬 설치 방법과 실제 네오지오 게임 구동을 안내한다. 직접 따라해 보지는 못했지만 역시나 상세한 설명과 가이드가 제공되니 현재 Arch로 올린 웹서버를 다시 라즈비안으로 바꿀 때 책을 꺼내서 따라해 볼 욕심이 생긴다.

이 책의 또다른 별미가 바로 5~6장이다. 5장은 제어기 활용이란 이름을 달고 있고 6장은 실전 프로젝트 샘플 20개를 제공한다. 라즈베리파이의 장점은 GPIO를 통해서 직접 다양한 하드웨어와의 통신과 연계가 가능하다는 점인데 이 부분에 대해서 상세하게 설명을 해주고 있다. 특별히 나같은 하드웨어와 전자 지식이 다소 부족한 사람에게 빵판에 어떤 부품을 어떻게 배치해야 하는지 위 그림과 유사한 배선도를 제공하고 각 프로젝트마다 친절하게 제공하고있어 따라하기가 무척이나 쉽다. 5~6장은 이 책에서 가장 빛을 발하는 부분이다.

다시 책의 전체 구성으로 돌아오면 이 책은 꼭 처움부터 따라 읽을 필요가 있는 책이 아니다. 자기가 관심 갖는 주제에 따라 때마다 골라보는 쿡북 형식이라 볼 수 있다. 더불어 책의 매챕터는 아래 그림과 같이 챕터의 말미에 친절하게 참고 사이트를 제공하고 있어 추가적인 정보를 확인할 수도 있다.

라즈베리파이-참고

사실 최근 웹상에 많은 정보들이 있기 때문에 어지간하면 구글링으로 모든 정보를 얻을 수 있지만 워낙 정보가 많아서 나에게 꼭 맞는 정보만 찾아서 잘 관리하는 것도 꽤 시간이 드는 일이다. 하지만 이 책은 라즈배리파이를 처음 시작하는 사람부터 어느정도 심도 깊은 프로젝트에 관심있는 중급자 모두에게 흥미로울 주제를 골고루 담고 있어 필요할 때마다 꺼내보는 재미를 가져다 준다.

라즈베리파이-리뷰

 

마지막으로 개인적으로 나는 라즈베리파이를 가지고 놀면서 가끔 잊거나 필요한 내용에 대해서 책 속에서 자주 찾아 볼 것 같은 부분을 북마크 해두면서 이 책을 대하고 있다. 라즈베리파이에 관심갖고 있는 다른 분들에게도 이 책이 좋은 길잡이가 되었으면 한다.

프로그래머들을 위한 통계학습 실습교재 Think Stats 리뷰

Think Stats 표지 프로그래머에 대한 정의가 사람마다 조금씩 틀리겠지만, 데이터 중심의 객체지향 프로그래밍이 흥왕하면서 아마도 데이터를 최전선에서 다루는 사람들로 이야기 할 수도 있지 않을까 싶네요. 이 포스팅에서 한빛리더스7기 미션도서로 리뷰할 Think Stats 역시 데이터를 수학적으로 다루는 통계에 관한 이야기 입니다.

Think Stats은 첫인상을 쓴 포스팅에서 말씀드린대로 한 마디로 프로그래머의 프로그래머에 의한 프로그래머를 위한 통계학 학습 책이라고 말씀드릴 수 있습니다. 따라서 내용은 주로 수학적인 공식과 이론설명보다는 실제 코드구현을 통해서 통계를 프로그래머에게 이해시키는 것이 목적입니다.

log_normal_distribution

이 책은 철저하게 이론 설명, 파이썬 예제, 그리고 용어정리의 구조로 반복됩니다. 그렇기 때문에 그냥 읽기만 해서는 내용을 제대로 소화하기 쉽지 않습니다. 예제코드를 리딩하고 위 그림처럼 코드를 돌려보고 결과를 확인하는 것이 상당히 중요합니다.

brfss_weight_log

혹시 파이썬이 처음이신 분들은 조금 어려울 수도 있습니다. 모든 코드가 파이썬으로 되어 있고 그래프 그릴 때 사용하는 matplotlib를 설치해야하기 때문입니다. 1 잘 설치되면 책의 예제를 따라 위와 같은 로그분포 그래프를 파이썬 코드로 그릴 수 있답니다. ^^

책이 실습위주라서 제 생각에는 최소한 고등학교 수학 선택과정인 확률과 통계 혹은 대학교양수업으로 통계학을 들어본 적이 있어야 읽기에 부담이 덜 할 것 같습니다.

마무리하면서, 이 책의 핵심은 예제의 코드를 돌려보고 결과를 눈으로 보는 것 입니다.  따라서 재미있게 따라해 볼 수 있는 반면에 통계이론에 대한 내용 생략이 많습니다. 주로 위키피디아 참조를 많이 하지요. (저처럼) 통계이론의 빠른 리뷰나 복습용으로는 적절치 않습니다. 오히려 기본 통계공부를 마친 뒤에 실제 활용측면에서 이 책이 빛을 발할 것 같습니다.

모든 프로그래머가 꼭 통계를 공부할 필요가 있는 것은 아니지만, 통계가 필요한 프로그래머에게는 기본적인 통계 공부 후 실습 교재로 Think Stats이 적절한 책이 아닌가 생각해 봅니다.

Notes:

  1. 책에서는 이런 부분에 대한 설명은 없어서 저는 구글링을 통해서 설치법을 찾아서 matplotlib를 설치 했습니다.

Think Stats, 한빛미디어 프로그래머를 위한 통계 학습

통계학이 학문세계에서 조미료처럼 안 쓰이는 곳이 없다보니 일부로 아껴두었다가 학부 4학년때 통계학을 수강했다. 하지만 시간이 꽤 지나고 난 지금 통계를 자주 활용하는 것은 아니다보니 기억속에 남아 있는 통계지식은 점점 사라져 간다.

Think Stats 표지

그런데 간간히 개발을 하다 보면 통계적 지식이 필요한 일이 있다. 그렇다고 학부 때 공부한 교재를 꺼내서 보자니 수식과 이론 중심의 내용은 귀찮고 시간이 많이 든다. 다행히 통계공부의 필요성을 늘 가지고 있던 찰나에 한빛리더스 7기의 리뷰 도서중 “Think Stats”이 보여 선택하게 되었다. 무엇보다 부제 “프로그래머를 위한 통계 및 데이터 분석 방법”이 딱 나한테 맞는 적절한 내용일 것 같았다.

Think Stats 실물 표지

이북을 다운 받아 아이패드에 넣어서 저자와 역자의 서문을 훑어보았다. 이 책은 대학에서 전산을 가르치는 Allen B. Downey가 쓴 “Think Stats” 를 번역한 것이다. 저자는 종래의 통계 도서를 전혀 보지 않고 전산 전공자 입장에서 어떻게 통계에 접근할 것인가를 고려하여 책을 썼다고 한다.

think_stats_comp저자는 누구나 자유롭게 공부할 수 있도록 내용을 공개하기를 원하여 홈페이지에서 영어 원문을 직접 다운받을 수 있도록 했다. 또한 페이스북 페이지도 운영하고 있어서 여기서 다른 정보도 얻을 수 있도록 한다.

구체적인 책의 내용은 전산전공자를 위해서 프로젝트 중심으로 파이썬을 통해서 진행하는 것 같다. 수식과 계산에 짓눌리지 않고 공부한 내용을 프로그래밍을 통해서 바로 확인할 수 있을 것 같아 재미있는 통계 공부가 될 것 같은 기분이다.

내용은 이북 사이즈로 전체 160 페이지라서 기억이 희미해지면 복습하기에도 부담없는 분량이다. 오늘부터 약 2주간 빠르게 읽어보면 좀 더 이 책의 매력을 알 수 있을 것 같다. 자 통계의 바다로 빠져보자!

Angular JS 기초편 eBook 리뷰

제목: Angular JS 기초편

한빛미디어에서 받은 Angular JS 기초편 eBook을 읽고 난 뒤에 느낌을 먼저 한 문장으로 요약해 보겠습니다.

요약: Angular JS 기초편은 마실 겸 뒷동산에 올랐다가 가파른 경사와 언덕을 만나 탈진할 수도 있는 책

AngularJS기초편 표지

책은 총 4장으로 구성되어 있습니다. 1장은  몇 가지 짧은 코드의 예제를 통해서 Angular JS만의 장점을 보여주는데 그다지 어렵지 않게 Angular JS의 기능들을 맛볼 수 있습니다. 짧은 1장의 내용에서 다음 장에 대한 기대를 주지요. 기존에 웹 프레임워크를 활용해서 개발해 본 적이 없는 분들도 1장은 쉽게 따라하실 수 있습니다.

2장에서 좀 더 깊게 Angular JS만의 기능들을 설명합니다. 데이터 바인딩, 지시어와 같이 Angular JS의 멋진 기능들을 설명하는데요. 이 부분은 다소 내용이 어렵습니다. 기능에 대한 설명보다 Angular JS의 장점을 설명하는데 포커스가 있다는 듯한 느낌이 강합니다. 저처럼 웹프레임워크를 이용한 개발이 익숙치 않은 분들에게는 조금 어려운 내용들이 많습니다. ajax나 자바스크립트에 대한 선이해도 필요합니다. 그래도 2장까지는 집중해서 여러 번 읽으면 Angular JS를 맛보는데는 좋은 역할을 합니다.

3장에서 본격적으로 anuglar를 활용해서 웹 어플리케이션을 개발하기 위한 도구와 방법을 안내합니다.  그러나 여기서부터 문제가 발생합니다. ㅠ 일단 이 책에서는 angular를 활용하기 위해서 yeoman이라는 툴을 사용합니다. 그런데 책이 쓰여진 시점 이후로 yeoman이 상당히 많이 바뀌었습니다. 따라서 책의 쉘명령어가 작동하지를 않습니다.

우선 yeoman을 설치하려면 107쪽에 나와있는 curl을 통한 설치는 더이상 제공되지 않고 npm이 필요하므로 Node.js를 먼저 설치해야 합니다. 자세한 설치 방법은 공식사이트를 참고해야 합니다. yeoman을 설치하고 나서 책과 달라진 명령어를 몇 개 소개하면 다음과 같습니다.

  • (angular 프로젝트 생성) yeoman init angular -> yo angular
  • (루트 추가) yeoman init angular:route home -> yo angular:route home
  • (테스트 실행) yeoman test -> grunt test
  • (프로젝트 빌드)yeoman build -> grunt build

마지막으로 4장에서는 하나의 예제를 통해서 angular JS를 활용한 앱의 숲을 볼 수 있도록 해줍니다. 하지만 역시 아쉽게도 1~3장에서 angular에 대해서 수박 겉핡기 식으로 훑고 나서 갑자기 4장에서 앱 하나를 통쨰로 설명하는 내용이 나타나니 이 역시 조금 버거운 느낌입니다.

본래 이 책은 Angular JS 원서를 두 번에 나누어 1~4장은 기초편으로 5~8장은 활용편으로 분리되어 국내에 출판된 것으로 압니다. 기초편에서는 angular JS에 대한 이해를 돕는데 초점을 두고 자세한 설명은 활용편으로  넘기고 있습니다. 따라서 기초편만 가지고는 angular JS를 온전하게 이해하는 데는 어려움이 다소 따릅니다. 따라서 이 책 하나로 angular JS를 이해하려는 기대는 조금 접어두시기를 부탁드립니다. 대신 angular에 대해서 잘 설명해 준 블로그 하나를 안내합니다.(클릭!)

개인적으로 웹에 관심이 없다가 최근에 웹 프레임워크가 다양해지고 발전하게 된 것을 보면서 조금씩 다시 배우고 있는데, angular는 최근 웹 프레임워크의 경향을 이해하는데 도움을 주었습니다. 물론 제가 위에서 평한대로 이 책 하나로는 angular를 온전하게 이해할 수 없습니다. 제안드리는 것은 한글로 먼저 이 책을 빠르게 훑어보고 angular의 공식 사이트의 튜토리얼을 차근히 따라가는 것을 제안해 봅니다. 마지막으로 대우정보통신 블로그에서 정리한 angular JS를 활용한 대규모 웹 개발 관련 블로그도 함께 링크를 남깁니다.(클릭!)

[한빛리더스 7기 활동] Angular JS 기초편 Ebook 받다!

한빛미디어에서 수행하는 한빛리더스 7기 활동을 이번 가을에 하게 되었습니다.
oakley protective eyewear
이전에도 한빛미디어에서 이북을 두권 구매해서 읽은 경험이 있어서 그런지, 이번에 “스마트 미디어 그룹”에 소속되어 한빛미디어에서 출판되는 이북을 읽고 리뷰를 남길 수 있는 기회를 얻었네요 ^^
air max 90s
AngularJS기초편 표지
prescription oakley sunglasses
첫 번째 미션도서로 받은 이북은 바로 “Angular JS 기초편“입니다. 이 책을 선택한 이유는 첫째는 웹프레임워크에 대한 관심 때문이었고, 둘째는 어떻게 하면 생산성 높은 개발을 할 수 있을지에 대한 고민 때문입니다.
air max 95
이전에도 한빛미디어의 Realtime 시리즈 이북을 구매했을 때와 같이 이북으로 보기 적절한 분량과 시원시원한 폰트 구성 등 이북에 최적화된 출판이 맘에 듭니다. 오라일리 출판사하면 떠오르는 특유의 온갖 생물체(?) 표지 디자인처럼  Realtime 시리즈가 표지디자인이 통일성을 갖추고 있어서 소유욕도 불러 일으키네요.
oakley script sunglasses
자 이제 앞으로 AngularJS 기초편을 차근 차근히 읽어보면서 학습 겸 리뷰를 진행해 보고자 합니다.

인문학 책 읽기의 어려움과 프로그래밍

시간의 향기
nike air max light
요즘 교회 독서 모임으로 피로사회 1를 쓴 한병철 씨의 “시간의 향기”라는 책을 읽고 있다. B5보다도 작은 사이즈에 서문과 목차를 다 합해도 180 페이지 밖에 안되는 짧은 책이다. 그런데 분량에 비해 책이 너무 어렵다. 책 읽기가 힘든 첫 번째 이유는 하이데거나 장보드리야와 같은 철학적 배경지식이 필요하다는 점이다. 두 번째는 글 자체가 너무 어렵고 사용하는 단어가 익숙하지 않다. ‘기투자’, ‘탈소여’, ‘난비’라는 용어는 글을 읽어 내려가려는 나의 눈을 붙잡아둔다. 2
ray ban warranty
그래서 읽다가 이해되지 않는 부분은 과감히 패스한다. 그러다가 이해되는 단락이 간혹 생긴다. 여기서 또 희한한 점을 발견하게 된다. 글을 읽고 이해하고 나면 굳이 이렇게 어렵게 쓰는 이유가 궁금해진다. 애초에 처음부터 독자가 이해하기 쉽게 쓰면 어디 문제가 있나? 한참을 읽고 또 읽어야 이해할 수 있게 글을 쓰는 저자의 의중은 무엇일까?
air jordan Factory Store
책을 읽다가 가지게 된 뜬금없는 생각은 사실 인문학 관련 서적이나 고전을 읽을 때 자주 경험했던 일이었다. 그렇다. 도대체 왜 인문학 책은 어렵게 쓰여진 걸까? 나처럼 독해력이 부족한 이들도 수용할 수 있을만큼의 은혜로운 글을 써주시면 안될까? 그러면 독서인구도 훨씬 늘어날 것 같은데 말이다.
Oakley sunglasses Germany
왜 그럴까… 곰곰히 생각해 보니 내가 시간을 두고 이해했던 단락은 철저히 나의 경험과 생각을 바탕으로한 이해였다. 구체적인 험과 사례를 통해 지극히 내가 가장 이해하기 쉬운 방법의 나만을 위한 설명이었다. 다시 말하면 내용의 골자는 동일하지만 저마다 자신의 배경과 상황을 두고 이해하는 방법은 천편일률적일 수 있다는 것이다. 아하~! 글을 어렵게 쓰고 싶어서 어렵게 쓴 것이 아니라, 최대한 많은 사람이 공통적인 이해를 가질 수 있도록 정제된 표현의 일반적인 문장이었던 것이다. 다만 나는 내 상황에 맞게 내 방법으로 저자의 의도에 다가간 것 뿐이었다. 소위 케바케(케이스 바이 케이스) 저마다 가지고 있는 구체적인 생각의 단편을 하나로 농축시킨 것이다. 많은 이들의 공감을 받고 이해되어질 수록 더욱 사랑 받고 그래서 고전도 탄생하는 것이다.

지금 읽고 있는 시간의 향기의 단편에서 그 사례를 살펴보자.
ray ban rimless sunglasses

우리가 전적으로 목표에만 집중한다면, 목표 지점에 이르는 공간적 간격은 그저 최대한 빨리 극복해야 할 장애물에 지나지 않을 것이다. 순전히 목표 지향적인 태도는 사이공간의 의미를 파괴한다. 이로써 사이공간의 의미는 독자적인 가치라고는 전혀 없는 복도로 축소된다. 가속화는 사이공간의 극복에 필요한 사이시간을 완전히 없애버리려는 시도이다. 이에 따라 길의 풍부한 의미는 사라진다. 길에서는 더 이상 향기가 나지 않는다. 아니 길 자체가 아예 사라진다. 가속화는 세계의 의미론적 빈곤을 초래한다. 공간과 시간은 더 이상 많은 의미를 지니지 못한다. (시간의 향기, 한병철, 69page)

nike air max 95 neon
위에 글의 요지는 한마디로 우리 삶의 과정에서 누리는 기쁨이 사라졌다는 뜻이다. 구체적으로 나의 경험을 빌자면 이렇다.

컴퓨터 게임을 처음 접할 시절, 니드포스피드 게임을 설치하던 과정이 생각난다. 3.25인치 플로피 디스크 몇 십장을 구해서 일일이 한 장씩 넣었다 뺐다 하면서 포맷을 한 후, 이를 들고 친구네 집에 들어간다. 친구네 집에서 니드포스피드 인스톨 파일을 1.44mb로 분할 압축한다. 압축이 끝나면 이를 일일이 디스크 한 장씩 넣었다 뺐다를 반복하며 복사한다. 복사하는데도 시간이 엄청 걸린다. 복사를 마치면 집에 돌아와 똑같이 한 장씩 넣었다 뺐다를 반복하며 내 컴퓨터에 게임파일을 옮긴다. 다 옮기고 나서 압출을 푼다. 그리고 설치. 게임을 시작한다.
oakley ballistic sunglasses
요즘 세상에 토렌트로 단번에 받을 게임을 이 오랜 시간 걸려 했던 것을 생각해 보면 기술이 참 좋아졌다. 하지만 게임 한번 설치하기 힘들었던 과거에는 게임 하나를 두고 오랫동안 즐겁게 열심히즐겼던 반면 최근에는 게임을 거의 잘 하지도 않고 금방 흥밀르 잃버린다. 그냥 그 때는 그렇게 게임을 복사해 온 것만으로도 왠지 컴퓨터를 잘하는 것 같고 그 자체가 즐거웠던 것 같다. 따지고 보면 기술의 발전은 게임을 복사해 오는 내 시간의 향기를 앗아갔다. 적어도 위의 인용은 내게 이런 맥락으로 이해된다.

인문학 책의 글의 성격은 프로그래밍의 세계에서도 발견할 수 있다. 저마다 개성 넘치는 개발자들의 코드는 자기는 쉽게 알아볼 지 몰라도, 남이 볼라 치면 침 한번 꾹 삼기고 고도의 집중을 해야한다. 그마저도 메서드 하나 안에 포함된 라인이 몇십줄이 넘어간다거나, 변수 명이 a,b,c,d라던가 if else 문이 남발되기 시작하면 그 때부터 코드리딩은 포기해야 할지도 모른다. 이러한 문제를 극복하기 위해서 좀 더 보편적인 코드컨벤션을 만들어내기 시작한다. 그러면 깔끔하게 정제된 코드는 누가봐도 쉽게 이해할 수 있다. 코드의 질적 수준을 넘어 아키텍쳐도 마찬가지이다. 끊임없이 사용되고 반복되는 방식들이 농축되어 디자인 패턴이 되고, 표준화된 프레임워크가 뜬다.

생뚱맞게 인문학 책 글이 어려웠던 이야기와 프로그래밍을 들먹인 이유는 “수 많은 단편적 사례로부터 일반화된 사실을 뽑아내는 능력” 즉 추상화 능력의 중요성을 다시금 상기하고자 함이다. 인문학이나 공대생이나 영역은 다르지만 일상에 수 많은 단편들을 하나의 추상적 개념으로 추출할 수 있는 능력이 정말 중요하다는 것을 곱씹어본다.

Notes:

  1. 피로사회는 아직 읽어보지 않았다
  2. 저자가 한국인이지만 본래 독일어로 쓰여진 것을 한국어로 옮겨서 어려울 수도 있을 것 같긴하다.

쓰레드: 동기성과 비동기성

POSIX(포직스) 쓰레드를 이용한 프로그래밍
black ray ban sunglasses
개발하는 과제들이 하나 같이 소켓통신을 기반으로 하다보니 동기화(Syncrhonization)에 대한 이슈가 아주 중요함을 최근 많이 느끼고 있다. 막연하게 프로그램 설계 과정에서 적절하게 프로토콜을 만들어서 통신의 플로우를 잘 관리하면 될 것 같지만, 꼭 구현해야하는 기능들은 동기적으로 작동하기 보다는 비동기적으로 작동되어야 하는 경우가 훨씬 더 크다.
Oakley sunglasses Canada
메인 함수 내에서 비동기적으로 계속 모니터링이 필요한 함수를 구현하려다 보니 쓰레드에 대해서 좀 더 자세히 알아야 겠다는 생각이 들던 차에 랩실 서가에 꽂힌 책 한 권이 눈에 들었다. 제본된  POSIX쓰레드를 이용한 프로그래밍 책이었다. 나중에 검색해 보니 현재 절판되어 있어서 제본한 것 같다. 어제 집에 가는 길에 1~2장을 보면서 그 동안 막연하게 인식하고 있었던 “동기화(Synchronization)”, “비동기성(Asyncrhonization)”에 대한 개념의 본질을 이해할 수 있었다.
discount oakley sunglasses for men

http://www.fotopedia.com/items/flickr-522878837

“동기화”를 사전적인 개념으로 이해하면 동시에 무언가를 맞추어 진행 한다는 점이 핵심이다.  이런 의미에서 동기화는 메모리에 데이터를 주고 받을 때에 아주 중요하다. 메모리와 디바이스 간의 타이밍이 맞아야 적절하게 작동하기 때문이다. 즉 메모리의 클럭 타이밍과 디바이스의 클럭 타이밍이 싱크로나이즈 팀의 통일된 동작 처럼 일치해야 한다는 말이다.
nike air max 95
그런데 문제는, 소프트웨어 입장에서 (쓰레드나 멀티 프로세스 기반의 프로그래밍을 할 때) 동기화의 개념이 다소 차이가 난다. 이 때에는 동시에 같이 진행한다기 보다는, 서로 간의 시작과 끝이 꼭 맞아야 한다는 의미를 가진다. 따라서 소프트웨어 관점에서 동기화는 동시에 Job들이 진행될 수 없다. 이와 반대로 비동기화는 동시에 여러 Job들이 실행될 수 있다는 의미를 지니게 된다. 핵심은, 여러 Job들이 동시에 진행 될 수 있다는 맥락이 동기화와 비동기화에 대한 개념을 혼동시키는 것이다.
ray ban sunglasses Poland
쓰레드의 사용의 관점에서 볼 때, 쓰레드도 사용여부에 따라 동기적으로 쓸 수도 있고 비동기적으로 쓸 수 도 있다. 다만 쓰레드가 가지는 기능을 활용하는 측면에서 비동기적으로 사용하는 것이 일반적일 것이다.
ray ban sunglasses review
프로그램 상에서 아무리 여러 쓰레드를 돌리면서 수 많은 Job들을 효율적으로 처리한다고 하더라도 반드시 동기화가 필요한 지점이 생길 수 밖에 없다. 따라서 개발 할 때에 동기화될 부분과 비동기적으로 처리할 부분을 명확히 구분할 필요가 생기는 것이다. 그러면 자연스럽게 뮤텍스나 세마포어에 대한 이야기가 나올 수 밖에 없는 것이다. 이 부분은 이제 차츰 읽어가면서 또 생각해 보아야 겠다.

 

토지와 경제정의

토지와 경제정의
대천덕 저/전강수 홍종락 공역

물질적인 것과 영적인 것은 분리될 수 없습니다. 물질적인 문제는 기도와 영적 전쟁 없이는 해결될 수 없으며, 영적인 문제는 현실의 삶 즉 실제적인 문제를 직면하지 않고는 해결될 수 없습니다. -한국어판 서문-
Oakley sunglasses Italy
기독교신앙은 우리의 삶을 영적인 차원에 대해서만 다루는 것이 아니라 우리가 발을 디딛고 있는 이 땅에 차원에 대해서도 끊임없이 이야기한다. 그러나 바알주의와 기득권 세력의 모략에 감추어진 성경의 진리를 다시금 공동체 안에 전파해야 한다. 이 책을 주변에도 권해야 겠다
nike air max 95 360
희년과 토지정의에 대한 입문서로 전체적으로 이해하는데 큰 도움을 준 책

탐스스토리

신발을 하나 사면 제 3세계의 아이들에게 신발을 한 켤레 기부해 준다는 탐스. 주변에 이 신발 사는 이들이 하나, 둘씩 늘어나기 시작하더니 이제는 국내에서도 제법 유명한 메이커가 되었다. 이 책은그 이야기를 담은 것으로 저자(블레이크)의 사업 성공스토리를 담은 책이 아니다. 탐스 사업을 통해 인생의 목적이 바뀌게 된 블레이크가  전해주는 아름다운 실천의 스토리이다. 작은 아이디어라도 우리 사회를 좀 더 건강하게 만든다면 주저하지 말고 시작하라는 블레이크의 목소리를 들을 수 있는 책. 그래서  책의 원제도 “Start something that matters” 이다.

지금 여러분이 읽고 있는 이 책은 의미 있는 일을 시작하고자 하는 사람들을 돕기 위한 안내서이다. (36p)
air max griffey
여러분이 나와 비슷한 부류라면 단순한 사업적 성공 이상의 것, 즉 삶의 의미를 추구할 것이다. 자신이 사랑하는 일을 마음껏 하면서 세상을 더 나은 곳으로 만드는 데 공헌하고 싶을 것이다. (37p)

코멘트

섬유유연제에서 우지를 넣는 다는 사실을 이 책을 보고 처음 알았다. 마트에서 한 번 실제로 섬유유연제에 우지가 사용되는지 확인해 볼 필요가 생겼다. 정말로 우리 옷을 부드럽게 만들겠다는 목적 때문에 소를 도살한다면 그것은 올바른 일은 아닐테니까.(42p)
Oakley sunglasses Online Shop
파타고니아는 의류 및 패딩 전문업체라고 한다. 가격이 저렴한 편은 아니지만 친환경경영을 하고 있다고 한다.(48p)

블레이크가 알려주는 자신이 좋아하는 것이 무엇인지 알아내는 방법

평생 돈 걱정을 할 필요가 없다면, 무엇을 하면서 살겠는가?
jordan air
어떤 종류의 일을 하고 싶은가?

어떤 대의를 위해 살고 싶은가?

첫 번째 질문을 적용해 보자면 지금의 내 자신은 돈으로부터 완벽하지는 않지만 어느정도 자유롭다고 생각한다. 그럼 두 번째로어떤 종류의 일을 하고 싶은지는 얼마전 부터 다시한참을 고민했었다. 우리의 바람은 그렇지 않지만… 성경적으로 볼 때 자신의 성향을 따라서 꿈을 실현하는 경우는 없는 것 같다. 성경적인 답은 하나님의 나라를 위해 사는 것이다. 그렇다면 다는 하나님께서 우리에게 부르신 소명인 하나님의 나라를 나의 대의로 품을 수 있는가? 자다가 일어나도 다시 오실 주의 나라가 그려지는가? 따로 떼어 내어 깊이 고민해야 할 꼭지이다.(57p)

블레이크 역시 이렇게 이야기 한다. “좋은 아이디어에 집착하지 마라” 중요한 것은 역시 도전하는 자세(열정)와 실천과 끈기이다.(83p)
womens oakley sunglasses
무언가 남과 다른 삶을 사는 것 같다고 느껴질 때… 즉 두려움이 엄습해 올 때 블레이크가 제시하는 효과적인 해법이 있다.

나는 가장 중요한 질문으로 되돌아갔다. 내가 왜 이 일을 하고 있지? 가장 중추적인 동기로 돌아가면 자신이 하는 일의 진정성을 확인할 수 있다. … 또한 가능한 주변에 인턴들을 많이 두려고 한다. … 주위에 열정적인 사람들을 두고 그들이 회사의 성공을 위해 바쁘게 일하는 모습을 보면, 자신감이 생기고 옳은 일을 하고 있다는 기분이 들기 마련이다. … 또 나는 주위에 영감을 주는 인용문들을 잔뜩 붙여둔다. … 짧은 인용문들 속에 파묻히는 것 외에도 나는 전기를 즐겨 읽는다. … 또한 나는 매사를 가볍게 생각하려고 했다. … 또한 나는 내 두려움을 글로 써보기도 한다. …(84~91p)

두려움이 다가올 때 만약에 시나리오를 작성하여 분석하는 방법(92p)

공짜의 시대: 작은 실천을 도와 줄 무궁무진한 공짜 자원이 넘쳐나는 시대이다. 변명하지 말고 실천하고 도전하자(128p)

사업의 단순화와 신뢰의 기반위의 비용을 절감(150p)
total air foamposite max
소유는 나의 삶의 복잡도를 증가시키는 길이다. 내 삶을 다이어트할 필요가 느껴진다.(155p)

당장 실천에 옮겨야 할 만한 조언들이 많았던 책. 내 가슴을 다시 뛰게 해주다.