소프트웨어 장인국내도서저자 : 산드로 만쿠소 / 권오인역출판 : 길벗 2015.09.25상세보기모 개발 커뮤니티 광고에 계속 등장하고 추천 글이 있어서 읽게 되었습니다. 장인 정신이라는 말을 개인적으로 좋아하기도 하고, 소프트웨어 개발은 각종 방법론보다는 개개인의 능력과 자세가 우선이라는 생각을 가지고 있어 관심 있게 보게 되었습니다.저자는 그동안 애자일이 가지고 있던 선입견을 극복하지 못한 원인에 대해 분석하고 이를 받아들이기 쉬운 소프트웨어 장인정신 선언으로 대체하려고 합니다. 예를 들면 '변화에 대응하는 것뿐만 아니라, 계속해서 가치를 더하는 것을,'이라고 말을 하는데, 계속해서 가치를 더한다는 것은 누구나 수긍하고 좋아하는 것이므로 쉽게 방향을 설정할 수 있고 이에 대한 세부 방법론으로 리팩토링이..
폴리글랏 프로그래밍국내도서저자 : 임백준출판 : 한빛미디어 2014.03.03상세보기'폴리글랏'은 다양한 언어를 말할 수 있는 능력을 말한다.폴리글랏 프로그래밍이란 하나의 언어로만 프로그래밍 하는 것이 아니라 여러 프로그래밍 언어를 사용할 수 있고, 이를 이용하여 프로그램을 작성한다는 의미이다. 현재는 정말 다양한 언어들이 나와 있고 서로 선택해 달라고 각축장을 벌이고 있다. 비즈니스 개발 전체를 삼켜버릴 듯했던 자바는 이제 조금씩 꺾여가고있고, 안드로이드에 의해 새로운 분야가 개척되는가 했더니 오라클과 구글의 싸움으로 앞을 알 수 없는 환경에 처해있다.올해부터 회사에서도 함수 지향 언어들에 대한 관심이 높아져 가고 있다. 나도 최근 Scala와 같은 언어들에 대해 공부를 하기도 했는데, 배우면 배울수록..
코딩 호러가 들려주는 진짜 소프트웨어 개발 이야기국내도서저자 : 제프 앳우드(Jeff Atwood) / 임백준역출판 : 위키북스 2013.11.28상세보기StackOverflow의 그분께서 쓰신 책으로, 익히 잘 알려진 Coding Horror 블로그의 글을 엮은 책이다. '코딩 호러의 이펙티브 프로그래밍'이라는 책이 먼저 나왔는데, 그쪽은 좀 더 전문적인 글이고 이 책은 가볍게 읽을 수 있는 다양한 주제를 담고 있다.저자는 어떤 주제에 대해 항상 다른 시각으로 접근해 보려는 것 같다. 많은 에피소드들이 그러한 내용을 담고 있고, 그중 229페이지에 나와있는 열 개의 '무시무시한 아이디어'는 참 흥미롭다. 사람들의 직관에 어긋나는 요소들을 추출하여 StackOverflow를 만드는데 기반이 되는 원칙을 ..
가장 빨리 만나는 자바 8국내도서저자 : 카이 호스트만(Cay S. Hortsmann) / 신경근역출판 : 길벗 2014.05.19상세보기지난번 Yes24에 "소프트웨어 장인"책의 서평을 남기고 나서 출판사로부터 우수 서평으로 선정되어 책을 한 권 받았습니다. 책을 골라달라고 하여 이 책인 "가장 빨리 만나는 자바 8"을 골랐고 시간이 한참 지났지만 이제야 다 읽게 되었습니다.책 크기는 크지 않았습니다. 소설책만 한 판형에 장수도 250쪽 수준이라 부담스럽지 않아 좋았어요. 크기에 비해 내용이 만족스럽고 예제도 풍족하였습니다. 자바 8의 중요한 변경점인 람다와 스트림에 큰 할당을 하고 있지만 병행성 부분이나 Nashorn 자바스크립트엔진 등 기타 다양한 이야기들도 놓치지 않고 담고 있었습니다. 또한 Ja..
제가 사용하는 Bash shell alias를 공유합니다. 사용하는 리눅스 시스템에 맞춰 변경이 필요한 것도 있고 그렇습니다.alias vi='vim'alias c='clear'alias ll='ls -l'alias la='ls -A'alias l='ls -CF'alias dir='ls -al'alias lh='ls -lh'alias l='ls -CF'alias edb='vi ~/.bash_aliases'alias cd..='cd ..'alias ..='cd..'alias rd='rmdir'alias md='mkdir'alias cp='cp -i'alias mv='mv -i'alias rm='rm -i'alias tarc='tar czvvf'alias tarx='tar xzvvf'alias psa='ps..
Google IO 2014의 세션 중 하나로, 퍼포먼스 문제를 개발 문화로 만들어야 한다는 이야기를 하고 있다. 그래서 제목이 Perf(ormance) Culture이다. 인상깊게 본 것들이 많아 여기에 주요 포인트를 메모하고자 한다. 동영상은 아래에서 볼 수 있다.https://www.google.com/events/io/io14videos/711a595b-70ca-e311-b297-00155d5066d7퍼포먼스에 대해 항상 주목해야 할 세가지 주제Web 개발에 대해 포인트를 맞추고 이야기하지만 Android app에서도 동일하게 생각해볼 만 하다. 사용자가 접하는 것은 비슷하기 때문이다.Traffic statsdevices, geography, user journey : 다양한 기기, 사용자들의 물리..
TDD에서 개개의 단위 개발에 적용하는 방법론으로, 빠른 개발 + 빠른 피드백을 목표로 한다. 아래의 순서로 진행되고, 3번은 필요에 따라 하면 된다.Red - 테스트 케이스를 작성한다. 당연하게도 Fail이 발생한다.Green - 테스트를 통과하도록 빠르게 기능을 구현한다. YAGNI 원칙을 지킬 것.Refactor - 작성된 코드가 만족스럽지 않다면 리팩토링한다.이를 통해 얻는 것은 아래와 같을 것으로 생각된다.짧은 Cycle로 Feedback이 빨라진다.코드에 대해 판단하는 타이밍이 많아지게 된다. 계속적으로 리팩토링에 대해 고민하게 된다.기능이 동작하도록 재빨리 코드를 작성하고(폭탄돌리기 하듯), 편안한 마음으로 리팩토링을 한다.* YAGNI - You ain't gonna need it!필요 없..
4기가 이상의 메모리를 사용하여야 한다면 64bit OS를 선택해야 한다는 것은 많이 알려져있다. 그럼 얼마나 더 사용 가능할까?32bit 시스템은 2^32의 주소 공간을 할당할 수 있는데, 이를 통해 메모리 공간에 할당할 수 있는 양은 2^32 = 2^2 * 2^30 = 4 * 1024^3 byte로 환산되며. 즉 4GiB (지비바이트)가 된다.그럼 64bit 시스템에서는 어떻게 될까? 2^62는 어마어마한 수가 되는데, 2^64 = 2^4 * 2^60 = 16 * 1024 ^ 6 byte로 환산되며, 즉 16EiB(엑스비바이트)이다. 이론적으로 32bit 시스템보다 10억배 할당 가능한데, 수치상으로는 무한대라고 해도 상관없을 듯 하다. 그러나 OS가 64bit을 모두 주소에 할당하도록 해주지도 않고..