Recent Trackback»

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

 
 

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


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


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


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


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


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



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


것에 놀랄 것입니다.



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


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


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


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


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




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




:

만들면서 배우는 리스프 프로그래밍 만들면서 배우는 리스프 프로그래밍
콘래드 바스키, 조태훈 | 한빛미디어 | 20111127
평점
상세내용보기
| 리뷰 더 보기 | 관련 테마보기

리스프는 표현 기능이 대단히 뛰어난 언어다. 또한 가장 복잡한 프로그래밍 아이디어를


명확하고 적절하게 표현할 수 있도록 설계되었다. 리스퍼(Lisper : 리스퍼 프로그래머)는


가장 정확한 방법으로 프로그래밍을 할 수 있는 능력이 있는데, 이는 당면한 모든 문제를


해결하는 데 가장 절실한 부분일 것이다.



리스프로 코드를 짤 때 리스퍼 손 끝에서 뻗어 나오는 힘은 남다르다. 리스프를 "얻게" 


되었을 때, 당신은 뼛속까지 프로그래머가 될 것이다. 리스프를 배운다면 남은 평생


리스프 코드를 다시 작성하지 않더라도 근본적으로 당신을 코더로 바꿔줄 것이다.



어찌 보면 프로그래밍 언어를 배우는 것은 어른이 외국어를 배우는 것과 비슷하다.


당장 내일 프랑스어 학원을 등록하기로 했다고 가정해보자. 가능한 한 프랑스어 수업을


듣고 프랑스어로만 된 자료를 읽으며 나중에는 프랑스에도 가볼 것이다. 하지만 아무리


노력해도 프랑스어를 이해하고 방다들이기엔 어딘가 조금 부족하다. 그리고 프랑스어를


아무리 잘 구사하게 되었다 한들, 여전히 꿈 속에서는 모국어로 말하고 있을 것이다. 



이러한 점을 보면 리스프를 배우는 것은 외국어를 배우는 과정과 조금 다르다.


리스프를 배우고 나서는 리스프로 꿈을 꿀 수 있다. 리스프는 이전의 프로그래밍에 대한


기억을 몰아내고 새로운 모국어가 될 만큼 강력하다. 다른 어떤 프로그래밍 언어에서 


새로운 개념과 마주치더라도 항상 "리스프에서는 ~없이 이러이러하게 할 수 있는 건데..."


라고 혼잣말을 할 것이다. 오직 리스프만 줄 수 있는 힘이다

======================================================

콘래드 바스키의 저서 "만들면서 배우는 리스프 프로그래밍" 본문 20~21쪽 인용



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




:

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


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


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


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


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


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



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


것에 놀랄 것입니다.



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


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


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


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


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




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




:

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);

}

}


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


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


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


하세요.




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




:

코딩을 지탱하는 기술 코딩을 지탱하는 기술
니시오 히로카즈, 김완섭 | 비제이퍼블릭 | 20131016
평점
상세내용보기
| 리뷰 더 보기 | 관련 테마보기

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



Python 3.0



>>> "hello,"  + b"Alice"


Traceback (most recent call last):


   File  "<stdin>", line 1, in <module>


TypeError : Can't  conver 'bytes'  object to str im;oicitly


>>>  "hello,"  + b"Alice".decode("ASCII")


'hello, Alice'



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




:
 

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