사용자 삽입 이미지

open api dev day


결혼식하고 겹치는데, 어케 해봐야겠네요. ^^

http://dna.daum.net/archives/258
파일 검색을 많이 하는 편입니다. ctrl+H 를 클릭하거나 그림처럼 메뉴를 부를 때 해당 창이 뜹니다.
사용자 삽입 이미지

제일 먼저 나타나는 게 Java Search 탭입니다. 그런데 저는 보통 File Search 탭을 많이 사용하고 나머지 탭은 거의 사용하지 않습니다. 그래서 File Search 탭만 남겨보겠습니다. 창 하단의 Customize 버튼을 클륵하면 됩니다.
사용자 삽입 이미지

다른 두 개의 옵션은 꺼둡니다. 그리고 OK 버튼을 클릭하면 끝!
사용자 삽입 이미지

탭이 깔끔하게 정리됩니다.
사용자 삽입 이미지

간단하게 탭 조정에 대해서만 알아보았습니다. Replace... 를 통해서 찾은 패턴을 일관 대치할 수 있기도 합니다.
딱한 사정을 봤습니다.
게시판부터 구인구직홍보 게시판이었고, 제목부터 안습입니다.
저 대신 일하실 분 구해요...(저 그만 두면 대타로 오실분) (쿨럭) 2007-08-27 13:52:26

내용은 몸이 아픈데 프로젝트 중이니 사람을 구해서 인수인계를 해야 병원에 갈 수 있다는 것입니다. 어디 프로그래머만 그러겠습니까. 다른 직종도 마찬가지 이겠지요.

정말 기업하기 좋은 나라를 만드려는 대한민국에 일하기 좋은 기업은 희박한 것 같습니다.

okjsp에 개발자들의 딱한 사연이 많이 올라오고 있습니다. 심하면 일하다가 과로사로 세상을 떠난 분들 이야기도 세 번 정도 올라왔었지요.

태그를 붙여보았습니다.
http://www.okjsp.pe.kr/tag/아파요
사용자 삽입 이미지

아파요


문국현 아저씨가 대선에 나왔다고 하는데, 함께 일하는 사람을 생각하는 기업가입니다.
3조 3교대가 일반적이고 2조 2교대로 빡시게 돌리는 곳도 많지만, 4조 2교대라는 황당한 인력운영방식으로 유한양행유한킴벌리를 운영하신 분이죠.
일본의 마츠시타 전기를 제치고 1위에 올라선 미라이 공업의 경영도 마찬가지 맥락입니다. 같이 일하는 사람을 생각하는 경영원칙이죠.

피플웨어. 사람이 자산입니다. 쥐어짠다고 나오는 게 아닙니다.
콜센터에서 조회시간에 직원들에게 짜증을 내면 그 짜증이 고객에게 그대로 전달된다고 합니다.

자기 팀에, 자기 회사에 만족을 하느냐 못하느냐는 회사에서 나에 대한 처우가 인격적이냐 비인격적이냐에 달려 있지 않나 생각됩니다.

오픈소스 뭐가 좋을까요.
공짜? 아닙니다. 아무도 공짜로 기술을 익힐 수는 없습니다. 시간과 노력이 많이 들어갑니다. 매뉴얼도 부실합니다. 기술지원? 인터넷을 통해서 찾아봐야하고 영어와 싸워야됩니다.

오픈소스는 소통의 방법입니다.
http://code.google.com/p/daysago 라는 프로젝트를 만들어서 공개를 했습니다. 적용사이트는 http://www.okjsp.pe.kr 이죠. 날짜 표기를 몇일전(days ago)처럼 표시합니다.
어느날 버그리포트를 받았습니다. 한달 전을 지나면 날짜 표기가 이상해진다는 내용이었죠.

추가된 테스트 코드

추가된 테스트 코드

버그 내용을 확인하고 테스트 메소드를 추가했습니다. 오류가 나는 날짜 데이터를 시료로 하고, 결과값을 기대한다고 했죠.

실패한 테스트 코드

실패한 테스트 코드

테스트 코드를 실행해보면 "어제"라는 값이 나와서 기대값인 "한달전"과 다릅니다. 소스를 열어봐야죠.

브레이크 포인트 걸기

브레이크 포인트 걸기

