Recent Trackback»

04-24 05:05
블로그 이미지
인생의 의미를 찾아 떠나는 아름다운 여행 부코

 
 

프로그래머가 알아야 할 97가지 프로그래머가 알아야 할 97가지
Kevlin Henney, 손영수, 김수현, 최현미 | 지앤선(지&선) | 20120530
평점
상세내용보기
| 리뷰 더 보기 | 관련 테마보기


이 책의 본문 56쪽~57쪽을 그대로 옮기면 다음과 같다


만약 시샵C#으로 프로그램을 작성하면서 Main 메소드를 길게 하고, 주로 static으로 선언된


메소드들을 사용했다면 변명할 여지가 없는 것입니다. 이 경우에는 왜 클래스를 사용해야


하는지 배워야 합니다. 만약 함수형 프로그래밍에서 사용되는 람다 익스프레션에 대해


이해하기 어렵다면 부끄러워하지 말고 그것들을 사용해 보려고 시도하기 바랍니다.



새로운 언어의 비결을 배운다면 알고 있는 기존 언어를 다른 방식으로 사용할 수 있다는


것에 놀랄 것입니다.



저는 루비를 통해 시샵C#의 delegate를 효과적으로 사용하는 법을 배웠고,


닷넷 .NET 의 generics 를 통해 자바의 generics 를 유용하게 사용할 수 있었습니다.


C언어 개발자는 시샵과 자바에서 Iterator 패턴이 필수가 되었다는 것을 발견할 수 있을


것입니다. 루비와 같은 동적 언어에서 여러분은 Visitor를 사용할 수 있을 것입니다.


(여러분의 구현이 GoF의 디자인 패턴에 나오는 예제와 같지 않을 수도 있겠지만요)




이글은 "인터파크도서"에서 작성되었습니다.




:

프로그래머가 알아야 할 97가지 프로그래머가 알아야 할 97가지
Kevlin Henney, 손영수, 김수현, 최현미 | 지앤선(지&선) | 20120530
평점
상세내용보기
| 리뷰 더 보기 | 관련 테마보기


이 책의 본문 56쪽~57쪽을 그대로 옮기면 다음과 같다


만약 시샵C#으로 프로그램을 작성하면서 Main 메소드를 길게 하고, 주로 static으로 선언된


메소드들을 사용했다면 변명할 여지가 없는 것입니다. 이 경우에는 왜 클래스를 사용해야


하는지 배워야 합니다. 만약 함수형 프로그래밍에서 사용되는 람다 익스프레션에 대해


이해하기 어렵다면 부끄러워하지 말고 그것들을 사용해 보려고 시도하기 바랍니다.



새로운 언어의 비결을 배운다면 알고 있는 기존 언어를 다른 방식으로 사용할 수 있다는


것에 놀랄 것입니다.



저는 루비를 통해 시샵C#의 delegate를 효과적으로 사용하는 법을 배웠고,


닷넷 .NET 의 generics 를 통해 자바의 generics 를 유용하게 사용할 수 있었습니다.


C언어 개발자는 시샵과 자바에서 Iterator 패턴이 필수가 되었다는 것을 발견할 수 있을


것입니다. 루비와 같은 동적 언어에서 여러분은 Visitor를 사용할 수 있을 것입니다.


(여러분의 구현이 GoF의 디자인 패턴에 나오는 예제와 같지 않을 수도 있겠지만요)




이글은 "인터파크도서"에서 작성되었습니다.




:

소프트웨어 아키텍트가 알아야할 97가지 소프트웨어 아키텍트가 알아야할 97가지
EVA Study, Richard Monson-Haefel | 지앤선(지&선) | 20110414
평점
상세내용보기
| 리뷰 더 보기 | 관련 테마보기

이 책의 본문 122쪽을 그대로 옮겨보면 다음과 같다.


소프트웨어 개발자인 우리는 맨 처음 소프트웨어를 시스템을 위한 명령어, 함수, 알고리즘


이라고 이해합니다. 이렇게 소프트웨어를 명령어 지향 관점에서보는 것은 소프트웨어를


구축하는 방법을 배울 때 도움이 됩니다. 그러나 보다 큰 시스템을 구축하려고 할 때는


오히려 방해가 됩니다.



