'분류 전체보기'에 해당되는 글 1012

  1. 2009.09.21 LightSMS
  2. 2009.09.21 FastDic
  3. 2009.09.21 It ain't over till it's over
  4. 2009.09.21 [iBatis] parameterClass에 List 전달하기
  5. 2009.09.19 SAP 에러 메세지
  6. 2009.09.19 iBatis 에러 메세지
  7. 2009.09.17 특정 PC에서 화면이 보이지 않음
  8. 2009.09.17 JSP를 수정해도 반영되지 않는 경우
  9. 2009.09.16 stick it
  10. 2009.09.15 휴대폰에 저장된 파일 옮기기 - IM-S250L
  11. 2009.09.14 벌초 다녀오는 길
  12. 2009.09.11 Microsoft TechNet Spotlight
  13. 2009.09.09 Trac 메뉴 추가하기
  14. 2009.09.08 Brewers go around the horn for three outs
  15. 2009.09.07 근무시간
  16. 2009.09.07 [SVN] Transaction is out of date
  17. 2009.09.04 jar 파일 찾기
  18. 2009.09.03 Trac Ticket에 필드 추가하고 리포트 생성하기
  19. 2009.09.01 한옥마을
  20. 2009.09.01 HTTP Error 405 - Method Not Allowed
  21. 2009.09.01 Trac Links
  22. 2009.08.30 Oracle JDeveloper 11g - Online Demonstrations(데모 동영상)
  23. 2009.08.30 구글 문서도구
  24. 2009.08.30 협업을 위한 도구
  25. 2009.08.29 개발 환경 및 도구
  26. 2009.08.28 위키 문법
  27. 2009.08.27 O 프로그램 구조 분석
  28. 2009.08.25 구글 스프레드시트
  29. 2009.08.25 행복
  30. 2009.08.24 엑셀에 일련번호 넣기

LightSMS

- http://tobwithu.tistory.com/tag/Firefox LightSMS SMS 무료 문자
http://tobwithu.tistory.com/tag/LightSMS

- 직접 실행시키는 방법1 : 실행에서
"C:\Program Files\Mozilla Firefox\firefox.exe" -chrome chrome://lightsms/content/main.xul

- 직접 실행시키는 방법2 : sms.bat
start firefox.exe -chrome chrome://lightsms/content/main.xul

- 지원하는 사이트[각주:1]
  • username@tworld.co.kr : 매달 인증을 받아야 함.[각주:2]
  • username@show.co.kr
  • username@paran.com
  • NateOn
  • username@qook.co.kr
  • username@lgtelecom.com

- 간혹 안될때가 있는데 직접 웹사이트에 들어가서 로그인을 해보면 된다.
그래도 안되면 업데이트가 되었는지 확인해 본다.

- 2012-08-31 uplus는 월 누적 31명이상 발송시에는 인증을 받아야 함.


- 매월 최초 사용시 사이트 로그인해야 함. 또는 비밀번호 변경하라고 나와서 전송이 안되는 경우가 있음.

- 2013-09-11 발송번호가 다르면 전송 안됨.
  1. 2009-10-10, 2010-03-09 추가 [본문으로]
  2. 2010-07-03 [본문으로]

FastDic

- 링크

- 네이버 영어사전
  • @Click
  • Naver English Dic
  • to New Window
- 2009-03-10 추가 : 새로운 다음 영어사전 추가
http://engdic.daum.net/dicen/search.do?endic_kind=all&m=all&q=$

- 2009-03-15 추가 : 난 네이버 영어사전이 낫다.

It ain't over till it's over

끝까지 포기하지 않으면 기회는 온다.
근성이다.
정말 오랜만에 느끼는 기분이다.
자이언츠 화이팅!

[iBatis] parameterClass에 List 전달하기

- parameterClass를 List로 전달 - Map이나 다른 클래스에 포함된 경우
- 배열을 전달하는 것은 안됨.

SAP 에러 메세지

클라이언트 130는(은) 사용할 수 없습니다. 기존 클라이언트를 선택하십시오.
개발기에서만 접속이 가능한데 로컬에서 접속하려고 해서 그렇다.

iBatis 에러 메세지

com.ibatis.common.beans.ProbeException: There is no READABLE property named 'isseuYear' in class 'project.domain.Close'
isseuYear 가 아니라 issueYear 임.

