처음 처음 | 이전 이전 | 1 | 2 |다음 다음 | 마지막 마지막
러닝 리액트 - 리액트와 리덕스로 구축하는 효율적인 웹 UI
알렉스 뱅크스.이브 포셀로 지음, 오현석 옮김 / 한빛미디어 / 2018년 2월
평점 :
구판절판


Learning React (한빛 미디어)를 읽고

최근 프론트엔드 분야 웹 개발을 하려면 공부해야할 게 너무 많다. 이럴수록 기초를 잘 쌓아놔야 한다는 생각이 든다.

자바스크립트라는 Node.js 가 나오며 브라우저에서뿐 아니라 운영체제 위에서도 작동이 가능해졌다. 이 후로 자바스크립트는 엄청 발전했다. 특히 12년 중반 Angular.js에 구글이 참여하고 facebook에서 react를 프로젝트에 참여하면서 기업형 오픈소스 형식으로 진화했다. 기업형 오픈소스는 오픈소스와 기성품의 장점을 합친 것 같다.

10년 전이라면 C, JAVA만 잘해도 괜찮았다면 현재는 Javascript를(Typescript) 공부해둬야 할 것 같다. 가장 수요가 많고 할 수 있는 범위가 넓어진다. 그리고 react 나 angular 등을 통해 Javascript의 단점들을 커버하면 퍼포먼스를 뽑을 수 있는 사람이 될 수 있을 것이다.

이 책의 첫 느낌은 "꼼꼼하다"였다. 그리고 책을 다읽은 지금 책의 느낌은 "친절하다" 다.
신기술은 필연적으로 익숙하지 않다. 거기에 더해 필요성을 모르면 다가오지 않는다. 이 책을 친절하다라고 여긴 이유는 각 장의 시작을 서술하며 해당 개념이 어떻게 개발자들한테 다가오는 지, 필요 한지를 설명한다. 예를 들어 순수 리엑트 파트에서 순수 기존 javascript의 경우 함수의 매개변수로 사용한 변수가 바뀔 수 있어서 디버깅이 힘들다는 문제점을 확실히 설명해주고 순수리엑트 방식을 설명해주는 식이다. 이런 식의 설명은 독자가 왜 이 새로운 개념을 받아들여야하는 지에 대한 내면적 고민을 할 필요를 줄여든다. 그리고 각 개념들은 그냥 설명만 한게 아니라 예제 코드를 통해 보여준다. 전체 코드는 github을 통해 공개해놓았다. (이 코드는 출판사에서 한글로 고친 버전도 제공해준다.) 그리고 동시에 React 개발에 도움이 되는 개발자 도구들도 알려준다.

다음은 책을 읽으면서 메모를 한 React의 장점들이다. 
* React는 라이브러리로 기존 javascript의 단점을 개선해주는 방향으로 개발 되었다.
* React를 사용하면 자바스크립트 안에서 HTML처럼 보이는 코드를 작성할 수 있고 DOM에서 생기는 모든 문제를 해결하면서도 다루기 쉽고 예상치 못한 동작으로 개발자를 놀라게 하는 일도 없다. (먼가 든든해진다.)
* 함수형 프로그래밍은 선언적 프로그래밍(프로그래머가 쉽게 추론할 수 있는 코드)을 도와준다. (map, reduce)
* 순수함수(파라미터에 의해서만 반환값이 결정되는 함수)는 테스트 하기 쉽다.
* 트랜스 파일링으로 브라우저에 종속되는 문제 해결
* React는 뷰를 만들기 위한 라이브러리, ReactDOM은 UI를 실제로 브라우저에 랜더링
* HTML은 브라우저가 문서 객체(DOM)을 구성하기 위해 따라야 하는 절차

개인적으로 웹 개발을 시작하는 입장에서 이책을 2,3 번 읽어봐야할 것 같다.
첫 독서에선 전체적인 개념을 이해하고 왜 사용하는 지에 대해 공감하는 게 우선이었다. 이제 코드를 직접 따라치며 React로 개발 해봐야겠다. 글로 이해한 것과 직접 코딩하며 겪는 경험은 천지 차이다. 그래도 첫 독서에서 React가 정말 매력적이다는 생각을 했지만, 좋은 코드가 뭔지에 대해 주워듣고 느낀 게 없다면 우선 코드 중심으로 따라치는 것을 추천하고 싶다. 아직 최신 책이라 그런지(너무 스팩이 자주 바뀐다.) 예제가 맞게 돌아간다. 얼른 기초를 닦아야 겠다.


