'Java'에 해당되는 글 37건

허니몬의 IT 이야기/프로그래머, '코드 엔지니어'

발표제목 : Grails와 애자일 개발

발표자 : KSUG 장시영님

발표자료 :
Grails.pdf

Grails.pptx


NIKON CORPORATION | NIKON D80 | Aperture priority | Center-weighted average | 1/80sec | F/3.5 | 0.00 EV | 18.0mm | ISO-640 | Flash did not fire | 2011:09:24 14:24:54
그레일스(Grails)에 대한 강연을 듣는 것에 감격해하시는 분들이 많았습니다. ^^ 그레일스는 스프링, 하이버네이트, 그루비라는 언어를 결합하여 만들어낸 생산성을 향상시키기 위한 툴이라고 할 수 있을까요? ^^; 그레일스에 대해서 제대로 이해하지 못한 게 여기서 드러나는군요.

또 부끄럽습니다. >ㅅ<

NIKON CORPORATION | NIKON D80 | Aperture priority | Center-weighted average | 1/100sec | F/3.5 | 0.00 EV | 18.0mm | ISO-640 | Flash did not fire | 2011:09:24 14:29:29

- Grails = Spring(Framework?) + Hibernate(ORM) + Groovy(Dynamic Language)
- Groovy : http://grails.org/
  = Rapid : 빠른 개발 속도
  = Dynamic : 개발 내용의 즉각적인 확인 및 피드백을 위한 다이내믹 언어 
  = Robust : Spring을 기반으로 한 다이내믹하고 애자일한 개발
- What is Grails? : https://www.youtube.com/watch?v=KotyO50SBCs
  = jsp 대신 gsp, 내부인자는 freemarker 와 비슷하다 ${varialble}
  = spring security 지원해서 기본적인 기능들을 제공한다.

애자일 프로세스 - Agile Manifesto
- 프로세스와 도구보다는 개인가치와 상호작용
- 포괄적인 문서화보다 작동하는 소프트웨어
- 계약 협상보다 고객과의 공동 작업 중시
- 게획의 준수보다 변화에 대한 대응 중시
  = 유연한(Flexible한) 변화대응능력

Getting Started with Grails
소스들은 Javascript, JSON Data형태를 띄고 있다...잉?
그레일즈에서 파일을 생성하면 컨트롤러와 테스트케이스가 함께 생성된다.
프로젝트/i18n 폴더에 message_ko.properties와 같은 메시지 처리를 위한 프로퍼티 파일들이 존재한다.
- http://www.indeed.com

  인기있는 플러그인
-> Spring Security Core plugin
-> Acegi Plugin : Spring Security 의 전신이라...
-> Quartz Plugin : 반복적인 업무를 배치처리할 수 있도록 해주는 녀서
-> Searchable Plugin : 도메인 수준에서 검색 엔진을 만들어준당꼐

사이트
- Grails Site : http://grails.org/

- 행복한 아빠의 Grails : http://greatkim91.tistory.com/category/Grails

  = Groovy가 뭐야? http://greatkim91.tistory.com/2

- TDD with Groovy And Grails

- 프로그래밍 그루비

프로그래밍 그루비 Groovy in Action
국내도서>컴퓨터/인터넷
저자 : 디에크 쾨니히(DIERK KNIG),기욤 라포르쥬(GUILLAUME LAFORGE),앤드루 글러버(ANDREW GLOVE),폴 킹(PAUL KING),존 스킷(Jon Skeet)
출판 : 인사이트 2009.03.06
상세보기
- Grails ScreenShots

NIKON CORPORATION | NIKON D80 | Aperture priority | Center-weighted average | 1/250sec | F/3.5 | 0.00 EV | 18.0mm | ISO-640 | Flash did not fire | 2011:09:24 14:59:30



그루비(Groovy)는 자바(java)같은 루비(Ruby)라고 한다.

자세한 내용은 여길 참고하면 더욱 좋을 것 같다.

http://greatkim91.tistory.com/15