특정 PC에서 화면이 보이지 않음

프레임으로 상단메뉴, 좌측메뉴, 메인화면으로 나누어진 구조로 구성된 사이트
특정 PC에서 특정 메뉴에 접근시 메인화면이 나오지 않는 현상이 발생.
그런데 이 사이트는 에러가 잘 남지 않아 담당자가 하루 고생했음.

소스보기를 해서 보니 JSP에서 에러가 발생하고 있음.
Define tag cannot set a null value
검색을 해보면 define 태그에 NULL이 들어가서 발생한듯 함.

메인화면이 나오지 않았던 것은 스크립트에서 에러가 발생해서 화면이 제대로 나타나지 않았음.

담당자가 클러스터링된 서버에서 어떤 서버인지 확인을 해줬다.
3대의 서버에서 에러가 발생하는 JSP를 가져와서 WinMerge로 비교해 보니 에러가 나는 서버의 JSP 파일이 다름.
개발자는 해당 파일을 수정하지 않았다고 함.
음...
정상적으로 동작하는 서버의 파일을 넣어주니 제대로 동작함.

여러 대의 서버로 구성된 환경에서 소스를 변경할 때 일부분만 적용되어서 문제가 발생한다.
이에 대한 방지책이 있어야 할거 같다.
==>[todo] 소스관리 및 적용 프로세스를 만들자.

Tip) 브라우저가 접속된 서버가 어떤 서버인지 알기 위해 서버구분문구를 넣어서 파일을 넣어둔다.
- Server01 서버
/whoami.html
Server01

- Server02 서버
/whoami.html
Server02

- Server03 서버
/whoami.html
Server03

JSP를 수정해도 반영되지 않는 경우

예전에(2002년도) WebLogic을 사용한 프로젝트에서 개발자들이 소스를 Samba를 통해서 올렸다.
그런데 아무리 파일을 새로 올려도 수정되지 않았다.
그러던 중 어떤 개발자가 touch로 파일수정시간을 갱신해서 해결했다.

얼마전 작업한 소스를 서버에 올렸는데 작업한 부분이 반영되지 않았다.
AP서버는 SunOne이었고, Windows환경이었다.
아무래도 이 경우도 JSP파일이 변경된 것을 서버에서 알지 못해서 그런거 같다.
파일을 복사해서 붙여넣는게 아니라 수정하니깐 JSP가 컴파일된다.

stick it

NCIS에서 맥기가 현장에 나가 있는 깁스를 대신해서 국무차관보(?)와 화상회의를 한다.
국무차관보가 계속 추궁을 하며 맥기를 밀어부치자 깁스는 이렇게 말해란다.

Stick it!

stick it (out) 
《구어》 참다;끝까지 버티다 stick2

- 출처 : NAVER 영어사전

휴대폰에 저장된 파일 옮기기 - IM-S250L

휴대폰에 저장된 파일을 PC로 옮기려고 하는데
이건 뭐...도대체...
컴퓨터에 익숙한 나도 한참을 헤매는데 나이드신 분들은 시작도 못할듯하다.

MP3는 SKY프로그램에서 관리하지 않고 LG에서 제공하는 프로그램을 사용해야 한다.

필요한 프로그램

  • 데이터매니저Plus_Setup_ver3.14.exe
  • USB 드라이버 : U450L_USBDriver_v.30.exe
    Windows 7용 : LGT_PSKY_V3.1.4.exe
  • LGTmobilemanagerV3_Install.exe

데이터매니저 기능이 빈약하다.
Shot메일에 첨부된 파일을 옮길수 있을라나?

 

벌초 다녀오는 길

1년에 한번씩 고성에 들린다.
시골이라 교통편이 불편한데
보통은 부산에서 출발한다.
새벽부터 벌초를 시작해서 점심때쯤 제실로 내려와서 마무리를 짓는다.

서울로 올라오는 길이 너무 막힌다.
무조건 막힌다고 봐야하고 터미널이 집과 멀어서 대전에서 기차로 갈아타고 온다.
여정이 길다.

양촌 - 삼천포터미널 - 대전터미널 - 대전역 - 영등포역 - 집

이것도 쉽지 않은게 일요일 오후 늦은 시간에 대전에서 서울가는 기차표는 거의 없다.
보통은 1시간 정도 기다리게 된다.

