Whiteship's Note


[IntelliJ] 답답한 것들

Good Tools : 2009. 10. 29. 19:44


1. 프로젝트 하나만 놓고 작업한다.

왜 한 번에 한 프로젝트 밖에 못 보는거지...
다른 프로젝트에서 코딩한것도 배껴야 하는데.. 그럴 때 마다 프로젝트를 열고 닫을 순 없자나. ㅠ.ㅠ

2. 서버 설정에 제약이 심하다.

WAR 배포도 하기 싫고, Exploded 배포도 하기 싫어 난 Inplace로 배포할꺼란 말이야..
이건 배포 경로를 어떻게 잘.. 설정해서 해결했습니다.

3. 단순한 단축키 시스템

이클립스처럼 알트 + 시프트 + X 누른담에 J, T 이런식으로 2단 단축키가 안 되는 것 같아요.
그래서 단축키가 부족하고, 계속 중복되고.. 아 짜증나. 중복되면 둘 다 실행을 해주던가..
뭐는 뭐에 우선되서 실행되고 뭐는 그냥 무시되고.. 단축키 누르다가 손가락 꼬이겠네..

4. 파일 시스템이 이상한건지..

왜 외부파일을 프로젝트에 복사해 넣을 수가 없는거지??
이건 뭔가 이상해.. 맥북에서는 잘 됐고, 아침에도 잘 됐었는데..
붙여넣기가 안먹는거야 뭐야..

아.. 답답해;. 이제 좀 쓸만한가 했더니.. 답답해 지기 시작하네..
그래도 이클립스보다 검색하는 것도 빠르고, 안정적인것 같긴한데... 뭔가 좀 부족하네;;
내가 잘 못쓰고 있는 걸지도...
top

  1. 자바짜바 2009.10.29 23:01 PERM. MOD/DEL REPLY

    넷빈도 꽤 괜찬던데요... 하이버넷 새팅하는것도 꽤 편하고... ^_^

    Favicon of http://whiteship.me BlogIcon 기선 2009.10.30 09:27 PERM MOD/DEL

    아.. 넷빈즈까지는 손을 대고 싶지 않아요. ㅠ.ㅠ
    이클립스와 인텔리J로도 충분해요.

  2. Favicon of https://helols.tistory.com BlogIcon is윤군 2009.10.30 09:33 신고 PERM. MOD/DEL REPLY

    1번은 ... 좀 ;;ㅎㅎ 2번은 불편한거 못느꼈는데용 ; wst 보단 .. 훨씬 편한것 같음.. 3. 2단 단축키는 없어도 .. 컨트럴 쉬프트 F10 를 누르면.. Test 코드에선 Test가 ... main이 있는 놈에게선 알아서 걍 run을. .. ;;
    더 편해진거 아닌가용 +.+
    4번... 이건 왜 그렇치용? 난 아무 이상없던데;;

    평생 이클립스에 노예로 살순 없잖아요 ;;ㅋㅋ

    Favicon of http://whiteship.me BlogIcon 기선 2009.10.30 09:41 PERM MOD/DEL

    1번은 확실피 불편해;;
    2번은 설정좀 잘하면 된다 치고..
    3번은 꼭 저런 단축키가 아니라고 해도. 단축키가 부족해;; 뭔놈의 키들이 다 이미 등록이 되어있어서;; 뭘 바꿀 수가 없어 ㅠ.ㅠ
    4번은 나도 몰겠어;; 이거 왜이래;;

    이클립스로 다시 돌아갈까.. 한 5분 정도 생각했다가 접었어.. 언제 또 그 플러그인들을 다 설치해.. 한 세월인데..아 귀찮아.

  3. 길가다행인 2009.10.30 15:48 PERM. MOD/DEL REPLY

    단축키 하면 IDEA 인데.. ㅎㅎ
    아직 익숙하지 않으셔서 그러실지도...

    그리고 이클립스와 달리 스윙기반이라 윈도우 파일 카피는 좀... ㅎㅎ

    Favicon of https://whiteship.tistory.com BlogIcon 기선 2009.10.31 18:32 신고 PERM MOD/DEL

    넹, 결국 단축키 커스터마이징을 계속 진행중입니다.ㅋ
    파일 카피는 그냥 운영체제에서 하려구요. 흑흑

  4. Favicon of http://www.cliff3.net/ BlogIcon cliff3 2009.11.01 00:52 PERM. MOD/DEL REPLY

    1번 같은 상황은 현재 열려 있는 프로젝트에서 다른 프로젝트를 열 때 새로운 프레임으로 열면 해결이 될듯 싶네요. :-)

    Favicon of http://whiteship.tistory.com BlogIcon 기선 2009.11.01 08:36 PERM MOD/DEL

    앗.. 프레임이라는 것도 있나요.. 오호. 감사합니다!

  5. iolo 2009.11.01 21:28 PERM. MOD/DEL REPLY

    intellij의 프로젝트는 이클립스의 워킹셋이나 넷빈즈의 프로젝트그룹에 더 가까운 개념인 듯...
    다른 ide에 프로젝트는 오히려 module과 유사하지 않을까요?

    Favicon of http://whiteship.tistory.com BlogIcon 기선 2009.11.01 23:21 PERM MOD/DEL

    흠.. 글쎄요. 써보면서 느끼는 거지만, 인텔리J의 프로젝트 개념은 이크립스의 워킹셋보다는 프로젝트에 더 가깝다는 느낌입니다.

