Category Archives: Lang

프로그래밍 언어

java.net.URLEncoder.encode()로 인코딩한 문자열을 javascript에서 변환할 때 space(공백)가 +로 바뀌는 것에 대한 해결

By | 4월 6, 2012

예전에는 공백문자의 인코딩(URI encoding)결과가 “%20″(맞나?) 이었다고 하는데현재는 공백문자의 인코딩결과가 “+” 로 표준이 변경된 것 같다. java 내부적으로는 디코딩이 잘 될지 몰라도 자바스크립트에는 아직 “+” 로 바뀐 표준을 지원하지 않는 것처럼 보여서, 그냥 +를 공백문자로 relace(치환)하는 코드를 추가했다. value = decodeURIComponent(value || ”).replace(/\+/g, ‘ ‘);

[펌글] 자바스크립트 call()과 apply()의 차이점

By | 4월 5, 2012

세부적인 차이점은 잘 모르겠고 -_-; 가장 큰 차이점은 call()은 호출시 인수를 명시적으로 나열해 주어야 하고, apply()는 호출시 arguments와 같은 인수배열 하나를 받는다는 점이다. 그래서 공통작업 할 때 apply()가 좋아 >,. < !! * 참고링크 call()과 apply()에서 변경되는 this의 의미 call() apply()    

getRequestDispatcher().forward() 이후 IllegalStateException 에 대하여

By | 4월 4, 2012

실험적으로 얻은 지식에 의하면, getRequestDispatcher().forward() 가 실행되어도, 바로 그 시점에 리턴되는 것이 아니라forward() 작업과는 비동기적으로, 그 이후의 코드도 끝까지 실행되는 것으로 보인다. 그런데 문제는 그 이후의 코드에서 response를 write 하는 등의 코드가 존재하면IllegalStateException 이 발생한다는 것이다. 그러므로 getRequestDispatcher().forward() 이후에 return 을 붙이는 것이, 안전하면서도 내가 원하는 결과를 얻을 수 있는 패턴이라는 생각이 든다. * 참고링크      http://www.xyzws.com/Servletfaq/does-the-requestdispatcherforward-include-method-return/15   http://www.coderanch.com/t/360595/Servlets/java/RequestDispatcher-forward-method-returns-asynchronously

[펌글] ServletRequest의 getRequestDispatcher()와 ServletContext의 getRequestDispatcher()의 다른 점.

By | 4월 4, 2012

– 출처 : http://www.theserverside.com/news/thread.tss?thread_id=28471 –     The servletRequest’s getRequestDispatcher() can take a relative path while    ServletContext’s getRequestDispatcher() can not(can only take relative to the     current context’s root).     For example      with ServletContext both        -> request.getRequestDispatcher(“./jsp/jsppage.jsp”) – evaluated relative to the path of the request        ->… Read More »

jQuery ajax 호출시 http헤더(header)에 사용자정의 값을 셋팅하는 방법

By | 4월 3, 2012

1. 정적 셋팅     jQuery ajax option의 headers 속성에 {key:value} javascript object를 정의한다. 2. 동적 셋팅     jQuery ajax option으로 beforeSend() 이벤트 핸들러를 정의하고 그 내용에     setRequestHeader(key, value) 함수를 사용하여 원하는 header 값을 설정한다.    이 설정은 정적 셋팅을 오버라이딩한다.

서블릿에서 클라이언트 IP 얻어오기

By | 4월 3, 2012

* 네트워크장비 구성에 따라서 취해야 하는 헤더명이 다르므로 완벽한 코드는 아니다.     HttpServletRequest hReq = (HttpServletRequest)request;     String cltAddr = hReq.getHeader(“X-Forwarded-For”);    if(cltAddr == null || cltAddr.equals(“”)) {     cltAddr = hReq.getHeader(“Proxy-Client-IP”);     if(cltAddr == null || cltAddr.equals(“”)) {     cltAddr = request.getRemoteAddr();     }    }     * 참고링크    http://whitebear.tistory.com/80

[펌글] 자바스크립트(javascript)에서 arguments (인수의 배열)를 다른 함수로 그대로 넘겨서 실행하기

By | 3월 30, 2012

– 출처 : http://stackoverflow.com/questions/3914557/passing-arguments-forward-to-another-javascript-function –  * 개요 a()함수의 인수를 그대로 b함수로 넘기며 실행하되, b()함수의 인수의 갯수가 가변적일 경우에도 대응할 수 있도록  arguments 배열을 사용한다. function a(arg1, arg2, arg3){ b.apply(this, arguments); } function b(arg1, arg2, arg3){ alert(“arg1:”+arg1+”, arg2:”+arg2+”, arg3:”+arg3); } a(‘Jin’, ‘Nina’, ‘Paul’);   //테스트! * 응용 arguments 는 (객체)배열이므로 잘라내거나 병합할 수 있다. 응용해 보자!

자바스크립트 reset() 함수가 동작하지 않는다?!?!!

By | 3월 28, 2012

분명히 문법을 정확히 입력했음에도 왠지 javascript의 reset() 함수가 동작하지 않았었다. 왜일까…? 구글링을 해 보니  “reset() 함수는 폼엘리먼트의 내용을 비우는 것이 아니라 페이지 로딩시의 초기값으로 돌리는 기능을 한다”  라고 나와있었다. 그냥 싹 비우는 건 줄 알았는데 아니었어. >, <  결국 나름대로 제대로 동작하고 있던 것이었다.

[펌글] ThreadLocal 사용법과 활용

By | 3월 14, 2012

– 출처 : 최범균님의 자바캔 블로그 – 자바 1.2 버전부터 제공되고 있지만 아직 다수의 개발자들이 잘 몰라서 활용을 잘 못하는 기능이 하나 있는데, 그 기능이 바로 쓰레드 단위로 로컬 변수를 할당하는 기능이다. 이 기능은 ThreadLocal 클래스를 통해서 제공되는데, 본 글에서는 ThreadLocal 클래스의 기본적인 사용방법과 활용 방법을 살펴보도록 하겠다.ThreadLocal이란?일반 변수의 수명은 특정 코드 블록(예, 메서드 범위,… Read More »

Commons Logging과 Log4J

By | 3월 12, 2012

– 관련링크 : [스프링 3.0] 로깅은 SLF4J를 이용한 Log4J로                   Logging libraries – Facade   – 출처 : http://blog.naver.com/kotaeho0512/50033476064 –  ※ 출처 : 고수로 가는 지름길! Jakarta Project(최범균저) : 요약   1. Commons Logging   Commons Loggin API는 자카르타 Commons에 포함되어 있는 프로젝트들이 로거로 사용하는 API이다. Commons Logging API는 자체적으로 로깅 기능을… Read More »

[펌글] Java Fail-Fast Iterator

By | 2월 28, 2012

– 출처 :  http://entireboy.egloos.com/4024389 – Fail-fast는 어떠한 시스템이나 모듈에 잘못됐거나 문제가 생길 것 같을 때 바로 알려주는 특성을 나타낸다. 이는 언제 잘못될지 모르는 상태를 가지고 시스템을 계속 동작시키는 것 보다 평범하게 멈추는 것이 낫다는 생각에 기반한 것이다. 소프트웨어 공학에서 Iterator와 함께 사용된다. Fail Fast Iterator라고 하여 Iterator가 도는(?) 동안 Iterator가 변경되거나 하면 오류를 발생하도록 하는 것이다.… Read More »