그래도 어쩌랴.
머리 희끗한 할배들이 예초기 매고 2, 3일을 고생하는데 젊은 놈이 1년에 한번 잠깐 고생 못할까.

- 참고
삼천포 - 대전 버스 시간
서울 - 삼천포 버스 시간

Microsoft TechNet Spotlight

Trac 메뉴 추가하기

- http://trac.edgewall.org/wiki/TracNavigation
Trac 0.11 부터는 설정이 가능하지만 0.10에서는 플러그인(Add custom items to main and meta navigation bar)을 설치해야 한다.

- 플러그인 설치
> easy_install.bat download/navaddplugin

> easy_install http://trac-hacks.org/svn/navaddplugin/0.9 //안된다.

- 설정
//navadd 플러그인을 활성화시키면 trac.ini가 수정된다.
[components]
...
navadd.navadd.navadd = enabled

//메뉴 추가
[navadd]
add_items = projects,hot_ticket
hot_ticket.perm = TRAC_ADMIN //권한설정
hot_ticket.target = mainnav //기본값
hot_ticket.title = Hot Ticket
hot_ticket.url = /projects/HelloTOW/report/9
projects.title = Projects
projects.url = /projects

[trac]
...
mainnav = projects,wiki,timeline,roadmap,browser,hot_ticket,tickets,newticket,search
metanav = login,logout,settings,help,about

[todo] 비슷한 메뉴의 url 이 권한에 따라 다른 경우 ....어떤 메뉴의 권한이 TICKET_VIEW 이면 TRAC_ADMIN 도 가능하다. 그래서 admin 권한이 있으면 메뉴가 두개 나온다. ticket_view 권한만 있는 경우로 제한할수는 없나?

Brewers go around the horn for three outs

The Brewers turn a rare around-the-horn triple play to end the scoring threat in a close pitchers' duel

horn
 n.
1 (소·양·사슴·노루 의)
2 (달팽이 의) 신축성 있는 , 촉각, 촉수, 모양기관[돌기];《속어
3 각재(角材);각질
4 제품 《·화약통·구둣주걱
5성서 또는 ·그리스도상징》;(악마의)
   a horn of salvation 구원[]
   the devils horn 악마

6 [pl.] (부정아내대한) 질투
   wear the horns 바람난 아내가지다

7a 나팔, 뿔피리, 각적
b음악호른;《속어트럼펫(trumpet), 나팔
8 (자동차 의) 경적
   an automobile horn 자동차 경적
   sound[blow, honk] a horn 경적울리다

9무선호른 스피커
10 [the horn] 《·구어전화
   be on the horn 통화 중이

11 모양
a 안장머리(pommel)
b 초승달한쪽
c 양 끝
d 모래톱[] 첨단
12 [the horn] 딜레마(cf. DILEMMA)
(a)round the horn 야구】 (더블 플레이에서) 3루에서 2루-1루로
blow one's own horn=blow one’s own TRUMPET.
come out at the little end of the horn 큰소리치다가 실패하다
draw[haul, pull] in one's horns (1) 자제하다;기가 죽다, 수그러지다 (2) 《지출억제하다
get on the horn 구어전화하다
get the horn 발기하다
lift up one's horn 야심품다, 우쭐해지다, 뽐내다
lock horns (…) 격투하다, 싸우다with
show one's horns 본성드러내다
the horn of plenty=CORNUCOPIA 1
a. (제품), 모양의, 각질
   horn spectacles 안경

vt.
1고어》 <아내가> (남편에게) 불의저지르다
2 받다
3 나게 하다
4 뽑다
5 <마약을> 들여 마시다
horn in 구어끼어들다, 참견하다
hrny, hrnless, hrnlike a.

- 출처 : NAVER 영어사전

근무시간

예전 회사는 출퇴근 시간이 자유로웠다.
프로젝트 진행에 무리만 없으면 출퇴근시간, 근무시간에 대한 제약이 없었다.
다만, 중간관리자가 한번씩 근태에 대해서 환기시켜 주는 정도였다.

정말 편한거 같지만 이게 무서운거다.
프로젝트 일정이 쫓기면?
집에 못간다.

