Whiteship's Note

'2010/05'에 해당되는 글 36건

  1. 2010.05.31 [헤드 퍼스트 아이폰] 막힌 곳 돌파! (2)
  2. 2010.05.30 [헤드 퍼스트 아이폰] 드디어 막혔다;;
  3. 2010.05.30 6월 2일 투표 방법 알아보자 (2)
  4. 2010.05.29 [헤드 퍼스트 아이폰] 칵테일 앱 완성 (2)
  5. 2010.05.28 [헤드 퍼스트 아이폰] 트위터 쓰기앱2
  6. 2010.05.27 [결혼 1주년 기념] 유진&기선 결혼식 축하 공연 공개 2 (2)
  7. 2010.05.27 UIImageView 터치 감지하기
  8. 2010.05.27 [결혼 1주년 기념 선물] Uzin V1.0 (6)
  9. 2010.05.27 [하이버네이트 Criteria] 목록 사이즈 구하기 (4)
  10. 2010.05.26 XCode에서 만든 애플을 터치에서 실행하기
  11. 2010.05.25 [Head First iPhone] 2장 연습
  12. 2010.05.25 JUnit 4.8 카테고리 기능
  13. 2010.05.25 [결혼 1주년 기념] 유진&기선 결혼식 축하 공연 공개 1 (2)
  14. 2010.05.24 인텔리J에서 다시 STS로... (2)
  15. 2010.05.23 [STS 2.3.3] Spring TC Server Developer Edition with Spring Insight 써보기
  16. 2010.05.22 선거 방법(?)좀 바꾸자 (2)
  17. 2010.05.21 [Adobe Flex] 초간단 Todo Flex 만들기 2: 스프링 액션스크립트 설정하기.
  18. 2010.05.21 [Adobe Flex] 초간단 Todo Flex 만들기 1: 돌아가는 예제
  19. 2010.05.20 토비님 책으로 스프링 3.0 강의합니다. (4)
  20. 2010.05.20 Toby's 스프링 3.0 완독
  21. 2010.05.19 스프링 액션스크립트
  22. 2010.05.19 Toby's 스프링 3.0 @MVC를 읽고서 (3)
  23. 2010.05.18 일상에 회의감이 드는 순간... (10)
  24. 2010.05.16 Toby's 스프링 3.0 스프링 웹 기술과 스프링 MVC를 읽고서...
  25. 2010.05.14 Toby's 스프링 3.0 스프링 웹 기술과 스프링 MVC를 읽으며..
  26. 2010.05.14 Toby's 스프링 3.0 데이터 액세스 기술을 읽고서
  27. 2010.05.13 Toby's 스프링 3.0 10장 IoC 컨테이너와 DI를 읽고서 (8)
  28. 2010.05.12 '소로우의 노래'를 읽다가 (4)
  29. 2010.05.11 인텔리J에서 스칼라 시작하기 (7)
  30. 2010.05.11 Toby's 스프링 8, 9장을 읽고서

[헤드 퍼스트 아이폰] 막힌 곳 돌파!

IPhone : 2010.05.31 00:29


그러나;; 왜 막혔었는지는 모르겠다. 짐작만 갈 뿐... 시뮬레이터에서 앱을 지웠다가 다시 실행해봤었어야 하는데 그러지 않아서 데이터 모델이나 엔티티를 새로 만들었어도 이전에 사용한 sqlite 정보들과 맞지 않아서 그런 현상이 나타났던것 같다고.. 짐작만 갈뿐이다. 이미 그 플젝을 지워버려서 확인할 길도 없다.. OTL..


좋아 이제 DB 사용하는 법도 알았으니 제법 앱 스러운걸 만들 수 있을 것 같다.
흠. 그런데 과연 내가 코어 데이터를 잘 쓸 수 있을까;; 내용이 좀 부실한 것 같은데 머 다른책을 뒤져보면 나오겠지~
저작자 표시
신고
top


[헤드 퍼스트 아이폰] 드디어 막혔다;;

IPhone : 2010.05.30 21:50


reason = "Can't find model for source store"


이 에러 때문에;; 막혔다.. @_@;; 엔티티에 해당하는 클래스를 지우고 다시 만들어도 소용이 없었다. 
데이터 모델을 지우고 다시 만들어도 소용이 없었다.
데이터 모델을 지우고, 엔티티도 지우고 다시 만들었지만 소용이 없었다.
앱델리게이트 소스에서 options 부분도 추가해보고, 주석처리도 해봤지만 소용이 없었다.
코어 데이터 때문에 막히다니..


아흑.. 답답하다. 처음부터 다시 만들어야겠다.
저작자 표시
신고
top

IPhone : 2010.05.30 21:50 Trackback. : Comment.

6월 2일 투표 방법 알아보자

모하니?/Planning : 2010.05.30 09:59


8명이나 뽑아야 된다. 다행히다. 딴지일보에서 설명을 잘 해주고 있다.

http://www.ddanzi.com/news/21502.html

자 이제 내가 찍어야 할 후보를 알아보러 가보자.

http://www.nec.go.kr/nec_new2009/Main.do

후보자 찾기를 누르면 http://epol.nec.go.kr/ 여기로 이동한다.
흠.. 사이트는 잘 만든 편이다. 맥북 사파리에서 잘 보인다니 다행히다. 
IE에서만 볼 수 있었다면 난 바로 꺼버렸을거다.

광명4동을 찾아서 눌러줬다. 오퀘 다 나왔다.


비례대표의원 후보는 너무 많아서 캡처하기도 귀찮았다. 그래서 캡처 안했다. @_@;; 귀찮아 귀찮아..

자 이제 선택의 시간이다. 기준이 필요하다. 아무런 기준없이 찍으면 똥인지 된장인지도 모르고 투표하는 꼴이 되는거다.

내 기준은 간단하다.

1. 한나라당 아웃.

모든 후보들 중에서 한나라당은 일단 아웃이다.

2. 연합 후보 지지.



3. 나머진 찍자.

1번으로 다 빼고, 2번에서 찾아봐도 나오지 않는 후보가 있을 땐 그냥 찍자.
어쩔 수 없다. 비례대표의원들을 다 알아보다간 날 새겠다. 그냥 찍고 말랜다.

결과

1. 경기도교육감: 김상곤 
2. 경기도교육의원: 최철환
3. 경기도의회의원: 정대문
4. 광명시의회의원: 문현수
5. 경기도지사: 유시민
6. 광명시장: 양기대
7. 비례대표경기도의회의원: 아 몰라;;
8. 비례대표광명시의회의원: 문영희

끝났군!!
저작자 표시
신고
top


[헤드 퍼스트 아이폰] 칵테일 앱 완성

IPhone : 2010.05.29 18:19