그루비는 극도로 복잡해진 자바 웹애플리케이션 개발환경의 복잡성을 극적으로 줄여줄 수 있다고 한다. 여기에는 DDD(Domain-Design Development - http://en.wikipedia.org/wiki/Domain-driven_design)와 ORM(Object Relation Mapping - http://en.wikipedia.org/wiki/Object-relational_mapping)의 막강한 힘을 사용할 수 있게 된다고 한다....는데, 쉽지 않아 보인다. 하지만 자바를 배운 사람이라면 조금은 쉽게 그루비에 접근할 수 있지 않을까 조심스레 추측해본다. 나도 들여다봐야할 것 같지만 당장은 자바, html, javascript, 안드로이드를 익혀야하는 중이다.


  엔터프라이즈 환경은 점점 복잡해지고 있다. 다양한 프레임워크와 기술들이 혼합되어 고도화되고 있다. 하지만 그걸 사용하여 개발해야하는 개발자들은 크게 발전하지 못하고 제자리 걸음을 하고 있다. 그루비를 통해서 이런 답보상태를 벗어나 한걸음 더 나아갈 수 있다면 그것으로도 큰 진전을 이룰 수 있을 것이다. ^^

  그루비를 이용한 레퍼런스(큰 프로젝트에 적용되어 성공한 사례를 레퍼런스라고 하더라. 우리나라에서는 이런 레퍼런스가 많이 나타나는 게 금융권에서 진행하는 차세대사업...이었던 것 같다. @_@ 우리나라에서 새로운 웹서비스나 애플리케이션들이 성공한 사례가 많지 않으니까...)들이 많이 나타난다면 우리나라 IT업계에서도 그루비가 듬직하게 한 분야를 차지할 수 있지 않을까?

  초반에 약간의 학습비용이 지출되긴 하겠지만 그 이상의 가치를 얻을 수 있을까?

  조만간 이 녀석을 사용하는 프로젝트를 경험할 수 있기를 바란다. +_+)

1 0
허니몬의 IT 이야기/프로그래머, '코드 엔지니어'

JUNITINACTION:단위테스트의모든것
카테고리 컴퓨터/IT > 프로그래밍/언어 > 웹프로그래밍 > 웹프로그래밍일반
지은이 피터 타치브 (인사이트, 2011년)
상세보기

  회사에 읽을만한 책으로 굴러들어온(?) 녀석이 있어서, 낼름 집어들고 읽은지 2주가 되어간다. 출퇴근길에 쭈욱 훑어읽은지는 1주일(...)쯤 되어서 내용이 잘 기억나지 않을 즈음, 이렇게 반의무감을 부여하면서 독후감을 쓰기 시작한다. 이 책의 모든 내용을 제대로 이해하기에는 턱없이 부족한 내공의 소유자이다보니 글을 쓰는 부분에서 많은 부족함이 드러나겠지만, 시도하지 않는 것보다는 나으니까 이렇게 글을 써본다.
테스트를 해야하는 상황 속에서, 다양한 테스트 기법들 속에서 적절한 테스트를 선정하여 수행하는 것은 어렵다.
오늘 퇴근길에 전철에서, 울트라 슈퍼 개발자와 나란히 앉아 테스트에 대한 이야기를 하면서 가진 전제다.
  많은 개발자와 아키텍트들이 TDD를 통해서 개발을 진행하는 것이 여러가지 이득이 있으니 그러해야한다고 이야기한다. 그러나 대다수의 개발자들은 이런 개발방법에 대해서 제대로 이해하거나 접하지 못한 경우가 굉장히 많다. 나의 경우에도 얼마 전까지만해도 TDD가 무엇인지, 어떤 상황 속에서 사용하는 것인지도 몰랐었다. 그러다가 우연히 TDD에 대한 베타리딩을 시도하면서 '미지의 세계와 조우'를 하게 되었다.
  그 책은,
테스트주도개발TDD실천법과도구
카테고리 컴퓨터/IT > 프로그래밍/언어 > JAVA > JAVA일반
지은이 채수원 (한빛미디어, 2010년)
상세보기
요 녀석이다. 지금도 종종 꺼내어 펼쳐본다. 이 책은 TDD에 대한 촉(Skin ship)을 느껴보기에 참 좋은 책이다. 유머러스한 저자가 자신의 노하우를 잘 뽑아낸 작품이기도 하다. 정작 저자께서는 많이 아쉬움을 표하는 작품이기도 하니, 조만간 '조금 더 쌔끈해진 모습으로 나오지 않을까' 하는 기대를 하고 있기도 하다.

