본문 바로가기

전체 글1109

ContentNegotiatingViewResolver를 이용한 XML, JSON 뷰 만들기 ContentNegotiatingViewResolver를 이용하면 xml, json 뷰를 편하게 만들 수 있다. 서블릿 컨텍스트에 ContentNegotiatingViewResolver와 json뷰, xml 뷰 설정을 처리하도록 한다. json 뷰는 MappingJacksonJsonView를 이용하고, xml 뷰는 Jaxb2Marshaller를 이용하도록 한다. * 이 두가지 뷰외에도 다양한 뷰가 있다. 다른 뷰를 활용하는 방법도 찾아보면 좋을 것 같다. servlet-context.xml 은 다음과 같이 설정한다. sdk.spring.xml.model.XmlData 그러면 일단 설정은 완료 되었다. * Jaxb2Marshaller는 마샬링을 처리하려고 하는 Java 클래스를 꼭 지정해 주어야 한다. 그.. 2013. 4. 16.
[KB카드 WiseInfo 플러스] 문자 알림을 왜 이렇게 만든거지... 오늘 갑자기 아래와 같은 문자가 왔다. [KB카드 WiseInfo 플러스]고객님의신용정보변동내역발생. ARS 연결 또는 홈페이지확인 KB카드(1588-1688) 에 전화를 전화를 하니 KC라고 전화번호(02-708-1000)를 하나 알려준다. 여기에 전화를 해서 확인하니 최근에 신용카드 하나 해지를 한게 있는데 그걸 알려주더라. 여기서 왜 메시지를 저렇게 만들었을까?? 먼가 좀 더 사용자에게 직관적으로 알려 줄 수 있도록 만들 수는 없을까라는 생각을 하게 된다. 이런게 공돌이 감성 알림이 아닐까? 저 문자만 받고 알 수 있는게 아무것 도 없다. 문자 수신번호도 1666-1-3702 다 . 이거 완전 스팸이라고 생각할 수 밖에 없다. 서비스를 만들때 사용자가 이걸 받으면 어떻게 반응할 까도 생각을 하고 만.. 2013. 4. 16.
BASE 64 인코딩 Base 64란 8비트 데이터를 문자코드에 영향을 받지 않는 공통 ASCII 문자로 이루어진 6비트 데이터로 변환하는 것이다. 8bit 데이터 3개가 6bit 데이터 4개로 변환되는 것이다. 이 6bit 데이터는 ASCII 코드로 변환이 되고, 이를 이용하면 이기종간 문자코드가 달라도 데이터 처리가 가능하게 된다. 위키, 참고1, 참고2, 참고3 Java에서 Base64 인코딩을 처리하려고 하면 sun.misc.BASE64Decoder 를 이용하게 되는데 Java에서 sun 의 하위폴더에 들어있는 패키지를 이용하는 것은 권장하지 않는다고 한다. 따라서 되도록 이면 apache 등에서 제공해주는 라이브러리를 이용하는 것이 좋을 것 같다. (apache common 의 codec 참조) 일단 sun의 라이브.. 2013. 4. 15.
jQgrid의 지정한 칼럼, 지정한 열을 다른색으로 지정하기 사용자에게 해당칼럼이나 열의 정보를 강조하기 위해서 테이블의 배경색을 바꾸고 싶을 때는 다음처럼 처리한다. // 배경색상 css 선언 var cssGreen = {'background-color':'#6DFF6D'}; // 그리드 데이터의 ID 가져오기 var ids = $('#requestList').jqGrid('getDataIDs'); // 그리드 데이터 가져오기 var gridData = $("#requestList").jqGrid('getRowData'); // 데이터 확인후 색상 변경 for (var i = 0; i < gridData.length; i++) { // 데이터의 is_test 확인 if (gridData[i].is_test == 'Y') { // 열의 색상을 변경하고 싶을 때(c.. 2013. 4. 12.
AOP로 로그 남기기 소스코드 GitHub 링크가기 => 고고고 목적은 Aop를 이용하여 메소드 실행시점에 로그를 남기는 것이다. AOP를 이용하는 방법에는 어노테이션을 이용하는 방법과 XML 설정을 이용하는 두가지 방법이 있다. 각각의 방법을 모두 이용해 보도록 하자. 1. 어노테이션 이용하여 설정하기 어노테이션을 이용하기 위한 XML 설정은 위와 같다. 그리고 로거는 다음과 같이 설정 package sdk.spring.aop.logging; import org.aspectj.lang.JoinPoint; import org.aspectj.lang.annotation.Aspect; import org.aspectj.lang.annotation.Before; @Aspect public class LoggingAspect { @.. 2013. 4. 11.
Javascript의 Array 의 concat, $.extend 메소드 알아보기 참조링크 => 라셍님 블로그Javascript의 Array 타입이 제공해주는 기본 메소드 중에서 유용한 메소드인push, concat 에 대하여 알아보고, jQuery의 extend를 이하여 배열을 합친것과 concat의 차이점을 알아보자. 우선 기본적인 Array 타입의 형태를 알아보자.// 영화 Object 선언 var shiri = { name: '쉬리', year: '1998' }; var oldboy = { name: '올드보이', year: '2003' }; var myway = { name: '마이웨이', year: '2011' }; var masqurade = { name: '광해', year: '2012' }; var ironman3 = { name: '아이언맨3', year: '2013.. 2013. 4. 10.
주간, 월간 근무가능 일 수 구하기 trunc(date, 'd')와 last_day 를 이용해서 처리참조링크1참조링크2 -- 캘린더의 정보와 사용자 정보를 이용하여 주간 근무 가능일수 주회 -- 입력한 날짜를 trunc(date, 'd')로 시작일, trunc(date +7, 'd') -1 로 마지막일을 구해서 처리 SELECT COUNT(*) INTO p_workday_count FROM sfa_calendar sc ,sfa_user_master u WHERE sc.company_code = u.company_code AND u.sfa_user_id = v_user_id AND to_date(sc.cal_date, 'YYYYMMDD') BETWEEN trunc(v_date, 'd') AND trunc(v_date + 7, 'd') - 1.. 2013. 3. 27.
오라클 날짜 정보 가지고 놀기 주간 시수, 월간 시수 등의 데이터를 추출하기 위해서 날짜 데이터를 가지고 놀다 보니 다음의 몇가지만 알고 있어도 오라클의 날짜정보를 잘 이용할 수 있을 것 같다. add_month, +, -trunc, to_datelast_daybetween and이 정도만 숙지하고 있어도 데이터를 조작하는데 있어서 어려움은 없을 것 같다. -- 다음 날짜 -- result: 2013-03-28 오후 3:19:35 SELECT SYSDATE + 1 FROM dual; -- 다음 달 -- result: 2013-04-27 오후 3:20:33 SELECT add_months(SYSDATE, 1) FROM dual; -- 주차 -- result: 13 SELECT to_char(SYSDATE, 'IW') FROM dual;.. 2013. 3. 27.
광양 매화 축제 월요일 아침 9시 30분쯤에 출발해서 11시 30분쯤에 도착했는데 벌써 차가 만차다. 1시간 걸려서 주차를 하고 올라가는데.. 꽃은 정말 이뻣는데 이거머 내가 야시장을 구경하러 온건지 꽃을 구경하러 온건지... 도데체게 꽃을 구경할 수가 없다. -_-; 그리고 가다가 보니 하동IC에서 내려서 매화마을로 가기전에 섬징강을 건너는 다리가 있었는데 거기가 꽃이 더 예뻣던거 같다. 다음엔 그곳에서 구경하는게 더 좋을것 같다. 2013. 3. 26.
오라클의 주의 시작일 변경여부 확인 오라클의 주의 시작일을 조회해보니, 기본적으로는 월요일로 설정이 되어 있었다. 알아보니 오라클은 ISO Week 란 놈을 쓰는데, ISO Week 는 기본적으로 월요일이 주의 시작일으로 되어 있다. 따라서 to_char(sysdate, 'IW') 로 조회하면 월요일부터 주차를 계산해 준다. -- 주 출력(2013.03.26 기준 13) select to_char(SYSDATE-1, 'IW') FROM dual; NLS Settings 를 변경하지 않으면 이를 바꿀수가 없다. 그래서 우리가 쓰는 달력처럼 일요일을 주의 시작일료 계산하고 싶으면 처리시점에 +1을 해서 데이터를 처리해야 한다. 2013. 3. 26.
데이터를 주간 집계하기 목적: 입력한 시수를 주간으로 확인하고 싶다. 우선 입력된 데이터를 일자별로 그룹핑하고, 일자를 년도, 주차(주의 순번)으로 다시 그룹핑하여 처리 -- 년 출력 select to_char(SYSDATE, 'IYYY') FROM dual; -- 주 출력(2013.03.26 기준 13) select to_char(SYSDATE, 'IW') FROM dual; -- 년, 주로 그룹핑 SELECT to_char(wid_date, 'IYYY') ,to_char(wid_date, 'IW') ,tonnes FROM production WHERE to_char(wid_date, 'IYYY') = '2013' GROUP BY to_char(wid_date, 'IYYY') ,to_char(wid_date, 'IW'); 위.. 2013. 3. 26.
이클립스에서 SVN: '0x00000119: Delete 오류가 발생할 때 해결 방법 The project was not built due to "SVN: '0x00000119: Delete' operation finished with error". Fix the problem, then try refreshing this project and building it since it may be inconsistent 개발 중 위와 같은 오류가 발생한다면 다음과 같이 처리해보자. 먼저 SVN 서버와의 동기화가 맞지 않아서 그럴수도 있으므로 프로젝트를 SVN clean up 한다. 다음에 프로젝트를 clean 한다. 이렇게 하면 오류가 사라질 것이다. 2013. 3. 14.
목록에서 text 가 지정된 길이 이상일 때 ...(elipsis:생략부호)로 변경하기 내가 원하는 목적은 게시판의 목록을 보여주는데 일정 길이 이상이면 그 이상의 길이를 ... 으로 보여주는 것이다. 내가 원하는게 이런 모습이었는데 [타이틀][날짜]이런 형태의 HTML 로 구현하여 처리하려고 했는데 어떻게 해도 타이틀 부분의 길이가 딱 맞아 지지가 않아서 우선 CSS로 처리하려고 시도를 했다. 스택오버플로우를 보고 처리하려고 했는데 타이틀의 길이가 li 의 전체 길이에 맞춰져서 날짜와 한 라인에 맞아지지가 않아서 일단은 DB에서 타이틀을 끊어서 가지고 오는 것으로 처리하였다. 스택오버플로우의 내용은 한 라인에 타이틀만 들어갈 때 사용하면 될 것 같다. 위와 같이 워드랩을 nowrap으로 주고 처리하면된다. DB에서 타이틀을 가져올 때 다음과 같이 case 문을 이용하여 문자의 길이를 기준.. 2013. 3. 13.
IE, FF, Chrome 에서 렌더링이 다른 이유 알아보기. 웹페이지를 개발하고 있다. 그런데 동일한 소스코드임에도 FF, IE, Chrome 가 렌더링하는 모양이 모두 다르다. 어떤 느낌이냐면 IE랑 Chrome 이 대충 알아서 잘 그려준다면, FF는 내가 설정한 대로 정확하게 그려 주는 느낌... 분명히 동일한 코드 임에도 FF 에서만 다르게 그려주기 때문에 크로스브라우서 설정을 위해서 모두 깔아두고 테스트 할 수 밖에 없다. 거기다 IE8, IE9 의 동작 차이도 있기 때문에 지금 컴퓨터에 깔려 있는 브라우저만 Chrome, FF, IE8, IE9 4개 이다. 그래서 도데체 왜 이렇게 다르게 그려주는 것인가를 한번 알아보기로 했다. 참조 페이지 링크Ethanjoh 님 블로그 => http://ethanjoh.tistory.com/196브라우저 렌더링 엔진 위.. 2013. 3. 12.
리쌍 - 눈물 리쌍 - 눈물 완전 꽂혔다... 오늘 하루종일 반복하고 있네.. 개리의 랩도 좋고, 길의 굵직한 목소리도 좋고, 유진의 피처링도 좋네. ㅎㅎ 뮤비의 여주인공은 NS 윤지, 남주인공은 DMTN의 다니엘 니가 떠나고 늘 슬프다 아무리 슬퍼해도 슬픔이 모잘라 맘 놓고 아파할 곳을 찾아 숨는다 불 꺼진 집 안에 멈춰진 차안에 너의 집 앞에 사랑 잃은 삶은 가난 남아 있는것은 그저 텅 빈 내마음 너와 난 마치 더이상 함께할 수 없는 낮과밤 우리가 나눠가진것은 그리움 하나 술에 취해 불쑥 찾아와 오늘은 오빠랑 잘꺼라며 떼를쓰고 배렛나루 만지며 내 품에 누워 보고싶었다며 말을하고 왜 오빠는 매일 바쁘냐며 묻고 소리없이 울고 그냥해본 말이라며 자긴 항상 나를 믿는다고 내 옆을 항상 지켜주던 너와의 모든것이 다 이제는 .. 2013. 2. 26.
윈도우 7 XP 모드에서 윈도우 7의 서버에 접속하기 웹 개발을 하면서 IE8에서 사용자 테스트를 할 필요가 많았다. 크롬, IE9, FF 에서 정상적으로 동작하는 코드도 IE8에서는 동작하지 않거나, 속도가 현저하게 떨어지는 문제가 발생하면서 클라이언트의 테스트 요청이 많아 졌다. 해서 윈도우 7의 XP 모드에 IE8을 설치하고 테스트를 진행하기로 하였다. 그런데 XP 모드에서 위도우 7의 톰캣 서버에 접속을 하지 못하는 문제가 발생한다. 원인은 XP 모드의 네트워크 설정이 NAT 로 되어 있어서 윈도우 7의 시스템과 별개의 네트워크를 구성하기 때문이었다. 이는 다음과 같이 설정을 하여 변경이 가능하다. 먼저 Window Virtual PC를 검색한다. [설정] -> [네트워크] -> Intel *** 으로 된어 있는 자신의 네트워크 드라이버 선택 이렇게.. 2013. 2. 26.
외국 게임회사에 관한 평가 원글 링크 => 79세 동정 최노인 한국이나 미국이나 개발자는 고생만 할 뿐인가... ㅠㅠ 2013. 2. 20.
IT 회사 관련 정보 - 잉여개발자의 꿀 위키 링크 => 꿀위키 심심할때 한번씩 읽어보면 재미있을 것 같다. 역시 자기회사에 대한 뒷 이야기가 ㅎㅎ 2013. 2. 18.
[공통] 데이터 처리시 편리한 임시 테이블 만들기 DB 를 관리하다보면 데이터 마이그레이션, 임시 데이터 조회 등의 이유로 지정한 데이터를 이용해야 할 경우가 있다. 이럴때 여기서 이용하는 방법이 임시 테이블을 만들고 테이블에 데이터를 넣어서 처리하고 있다. create table TEST_TEMPTABLE ( VCH1 VARCHAR2(255), VCH2 VARCHAR2(255), VCH3 VARCHAR2(255), VCH4 VARCHAR2(255), VCH5 VARCHAR2(255), NUM1 NUMBER, NUM2 NUMBER, NUM3 NUMBER, NUM4 NUMBER, NUM5 NUMBER, DAT1 DATE, DAT2 DATE, DAT3 DATE, DAT4 DATE, DAT5 DATE ) 위와 같은 테이블을 만들어 두고 데이터를 처리하면 쉽게.. 2013. 2. 18.
80020101 오류 해결하기 웹페이지 처리중 80020101 오류메시지가 뜨면서 Javascript 오류 메시지가 나타날 경우 다음과 같이 확인을 해보자. 시작 -> 모든 프로그램 -> 보조 프로그램 -> 시스템 도구 에 보면 'Internet Explorer 추가 기능 없음' 으로 실행하여 웹서핑시 발생하는 지 확인을 합니다. 1. 추가기능없음 에서는 발생하지 않는다면, 설치된 IE 추가기능에 의한 문제라고 추측해도 되겠죠?-> 레지스트리 편집기를 통한 BHO 제거, adobe flash player 제거 후 새로 설치 등을 해보시면 될 것 같습니다. 2. 추가기능없음에서도 증상이 동일하게 발생-> 3rd party 응용 프로그램이나, 바이러스 등에 의한 방해로 발생할 가능성이 있습니다.-> msconfig 를 이용한 클린부팅 /.. 2013. 2. 15.
[PL/SQL] Recall Statement - 이전에 실행한 쿼리 조회 PL/SQL Developer 에는 이전에 실행한 쿼리를 확인할 수 있는 Recall Statement 라는 기능을 제공한다. Ctrl + E 또는 메뉴에 Edit - Recall Statement 를 실행하면 된다. 해당 설정은 Tools - Preference - Recall Statement 에서 설정할 수 있다. 최대 저장하는 쿼리 개수와 저장 폴더를 지정할 수 있다. 2013. 2. 15.
뽀로로 극장판 슈퍼썰매 대모험 와이프, 아들과 함께 조조 + 포인트로 공짜로 보았다 생각보다 재미있게 보았네... 우리 아들이 너무 집중해서 잘 보아서 다음에도 데려가야 할 것 같다. 제작비가 100억 정도라고 하던데 중국쪽 자본이 많이 투자 된것 같다. 그걸 회수하려면 외국에서도 흥행해야 할 듯 2013. 2. 8.
MSSQL 에서 Oracle 에 있는 테이블로 정보를 insert 프로그램 MSSQL의 테이블의 정보를 select 해서, Oracle의 테이블에 insert 하는 예제코드전제 조건은 씨퀄과 오라클 테이블의 칼럼명이 동일해야 한다는 것이다. ResultSetMetaData 를 이용하여 칼럼명을 자동으로 설정한다. 2013. 2. 5.
Maven 에 MSSQL, ORACLE JDBC 설정하기 참조 링크 MSSQL의 JDBC 드라이버는 리파지토리가 없다... ㅠㅠ 그래서 아래의 디펜던시를 추가해주고 com.microsoft.sqlserver sqljdbc4 4.0 JDBC 드라이버를 다운받아서 mvn install:install-file -Dfile=sqljdbc4.jar -Dpackaging=jar -DgroupId=com.microsoft.sqlserver -DartifactId=sqljdbc4 -Dversion=4.0 위의 명령어로 로컬의 리파지토리에 데이터를 추가해주던지 스스로 jar 파일을 로컬 리파지토리에 추가해주어야 한다. 로컬 리파지토리 주소는 아래와 같이 확인 가능 하다. 파일을 추가할 때 파일명을 sqljdbc4-4.0.jar 으로 변경해주고, Maven의 update dep.. 2013. 2. 5.
지니계수 지니계수란?인구분포와 소득분포와의 관계를 나타내는 수치로서, 은 완전평등, 은 완전불평등한 상태이며 수치가 클수록 불평등이 심화 주) 이탈리아의 통계학자 C. 지니가 제시한다. 0에 가까울 수록 좋고, 1에 가까울 수록 좋지 않다. 우리나라의 2010년 기준으로 0.341, 미국은 0.408 이라고 한다. 이 값이 앞으로 어떻게 될까?이번 대선에서 소득이 낮을 수록 1번을 찍은 경향이 높다고 하는 데, 5년 뒤에 웃을 수 있을까? 2012. 12. 24.
아이에게 '틀렸다' 말하지 말자 링크 => http://news.naver.com/main/hotissue/read.nhn?mid=hot&sid1=103&cid=193776&iid=733749&oid=025&aid=0002237308&ptype=011 마이클 샌델 교수의 자식 교육법 우리 아들에게도 내가 답을 주려 하지말고, 생각하는 힘을 줄 수 있게 교육을 하도록 하자. 2012. 11. 28.
<엠파이어 선정> 최고의 트릴로지 링크 => http://blog.naver.com/hanyu313?Redirect=Log&logNo=60116140254 시간날때 한번 봐두자. 반지의 제왕은 나는 그렇게 좋은 영화였다고 생각하지 않았는데 ㅎ 나에게는 백투더 퓨쳐가 최고 ㅎ 2012. 11. 28.
기업에서 페이스북 제대로 활용하는 법 링크 => http://mushman.co.kr/2691862 소셜시대가 가속화 되고 있는 만큼 나 개인적으로도 페이스북을 어떻게 활용할 것인지를 생각해 보자. 2012. 11. 28.
코드 값이 들어 있는 테이블 fnd_lookup_values Oracle ERP 에서 사용되는 코드 정보는 fnd_lookup_values 에 들어 있다. fnd_lookup_values 의 lookup_type 을 이용하여 분류가 가능하다. 2012. 11. 16.