개발자들이 야근을 자주 하는게 일에 맞춰서 업무를 하기 때문이다.
다 그런건 아니지만 일반적으로 하루에 해야 할 일이 정해져 있다.
그 일을 다 마치면 조금 쉬다가 여유롭게 퇴근을 할 수 있다.

그러나 프로젝트는 처음에 계획했던 대로 진행되지 않고 변경이 된다.
변경이 발생하게 되면 추가적인 일정이 필요하게 되고 완료일이 늦춰져야 하는데 그런 일은 용납할 수 없다.
완료일은 무조건 지켜져야 하기 때문에 업무가 늘어나면 야근을 할수 밖에 없다.

기간에 따른 자원 투입이 비용발생으로 이어진다.
정해진 기간내에 투입된 인원이 더 많이 일하는 방법은 근무시간을 늘이는 것이다.
이런 경우는 지금도 현장에서 빈번하게 발생하고 있고, 제일 흔한 방법이다.
다들 안좋다고 알고 있고.

완료일을 지키면서도 개발자가 정해진 시간만큼 일을 할 방법은 없을까?

[SVN] Transaction is out of date

Transaction is out of date 라는 메세지가 나오는데 Synchronize Perspective 에서 Update 가 활성화되지 않는 경우가 있다.
Java EE Perspective 의 Team 컨텍스트에서 Update 를 하면 된다.

commit -m "build.xml 파일 제외" -N D:/TestProject //이클립스에서는 프로젝트 루트가 변경된 것으로 나타나는데 에러가 난다.
    Sending        D:/TestProject
    Transaction is out of date
svn: Commit failed (details follow):
svn: 시간이 오래되었습니다.: '/test_rep/trunk' (트랜잭션 '350-1')

update -r HEAD D:/TestProject //Java EE Perspective 에서 update
    At revision 350.

commit -m "build.xml 파일 제외" -N D:/TestProject //commit
    Sending        D:/TestProject
    Committed revision 351.

commit -m "" -N E:/resources/programs/eclipse/workspace/aproject/WebContent
    Sending        E:/resources/programs/eclipse/workspace/aproject/WebContent
    Merge conflict during commit
svn: Commit failed (details follow):
svn: Your file or directory '.' is probably out-of-date
svn: The version resource does not correspond to the resource within the transaction.  Either the requested version resource is out of date (needs to be updated), or the requested version resource is newer than the transaction root (restart the commit).

jar 파일 찾기

Trac Ticket에 필드 추가하고 리포트 생성하기

- Custom Ticket Fields

설정 파일 수정하고 리포트에서 보이게 할수도 있음.

한옥마을

이런 집에 살면 정말 시원하겠다.
재작년에 갔던 남산 한옥마을인거 같다.



HTTP Error 405 - Method Not Allowed

동일한 설정의 프로그램에서 일부 프로그램에서만 다음과 같은 에러가 발생한다.
Live Http Headers 로 원인을 파악했다.
SunOne 서버에서 발생했는데 원인을 모르겠다.
일단 GET 방식으로 해결을 했음.


Firefox Add-on : http://livehttpheaders.mozdev.org/
파폭 만세~~

Trac Links

TracLinks are a fundamental feature of Trac, because they allow easy hyperlinking between the various entities in the system—such as tickets, reports, changesets, Wiki pages, milestones, and source files—from anywhere WikiFormatting is used.

Ticket에 Wiki로 링크를 걸 수 있다. 반대도 가능.

- 첨부파일 링크
attachment:the_file.txt

//다른 위키페이지의 첨부파일 링크
attachment:the_file.txt:wiki:MyPage //안됨
attachment:wiki:MyPage:the_file.txt
[attachment:wiki:MyPage:the_file.txt 클릭하세요]
[/projects/MyProject/attachment/wiki/MyPage/한글%20파일.txt] //파일명이 한글인 경우에는 이렇게 밖에 안됨.

attachment:Settlement_SqlMap.xml#L349 //첨부파일의 라인을 지정할 수 없음. source만 가능

//다른 티켓의 첨부파일 링크
attachment:ticket:42:error.log //42번 티켓에 첨부된 error.log

- 마일스톤 링크
[milestone:demo demo 마일스톤]

- 티켓 링크
[ticket:15 Link to Ticket 15]