한 발짝 뒤로 물러서서 보면, 컴퓨터는 여러분이 데이터 더미에 접근하고 조작할 수 있도록


도와주는 멋진 도구일 뿐입니다. 반면 데이터의 구조는 거대한 시스템의 복잡성을 관리하는


방법을 이해하는 데 핵심입니다. 수백만 개의 명령어는 본질적으로 이해하기 어렵습니다.


그렇기 때문에 프로그램을 이해하려고 할 때, 명령어보다 기초 데이터 구조들의 집합을


이용하는 것이 효율적입니다.



예를 들면, 만약 여러분이 유닉스 운영체제를 이해하고자 할 때, 소스 코드를 한줄씩


따라가는 것은 큰 도움이 되지 않습니다. 그러나 프로세스나 파일 시스템 같은 것들을


다루기 위한 주요 내부 데이터 구조를 정리해둔 책을 읽는 것이 유닉스가 동작하는


방식을 더 쉽게 이해할 수 있는 방법입니다. 데이터는 개념적으로 코드보다 양도 적고


상당히 단순합니다.



이글은 "인터파크도서"에서 작성되었습니다.




:

Ship it! 성공적인 소프트웨어 개발 프로젝트를 위한 실용 가이드 Ship it! 성공적인 소프트웨어 개발 프로젝트를 위한 실용 가이드
최재훈, 자레드 리차드슨(Jared Richardson), 윌리엄 그월트니 주니어(William Gwaltney Jr.) | 위키북스 | 20070809
평점
상세내용보기
| 리뷰 더 보기 | 관련 테마보기

이 책의 본문 62쪽의 내용을 그대로 옮겨보면 다음과 같다.


여기에 JUnit 테스트 코드 예제가 있습니다



import junit.framework.*;

public class AdditionTester extends TestCase {

public void testAdd() {

assertEquals(5,2+3);

}

public static void main (String[] args) {

junit.swingui.TestRunner.run(AdditionTester.class);

}

}


좋은 테스트 프레임워크라면 개발 노력에 심대한 영향을 미칠 수 있습니다.


그 테스트 프레임워크는 효과적으로 사용한다면 매우 강력한 도구입니다. 여러분 환경에


알맞은 프레임워크를 찾기 위해 시간을 투자하고, 효과적으로 사용하는 법을 익히도록


하세요.




이글은 "인터파크도서"에서 작성되었습니다.




:

자바 성능을 결정짓는 코딩 습관과 튜닝 이야기 자바 성능을 결정짓는 코딩 습관과 튜닝 이야기
이상민 | 한빛미디어 | 20080229
평점
상세내용보기
| 리뷰 더 보기 | 관련 테마보기

자바를 사용하는 사람이라면 읽어보아야 할 책이다. 


책이 두껍고 무겁고 비싼 만큼, 내용이 아주 풍부하고 알차다.


게다가, 스토리텔링 기법이랄까? 게임 시나리오 방식이랄까?


주인공이 한단계 한단계 문제를 해결하며 성장해가는 구조인데,


마치 소설같은 몰입감을 주는 IT 서적이었다.



이 책의 본문 175쪽 중간을 그대로 인용하면 다음과 같다.


매번 if 문장으로 막는 것보다 간단하게 사용하기 위해서는 좀더 보완을 해서 다음


과 같이 클래스를 만들면 된다. 하지만 이 또한 단점은 존재한다.



package com.perf.log;

public class SimpleLogger (

private static final boolean printFlag=false;

public static void log(String message) {

if(printFlag) {

System.out.println(message);

}

}

}


이 같이 해 놓으면, System.out.println를 매번 입력하거나 복사해서 붙여 넣을 필

요가 없다. 



이글은 "인터파크도서"에서 작성되었습니다.




:

소프트웨어 개발의 모든 것 소프트웨어 개발의 모든 것
김익환, 전규현 | 페가수스 | 20100601
평점
상세내용보기
| 리뷰 더 보기 | 관련 테마보기

오늘날 우리의 삶은 온통 소프트웨어로 이뤄져 있다.


매일 검색에 사용하는 구글, 이메일을 주고 받는 지-메일, 한메일, 그리고


