본문 바로가기

Web/DB/Dev

[SQL / OUTER JOIN] 데이터가 없을 경우 0으로 표시하는 쿼리 두개의 테이블을 Join 할 때 기준이 되는(코드) 테이블을 기준으로 join 하는 테이블(데이터)에 데이터가 없을 경우 inner join을 사용하면 기준이 되는 테이블의 행이 표시되지 않는다. 이 때 데이터가 없을 경우 0으로 표시하고 싶다면 outer join을 사용해야 한다. 예를 들어 특정 문자열이나 에러코드, 감사로그 코드의 일별 통계를 뽑을 때 한건도 없는 경우 일반적인 Inner Join을 하게 되면 건수가 0인 날짜.. 더보기
톰캣 2개 설치 후 세션 정보 (JSESSIONID) 가 꼬이는(?) 문제 윈도 서버의 IIS와는 달리 Java 가상머신 위에서 구동되는 톰캣은 하나의 머신에 여러개가 설치되어 각각 구동될 수 있다. 특히 윈도서버에 설치되는 이런 저런 솔루션들은 톰캣과 JDK를 내장하고 웹서비스를 제공하는 경우가 있다. 이런 경우 JDK와 톰캣이 2개 이상 동시에 구동된다. 톰캣은 기본적으로 TCP/8080 포트로 웹서비스를 제공한다. 두개를 설치하였다면 둘중 하나의 서비스 포트를 8080 이외의 다.. 더보기
[제로보드/XpressEngine 설치] gd 라이브러리 설치와 mod_rewrite 문제 오랫만에 PHP 용 게시판의 대명사 제로보드를 설치할 일이 생겼다. 일 때문이라기 보단 그저 궁금함..?? 때문이기도 했다. 제로보드에서 XpressEngine으로 이름을 바꾸고 네이버의 탈(?)을 쓰긴 했지만 오픈소스를 유지하며 계속 버전업이 되고 카페모듈까지도 지원이 되니 개발에 취미가 없는 나 같은 사람에게는 딱~좋은 무료 게시판 소스다. 그저 감사히 사용할 따름이다. UTF-8 캐릭터셋을 지원하는 리눅스 서버에 htt.. 더보기
JSP의 통합 개발환경 "이클립스"를 다시 깔다. 처음 Java를 공부했던 2000년 즈음에는 쓸만한 java 개발환경을 지원하는 IDE가 없었다. 비주얼베이직이나 비주얼C는 훌륭한 개발환경을 Microsoft에서 제공하기 때문에 "자바는 뭐 이따위야..."라는 생각을 했었던 기억이 있다. 하지만 10여년이 지난 지금 Java 언어는 이제 개인홈페이지에도 쓰일 만큼 대중화가 되었고 대부분의 엔터프라이즈 급 어플리케이션 개발 프로젝트의 대부분에 주요 언어로 사용되고 있다. 그리고 .. 더보기
Apache, PHP, MySql 환경에서 한글저장 시 깨질때 확인할 것들... 2 byte 코드를 사용하는 한글을 데이터베이스에 저장할 때 DB의 잘못되어 있는 캐릭터셋 설정은 많은 개발자와 DBA에게 혼란을 야기한다. 아주 오래전 신입사원시절에 Ingres라는 DB의 기술지원을 할 때도 가끔 한글코드가 잘못 지정되어 있어 DB를 업그레이드하거나 다른 서버로 마이그레이션할 때 불편함을 겪곤 했다. 그리고 15년이 지난 요즘...취미삼아 붙잡고 있는 Apache, PHP, MySql 의 환.. 더보기
[Solaris 10 x86] Apache2 + PHP5 + mysql5 (APM) 설치하기 어제부터 끙~끙~대던 협력사 엔지니어 교육 준비.... 내가 하기로 했던 교육을 류과장에게 부탁했는데... 벌을 받은 듯... APM이 설치된 Solaris10 vmware 이미지가 말썽을 부리기 시작했다. 이유없이 TTY 모니터링도 동작을 안하고 이런 저런 오류도 발생하고.... 그동안 별의별 짓을 다하며 잘 부려먹었는데 드디어 탈이 난 모양이다. 그런데.... 백업해둔줄 알았던 APM 설치된 Solaris10의 VMWare .. 더보기
안드로이드 개발환경 구축하기(JDK + 이클립스 + 안드로이드 SDK + ADT) 윈도 모바일 스마트폰을 사용할 때는 어플의 개발에 별 관심이 없었습니다. 윈도 모바일 자체가 워낙 불안정한데다 윈도의 개발환경과 별반 다를 바가 없기 때문이었죠. 헌데 안드로이드 운영체제와 IOS의 등장으로 모바일 기기 운영체제가 다양해지니 왠지 개발환경을 한번 경험해보고 싶어졌습니다. 그리고 모바일기기에서 실행되는 어플의 특징을 한번 살펴봐야겠다 싶었습니다. 그래서 안드로이드 개발환경을 한번 구축해보기로 했습니다. = 기본적으.. 더보기
나모코드에디터로 PHP 코딩 시 UTF-8의 BOM으로 인한 헤더오류 방지법. 취미삼아 PHP를 이용해 웹으로 이것 저것 코딩하며 노는 나로서는 HTML이나 CSS, PHP 함수에 대해 많은것을 항상 외우고 있지를 못하다. 코딩을 할 때마다 똑같은 키워드를 매일 인터넷을 뒤져가며 하다보니 코딩 속도도 더디고 힘도 많이 든다. 그러다 발견한 나모코드에디터.... 바로 내가 찾던 에디터다. 직접 만들 실력은 안되니 실력자들이 만들어 놓은 것을 주로 활용하는 내게 나모코드에디터는 사막을 헤매다 오아시스를 만난 .. 더보기
PHP 코드로 날짜 및 요일 구하기 PHP는 날짜 계산을 위한 함수를 다양하게 제공한다. 그중에서도 오늘날자를 원하는 포맷으로 구하는 방법... 그리고 몇일 전을 구하는 방법... 그리고 오늘을 기준으로 이번주의 월요일을 구하는 방법을 소개한다. <?     //오늘 날짜 구하기     //$today = date("Y-m-d", mktime(0,0,0,date("m"),date("d"), date("Y".. 더보기
PHP 세션응용 코딩 시 session_start() [function.session-start]: Cannot send session cache limiter - headers already sent 에러의 원인 PHP의 session 변수를 이용해 사용자 로그인 여부를 검사하는 코딩을 할 때 이따금씩 특정 웹페이지에서 "session_start() [function.session-start]: Cannot send session cache limiter - headers already sent ~~~" 라는 오류를 보게 된다. 처음엔 도대체 이게 무슨 원인으로 발생하는 것인지 몰라 헤매곤 했다.그리고 오늘.. 또 뭔가 새로운 기능을 구현하다가 이 에러를 .. 더보기
APM Setup 7에 제로보드5(XpressEngine) 설치하기. 최근에 미니 PC를 한대 구입했다. 회사에서 이것 저것 잡다한 테스트와 파일저장소로 사용하기 위해서다. 이것 저것 따지다.. 궂이 강력한 퍼포먼스가 필요한 것이 아니어서.. 전력소모 적고 발열이 적은 아톰CPU를 가진놈으로 샀다. 다만 그래도~ 서버로 쓸거라서 아톰 듀얼인 D510이 들어간 놈으로 주문했다. CPU : Atom D510 1.66GHz RAM : 2 GByte HDD : 1.5 T 그리고 거기에 Windows 7을 설치하고 체험지수를.. 더보기
[SQL Server] 데이터베이스를 다른 디스크(경로)로 이동시키기. 디스크를 증설하거나 다른 디스크로 데이터베이스를 이동해야하는 경우가 있다. 이런 필요성이 있는 경우는 대부분 데이터베이스에 데이터가 무척 빠른 속도로 증가하여 디스크의 공간이 부족한 경우가 대부분이다. 때문에 Export / Import 하기도 부담스럽고 또 귀찮기도 하다. 만약 중간에 에러가 나면... 큰일이기도 하고... 그렇기 때문에 데이터베이스의 물리적인 데이터파일을 이동시키는 것이 어찌보면 가장 빠르고 편한 방법이다. 이때는 다음과 같이 데.. 더보기