한빛리더스 8기 1차 미션 우수 리뷰어 '정효연' 님의 

 『함수형 자바스크립트 : 새롭고 올바른 자바스크립트 프로그래밍 기법』도서 리뷰 입니다.

[원본http://takeiteazy.tistory.com/226]



함수형 자바스크립트 : 새롭고 올바른 자바스크립트 프로그래밍 기법

마이클 포거스 지음 | 우정은 역


개인적으로는 '아름다운 코드를 구현' 하는 것을 첫째 프로그래밍 규칙으로 삼는다. 필자의 다양한 업무에서 이를 달성했지만 여전히 뭔가가 부족하다고 느꼈다. 아름다운 코드를 구현한다면 책상에 앉아서 키보드를 치는 시간을 줄일 수 있는 또 다른 측면의 최적화를 달성할 수 있다. 

적절하게 사용한다면 함수형 스타일의 코드 구현이야말로 가장 아름답게 코드를 구현할 수 있는 방법이라고 생각한다. 

개인적으로 이 책을 끝까지 읽었을 때 독자들도 이에 동의할 수 있길 바란다. 


역시 필자의 의견에 동감하며, 아름다운 코드란 어떤 것이고 그에 따라 어떤 노력을 해야하는지 몇년째 고민한 결과 의외의 책에서 힌트를 얻은듯 싶다.


"실행할 수 있고, 올바로 동작하며, 빨리 실행되도록 만들어라."

- 버틀러 램슨(Butler Lampson)


"실행할 수 있게 한 다음, 올바로 동작하게 하고, 그 다음 빠르게 실행되도록 만들어라."

- 켄트 벡(Lent Beck) 


놀라운 통찰력이 책에 담겨져 있어, 분량이 짧음에도 불구하고 읽는 내내 고민했고 괴로워했고 느껴지는 것에 즐거웠던 책이었다.

OOP 관련 일만 해 보다가 이번에 자바 스크립트에 관련해서는 첫번째 책을 고른 것이었는데, 의외로 다른 언어에서 기존에 사용하던 언어의 고민을 더 깊게 만들거나 또는 의외의 힌트를 얻은 것들에 대해 놀라웠다.

예를 들면, 아래와 같은 것들은 평소 일을 하면서 괴로워했던(?) 것들에 대한 힌트를 얻을 수도 있었다.


객체 지향 스타일을 엄격하게 준수하는 시스템에서 객체 간의 상호 작용이 발생하면 각 객체의 내부 값이 바뀌면서 전체 시스템의 상태가 바뀌는데 이때 많은 작은 변화가 융합되고, 잠재적으로 미묘한 변화가 일어날 수 있다. 특히 작은 변경으로 큰 상태 변화가 발생할 수 있는 상황에서 새 객체를 추가하거나 새로운 시스템 기능을 추가해야 한다면 정말 난감하다.

이와는 달리 함수형 프로그래밍에서는 관찰할 수 있는 상태 변화를 최소화하려고 애쓴다. 따라서 함수형 원칙을 고수하는 시스템에 새로운 기능을 추가할 때는 새로운 함수가 지역화되고 비파괴적인 데이터 전이 과장(예를 들면 원래 데이터가 변하지 않음)에서 어떻게 동작할 것인지를 파악하는 것이 핵심이다. 

그렇다고 해서 함수형과 객체 지향 스타일이 서로 극과 극의 적대적인 관계라고 주장하는 것은 아니다. 자바 스크립트는 두 가지 스타일을 모두 지원한다. 즉, 자바 스크립트로 시스템을 제대로 구성하려면 두 가지 모델을 모두 사용해야 한다.   

실용적인 함수형 프로그래밍은 어떤 시스템에서 상태 변화를 완전히 제거하는 것이 아니라 변이가 발생하는 지역을 가능한 최소화하는 것을 목표로 한다. 


처음 접했던 언더스코어부터 시작하여 스코프, 클로저 등의 함수형 프로그래밍에 필요한 개념 뿐만 아니라 함수형 프로그래밍을 활용할 수 있는 다양한 정보를 제공하여 새로운 접근 방식으로 자바스크립트를 바라볼 수 있었고, 가장 좋았던 점은 책 뒤에 참고로 있었던 참고서적에 대한 소개였다.

함수형 자바스크립트의 장점 및 활용 사례, 그리고 자바스크립트를 이용하여 함수형 프로그램을 작성하는 방법에 대해서 각 Chapter별로 나누어 이해하기 쉽게 설명되어 있고,

불필요한 내용을 최대한 배제하고 간결한 설명과 예제 코드를 이용하여 각 개념에 대한 이해를 도와주며 페이지 하단의 주석에 링크를 참고하여 좀 더 자세한 내용을 확인할 수 있었고, 이론 뿐만 아니라 다양한 활용 사례를 통해 실용적으로 사용하는 데에도 도움을 주었다.

하지만 자바스크립트 활용이 익숙하지 않거나 초급 프로그래머 독자가 이 책을 접한다면 다시 생각해보고 접하라고 권하고 싶다. 각 Chapter에서 설명하는 개념에 대한 설명이 너무 간결하기 때문에 기초 서적부터 먼저 학습해야 하며, 참고 자료나 서적이 있어야 좀 더 저자가 원하는 바를 꽤뚫어볼 수 있을 것같다.

  1. Joymom 2014.03.27 11:33

    역시 우수리뷰답게 깔끔하게 잘 작성되었네요. 축하드려요!

지난 주, 2014년 3월 19일!

한빛미디어에서는 큰~~~~~ 잔치가 열렸답니다.

바로 바로 21주년을 맞은 한빛미디어의 생일과 2014년도 승진식입니다.

두둥.


승진자들을 축해주기위해 준비된 꽃들과 상패.

으리~으리~ 하네요!



 한빛미디어가 21살이 되었다니!

한빛 독자님들의 관심과 사랑을 듬~뿍 받은 한빛미디어는 무럭무럭 잘 자라날 수 있었습니다.

먼저 독자님들께 깊은 감사를 드리고요-!



자! 하나, 둘, 셋! 후우~~~~!

임직원 대표단이 모여 케익 촛불을 끕니다.


아!

지금 이사님은 호빵맨 코스프레 중( :누가 날 불렀나)


촛불을 껐으니, 이제 커팅식도 하고요.

저희 이사님 촛불 끄느라 에너지 다 낭비하신 표정아니고요.

(이사님 사랑합니다)



커팅식까지 진행했으니, 사장님의 말씀 시작-!

“어디 다들 모였나?”

자상한 말씀 가운데 유머러스하신  한빛미디어 사장님!

(사장님 많이 사랑합니다)



사장님 말씀이 끝나시고, 승진자들의 상패와 꽃 전달식을 진행했어요.

(승진자분들이 많은 관계로 사진에 모두 담지 못한 점 죄송합니다;)


전달식이 후에는 개성 넘치는 승진 소감도 발표했고요.


이번 임원 승진이 되신 배용석 이사님 이십니다.

(뒤에 달린 빨간 망토에는 꽃보다 배 이사님이 엄청 크게 써있다는)



승진자 소감까지  LTE급으로 진행된 행사!(후=3 엄청난 사진량!)

그런데! 갑자기! 사람들이 웃기 시작합니다!


재주넘기 연속 다섯번해도 보기 힘들다는 사장님의 아빠미소?

과연 사장님의 '아빠미소'를 끌어낸 주인공들은 누굴까요?



사장님부터 신입사원까지 웃음소리가 끊이지 않았던 그 현장.

이 곳에선 무슨 일이 일어난 걸까요?

기쁨과 행복이 넘쳐서 흘렀던 한빛미디어의 창립기념일 이야기.

그 날의 하이라이트!

2탄<빵빵터지는 공채 5기의 축하공연>이 곧 업데이트 됩니다.

커밍 쑨-!



지난주 한빛블로그를 후끈 달아오르게 만들었던 이벤트!

『잘 먹고 더 움직이고 잘 자라』도서 이벤트 결과를 발표 합니다.


잠시 잊으셨을 이벤트 질문을 다시 알려드리면,

"평소 여러분의 건강관리는 어떻게 하시나요?"

"건강을 관리하는 나만의 소소한 습관들이 있으신가요?"

"건강한 삶을 위한 여러분의 습관들을 이 글(포스팅)의 댓글로 달아주세요."

이었습니다.


보기만 해도 건강해질 것 같은 여러 답변들이 있었던 가운데, 

가장 특별했던 댓글들! 발표하겠습니다.



첫 번째 당첨자, 공감이 형성되는 댓글을 주신 김관영


1. 최소한 일주일에 세번이상 도장에 가서 운동을 한다.

2. 방구는 참지 않는다. 물론 밖에서는 예외..

3. 잘 땐 무조건 어둡게 소리 없이 푹 잔다.

4. 되도록이면 평일에 식사를 하지 않고 도시락을 먹는다.

5. 평일엔 금주

6. 내가 지금 해야 할 게 무엇인지 하고 싶은 것이 무엇인지 퇴근하면서 정리하고 그대로 한다



두 번째 당첨자, A4 용지 한 바닥 분량을 써주신 박승규


1. 아침을 무조건 먹는다.

아무리 급해도 아침을 무조건 먹습니다. 밥을 못먹는 경우가 대부분이긴 합니다만, 과일을 먹는다든지, 빵을 먹는다든지 해서, 오전에 에너지를 보충합니다.

2. 일정한 시간에 식사를 합니다.

하루 2끼만 먹고도 건강하게 살 수 있다고는 하지만, 정해진 시간에 밥을 먹는게 중요한 것 같아서, 매일 일정한 시간에 식사를 하고 있습니다.

3. 물을 자주 마신다.

오전에 집에서 한컵,

회사 도착해서 한컵,

점심 전에 한컵,

점심 먹고 한컵,

오후 쉬는 시간에 한컵,

저녁 전에 한컵,

저녁 먹고 한컵,

회사에서 집에가기전에 한컵,

집에 도착해서 한컵,

잠들기 전에 한컵

이런식으로 해서 매일 물을 충분히 마시고 있습니다.

4. 잠을 충분히 잔다.

저는 프로그래머라서 두뇌를 활성화 시키는 것이 매우 중요하기 때문에

잠을 충분히 자려고 노력합니다. 하루에 7시간 이상 자는려고 노력하고 있습니다. 일찍 잠자리에 드는 것은 아니지만, 12시 이전에는 잠들려고 하고 있습니다.

5. 운동을 틈틈히 합니다.

주 3회 수영, 집에 갈 때 한정거장은 걸어서 가기. 등을 해서 매일 앉아만 있어서 부족한 운동을 하려고 노력합니다.

6. 바른 자세를 유지하려고 노력합니다.

앉아서 오래 있는 직업인지라, 손목 터널 증후군, 거북목, 허리 통증등의 우려가 있는지라 자세를 바르게 해서 일을 하려고 노력합니다. 또한 중요한 것은 좋은 의자를 쓰는 것과 모니터의 위치를 시선과 잘 맞추는게 중요한 것 같습니다.

7. 잠잘 때 전자파가 나오는 물건들을 주위에서 없앤다. 직업이 하루종일 컴퓨터 앞에 앉아 있는 직업이다보니, 전자파를 많이 쐴 수 밖에 없는데요. 잠잘 때에 핸드폰 충전기, 써지오, 노트북 등등 전자파가 나오는 것이 주위 에 있으면 잠을 충분히 자지 못하고, 아침에 일어나서도 찌뿌둥한 느낌이 많이 들었습니다. 그래서 잠들기전에 그러한 물건들을 최대한 몸 주위에서 떼어 놓고 잠을 잡니다.

8. 점심먹고 오후 시간에 쉬는 시간을 둡니다. 바쁠 때에는 쉬는 시간이 없을 수도 있습니다만, 오후 4시~5시 사이에 쉬는 시간을 30~40분 정도 둡니다. 오랜 시간 의자에 앉아 있기보단, 잠깐 쉬고 돌아오는 것이 집중력도 향상되고, 건강에도 좋은것 같습니다.

9. 운동을 할 때에는 강도 높은 운동을 짧은 시간동안 한다. 몸이 편안한 상태로 운동을 하는 것보다는, 좀 힘들다고 생각될 정도로 운동하는 것이 효과가 더 좋은 것 같습니다.

이외에도 베게, 매트리스, 의자는 좋은 것을 사용한다. 책을 읽을 때에는 조도를 높게 유지한다. 감기에 걸렸을 때, 감기약을 먹고 버티기 보다는 그냥 집에서 쉰다. 목욕을 일주일에 한번은 간다. 등이 있습니다.



마지막 당첨자, 전문가 느낌의 건강비법 김태준 님!


봄철 건강관리 습관중요하죠^^

몇가지만 알려드릴께요^^

■ 충분한 수면시간

■ 아침.저녁 스트레칭

잠자기 전 가벼운 스트레칭을 하면 숙면에 도움이 되니 아침.저녁 가벼운 스트레칭으로

긴장된 근육을 풀어주시는 것이 봄철 건강관리에 좋습니다.

■ 청결유지

황사와 미세먼지 등 여러가지 원인으로 인해 눈과 호흡기 질환이 발생하기 쉬운 봄철에는

틈틈히 손을 씻는 습관을 들이셔야 합니다.

■충분한 수분섭취

황사에 가장 좋은 음식은 바로 수분 '물' 입니다.

충분한 수분 섭취는 혈액의 수분 함량이 높아지기 때문에 중금속의 혈중 농도를 낮춰주며

소변을 통해 몸밖으로 배출해주는 역활을 합니다.



이상 세 분,

김관영, 박승규, 김태준 님께는

한빛라이프의 초초초 강추 도서 

『잘 먹고 더 움직이고 잘 자라』를 보내드리겠습니다.


이 책 읽으시고 더 건강한 날들 보내시길 기원하며,

이메일로 (webmaster@hanbit.co.kr도서를 받으실 

주소, 연락처, 성함 남겨 주시기 바랍니다.


곧 돌아올 한빛 블로그 이벤트에 많은 기대와 참여를 부탁드립니다.

감사합니다!

  1. 김태준 2014.03.21 15:17

    감사합니다^^ 메세지 보냈어용^^*

+ Recent posts