오예~ 드뎌 멀티뷰 앱(네비게이션 앱)도 만들 수 있겠다.

HIG도 쬐끔 알게 됐고, 테이블뷰, 스크롤뷰, 딕셔너리, 정렬, 디버깅, 네비게이션 컨트롤러, 프로퍼티 리스트등을 익혔다.

이제 코어 데이터 보러 고고씽..
흠.. 배고프네;; 밥먹고, 피아노치고, 청소한 담에 봐야겠다.
저작자 표시
신고
top


[헤드 퍼스트 아이폰] 트위터 쓰기앱2

IPhone : 2010.05.28 20:51



해킹터치에 깔고 써도 되겠지만.. 트위터를 그다지 쓰지 않기 때문에;;(티스토리에서 자동으로 쏘는것만 쓰고 있습니다.)

자 어서 네비게이션 앱으로 고고
드뎌 멀티 뷰 앱을 만들어 보겠군요.
저작자 표시
신고
top

IPhone : 2010.05.28 20:51 Trackback. : Comment.

[결혼 1주년 기념] 유진&기선 결혼식 축하 공연 공개 2

모하니?/Watching : 2010.05.27 15:18


이번엔 락 밴드 공연~



학교 친구들끼리 모여서 만든 친목 락밴드 라고 했던것 같은데 잘하세요. 
캬~~ 웅성웅성 시끄러운데도 쩌렁쩌렁 잘 들리고 좋아요. ㅎㅎ
저작자 표시
신고
top


UIImageView 터치 감지하기

IPhone : 2010.05.27 14:48


http://iapp.springnote.com/pages/2094058

버튼 Oulet처럼 액션이 주르륵 뜨고 마우스로 연결 해주면 될 줄 생각하고 UIImageView를 우클릭 해봤지만 .. 덜렁 나오는건 레퍼런스 하나 뿐;; @_@;; 액션은 없었다. 

Image는 액션 용이 아닌가?? 하지만 그동안 써왔던 앱들을 보면 그런거 같진 않다. 사진첩만 봐도 손가락으로 늘리고 다음 사진으로 넘기고 메뉴 뜨고 덩덩덩을 하니깐 말이다.

그래서 검색해 봤더니 위와 같은 글이 뜬다. 하지만.. 불편하다. 그냥 Lable 처럼 액션으로 다 정의해주고 슥슥 연결하게 해주면 더 좋았을 것 같다. ㅠ.ㅠ 오죽하면.. UIImageVIew 대신에 버튼을 쓰고 버튼에 이미지를 띄울까도 생각했었다.

그래도 다행히 이글을 찾아서 Uzin 앱에 추가 기능을 넣을 수 있었다.
음헤헤헤 오늘도 선물을 마련했다.
저작자 표시
신고
top

TAG uzin 앱
IPhone : 2010.05.27 14:48 Trackback. : Comment.

[결혼 1주년 기념 선물] Uzin V1.0

IPhone : 2010.05.27 12:59


어제 해킹터치에 앱 설치하는 방법을 터득한 뒤에 바로 만들기 시작한 것이 이 앱이다.ㅋㅋ
반응이 매우 좋았다. 캬캬캬~~


클릭하면..


이렇게 간단한 닭살 애플리케이션 하나로 어제 얼마나 행복했는지 모른다. 하하핫

추가 개발 요구 사항도 들어온다. 어제 와이프가 준 요구사항은 "좀 더 많이 누르게 해줘" 였다. 뭔가 더 터치 할 꺼리를 만들어 줘야겠다.
저작자 표시
신고
top

TAG 아이폰

[하이버네이트 Criteria] 목록 사이즈 구하기

모하니?/Coding : 2010.05.27 10:47


난 편의상 이런 메서드들을 만들어 놓고 쓴다.

    private Session getSession() {
        return sessionFactory.getCurrentSession();
    }

    private Criteria getCriteriaOf(Class clazz){
        return getSession().createCriteria(clazz);
    }

이 두개가 있다고 했을 때.. Criteria API를 이용해서 목록 사이즈를 구하는 코드를 작성해보자.

    public int totalSize() {
        return getCriteriaOf(Code.class).list().size();
    }

캬.. 얼마나 명시적인가. 하지만 이러면 안된다. ㅠ.ㅠ.. 난 하이버가 좀 더 똑똑해져서 저렇게 짜더라도 알아서 count 쿼리를 만들어 주면 좋겠지만 그러지 않는다. 전부다 select 해온다. 로그를 보면..

Hibernate: select this_.id as id0_0_, this_.code as code0_0_, this_.descr as descr0_0_, this_.name as name0_0_ from Code this_

이렇다. 필요한건 사이즈 뿐인데 Code 테이블에 있는걸 전부다 가져온 셈이다. 크헉.. 따라서 목록 사이즈를 구할 때는 이런 쿼리를 쓰면 안된다.. 절대로; 그럼 어떻게 할까나..

    public int totalSize() {
        return (Integer)getCriteriaOf(Code.class)
            .setProjection(Projections.count("id"))
            .uniqueResult();
    }

이렇게 하면된다. Projections를 이용하면 count 말고도 max, min등을 사용할 수 있다. 코드가 좀 길어지고 Projection API에 적응해야 한다는 단점이 있지만 쿼리는 깔끔해진다.

Hibernate: select count(this_.id) as y0_ from Code this_

딱 내가 원하던 쿼리다. 하이버네이트를 쓸땐 이렇게 Criteria나 HQL이 생성해주는 SQL도 일일히 확인하는것이 좋다. 사실 일일히 확인하는 작업을 DBA가 해주면 좋겠지만 하이버네이트랑 친한 DBA가 있을 때의 이야기이고 그렇지 않다면 본인이 해야겠다. 아니면 하이버네이트를 마스터해서 어떤 쿼리가 생성되는지 달달달 꽤고 있다면 시간을 좀 단축 시킬 수 있을 것 같기도 하다.

하이버네이트를 마스터 하기 위해서는 조마간 나올 하이버네이트 번역서가 필수라는....앗..  광고를 하려고 시작한 글은 아니었는데;; ㅋㅋㅋ

ps1: Criteria를 사용해서 좀 더 간결한 코딩으로 가져오는 방법이 있으면 알고 싶다.
ps2: 반드시 Criteria를 써야 한다. 나중에 저 쿼리에 검색 조건이 임의로 추가될텐데 그럴때 Criteria가 빛을 발하기 때문이다. 난 동적쿼리를 SQL이나 HQL로 짜지 못하겠다. 짜증난다.
저작자 표시
신고
top


XCode에서 만든 애플을 터치에서 실행하기

IPhone : 2010.05.26 12:02


