..
DEV (257)
null을 공백으로 처리
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
#unitno:VARCHAR:''#

null이 들어온 경우 공백으로 처리하기

'DEV > DB' 카테고리의 다른 글

DBLINK 생성  (0) 2010.08.10
오라클에서 테이블의 제약조건 확인하기  (0) 2010.06.15
oracle error code  (0) 2010.03.10
  Comments,     Trackbacks
오라클에서 테이블의 제약조건 확인하기
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
[출처] http://mostmax.egloos.com/3053351

일단 테이블에 어떤 제약조건이 걸려 있는지, 제약조건의 이름을 알아낸다.

SELECT table_name, constraint_name, constraint_type
        FROM   USER_CONSTRAINTS
        WHERE TABLE_NAME ='테이블명';


결과 ------------------------------

TABLE_NAME      CONSTRAINT_NAME    C
--------------   --------------------    -
TRS_RESERVE     TRS_RESERVE_PK      P



만약 특정 테이블에 걸려 있는 모든 제약조건을 알아보려면 다음을 실행한다.

SELECT  SUBSTR(A.COLUMN_NAME,1,15) COLUMN_NAME, DECODE(B.CONSTRAINT_TYPE, 'P','PRIMARY KEY', 'U','UNIQUE KEY', 'C','CHECK OR NOT NULL', 'R','FOREIGN KEY') CONSTRAINT_TYPE, A.CONSTRAINT_NAME   CONSTRAINT_NAME
        FROM  USER_CONS_COLUMNS  A,  USER_CONSTRAINTS  B  
        WHERE  A.TABLE_NAME = UPPER('&table_name')  
            AND  A.TABLE_NAME = B.TABLE_NAME  
            AND  A.CONSTRAINT_NAME = B.CONSTRAINT_NAME  
        ORDER BY 1;  



결과 ---------------------------------------

COLUMN_NAME   CONSTRAINT_TYPE   CONSTRAINT_NAME
--------------   -----------------       -------------------
CATGID             PRIMARY KEY            TRS_RESERVE_PK
COMPID             PRIMARY KEY            TRS_RESERVE_PK
RSID                 PRIMARY KEY            TRS_RESERVE_PK
RVID                 PRIMARY KEY            TRS_RESERVE_PK

'DEV > DB' 카테고리의 다른 글

null을 공백으로 처리  (0) 2010.07.13
oracle error code  (0) 2010.03.10
oracle procedure status invalid  (0) 2010.02.24
  Comments,     Trackbacks
접근성을 해치지 않는 자바스크립트의 사용 - 신현석(Hyeonseok Shin)
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

'DEV > html/css/js/img' 카테고리의 다른 글

[jquery Events trigger] 트리거  (0) 2010.08.02
Global Object : javastring 내장 객체  (0) 2010.05.03
Boolean : javascript 내장 객체  (0) 2010.05.03
  Comments,     Trackbacks
Global Object : javastring 내장 객체
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

Infinity 무한수를 의미한다.
NaN Not a Number. 숫자가 아님을 의미
escape() Encoding함수
eval() 문자열을 수식으로 간주하여 계산한다.
isFinite() 유한수인지 Test한다.
isNaN() 숫자가 아닌지(NaN) Test한다.
parseFloat() 문자열을 소수로 변경
parseInt() 문자열을 정수로 변경
unescape Decoding함수

[출처] http://deadfire.hihome.com/jscript/jscript20.html
  Comments,     Trackbacks
Boolean : javascript 내장 객체
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
참인 경우

var myBoolean=new Boolean(true);
var myBoolean=new Boolean("true");
var myBoolean=new Boolean("false");
var myBoolean=new Boolean("Richard"); //String 값이 있거나 true 인경우

거짓인 경우

var myBoolean=new Boolean();
var myBoolean=new Boolean(0);
var myBoolean=new Boolean(null);
var myBoolean=new Boolean("");
var myBoolean=new Boolean(false);
var myBoolean=new Boolean(NaN);

[레퍼런스] http://www.w3schools.com/js/js_obj_boolean.asp

'DEV > html/css/js/img' 카테고리의 다른 글

Global Object : javastring 내장 객체  (0) 2010.05.03
date : javascript 내장 객체  (0) 2010.05.03
프린트(print)에 관련된 내용 정리  (0) 2010.04.29
  Comments,     Trackbacks
date : javascript 내장 객체
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

자바스크립트에서 현재 시간을 만들게 되면, 브라우저의 시간을 가져오게 된다는 점이다. 그 브라우저의 시간이라는 것이 곧 윈도우즈의 시간을 의미한다. 이 윈도우즈의 시간이라는 것은 사용자가 언제든 변경할 수 있는 값이다. 바로 여기에 문제가 있다. 일부 개발자들은 사용자들의 현재 시간을 자바스크립트로 구해서 서버 프로그램에서 사용하는 경우가 있는데 대단히 위험한 발상이다.

[출처] http://deadfire.hihome.com/jscript/jscript15.html