- 소스 링크
[source:/demo/trunk/resources/data/script/demo_function_dev.sql@3 함수 생성]
source:/demo/trunk/WebContent/WEB-INF/ibatis_config/sql/Settlement_SqlMap.xml@12#L349 //리비전 12의 소스에서 349번째 줄

http://1.2.3.4:1234/projects/XxxPrj/browser/com.xxx.ep.logon/trunk/PORTAL-INF/page.jsp?rev=383#L23
source://com.xxx.ep.logon/trunk/PORTAL-INF/page.jsp@383#L23

- 특히 SVN과 연동해서 변경사항이나 소스에 대한 링크를 걸어서 Ticket이나 Wiki에 기록할 수 있다.
[15]

http://1.2.3.4:1234/projects/XxxPrj/changeset/1
r1, [1], changeset:1, or (restricted) [1/trunk], changeset:1/trunk


- 위키 페이지 작성시 "변경사항에 대한 설명 (부가정보)"에 링크를 걸 수 있다.
#1 //티켓
http://google.com //외부 링크
[wiki:link]에서 확인 가능함. //같은 프로젝트 위키 페이지
[/projects/XxxPrj/wiki/sysinfo] //다른 프로젝트 위키 페이지

- 다른 프로젝트로 링크
[/projects/XxxPrj/wiki/sysinfo]
http://1.2.3.4/projects/XxxPrj/wiki/sysinfo //이것도 가능, 그러나 위와 같이 하자.


Oracle JDeveloper 11g - Online Demonstrations(데모 동영상)

demos
Oracle JDeveloper 11g — Online Demonstrations
http://www.oracle.com/technology/products/jdev/viewlets/viewlet.html

구글 문서도구

  • 버전관리됨.
  • 여러 사람이 동시에 수정 가능
  • 다른 사람이 수정한 내용을 메일로 받을수 있고 어디가 변경되었는지 알수 있음.
  • 공유에서 초대 기능으로 제한된 사람에게만 공개
  • 해당 문서를 메일로 전달 가능
  • 웹 기반
이보다 좋을순 없지 않나?
시간기록, 회의록 작성 등에 이용하자.
프로젝트 협업도구로도 이용가능하다.(보안이나 외부 시스템에 종속적인 부분을 감안해서)

cafe24 서비스를 해지할 때가 된거 같다.

협업을 위한 도구

업무 개선, 협업을 위해 툴을 몇개 도입했다.

- Subversion 도입
CVS를 사용하다 Subversion을 도입했고 소스형상관리를 하도록 강제했다.
결과는 만족스러운데 아직 부족한 부분이 많다.   
  • 로컬, 개발기, 운영기 소스가 모두 다를수가 있다. 배포 프로세스를 만들어서 소스를 직접 적용하지 못하도록 해야 한다.
  • 개발도중에 수정사항이 발생한다. 브랜칭을 사용해 보자.
- 위키 사용
협업을 위해서 위키 도입
결과는 만족스럽지만 강제할 방법이 별로 없다.

- 팀 공용 주소록
구글 문서도구를 이용해서 야후에 있던 내 주소록을 올렸다.
그리고 팀원들에게 공유를 했다.
도입한지 얼마 되지 않지만 일정 규칙만 잘 지킨다면 좋은 도구가 될거 같다.

- Trac
지금 도입 준비중
꽤 쓸만할거 같다.

- Maven
개발 프로세스를 따라 하는 부분은 괜찮을거 같은데 너무 복잡하지 않나 싶다.
강력한 기능은 좋지만 진입장벽이 너무 높을 듯.

개발 환경 및 도구

- 이클립스
현재 주로 사용중, 자꾸 무거워지지만 만족함.

- NetBeans
예제를 실행시켜보기 위해 사용, 좋은 툴이다.

- JBuilder
예전에 스터디하면서 사용, 좋지만 너무 무거웠다.
요즘에 이클립스 기반으로 나오는거 같다.

- 에디트플러스
처음 프로그래밍 공부할때 사용자도구와 연결해서 사용했다.
텍스트파일 편집에는 최고인거 같다.
매크로 기능으로 한방에~~~

- vi
여기에 손이 익어서 vi 입력을 지원하지 않는 IDE는 사용할 수 없을 정도다.

- JDeveloper
좋은 툴이라고 한다.
한번 사용해 보자.

위키 문법

- JSPWiki 형식
- Trac Wiki 형식