http://stackoverflow.com/questions/37464/iphone-app-minus-app-store
http://qtkamiru.textcube.com/80

맨 위 링크를 보면서 인증서를 만들면 되는데 언어가 한글이라 어떤 메뉴인지 찾는데 좀 시간이 걸렸다.

인증서 만든 다음엔 나머지 절반은 건너뛰고 두번째 링크에서 ipa만들기 부분을 참조해서 ipa 파일을 만들면 된다. 첫번째 문서 나머지 절반을 따라하는게 편한 분들은 그렇게 해도 무관하겠다. 난 ipa 파일 쓰는게 더 편한것 같아서 그길로 갔다.ㅋ

그런 다음엔 늘상하듯이 Discover 앱으로 ipa파일을 올린 다음 Installous에서 설치했다. 오호.. 돌아간다!!

다행이다.. 안그래도 터치에서 돌려보고 싶었는데 유료 개발자 라이선스 돈을 내면서까지 하고 싶지는 않았는데. .캬캬캬 역시 다 방법이 있었어.. 음하하

(터치에서 돌린 머리 먼저 아이폰 첫번째 예제) 


저작자 표시
신고
top

IPhone : 2010.05.26 12:02 Trackback. : Comment.

[Head First iPhone] 2장 연습

IPhone : 2010.05.25 22:11



하악하악.. 완전 오타와의 싸움을 하며;; @_@;; 오타 때문에 실습하는데 너무 오래 걸립니다. 
흑흑.. 어떤건 자동완성 잘 되고 어떤건 잘 안되고.. 동적언어라 그런가.. 헐.. @_@ ebook 있었으면 그냥 긁어 넣고 후딱 후딱 했을텐데 


움하하하 트위터 쓰기 앱 간딴 하구만~
저작자 표시
신고
top

IPhone : 2010.05.25 22:11 Trackback. : Comment.

JUnit 4.8 카테고리 기능

모하니?/Coding : 2010.05.25 16:00


http://kentbeck.github.com/junit/doc/ReleaseNotes4.8.html

public interface FastTests { /* category marker */ }
public interface SlowTests { /* category marker */ }

public class A {
    @Test
    public void a() {
        fail();
    }

    @Category(SlowTests.class)
    @Test
    public void b() {
    }
}

@Category({SlowTests.class, FastTests.class})
public class B {
    @Test
    public void c() {

    }
}

@RunWith(Categories.class)
@IncludeCategory(SlowTests.class)
@SuiteClasses( { A.class, B.class }) // Note that Categories is a kind of Suite
public class SlowTestSuite {
  // Will run A.b and B.c, but not A.a
}

@RunWith(Categories.class)
@IncludeCategory(SlowTests.class)
@ExcludeCategory(FastTests.class)
@SuiteClasses( { A.class, B.class }) // Note that Categories is a kind of Suite
public class SlowTestSuite {
  // Will run A.b, but not A.a or B.c
}

1. A.a() 테스트: 아무것도 설정안함.
2. A.b() 테스트: SlowTest.class 카테고리로 지정함(애노테이션 참조)
3. B.c() 테스트: SlowTest.class과 FastTest.class 카테고리에 모두 해당함.( c() 메소드를 가지고 있는 클래스에 붙인 애노테이션 참조)

첫번째 SlowTestSuite 실행할 때는 SlowTest.class 카테고리를 포함시킴. 테스트 대상으로 A.class와 B.class에 있는 모든 테스트를 지정해줌.
=> 따라서 A와 B 클래스에 들어있는 테스트 1, 2, 3이 모두 테스트 대상이 되지만 그 중에서 SlowTest 카테고리에 해당하는 1번(A.b())과 3번(B.c())만 실행됨.

두번째 SlowTestSuite 실행할 때는 SlowTest.class 카테고리를 포함시키고 FastTests.class는 제외시킴.
=> 따라서 위 결과와 비슷하지만 FastTests.class 카테고리에도 들어갈 수 있는 3번이 제외됨.

벤댕이 그림을 그려서 보면 좋겠지만 귀찮아서..패스
저작자 표시
신고
top

TAG JUnit 4.8

[결혼 1주년 기념] 유진&기선 결혼식 축하 공연 공개 1

모하니?/Watching : 2010.05.25 11:29


저희 결혼식은 대박이었습니다. 평생 기억에 남을만큼 톡창적이고 재미있고 멋지게 했습니다. 어느덧 벌써 그 결혼식이 1년이 지났네요. 그날을 멋지게 장식해준 분들의 축하 공연을 공개해봅니다.

blip.tv 버전


youtube 버전



두곳에 동일한 파일을 올렸는데.. bliip.tv가 더 보기 좋은것 같네요. 흠.. 유투브는 2GB, 10분 미만 동영상을 올릴 수 있으니 HD로 찍은 파일을 그대로 한번 올려봐야겠군요.

흠.. 다시보니 유투브도 볼만하군요. +_+.. 앞으로 10분 미만 동영상은 유투브에 올려야겠네요.

캬~~ 첫곡은 제가 신청한 종소리(라캄파렐라).
그 다음곡은 멘델스존 결혼행진곡이라네요

피아노는 역시 귀도 즐겁지만 날아다니는 손가락 보는 재미도 쏠쏠하다는..
저작자 표시
신고
top


인텔리J에서 다시 STS로...

Good Tools : 2010.05.24 11:59


여러 프로젝트 띄워놓고 작업하기는 STS가 편한것 같네요. 그리고 최근 STS에서 제공하는 서버단 서비스가 대폭 강화되는 바람에 인텔리J에서 다시 STS로 넘어왔습니다. 강의 준비도 왠지 이클립스 기반으로 해야할 것 같고.. 여러가기 상황이 저를 다시 STS로 데려가는군요. 

흑흑.. 인텔리J 그동안 고마웠어. 내가 조만간 돌아갈께... 


스프링 ROO의 스프링, JPA 설정파일과 pom.xml 파일 참조용 프로젝트, 봄싹 공통 코드 참조용 프로젝트, OSAF 2 참조용 프로젝트, 실제로 새로 작성할 프로젝트 열어놓고 작업 중인 화면입니다.

인텔리J 윈도우 4개 띄우고 작업하느니;;; 스프링 인사이트로 쉽게 성능 모니터링 해볼 수 있는 STS로.. 프로젝트 라이브러리 세팅하고 아키텍처 잡으면 다시 빽 투더 인텔리J!
저작자 표시
신고
top

TAG STS 2.3.2

[STS 2.3.3] Spring TC Server Developer Edition with Spring Insight 써보기

Good Tools : 2010.05.23 08:55