Write a comment.


[IntelliJ] 스프링 설정 파일에서 inline 리팩토링 사용하기

Good Tools : 2009. 10. 29. 16:18



빈설정이 여러개 있는데, 저 중에서 세 개는 다른 두 빈 설정 내부에 들어가도 됩니다. 개인적으로는 다른 빈에서 참조하는 빈이 아니라면 inner bean으로 설정하는게 보기 편합니다.

이때, 자바 코드에서처럼 inline refactoring을 사용할 수 있습니다. 제 환경에서는 단축키가 Alt + Shift + i 입니다.


흠.. 두 개의 핸들러 어댑터 설정이라는게 한 눈에 들어옵니다. 이 상태에서 하나 더, Alt + Enter를 사용해서 cacheSeconds 설정은 p 네임스페이스로 바꿀 수 있습니다.


참 쉽죠.


요렇게 됐습니다.

참, 덤으로 빈 의존 관계를 그래프로 볼 수 있는데, 이클립스에서보다 더 빠르게 볼 수 있고, 애노테이션으로 설정한 빈들도 전부 보여줍니다.


당연히 프린트도 가능하다는거~ 애노테이션으로 하면 설정이 한눈에 들어오네 안 들어오네 하면서 XML이 더 좋다고 주장하시는 분들이 있던데.. XML도 길어지면 어차피 한눈에 안들오죠. 저는 간단한 웹 플로우 설정도 한 눈에 안들어오던데. 어차피 둘 다 저런 비주얼 도구를 이용하면 한눈에 들어오는 A4 문서를 출력할 수 있으니 그런 논의는 이제 별 필요가 없는 것 같습니다.
top

Write a comment.


구글 맵스 네비게이션

Good Tools : 2009. 10. 29. 15:13




이제는 안드로이드가 대세인가..

근데;; 운전하다가 인터넷이 끊기면 어떻게 되는거지..
top

  1. Favicon of http://blog.naver.com/j81811 BlogIcon aStRe 2009.10.29 22:47 PERM. MOD/DEL REPLY

    차세워야죠. ㅋㅋㅋ

    Favicon of http://whiteship.me BlogIcon 기선 2009.10.30 09:26 PERM MOD/DEL

    ㅇㅇ;;

  2. Favicon of http://blog.naver.com/j81811 BlogIcon aStRe 2009.10.30 09:46 PERM. MOD/DEL REPLY

    http://www.reuters.com/news/video?videoId=113908&videoChannel=1004

    영어 공부 할 때 좋을 것 같아. 발음도 쉽고 내용도 별로 안어렵더라궁~!
    또박또박 잘도 읽어줘서 귀에 쏙쏙 들어 갈듯 해서.. ㅋㅋ 틈나면 한 번 들어봐봐

    Favicon of http://whiteship.me BlogIcon 기선 2009.10.30 09:59 PERM MOD/DEL

    ㅇㅇ또박또박하네. ㄳ

