2015년 2월 24일 화요일

calendar

boolean after(Object when)
- when과 비교하여 현재 날짜 이후이면 true, 아니면 false를 반환한다.
boolean before(Object when)
- when과 비교하여 현재 날짜 이전이면 true, 아니면 false를 반환한다.
boolean equals(Object obj)
- 같은 날짜값인지 비교하여 true, false를 반환한다.
int get(int field)
- 현재 객체의 주어진 값의 필드에 해당하는 상수 값을 반환한다.
- 이 상수값은 Calendar 클래스의 상수중에 가진다.
static Calendar getInstance()
- 현재 날짜와 시간 정보를 가진 Calendar 객체를 생성한다.
Date getTime()
- 현재의 객체를 Date 객체로 변환한다.
long getTimeInMills()
- 객체의 시간을 1/1000초 단위로 변경하여 반환한다.
void set(int field, int value)
- 현재 객체의 특정 필드를 다른 값으로 설정한다.
void set(int year, int month, int date)
- 현재 객체의 년, 월, 일 값을 다른 값으로 설정한다.
void set(int year, int month, int date, int hour, int minute, int second)
- 현재 객체의 년, 월, 일, 시, 분, 초 값을 다른 값으로 설정한다.
void setTime(Date date)
- date 객체의 날짜와 시간 정보를 현재 객체로 생성한다.
void setTimeInMills(long mills)
- 현재 객체를 1/1000초 단위의 주어진 매개변수 시간으로 설정한다.
int getActualMinimum(int field)
- 현재 객체의 특정 필드의 최소 값을 반환한다.
int getActualMaximum(int field)
- 현재 객체의 특정 필드의 최대 값을 반환한다.

2015년 2월 22일 일요일

random

- javascript random
- 자바스크립트 랜덤(난수) 값 생성 방법


@자바스크립트 랜덤 값 생성
Math.random();

@자바스크립트 소수를 정수로
Math.floor(소수);

@자바스크립트 특정 범위 내 난수 값 구하기
Math.floor((Math.random() * (최대값 - 최소값 + 1)) + 최소값);

ex) 1 ~ 100 사이에 난수 값
Math.floor((Math.random() * (100 - 0 + 1)) + 0);
[출처] [javascript] random 값 사용하는 방법|작성자 방배동남

2015년 2월 9일 월요일

numberFormat


숫자의 형식화를 위한 대표적인 클래스는 java.text.NumberFormat 클래스이다. 이는 java.text.Format 클래스를 상속 받고 있으며 각종 숫자에 대한 형식화를 할 수 있는 메쏘드들을 내장하고 있다.

NumberFormat 클래스는 여러 형태의 NumberFormat의 instance를 얻을 수 있는 getXxxInstance()등과 같은 static method들을 제공 하는데 이를 살펴보면 다음과 같다.

-. NumberFormat.getInstance() : NumberFormat의 기본 instance을 반환 한다. 이는 getNumberInstance()를 호출 하는 것과 같은 결과를 얻을 수 있다.

-. NumberFormat.getCurrencyInstance() : 이 메소드는 금액 앞에 통화기호를 그리고  각 단위마다 ","를 표현 할 수 있는 NumberFormat의 instance를 반환 한다.

-. NumberFormat.getPercentInstance() : 이 메소드는 숫자에 "%"를 표시 할 수 있는 instance를 반환 한다.

-. NumberFormat.getIntegerInstance() : 실수를 반 올림 해서 표현 할 수 있는 instance를 반환 한다.

위에 언급된 getXxxInstance()류는 모두 Default Locale을 사용 한 것이며 특정 Locale로 표현 하고 싶을 때는 NumberFormat.getInstance( Locale loc )등과 같이 Locale을 지정 해주면 된다.

1. 가장 기본이 되는 getInstance()를 사용한 예제.
    import java.text.NumberFormat;
    import java.util.Locale;
    public class NumberFormatTest{
        long long_01 = 1000000L;
        double double_01 = 1234567890.888;
        public void doInstance(){
            NumberFormat nf = NumberFormat.getInstance();
            print( nf, long_01 );
            print( nf, double_01 );
        }
        public void doNumberInstance(){
            NumberFormat nf = NumberFormat.getNumberInstance();
            print( nf, long_01 );
            print( nf, double_01 );
        }
        //가독성을 위해 long L로 사용함.
        private void print( NumberFormat nf, long L ){
            System.out.println( "format of long value : " + nf.format( L ) );
        }
        private void print( NumberFormat nf, double d ){
            System.out.println( "format fo double value : " + nf.format( d ) );
        }
        public static void main(String[] args) {
            NumberFormatTest nft = new NumberFormatTest();
            nft.doInstance();
            nft.doNumberInstance();
        }
    }
    결과 :
    ============================================
    format of long value : 1,000,000
    format fo double value : 1,234,567,890.888
    --------------------------------------------
    format of long value : 1,000,000
    format fo double value : 1,234,567,890.888
    ============================================