의심이 가는 곳에 브레이크 포인트를 겁니다. 그리고 디버깅을 시작해야겠죠.

start Debug

start Debug

JUnit 뷰에서 실패한 메소드에서 오른버튼을 클릭해서 Debug를 실행합니다.

변수 정보

변수 정보

디버그 퍼스펙티브에서 우측상단의 Variables 뷰를 보면 변수값을 확인할 수 있습니다.

코드 변경

코드 변경

day변수값이 먼저 조건에 걸리기 때문에 hour값에 의존해서 처리를 해야할 것 같습니다. 즉 hour를 날짜로 환산한 값이 30보다 작을 경우 day == 1 과 day == 2 가 어제, 그저께로 나와야 되는 것이죠. if 안으로 집어넣으면 될 것 같습니다.

테스트 재실행

테스트 재실행

테스트를 다시 돌립니다. JUnit 뷰의 툴바 중에서 5번째 있는 노란 화살표가 있는 플레이 아이콘을 클릭하면 됩니다. 녹색 바가 나오는 것을 보니 기대한 값이 나왔네요. 제대로 디버깅 되었습니다.

Regression Tests

Regression Tests

Regression Tests(회귀 테스트)를 수행합니다. 무슨 뜻이냐 하면 고친 코드로 인해서 다른 기능들에 Side Effect(부작용)가 생겼는지 확인을 하는 테스트를 회귀 테스트라고 합니다. De Bug가 En Bug로 돌변할 수도 있으니까요.

프로젝트 패키지

프로젝트 패키지


테스트가 완료되었으니 배포판을 만들겠습니다. 이클립스 프로젝트를 통째로 압축을 해서 공개를 하는 프로젝트입니다. 프로젝트 컨텍스트 메뉴에서 Export...를 선택합니다.
export type 선택

export type 선택

압축형태이기 때문에 zip이라고 필터 텍스트를 입력하지 마시고, ar을 입력하면 Archive File로 나옵니다. 프레스로 꽉꽉 누르는 아이콘 보이시죠.

배포판 등록

배포판 등록

배포판을 등록합니다. http://code.google.com/ 에서 프로젝트 관리자나 회원이면 파일을 등록할 수 있습니다.

등록된 배포파일

등록된 배포파일

daysago-0_22.zip 파일이 등록된 것을 볼 수 있습니다.

간단하게 시작할 수 있는 오픈소스 방법입니다. 복잡한 게시판 같은 것은 시간이 많이 걸립니다.  작은 소스부터 공유하면서 오픈소스에 대한 감각을 키워나가는 것이 필요하다는 생각이 듭니다.
아, 영어가 벅차면 그냥 한글로 하셔도 됩니다. 세계로 나아가는 프로그래머가 되고 싶다는 생각에 어설픈 영어를 썼습니다만 한글로 시작하셔도 됩니다.

오픈소스 프로젝트를 시작할 수 있는 곳은 구글코드 외에도 http://sf.net , http://kldp.net 등이 있습니다.
제3회 난상토론회 아이스브레이크 시간 이어집니다.
공개를 원치 않으시는 분은 비밀댓글로 알려주세요.


#p2-1




#p2-2




#p2-3



p2-4




p2-5



 

p2-6



 

p2-7





p2-8





p2-9

이상 아이스브레이크 시간이었습니다.
인트로와 아이스브레이크 시간 동영상입니다.
삭제를 원하시는 분은 비밀댓글 달아주시기 바랍니다.

인트로입니다.


p1-1




p1-2



p1-3


난상토론회 아이스브레이크 파트1
이어집니다.

이클립스 프로젝트를 통째로 압축하면 그것을 바로 가져올(import) 수 있습니다.
http://code.google.com/p/daysago/ 에 올려 놓은 파일은 이클립스 프로젝트를 압축해 놓은 것입니다.

zipped project

zipped project

daysago-0.22.zip 파일을 다운로드 받습니다.

project import

project import

이클립스의 패키지 익스플로러에서 import를 선택합니다.
filter text에 "ex"를 입력하면 Existing Projects into Workspace 라는 항목이 보입니다.
Select archive file

Select archive file

두 번째 옵션인 Select archive file 를 선택하고 Browse... 버튼을 클릭해서 다운로드 받은 daysago-0_22.zip 파일을 선택합니다. daysago라는 프로젝트가 보입니다.