Write a comment.


[JRebel, IntelliJ] IntelliJ에 JRebel 플러그인 설치/설정/사용하기

Good Tools : 2009. 10. 29. 12:51


참조: http://www.zeroturnaround.com/intellij-idea-jrebel-tutorial-formerly-javarebel/

1. 플러그인 설치
- settings -> plugin -> available 탭에서 jre 검색 후 클릭해서 다운로드 설치 하고 재부팅.

2. 플러그인 설정.
- settings -> jrebel 에서 jrebel.jar 파일 찾아주기.
- settings -> Debugger -> Data View -> Show 탭에서 Synthetic fields 끄기
- 컴파일 output 폴더 변경
- 컴파일 이후에 웹 서버에 재배포 하지 않도록 설정하기
- 컴파일 단축키를 Ctrl+S로 설정하기
- rebel.xml 파일 만들기

012


3. 톰캣 Run with JRebel 실행하기


플러그인 설치까지는 수월했지만, 그 뒤에는 잡다하게 설정할 것들이 좀 있었네요. 하지만 한번만 설정해두면 두루 두루 좋은거니깐~

top

Write a comment.


[봄싹] XP 적용 시나리오 3. 개발하기

모하니?/Coding : 2009. 10. 29. 00:57


본격적으로 개발을 해야하는데, 봄싹에서는 오프라인에서 페어로 작업을 해보기도 했지만, 그렇게 자주 충분히 페어 프로그래밍을 했다고 볼 수는 없습니다. 앞으로도 좀 더 꾸준히 시도를 해봐야 그 효용이나 장단점을 파악할 수 있을 것 같습니다. 개인적으로는 뭔가 대화를 나누면서 코딩할 상대가 있어서 안심이 되긴 합니다. DB update 쿼리가 어떻게 되더라? 이거 무슨 리팩토링이지? 이 메서드 이름 맘에 들어? 여기 중복인데 어떻게 제거하면 좋을지 잘 모르겠네.. 같은 식으로 대화를 나눌 수 상대와 함께라면 좋치 않겠어요?


먼저 개발을 진행하기에 앞서 구현하려는 기능을 한 번도 만들어 본적이 없다면, 어느 정도 자신있게 개발을 진행할만큼의 학습이 필요합니다. 그 과정을 파일럿이고 표현했는데, XP 책에서도 파일럿이라고 헀었는지 잘 모르겠습니다. (뭐라고 했는지 찾아보려고 다시 살펴 봤는데 못 찾아서 그냥 썼습니다.)

그다음 과정은 좀 특이하게 바로 개발을 진행하지 않고, 인수 테스트를 만듭니다. 고객이 해당 작업이 완료 됐다는 것을 확인할 수 있는 모종의 장치를 마련하는 것이죠. 고객이 코드를 볼 수 있다면 아주 행복할텐데, 봄싹은 다행히(?) 고객이 전부 개발자 입니다. 굳이 엑셀로 이쁜 포맷을 만들고, 테스트에서 엑셀 로딩해서, 결과를 엑셀에 다시 찍어주고, 고객은 엑셀에서 수식 비교로 해당 테스트가 잘 됐나 안 됐나 확인하는 귀찮은 일은 할 필요가 없습니다. 그렇치만, 인수 테스트 코드가 고객이 원하는 시나리오를 제대로 표현해주지 못하거나, 고객이 개발자인데도 테스트 코드를 읽기가 난해하다면 테스트를 수정해야겠죠.