우리 손을 떠날 줄 모르는 스마트폰, 어디 이뿐이랴, 어지간한 가전제품 안에는 모두 다


소프트웨어가 들어있다. 



저자의 주장에 따르면 한국은 소프트웨어 선진국은 아니다, 오히려 후진국적 특성도 많다.


그 이유가 이 책에 잘 드러나 있다. 소프트웨어 개발은 코딩이 다가 아니다.


문화도 중요하고, 제도도 중요하고 그 밖에도 엄청나게 많은 것들이 관여하고 있어서, 


소프트웨어 개발은 한 나라의 축소판을 보여주는 듯 하다.  우리 나라의 빨리빨리


문화라든가, 코리안 타임, 냄비근성 등이 모두 소프트웨어 개발에서도 발견되고 있다. 



한나라의 문화가 쉽게 바뀌는 것이 아니라서, 국가별로 특별히 강점을 가진 산업이나,


특별히 약점을 가진 산업이 있는 것도 이해할 수 있는 계기가 되었다.


한국은 한류라고 해서, 드라마, 영화, K-pop, 웹툰, 공연 등 컨텐츠 산업이 무척 강한데, 


기존의 강한 부분은 더욱 강하게 잘 살려가면서, 소프트웨어 산업처럼 약한 부분은


잘 보강하여, 소프트웨어 개발에서도 선진국이 되기를 바란다.



이글은 "인터파크도서"에서 작성되었습니다.




:

좋은 코드를 작성하는 기술 좋은 코드를 작성하는 기술
정인식, 아가타 토시타카(Agata Toshitaka) | 제이펍 | 20111209
평점
상세내용보기
| 리뷰 더 보기 | 관련 테마보기


자바와 이클립스를 기준으로 씌여진 책이지만, 다른 언어와 편집기에도 적용 가능하다.


우선, 편집디자인이 매우 우수하여, 자칫 재미없고 딱딱할 수 있는 코딩 관련 서적을


흑백 편집임에도 불구하고 상당히 읽기 좋게 만들어 놓았다.



(그건 그렇고, 항상 드는 의문은, 왜 코딩 관련 서적들은 다 흑백인지 모르겠다.


그렇잖아도 눈에 잘 들어오지 않는 코드들을, 컬러를 입혀서 보여주면 더 좋을 텐데 말이다.


구글 블로거의 HTML 편집창처럼 말이다. 게다가 여기는 들여쓰기 내어쓰기 까지 되어


있어서, 정말 코드가 한 눈에 쏙 들어오는데, 편집 디자인이라면 출판업계가 IT업계 보다


한 수 위 아닌가! 그런데 출판업계에서 이 정도도 못 해내고 있다는 것이 좀 어이가 없다.



이클립스 화면만 보아도, 컬러와 볼드체, 그리고 들여쓰기와 내어쓰기가 되어 있는데,


도대체 책 씩이나 만드는 사람들이 그걸 못 해내고 있다니...


아마 컬러 인쇄에 제작비가 많이 들어서 그런것이겠거니 이해해본다)



책의 내용은 어렵지 않았다. 그리고 저자와 편집자의 노력 덕분인지, 책이 아주 술술 잘


읽힌다. 번역도 매끄럽고, 품질이 높은 책이었다. 유지보수에 관심이 많은 개발자라면


자신의 습관과 능력을 한번쯤 되돌아볼 수 있는 좋은 계기가 될 것이다.



이글은 "인터파크도서"에서 작성되었습니다.




:

벤츠 타는 프로그래머 벤츠 타는 프로그래머
정금호 | 제이펍 | 20130826
평점
상세내용보기
| 리뷰 더 보기 | 관련 테마보기

책이 술술 잘 읽힌다. 거의 3시간만에, 책의 60%를 읽었으니,


아마 5시간이면 독파가 가능할 것이다.


필자는 74년생 호랑이띠 남성인데, 우리나라 개발자로서는 상당히 풍족하게 잘 살고 있다.


그래서, 책의 제목도 아마 이렇게 지어진 것 같다.



이 책을 읽으면서 깨달은 것은, 직업이 개발자냐? 디자이너냐? 소설가냐? 


가 중요한 것이 아니라, 무슨 직업을 가졌든 얼마나 노력하느냐 하는 점이었다.