* React는 라이브러리로 기존 javascript의 단점을 개선해주는 방향으로 개발 되었다.


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
맥 쓰는 사람들과 함께하는 macOS 하이 시에라 - 맥 프로부터 맥북까지 모든 Mac 사용자를 위한 활용 가이드 북
고래돌이 지음 / 한빛미디어 / 2017년 11월
평점 :
절판


 나는 지금까지 20년을 윈도우만 써온 진성 마소맨이자 프로그래머이다.


 컴퓨터를 좋아해서 컴퓨터공학과를 가고 프로그래머가 되었는데 그 기간 동안 한 프로젝트에서 맥OS를 써본 적이 있었다. 부드러운 UI와 색감, 리고 터미널로 접근이 가능하단 점이 마음에 들었지만 finder(윈도우의 탐색기)가 익숙하지 않아 불편했다. 그래서 제대로 맥OS를 접해보지 않은 것 같았고 못내 아쉬운 상태로 프로젝트를 마무리했다. 그리고 3년 후  쓰던 노트북이 너무 느려져서 노트북 교체를 고민해야 하던 때 한빛미디어의 "macOS 하이시에라"을 발견했다.

  

 맥이 개발자와 디자이너한테 좋다는 건 익히 알고 있었다. 그래도 윈도우에서 맥OS로 바꿔도 쉽게 적응할 수 있을끼? 그리고 적응의 부담을 안고라도 바꿀 이유가 있을까? 라는 의문과 함께 맥북을 배제하고 노트북을 알아보고 있었는데 이번 리뷰어 참여하면서 이 책을 신청하면서 그 의문에 반문을 던져보고자 했다. 

 

 이 책은 맥의 사용자가 쓴 책이다. 맥쓰사라는 커뮤니티에서 나온 질문과 노하우가 합쳐져서 만들어졌다. 이미 macOS 시에라라는 책이 작년에 발간되었었다. 불과 1년만에 심화편이 나온 셈인데 그만큼 유용한 것 같다. 가장 큰 장점은 사용자 입장에서 쓰여진 것이기 때문에 흔히 말하는 삽질을 덜 할 수 있다.


 책의 첫 느낌은 책 목차도 잘 정리되어 있어서 백과사전 형식으로 필요한 기능들을 차근차근히 써볼 수 있는 편의도 제공된다. 때문에 완독의 부담감을 가질 필요도 없고 경우에 따라서 적용만 하면 될거 같다고 생각했다. 그러나 이 책은 하나 하나 맥북을 업그레이드 시키는 느낌을 줄 정도로 좋았다. 스티븐 잡스의 자서전에서 진정한 혁신은 사용자도 아직 접해보지 않았기 때문에 사용자 조사를 굳이 하지 않는다는 말이 인상이 깊었다. 이 책도 그런 느낌을 받았다. 크게 9가지 파트로 나눠서 기능들을 설명하는데 알면 정말 편하게 사용할 수 있는 옵션들을 가지고 있었다. 일반 사용자가 사용할 때, 아이폰을 같이 사용할 때 싱크하는 것, 개발자로서 필요한 부분과 윈도우에 익숙한 사용자를 위해 윈도우와 연결하는 부분까지 정말 섬세하고 필요한 기능들과 옵션들을 이미지와 함께 설명하고 있다. 


 아쉽게도 난 맥북이 없어 누나의 맥북을 이용해서 몇 개 해보면서 실습을 해본 정도였지만 파일 처리와 아이폰과 연동 설정 부분은 8년간 맥을 써온 누나도 이런 기능이 있었냐고 신기해할 정도로 편해했다. 

 

개발자는 컴퓨터 세팅을 최적화하는 게 굉장히 중요하다 생각을 바로바로 컴퓨터에 옮겨야 하기 때문에 그 중간 중간 방해하는 요소들이 있으면 짜증이 난다. 그렇기 때문에 이런 안내서가 정말 도움이 될 것이다.


 처음에 책 가격이 좀 쌘 편이라고 생각했는데 충분히 가격 가치를 할 것 같다. 이 책을 읽고 맥북 구입을 마음 먹었다.



댓글(0) 먼댓글(0) 좋아요(3)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
모두의 알고리즘 with 파이썬 - 컴퓨팅 사고를 위한 기초 알고리즘 모두의 시리즈
이승찬 지음 / 길벗 / 2017년 5월
평점 :
장바구니담기


