Shinnara's Blog
Talking with Shinnara :: NaraTalk.com

'xp'에 해당되는 글 2건

  1. 2010/03/24 [책] 패턴, Wiki 그리고 XP - 현재 읽는 중..
  2. 2007/09/10 Groovy 시작하기


** 이미지는 Yes24 에서 가져왔습니다. 이미지를 클릭하시면 Yes24에서 해당책을 구입하실 수 있습니다.

평소에 관심을 가지고 있던 주제들을 한곳에 모아놓은 책이라 관심을 갖고 읽고 있다. 배운게 소프트웨어이고, 대학원 과정에서도 패턴에 대해 아주 쪼오끔(?) 배운적도 있고, 개발과정에 적용도 해보기도 했다. Wiki나 XP 역시..더군다나 요즘 일본에 있다보니 일본 사람이 지은 책이라는 이야기를 듣고, 원서(?)를 살까 고민도 해봤지만, 일본어가 짧은 나에겐 역시나 한글로 된 책이 최고의 선택이리라 생각하고 손에 넣게 되었다.

마침, 한국에 갔다 올 일이 있어 다녀오는 길에 가방에 넣어가지고 온 책. 오늘 부터 읽기 시작했다. 예전에는 본문부터 읽었는데, 몇년전부터인가는 저자의 글이나 역자의 서문등을 대체로 꼼꼼하게 보는 편이다. 책을 이해하는데도 도움이 되고. 대충 책이 어떤 내용인지는 알고 있었기에 친숙한 서론을 빠르게 넘기고, 본문으로 들어갔다.

아니 이런. 역자가 일본에 계신 듯 한데, 정말 일본스럽게 번역을 해놓으신것이다. 왠지 한국어같지 않은 단어들을 보고있자면, 글의 원래 내용보다는 글을 어떻게 하면 다듬을까에 신경이 더 쓰이게 되니, 책 읽는 속도가 나지를 않고 있다. 이럴수가... 얼마만에 보는 한글책인데..(일본에 6개월가까이 있다보니, 한글로 된 책을 거의 못 봐서..이번에 한국에 갔다오는길에 왕창 싸가지고 왔다.)

번역이 어려운 일임을 알기에, 역자분을 탓하지고 싶지는 않지만, 분명 출판사에서도 원고를 검토하였을텐데 그대로 출판했다는 것이 좀 의아했다. 초판이고 1쇄임을 고려해볼 때, 다음 번에 찍으실때는 좀더 부드럽게 고쳐졌으면 하는 바램이다.

책의 내용에 대한 이야기는 다 읽고 나서...

 
0 Trackback, 0 Comment

TRACKBACK :: http://naratalk.com/trackback/317 관련글 쓰기

댓글을 달아 주세요

Groovy 시작하기

Computer/Programming/Java 2007/09/10 14:29 by Shinnara

사용자 삽입 이미지
오늘은 Groovy 에 대해 소개해 볼까합니다. 솔직히 Groovy 에 대해 알게된건 얼마안되었습니다. 이글을 쓰기 한시간 전 쯤? 완전 초보지요.. 앞으로 Groovy 에 대해 하나씩 알아가는 과정을 담아볼까 합니다.




먼저 Groovy 의 홈페이지 입니다.

http://groovy.codehaus.org/
http://groovy.codehaus.org/Korean+Home 한글화 페이지

이 페이지의 내용을 조금 옮겨보면 다음과 같습니다.

Groovy 란?

자바 플랫폼에서 실행되는 기민한 동적 언어(agile dynamic language) 이며, Python, Ruby, Smalltalk 언어에서 영향을 받은 많은 특징을 가지고 있습니다. 자바 개발자들은 자바와 비슷한 문법을 사용하여 이러한 특징들을 구현할 수 있습니다.
웹 어플리케이션 개발, 쉬운 쉘 스크립트 사용, Groovy의 JUnit 기능을 이용한 간결하고 의미있는 테스트 케이스 작성, 복잡한 실제 어플리케이션 의 프로토타이핑과 구현은 너무나 간결하고 매혹적입니다.

Groovy는 이미 작성된 모든 자바 객체, 라이브러리와 깔끔하게 동작하며, 어플리케이션 개발스크립팅 모드에서 모두 자바 바이트코드 로 직접 컴파일 됩니다.

간단한 hello world 스크립트:

def name='World'; println "Hello $name!"


객체 직향을 사용한 좀 더 복잡한 코드:

class Greet {
def name
Greet(who) { name = who[0].toUpperCase() + who[1..-1] }
def salute() { println "Hello $name!" }
}

g = new Greet('world') // 객체 생성
g.salute() // "Hello World!" 출력


기존 자바 라이브러리의 사용:
import org.apache.commons.lang.WordUtils

class Greeter extends Greet {
Greeter(who) { name = WordUtils.capitalize(who) }
}

new Greeter('world').salute()


커맨드 라인에서의 실행:

groovy -e "println 'Hello ' + args[0]" World


최근 회자되는 최고의 화두 중의 하나는 "Agile" 일 것입니다. XP(eXtreme Programming), TDD (Test Driven Development), PP(Pair Programming) 등으로 대표되는 Agile 방법론들에 대해서는 익히 들어 알고 계실것입니다. 이러한 방법론에 못지 않게 사용하는 언어 역시 생산성이나 효율에 지대한 영향을 미치게 됩니다. 얼마전부터 큰 반향을 일으키고 있는 Ruby 와 Rails 가 대표적인 예라 할 수 있습니다. 단 몇줄의 코드로 웹서비스를 만들어내는 과정을 통해 그 놀라온 생산성을 만천하에 알리기도 했습니다.

일반적으로 스크립트 언어나 인터프리터 언어가 생산성이 좋습니다. 뭐 당연하겠지요. 보다 결과를 빨리 볼 수 있기도 하고.. 또한 언어 자체의 설계나 기본 개념이 서로 다른 면도 있습니다. 컴파일러 언어의 대표격인 C는 생산성보다는 주로 성능에 맞춰져 있으니까요. 코드를 힘들고 어렵게 짜더라도 더 빨리 실행될 수 있으면 되는 게 C 세계라고 생각합니다. 하지만 개발하는 과정에 있어 가장 중요한 것이 성능만은 아닐 것입니다. 성능 좋은 시스템을 만들기 앞서 해당 시스템의 전체적인 윤곽을 보기 위해 proto type 을 만들어야 하는 일은 개발에 있어 부지기수겠지요.

위의 예에서도 봤듯이, 하나의 작업을 수행하기 위해 할 수 있는 방법은 너무도 많습니다. 중요한 것은 목적에 맞는 방법을 택하는 것이겠지요.

아는 만큼 보인다고 하지요. 결국 해결 방법이 다양함을 알아야 더 좋은 방법을 택할 수 있을 것입니다. 한분야를 깊게 파고 드는 것도 중요하겠지만, 넓은 안목으로 다양성을 인정하며 끊임없이 새로운 것을 익히는 것 또한 그 중요한 일이 아닐 수 없습니다.


0 Trackback, 0 Comment

TRACKBACK :: http://naratalk.com/trackback/128 관련글 쓰기

댓글을 달아 주세요

1 
다...... (264)
Computer/Programming (106)
Links (14)
책 읽는 즐거움 (7)
끄적임 (66)
즐거운 과학 나라 (7)
일본 (5)
Study (4)