그다음은 페어 프로그래밍과 TDD로 해당 작업을 구현하는 일입니다. 페어 프로그래밍은 사실 오프라인에서 만났을 때의 얘기지 주중 저녁이나 회사에서 틈틈히 코딩을 하는 봄싹 개발자에데는 다소 난해한 일입니다. 그래도 메신저등을 통해서 의견은 주고 받을 수 있으니 그것도 페어 프로그래밍으로 치도록 하죠.

그렇게헤서 작업이 끝나면, 담당자 두 명은 자신들이 예상했던 난이도와 시간에 비해 실제로는 난이도가 어땠으며 실제로 소요된 시간은 어느정도인지 기록합니다. 고객은 해당 작업 결과를 본 뒤 간략한 피드백을 줍니다. "담부턴 더 빨리 만들어 주세요" 라던지.. "참 잘했어요" 라던지 ㅋ

top

Write a comment.


[봄싹] XP 적용 시나리오 2. 배포 계획하기

모하니?/Coding : 2009. 10. 29. 00:43


봄싹이 언제 배포됐었더라... 기억이 가물가물 합니다. 8월 30일이었나. 이제 두 달을 향해가고 있군요. 다음 배포 일정은 임의로 11월 30일로 잡아두었습니다. 세 달은 지나치게 긴 것 같습니다. 이미 봄싹 개발자들끼리는 새로운 UI를 만끽하고 있는데 봄싹 회원들에게 멋진 UI를 빨리 보여드리지 못하는게 아쉽습니다. 배포 일정과 스코프를 잘못 계획했기 때문입니다. UI 개선만을 1차 유지보수 스코프로 정하고 배포했다면 이미 봄싹 회원들은 멋진 UI를 감상하고 계실텐데 말이죠...


먼저 배포 일정을 잡은 다음, 모든 개발자들의 측정이 완료된 스토리 카드 중에서 해당 일정 안에 개발을 할 수 있을 것으로 보이는 스토리 카드들을 고릅니다. 이 일은 전적으로 고객이 합니다. 고객 생각에 어떤 것이 가장 필요하고 비즈니스에 도움이 되는지 생각해서 고르면 되겠죠. 일단 최대한 빨리 중요한 것부터 서비스하고 싶다면 다소 어렵고 일정이 긴 스토리 하나만 고를 수 있겠고, 중요한 건 나중에 공개하고 일단은 기반이 되는 소소한 것들 부터 서비스하고 싶다면, 쉽고, 개발 일정이 짧게 걸릴 것으로 측정된 것들을 고르면 되겠습니다.

그런다음, 하나의 스토리를 구현하는데 필요한 세부 작업들을 개발자들과 논의합니다.

"발표 도메인 객체를 추가해야겠습니다."
"발표와 모임 객체에 연관 관계를 설정해야 겠어요."
"발표에 댓글/첨부자료/발표자 정보가 필요하겠군요."
"새로운 모임을 추가할 때 아예 발표 정보도 추가할 수 있도록 하죠."
"스프링 웹 플로우 학습이 필요할 것 같습니다."
"발표정보 추가할 때 발표자를 선택하는 부분에서는 Ajax를 도입할 수도 있겠네요."
...

이런식으로 하나의 스토리를 구현하는데 필요한 세부적인 작업목록들을 만들어 나갑니다. 이때, 개발자들이 의견을 많이 주어야 하며, 작업 목록 작성은 고객이 담당합니다.

고객이 작업 목록 하나를 작성할 때 마다, 스토리를 등록했을 때 처럼, 평가하는 과정을 거칩니다. 해당 작업은 덩어리가 너무 크다거나, 좀 더 명시적으로 수정해 달라거나 의견을 제시하면서 투표를 할 수 있죠. 혹은 고객이 명시한 작업을 코딩할 수 있겠다는 판단이 들면, 난이도, 걸리는 시간, 같이 작업하고 싶은 사람을 적어서 측정해줍니다.