초 간단 하더군요;. 그냥 STS 최신버전 (2.3.3.m1) 받아서 tc 서버 개발자 에디션에다가 프로젝트를 끓어다 놓고 실행하면 됩니다. 그런데 6.0은 지원하지 않네요. 덕북에;; 프로젝트를 JDK 1.5 버전으로 다운 그레이드 했습니다. @_@ 아주 귀찮아 죽겠는 @Override 없애기와 Stirng.isEmpty() 없애기를 해줬습니다. 이런건 툴에서좀 지원을 해주면 좋으련만;;;

어찌됐든 tc 서버 개발자 에디션에 놓고 서버를 시작시키면 뭔가 물어봅니다. 스프링 인사이트를 같이 사용할꺼냐는건데 당연히 OK!! 

그렇게 서버를 켜고 로컬에서 웹 앱을 가지고 좀 논다음에 localhost:8080/insight 로 접속하면 모니터링 정보를 확인할 수 있습니다.

좋군요. 성능 최적화 할 때 아주 좋을 것 같습니다. 다른 모니터링 툴은 안써봤는데;; 이정도면 충분한거 아닌가요? 알아보기도 쉽고 쿼리도 다 보이고 해당 코드로 바로 이동도 할 수 있으니.. 흠.. 그리고 공짜네;; +_+
저작자 표시
신고
top


선거 방법(?)좀 바꾸자

모하니?/Thinking : 2010.05.22 15:46


왜 선거는 진화되지 않는가. 그 동안 지긋지긋하게 해온 선거는 매번 비슷한 방법과 비슷한 수단으로 치뤄지고 있다. 고래고래 스피커 틀고 노래 부르고 춤추고 찌라시 같은 명함 나눠주면서 인사하고 악수 청하고 아주 난감해 죽겠다. 난 그런 사람들만 보면 이제 또 선거철이로구만.. 또 시끄럽겠구만.. 아 젠장. 도대체 뭐하는 사람들인지도 모르는데 내가 그 사람들을 일일히 조사해서 투표를 해야 하다니. 진짜 피곤한일 아닌가... 라는 생각을 한다. 

투표는 하고 싶다. 그런데 도대체 어떤 사람들인지 알아야 투표를 하지 맨날 시끄럽게 노래 틀고, 춤추고, 인사하고, 찌라시 나눠주는 사람들을 보면 대체 누굴 뽑아야 하는건지.. '그놈이 그놈이구만'이라는 생각밖에 안든다. @_@;; 변화가 필요하다.

일단 번호부터 없애자.

내가 직접 조사는 안해봤지만 기호 1, 2, 3번과 기호 5, 6, 7번의 당선 확률을 보사해보면 분명히 차이가 있을거다. 내가 정치학이나 사회학, 통계학을 전공하는 학생이었다면 이걸로 논문을 써봤을 것 같다. 순번을 매기는건 평등하지 않다. 기호 1번과 기호 7번에 내포되어 있는 의미가 아무것도 없다라고 할지라고 경험적, 심리적인 무언가가 작용하지 않는다고 볼 수 없다. 따라서 투표 용지에 무작위로 이름이 나열되어야한다. 투표를 하러 간 유권자라면 당연히 자신이 뽑으려는 사람 이름 정도는 알아볼테니 무작위로 나열해도 상관없고 모든 투표용지를 출력할 때마다 그 순서는 바뀌어야 한다. 물론 많이 뽑으면 동일한 순으로 나열된 투표지도 있겠지만 난 이렇게 하는게 더 공정하다고 생각한다.

소음 공해도 선거법 위반으로 하자.

제발 안그래도 혼잡한 시내에서 시끄럽게 차위에서 노래 틀고 춤추지 말자. 정신 사납고 시끄러워서 스트레스 받는다. 노래 부르고 춤춘다고 대단한 사람으로 보이지 않는다. 내가 알고 싶은건 그사람이 과거에 무슨 일을 했고 그걸 믿을 수 있는 증거와 앞으로 그사람이 하려는 일과 그 실현 가능성이다. 노래를 틀지말고 차라리 공약을 틀어라. 시끄러워 죽겠다. 전부다 선거법 위반으로 잡아넣고 후보에서 제외시켜 버린다음에 남은 사람들만 두고 투표하자. 시민들에게 불편을 주면서 까지 자기 노래 틀고 춤추는 사람이 시민을 위해서 무얼 해주겠는가?

찌라시는 그만 나눠주자.

명함이랍시고 뽑아온 종이가 무슨 찌라시만도 못하다. 안에 적혀있는 공약이라고는 "무상급식" 뿐이고 어느 학교를 나와서 어디 위원장으로 있는 것 밖에 모르겠다. 그게 그렇게 중요한가? 왜 다들 하나같이 "무상급식"을 내세우는 건지 모르겠다. 공약도 담합해서 정하는가? 내가 원하는 공약은 "환경미화"와 "시민 의식 개선"이다. 내가 머하러 "무상급식" 때문에 당신들을 찍어줘야 하는가... 그래서 버리는거다. 그래서 쓰레기가 되는거다. 돈들여서 찍는 종이에 제발 유익한 내용좀 넣어달라. 안그럴거면 좀 치워라. 선거철만 되면 길거리가 지져분하다. 찌라시 나눠주는 후보자는 그 동네 청소를 시켜라. 딱.. 아줌마들 시켜서 인사시키고 노래틀고 춤추게 한 시간만큼만 동네 청소좀 해달라.

젊은이에게 투표권을 2장씩 달라.

이 나라의 미래를 짊어진 사람은 젊은이들이다. 대중매체를 신처럼 모시고 사는 사람들이 많은 고령층에 비해 그나마 가장 깨어있는 연령층은 젊은이들이다. 접하는 매체부터가 다르다. 조/중/동/S/M/K 는 인터넷에 비하면 작은 점에 불과하다. 마주하는 매체 규모와 품질이 다르기 때문에 젊은이가 오히려 고령층에 비해 더 신선한 판단을 내릴 수 있다. 하지만 점점 더 심해지는 인구고령화로 인해 젊은이들의 투표권은 노년층의 투표에 묻히게 된다. 진정으로 젊은이를 나라의 미래로 생각한다면 젊은이들에게 투표권을 두장씩 달라. 아니면 노년층의 투표권을 박탈하라.

동사무소 가기 귀찮은 사람들과 거동이 불편한 사람들을 위해서 인터넷 투표도 좀 하고 생각하면 개선할 것들이 꽤 많을텐데 발전이 없다. 더이상 쓰기도 귀찮다.
저작자 표시
신고
top

TAG 선거

[Adobe Flex] 초간단 Todo Flex 만들기 2: 스프링 액션스크립트 설정하기.

Adobe : 2010.05.21 17:02



libs 폴더에 보이는 라이브러리 4개를 클래스패스에 추가합니다.
그런다음 빈 설정파일인 application-context.xml 파일을 작성합니다.