어느 업종에서나, 승승장구하는 사람이 있고, 무척 힘들어하는 사람들이 있는데


그것이 업종의 특성 때문이라기 보다는, 그 개인의 인성 때문이라는 생각이 든다.




닷컴 버블이 꺼지면서 한때 우리나라에서는 개발자를 3D업종으로 생각하던 시절이있었다.


저자의 주장에 따르면, 지금도 이러한 시각이 여전히 남아 있다고 한다. 


그런데, 이 책의 저자는, 저서도 여러권 냈고, 많은 공모전에서 입상 했으며, 


재테크 공부도 열심히 해서 부동산 임대사업자이기도 하고, 연봉도 1억에 육박하고,


그 밖에도 아주 많은 성취를 이룬 사람이다. 자신이 속한 업종을 탓할것이 아니라


자기의 업을 사랑하며 열심히 노력하라는 교훈을 주는 점이 이 책의 가장 큰 미덕이다.



본문 내용과 관련해서는, 저자의 C/C++에 대한 애정도 느껴졌지만, 저자 역시도


자바가 대세라는 것을 인정하고 있었다.  저자는 프로그래머에게 취미도 매우 중요함을


설명하고 있었다. 아래의 책처럼 야외 활동이 도움이 될 것이다.




이글은 "인터파크도서"에서 작성되었습니다.




:

개발자, 나를 말하다 개발자, 나를 말하다
용영환 | 한빛미디어 | 20140212
평점
상세내용보기
| 리뷰 더 보기 | 관련 테마보기


이 책의 본문 117쪽을 그대로 인용해보겠다.


생산성이 가장 높은 개발자는 코드를 짜지 않는 프로그래머라고 합니다. 


이 말은 즉, 코드를 안 짜는 대신 이미 만들어진 좋은 소스코드들을 가져다 


잘 쓰면 생산성을 높일 수 있다는 의미겠지요.



별것 아닌 것 같지만 사실 매우 대단한 일입니다. 왜 그럴까요? 우선 필요한


오픈 소스가 존재하는지 알아야 하고, 또 그 오픈 소스를 분석해내려면 깊은


내공에서 나오는 경험과 지식에 기반을 두어야만 합니다. 더군다나 다른 사람이


만든 소스코드를 이해하고 사용하려면 그만한 실력이 따라줘야만 가능하죠. 이


모든 과정을 다 거친 후 포르젝트를 성공적으로 끝냈다면, 엄청난 일을 한 것입니다.



그런데 개발자를 평가하는 관리자들은 "남이 만든 것 가져다 스고선 당신이 한


게 뭐야?"라고 묻기 일쑤입니다. 이미 잘 만들어진 프로그램을 또 만드느라 많은


시간과 자원을 허비하는 사람보다 훨씬 일을 잘 했음에도 불구하고 말이죠.


그런 가치를 인정받지 못하는 현실이 안타깝습니다.



이제 이 책의 본문 102쪽도 그래도 인용해보겠다.


피터 모빌의 저서 [검색 2.0 발견의 진화]에서 말하는 것처럼, 정보를 찾는


능력이 중요한 시대입니다.



...(중략)...



정보 검색 능력은 개발자에게도 매우 중요합니다. 간단한 달력 라이브러리를


개발해야 할 때, 이미 만들어져 있는 좋은 달력 라이브러리를 찾아 알맞게 변경


해서 사용하면 경제적입니다. 물론 직접 만들 수도 있고, 참고한 라이브러리와


원화는 라이브러리의 기능이 완벽하게 일치하지 않을 수도 있습니다. 그러나


이미 있는 것을 확장하면서 얻는 경험과 지식은 클 것으로 생각합니다.

피카소도 말했고, 스티브 잡스로 말했듯이,


유능한 예술가는 모방하고, 위대한 예술가는 훔친다.


이제, 위대한 개발자들은 훔치는 시대가 되었다. 



자녀나 조카, 제자가 무엇인가를 훔쳤을때, 어떻게 해야 할지 정말 


당혹스러울 것이다. [막스와 릴리가 사탕을 훔쳤어요]가 도움이 될 것이다.





이글은 "인터파크도서"에서 작성되었습니다.




:
 

도널드 트럼프 & 스칼렛 요한슨