고객은 가장 낮은 난이도를 제시한 개발자, 가장 낮은 시간을 제시한 개발자, 가장 많은 지명도를 가진 개발자 등의 정보 통계를 보고 해당 작업의 적입자를 찾아서 작업 담당자와 그 파트너를 지정해줍니다. 이렇게해서 하나의 작업에 두 명의 담당자를 지정해 주는겁니다.

그럼 이제 그 두명의 담당자는 서로 의견을 나눠가며 개발을 진행하면 되겠죠!

다음은 개발 과정에 대해 생각해보죠.
top

Write a comment.


[봄싹] XP 적용 시나리오 1. 스토리 만들기

모하니?/Coding : 2009. 10. 29. 00:21


봄싹 프로젝트 개발이 지나치게 자유롭다 보니 프로젝트 스코프도 애매해지기 시작했고, 현재 누가 어디를 얼만큼 개발했는지 파악하기가 힘들어졌습니다. 나름대로, 이슈트래커, CI 환경, VCS까지 갖출 건 다 갖추고 진행하고 있지만 그래도 뭔가 좀 부족한 감이 없지 않습니다. 그래서 XP 책에서 읽은 내용을 토대로 봄싹 나름대로의 개발 프로세스를 정리해볼까 합니다.

물론, XP installed 책에 나와있는 그대로 할 필요도 없고, 그 책도 일종의 권고사항이지 반드시 따라야 하는 건 아니것 같기 때문에 제 맘대로 봄싹에 필요하면서도 재미있게 개발을 진행할 수 있는 방법을 궁리해봤습니다. xp 책은 그런면에서 좋은 아이디어를 떠올리는데 아주 좋더군요!


먼저, 현재 이슈트래커나, 구글 그룹에 올리고 있는 할 일을 스토리로 정리하는 방법을 생각해봤습니다. 누군가가 고객의 입장에서 스토리를 하나 만듭니다.

"모임에서 있었던 발표 정보를 별도로 관리하면 좋겠다."

이런 카드를 만드는 순간, 그 사람은 고객이 됩니다. 그리고 해당 스토리를 수정/삭제/세부 스토리 등록 등을 하는 권한이 생기죠. 그리고 이 카드가 생기는 순간 모든 개발자에게 메시지가 갑니다. 평가해 달라고..

그럼 일부의 개발자들은 해당 스토리가 너무 애매하다고 더 구체적으로 설명해 달라고 "고치자"를 클릭하며 어떻게 고쳐달라며 '의견'을 제시합니다.

또 다른 일부의 개발자들은 해당 스토리가 너무 방대하다면 좀 더 세부적으로 쪼개 달라며 "나누자"를 클릭하고 어떻게 나누면 좋겠는지 '의견'을 제시합니다.

또 다른 일부의 개발자들은 현재 스토리를 개발할 수 있다는 판단하게 '얼마나 걸릴지', '난이도가 어느정도인지', '누구와 함께하고 싶은지' "측정"을 합니다.

모든 개발자들의 측정이 이루어지기 전까지 사용자는 개발자들의 의견을 반영하여 계속해서 스토리를 수정하거나, 스토리의 하위 스토리를 등록하게 되고, 개발자는 스토리가 변경되거나, 새로운 스터디가 추가될 때마다 계속해서 측정 또는 투표를 할 수 있습니다.

이런식으로 스토리를 정제해 나가는 겁니다. 재밌지 않을까요? JIRA를 어떻게 잘 설정해서 쓰면 이렇게 할 수 있을것도 같긴 한데.. 좀.. 복잡해 보이는 UI가 위 시나리오에 적당해 보이지는 않습니다. 적당한 툴이 있으면 좋겠는데 없으면 봄싹 이슈트래커도 나중에 만들어야겠네요.

다음은 이렇게 정리된 스토리들을 가지고 배포 계획을 세우는 방법에 대해 생각해보겠습니다.

top

Write a comment.