<?xml version="1.0" encoding="utf-8"?>

<objects xmlns="http://www.springactionscript.org/schema/objects"

         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

         xsi:schemaLocation="http://www.springactionscript.org/schema/objects

http://www.springactionscript.org/schema/objects/spring-actionscript-objects-1.0.xsd">


<!--

Spring ActionScript config

-->


<object id="autowiringStageProcessor" class="org.springextensions.actionscript.stage.DefaultAutowiringStageProcessor"/>


<object id="eventHandlerProcessor" class="org.springextensions.actionscript.ioc.factory.config.EventHandlerMetaDataPostProcessor"/>


<!--

Infrastructure: services

-->


<object id="todoService" class="whiteship.crud.infrastructure.service.InMemoryTodoService"/>


<!--

Presentation: presentation models

-->


<object class="whiteship.crud.presentation.TodoListPresentationModel">

<constructor-arg ref="todoService"/>

</object>


</objects>


http://www.springactionscript.org/asdoc/org/springextensions/actionscript/stage/DefaultAutowiringStageProcessor.html


살펴볼만한 API는 위 링크를 보시면 될 것 같군요. 나머지 설정 내용은 어떤것인지 대충 짐작이 갈 것 같습니다. bean대신 object를 사용하네요. 흠.. 머 더 알고 싶은게 없어서 이만;;


이 설정파일을 사용해서 ApplicationContext를 만드는 코드는 simpleCRUD.mxml 파일에 들어있습니다.


private var _appContext:FlexXMLApplicationContext = new FlexXMLApplicationContext();

...

_appContext.addConfigLocation("application-context.xml");

...

_appContext.load();


다음에는 오토와이어링 사용법좀 봐야겠네요. 오늘은 이만~
저작자 표시
신고
top

Adobe : 2010.05.21 17:02 Trackback. : Comment.

[Adobe Flex] 초간단 Todo Flex 만들기 1: 돌아가는 예제

Adobe : 2010.05.21 16:36


스프링 액션스크립트 예제 애플리케이션을 살짝 개조해서 Todo 애플리케이션을 만들었습니다. 초간단 버전이라 DB도 사용하지 않고 그냥;; 추가/수정/삭제/리스트 정도만 되는 애플리케이션을 만들어 봤습니다. 액션스크립트도 잘 모르고 플렉스도 잘 모르지만 예제 코드 고쳐가며서 만드니까 대충 만들 수 있겠더군요;


맥용 플래시 빌더로 만들었는뎅;; 인텔리J에서도 배포하는 방법을 터득해야 할텐데;; 일단 Todo로 미루고;;
소스코드를 올려둡니다.



저작자 표시
신고
top

Adobe : 2010.05.21 16:36 Trackback. : Comment.

토비님 책으로 스프링 3.0 강의합니다.

모하니?/Planning : 2010.05.20 18:58


http://www.hanbitedu.co.kr/incumbent/shortContent.do?index=1084

교재는 조만간 나올 토비님의 스프링 3.0 프로그래밍으로 합니다.
6월 19일부터 4주간 합니다. (6월 26일은 사정이 있어서 한번 건너 뛰구요.)

그전에 책이 나오지 않더라도 제가 미리 학습한 내용으로 교재나 PPT를 만들어서 진행할 계획이구요. 아마 스터디 끝나기 전까지는 책이 나오지 않을까 싶네요.

예전부터 강의는 하고 싶었지만 별로 기회도 없었고, 인맥을 부릴지도 몰라서 못하고 있었는데, 우연찮게 기회가 와서 덥썩 물었습니다. 이 책을 널리 전파하고 싶은 마음도 있고 이 책에 있는 내용을 쉽고 재미있게 이해할 수 있도록 돕고 싶습니다.

이번 강의를 위해서 꼭 스프링을 미리 알고 있어야 하는 것도 아니고 스프링 2.5를 학습하셨던 분이 아니어도 좋습니다. 기본적인 JDBC 코딩이나 서블릿&JSP를 코딩해본 경험이 있으신 분들이라면 누구나 들을 수 있도록 준비할 생각입니다.

처음엔 이 책에 있는 내용을 다 어떻게 전달할까 고민했었는데.. 인기 강사분(너굴아저씨?)에게 물어보니 강사가 전달하고 싶은걸 다 전달하려는건 욕심이고 전달하려는 내용중에 중요한 것 몇개만 쉽게 전달하는데 초점을 맞추라더군요. 그 조언에 따라 강의를 준비할 생각입니다. 창의적 교수법인가 하는 책도 있던데 그 책도 오늘 사볼거랍니다.

아무쪼록 최선을 다해 재밌고 유익한 강의를 준비하겠습니다.
저작자 표시
신고
top


Toby's 스프링 3.0 완독



아직 나오지도 않은 책을 벌써 완독했다. 캬.. 이런 특권이 있나...

열심히 봤는데 10일정도 걸린것 같다. 읽는 족족 소화되는 내용들이 아니라서 좀 힘들다. 마지막에 읽은 내용들은 AOP과 LTW, 콘텍스트 테스트 프레임워크, 스프링 기타 기슬과 스프링 학습법 이었다. 마지막 부분인데 지면 관계상인지 이 책의 앞부분에 비하면 다소 함축적이었다.

나도 그동안 감상을 수도 없이 적었으니 이번엔 생략이다.ㅋ

이 책의 앞에서는 열심히 테스트로 내용 검증도 해주고 그랬었는데 2부에 들어서면서부터 방식이 바뀌었다. 그렇다고 해당 내용 검증을 하지 않을 분이 아니다. 저자인 Toby님은 완벽주의자다. 이 책과 같이 제공될 소스 코드에 보면 책에서 언급한 내용을 일일히 테스트 코드로 작성한 것을 볼 수 있다. 

다음 봄싹 스터디에서는 해당 테스트 코드를 가지고 스터디를 해볼까 생각중이다. 또 해당 테스트 코드를 오픈 소스로 계속 다듬어 볼 생각도 있다. 학습 테스트를 오픈소스로 만들어 두면 차후에 스프링을 처음 쓰거나 해당 기능을 처음 쓰는 사람들에게 도움이 될 것 같다.

저작자 표시
신고
top


스프링 액션스크립트

Adobe : 2010.05.19 22:45


http://www.springactionscript.org/

액션스크립트 3 기반으로 스프링 주요 기능을 제공해주는 프로젝트입니다. 자바로 만든 스프링을 액션스크립트3로 만들고 있나봅니다. 아직 포트폴리오도 아니고 


이슈 트래커를 보니.. 거의 1인 프로젝트입니다. 크리스토퍼 헤르만이라는 사람이 시작해서 계속 이끌고 있나본데.. 조만간 1.0이 나올것 같군요. 


