본문 바로가기

전체 글

[Jenkins] Job에서 Tomcat 프로세스 구동하기 Jenkins에서 Job을 수행할 때 자신의 Child Process를 모두 Kill하는 문제가 있어서 Tomcat을 구동시키려 하면 Shell을 정상적으로 동작시키지 못하는 문제점이 있었습니다. 다음의 방법을 이용하니 해결이 됩니다 . 참고하세요. Shell에서 BUILD_ID=dontKillMe 를 추가하여 수행합니다. Jenkins에서 직접 쉘을 구동할 경우에는 다음과 같이 작성합니다. cd /home/user/tomcat/bin BUILD_ID=dontKillMe ./startup.sh Ant Script로 구동할 경우에는 다음과 같이 작성합니다. 더보기
[CentOS] Network에서 Proxy 설정하기 가상머신에서 기능 테스트를 하다가, gateway에는 ping이 가지만 이상하게 yum 등을 이용하여 http에 통신을 하려고 보면 안되는 경우가 있습니다. 다양한 경우가 있겠지만, 저 같은 경우에는 사내망 Proxy 설정으로 인하여 진행이 안되었습니다. CentOS에서 일반 쉘과 yum에 대한 proxy 설정을 다음과 같이 진행하신 뒤 작업하시면 됩니다. 1. shell에 proxy 설정하기 http_proxy=http://[IP]:[PORT] export no_proxy=[제외할 경로] export http_proxy /etc/profile 또는 .bash_profile 등의 쉘 Profile에 대하여 http_proxy를 설정하면 됩니다. 이때 Proxy 설정을 제외할 대상은 no_proxy에 설정.. 더보기
[WebSocket] Spring 4를 이용한 WebSocket 구현하기 HTTP 환경에서 client-server간의 상호작용을 위한 WebSocket 기능이 있습니다. Spring 4에서 해당 기능을 지원하며 다음과 같은 절차로 사용할 수 있습니다. 작업 환경 SpringFramework 4.0.4-RELEASE Tomcat 7.0.54 Maven Spring MVC로 구성된 프로젝트 구성 절차 1. Maven의 종속성 설정하기 org.springframework spring-websocket ${spring.version} spring-websocket 을 추가합니다. 2. websocket에 대한 핸들러를 등록합니다. 이때 Client에서 접속할 Path를 지정하고 해당 Path에서 들어오는 WebSocket 요청을 처리할 클래스를 등록합니다. 여기서는 “/echo”로.. 더보기
[XStream] XML 파싱할 때 언더바(_)가 2개 생기는 문제점 해결방법 XStream을 이용해서 XML 파싱을 하고 다시 XML로 원복할 때 언더바”_”가 2개 생기는 문제점이 있습니다. 위 파일을 TestVO로 오브젝트화 시킨뒤 다시 XML로 변환하면 이렇게 언더바가 2개 생기게 됩니다. 해결방법은 XStream 객체를 만들 때 replacer를 함께 등록해주면 되는데, XmlFriendlyNameCoder replacer = new XmlFriendlyNameCoder("__", "_"); XStream xstream = new XStream(new DomDriver("UTF-8", replacer)); XmlFriendlyNameCoder라는 객체를 사용하면 됩니다. 일부 인터넷 검색해보니 XmlFriendlyReplacer 를 사용하라고 되어있는데 현재는 Deprec.. 더보기
[jQuery & jQgrid] 화면 Resize에 따른 jQgrid 갱신 jQgrid를 사용할 때 화면이 변경되면 그리드의 영역도 갱신을 해야 됩니다. 그래서 보통 $(window).bind(‘resize’, function() {~~~~}).trigger(‘resize’); 방식을 많이 쓰게 됩니다. 여기서 문제점은 명확한 갱신 시점이 없기 때문에 약간의 텀을 둬서 그리드 갱신을 할 필요가 있습니다. 검색을 하는 중 멋진 방법이 있어서 같이 공유하고자 합니다. var resizeTimer; var resizeGrid = function() { if (grid = $('.ui-jqgrid-btable:visible')) { grid.each(function(index) { gridId = $(this).attr('id'); gridParentWidth = $('#gbox_' .. 더보기
[MariaDB] UTF8 사용시 대소문자 구분을 위한 COLLATE 설정 현재 MariaDB를 사용하고 있는데, UTF8 인코딩으로 진행중 다음의 문제점을 발견했다. SELECT * FROM TB_TEST WHERE TB_NAME = 'aaa'; 라고 질의를 던지면 결과가… aaa, AAA, AaA 등 내용에 대한 대소문자를 구분하지 않는다. 원인을 파악해보니, CHARACTER SET은 utf8 이지만 COLLATE에서 utf8_general_ci로 설정이 되어있어서 대소문자 구분이 안되는 것 이었다. 해결방법은 COLLATE를 utf8_bin 으로 변경을 하면 대소문자 구분이 가능해진다. 참고사항으로 MariaDB 10.0.11 기준인데, 일부 검색을 해보면 과거 버전(MySQL)의 경우에는 utf8_general_cs 로 변경하라고 나오기도 한다. 기존에 생성된 데이터베.. 더보기
[WebtoB]HTTP를 HTTPS로 Rewrite 하기 요즘 보안 이슈로 인하여 왠만한 사이트에서 SSL 인증 시스템을 구축하고 있습니다. Webtob에 SSL인증을 설정한 뒤 HTTP로 요청이 들어오는 것을 HTTPS로 모두 Rewrite할 수 있습니다. VHOST(또는 NODE) 절에 URL rewrite 옵션 추가하기 http.m1234567test DOCROOT = "/apphome", HOSTNAME = "www.test.co.kr", IndexName = "index.html", PORT = "80", ServiceOrder = "EXT,URI", URLRewrite = Y, URLRewriteConfig = "/webtob/config/rewrite.conf" URLRewrite 옵션을 Y로, URLRewriteConfig 옵션을 Rewrite에.. 더보기
[Oracle]Archive Log 삭제 방법 Oracle DBMS를 Archive 모드로 수행할 경우 지정한 폴더에 주기적으로 Archive log 파일을 누적합니다.만약 해당 위치의 용량이 가득 찰 경우 DB에 대한 Insert가 수행되지 않을 수 있으므로 주기적으로 관리를 해야됩니다.이때 삭제하는 방법은 강제적으로 삭제해도 무방하나, DB 백업에 사용되는 RMAN에서 오류를 발생시킬 수 있습니다. 그러므로, RMAN에 접속하여 다음 명령어로 삭제를 진행합니다. DELETE ARCHIVELOG UNTIL TIME "SYSDATE-"; 위 경우는 오늘로부터 2일전 Archive Log 파일을 삭제하는 명령입니다.중간에 정말로 삭제할 것 인지 확인하는 메시지가 표시되면 “YES”를 입력하면 됩니다. 더보기