최근 강조되고 있는 개발기법 중 하나가 TDD(Test Driven Development)
- TDD에 대한 글
  = TDD - Wikipedia : http://en.wikipedia.org/wiki/Test-driven_development
  = 알면서 왜 안할까 TDD - Toby's Epril : http://toby.epril.com/?p=500
  = 내가 생각하는 TDD - benelog : http://benelog.egloos.com/2766714


TDD란,

빨간 정지 신호등(실패)에서 녹색 통과 신호등(성공)으로 바꾸기
위한 노력(과정)이다. 

라고 할까나?
 
  TDD에 대한 공부를 하면서도 여전히 어려운 것이... Mock 과 DBUnit을 이용하는 부분인데, 이 책에서는 상세하게 잘 다뤄져있는 편이다. 요즘 Hibernate를 이용한 ORM(http://en.wikipedia.org/wiki/Object-relational_mapping)에 대해서 공부를 하고 싶은 욕심이 생기고 있는데, 쉬이 접근하지 못하고 있다가, 이 책에서 JPA를 사용하기 위해 테스트할 수 있는 방법에 대해서 설명한 부분들을 보고 학습코드(테스트 코드)를 작성해볼 경험을 가질 수 있었다. 이 책에서는 다양한 테스트 기법이 설명되어 있고, 테스트 전략을 가지고서 시도해볼 수 있도록 상세하게 설명해주고 있다.
  개인적으로 구매해서 '찬찬히 예제를 따라하면서 익혀두면 언젠가는 써먹을 수 있지 않을까?'하는 생각을 품게 하는 책이다.

  요즘의 개발환경은 IDE 개발툴을 이용하기 때문에, 터미널 등에서 테스트를 진행할 경우는 흔하지 않다. 이 책 초반에 터미널에서 커맨드를 입력하여 단위테스트를 진행하는 부분이 나온다. 그렇게 커맨드창에서 명령어를 입력하여 테스트를 실행하는 장면에서는 '뭐 이런걸 다. 요즘 누가 이런걸 쓴다고.' 라면서 살짝 깔보듯 읽기를 시작했다. 하지만 이 책은 그렇게 단위테스트의 초창기 사용방법부터 시작해서 차근차근 사용법을 알려주기 시작한다. Ant와 Maven을 이용한 자동화 테스트, 테스트 케이스와 테스트 스위트(Test Suite)를 구성하고 실행하는 방법, 통합툴을 이용하여 지속적으로 테스트를 진행하는 방법에 이르기까지 시시콜콜하다고 할 수 있을만큼 다양한 테스트 기법과 그걸 사용할 수 있는 전략을 설명해준다.

  어떻게 보면... TDD의 가장 핵심줄기라고 할 수 있는 테스트 전략이 이 책에 소개되어 있다.

테스트 가능한 코드 작성하기
- 공개 API는 계약이다.
- 종속성을 줄여라.
- 생성자는 간단하게 만들어라.
- ...

등등의 주옥같은 개념들이 담겨있다. 좀 더 쓰고 싶지만~ 그 이상의 내용들은 직접 구매해서 보시면 좋겠습니다. 저도 한권 살겁니다~ ^^

TDD에 대해 전반적으로 훑으면서 읽어보려고 한다면

테스트주도개발TDD실천법과도구
카테고리 컴퓨터/IT > 프로그래밍/언어 > JAVA > JAVA일반
지은이 채수원 (한빛미디어, 2010년)
상세보기
에서 TDD의 개념과 재미를 접하고,
JUNITINACTION:단위테스트의모든것
카테고리 컴퓨터/IT > 프로그래밍/언어 > 웹프로그래밍 > 웹프로그래밍일반
지은이 피터 타치브 (인사이트, 2011년)
상세보기
에서 TDD의 전략과 적절한 적용범위 등에 대해 생각하고,
자바개발자도쉽고즐겁게배우는테스팅이야기
카테고리 컴퓨터/IT > 프로그래밍/언어 > JAVA > JAVA
지은이 이상민 (한빛미디어, 2009년)
상세보기
에서 TDD를 통해서 얻게되는 이점들에 대해서 알게될 것이다.

의 순으로 읽으면 괜찮겠다 싶다. 여기에다가
메이븐
카테고리 미분류
지은이 박재성 (한빛미디어, 2011년)
상세보기
에서 메이븐에 대해서 잘 배우고, Hudson을 활용하는 방법도 배우면 참 좋겠는데... ㅎㅎ 이렇게 나열하고 보니, 책장사같다. ㅡ_-);;
지금은!! 프로젝트에 투입되어 프로젝트에서 사용중인 아키텍쳐와 개발기술들을 익히는 것만으로도 참 버겁다.
이러면서 주말이면 자전거타고 어디갈까 고민하고 있...