[레퍼런스] http://www.w3schools.com/jsref/jsref_obj_date.asp
  Comments,     Trackbacks
프린트(print)에 관련된 내용 정리
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.


1. jquery : jquery에서 프린트 관련 플러그인을 제공함. ( jquery.jqprint.0.3.js )

데모 페이지 : http://www.recoding.it/wp-content/uploads/demos/jqprint-demo.htm

2. 페이지 오픈시 자동으로 프린트 dialogue box가 열리도록 하기

  function printpage() {

  window.print();

  }
<body onload="printpage()">

혹은

window.onload = function(){ window.print(); }

3. frame안의 내용만 프린트 하기

if(window.print){

top.otherframe.focus();

top.otherframe.print();

}

4. css : print 모드에서만 적용되는 css

<style type="text/css" media="print">
  .print_close {display:none;}
 </style>

5. 참고 URL

- javascript print 관련 qna 를 정리한 사이트 :
http://www.irt.org/script/print.htm


http://www.cadvance.org/?leftmenu=doc/include/total_menu.asp&mainpage=doc/java/object/iframe_object.asp

  Comments,     Trackbacks
Content is not allowed in prolog.
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
정보: Starting Servlet Engine: Apache Tomcat/6.0.16

2008. 12. 30 오전 11:13:32 org.apache.tomcat.util.digester.Digester fatalError

심각: Parse Fatal Error at line 1 column 1: Content is not allowed in prolog.

org.xml.sax.SAXParseException : Content is not allowed in prolog.

at org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)

at org.apache.xerces.util.ErrorHandlerWrapper.fataError(Unknown Source)


이클립스 콘솔창에 위와 같은 에러가 발생하였다.
이유는 XML 파일은 파싱하지 못해서 생기는 문제 였다...

전날에 변경했던 project의 xml 파일들을 확인해 보았는데..별 이상이 없었는데..

톰캣의 server.xml이 잘못 저장이 되어 파싱이 안되고 있다는걸 확인하고 다시 설치하였다.

'DEV > 개발관련 툴' 카테고리의 다른 글

Eclipse Task  (0) 2010.08.13
log4j  (0) 2010.03.11
tomcat vm arguments : permsize  (0) 2010.02.19
  Comments,     Trackbacks
HttpSessionBindingListener와 HttpSessionAttributeListener
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

리스너라? 어떠한 특정 이벤트가 발생하면 실행이되도록 web.xml에 추가
어떠한 특정 이벤트가 발생하면 ? 이란걸 어떻게 알까? 이미 구현되어 있는 인터페이스를 사용하자.
이미 존재한 인터페이스는 아래 정리가 되어 있음....

HttpSessionAttributeListener는 세션에 어떤 속성이 추가, 제거, 수정되는 이벤트가 발생하는지 알고 싶을 때 사용한다. 반면에 HttpSessionBindingListener는 자신이 세션에 속성으로 추가되었는지, 제거 되었는지 알기 위하여 사용한다.

HttpSessionAttributeListener 인터페이스를 구현한 클래스를 web.xml의 리스너로 등록하여 현재 로그인시 online_user를 추가하고 로그아웃시 삭제 해준다.

자신이 원하는 로직으로 구현하기 위해서는 HttpSessionAttributeListener 인터페이스를 상속하여 재정의 하여 사용하면 된다.

[출처] http://www.4te.co.kr/549