imported project

imported project


가져오기 작업 끝이죠. ^^


사용자 삽입 이미지

제3회 난상토론회

from: http://www.smartplace.kr/blog_post_214.aspx

스마트플레이스 블로거 여러분 감사합니다. 수고 많으셨습니다.
다음 만세, 장소 여전히 깨끗합니다.
야후 코리아 만만세, 그래요 대중 속으로 나와 주세요. 거기만 찾아다니지 말구요.

뒷풀이를 못가서 그런가요. 뭔가 쫌 많이 아쉬웠습니다.
토론에 사람이 너무 많아서 가벼운 토론이었다는 생각이 듭니다.
토론은 5~7 명이 좋지 않았나 라는 2회 때의 아쉬움이 진하게 듭니다.

2번째 방 SNS 의 미투로그입니다. 모두 좋은 의견 감사합니다.
http://me2day.net/okjsp/2007/08/25
발표시간에 덧글은 못 읽었습니다. ㄷㄷㄷ 떨리는 어설픈 랩 들어주시느라 모두 고생하셨습니다.

동영상이라든가 사진은 스타더스트 보고 와서 올리겠습니다. ^^; 지금 피곤 정도로 봐서는 영화보다가 잘 것 같습니다. ㅎㅎ

또 뵈요. ^^

오늘 토론회의 제 개인적인 결론은... "웹2.0 시대! 돈 쉽게 벌 생각은 일찌감치 버려라" 입니다.


ps. Miriya님 반가웠습니다. 건강해 뵈니 좋군요. ㅎㅎ


추가:
인트로와 아이스브레이크 part1 : http://okjsp.tistory.com/1165643047
아이스브레이크 part2 :  http://okjsp.tistory.com/1165643048
얼마 전 간단한 로직을 구현해서 공개를 한 적이 있습니다. 웹2.0 스타일로 시간을 표시해 주는 기능인데, 간단한 것입니다.
시간 표시를 몇 초전, 몇 분전, 몇 시간전, 몇 일전 처럼 표시해주는 기능입니다. 제 사이트(www.okjsp.pe.kr)에도 적용을 시켰고, 소스를 공개하니까
www.javarss.pe.kr 운영자이신 서영아빠님도 잘 적용하였다고 말씀하시네요.
은근히 기쁘더군요.

어제 처음으로 버그리포팅이 들어왔습니다. 그래서 테스트 케이스에 버그가 발생되는 일자를 테스트 시료로 넣고 어플리케이션을 수정했습니다.
에러가 날 만한 곳에 브레이크 포인트를 찍고 변수 값을 확인하고, 로직을 보강했습니다. 추가한 테스트가 통과를 하고, 전체 테스트를 수행했습니다.
이것을 회귀 테스트(Regression Tests)라고 하죠. 이번 수정이 다른 쪽에 영향을 미쳤는지, 어디에 값이 틀어지는지 확인하는 것입니다.
전체 테스트도 이상이 없는 것을 확인했습니다. 안심하고 사이트 소스에 반영을 시켰고, 수정이 완료된 프로젝트를 전체 압축해서

마이너 버전을 올린 후에 공개했습니다.
http://code.google.com/p/daysago/

더 자세한 이야기는 다른 글로 얘기하도록 하겠습니다.

구글 광고 같지만, http://code.google.com/ 의 Project Hosting을 통해서 소스를 다른 사람들에게 공개하는 오픈소스 활동을 시작할 수 있습니다.

오픈소스 프로젝트 호스팅 by google

오픈소스 프로젝트 호스팅 by google

콘솔(Console) 에는 보통 로그가 찍힙니다. 그래서 중요합니다.
콘솔뷰는 로그가 상황에 따라 다르게 관리됩니다. 마치 레이어처럼 말이죠.
Tomcat 서버를 시작하면 나오는 로그가 콘솔 뷰에 보입니다.
Servers Console

Servers Console


뷰의 우측상단에 Open Console의 역삼각형 부분을 클릭하면 다른 뷰를 열 수 있죠.
Open Console View

Open Console View


CVS를 열어보겠습니다.
다음과 같이 CVS 로그가 보이게 됩니다.
CVS Console

CVS Console


구석 구석 세심함이 묻어있는 좋은 도구입니다. ^^

+ Recent posts