'분류 전체보기'에 해당되는 글 1012건
- 2011.05.29 DB2 JDBC Driver
- 2011.05.21 정렬 순서 지정하기
- 2011.05.16 현황 파악
- 2011.05.02 다시 잘하면 되지
- 2011.04.29 잠재적인 시스템 보안 위험이 있는 페이지입니다.
- 2011.04.29 살아 움직이는 조직 1
- 2011.04.26 Eclipse에서 jar 실행시키기
- 2011.04.26 교만함
- 2011.04.25 ipTIME
- 2011.04.23 오만한 사람
- 2011.04.19 제약조건 확인하기
- 2011.04.17 김여사가 생각나서...
- 2011.04.12 평창 동계 유치전에 범죄 기업인들 앞장
- 2011.04.09 Windows 에서 telnet 사용하기
- 2011.04.08 보낸 메일을 받은 편지함에 두고 싶다.
- 2011.04.05 Eclipse 에서 라이브러리 삭제후 import 가 되지 않을 때
- 2011.04.03 SVN Commit 에러 - 시간이 오래되었습니다.
- 2011.03.30 바이트 스트림과 문자 스트림
- 2011.03.30 표준 출력을 사용하는 어플리케이션을 테스트하는 방법
- 2011.03.30 인증서를 사용해서 전자서명, 암/복호화를 하는 통신 모듈을 테스트하기
- 2011.03.22 [비공개] 정보인증 모듈 - 인증서 암호파일 생성방법
- 2011.03.18 TCP/IP Monitor
- 2011.03.17 육간대청
- 2011.03.14 Eclipse 에서 static import 를 쉽게 사용하기
- 2011.03.08 특정 포트를 사용하고 있는 프로그램 찾기
- 2011.03.08 공인인증서 암호체계 고도화‘12년 1월 본격 시행
- 2011.03.08 리더쉽
- 2011.03.04 Socket Connection reset
- 2011.03.03 whoami
- 2011.02.23 NetBeans 에서 Java DB 사용하기
- DB2 JDBC Driver
- 日常茶飯事
- 2011. 5. 29. 06:18
- com.ibm.db2.jcc.DB2Driver
- jdbc:db2://ADDRESS/DB_NAME
- db2jcc.jar (라이센스 jar 도 있어야 한다고는 하는데 이것만 있어도 됨)
- C:\Program Files\ibm\SQLLIB\java\ 에 있음.
- http://jt400.sourceforge.net/
- com.ibm.as400.access.AS400JDBCDriver
- jdbc:as400://ADDRESS/DB_NAME
- jt400.jar
- DB2_INSTALL/jt400/lib/jt400.jar
- 참고 : Toolbox for Java and JTOpen, IBM Toolbox for Java 구성
- 정렬 순서 지정하기
- 日常茶飯事
- 2011. 5. 21. 20:55
1. 데이터를 가져오는 쿼리를 분리하고 UNION 으로 합친다.
ITEM_NM | ITEM_CD | ORD |
A01 | 101 | 0 |
A05 | 250 | 0 |
A09 | 200 | 0 |
A03 | 0 | 1 |
2. ORDER BY 절에 CASE 구문으로 처리한다.(오라클에서는 decode 함수를 사용할수도 있다)
ITEM_NM | ITEM_CD |
A01 | 101 |
A09 | 200 |
A05 | 250 |
A03 | 0 |
항상 팀 업무에 대한 현황, 일정을 파악하고, 숙지하고 있어야 함.
팀장이 올바른 결정을 내리지 못하면 팀원들이 고생함.
- 팀 특성상 유지보수 업무를 맡게 되는데 이놈저놈 다 던져 놓고 가네.
까칠하게 할 필요가 있다.
뭘 그렇게 겁을 먹고 있냐? ㅎㅎ
중요한건 시작했다는 거다.
"실수할까봐 걱정돼요"라며 탱고 추기를
두려워하는 여인에게 다가가 이렇게 말한다.
"두려워할 필요 없어요. 실수하면 다시 추면 되니까요.
실수해서 발이 엉키기 시작했다면, 당신은 지금
탱고를 시작한 겁니다."
알파치노가 말한 핵심은 하나다.
중요한 것은 발이 뒤엉키는 것도 아니고 실수도 아니다.
지금 멋진 춤을 추기 시작했다는 사실이다.
- 서광원의《시작하라..그들처럼》에서 -
from 고도원의 아침편지 - 다시 춤추면 돼
- 잠재적인 시스템 보안 위험이 있는 페이지입니다.
- 日常茶飯事
- 2011. 4. 29. 01:57
어떤 시스템...모덜창이 뜰때 계속 이런 메세지가 뜬다.
별로 신뢰하고 싶지 않은데 신뢰할 수 있는 사이트로 추가하면 된다고 한다.
ActiveX 기반 그리드(?) 환경 너무 짜증난다. ...이건 아닐듯.
다른 도메인의 페이지를 열려고 할때 발생하는듯.
- 살아 움직이는 조직
- 日常茶飯事
- 2011. 4. 29. 01:41
유기체처럼 살아 움직이는 조직이다.
외부 자극에 따라 적절하게 대응하는 유연한 조직.
팀원들이 스스로 일을 찾는 모습을 볼때, 흐뭇하다.
하지만 아직 나에 대한 의존도가 높아서 고민이 많다.
결원이 되거나 바빠서 업무량을 다 소화하지 못할때 누군가가 스스로 나서기를 원한다.
그런 일이 가능하도록 시스템을 만들고 프로세스를 구성하고 교육을 시키고 있다.
팀원들과 나 사이 간격이 너무 커서 중간급 팀원이 한명 더 필요할지 모르겠다.
팀에 잘 적응할지 팀원들과 화합이 잘 될지...
내 생각으로는 내부에서 적절한 인물을 발굴하는 것이 좋을거 같다. 외부 영입보다는.
품질관리 쪽으로 시스템을 더 확충해야 하는데 시간이 나질 않네.
소스관리는 팀원에게 맡겨도 될 정도로 잘 진행이 되는거 같다.
- Eclipse에서 jar 실행시키기
- 日常茶飯事
- 2011. 4. 26. 01:50
jar 파일에서 Run As - Java Application (Alt + Shift + X, J ) 을 누르면 실행가능한 클래스가 나온다.
자기를 낮추고 상대를 높이는 것이다.
겸손은 고상함 같은 매너뿐 아니라 우리가
생활 속에서 갈고닦은 감동 창조의 지혜였다.
겸허한 사람이 훌륭한 일을 했을 때는
공감과 존경이라는 감동이 생기지만
오만한 사람이 같은 일을 했을 때는
시기와 질투라는 감정이
생기기 쉽다.
- 히라노 히데노리의《감동 예찬》중에서 -
- from 고도원의 아침 편지
뉴스 레터의 제목은 겸손의 마학인데, 나한테는 오만한 사람에 대한 감정에서 멈춘다.
휴...
편견일거라 생각했는데, 문제가 많아 보인다.
- 김여사가 생각나서...
- 雜동사니
- 2011. 4. 17. 18:30
병원 입구에 두 대를 주차할 수 있고, 인도를 거쳐야 된다.
그런데 이 아주머니는 인도에 주차를 한다.
주차할 수 있는 공간으로 들어오는 입구에.
저렇게 주차하면 다른 차가 들어올 수 없을 건데...라는 생각이 들면서, 저러면 욕들을거 같은데...하며 나만의 생각으로 끝냈다.
이 사람과 같이 엘리베이트를 탔다.
그런데 남편으로 보이는 사람이 주차된 차를 보고 오느라 엘리베이트를 늦게 탔다.
여자 : 왜? 차를 그렇게 주차시켜서?
남자 : 저렇게 주차시키면 안될거 같은데.
여자 : 괜찮아. 다들 그렇게 해.
남자 : ...
여자 : 왜?
남자 : 김여사가 생각나서...
풉...
- 평창 동계 유치전에 범죄 기업인들 앞장
- 雜동사니
- 2011. 4. 12. 05:42
- Windows 에서 telnet 사용하기
- 日常茶飯事
- 2011. 4. 9. 17:03
- 보낸 메일을 받은 편지함에 두고 싶다.
- 日常茶飯事
- 2011. 4. 8. 06:30
지메일은 엮인 메일을 보여주기는 하지만 제목을 수정하면 연결이 끊어진다.
필터를 사용하는 방법도 있긴 한데 보낸 메일을 받은 편지함에 두지는 못한다.
pantarei@aaa.com 에서 보내는 메일을 받은 편지함에 두고 싶은데 받은 편지함 라벨이 없다.
좀 귀찮기는 해도 숨은 참조로 보내는 방법이 있다.
지메일에서는 보낸 메일과 숨은 참조로 받은 메일을 구분하지 않고 하나의 메일이다.
- Eclipse 에서 라이브러리 삭제후 import 가 되지 않을 때
- 日常茶飯事
- 2011. 4. 5. 19:00
SVN 에서 Update 를 받았는데 WEB-INF/lib/ 의 jar 파일 하나가 삭제 되었다.
지운 jar 파일을 참조하던 소스에 에러가 났는데, import 가 되지 않는다.
Build Path 를 보니 Web App Libraries 에 지운 jar 파일이 missing 으로 표시되어 있다.
Web App Libraries 내의 파일은 지워지지가 않는다.
Web App Libraries 를 삭제하고 Add Library 로 다시 설정하였다.
(처음에는 안되더니 몇 번 하니깐 되네...쩝)
- SVN Commit 에러 - 시간이 오래되었습니다.
- 日常茶飯事
- 2011. 4. 3. 18:30
(히스토리를 확인해보니 test 패키지에 있던 파일 삭제만 commit 이 되었다.)
test/ 가 남아서 이것도 commit 하려고 하니 에러가 발생한다.
이 포스팅대로 Java EE Perspective 에서 commit 해도 동일한 에러가 발생.
(해당 글에서는 update 를 하라고 했음)
에러가 발생할 당시 리비전이 3이었음.
삭제후 리비전이 43이므로 시간이 오래되었다는 에러가 발생한거 같다.
update 를 하니 리비전이 43으로 변경되었다.
commit 완료
- 바이트 스트림과 문자 스트림
- 日常茶飯事
- 2011. 3. 30. 10:26
- 반대로 바이트 스트림이 필요한 경우에는?
- 다른 스트림이 필요할 때
- 표준 출력을 사용하는 어플리케이션을 테스트하는 방법
- 日常茶飯事
- 2011. 3. 30. 10:17
표준 출력으로 메뉴를 보여주고 해당하는 문자를 누르면 다른 기능이 화면에 뿌려진다.
(예전의 PC 통신처럼)
또는 어떤 기능의 실행 성공여부가 표준 출력을 확인해야 하는 경우도 있다.
에러는 나지 않았는데 표준 출력으로 ERROR 이런 문자열만 출력되고 마는 경우가 종종 있는데, 이런 어플리케이션의 테스트를 자동화하는게 힘들다.
고민을 하다보니 표준 출력을 잡아서 비교하면 될거 같다.
System.setOut(PrintStream) 을 사용하면 됨.
바이트 기반 스트림이 필요한데 찾지를 못해서 조금 헤맸다.(감이 떨어지는구나...)
필요하면 File 스트림을 이용해서 파일로 남겨서 처리해도 됨.
- 인증서를 사용해서 전자서명, 암/복호화를 하는 통신 모듈을 테스트하기
- 日常茶飯事
- 2011. 3. 30. 07:35
- SendSOAPServlet -> SendSOAPServiceImpl -> SOAPMessage 를 사용하는 구조임.
- SendSOAPServiceImpl#proc(...) 를 수정하고자 함.
이 메서드는
- 데이터를 가져와서
- XML 문서를 생성하고
- SOAPEnvelope 와 SOAPMessage 를 생성하고
- 생성된 XML 문서를 MIME 에 추가한다.
- 첨부파일을 암호화해서 추가
- 전자서명 생성, 검증
- MimeBodyPart 생성
- XML, SOAP 파일로 저장
- 전송
- 응답 수신
1) 서버에 접속하지 못하므로 전송시 에러가 무조건 발생함.
이 예외를 처리하고 SOAP 메세지에서 MessageDigest, SignatureValue 를 비교해 보면 됨.
2) 굳이 통신까지 가지 않아도 전송 전 SOAP 메세지가 제대로 만들어졌는지만 확인하면 됨.
(proc 메서드가 나누어졌으면 테스트 하기 쉬웠을텐데 덩치가 너무 크다.)
SOAPMessage 클래스를 테스트하면 된다.
- 관련 파일이 많아서 해당 패키지 아래에 res/ 를 만들었다.
(여기에 각 인증서 디렉토리, 로그 디렉토리 등을 둔다.)
- XML 문서는 미리 만들어진 파일을 이용함.(데이터베이스 연결이 필요없음)
- 설정파일에서 읽어오는 부분을 직접 하드코딩함.
(이 부분이 변경되는 것도 아니고, 별도의 테스트용 설정 파일을 만들 필요가 없었다. - 이 부분은 상황마다 다르겠지.)
- 테스트를 위한 인증관련 설정파일을 별도로 만들어서 res/ 에 두었다.
이렇게 테스트하니 인증관련 설정파일에 대한 설정을 이것저것 바꿔가면서 계속 실행해 볼 수 있어 각 설정값의 역할에 대해서 깊게 이해할 수 있었다.
- 인증서 암호파일은 각 머신에서 생성되어야 하므로 테스트 전 직접 생성해야 한다.
- 기존에 문제없이 돌아가던 모듈이므로 먼저 이에 대한 테스트 코드를 작성한다.
그리고 원하는 기능에 대한 테스트 코드를 추가한다.
- 2011. 3. 22. 08:49
내용을 보시려면 비밀번호를 입력하세요.
- TCP/IP Monitor
- 日常茶飯事
- 2011. 3. 18. 18:20
어떤 특이한 에러가 발생해서 이클립스 TCP/IP Monitor 로 확인해봤다.
Local monitoring port 는 브라우저에서 요청할 포트
Monitor 에는 실제 서버의 주소와 포트를 입력한다.
Request 와 Response 의 헤더도 볼 수 있다.
Response 를 텍스트, 브라우저로 렌더링해서 볼 수도 있다.
- SSL 을 모니터링하는 경우
Type 을 TCP/IP 로 둔다.
브라우저에서는 https://localhost:LocalMonitoringPort 로 요청한다.
- Eclipse 에서 static import 를 쉽게 사용하기
- 日常茶飯事
- 2011. 3. 14. 00:39
테스트 코드를 작성하다 보면 org.junit.Assert 클래스나 org.hamcrest.CoreMatchers 클래스의 메서드를 많이 사용하게 되는데 이게 좀 귀찮은 부분이 있다.
메서드가 여러 개라서 일일이 다 적기는 힘들다.
그래서 와일드카드를 사용하는데, Eclipse 의 Organize Imports 기능을 사용하면 와일드카드로 import 한 코드가 실제 사용된 메서드로 바뀐다. 1
그 후 import 되지 않은 메서드를 사용할때는?
매번 이러니 귀찮다.
그래서 Template 을 사용했다.
import static org.junit.Assert.*; 라는 구문이 삽입되도록 추가했다.
그러나 매번 소스 파일 최상단으로 이동해야 되서 귀찮아서 조금 사용하다 말았다.
이 문제에 대해서 여러 사람들이 고민하고 좋은 해결책을 제시했다.
Template 을 보다 보니 이미 import CoreMatchers, Test 라는 템플릿이 있었다.
여러 가지 방법들을 조합해서 몇가지 Template 을 만들었다.
create test method //잘안쓰나?
@${testType:newType(org.junit.Test)}
public void test${testname}(){
${si1:importStatic('org.hamcrest.CoreMatchers.*')}${si2:importStatic('org.junit.Assert.*')}${cursor}
}
import tests
${is2:importStatic('org.junit.Assert.*')}${is3:importStatic('org.springframework.test.web.servlet.setup.MockMvcBuilders.*')}${is4:importStatic('org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*')}${is5:importStatic('org.springframework.test.web.servlet.result.MockMvcResultMatchers.*')}${is6:importStatic('org.springframework.test.web.servlet.result.MockMvcResultHandlers.*')}${is7:importStatic('org.mockito.Mockito.*')}${is8:importStatic('org.mockito.Matchers.*')}${is9:importStatic('org.assertj.core.api.Assertions.*')}${is10:importStatic('org.mockito.ArgumentCaptor.*')}
${is1:importStatic('org.hamcrest.CoreMatchers.*')}${is2:importStatic('org.junit.Assert.*')}${is3:importStatic('org.springframework.test.web.servlet.setup.MockMvcBuilders.*')}${is4:importStatic('org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*')}${is5:importStatic('org.springframework.test.web.servlet.result.MockMvcResultMatchers.*')}${is6:importStatic('org.springframework.test.web.servlet.result.MockMvcResultHandlers.*')}${is7:importStatic('org.mockito.Mockito.*')}
assertThat with static import
${si1:importStatic('org.assertj.core.api.Assertions.*')}assertThat(${cursor}
assertThat(${cursor}, is(${si1:importStatic('org.hamcrest.CoreMatchers.*')}${si2:importStatic('org.junit.Assert.*')}
when
${si1:importStatic('org.mockito.Mockito.*')}when(${cursor}
이제는 테스트 코드 작성에만 신경쓰자.
- Number of static import needed for .* 를 99에서 1로 변경하면 된다고 함. [본문으로]
- 특정 포트를 사용하고 있는 프로그램 찾기
- 日常茶飯事
- 2011. 3. 8. 17:56
웹페이지 접속이 안된다고 하는데.
- netstat 로 확인해 보니 정상적이다.
혹시 이 프로세스가 80 포트를 점유하고 있을수도 있으므로 PrcView 로 확인해본다.
역시 Tomcat 이다.
이 Tomcat 이 어떻게 실행되었는지 확인해 본다.
Original Filename 이 prunsrv.exe 다.
Process Tree 로 보니 services.exe 아래에 있다.
- 공인인증서 암호체계 고도화‘12년 1월 본격 시행
- 日常茶飯事
- 2011. 3. 8. 12:30
- 전자거래업체는 ‘11년 10월까지 고도화 준비 완료 필요 -
금융권에서 반발을 했다는 이야기가 있던데.
항상 보면 준비나 홍보, 현장의 의견수렴이 없다.
그냥 지침만 내리면 업체들이 알아서 다 하는 줄 안다.
무슨 정책을 그렇게 멍청하게들 하시는지. 영~~ 마음에 안든다.
아랫사람의 능력을 최대한 이끌어내는 것이
리더쉽의 진정한 역할이라고 한다.
갑자기 어제 처세 관련 서적들이 눈에 들어오더라.
나이를 점점 먹어가나 보다.
- Socket Connection reset
- 日常茶飯事
- 2011. 3. 4. 05:00
로그는 다음과 같이 남는다.
2011-02-23 15:14:43 [WARN ][Request.java:2404] Exception thrown whilst processing POSTed parameters
java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(Unknown Source)
at org.apache.coyote.http11.InternalInputBuffer.fill(InternalInputBuffer.java:777)
at org.apache.coyote.http11.InternalInputBuffer$InputStreamInputBuffer.doRead(InternalInputBuffer.java:807)
at org.apache.coyote.http11.filters.IdentityInputFilter.doRead(IdentityInputFilter.java:116)
at org.apache.coyote.http11.InternalInputBuffer.doRead(InternalInputBuffer.java:742)
at org.apache.coyote.Request.doRead(Request.java:419)
...
소켓에서 데이터를 읽어들이는데 클라이언트 측 소켓이 끊어진 것으로 보인다.
이런 경우는 중간에 방화벽이 있는 경우가 많다.
담당자에게 확인 결과 SQL Injection 으로 탐지하고 있었음.
다른 시스템에 들어가 작업을 하다가 바탕화면 디렉토리를 봐야 하는 경우가 생겼다.
사용자마다 디렉토리가 다른데, 어디로 들어가야 할지 모르겠다.
현재 사용자의 디렉토리겠지만 어떤 계정으로 로그인을 했는지 궁금하다.
시작 버튼을 누르면 사용자 이름이 보이는데 해당 시스템은 안보였다.
Unix 계열에서는 whoami 명령을 사용하면 되겠지만 Windows 에서는?
Windows 7 에는 해당 명령이 있다.
pantarei-pc\pantarei
그러고 보니 cmd 창을 열면 현재 사용자의 홈 디렉토리에서 열리게 되어서 확인이 가능하네...ㅎㅎ
명령어로 만들어 보자.
pantarei
> echo %domainname%
pantarei-pc
- NetBeans 에서 Java DB 사용하기
- 카테고리 없음
- 2011. 2. 23. 02:31
- GlassFish를 시작하면서 등록된 Java DB를 실행시킬 수도 있다.
(Tools - Servers - Start Registered Derby Server)
- 데이터베이스 생성위치
데이터베이스가 제대로 등록이 되어 있지 않거나 중복되는 데이터베이스명이 있으면 여기에서 처리한다.
Recent comment