발생일: 2009.03.31 문제: 날짜 A로부터 날짜 B까지 쭉~ 뿌리고 싶다. 해결책: LEVEL 과 CONNECT BY 구문을 사용해보자. 아래와 같이 사용하면 된다. SELECT TO_CHAR(TO_DATE('2009.03.31', 'yyyy.mm.dd') + LEVEL - 1, 'yyyy.mm.dd') FROM DUAL CONNECT BY TO_DATE('2009.03.31', 'yyyy.mm.dd') + LEVEL - 1 < TO_DATE('2009.04.03', 'yyyy.mm.dd')
발생일: 2009.03.31 문제: SQL이 convention 에 맞지 않게 코딩되어 있어 수정하려면 매우 골치 아픈 경우,.. 게다가 SQL Formatter를 지원하는 DB Tool도 라이센스 때문에 쓸 수 없을 경우,.. 시스템 로그에서 쿼리가 줄바꿈 없이 쭉쭉 나오는 경우,.. ...스트레스를 매우 받는다... 해결책: 더 스트레스 받기 전에 Online SQL Formatter 를 사용해보자. 강추! 마음에 들지 않는다면 sql formatter 로 구글링 해도 좋다.
발생일: 2009.03.30 문제: 이클립스에서 SVN 플러그인을 설치하려고 한다. 해결책: Eclispe 에서 Subversion 을 사용하는 방법에 대한 IBM 기사를 참조하자. 팁: 개인 프로젝트를 시작하는 경우라면, 같은 팀원과 소스 공유를 어떻게 해야할까 고민하는 경우가 있지요? 구글 프로젝트 호스팅을 이용해보세요. 편하고 좋답니다.^^ 국내에서는 느리다는 의견이 있는데 제가 느끼기에 사용하는데 불편함은 없네요. 네이버나 다음에서도 프로젝트 호스팅을 지원하는 것 같기도 하니 알아보시면 유용할 듯 합니다. 일단, 프로젝트 호스팅에 대한 블로그가 있네요. '구글 프로젝트 호스팅' 등으로 구글링해보세요~ 이클립스로 작업을 하고 계신다면 subclipse 를 사용하시면 편합니다.
발생일: 2009.03.28 문제: 국가별로 다른 페이지를 보여주려고 한다. 현재로선 국내에서 접속할 경우 한국어 페이지를, 그 외에서 접속할 경우 영어로 된 페이지를 제공하고 싶다. 요청 IP 를 분석해서 언어를 설정할 수 있을까? 해결책: 국가별 IP 정보를 받아서 자동으로 언어를 설정할 수 있는 방법이 있긴 하지만, 간단하게 구현하고자 하기에는 좀 버거운 방법이다. (국가별 IP 정보를 제공하는 사이트가 있다) 현재 구현하고자 하는 것은 request의 Accept-Language 헤더 값을 이용하는 것으로 충분할 것으로 보인다. (이에 대한 좋은 토론이 있다.) 주의할 것은, 브라우저마다 Accept-Language 의 리턴값이 다르다는 것이다. 한국어로 설정되어 있을 때 IE의 경우: ko FF..
발생일: 2009.03.25 문제: 게시판에서 상세 보기 후 목록으로 돌아가기 위해 목록 검색에 대한 parameter를 uri 형태로 묶어 parameter로 전달하고 있었다. ex) 브라우저에서 서버로 요청을 보낼 때 자동으로 인코딩이 되기 때문에, 이 값을 서버를 통해 응답으로 보낼 경우, 한글로 적은 '가나다' 값이 인코딩 된 값으로 표기된다. 하여 응답받은 값을 브라우저에 표시하면 '가나다' 대신 인코딩 된 값이 나온다. 해결책: java의 URLEncoder / URLDecoder 객체를 사용한다. 서버에서 searchParam에 대한 값을 받았을 때에 URLDecorder로 decoding 하여 응답한다.
발생일: 2009.03.20 문제: 이클립스에서 로컬로 톰캣 구동 후, 이클립스가 갑자기 다운되었을 때. 이클립스를 다시 로드하여도 톰캣이 재구동되지 않는다. 해결책: 이클립스가 갑자기 다운되어서 톰캣 프로세스가 죽지 않았기 때문이다. 작업관리자에서 javaw.exe 프로세스를 죽인 후 재구동한다. (보통 다시 이클립스를 켜면 javaw.exe 라는 이름의 프로세스가 2개 떠있는데, 사이즈가 큰 것이 이클립스이고 작은 것이 톰캣이다.)
발생일: 2009.03.15 문제: IE6의 box modeling 방식이 IE7/FF 와 달라 정확한 layout 표시가 어렵다. pixeldraw의 canvas를 그리면서 문제가 발생. 해결책: IE6와 IE7/FF의 box modeling 방식을 이해하고, CSS Hack 을 적용해 해결한다. 간단하게, height: 15px; // 모든 브라우저 #height: 15px; // IE 전용 _height: 21px; // IE6.0 과 이전버젼용 와 같이 구현해주면 된다. 또한, IE6에서 float:left; 를 적용할 경우 margin이 중복되어 적용되는데, 이 때에는 _display:inline; 을 적용해주면 된다.
발생일: 2009.03.19 문제: 오라클에서 이전 / 이후의 게시물 아이디를 얻어오고자 할 때 해결책: 오라클에서 제공하는 lag / lead 함수를 이용하여 목록에서 이전 / 이후의 아이디를 가져온다. 전체 게시물을 대상으로 id, lag(id), lead(id)를 조회한 후, 해당 게시물에서 id 값을 찾아내도록 한다. ex) SELECT previous, next FROM ( SELECT deptno lag(deptno) over (order by deptno) as previous lead(deptno) over (order by deptno) as next FROM scott.dept) ) WHERE deptno = #deptno#