사실 이 책은... 한번 쭈욱하고 훑어봤다. 그리고 마음에 드는 부분들을 몇개 찝어뒀다. 개인적으로는 책에 줄을 쭉쭉 긋고 낙서를 하면서 읽는 편인지라 회사책을 함부로 다루기가 뭐해서 쉽게 다룰 수가 없다. ^^; 빠른 시일내에 구매를 해서 찬찬히 내용을 훑어보고 또다른 블로그에 그 내용을 정리해보면서 내것으로 만들어가면 내 개발능력이 조금 더 향상되지 않을까? 
TDD는 자신의 개발기술을 향상시키기 위한 특별한 무기가 되어줄 것이다.
나는 그렇게 믿고 있다. 그리고 그 무기는 자신의 발등을 찍는 도끼가 되지 않을 것이라고 확신하고 있다.

실패는 성공의 어머니!!




P.S. 

기회가 닿으면 틈틈히 세미나나 컨퍼런스에 참여하고, 기술서적을 읽고, 개발자들을 만나면서 그들이 관심가지는 분야들에 대해서 귀기울이는 것에는 '조금 더 나은 개발자'가 되고 싶은 내 작은 소망이 표출되는 것이라 생각한다. 나는 여전히 배고프고 어리석다. 그래서 더 많은 것을 보고, 듣고, 느끼고, 생각하고, 행동하면서 배워야한다.
  주말에 그 모습을 드러내는 귀차니즘과 게으름을 적절하게 퇴치할 수 있다면 참 좋을텐데...


살짝 아쉬운 점.

  어느 번역서에서나, IT용어를 한글로 표현하는 부분은 고민이 많은 부분이다. 이런 고민은 베타리딩을 몇번 하면서 저자분들이 고민하는 경우를 목격하면서 공감하고 있다. 이 책에서도 조금 아쉬운 점이 있다면, IT용어와 한글의 표현이 뒤섞여있는 편(어떤 장에서는 한글단어로 적혀있고, 어떤 장에서는 그 장의 핵심 키워드들이 영단어로 표현되어 있음)이다. 초반에 스텁(Stub)이나 테스트 스위트(Suite)의 경우 어느 개발자들에게는 익숙한 단어기에 자연스레 그 단어를 떠올리는 이도 있겠지만, TDD를 처음 접하는 개발자들에게는 낯설면서 어리둥절한 느낌을 줄 수가 있다. 번역자분과 출판 관계자들께서 고민을 하셨을 부분이었을 것이다. 
  그 도서에서 단어가 처음 나타나는 곳에서는 단어 옆에 영단어를 표기하여 어떤 의미를 가지는지 분명하게 이해할 수 있도록 했으면 좋겠다.


 
0 0
허니몬의 IT 이야기/리눅스 이야기, 우분투
제가 우분투 11.04 버전 이전까지는 JDK를 
오라클 다운로드 사이트 : http://www.oracle.com/technetwork/java/javase/downloads/index-jsp-138363.html
에서 BIN을 다운로드 받아서 /usr/lib/java/jdk.1.6.0_XX 형식으로 설치한 후에
.bashrc 에다가 JAVA_HOME 을 설정하고 그걸 PATH에 설정해서 사용을 해왔었습니다. 이렇게 사용해도 별 무리가 없었다.
그런데, 이상하게 11.04 버전부터는 open jdk가 우선순위로 나타나는 것을 바꿀 수가 없었다.

난 OpenJDK를 그다지 좋아하지 않는다. 믿지 않는다.

어떻게든 Sun JDK를 설치하려는 일념으로 검색을 하기 시작했다.