모두의 알고리즘 with 파이썬 (컴퓨팅 사고를 위한 기초 알고리즘) 을 읽고



 이 책을 고르게 된 건 파이썬이 알고리즘을 처음 접하는 데 도움이 되기 때문이다. 알고리즘 동아리를 맡게 된 후 처음 알고리즘을 시작하려는 친구들을 위해 강의와 스터디를 여러번 기획했다. 강의를 하는 과정에서 처음 공부를 할 때는 알고리즘 자체를 이해하는 시간보다 프로그래밍 언어가 미숙해서 코드를 짜거나 해석하기 까다롭고 거부감이 들어하는 경우가 많다는 걸 많이 느꼈다. 그래서 다음 강의를 할 때는 파이썬을 써볼까 라는 생각을 했다. 파이썬은 indentation이 강요되어 코드가 정형화된 경우가 많고 타입에 대한 에러뿐 아니라 반복문을 직관적으로 사용하고 있어 배우기가 쉽다. 


 책의 첫장을 넘기면서 든 생각은 편집을 이쁘게 했다는 것이다. 알고리즘에 대한 접근부터 예시들까지 디자인이 눈에 잘 띄고 귀엽게 되어있어서 보기 편했다. 

 두 번째로 든 생각은 '쉽다' 였다. 이건 입문서를 오랜만에 봐서 그런 것 같다. 막상 찬찬히 읽다보니 내가 안다고 생각한 부분에 몇가지 구멍이 뚫려있다는 생각이 들 정도로 설명이 꼼꼼하고 체계적으로 되어있었다. 챕터를 보면 알고리즘의 기초로 합 구하기나 최대값 찾기 같은 반복문을 활용한 것과 동명이인 같이 집합이나 자료구조를 사용하는 것부터 재귀호출, 탐색과 여러가지의 정렬, 이분탐색, 그리고 자료구조로 이어지는 구조가 처음 공부하는 사람들이 받아들이기 부담스럽지 않을 것 같다는 생각이 들었다.


 그렇다고 엄청 쉬운 것도 아니었다. 이후 응용문제의 경우는 너무 쉽지도 않으면서 도전해볼만한 난이도로 되어있었다. 각 챕터마다 단순히 문제만 보여주는 게 아니라 이 문제를 통해 생각해볼 수 있는 점과 활용할 수 있는 파이썬 함수들도 포함 시켜줘서 따로 검색을 할 필요없이 이 책만으로도 공부가 가능할 것이다. 게대가 마지막에 부록을 통해 문제에 대한 정답을 보여주는 것까지 참 자세하게 책을 썼다는 느낌을 받았다. 나는 알고리즘을 군대를 전역하고 시작했다. 그래서 아직 처음 공부했을 때 부딪혔던 어려움이 기억난다. 책을 읽어도 예시를 따로 찾아보고나서야 제대로 이해했었다. 그 때 이 책을 읽었으면 좀 더 쉽고 올바른 방향으로 알고리즘을 공부했을 것 같다. 

컴퓨터와 알고리즘이 발전하면 발전할수록 우리는 그동안 관심 갖지 못했던 세상의 수많은 문제들을 컴퓨터 알고리즘을 이용해서 풀려고 노력할 것입니다.


댓글(0) 먼댓글(0) 좋아요(3)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
알고리즘 트레이닝: 자료 구조, 알고리즘 문제 해결 핵심 노하우 - ACM ICPC, IOI/KOI 프로그래밍 인사이트 Programming Insight
스티븐 할림.펠릭스 할림 지음, 김진현 옮김 / 인사이트 / 2017년 6월
평점 :
절판



알고리즘! 

 프로그래밍은 어렵습니다. 그러나 컴퓨터만 있으면 된다는 점에서 비전공자이 입문하기 쉬운 분야이기도 합니다. 

