관리자 ID일 경우 로그인 할 때 사외 IP로 접근 시에 로그인이 되지 않도록 해둔 로직이 있었는데, 어느 순간부터 사내에 있는 PC로 접근했는데도 로그인이 되지 않는 일이 발생했습니다. 문제를 찾아보니 웹 서버에 접근할 때 L4(Load balancing)이나 Proxy 서버 등을 사용할 때 request.getRemoteAddr(); 로 IP를 가져오면 Client IP가 아니라 L4나 Proxy 서버의 IP를 가져오는 것을 알 수 있었습니다. 이런 장비들의 경우 Client IP를 Header에다가 남겨둔다고 합니다. 따라서, Client IP를 가져오기 위해서는 다음과 같은 로직을 사용해야 합니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 2..
일을 하고 있던 와중에 배열에서 value 값을 찾아서 삭제해야 하는 경우가 생겼습니다. 그래서 열심히 구글링을 해보니 아래와 같은 방법이 있었습니다. 12345678910111213141516171819202122232425262728293031Array.prototype.remove = function() { var what, a = arguments, L = a.length, ax; while (L && this.length) { what = a[--L]; while ((ax = this.indexOf(what)) !== -1) { this.splice(ax, 1); } } return this;}; var ary = ['three', 'seven', 'eleven']; ary.remove('sev..
가끔 일하다보면 결과값이 여러개가 나온 쿼리 중에 하나 만을 골라야할 때가 있습니다. 그런데, 하필 불행하게도 후진 프레임워크를 맞이하게 되었거나 불가피하게 SQL문의 결과로 나온 결과값을 Map에 담지 못했다고 가정해 보겠습니다. 이럴 때면 여러 조건들을 추가해서 나오는 결과값을 줄여주거나 DISTINCT를 통해 중복값을 없애주거나 ROWNUM을 넣어서 결과값이 SQL문으로 감싸 그 중 ROWNUM값이 1인 것을 선택해주는 방식이 있을겁니다. 지금 제가 적으려는 방식은 ROWNUM을 컬럼에 넣지 않고 바로 ROWNUM을 사용하는 방식입니다. 1SELECT * FROM JOBS WHERE ROWNUM = 1 ORDER BY MAX_SALARY;cs 이런 식으로 사용하면 ROWNUM을 컬럼에 넣지 않고도 ..
SOAP(Simple Object Access Protocol)은 일반적으로 널리 알려진 http, https 등을 통해 XML 기반의 메시지를 컴퓨터 네트워크 상에서 교환하는 프로토콜입니다. SOAP에는 여러가지 방식이 있는데, 여기서는 간단하게 구성하여 XML메시지를 날리는 형태를 소개하겠습니다. 그리고 이 소스 코드를 구성할 때 URL이 HTTPS라서 SSL 인증에서 에러가 발생했는데, 이에 대한 해결법과 Weblogic 서버에서 사용될 수 있도록 구성 된 예제를 제공하도록 하겠습니다. 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646..
- Total
- Today
- Yesterday