여기서 스프링 액션스크립트 샘플 애플리케이션을 볼 수 있습니다.
저작자 표시
신고
top


Toby's 스프링 3.0 @MVC를 읽고서



하악하악... 무려 워드로 130p 가까운 걸 읽었더니 머리가 혼란스럽다. 내가 잘모르던 것이 가장 많이 등장한 챕터인것 같다. 챕터 제목이 @MVC 라고 스프링 레퍼런스에 있는 @MVC 부분과 대응해서 생각했다간...
ㅎㅎㅎㅎ.......

이번 장의 겉모습은 @MVC 이지만 난 왠지 스프링 MVC 확장 프레임워크에 대한 힌트를 얻은 것 같다. 솔직히 말해서 대충 쓰려면 몰라도 되는 것들이 제법 있지만 그건 정말 대충 쓸 때의 이야기이고 스프링 강의를 한다던지, 스프링 @MVC 기반 프레임워크를 만들거라든지, 제대로 알고 쓰고 싶다는 경우에는 반드시 알아야 하는 내용들이 가득 들어있다. 지면 관계상 다소 함축적으로 설명한 부분도 없자나 있다. 그런 부분은 API나 레퍼런스를 보면 쉽게 알 수 있을 것이고 저자가 권하듯이 소스 코드를 보면 더 확실하게 알 수 있을 것 같다.

이번 장은 맨 처음부터 끝까지 긴장하면서 봐야했다. 그래서 좀 힘들었다. 아 마지막에 form 태그 설명할떈 조금 쉬엄쉬엄 봤는데 그전까진 정말 뇌가 100m 달리기를 하는듯한 기분이다. 그중에서 틀린 설명이나 잘못된걸 집어내라고 하니 머리가 빠질것 같은 기분이다. 번데기에서 주름 없는 곳을 찾으란 얘기랑 같은 거다.

이 장에서 제일 재밌게 본 부분은 상속 관계에서 @RequestMapping 동작 방식이다. 그밖에도 스프링 3에 추가된 컨버터와 포매터 그리고 모델의 일생, 메시지 컨버터, @MVC 확장 포인트 등을 설명해준다. @MVC를 사용해온지 꽤 됐는데도 모르는 기능이 많았다. 마지막 부분에는 핸들러 메서드의 인자로 받을 수 있는 것을 확장하는 방법도 나오는데 정말 대박이었다.. 뭐 이런 기능들까지 있나 싶을정도로.. 까오..

이제 나머지를 달려야겠다.
저작자 표시
신고
top


일상에 회의감이 드는 순간...

모하니?/Thinking : 2010.05.18 22:22


오히려 잘 됐다.
이것을 변화의 기회로 삼아야겠다.

그동안 내 모든 열정과 애정을 쏟았던 것에 갑자기 회의감이 들었다.
안좋은 신호이기도 하고 좋은 신호이기도 하다.

이 회의감을 해결할 실마리를 찾아서 잠시 시간을 가져야겠다.
그동안 미친듯이 했으니 이 정도 시간은 이해해 줄 수 있겠지...

그렇치 봄싹?
저작자 표시
신고
top


Toby's 스프링 3.0 스프링 웹 기술과 스프링 MVC를 읽고서...



난 그동안 스프링 MVC를 잘 몰랐다. 다행이다. 이제는 좀 알것같다. 대충 머리속에 그려진다. 지난번 소녀시대 스프링 @MVC를 발표할 때 아주 중요한 스프링 MVC 구성요소 몇가지를 소개했었다. 물론 그것들 보다는 소녀시대 이름만 외우고 가신 분들이 많겠지만;; 이 책에서는 모든 구성요소를 다 설명해주며 그 구성요소군에 속해있는 여러 요소들의 특징과 사용법도 설명해주고 있다. 물론 지면 관계상 뷰 기술중 대부분은 생략이지만 간단한 확장 방법을 통해서 충분히 다른 것들의 사용법도 예상할 수 있었다.

가장 기가막힌 부분은 스프링 Controller(API)와 핸들러 어댑터를 확장해서 새로운 형태의 컨트롤러를 만들어 사용하는 방법이었다. 이 부분은 정말 스프링 MVC 정복기라고 부르고 싶은 부분이다. 물론 호불호가 갈릴만한 부분이기도 하다.

하지만 그런 지식과 실천은 꼭 필요하다. 왜냐면 스프링이 제공하는 웹 계층 구현방법이 너무 다양하기 때문이다. 그것을 정책으로 통일시킬 수 있겠지만 더 좋은건 그 정책을 코드에 반영하는 것이 필요하고 그것을 기반으로 코드를 작성하면 규모가 큰 프로젝트라 하더라도 코드의 일관성을 유지할 수 있을 것이다. 프레임워크 개발이 필요한 이유가 바로 이때문이 아닐까? 프레임워크를 사용하는 이유는 둘 중 하나인것 같다. 프레임워크가 강요하는 정책을 따르기로 결정했거나, 그 프레임워크를 기반으로 프로젝트 고유의 정책과 특성을 반영한 추상계층을 만들어 낼 수 있기 때문인 것 같다. 스프링은 기본적인 방법들은 제공하지만 어떤 방법을 강요하지는 않는다. 따라서 개발자마다 코딩 스타일이 많이 다를 수 있는데 그것을 해결할 수 있는 방법을 소개해준다.

또한 스프링 3.0 최신 기술 중에 컨텐츠 네고 기법을 사용한 뷰 리졸버 설명이 기가 막힌다. 전혀 간단하지 않은 동작 원리를 쉽게 풀어 설명해주어 이해하기 편했다. 이 부분은 레퍼런스나 API에서도 설명이 빈약해서 직접 소스코드를 분석해가며 쓰셨다고 하니 그저 감사할 따름이다.