C언어나 자바, 안드로이드, HTML, 자바스크립트 등 언어에 관한 책들도 많고 좋은 강의들도 많죠. 따라하다 보면 어느 정도 프로그램을 만들 정도는 되는 것 같습니다. 

 그러나 깊이 있는 프로그래밍은 한계가 있습니다. 여기서 깊이란 컴퓨터의 장점인 빠른 계산을 통해, 어려운 문제에 해답을 내놓을 수 있는 방법에 대한 능력인데, 이 능력을 위해선 자료구조나 알고리즘에 대한 이해와 더불어 문제를 많이 접하고 접근하고 푸는 방법을 익혀야만 조금 느는 것 같습니다. 이런 능력을 익히는데에선 프로그래밍 대회에 나가서 부딪혀 보고 많이 고민하는 것 만큼 도움 되는 건 없다고 생각합니다. 전 처음에 고민하고 답을 내는 게 재밌어서 시작했는데 현업에서 개발자를 뽑을 때 이 알고리즘 능력을 많이 주목하고 있는 것 같습니다. 


 최근 삼성에서 주최하는 프로그래밍 대회 SCPC가 있었는데 이번 SCPC의 총 상금 규모는 무려 1억으로 늘었죠(난이도도 훌쩍 뛰었네요). 내부적으로도 역량 테스트를 보기도 하고, SW 테스트등이나 맴버십등을 통해 알고리즘 능력이 뛰어난 사람을 우선 채용하려고 하는 것 같아요. LG나 다음 카카오도 마찬가지 추세고요. 그만큼 알고리즘 능력은 경쟁력이 될만한 요소가 되었습니다. 과거에 프로그래밍 책들은 입문서들이 너무 많았어요. 그저 간단한 자료구조 위주의 책이나 끽해봐야 DP 정도까지 설명한 책들이 대부분이었죠. 그래서 12년도에 구종만씨가 쓴 '알고리즘 해결전략 ' 이전엔 과거엔 원서를 들고 끙끙 앓아야 했었는데 이번에 Competitive Programming 의 번역서가 출간되었다는 반가운 소식을 듣고 읽어봤어요. 


 책 서문에도 있지만  우선 이 책을 읽기 전에 기본적인 C++ 지식이 있어야 합니다.  




 이 책에서 좋았던 점들을 요약해 보면 

 1. 책의 밀도가 높다. 코드를 수록할 때 글자간격이 더 조밀하게 되어 있어서 한눈에 들어오고 깔끔하다.

  

 2. 목차의 구성과 설명이 엄청나게 실용적이다 단순 알고리즘 설명이 아니라 적용하는 방법과 나중에 다른 알고리즘에 어떤 식으로 접목 되는지도 소개가 되어있다는 점이 다른 책들과 가장 차별화가 있었다. 


 3. 중간 중간 생각해볼 수 있는 연습문제들도 있었다. 단순히 알고리즘을 외우는 것이 아니라 언제 써먹어야 하는지, 다양한 접근방식에 대해서도 자연스럽게 생각할 수 있도록 유도를 한다. 

 

 4. 참고할 문제들을 같이 적어놓아서 혼자 공부하기 도움되는 부분이 있다. 하지만 예제가 수록된 사이트가 외국 사이트다. 영어 공부를 좀 해야 할 것 같다.. 


 5. 내용이 방대하다. 거의 바이블이라고 해도 문제가 없을 것 같다. 대신 좀 더럽게 읽어야 할 것 같다. 메모도 하고, 표시도 하면서 익혀야 할 것 같다. 

  

 돈이 아깝지 않는 책이라고 생각듭니다. ( 비슷한 종류의 책에 비해 워낙 수록된 내용이 많아 가성비가 좋은 편입니다.)



책의 구성, 목차등에 대해 저자가 소개한 사이트입니다. 

http://www.insightbook.co.kr/11923

시각화 자료 입니다.

https://visualgo.net/en

출처: http://inspire12.tistory.com/47 [컴퓨터 알고리즘 그리고 문학]


댓글(0) 먼댓글(0) 좋아요(3)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 


2개의 상품이 있습니다.

The Art of Computer Programming 3- 정렬과 검색, 개정 2판
도널드 커누스 지음, 류광 옮김 / 한빛미디어 / 2008년 1월
42,000원 → 37,800원(10%할인) / 마일리지 2,100원(5% 적립)
양탄자배송
내일 밤 11시 잠들기전 배송
2017년 06월 23일에 저장

생각 좀 하며 세상을 보자
이건희 지음 / 동아일보사 / 1997년 11월
6,500원 → 5,850원(10%할인) / 마일리지 320원(5% 적립)
2011년 08월 05일에 저장
절판


2개의 상품이 있습니다.

댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기
 
 
 
처음 처음 | 이전 이전 | 1 | 2 |다음 다음 | 마지막 마지막