이런저런 방법을 찾다보니까
우분투에서는 update-alternatives 명령을 통해서 사용되는 명령어(키워드, 링크)를 대체할 수 있는 설정할 수가 있다.


우분투에서 사용하는 JDK는 3종류가 있다.
  • Open JDK
  • Sun JDK
  • IBM JDK
  개인적으로는 OpenJDK 보다는 Sun JDK(지금은 오라클에게 인수되었지만, 자바는 여전히 Sun으로 인식되고 있다)을 좋아한다. 그리고 과거의 습관이 남아서 사이트에서 bin 형태로 JDK를 다운받아 설치하고 그것을 경로PATH 설정하여 사용해오고 있었다. 하지만, 우분투에서는 그런 번거로운 작업을 할 필요가 없었다. 우분투에서도 나름 설치를 편리하게 하기 위해서 간단하게 명령어 입력으로 JDK 설치가 가능하다.
# sudo apt-get install sun-java6-jdk
10.04 버전에서는 위 명령을 바로 해서는 패키지를 설치할 수가 없다.
참조 : [jdk] ubuntu 10.04, 10.10 에서 sun-java6-jdk 설치하기
참조 글을 보면 저장소 추가 방법, 설치방법이 나와있다. 정상적으로 진행이 되면 아래 화면처럼 jdk와 관련이 있는(의존성이 있는, dependency) 패키지들 목록과 함꼐 설치를 할지 물어온다. 당연히 'Y'를 누르자.
 

설치를 하던 중에 라이센스와 관련된 확인 창이 두개가 뜬다. 각각 '확인' 과 '' 를 눌러준다.

설치가 완료된 후에
#  sudo update-alternatives --config java
를 입력하면 아래와 같은 화면이 나온다. 2번을 입력한다.

위의 그림처럼 나온다면, 정상적으로 sun-java6-jdk 가 설치되고, java 명령어에 대한 링크된 것을 확인할 수 있다.
이제 사용하면 된다.

6 0
허니몬에 관한 보고서/허니몬의 물병편지
  1. 개발자 입문

    1. 나의 입문 과정

    2. Java 교육 과정의 현재와 업계의 상황

    3. 교육과정과 현업의 괴리감

  2. 개발자 성장

    1. 새로운 것들을 접하다.

    2. 많은 사람들을 만나다.

    3. 부지런히 정진하기

  3. 개발자 미래

    1. 3년 후

    2. 5년 후

    3. 10년 후

    4. 현재를 준비하기