마지막으로 이 책에서 정의한 프레임워크 개발에 대한 글을 (저자의 허락-'살짝쿵 스포일러를 넣어도 대
'-하에) 옮겨본다. 
"프레임워크 개발이란 이미 있는 기술을 조합해서 어떻게 쓸지 결정하고 툴이나 공통 모듈 정도를 만들어 놓는 것이 아니다. 프레임워크란 애플리케이션의 코드가 효율적인 방법으로 개발되서 사용될 수 있도록 새로운 틀(framework)을 만드는 작업이다."

ps: 이번 장을 보면서 새로운 형태의 OSAF 3.0을 개발해야겠고 다짐했다.
저작자 표시
신고
top


Toby's 스프링 3.0 스프링 웹 기술과 스프링 MVC를 읽으며..



아직 다 못봣다. 1/3정도 봤는데 기본적인 스프링 MVC 구성요소와 흐름을 상세하게 설명해주고 있다. 지난 KSUG 발표때 소녀시대 이용해서 설명했던 바로 그 부분이다. 그 뒤에는 스프링 MVC 테스트가 나온다. 캬.. 이 부분이 대박이다.

스프링 웹 계층 테스트는 잘 만들질 않는다. 귀찮다. Mock머시기 클래스의 객체들 만들고 컨트롤러 실행시켜서 ModelAndView 받아서 확인하는 아주 간단한 테스트 조차 너무 귀찮다. 그런데 그런 것 말고 어떤 URL을 스프링이 처리하는지.. 안하는지 보려면 DispatcherServlet까지도 테스트 범위에 들어가야 한다. 그리고 그 결과를 가져와야 하는데 그게 막상 해보면 알겠지만 좀 귀찮은 것이 아니다. 그래서 그냥 스프링이 알아서 테스트 했겠지 생각하고 넘어가기 일수다.

하지만 그러면 안된다. 제대로 확인도 안해보고 막연한 상상에 기대어 살면 안된다. @RequestMapping 같이 생소한 방법을 사용할 땐 더더욱 그렇다. 그래서 테스트가 필요하다. 단, 편하게 할 수 있어야 되는데 바로 그 "편하게 MVC 테스트하는 방법"을 제공해 준다. 여기서 소개한 방법을 응용해서 얼마든지 자신이 확인하고 싶은 것을 확인할 수 있다. 그럼 더이상 막연한 상상에 기대어 코딩하는 일은 없어질 것이다. 좀 더 확신을 가지고 마음 편한 상태에서 코딩할 수 있게 될 것 같다.

물론,, 테스트 안해도 맘편하다면.. 어쩔 수 없다.ㅋ
저작자 표시
신고
top


Toby's 스프링 3.0 데이터 액세스 기술을 읽고서



JDBC, iBatis, JPA, Hibernate를 사용하여 DAO를 사용하는 방법과 로컬 트랜잭션, JTA 트랜잭션 사용법까지 나와있다. 특히 이중에서 내가 자주 안써본 JDBC, iBatis, JPA 내용과 JTA 트랜잭션이 꽤 재미있었다.

JDBC 코딩 하시는 분들께는 거의 필수인 JdbcTemplate이나 SImpleJdbcTemplate은 대부분 익숙할 것이다. 하지만 그게 끝이 아니었다. 이것들을 기반으로 객체 지향 API로 쿼리 객체를 만들고 재사용할 수 있는 API도 제공한다. 스프링 빨간책에서 커맨드 패턴과 JdbcTemplate을 이용해서 한단계 더 추상화 시킨 SqlUpdate와 SqlQuery를 볼 수 있었는데 그보다 더 개선된 새로운 API인것 같다. (SimpleJdbcInsert API를 보니 2.5에 추가된 것인가 보다.)

iBatis보다는 JPA 내용이 더 재미있었다. 최근 JPA 2.0이 발표되면서 Hibernate를 JPA 프로파이더로 사용하고 JPA를 사용해볼까 고민하던 중이었기 때문인지도 모르겠다. 하지만 그 뿐이 아니다 JPA를 사용하는 방법에는 어떤 것들이 있고 각각의 장단점 비교가 나온다. 특히 이부분에서 CDI와 관련된 스코프 관련 내용도 나오는데 예전에 토비님 블로그에서 이상한 공격(?)을 받았던 글이 떠올랐다. 그 둘을 연관지어서 읽어보면 더 재미있을 것 같다.

Hibernate는 JPA에 비해 적용방법은 간단해 보였다. 이유는 JPA 처럼 좀 더 쉽게 쓰게 해주려는 마술을 적용하지 않았기 때문일 것이다. 그래서 매번 .getCurrentSession()을 해줘야하지만 머.. 결국은 선택이다.

또 KSUG 포럼에 종종 올라오는 질문 중에 하나인 트랜잭션 관련 내용이 알차다. 데이터소스 하나 트랜잭션 매니저 하나인 아주 간단한 경우부터 JTA까지 다룬다. 톰캣에서 JTA를 사용하는 예제까지 보여주고 있으며 하나의 데이터베이스에 대한 JDBC, 하이버 DAO가 있을떄 어떻게 그리고 어떤 트랜잭션 매니저를 왜 사용하면 되는지 설명해준다. 그밖에 여러 경우를 전부다..

오늘도 별로 꼬투리 잡을께 없다. +_+
저작자 표시
신고
top


Toby's 스프링 3.0 10장 IoC 컨테이너와 DI를 읽고서



결론은 다시보고 있다. 다시 보고 싶은 부분이 생겼다. 들어있는 내용이 꽤 많기 때문에 그 중에서 더 자세히 살펴보고 싶은 부분이 분명히 생길것이다. 그래서 결국 나처럼 다시 보게 될 것이다.

이 책을 쓰느라 얼마나 많은 노력과 학습을 하셨는지 이 장에 잘 묻어나온다. 특히 모든 빈 등록 방법 설명, 장단점 비교, 전략 분석. 모든 빈 의존관계 설정 방법 설명, 장단점 비교, 전략 분석은 토비님의 완벽주의 성향을 잘 드러낸다.

스프링 웹 애플리케이션은 거의 대부분 애플리케이션 콘텍스트 상속 구조로 되어있다. 이것을 잘 이해하지 못하면 AOP가 적용되지 않는다느니 트랜잭션이 되지 않느다느니 원인을 찾기도 힘든 문제들을 만들어 낼 수도 있고 그 문제를 해결하지도 못한다. 그것에 대한 아주 명확한 이해와 해결책을 제시하는 내용이 들어있다. 이걸 모르고 스프링 개발을 하고 있다면 무늬만 스프링 개발자라고 하고 싶을 정도로 중요한 내용이기 때문에 반드시 숙지하도록 하자.

프로토타입과 관련된 내용도 주옥같다. 아주 오래전 KSUG 포럼에 프로토타입 스코프 빈을 참조하는 싱글톤 스코프 빈이 있을때 프로토타입 스코프가 제대로 동작하도록하는 여러가지 방법을 논의한적이 있었다. 사실은 Toby님의 일방적인 퀴즈에 불과했지만 그때 메신저를 통해 들었던 정답과 그 이후에 추가된 해결책까지도 설명하고 있다. 레퍼런스나 API 문서를 빠듯하게 뒤져도 안나올만한 방법이 소개되고 있다. 싱글톤 빈만 사용하면 되지 머.. 라고 안일한 생각을 가진 스프링 사용자가 아니라면 꼭 살펴보고 학습해야 한다.

이밖에도 레퍼런스나 API 문서에서 조차 찾기 힘든 내용이 한둘이 아니다. 그런 내용을 이렇게 친절하게 설명해주는.. 그것도 한글로 된 책을 볼 수 있다는 것은 가히 축복이다.

아. 마지막으로 꼬투리 하나만 잡자면 왠지 10장부터는 약간 토비님 블로그를 읽는 느낌이 난다. 그런데 어쩔 수 없다 저 많은 내용을 더 쉬운 말투와 구체적인 설명과 그림으로 다 풀어내려면 200~300p짜리 책한권이 될 것 같다. 내용자체가 쉽지 않기 때문일 수도 있다. 그렇다고 무슨 안드로메다 수학공식도 아니니까 겁먹진 말자.
저작자 표시
신고
top


'소로우의 노래'를 읽다가

모하니?/Thinking : 2010.05.12 09:50


어제 저녁 다른 사람들이 나를 어떻게 생각하는지 알수 있는 이야기를 들었다. 나도 대충은 어떤 이야기 인지는 알고 있었고 올해 초 개인적으로도 많이 고민했던 내용이라 쉽게 짐작할 수 있었다. 많이 단순화 시켜 이야기하자면 규모가 좀 있는 직장으로 옮기는것이 좋치 않겠냐는 것이었다. 단체 생활도 해봐야지 않겠냐는.. 

그럴 때마다 나는 이야기했다. 어차피 다 장단점이 있고 나는 여기를 선택했노라고.. (구체적으로 이야기 하자면 너무 길어지고 지금은 그럴 시간도 그러고 싶은 맘도 별로 없다;)

지금 회사에 계속 있으면 안 좋은점은 위에서 지적한 것처럼 단체 생활 경험이다. 흔히 대한민국 SI라고 하는 것일텐데 내가 그런 경험이 없다는 것에 대해서 처음엔 부끄러웠다. 하지만 요즘은 생각이 바꼈다. 요즘 아이폰 열풍을 느끼고 있다. 이제 조금더 지나면 아이폰 개발도 안해봤냐고 부끄러워질 수 있겠다는 생각이 들었다. 그러면서 생각이 바꼈다. 대중적인 경험이러는 것이 그렇게 중요하고 내가 그런 경험이 없다고 해서 부끄러워해야 지당한 것인가? 그게 자연스러운 것인가에 대한 의문이 생겼다.

현재 나는 적어도 남에게 부끄럽지 않을정도 만큼은 성실하게 살고 있다. 난 그것만으로도 누군가에게 그 사람이 경험한 것을 경험해보지 못했다고 해서 부끄러워야할 이유가 없다고 생각한다. 또 반대로 내가 경험하고 학습한 것을 기준으로 다른 사람을 판단하는 것이 얼마나 어리석은가 하는 것도 알게 되었다.

이런 생각을 단 몇줄의 깔끔한 문장으로 정리한 사람이 있었다. 헨리 데이빗 소로우의 글귀를 모아둔 '소로우의 노래'에 다음과 같은 글귀가 있다.
아무리 좁고 꼬불꼬불하다 하더라도 그 길이 그대가 애착과 경애심을 갖고 있는 길이라면 추구해 나가라. 비록 큰길 위에 서 있는 여행자라 할지라도, 그가 볼 수 있는 것은 울타리 사이로 난 좁고 험한 길일 뿐... 사람이란 결국은 자신만의 좁은 길을 가는 것이다.
41페이지와 42페이지에 걸쳐 나오는 장문은 차마 옮겨적지 못하겠는데 그것 역시 아주 맘에 드는 문장이다.

오래전에 나온 책이라 절판됐을 가능성이 높다. 
아내가 책장에서 골라준 책이다. 쌩큐 알라뷰/


저작자 표시
신고
top


인텔리J에서 스칼라 시작하기

모하니?/Coding : 2010.05.11 16:18


1. 플러그인 설치

생략

2. 자바 플젝 + scala 만들기

일반 자바 플젝 만들다 다음 화면에서 scala 체크! 하면 라이브러리 다운받음.


3. HelloWorld

http://www.scala-lang.org/node/166

new -> Scala Class

object HelloWorld {
  def main(args: Array[String]) {
    println("Hello World")
  }
}

4. 스칼라 콘솔 띄우기


+ -> Scala console 선택, 이름 적당히 변경 후 실행.


저작자 표시
신고
top


Toby's 스프링 8, 9장을 읽고서



8장은 스프링에 관한 이야기이다. 스프링이란 무엇인가? 스프링의 목적? 그 목적을 달성하는 방법을 설명하며 스프링 삼각형이라 불리는 IoC/DI, AOP, PSA를 자세히 설명해준다. 또한 POJO 프로그래밍에 대해 설명한다. 

그 중에서 기억에 남는 부분은 "복잡함을 해결한다."라는 부분인데 이 이야기는 2008년 Spring One Ameria 컨퍼런스에 참석하여 직접 들은 이야기라 감회가 새로웠다. 여기서는 그 복잡함이란 무엇인지 또 스프링은 그것을 어떻게 제압하겠다는 것인지 잘 설명해주고 있다.

POJO 프로그래밍에 대한 내용역시 유익하다. POJO라는 단어가 난무하는 요즘 POJO에 대해 제대로 집고 넘어갈 필요가 있는데 그런 간지러움을 잘 긁어주고 있다. 특히 평소 JPA를 사용한 도메인 클래스가 POJO인건지 아닌건지 고민이었는데 그런 고민을 해결하는데 실마리를 제공해주는 기준을 제시하고 있다.

이외에 스프링 삼각형에 대해서는 이미 1부에서 찐하게 살펴본 내용을 이론적으로 점검하는 기분이 들었다. 원래는 8장이 제일 처음이었다고 했는데 1부 맨 뒤로 돌리신건 100번 잘하신것 같다. 아무래도 8장부터 읽기 시작했다면 지레겁먹고 책을 덮었을 수도 있겠다.

9장은 본격적인 2부 시작으로 뭔가 코딩을 할 것 같은 기세이다. 프로젝트를 세팅하고 아키텍처를 논한다. 프로젝트는 세팅이야 스프링 책인지라 STS와 Eclipse+Spring IDE 이야기가 주를 이룬다. 가장 흥미롭우며 9장의 주를 이루는 부분은 사실 그 뒤에 있는 아키텍처 이야기다. 이 부분 토비님 세미나에서 다룰 주제이기도 하고 개인적으로 가장 궁금한 부분이기도 했다. 이 부분을 읽으면서 예전에 시도하다 말았던 아키텍처를 다시 한번 시도해보고 싶다는 생각이 들었다.

자.. 이제 드뎌 10장을 달릴 차례다.
저작자 표시
신고
top







티스토리 툴바