Trac Wiki
= 유지보수 = / === 작은 제목 ===

JSPWiki
!!!유지보수 / !작은 제목

Trac Wiki
[wiki:SystemInfo 시스템 정보]
[wiki:시스템_정보 시스템 정보] //링크될 페이지 이름에 공백이 있으면 안됨
[/projects/OtherProject/wiki/시스템_정보 시스템 정보] //다른 프로젝트의 위키로 링크를 건다.
[attachment:wiki:인터페이스:인터페이스_정의서_v1.4.xlsx?format=raw 인터페이스 정의서] 참고 //Ticket에서 다른 wiki페이지에 첨부된 파일 링크

JSPWiki
[시스템 정보|SystemInfo]

Trac Wiki
 * LIST1 //* 앞뒤로 공백이 있어야 함.
  * LIST2
   * LIST3

JSPWiki
* LIST1
** LIST2
*** LIST3

Trac Wiki
 1. LIST1
 1. LIST2
  1. LIST2.1
  1. LIST2.2

JSPWiki
# LIST1
# LIST2
## LIST2.1
## LIST2.2

Trac Wiki
||Cell 1||Cell 2

- *와 테이블을 같이 사용할 때 (공백)||Cell 1... 이렇게 사용하면 보기 좋게 정렬된다.

Trac Wiki
~~취소선~~

JSPWiki
%%strike 취소선/%

Trac Wiki
'''강조'''


O 프로그램 구조 분석

- do라는 확장자를 가진 요청이 들어오면 스트러츠(Struts2)에서 처리한다.

struts-xxx.xml
xxx_list 라는 요청이 들어오면 xxx.action.XxxAction.findList() 가 호출되면 /jsp/xxx/list.jsp 로 이동하게 된다.

- 스트러츠 액션에서 서비스를 호출해서 사용하면 되는데 우리쪽에서는 모델1 방식이라서 jsp 를 직접 호출하게 되어 있다.
jsp 에서 서비스를 호출하는데 do라는 확장만 호출하게 되어 있는 구조라서 액션에서 편법을 사용했다.[각주:1]
/jsp/xxx/list.jsp 로 이동해서 서비스를 호출해서 데이터를 처리하는 방식을 사용했다.
그런데 BaseAction 에 페이징관련 메서드가 있는 이유를 모르겠다.

- DAO는 iBatis를 사용
예외처리가 세련되지 못함. - 일부 Ajax도 사용
  1. 그런데 jsp 에서 직접 서비스를 호출하는 것을 액션에서 처리하도록 수정하는데 얼마 안걸렸을거 같다. [본문으로]

구글 스프레드시트

많이 좋아졌다.
  • 다른 시트 참조도 가능함. : 그러나 정렬을 하면 다른 셀을 참조한다.
    INDIRECT( "'product 1'!A1" )) 를 사용하면 됨
  • 정렬가능
  • 틀고정
  • 조건에 따라 색상변경도 가능(그런데 다른 쉘 참조는 안됨)
  • 알림규칙 있음
  • 데이터확인 기능
  • 필터링 안됨
  • 보기 - 목록 보기
  • 공유하려면 구글 계정이 있어야 한다.
  • 초대받은 사람만 보거나/편집할수 있다.(URL을 알고 있어도 접근이 안됨)

행복

M25에서 곽경택 감독의 인터뷰 기사를 봤는데 그중에 하나.

돌아보면 어떤가. 성공했다고 생각하나.나라고 힘들고 속상한 일이 왜 없겠나. 근데 주변 사람들에게 그런 말을 하면 너처럼 행복한 놈이 어디 있냐고 한다. 영화감독이 계속 영화를 찍을 수 있다는 게 얼마나 행복하냐고. 위상이나 돈을 떠나서 계속 작품을 할 수 있다는 게 복 받은 거라고. 그래서 행복하다.

행복이란게 별게 아니잖아.

엑셀에 일련번호 넣기

=row() 
=row()-4 //5번째 행이므로 순번을 얻기 위해서는 4를 빼준다.

=B5+1 //이것도 되긴 하지만 row()를 쓰는게 더 좋다.

 

[엑셀] IF와 COUNTA를 이용하여 데이터가 없는 행에 숫자자동채우기가 안되도록 지정하기
https://m.blog.naver.com/javrin4/221692244723