위의 결과에서 볼 수 있듯이 getInstance()를 사용 했을 때와 getNumberInstance()를 이용 했을 때 모두 같은 결과가 나온다는 것을 알 수 있다.

2. getCurrencyInstance()를 사용한 예제.
*/
    /*
    import java.text.NumberFormat;
    import java.util.Locale;
    public class NumberFormatTest{
        long long_01 = 1000000L;
        double double_01 = 1234567890.8888889;
        public void doCurrencyUsingDefaultLocale(){
            NumberFormat nf = NumberFormat.getCurrencyInstance();
            print( nf, long_01 );
            print( nf, double_01 );
            //소수점 이하 최대 자리를 지정한다.
            nf.setMaximumFractionDigits( 3 ) ;
            print( nf, double_01 );
        }
        public void doCurrencyUsingSpecificLocale(){
            NumberFormat nf = NumberFormat.getCurrencyInstance( Locale.JAPAN );
            print( nf, long_01 );
            print( nf, double_01 );
            nf = NumberFormat.getCurrencyInstance( Locale.US );
            print( nf, long_01 );
            print( nf, double_01 );
           
            //소수점 이하 최대 자리를 지정한다.
            nf.setMaximumFractionDigits( 1 ) ;
            print( nf, double_01 );
        }
        //가독성을 위해 long L로 사용함.
        private void print( NumberFormat nf, long L ){
            System.out.println( "format of long value : " + nf.format( L ) );
        }
        private void print( NumberFormat nf, double d ){
            System.out.println( "format of double value : " + nf.format( d ) );
        }
        public static void main(String[] args) {
            NumberFormatTest nft = new NumberFormatTest();
            nft.doCurrencyUsingDefaultLocale();
            nft.doCurrencyUsingSpecificLocale();
        }
    }
    */
    /*
    결과 :
    =========================================
    format of long value : ₩1,000,000
    format of double value : ₩1,234,567,891
    format of double value : ₩1,234,567,890.889
    -----------------------------------------
    format of long value : ¥1,000,000
    format of double value : ¥1,234,567,891
    -----------------------------------------
    format of long value : $1,000,000.00
    format of double value : $1,234,567,890.89
    format of double value : $1,234,567,890.9
    ========================================
결과를 살펴 보면 해당 국가의 통화 기호가 앞에 표시 되는 걸 볼 수 있다. 특이한 것은 바로 이전의 예제와는 달리 setMaximumFractionDigits( int value )이라는 메소드가 사용 된 점이다.
setMaximumFractionDigits( int value) 는 최대로 표현 할 수 있는 소수점 이하 자리를 지정 할 때 사용된다. 이 메소드를 사용 하면 지정한 바로 다음 소수자리에서 반올림이 되고 그 이하 자리는 가차 없이 버려진다.

3. getPercentInstance()를 사용한 예제.
*/
    import java.text.NumberFormat;
    import java.util.Locale;
    public class NumberFormatTest{
        long long_01 = 3L;
        double double_01 = 0.897659;
        public void doPercentInstanceUsingDefaultLocale(){
            NumberFormat nf = NumberFormat.getPercentInstance();
            print( nf, long_01 );
            //최소한 표현 되어야 할 소수 자리를 지정한다.
            nf.setMinimumFractionDigits(1);
            print( nf, long_01 );
            print( nf, double_01 );
            //소수점 이하 최대 자리를 지정한다.
            nf.setMaximumFractionDigits( 3 ) ;
            print( nf, double_01 );
        }
        //가독성을 위해 long L로 사용함.
        private void print( NumberFormat nf, long L ){
            System.out.println( "format of long value : " + nf.format( L ) );
        }
        private void print( NumberFormat nf, double d ){
            System.out.println( "format of double value : " + nf.format( d ) );
        }
        public static void main(String[] args) {
            NumberFormatTest nft = new NumberFormatTest();
            nft.doPercentInstanceUsingDefaultLocale();
        }
    }
    /*
    결과 :
    ===========================================
    format of long value : 300%
    format of long value : 300.0%
    -------------------------------------------
    format of double value : 89.8%
    format of double value : 89.766%
    ===========================================
결과는 위와 같다. 여기서는 setMinimunFractionDigits( int value )라는 메소드가 사용 되었는데 이는 최소한 표현을 해야 하는 소수점 이하 자리를 지정한다. 이를 지정하지 않으면 정수의 경우 소수점은 표시 되지 않는다.  getPercentInstance()를 사용하면 퍼센트(%)로 형식화 하는데 아주 편리하다.

이외에도 유용한 메소드로는 setGroupingUsed( boolean used )라는 메소드가 있는데 이 메소드를 통해 1000단위로 ","의 사용 여부를 결정해서 쓸 수 있다.

====================================
2002.12.03-00:10 너부리 - 최인국(희선)

2015년 2월 5일 목요일

컬럼추가,수정


// 컬럼 추가
alter table t_show_content add(add_column_name varchar2(20));

// 컬럼명 수정
alter table table_name rename column before_column to after_column;


// 컬럼명, 타입 변경
alter table (테이블명) change (원 컬럼명) (수정 컬럼명) (수정 속성);

// 컬럼 타입 수정
alter table (테이블명) modify (컬럼명) (수정속성);

// 테이블 수정
alter table (테이블명) rename (수정 테이블명);

-Alter table(제약조건 추가, 제약조건 삭제)
제약조건 추가
Alter table 테이블명 add constraint 제약조건이름 제약조건;

EX) primary key 제약조건 추가
SQL>alter table emp add constraint emp_empno_pk primary key(empno);
(암시적으로 primary key에는 unique index가 생성된다.)

EX) foreign key 제약조건 추가
SQL>alter table emp add constraint emp_mgr_fk foreign key(mgr) references emp(empno);

주의 할 점 : not null 제약조건은 add가 아니라 modify 옵션을 써서 추가한다.
Alter table 테이블명 modify (컬럼명 constraint 제약조건이름 NOT NULL);
SQL>alter table emp modify (ename constraint emp_ename_nn NOT NULL);

2015년 2월 4일 수요일

2015년 2월 2일 월요일

컬럼추가

// 먼저 컬럼 추가구문.

ALTER TABLE '테이블명' ADD '추가할컬럼명' '속성'
GO
ex) Alter Table Board ADD Board_name Varchar(20) null
ex) ALTER TABLE Board ADD Board_name Varchar(20) NOT NULL CONSTRAINT DF_ADDR DEFAULT '서울'

// 컬럼을 추가할때는 null값을 허용하는 값이나 default 값이 정해져 있는것만 가능하다.

// 컬럼수정

ALTER TABLE '테이블명' ALTER COLUMN '컬럼명' '변경할 속성'
GO
ex) Alter table Board Alter column Board_name Varchar(30) null

// 컬럼명 수정

EXEC SP_RENAME '테이블명.[수정할컬럼명]','수정될이름','COLUMN'
ex)sp_rename 'setting_view.[use_checked]','use_check','COLUMN'



// 컬럼삭제

ALTER TABLE '테이블명' DROP COLUMN '삭제할컬럼명'
GO
ex) Alter table Board Drop Column Board_name

테이블삭제는 간단하다.
Drop table '테이블명'

jstl > jsp

<c:set var="myTest" value="testValue"/>
<!--<c:out value="${myTest}" /> -->
<%=pageContext.getAttribute("myTest") %>

<c:set var="anotherTest" value="anotherValue" scope="request"/>
<!--<c:out value="${anotherTest}" />-->
<%=request.getAttribute("anotherTest") %>

2015년 2월 1일 일요일

function

fn:contains(string, sbustring) 
// string이 substring을 포함하면 return True
fn:containsIgnoreCase(string, sbustring) 
// 대소문자 관계없이 string이 substring을 포함하면 return True
fn:endsWith(string, suffix) 
// string이 suffix로 끝나면 return True
fn:escapeXml(string)
// string에 XML과 HTML에서 특별한 의미를 가진 문자들이 있으면, XML엔티티 코드로 바꿔준뒤 문자열 반환
fn:indexOf(string, sbustring)
// string에서 substring이 처음으로 나타나는 인덱스 반환
fn:join(array, separator)
// array요소들을 separator를 구분자로 하여 연결해서 반환
fn:length(item)
// item이 배열이나 컬렉션이면 요소의  갯수를 문자열이면 문자의 갯수를 반환
fn:replace(string, before, after)
// string내에 있는 before 문자열을 after 문자열로 모두 변경해서 반환
fn:split(string, separator)
// string내의 문자열 separetor에 따라 나누어서 배열로 구성해서 반환
fn:startsWith(string, prefix)
// string이 prefix로 시작하면 return True
fn:substring(string, begin, end)
// string에서 begin인덱스에서 시작해서 end인덱스에 끝나는 부분의 문자열 반환
fn:substringAfter(string, sbustring)
// string에서 substring이 나타나는 이후의 문자열 반환
fn:substringBefore(string, sbustring)
// string에서 substring이 나타나는 이전의 문자열 반환
fn:toLowerCase(string)
// string을 모두 소문자로 바꿔 리턴
fn:toUpperCase(string)
// string을 모두 대문자로 바꿔 리턴
fn:trim(string)
// string앞뒤의 공백을 모두 제거하여 반환

varStatus

<c:forEach items="${result}" var="result" varStatus="status">
${status.current}<br/> <!-- 현재 아이템 -->
${status.index}<br/> <!-- 0부터의 순서 -->
${status.count}<br/> <!-- 1부터의 순서 -->
${status.first}<br/> <!-- 현재 루프가 처음인지 반환 -->
${status.last}<br/> <!-- 현재 루프가 마지막인지 반환 -->
${status.begin}<br/> <!-- 시작값 -->
${status.end}<br/> <!-- 끝값 -->
${status.step}<br/> <!-- 증가값 -->
</c:forEach>