거창할지 모르지만, 현재의 나를 되돌아보면서, 나태해지려는(벌써!?) 나를 다잡아보는 의미에서
위의 단락을 중심으로 글을 써보고자 한다. 나와 비슷한 생각을 하는 사람들이 많을까? ^^
5 1
허니몬에 관한 보고서/허니몬의 물병편지
  • My Market 설치하고 통신사 설정 T-Mobile로 통신사 바꿔서 게임을 찾어 설치를 하며 뭐가 있나 구경중…(htc 디자이어 사용기, 또 늦게 잔다... Orz... me2mobile me2photo) 2010-06-30 00:45:51

    me2photo

  • 디바이어로 즐기는 3d 게임… ㅡㅅ-);; 흠..!?(htc 디자이어 사용기, 루팅의 유혹이..!? me2mobile me2photo) 2010-06-30 00:49:19

    me2photo

  • ㅡㅅ-);; 친구 아닌 이들을 차단하는 기능 좀… 언능 구현을… 저인망식 스팸 태그 나열을 한 사용자를 걸러내는 최적의 방법은 해당 사용자를 블럭하는게 아닐지…(스팸식의 태그가 싫어... olOrz me2mobile) 2010-06-30 07:38:22
  • 진화한 생명체 답게 행동하라. 숨을 쉬되, 뱀처럼 쇳소리는 내지 말라.(me2mobile me2book 실용주의 사고와 학습 23번째 팁) 2010-06-30 08:12:49
  • 6월의 마지막 날… 2010년의 절반이 지나가는 시점… 나는 올해 내가 이루고자 한 목표들을 얼마나 진행했고… 어느 위치에 있나 고민해보자.(2010년 6월 30일, 일년의 절반이 지나간 시점. 상반기 결산하기.. me2mobile) 2010-06-30 08:44:06
  • 내가 디자이어로 음악을 많아듣는 이유… ㅡㅅ-);; 서태지 노래가 담겨서..??(서태지여 영원하라!!! htc 디자이어 사용기, 음악 플레이어로 쓰는 이유... me2mobile me2photo) 2010-06-30 08:53:12

    me2photo

  • 좋아요. 안드로이드 사용자 팁.
    갤럭시S 사용자 팁_어플 모음: 글 제목은 갤럭시S 팁 모음이지만, 실제로는 안드로이드의 팁 모음에 가깝기에 저도 메모 차원에서 스부적. 그런데 5번 내용 말입니다만, 홈버튼 길게 누르면 뜨는 팝업은 실행중인 프로그램이 아니라 실행했던 프로그램의 히스토리입니다. by 마사키군 에 남긴 글 2010-06-30 09:50:01
  • 문득… 출출해짐… 그러면서 해물파전에 동동주가 땡기는 것은… 습관에 가깝다… ㅎㅎ 좋은 기억이 있었기에… 무의식적인 패턴으로 나타나게 되는 것이다… ㅡㅅ-);(축축하고 배고픈 날에는 해물파전에 동동주... ㅡㅅ-);; 신촌에 동래파전... 문득 땡기네?? me2mobile) 2010-06-30 17:34:36
  • 나름 알차게 잘 썼다… ㅡㅅ-);; 약간 남는 듯…(월말 데이터 사용량 결산... ㅋㅋ 미투데이 단말기로서 순수 미투데이 사용량 이랄까? me2mobile me2photo) 2010-06-30 18:04:23

    me2photo

  • My Desire 무선 인터넷 한달 사용량 결산… 웹서핑 앱 다운로드, 트위터, 포스퀘어, 페이스북, 이메일 확인 등의 총합… 흠..!! 미투데이 사용량보다 적다니… Orz…(htc 디자이어 사용기, 한달 사용량 결산... me2mobile me2photo) 2010-06-30 18:06:55

    me2photo

  • 보람찬 하루일을 끝마치고서!!! 이제 퇴… 근… Orz…(상반기 결산 마무리는 야근으로...!? me2mobile) 2010-06-30 21:33:48
  • 췟… 디자이어 내장롬의 저장공간 부족으로 더이상의 앱을 설치할 수가 없다. OTL…(htc 디자이어 사용기, 내장롬 560메가의 압박... 췟췟~~ 만들때 좀 팍팍 늘려주지.) 2010-06-30 23:34:31
  • 흠… Eclipse Helios에 Eclipse Marketplace 라는 녀석이 생겼구나. ㅡ_-)? 3.5에도 있었던가??(이클립스 3.6 helios, eclipse marketplace // subclipse 경로가 바뀌었나? ㅡ_-)?) 2010-06-30 23:50:19
  • 하늘을 봐야 별을 딴다!! 이 앱을 실행시키기 위해서는 하늘을 봐야했다. ㅎㅎ(아이폰 별자리 앱, star walk. 고개 쑤구리고 아이폰 만지작 거리는 일반 사용자는 비싼 돈주고 설치한 고용량 앱이 안된다면서 반납할 수도 있다. ㅋㅋ 난 일반인이 아닌거야!!? me2mobile me2photo) 2010-06-30 23:54:49

    me2photo

  • 흠. 우분투에서 실행한 이클립스 3.6 Helios 에서는 Dependency… 관련한 문제 때문인지… Subclipse 등이 설치가 되지 않는다…?(ubuntu 10.04, eclipse 3.6 helios, subclipse, 기타 플러그인, java 1.6.0.18) 2010-07-01 00:28:41

이 글은 허니몬님의 2010년 6월 30일에서 2010년 7월 1일까지의 미투데이 내용입니다.

0 0
1 2 3 4 5 ··· 8
블로그 이미지

Email : ihoneymon@gmail.com 안녕하세요, 꿀괴물 입니다. ^^ 멋진 비행을 준비 하는 블로그 입니다. 만능형 인간이 되어 많은 이들에게 인정받고, 즐겁고 행복하게 살기를 간절히 원합니다!! 달콤살벌한 꿀괴물의 좌충우돌 파란만장한 여정을 지켜봐주세요!! ^^

허니몬