리스너는 컨테이너가 애플리케이션과 HTTP 세션에 관련된 어떤 동작을 할 때마다
개발자가 정의한 다른 코드를 실행 가능하도록 만든 장치이다.
[세션리스너]
[javax.servlet.http.HttpSessionBindingListener]
[메소드]
valueBound(event) :: 객체가 세션에 추가되고 있음을 알림
valueUnbound(event) :: 객체가 세션에서 제거되고 있음을 알림
valueBound()메소드가 자동호출되고, 그 객체가 세션에서 빠지면 valueUnbound()
메소드가 자동으로 호출된다.
[javax.servlet.http.HttpSessionActivationListener]
이 기능을 지원하는 서버는 로드 밸런싱을 적절히 수행하여, 같은 컴퓨터
다수의 컴퓨터에 떠있는 여러 개의 JVM 사이서 세션을 주고 받게 할수 있다.
[메소드]
sessionDidActivate(event) :: 세션이 액티브 상태가 되었음을 알림
sessionWillPassivate(event) :: 세션이 패시브 상태가 되었음을 알림
어떤 세션이 다른 JVM 에 옮겨질 목적으로 저장된 것을 패시브 상태라고 하고
세션이 다른 JVM 으로 전송된 후에는 액티브 상태가 된다.
위의 두 리스너는 컨테이너에 따로 등록할 필요가 없다.
만들어 놓으면 이벤트 처리가 자동으로 된다.
[javax.servlet.http.HttpSEssionListener]
세션의 생성과 소멸을 나타내는 이벤트를 알리는 기능
[메소드]
sessionCreated(event) :: 세션이 메모리에 올라오고 초기화되었음을 알림
sessionDestroyed(event) :: 세션이 메모리에서 없어졌음을 알림
[javax.servlet.http.HttpSessionAttributeListener]
세션 속성에 관련된 이벤트 처리
[메소드]
attributeAdded(HttpSessionBindingEvent event)
:: 새 세션 속성에 값이 대입되었음을 알림
attributeReplaced(HttpSessionBindingEvent event)
:: 기존재 세션 속성에 새 값이 대입되었음을 알림
attributeRemoved(HttpSessionBindingEvent event)
:: 세션 속성이 제거 되었음을 알림.
event.getName() / event.getValue() 속성과 초기값 반환
HttpSessionAttributeListener HttpSessionBindingListener 는 동작상의
유사함을 가지고 있으나 가장 큰 차이점HttpSessionBindingListener
세션에 추가되는 객체가 직접 구현하지만 HttpSessionAttributeListener
구현하는 클래스는 세션에 직접 들어가지 않아도 된다는 점이다.
[애플리케이션 리스너]
[javax.servlet.ServletContext]
모든 서블릿과 JSP 페이지들이 공유한다는 점으로 오랜시간 사용해야하는
전역 리소스를 저장하는 장소
[메소드]
contextInitialized(ServletContextEvent event)
:: 애플리케이션이 로드되고 초기화됨을 알림
contextDestroy(ServletContextEvent event)
::애플리케이션이 언로드됨을 알림
[javax.servletServletContextAttributeListener]
[메소드]
attributeAdded(ServletContextAttributeEvent event)
:: 새 애플리케이션 속성에 값이 대입 되었음을 알림
attributeReplaced(event)
:: 이미 있는 애플리케이션 속성에 새 값 대입되었음을 알림
attributeRemoved(event) :: 애플리케이션 속성 제거되었음을 알림

[출처] http://happy2ni.egloos.com/2837900

'DEV > java' 카테고리의 다른 글

iterate  (0) 2010.07.13
encoding  (0) 2010.04.15
LinkedHashMap  (0) 2010.04.08
  Comments,     Trackbacks
JQuery AlphaNumeric Plugin 한글 문제 수정
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

[출처] http://suyeong.net/
웹페이지 개발하다보면 숫자만 입력받는 경우나 문자만 입력받아야 하는 경우가 종종 있는데

 

Native Javascript로 구현할 수도 있겠지만

JQuery를 사용한다면 Plugin을 이용하면 JQuery의 Selector를 사용할 수 있어서 좋습니다.

 

숫자나 영문자만 입력받거나, 추가로 일부 특수문자도 입력허용하도록 하는
jQuery AlphaNumeric 라는 Plugin을 찾았는데 문제가 좀 있네요.

 

개발자 하신 분이 이역만리에 떨어져 있는 사람들까지는 미처 신경쓰지 못해

숫자만 입력받도록 하든 영문자만 입력받도록 하든 한글은 써집니다.

그리고 어떤 이유에서 인지는 모르겠으나... Underscore('_') 도 항상 허용됩니다.


그래서 조금 수정을 했습니다.

 

먼저 한글문제를 해결하기 위해서 강조된 2군데 라인을 찾아서 (원본 기준으로 60, 76 라인입니다.)

01.$.fn.numeric = function(p) {
02.    var az = "abcdefghijklmnopqrstuvwxyz";
03.    az += az.toUpperCase();
04.    p = $.extend({
05.        nchars: az
06.      }, p);   
07.    return this.each (function()
08.        {
09.  
10.            $(this).alphanumeric(p);
11.        }
12.    );
13.};
14.  
15.$.fn.alpha = function(p) {
16.    var nm = "1234567890";
17.    p = $.extend({
18.        nchars: nm
19.      }, p);   
20.    return this.each (function()
21.        {
22.  
23.            $(this).alphanumeric(p);
24.        }
25.    );  
26.};

 

이렇게 수정합니다.

1.return this.each (function()
2.    {
3.        $(this).css('ime-mode', 'disabled');
4.        $(this).alphanumeric(p);
5.    }

 

다음, Underscore는 원본기준 6번 라인에 특수문자가 죽 나열되어 있는 곳에 아래같이 underscore 를 하나 끼워 넣습니다.

1.p = $.extend({
2.    ichars: "!@#$%^&*()+=[]\\\';,/{}|\":<>?~`.-_ ",
3.    nchars: "",
4.    allow: ""
5.  }, p);

 

아래는 간단한 사용법입니다.


  1. 숫자만 입력 허용
    1.$('#test').numeric();
  2. 영문자만 입력 허용
    1.$('#test').alpha();
  3. 영문 + 숫자 입력 허용
    1.$('#test').alphanumeric();
  4. 숫자 + comma + dot 입력 허용 (위에서 막아버린 underscore 도 필요한 경우 아래와 같이 allow에 추가 하면 됩니다.)
    1.$('#test').numeric({allow:".,"});

 


  Comments,     Trackbacks