정규식 .

2012. 8. 24. 12:28


1. 정규식이란?

  • String의 검색치환추출을 위한 패턴.
  • 언어별 사용법은 대동소이함.
  • 패턴예>전화번호 형식, 이메일 형식 등.

2. 정규식 만들기

  1. Javascript
    • var regexp = /pattern/[flags] ;
      var test = regexp.test(to be checked)
    • var regexp = new RegExp("pattern"[, "flags"]);
      var test = regexp.test(to be checked)
    • flags for javascript
      • g : global match, 일반적으로 패턴이 1번만 발견되면 찾기를 종료하지만, g flag가 있으면, 문자열 내에서 모든 패턴을 찾는다.
      • i : ignore case, 대소문자를 고려하지 않고 체크한다.[a-z]와 [A-Z]는 같은 표현이 된다.
      • m : match over multiple lines, 여러 줄에 걸쳐 체크를 한다.
  2. Java
    • java.util.regex package
    • Pattern p = Pattern.compile("pattern"); 
      Matcher m = p.matcher("string to be checked"); 
      boolean b = m.matches();
    • boolean b = Pattern.matches("pattern""string to be checked");

3. 정규식 표현법

*는 valid, 는 invalid
*형광 초록 바탕 부분은 매칭되는 부분.
*예제는 javascript 기준이며, 언어에 따라 다소 차이가 발생할 수 있다.
문자용도예제
\
  • 특수문자를 의미
  • 특수문자의 사용을 제외(특수문자 앞에서)
  • b는 b라는 글자를 의미 하지만 \b는 단어 경계를 의미
  • *은 0번이상 반복이라는 의미이지만, \*는 *이라는 글자를 의미.
^문자열의 시작. []안에서는 not의 의미
* ^A는 "A로 시작"이라기 보다는 "시작 직후에 A가 나온다"는 의미로 해석하는 것이 좋다. 즉, 시작과 끝과 같은 빈 공간을 하나의 문자로 간주하는 것이 좋다.
/^A/g
  • A string
  • an A
/[^A]/g
  • A string
  • an A
$문자열의 마지막
/t$/
  • eat
  • GREAT
*0번 이상 반복/ab*d/g
  • ad
  • abd
  • abdcdeabbbbdedb
  • ab
  • axd
+1번 이상 반복 ( = {1,} )/ab+d/g
  • ad
  • abd
  • abdcdeabbbbdedb
  • ab
  • axd
?0번 이나 1번/e?le?/g
  • angel
  • angle
  • element
/abc\-?d/g
  • abc-d
  • abcd
.new line 을 제외한 모든 글자/.n/g
  • nay, an apple is on the tree
  • nay
(x)x를 체크하고 체크한 값을 변수로 저장/(f..) (b..)/
  • foo bar
    1th :foo
    2th :bar
(?:x)x를 체크하고 체크한 값을 변수로 저장하지 않음/(?:f..) (b..)/
  • foo bar
    1th :bar
  • bar foo
x|yx 또는 y/green|red/
  • green apple
  • red apple
  • yellow apple
x(?=y)x후에 y가 나오고, x부분만 매칭되는 부분으로 간주/blah(?=soft|hard)/
  • blahsoft
  • blahhard
  • blah soft
/blah(?=soft).*/
  • blahsoft
  • blahhard
  • blah soft
x(?!y)x가 나오고 그 뒤에 y가 있으면 안 됨/blah(?!hard)/
  • blahsoft
  • blahhard
  • blah soft
{n}앞에 지정한 것이 n개/.{3}/
  • ab
  • abc
  • abcd
  • 홍길동
{n,}앞에 지정한 것이 n개 이상/.{3,}/
  • ab
  • abc
  • abcd
{n,m}앞에 지정한 것이 n~m개/.{3,5}/
  • ab
  • abc
  • abcd
  • 홍길동
[xyz]x나 y나 z. []안에는 얼마든지 쓸 수 있다./[abc]{2}/
  • ab
  • abc
  • adbd
[x-z]x에서 z까지/[a-z]{4,}/g
  • She sells sea shells by the sea shore는 Very 어렵다!
[^xyz]x,y,z를 제외한 나머지 모든 것/[^a-z]{2,}/g
  • I'm a good man
  • am A good Man
[\b]백스페이스. \b와 혼동하지 말것./[\b]/g
  • abcd
일반적인 String에서는 \b가 백스페이스를 의미한다.
\b단어의 경계.[\b]와 혼동하지 말것./\bn[a-z]/g
  • I am not a boy
  • online
  • nope
\B\b 를 제외한 전부/\Bn[a-z]/g
  • noonday
  • online
  • nope
\cX컨트롤X와 매칭. \cM은 컨트롤M과 매칭
\d숫자.[0-9]와 같음/\d/g
  • 7 eight 9
  • 123
/^0[0-9]{2}/g
  • 0120
  • 12011
\D\d 를 제외한 전부/\D/g
  • 7 eight 9
  • 12?3
\fform-feed
\nnew line
\rcarriage return
\swhite space
ex>탭, 띄어쓰기, \n, \r
/k\s/g
  • korea
  • blanis
  • blank
\S\s 를 제외한 전부/k\S/g
  • korea
  • blank is
\t
\vvertical tab
\w알파벳+숫자+_. [A-Za-z0-9_]와 동일/\w/g
  • !@#$%^&*()+_-[]{}\|"':;,.<>?/
\W\w 빼고 전부/\W/g
  • !@#$%^&*()+_-[]{}\|"':;,.<>?/
\n\n이 자연수일때, ()로 지정한 n번째 정규식/(.{2})e tru\1 is out \1ere/
  • the truth is out there ...
    1th :th
(th)가 \1로 지정된다.
\xhhhh는 hexacode,/[\x21-\x40]/g
  • !@#$%^&*()po
Code table 보기
\uhhhhhhhh는 hexacode,/[\u3131-\u3163\uac00-\ud7a3]/g
  •  blah .
코드 번호> 3131:ㄱ 3163:ㅣ ac00:가 d7a3:힣 (javascript, java)

4. 정규식 사용 예제

/^[0-9]/
  • 09없다
  • 100점
  • 집이 10평
/^\w+$/
  • blahsoft
  • blah(co)
  • blah soft
/^[a-zA-Z][\w\-]{4,11}$/
  • blah2010
  • blah-2010!
  • 2010blah
  • ILikegoooooooooooooooooogle
/^[0-9]{2,3}-[0-9]{3,4}-[0-9]{4}/
  • 02-6288-2114
  • 031-779-7114
  • 12-1234-5678
  • 02-6288-2114545
  • 02-0288-2114
/^0\d{1,2}-[1-9]\d{2,3}-\d{4}$/
  • 02-6288-2114
  • 031-779-7114
  • 12-1234-5678
  • 02-2123-12314545
  • 02-0288-2114
/^[\.a-zA-Z0-9\-]+\.[a-zA-Z]{2,}/
  • r-d.blah.co.kr
  • r-d.blah.co.kr입니다.
  • blah..co.kr
  • a.com
/^(?:[\w\-]{2,}\.)+[a-zA-Z]{2,}$/
  • r-d.blah.co.kr
  • r-d.blah.co.kr입니다.
  • blah..co.kr
  • a.com
/^[_a-zA-Z0-9\-]+@[\._a-zA-Z0-9\-]+\.[a-zA-Z]{2,}/
  • abc@haha.co.kr
  • abc@haha..co.kr
  • hwang@a.com
/^[\w\-]+@(?:[\w\-]{2,}\.)+[a-zA-Z]{2,}$/
  • abc@haha.co.kr
  • abc@haha..co.kr
  • hwang@a.com
/^([a-z]+):\/\/((?:[a-z\d\-]{2,}\.)+[a-z]{2,})(:\d{1,5})?(\/[^\?]*)?(\?.+)?$/i
  • http://www.blah.co.kr/main/index.jsp?var=value
    1th :http
    2th :www.blah.co.kr
    3th :undefined
    4th :/main/index.jsp
    5th :?var=value
  • http://www.blah.co.kr/main/index.jsp
    1th :http
    2th :www.blah.co.kr
    3th :undefined
    4th :/main/index.jsp
    5th :undefined
  • http://blah.co.kr/
    1th :http
    2th :blah.co.kr
    3th :undefined
    4th :/
    5th :undefined
  • http://blah.co.kr
    1th :http
    2th :blah.co.kr
    3th :undefined
    4th :undefined
    5th :undefined
  • http://blah.co.kr:8088/main/
    1th :http
    2th :blah.co.kr
    3th ::8088
    4th :/main/
    5th :undefined
/^[ㄱ-ㅣ가-힣]+$/
  • 티맥스소프트
  • ㅜㅜ
  • ㅎㅎ

5. Javascript 정규식 함수

함수코드예제코드설명
Array RegExp.exec (to be checked)

var myRe=/d(b+)(d)/ig;
var myArray = myRe.exec("cdbBdbsbz");

/d(b+)(d)/gi

  • cdbBdbsbz
    1th :bB
    2th :d
myArray.index =1 ; (처음으로 매칭되는 위치, 컴터가 늘 그렇듯 위치는 0번째부터 센다.)
myArray.input = cdbBdbsbz; (체크할 대상)
myArray[0] = dbBd;(검사에 통과한 부분)
myArray[1] = bB;(1번째 괄호에서 체크된 부분)
myArray[2] = d;(2번째 괄호에서 체크된 부분)

myRe.lastIndex =5 ; (다음번 체크를 하기위한 위치.)
myRe.ignoreCase = true; (/i 플래그 체크)
myRe.global = true; (/g 플래그 체크)
myRe.multiline = false; (/m 플래그 체크)

RegExp.$_ = cdbBdbsbz;(입력한 스트링)
RegExp.$1 = bB;(1번째 괄호에서 체크된 부분 )
boolean RegExp.test(to be checked)

var myRe=/d(b+)(d)/ig;
var checked = myRe.test("cdbBdbsbz");
document.write("checked = " + checked +";<br>");

/d(b+)(d)/gi

  • cdbBdbsbz
    1th :bB
    2th :d
실행결과: checked = true;
String RegExp.toString()

var myRe=/d(b+)(d)/ig;
var str = myRe.toString();
document.write(str);

실행 결과: /d(b+)(d)/gi
String String.replace(pattern or stringto be replaced)

var str = "abcdefe";
document.write(str.replace("e" , "f"));
실행 결과: abcdffe 

e가 2번 있지만, 첫번째 인자가 정규식이 아니라 문자열일 경우는 첫번째 것만 바꾼다.

var str = "aba";
document.write(str.replace(/^a/ , "c"));
실행 결과: cba

var re = /(\w+)\s(\w+)/;
var str = "John Smith";
newstr = str.replace(re, "$2, $1");
document.write(newstr)
실행 결과: Smith, John 

re에 의해서 찾아진 문자열 들은 re에서 ()로 표현된 순서대로 $1, $2와 같이 변수로 저장된다.

var re = /\s(?:http|https):\/\/\S*(?:\s|$)/g;
var str = "url is http://iilii.egloos.com/ !!\n";
str += "blah home: http://www.blah.co.kr";
newstr = str.replace(re, function (str,p1,offset,s) {
     return "<a href='" + str + "'>" + str + "</a>";
  }
).replace(/\n/, "<br>");
document.write(newstr);
url is http://iilii.egloos.com/ !!
blah home: http://www.blah.co.kr 

str: 찾은 문자열
p1: ()에서 검색된 1번째 문자열. 마찬가지로 p2,p3 등도 가능
offset: str을 찾은 위치
s : 원본 문자열.
Array String.match(regular expression

var str = "ABCdEFgHiJKL";
var myResult = str.match(/[a-z]/g );
for(var cnt = 0 ; cnt < myResult.length; cnt++){
    document.write(cnt +":" + myResult[cnt] +"<br>");
}

document.write("비교<br>");

var str = "ABCdEFgHiJKL";
var myResult = /[a-z]/g.exec(str);
for(var cnt = 0 ; cnt < myResult.length; cnt++){
    document.write(cnt +":" + myResult[cnt] +"<br>");
}
실행 결과:
0:d
1:g
2:i
비교
0:d

String.match(RegExp) =>g flag가 있으면 다 찾아낸다. 
RegExp.exec(String) =>g flag가 있어도, 한 개만 찾고 끝낸다.
Array String.split([separator[, limit]])

var str = "ABCdEFgHiJKL";
var myResult = str.split(/[a-z]/g , 3);
for(var cnt = 0 ; cnt < myResult.length; cnt++){
    document.write(cnt +":" + myResult[cnt] +"<br>");
}
실행 결과:
0:ABC
1:EF
2:H

주어진 문자열을 separator를 기준으로 limit 만큼 자른다.

6. 정규식으로 만든 유용한 Javascript 함수

String removeTags(input)

HTML tag부분을 없애준다

function removeTags(input) {
    return input.replace(/<[^>]+>/g, ""); 
};
example>

var str = "<b>blah</b> <i>soft</i>";
document.write(str +"<br>");
document.write(removeTags(str));
result>
blah soft
blah soft

String String.trim()

문자열의 앞뒤 공백을 없애준다.

String.prototype.trim = function() {
    return this.replace(/^\s+|\s+$/g, ''); 
};
example>

var str = "         untrimed string            ";
document.write("========" + str+ "==============<br>");
document.write("========" + str.trim() + "==============");
result>
======== untrimed string ==============
========untrimed string==============

String String.capitalize()

단어의 첫 글자를 대문자로 바꿔준다.

String.prototype.capitalize = function() {
    return this.replace(/\b([a-z])/g, function($1){
        return $1.toUpperCase();
    }) ;  
};
example>

var str = "korea first world best";
document.write(str.capitalize());
result>
Korea First World Best

String number_format(input)

입력된 숫자를 ,를 찍은 형태로 돌려준다

function number_format(input){
    var input = String(input);
    var reg = /(\-?\d+)(\d{3})($|\.\d+)/;
    if(reg.test(input)){
        return input.replace(reg, function(str, p1,p2,p3){
                return number_format(p1) + "," + p2 + "" + p3;
            }    
        );
    }else{
        return input;
    }
}
example>

document.write(number_format(1234562.12) + "<br>");
document.write(number_format("-9876543.21987")+ "<br>");
document.write(number_format("-123456789.12")+ "<br>");
result>
1,234,562.12
-9,876,543.21987
-123,456,789.12

7. Java 정규식 함수

Pattern p = Pattern.compile("(a*)(b)");
Matcher m = p.matcher("aaaaab");
if (m.matches()) {
    for (int i = 0; i < m.groupCount() + 1; i++) {
        System.out.println(i + ":" + m.group(i));
    }
} else {
    System.out.println("not match!");
}

result>
0:aaaaab
1:aaaaa
2:b
0번째는 매칭된 부분.
String a = "I love her";
System.out.println(a.replaceAll("([A-Z])", "\"$1\""));

result>
"I" love her
자바도 $1을 쓸 수 있다.
Pattern p = Pattern.compile("cat");
Matcher m = p.matcher("one cat two cats in the yard");
StringBuffer sb = new StringBuffer();
while (m.find()) {
    m.appendReplacement(sb, "dog");
    System.out.println(sb.toString());
}
m.appendTail(sb);
System.out.println(sb.toString());

result>
one dog
one dog two dog
one dog two dogs in the yard

Posted by 사라링

정규식 .

2012. 8. 24. 11:21

정규 표현식 :!!

 

http://ryanswanson.com/regexp/#start    / regexp  확인 사이트.

정규 표현식 : // 영문자로 시작하는 6~20 글자의 아이디 ===> ^[a-zA-Z][\w]{5,19}

    /*     // 소문자 ctrl +shift+x/y
      (\w+) 

String $1 = request.getParameter("$1"); */

        <%=rs.getString("mem_id") %>  를 정규 식으로 표현 ==> F
        F : (<%=.+?"(\w+)".+?%>)
        R : <input type="text" name="$2" value="$1"/>
        // 문자 정규식 .
        <%= <- 그냥 문자로 인식
        . 어떠한 문자에 + 가 지속 되다
        " 에서 멈춤./ 전에 한정기호 ? 사용. 범위를 정확히 지정 하기 위해 사용
        \w+ 어떠한 문자에+ 여러 문자가 지속   mem_id 를 정규화 식으로 확인 하기 위해 적용
        " 으로 끈고 .+ 넘어 가다 %) 까지 완료 . ? 한정 구문 사용
        소규모 그룹 () () 이용 전체 한번 묵은게 $1 두번째가 $2 이다.
     --%>
   

 

 

 

Posted by 사라링

Effect

Etiam libero neque, luctus a, eleifend nec, semper at, lorem. Sed pede. Nulla lorem metus, adipiscing ut, luctus sed, hendrerit vitae, mi.

Run Effect
Posted by 사라링

http://blog.jquery.com/2012/08/16/jquery-1-8-box-sizing-width-csswidth-and-outerwidth/


입니다. 



jquery-1.8.0.js


jquery-1.8.0.min.js



필요 하신분은 다운 받아 가세요. 




'J-Query' 카테고리의 다른 글

sliding  (0) 2012.11.15
컬럼 추가 삭제  (0) 2012.09.10
jQuery.slide()  (0) 2012.07.10
body CSS 그라데이션 흰색 - > 블랙  (0) 2012.06.22
jQuey eq form 값 반디 모음 1  (0) 2012.06.22
Posted by 사라링

검색문1. 


<isNotEmpty prepend="AND" property="SBJ">

UPPER(A.SBJ) LIKE '%' || UPPER(#SBJ#) || '%'

</isNotEmpty>


SBJ 의 value 값이 비어 있지 않다면. 


비교 대상자인 A,SBJ 를 대문자로 바꾸어 LIKE 로 

'%' || UPPER(#SBJ#)|| '%'  붙어 넣어 like 문을 완성 한다. 


즉 이 검색문은 대소문자를 구분 하지 않고 검색 한다. 


조건문1.


<isEqual prepend="AND" property="ACT_ROLE_YN" compareValue="N">

(Z.RQST_NO IS NOT NULL OR A.RQST_ID = #RQST_ID#)

</isEqual>


 이 역시 where 전에 붙고 있다. 

ACT_ROLE_YN 프로퍼티의 값이 N 과 같을때 실행 한다. 

Z.RQST_NO 의 값이 널이 아니거나 (OR)

A.RQST_ID 의 값이 RQST_ID라는 프로퍼티의 값과 같을때 라는 where 조건 문을 명시 하고 있다. 

Posted by 사라링

원문출처 : OKJSP 

글쓴이 : 성냥

원문 : http://www.okjsp.pe.kr/seq/177368

 

제목이 좀 거창하게 나가버렸네요;;;

 

오늘 주말 강의가 시험전이라 풀 자습이라...

 

두번째 프리랜서 프로젝트를 구하면서 정리해보았습니다.
저 역시, 이곳 옥히 선배님들께서 올려주시는 의견등을 참고하고 구직하였습니다.

 

경력도 짧고(이제 겨우 3년차입니다), 아직 모르는것 투성이지만,

 

정직에서 프리로 전환을 생각하시는분들이나,
새 프리자리를 구하기가 막연하게 어려운 저와 같은 
초급 개발자분들께서 함께 고민해보면 좋을것 같아 올려봅니다.

 


1. 한달 정도는 구직하겠다 생각하고 미리미리 준비하자.

 

- 저는 첫 프리 프로젝트 구할때도 거의 3주 정도 걸렸습니다.
 사람을 구하는 곳은 굉장히 많지만,
 자기가 원하는 프로젝트 찾기는 쉽지는 않은것 같습니다.

 여유있게 한달정도는 잡는게 좋은것 같습니다.

 미리 갑측에 상의를 해두어 면접볼 일이 있다는 것을 
 상기시켜주는것도 괜찮은것 같습니다.
 
 요번에 프리 구하면서 가장 중요시했던것들은

 

 1) 출퇴근 거리
 2) 업무 환경 (개발자가 무시당하지 않고, 개발에만 열중할수 있는)
 3) 배우고 싶은 (배울만한 것이 있는, 내가 얻어갈만한것이 있는) 프로젝트
 4) 급여 및 개발자 처우
 (순위가 아니라 가장 중요시했던 4가지 입니다 ㅎ)

 

 이걸 다 맞추려고 하다보니, 시간이 꽤 걸리더라구요.
 요번에 한달동안 면접만 20번을 넘게 보았습니다.

 결국 최종적으로 '아 여기 가야겠다' 라고 느껴지는 프로젝트를 찾은건
 정말 한달 동안 구직한 시기의 막바지 였습니다.

 


2. 회사에 대해 가능하면 세심하게 살펴보자.

 

  요건 늘 선배님들께서도 말씀해주시는 부분인데요.

  제 경우도 초급이지만 일단 잡한국 이나 people인에 
  프리랜서 구직희망 이력서를 오픈하면 하루에 메일이나 전화가 몇통씩 옵니다.

  이때 반드시 계약할 회사명을 알아둡니다.
  그후에

 

  1) 잡한국, people인에서 업체명을 검색
   - 사람이 너무 적거나, 자본금이 너무 적으면 패스
   (정직 50명에 자본금 15억인데도 있고, 정직 30~40 에 자본금 3천도 있더라구요)
  
  2) 일터Q&A 및 Java서비스넷 채용정보 등을 적극 활용

   - 의외로 연락오는 업체중 악덕업체로 이름난 업체들이 버젓히
    영업하고 있는곳 많습니다. 잘 찾아서 피해가야할것 같습니다.

   - 임금 체불, 급여일, 회사 분위기 등등 많은것을 세심하게 찾아봐야합니다.

   - 꼭 이전에 올라와있는 업체뿐만 아니라 직접 일터Q&A 같은곳에
    업체 어떤지, 프로젝트가 어떤지 질문글 올리면
    의외로 좋은 성과(?)를 얻을수도 있습니다.
    (XXX 거긴 원체 악평으로 소문난 곳이라 안가는게 좋습니다 같은 덧글등)

 

   3) 원청과 몇차 협렵업체인지 (을별정 그 이하인건지)

    - 프로젝트와 나 사이에 업체가 많이 낄수록
     급여 차이가 많이 나더라구요.

     어떤 SM 경우 동일한 프로젝트를 여러 업체에서 연락이 왔는데
     중간에 업체 몇개 끼었냐 따라 80만원 까지 차이었났습니다.

 


3. 연락이 오기만을 기다리지 말고 적극적으로 알아보자.

  이력서 오픈 하자마자 연락오는 곳들은 시원찮은 곳이 많습니다.
  당장 사람이 너무 급하기 때문에, 아니면 회사 돈 몇푼이 아쉽기 때문 등등
  이런 업체는 정말 이력서 오픈한지 1시간도 안되서 메일/전화 오는것 같습니다. (다는 아니겠지만;)

 

  진득허니 기다리고, 직접 알아보다가 좋은곳을 발견했을때
  오히려 제쪽에서 가고 싶은데 업체가 느긋한 곳도 많았습니다.

  그만큼 여유가 있는거겠죠. 보통 그런 업체는 회사규모도 있고 평도 괜찮고
  프로젝트도 조금 여유를 두고 진행하는것 같습니다.
  프로젝트 직접 따서 하는 중견 정도의 업체가 그런 경향이 있는것 같아요 (대기업은 아님;)

 

  그러니 이력서 오픈후, 연락 많이 온다고 뿌듯해하지 말고,
  직접 좋은 프로젝트를 찾는 노력도 있어야 할것 같습니다.

 


4. 계약이 성사될것 같을때 계약할 회사의 반응을 잘 살피자.

 

  실제 계약을 할 것 같은 분위기가 되었을때,
  계약할 회사에서 본심을 드러낼때가 꽤 있습니다.

  제 경우는,

 

  1) 단가를 깍으려고 함.

   - 가장 짜증나는 경우인데요.
     저는 그럼 애초에 얘기하셨던거랑 다르다며 안한다고 합니다.
     신뢰가 안 가게되는것이죠 이런 업체는...

 

    단가 후려치기의 진행이
    a) 처음 만족스러운 단가 제시
    b) 계약이 될 것 같으면 그정도는 어렵다고 깎을려고 함
      (이때 경력이 어떻고 학벌이 어떻고 얘기가 처음 나오죠)
    c) 실제 계약서 쓸때 다시 깎으려고 함
    d) 실제 급여줄때 더 깎음

 

    뭐 이런식으로 여러번에 걸쳐 조금씩 깎는다고 하던데
    저는 일단 b) 까지는 정말 굉장히 많이 겪었습니다.

    처음 제시한 금액 범위중 최소 수준에도 못미치는 금액으로 계약을 하려하면
    아예 안가는게 좋은것 같습니다.
    (저는 금액 깎아서 안간다고 하니 원래 불렀던거보다 50만원 이상 더 준다는 곳도 있더라구요)

 

  2) 계약서 쓸때가 되가니 반말을 하기 시작함

   - 저는 이게 굉장히 기분이 나쁘던데요.
    어쨌든 계약이라는 것이 상호 이익을 위해 하는것인데
    계약 할때즈음 되면 꼭 부하직원 부리듯이 내 덕에 니가 돈버는거인양
    말씀이 가벼워지기시작하는 업체가 있더군요
    (슬프지만 대다수가 그렇습니다)
   
   3) 근무 시간이 늘어남

    - 첨엔 9시 ~ 18시 근무였는데 오전이나 오후에 30분이 더 붙는다고 말하면
     저는 처음에 얘기한거랑 근무시간이 다르니 안한다고 합니다.
     이 부분 역시 금액처럼 신뢰에 문제인것 같습니다.

   대부분 저렇게 계약할때되서 태도 돌변하는 업체 치고
   개발자 대우해주는 업체 없는것 같습니다.

 


5. 급여 지급이 익월 말에 가까운 업체와는 계약하지 말자

 

 - 보통 이렇게 얘기합니다
  '회사 내규가 이러이러 저러저러 해서
   우리는 급여일이 이렇다 그러니까 당신도 이거에 따라야한다'
  
  그러면 저는 내가 당신네 회사 입사하는게 아니라
  회사 대 나(프리랜서)로 계약을 하는거니까 내가 당신네 회사 내규를 따를 필요는 없다.
  익월 5일내 지급 안되면 난 다른 프로젝트 알아보겠다 라고 합니다. 
  (이런식으로 하면 꼭 5일에 맞춰주더라구요 ㅎ 1일이나 2일에 맞춰주지...)

 

  애초에 익월 말일에 급여 지급이 말도 안되는 거고
  (알바를 해도 그렇게는 안 받죠)
  돈 나갈껀 최대한 늦게 나가야한다 라는 마인드를 가진 회사는
  나중에 돈 때문에 피곤해질 여지가 많은것 같습니다.

 


6. 금액은 자기가 생각하는 금액을 자신있게 부르고 협의할 수준도 안되면 과감히 버리자

 

 - 연락온 업체로부터 가장 자주 들은 말이
  '지금 얼마 받으시나요? 아니면 원하시는 금액이 있으신가요?'
  이렇게 많이 물어보십니다.

  용팔이 같더라구요. '얼마까지 알아보고 오셨어요?'

  그러면 저는 얼마까지 줄수 있는지를 되물어봅니다.
  (용팔이에게 '얼마까지 알아보고 오면 되는데요?' 라고 물었다던 유머처럼요)

 

  금액이 턱없이 적으면
  (저는 SM 270 부르는곳에서도 전화왔었습니다)
  지금 나는 얼마를 받고 있다. 근데 이 금액은 너무 적으니 난 못한다.
  (제 경우, 여기서 얼마를 받는다라고 말한 금액은 실제 제가 받고 있는 금액이 아니라
  제가 원하는 금액 액수이거나, 한 20만원 정도 더 올린 금액입니다).

 

  그러면 '아이구 많이 받으시네요' 하고는 
  우리는 그 정도는 못준다, 혹은 그럼 이정도는 어떻겠냐 하고 딜이 시작됩니다.

 

  먼저 자기가 금액을 낮춰부르면 업체는 신나합니다. 
  마치 아량을 배풀듯 그 금액에 맞춰주겠다고 하지요.

  애초에 자신이 생각했던 금액에 터무니 없는 금액을 제시하는 곳은
  업체자체 능력이 떨어지거나 (정 이하업체), 개발자를 호구로 보는 곳인거 같습니다.

 

  예전에 어디 책에선가 읽었는데,
  협상을 할때 금액을 먼저 부르는 사람이 지기 마련이라고...

  받고 싶은만큼, 나는 이정도 받을만하다 싶은 금액을 자신있게 부르고
  협상의 여지도 없는 수준이라면 과감히 잘라내버리는게 속편하것 같습니다.

 


7. 프로젝트 담당자 면접시 최대한 꼼꼼하게 많은 정보를 챙기자
 
 - 보통 계약할 업체와 실제 프로젝트 담당 업체는 전혀 상관없는 업체인 경우가 많은데요.

  결국 프로젝트의 분위기나 상세내역을 아는 분들은
  실제 프로젝트를 같이 뛸 PL PM 분들이시죠.

 

  제 경우 프로젝트 PL PM 면접 없이 계약업체와
  계약만하고 들어가는 프로젝트는 쳐다도보지 않습니다.

  들어갔다가 무슨 상황이 일어날지 모르니까요.

 

  프로젝트 실무자 면접시 제 경우

 

  1) 출퇴근 시간 (업무시간)
  2) 복장 (정장, 캐쥬얼이면 어느선까지 용인되는지)
  3) 업무범위
  4) 전화응대 유무
  5) 고객 회의/협의 찹가 유무
  6) 문서 작성 범위
  7) 주말 출근 유무
  8) 야근 유무, 발생시기, 일주일 혹은 한달 몇번정도 일어나는지
  9) 외주 개발자에 대한 처우 (차별이라던가 그런것이 있는지)
  10) 야근식대, 교통비 지급 유무
  11) 회식 혹은 술자리 횟수
  12) 보안에 따른 사용제한 유무(인터넷, USB, 보안프로그램 등)
  13) 불법 Software 사용 가능한지 (토드등) 안된다면 업체에서 지원 가능한 라이센스가 있는지
  14) 사수 or 기술/업무지원 가능한 사람이 있는지 (이건 제가 초급이라서 물어봅니다)
  15) 프로젝트 정확한 시작은 언제고 현재 어느 단계인지, 딜레이가 된 프로젝트인지
     (그리고 프로젝트 일정에 대한 전반적인 사항)
  16) 원청 과 나(개발자) 사이의 업체 수 (많을수록 안 좋으니까요)
  17) 강제 출퇴근 유무 (공공 프로젝트 경우는 빈번하더라구요)
  18) 개발, 배포, 반영, 명세 등등 역할이 나누어진 팀이 따로 있는지 (디자이너, 웹퍼블리셔가 있는지) 
      아니면 내가 다 해야하는지
  19) 프레임워크 및 툴은 뭘 써야하는지
  20) 왜 프리를 고용하게 된건지
     (요 부분을 잘 알아내면, 프로젝트 분위기가 보이더라구요)
  21) PL/PM 혹은 내 윗사람이 개발자 인지, 개발자 '출신' 인지, 관리자인지
  22) 월차가 가능한지
     (여름이 끼어있으면 여름휴가, 요번에는 설날 출근 있는지 물어봤습니다)

 

  
8. 이미 유명한 곳은 이유가 있으니 쳐다도 보지 말자

 - 3대 악성으로 유명한 농X, K트, 한X 등등
  보통 이런곳은 연락오자마자 '거기랑은 일 안합니다' 라고 자르는데
  
  그 외에 유명한 곳들도 면접을 실제로 보면
  '아 정말 소문이 괜히 나는게 아니구나' 싶어집니다.
  한 사람에게 몇사람이 해도 무리가갈 분량의 일들이 떨어지고, 돈은 더 안줄려고 하고...

 

  개발자 귀한줄 모르는 프로젝트/업체는 그냥 다 안가버리는게 좋은것 같습니다.
  연락왔던 분이 거기랑은 일안한다 하니
  '요즘 농X의 N만 들어가도 개발자들이 안하신다고 하네요' 하면서 한숨을 쉬시더라구요.


대충 요정도 생각하면서 알아보았습니다 ㅎㅎ

행여나 좀 불쾌하거나 건방져보이는 문구나 표현은
지적해주시면 수정하겠습니다.

 

선배님들께서 보시기에 좀 더 추가할만한 사항이 있으면 
또 알려주시면 감사하겠습니다 ㅎ

 

친구녀석이 정말 매일 밤새가며 주말출근 계속하고,
그러면서 혼자 사이트 몇개를 맡아서 일하고 있는데...

프리 권유를 술사줘가면서 몇달째 해도, 결단을 못내리더라구요.
월급도 시원찮고, 재경비 유류비도 잘 안나오는데도...

 

막연한 두려움도 있는것 같고...
'내가 과연 지금 프리랜서를 할만한 실력인가' 로 고민도 하는것같구...
정작 회사 나와서 정말 프로젝트를 구할수 있을까 하는 생각도 있는것 같더라구요...

 

그 막연한 두려움이 아마도 구직활동을 할때
뭘 어떻게 해야 할지 막막해서 그런걸지도 모른다는 생각에

친구랑 술먹으면서 프리권유하면서 
'야 그냥 이렇게 하면되' 하면서 
제가 프리 구하면서 궁리했던 얘기들을 정리해보았습니다.

 

사실 다 여기서 보고 듣고 알게 된것들인데요 ㅎㅎ

장문인데 읽어주셔서 감사합니다.
KOSA 등급제 폐지로 말이 많을것 같은데
제대로된 대우 받으면서 일하시는 개발자분들이 많아졌음 좋겠네요!

 

아 수업시간 다 지났습니다 흐흐
월요일에 뵙겠습니다~ 주말 마무리 잘 하십쇼~~

Posted by 사라링

tipJS Javascript MVC Framework Guide

1. tipJS JavaScript MVC Framework 개요

tipJS JavaScript MVC Framework 는 작고 Simple하며 강력한 JavaScript MVC Framework 입니다.
당신은 tipJS 를 이용해 복잡한 구조의 Web Application 을 Controller로 제어되는 Model과 View로 간단하게 구현할 수 있습니다.tipJS JavaScript MVC Framework로 당신의 Web Site의 Maintenance 효율을 월등히 높힐 수 있을 것입니다.

2. tipJS JavaScript MVC Framework Features

  • 복잡한 JavaScript Application을 MVC Pattern 형태로 구현할 수 있습니다.
  • 독립된 작동을 위해 JavaScript Navtive Code 로 개발되어 어떠한 외부 Library도 필요로 하지 않습니다.
  • 다양한 Browser와 호환됩니다.(IE 7/8/9, Chrome, Firefox, Safari, etc…)
  • 다양한 외부 JavaScript Library 와 호환됩니다.(JQuery, ExtJS, etc…)
  • Browser Cache를 간단하게 제어할 수 있습니다.
  • 외부 JavaScript Library를 효율적으로 관리할 수 있습니다.
  • Model과 View 만이 아닌 다양한 Timing에서 당신의 Application을 제어할 수 있습니다.
  • Simple한 HTML Template 기능을 지원하여 사용자 View 를 간단히 생성할 수 있습니다.(version 1.10 부터 지원)
  • tipJS JavaScript MVC Framework는 최소한의 Rule에 의해 작동하므로 개발형식이 자유롭습니다.
  • etc…

3. tipJS JavaScript MVC Framework 동작 개념도

tipJS JavaScript MVC Framework structure

tipJS JavaScript MVC Framework structure

tipJS JavaScript MVC Framework Folder

tipJS MVC Framework Folder

4. tipJS JavaScript MVC Framework 시작하기

4.1 HelloWorld Application (without HTML Template)

Template를 사용하지 않을 경우 Folder Structure는 아래의 구조를 권장합니다.

View this example (without HTML Template)

4.2 HelloWorld Application (with HTML Template)

Template를 사용할 경우 Folder Structure는 아래의 구조를 권장합니다.

View this example (with HTML Template)

5. Reference

6. tipJS.com – JavaScript MVC Framework Examples

 

'자바스크립트' 카테고리의 다른 글

GET OR POST 확실히 나누어 쓰자  (0) 2012.11.02
팝업창 닫기 // close  (0) 2012.09.26
순수 HTML typing 게임  (0) 2012.08.16
자바 스크립트를 이용 할때 꼭 한번 읽어야 할것  (0) 2012.06.20
물고기 소스  (0) 2012.06.15
Posted by 사라링

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">

<title>Insert title here</title>

<script type="text/javascript">

     var words = [ "accept-charset", "accept", "accesskey", "action", "align",

               "alink", "alt", "applicationname", "archive", "autoFlush", "axis",

               "background", "behavior", "bgcolor", "bgproperties", "border",

               "bordercolor", "bordercolordark", "bordercolorlight",

               "borderstyle", "buffer", "caption", "cellpadding", "cellspacing",

               "char", "charoff", "charset", "checked", "cite", "class",

               "classid", "clear", "code", "codebase", "codetype", "color",

               "cols", "colspan", "compact", "content", "contentType", "coords",

               "data", "datetime", "declare", "defer", "dir", "direction",

               "disabled", "dynsrc", "encoding", "enctype", "errorPage",

               "extends", "face", "file", "flush", "for", "frame", "frameborder",

               "framespacing", "gutter", "headers", "height", "href", "hreflang",

               "hspace", "http-equiv", "icon", "id", "import", "info",

               "isErrorPage", "ismap", "isThreadSafe", "label", "language",

               "leftmargin", "link", "longdesc", "loop", "lowsrc", "marginheight",

               "marginwidth", "maximizebutton", "maxlength", "media", "method",

               "methods", "minimizebutton", "multiple", "name", "nohref",

               "noresize", "noshade", "nowrap", "object", "onabort", "onblur",

               "onchange", "onclick", "ondblclick", "onerror", "onfocus",

               "onkeydown", "onkeypress", "onkeyup", "onload", "onmousedown",

               "onmousemove", "onmouseout", "onmouseover", "onmouseup", "onreset",

               "onselect", "onsubmit", "onunload", "page", "param", "profile",

               "prompt", "property", "readonly", "rel", "rev", "rows", "rowspan",

               "rules", "runat", "scheme", "scope", "scrollamount", "scrolldelay",

               "scrolling", "selected", "session", "shape", "showintaskbar",

               "singleinstance", "size", "span", "src", "standby", "start",

               "style", "summary", "sysmenu", "tabindex", "target", "text",

               "title", "topmargin", "type", "urn", "usemap", "valign", "value",

               "valuetype", "version", "vlink", "vrml", "vspace", "width",

               "background", "background-attachment", "background-color",

               "background-image", "background-position", "background-repeat",

               "baseline", "bbox", "border", "border-collapse", "border-color",

               "border-spacing", "border-style", "border-top", "border-right",

               "border-bottom", "border-left", "border-top-color",

               "border-right-color", "border-bottom-color", "border-left-color",

               "border-top-style", "border-right-style", "border-bottom-style",

               "border-left-style", "border-top-width", "border-right-width",

               "border-bottom-width", "border-left-width", "border-width" ];

     var divWordArr;

     var cbArr;

     var countDrop = 0;

     var countLife = 10;

     var flagLoop = false;


     function init() {

          var divWord00 = document.getElementById("word00");

          var divWord01 = document.getElementById("word01");

          var divWord02 = document.getElementById("word02");

          var divWord03 = document.getElementById("word03");

          var divWord04 = document.getElementById("word04");


          var divWord05 = document.getElementById("word05");

          var divWord06 = document.getElementById("word06");

          var divWord07 = document.getElementById("word07");

          var divWord08 = document.getElementById("word08");

          var divWord09 = document.getElementById("word09");


          var divWord10 = document.getElementById("word10");

          var divWord11 = document.getElementById("word11");

          var divWord12 = document.getElementById("word12");

          var divWord13 = document.getElementById("word13");

          var divWord14 = document.getElementById("word14");


          var divWord15 = document.getElementById("word15");

          var divWord16 = document.getElementById("word16");

          var divWord17 = document.getElementById("word17");

          var divWord18 = document.getElementById("word18");

          var divWord19 = document.getElementById("word19");


          var cb00 = document.getElementById("cb00");

          var cb01 = document.getElementById("cb01");

          var cb02 = document.getElementById("cb02");

          var cb03 = document.getElementById("cb03");

          var cb04 = document.getElementById("cb04");


          var cb05 = document.getElementById("cb05");

          var cb06 = document.getElementById("cb06");

          var cb07 = document.getElementById("cb07");

          var cb08 = document.getElementById("cb08");

          var cb09 = document.getElementById("cb09");


          divWordArr = [ divWord00, divWord01, divWord02, divWord03, divWord04,

                    divWord05, divWord06, divWord07, divWord08, divWord09,

                    divWord10, divWord11, divWord12, divWord13, divWord14,

                    divWord15, divWord16, divWord17, divWord18, divWord19 ];


          cbArr = [ cb00, cb01, cb02, cb03, cb04, cb05, cb06, cb07, cb08, cb09 ];


          for ( var i = 0; i < divWordArr.length; i++) {

               var rndWords = parseInt(Math.random() * words.length);

               divWordArr[i].innerHTML = words[rndWords];

               divWordArr[i].style.top = "-20px";

               var rndLeft = parseInt(Math.random() * 380 + 20);

               divWordArr[i].style.left = rndLeft + "px";


          }

          showCountLife(countLife);


     }

     function btnKeyPress(event) {

          if (event.keyCode == 13) {

               removeSameWord();

          }

     }

     function removeSameWord() {

          var strType = document.getElementById("txtType").value;

          document.getElementById("txtType").value = "";

          for ( var i = 0; i < countDrop; i++) {

               var strWord = divWordArr[i].innerHTML;

               if (strType == strWord

                         && divWordArr[i].style.visibility == "visible") {

                    divWordArr[i].style.visibility = "hidden";

                    break;

               }

          }

     }


     function timedCount() {

          var rndCountDrop = Math.random();

          if (rndCountDrop < 0.02 && countDrop < 20) {

               countDrop++;

          }


          for ( var i = 0; i < countDrop; i++) {

               downDiv(divWordArr[i]);

          }


          for ( var i = 0; i < countDrop; i++) {

               var strTop = divWordArr[i].style.top;

               var strVisible = divWordArr[i].style.visibility;


               var topBuff = parseInt(strTop.substring(0, strTop.length - 2));

               if (topBuff > 350 && divWordArr[i].style.visibility == "visible") {

                    divWordArr[i].style.visibility = "hidden";

                    countLife--;

                    showCountLife(countLife);

               }


          }


          if (countLife <= 0) {

               var btnStart = document.getElementById("btnStart");

               btnStart.value = "start";

               flagLoop = false;

               alert("YOU LOSE");

               return;

          }

          if (isAllRemove()) {

               alert("YOU WIN");

               return;

          }


          if (countDrop >= 20) {

               var strTop = divWordArr[20 - 1].style.top;

               var topBuff = parseInt(strTop.substring(0, strTop.length - 2));

               if (topBuff > 350) {

                    var btnStart = document.getElementById("btnStart");

                    btnStart.value = "start";

                    flagLoop = false;

                    alert("YOU WIN");

                    return;

               }

          }

          t = setTimeout("timedCount()", 40);

     }

     function isAllRemove() {

          for ( var i = 0; i < divWordArr.length; i++) {

               if (divWordArr[i].style.visibility == "visible") {

                    return false;

               }

          }

          return true;

     }

     function showCountLife(paramLife) {

          for ( var i = 0; i < cbArr.length; i++) {

               cbArr[i].checked = false;

          }

          for ( var j = 0; j < paramLife; j++) {

               cbArr[j].checked = true;

          }

     }


     function btnStart() {

          if (flagLoop)

               return;

          var btnStart = document.getElementById("btnStart");

          btnStart.value = "Looping";

          flagLoop = true;

          timedCount();

     }

     function downDiv(div) {

          var str = div.style.top;

          var topBuff = parseInt(str.substring(0, str.length - 2));

          topBuff += 1;

          div.style.top = topBuff + "px";

     }

</script>

</head>

<body onload="init()">

     <div style="position: absolute; left: 10px; top: 10px;">

          <input id="cb00" type="checkbox" /><br /> <input id="cb01"

               type="checkbox" /><br /> <input id="cb02" type="checkbox" /><br />

          <input id="cb03" type="checkbox" /><br /> <input id="cb04"

               type="checkbox" /><br /> <input id="cb05" type="checkbox" /><br />

          <input id="cb06" type="checkbox" /><br /> <input id="cb07"

               type="checkbox" /><br /> <input id="cb08" type="checkbox" /><br />

          <input id="cb09" type="checkbox" /><br />

     </div>

           ????? ????????-->

     <input id="txtType" type="text" onkeypress="btnKeyPress(event)" />

     <input id="btnStart" value="start" type="button" onclick="btnStart()" />

     <div id="word00"

          style="position: absolute; left: 200px; top: -20px; visibility: visible;"></div>

     <div id="word01"

          style="position: absolute; left: 200px; top: -20px; visibility: visible;"></div>

     <div id="word02"

          style="position: absolute; left: 200px; top: -20px; visibility: visible;"></div>

     <div id="word03"

          style="position: absolute; left: 200px; top: -20px; visibility: visible;"></div>

     <div id="word04"

          style="position: absolute; left: 200px; top: -20px; visibility: visible;"></div>



     <div id="word05"

          style="position: absolute; left: 200px; top: -20px; visibility: visible;"></div>

     <div id="word06"

          style="position: absolute; left: 200px; top: -20px; visibility: visible;"></div>

     <div id="word07"

          style="position: absolute; left: 200px; top: -20px; visibility: visible;"></div>

     <div id="word08"

          style="position: absolute; left: 200px; top: -20px; visibility: visible;"></div>

     <div id="word09"

          style="position: absolute; left: 200px; top: -20px; visibility: visible;"></div>



     <div id="word10"

          style="position: absolute; left: 200px; top: -20px; visibility: visible;"></div>

     <div id="word11"

          style="position: absolute; left: 200px; top: -20px; visibility: visible;"></div>

     <div id="word12"

          style="position: absolute; left: 200px; top: -20px; visibility: visible;"></div>

     <div id="word13"

          style="position: absolute; left: 200px; top: -20px; visibility: visible;"></div>

     <div id="word14"

          style="position: absolute; left: 200px; top: -20px; visibility: visible;"></div>



     <div id="word15"

          style="position: absolute; left: 200px; top: -20px; visibility: visible;"></div>

     <div id="word16"

          style="position: absolute; left: 200px; top: -20px; visibility: visible;"></div>

     <div id="word17"

          style="position: absolute; left: 200px; top: -20px; visibility: visible;"></div>

     <div id="word18"

          style="position: absolute; left: 200px; top: -20px; visibility: visible;"></div>

     <div id="word19"

          style="position: absolute; left: 200px; top: -20px; visibility: visible;"></div>







</body>

</html>


'자바스크립트' 카테고리의 다른 글

팝업창 닫기 // close  (0) 2012.09.26
자바스크립트 MVC 패턴 구현 하기.  (0) 2012.08.20
자바 스크립트를 이용 할때 꼭 한번 읽어야 할것  (0) 2012.06.20
물고기 소스  (0) 2012.06.15
document.createElement  (1) 2012.06.14
Posted by 사라링

직원 개인돈으로 비용을 선 지출후 결재시 회계처리
현금시재가 부족하여 택배비와 야근식대등 사무실 경비를 직원이 개인돈으로 대신 지불하고 다음날 회사 통장에서 직원 개인 통장으로 입금시 회계처리는 어떻게 해야 하나요?

직원 개인이 회사 업무와 관련하여 식대나 교통비를 회사의 현금시재가 부족하여 개인 돈으로 먼저 지출하고 나중에 회사로부터 결제를 받는다면으로는 원칙적으로는 발생주의에 입각하여 이미 비용이 발생하였으나 그 대금이 지급되지 않고 있는 비용이므로 "미지급비용"으로 계정을 처리한 후 직원 개인이 지출한 돈을 회사가 지급하는 시점에서 미지급비용을 반제 시키거나, 직원 개인이 회사에 돈을 일시에 입금하여 그 돈으로 비용을 지불한 것처럼 처리하는 "가수금"계정으로 회계처리를 하는 경우도 있을수 있습니다.


그러나 실무적으로는 직원이 개인돈으로 회사 경비를 지출시 해당 일일히 "미지급비용", 가수금"으로 처리했다가 해당 경비 지급시 "미지급비용"을 상계시키는 분개를 해도 되나 이경우 전표작성시 소요되는 시간이 다소 걸리기 때문에 실무적으로는 현금주의에 입각하여 결제일에 해당비용지급시 전표작성을해서 비용으로 회계처리하는 것이 실무적입니다..(세무.회계 실무정보 사이트 택스모아





펌: http://www.elect114.co.kr/account/577.htm



http://gointa.com/kyungri3.htm#1 

Posted by 사라링

JEUS6.0 정리 및 Setting

 | Jeus
2012. 8. 10. 23:15



================================================================================================

1. webtob(WS: 정적인 업무 처리) 구동시
  1) WSM(웹서버 모니터 프로세스), HTL, HTH 3가지가 구동됨
  2) HTL(리스닝 작업)이 클라이언트로부터 리슨하고,
  3) HTH로 핸들링해서 HTH에서 업무프로세스에 할당하고 처리한 값을 다시 HTL로 보냄
   3-1) HTH 앞단에 큐를 사용하여 과부하를 막음
   3-2) 단위 업무자체가 클 경우 업무프로세스를 확장
   3-3) 사용자가 몰릴경우 HTH(인스턴스)를 4개까지 확장 가능(안에 컨테이너 수는 제한없음)
  4) WSM이 HTL과 HTH를 모니터링하여 문제 발생시 처리

 

 

2. JEUS 구조
  - SERVER > NODE > 제우스 메니저 <동급> 제우스 컨테이너
  1) 제우스 메니저의 역할
     - J2EE 서비스, 리소스 관리(시큐리티, 데이터베이스, 외부소스, jndi 등등)
  2) 제우스 컨테이너
     - 서블릿 엔진, EJB, JMS 등등 업무처리

 

 

3. webtob

  1) 설치 중간에 servlet은 제하고 순수 webtob체크
  2) /bin파일/ wsboot, wscfl(실행파일 설정), wsdown

 

 


4. jeus
  1) 설치 중간에 어드민 패스워드 입력
  2) webserver(내장 webtob ==> 인스턴스 1개만 생성가능, 같은 공간의 제우스하고만 연결) 
  3) /webserver/config/ws_engine.m 을 http.m으로 새로 저장하여 작업
  4) cmd창 /webserver/config> wscfl -i http.m(파일 유효성 검사) --> wsconfig생성
  5) cmd창 /webserver/config> wsboot --> 웹투비 가동
                              wsdown --> 웹투비 다운

 

  6) jeus 환경설정
    --> /config/해당컴터이름/jeusmain.xml 수정
        /config/해당컴터이름/해당컴터이름_servlet_engine1/webmain.xml 수정 
    --> 최초의 연결설정은 jeus에서 webtob로 설정명령
 

  7) cmd창> jeus
 

  8) cmd창> jeusadmin 사용자컴터이름  ==> 어드민 로그인
 

  9) cmd창> boot  ==> 제우스 가동
                  down  ==> 제우스 다운

 

 10) 기타 환경 변수 추가는 jeus가 설치된 폴더(c:\tmaxsoft)의 bin 폴더의 jeus.properties.cmd

       파일을 열어 설정해 줄 수 있다.

         - JEUS_BASEPORT : JEUS 가 사용할 네트워크 포트중 기본 포트 --> 9736

         - JAVA_HOME : Java 2 설치 디렉토리

         등등...

         - JEUS_BASEPORT를 수정할 경우

           : %JEUS%\config\vhost.properties의

             컴퓨터이름 = 컴퓨터이름:9736 의 포트도 같이 수정

 

 11) admin페이지 접속 ==> http://localhost:9744/webadmin/ 

      (포트는 jeus.properties.cmd 의 JEUS_BASEPORT 숫자 + 8한 숫자)

      (로그 보기 및 jdbc 컨넥션 풀, 어플리케이션 배포 등 설정)

       - webadmin 을 실핼 시키기 위해서는 JEUSMain.xml 에 <enable-webadmin> 태그의 값이

          true 로 설정 되어 있어야 한다.

          (경로--> %JEUS_HOME%\config\<nodename>\JEUSMain.xml)

  12) /lib/datasource 안에 관련 jar파일(jdbc 드라이버 등) 저장

  13) admin 명령어 (admin으로 cmd창에서 접속후 cmd창>help 로 확인가능)
     -  st -v
        st -p
        st -r
        q
        conlist
        downcon [컨테이너명] 
        applist
        dsinfo
        ti -a
        dsconinfo -con [컨테이너명] -t [컨넥션풀 이름]
        등등


  14) 설정파일의 xml스키마를 보고싶을땐  /lib/schemas/jeus/ 안에서 참조

 

  15) jeus/bin/ 안에서 .cmd 파일로 만들고 cmd창에서 모아서 어디서든 실행할 수 있다.

       (서버 내리기, 어드민 접속 등등)
      예) jeusadmin [컴퓨터이름] -Uadministrator -Ppassword jeusexit   ==>jdown.cmd로 만듬    
           jeus -Uadministrator -Ppassword   ==> jboot.cmd로 만듬
          jeusadmin [컴퓨터이름] -Uadministrator -Ppassword  ==>jadmin.cmd로 만듬

  

  16) 메뉴얼
     [jeus 6.x]
      http://technet.tmax.co.kr/kr/edocs/jeus/60/index.html

     [webtob 4.x]
     http://technet.tmax.co.kr/kr/edocs/webtob/41/index.htm

  

 

 

 

 

======= java.net.ConnectException: Connection refused: connect

           worker(webtob1-hth0(localhost:9900)-w00:null) : Failed to reconnect
                                                                                                        ===============

1. webtob와 설정이 맞지 않기 때문이다.

2. jeus 설정을 바꿨다면 webtob까지 모두 내렸다가 다시 올려야 한다.

 

 

 

 

 

 

 

================================ log 설정 =======================================

1. JeusMain.xml (<node> 태그 사이에 작성)

<system-logging>
            <name>jeus</name>
            <handler>

                <console-handler>

                      <name>handler0</name>
                      <level>FINE</level>
                 </console-handler>
                <file-handler>
                    <name>handler1</name>
                    <level>FINE</level>
                     <valid-day>1</valid-day>
                     <file-name>D:\Project\workspace\JeusLog\JeusServer.log</file-name>
                </file-handler>
            </handler>
</system-logging>

 

2. ~~-servlet 폴더의 WEBMain.xml(<context-group>안에..)

<logging>
            <access-log>
                <handler>

                   < console-handler>

                      <name>handler0</name>
                    </console-handler>                   

                   <file-handler>
                        <name>handler1</name>
                    </file-handler>
                </handler>
            </access-log>
        </logging>

 

 

==================== OutOfMemoryError:PermGem Space 에러 =================

<JEUSMain.xml>

<engine-container>
            <name>container1</name>
     <command-option>-Xms256m -Xmx512m -XX:PermSize=512m

                                -XX:MaxPermSize=1024m</command-option>
            <sequential-start>true</sequential-start>
            <engine-command>
                <type>ws</type>
                <name>engine1</name>
            </engine-command>
            <engine-command>
                <type>jms</type>
                <name>engine1</name>
            </engine-command>
            <engine-command>
                <type>ejb</type>
                <name>engine1</name>
            </engine-command>
            <engine-command>
                <type>servlet</type>
                <name>engine1</name>
            </engine-command>
        </engine-container>

 

==> 이런식으로 PermSize를 늘려준다.

 

 

 

============================= webtob 사용 안하기 ==============================

<해당 servlet-engine의 WEBMain.xml>

<webserver-connection>
            <http-listener>
                <listener-id>http1</listener-id>
                <port>8088</port>
                <thread-pool>
                    <min>10</min>
                    <max>20</max>
                    <step>1</step>
                </thread-pool>
            </http-listener>
            <!--<webtob-listener>
                <listener-id>webtob1</listener-id>
                <port>9900</port>
                <output-buffer-size>8192</output-buffer-size>
                <thread-pool>
                   <min>1</min>
                   <max>5</max>
                   <step>1</step>
                   <max-idle-time>30000</max-idle-time>
                </thread-pool>
                <webtob-address>localhost</webtob-address>
                <registration-id>MyGroup</registration-id>
            </webtob-listener>
  -->
        </webserver-connection>

==> webtob를 사용하지 않고 jeus만으로 web을 구동할 경우

      <webtob-listener>를 주석처리한다.

 

 

 

======================== <invocation-manager-action> =========================

1. Warning

  : 이 선택사항이 선택되면, 만약 한 자원이 무상태 메소드 호출 동안 사용되었지만 반환할 때 닫지 않게 될 경우 이벤트가
container log에 warning 메세지로 기록된다.

 

2.AutoClose:
이 선택사항이 선택되면, 만약 한 자원이 무상태 메소드 호출 동안 사용되었으나 반환할 때 닫히지 않는다면 자원이
자동적으로 닫힌다.


===JEUSMain.xml===
<jeus-system>
  <node>
...
    <engine-container>
...
      <invocation-manager-action>
          AutoClose
      </invocation-manager-action>
...
    </engine-container>
  </node> 
</jeus-system>

 

 

 

============================ jeus admin 비밀번호 수정 ========================

1. cmd창 열고
2. java -classpath "%JEUS_HOME%\lib\system\jeus.jar" jeus.security.util.Base64Coder <바뀔 암호>
   하면 암호가 반환됨
3. %JEUS_HOME%\config\컴퓨터이름\security\SYSTEM_DOMAIN\accounts.xml을 열어서

<?xml version="1.0"?>
<accounts xmlns="http://www.tmaxsoft.com/xml/ns/jeus" version="6.0">
      <users>
        <user>
            <name>administrator</name>
            <password>{base64}이부분 수정</password>
            <group>Administrators</group>
        </user>
    </users>
    <groups>
        <group>
            <description>A group for administrators</description>
            <name>Administrators</name>
        </group>
    </groups>
</accounts>

'Jeus' 카테고리의 다른 글

Jeus 기본 설정 통합  (0) 2012.07.23
Posted by 사라링

1. export / import
가. 여러개의 테이블 중에서 특정 table만 백업/복구 하고자 할 때
나. 오라클의 버전, 플랫폼이 서로 다른 상황에서의 서버간 데이터 이동 시(migration)

2. export 방식
가. Conventional Path export : Evaluation Buffer를 사용하는 방식, DB Buffer cache에서 필요데이터를 Evaluation Buffer로 복사 후 데이터를 가공(text -> binary)하여 디스크에 파일로 저장함. export 작업 중에 발생하는 DDL, DML 등의 명령들은 백업파일에 반영되지 않는다.(백업 파일은 Evaluation Buffer을 이용하여 작업하기 때문)

나. Dircet Path export : DB Buffer Cache에서 데이터를 가공(text -> Binary)하여 디스크에 파일로 저장함, export 명령 이후에 백업대상이 되는 테이블스페이스나 테이블에 Lock이 발생하기 때문에 DDL, DML 작업은 실패 또는 보류 된다.

사용자 삽입 이미지사용자 삽입 이미지



3. export 옵션 및 사용예제
가. 옵션
- userid/passwd : export를 수행하는 계정/패스워드
- buffer : Evaluation Buffer크기 지정(용량이 클 수록 export 작업이 빨라진다)
- file : export 결과를 저장할 파일명
- full : 전체 DB를 export 할 것인가 지정
- owner : export 받을 사용자 이름지정
- tables : export 받을 테이블 이름 지정
- tablespaces : exprot 받을 테이블스페이스 이름지정
- parfile : export 옵션을 미리 지정한 파라미터 파일지정

나. 사용예제
exp system/oracle full=y file=/backup/export/test01.dmp

exp system/oracle full=y file=/backup/export/test02.dmp direct=y

exp system/oracle tables=emp \
file=('/backup/export/test03_1.dmp', '/backup/export/test03_2.dmp') filesize=10M

exp system/oracle tablespaces=(example, undotbs1) file=/backup/export/test04.dmp

exp system/oracle file=/backup/export/test05.dmp owner=(scott, hr)

exp system/oracle file=/backup/export/test06.dmp full=y buffer=1024000

vi par_full.dat
file=/backup/export/test07.dmp
full=y
dircet=y

exp system/oracle parfile=par_full.dat

exp scott/tiger query=\"where ename like \'F%\'\" tables=emp \
file=/backup/export/test07.dmp


4. import 옵션 및 사용예제
가. 옵션(export의 옵션과 유사하다)
- userid/passwd : import를 수행하는 계정/패스워드
- buffer : Evaluation Buffer크기 지정(용량이 클 수록 import 작업이 빨라진다)
- file : import 할 export 파일명 지정
- show : 데이터를 import 하지 않고 내용만 확인함
- ignore : import 작업 중 발생할 수 있는 에러를 무시하고 다음단계의 작업을 진행함
- fromuser : export 할 당시의 object의 소유자 지정
- touser : import 할 object의 새 소유자 지정
- tables : import 할 테이블 이름 지정
- parfile : import 옵션을 미리 지정한 파라미터 파일지정

나. 사용예정

imp system/oracle file=/backup/export/test01.dmp ignore=y full=y

imp system/oracle file=/backup/export/test02.dmp \
fromuser=scott touser=hr ignore=y

imp system/oracle file=/backup/export/test03.dmp full=y show=y log=test03.log


참고 : export/import 계정
import 할 때 사용하는 계정은 export 할 때 사용한 계정이어야 한다. 이 계정이 같지 않으면 import 수행 시 오류가 발생한다.만일 export 계정을 잊었다면 덤프파일을 vi 편집기로 열어 확인할 수 있다.(2번째 줄)
참고 : import 작업 중 에러발생 시
import 작업을 진행하던 도중 에러가 발생해 같은 작업을 반복하게 되면, import 대상이 되는 테이블(제약조건이 없는)에 데이터가 중복 저장될 수 있다. 그러므로 같은 작업을 반복시에는 import 대상이 되는 테이블의 내용을 지우고(drop 또는 truncate) 진행해야 한다.
참고 : SYS 계정으로 생성된 Object export
일반적으로 SYS계정에서 생성된 객체는 export 명령어로 백업할 수 없으므로 주의해야 한다.
(단, 경우에 따라서 system 계정으로 백업이 가능하기도 하다)

4. Import 대상 서버에서 필요한 사전 작업
가. Export 한 서버와 동일한 Tablespace 생성
나. 충분한 크기의 Temporary Tablespace 확보
다. Export 한 서버와 동일한 사용자 생성

'오라클' 카테고리의 다른 글

ORDERY BY 절 사용  (0) 2012.08.29
최상위 코드와 그 최상위 코드를 대상으로 그룹 .  (0) 2012.08.24
OUT Join  (0) 2012.08.08
SYS_CONNECT_BY_PATH  (0) 2012.07.26
오라클 구조 보기 sql 문 (desc)  (0) 2012.06.07
Posted by 사라링

OUT Join

2012. 8. 8. 19:50

◈ Out(외부) Join 

 - equijoin 문장들의 한가지 제약점은 그것들이 조인을 생성하려 하는 두 개의 테이블의 두 개 
    컬럼에서 공통된 값이 없다면 테이블로부터 테이터를 Return하지 않는 다는 것입니다. 

 - 정상적으로 조인 조건을 만족하지 못하는 행들을 보기위해 outer join을 사용합니다. 
    Outer join 연산자 "( + )"입니다. 

 - 조인시킬 값이 없는 조인측에 "( + )"를 위치 시킵니다

 - Outer join 연산자는 표현식의 한 편에만 올 수 있습니다. 


예제1) 일반 조인의 경우 

SQL> SELECT DISTINCT(a.deptno), b.deptno
         FROM emp a, dept b
         WHERE  a.deptno = b.deptno

DEPTNO     DEPTNO
---------- ----------
        10         10
        20         20
        30         30


예제2)out join을 했을 경우

SQL>  SELECT DISTINCT(a.deptno), b.deptno
          FROM emp a, dept b
          WHERE  a.deptno(+) = b.deptno

 DEPTNO     DEPTNO
 -------     ----------
     10         10
     20         20
     30         30
                 40

※ 다음의 쿼리를 한번 잘 보시기 바랍니다. 

SQL>  SELECT DISTINCT(a.deptno), b.deptno
          FROM emp a, dept b
          WHERE  a.deptno(+) = b.deptno
               AND a.ename LIKE '%';

    DEPTNO     DEPTNO
---------- ----------
        10         10
        20         20
        30         30

쿼리 결과를 잘 보면 out조인이 되지 않은 것을 알 수 있습니다.
위 쿼리를 out조인이 되기 위해서는 아래와 같이 고쳐야 합니다


SQL> SELECT DISTINCT(a.deptno), b.deptno
         FROM emp a, dept b
         WHERE  a.deptno(+) = b.deptno
              AND a.ename(+) LIKE '%'

    DEPTNO     DEPTNO
---------- ----------
        10         10
        20         20
        30         30
                    40

OUT조인 조건이 걸려있는 테이블에는 다른 조건절이 들어와도 
똑같이 OUT조인 연산자인 (+)를 해주어야 합니다.  



Oracle9i 부터는 ANSI/ISO SQL표준인 LEFT OUTER JOIN , RIGHT OUTER JOINFULL OUTER JOIN를 지원 합니다.


☞ LEFT OUTER JOIN 
 왼쪽 테이블에 조인시킬 컬럽의 값이 없는 경우 사용합니다. 
  
SQL>SELECT DISTINCT(e.deptno), d.deptno 
    FROM dept d LEFT OUTER JOIN emp e 
    ON d.deptno = e.deptno; 
  
  
☞ RIGHT OUTER JOIN 
 - 오른쪽에 테이블에 조인시킬 컬럽의 값이 없는 경우 사용합니다. 
  
SQL>SELECT DISTINCT(a.deptno), b.deptno 
    FROM emp a RIGHT OUTER JOIN dept b 
    ON a.deptno = b.deptno; 
  
  
☞ FULL OUTER JOIN 
양쪽 테이블에 다 outer join을 거는것을 TWO-WAY OUTER JOIN 또는 FULL OUTER JOIN이라 합니다. 
  
SQL>SELECT DISTINCT(a.deptno), b.deptno 
    FROM emp a FULL OUTER JOIN dept b 
    ON a.deptno = b.deptno; 
  
-- 위 세 문장의 결과는 아래와 같습니다. 
    DEPTNO     DEPTNO 
---------- ---------- 
        10         10 
        20         20 
        30         30 
                   40 
  
LEFT OUTER JOIN과 RIGHT OUTER JOIN의 테이블 순서를 바꾸어 가면서 테스트를 하시면 쉽게 이해를 하실 수 있습니다. 



지금까지 SQL의 조인을 어설프게 이해하고 사용하고 있었다 덕분에 오늘 삽질좀 했다. 그래서 관련 내용을 정리해본다. 


1. INNER JOIN
  - 두 테이블간의 조인 조건을 만족하는 ROW만 리턴함... (교집합 이라고 하기엔 좀 애매하지만 일단 그렇게 이해하는게 쉽다.)

 

2. OUTER JOIN
  - LEFT/RIGHT/FULL 형태의 OUTER JOIN 이 있음
  - LEFT OUTER JOIN의 경우 조인문 왼쪽에 있는 테이블의 모든 결과를 가져온 후 오른쪽 테이블의 데이터를 매칭하며, 매칭되는 데이터가 없는 경우 NULL 매칭
  - RIGHT OUTER JOIN은 LEFT 조인의 반대  - FULL OUTER JOIN은 일반적으로 사용할 일이 없으며, DB에 따라 지원하지 않음??? 간단히 설명하자면 두 테이블의 합집합이라고 이해하면 될 듯...


3. 주의 사항
  - 일반적으로 조인은 1:1 혹은 N:1 의 관계를 갖는 경우 유용한 것 같음... 1:N 관계에서 조인문을 사용하는 경우 기준이 되는 테이블의 데이터가 중복되는 결과를 리턴함. 따라서 1:N 관계에서 조인문을 통해 N에 해당하는 테이블의 컬럼을 이용해 제한조건을 사용하는 경우 distinct 혹은 group by 를 사용하여 1에 해당 하는 테이블의 데이터가 중복되지 않도록 해야 한다.  (에궁... 먼가 명확하지 않은 설명 ㅠ.ㅠ)
 

4. 예제 

CREATE TABLE tbl1 (id INT, name VARCHAR(8));
INSERT INTO tbl1 (id,name) VALUES (1,'aaa') ;
INSERT INTO tbl1 (id,name) VALUES (2,'bbb') ;
INSERT INTO tbl1 (id,name) VALUES (3,'ccc') ;
INSERT INTO tbl1 (id,name) VALUES (4,'ddd') ;
INSERT INTO tbl1 (id,name) VALUES (5,'eee') ;

CREATE TABLE tbl2 (id INT, car VARCHAR(8)) ;
INSERT INTO tbl2 (id,car) VALUES (2,'AVANTE') ;
INSERT INTO tbl2 (id,car) VALUES (3,'SONATA') ;
INSERT INTO tbl2 (id,car) VALUES (2, 'MINI');

-- Inner Join1
select a.id, a.name, b.car from tbl1 a inner join tbl2 b on a.id = b.id
-- Inner Join2 (위와 동일)
select a.id, a.name, b.car from tbl1 a, tbl2 b where a.id = b.id

<result>
2 bbb   AVANTE
3 ccc   SONATA

-- left outer join
select a.id, a.name, b.car from tbl1 a left outer join tbl2 b on a.id = b.id

<result>
1 aaa null
2 bbb AVANTE
3 ccc SONATA
4 ddd null
5 eee null

-- right outer join
select a.id, a.name, b.car from tbl1 a right outer join tbl2 b on a.id = b.id

<result>
2 bbb AVANTE
3 ccc SONATA

-- left outer join 을 이용해서 inner join과 동일한 결과 얻기
select a.id, a.name, b.car from tbl1 a left outer join tbl2 b on a.id = b.id where b.id is not null

<result>
2 bbb AVANTE
3 ccc SONATA


-- N:1 관계에서의 조인 예제 (Outer Join 의 경우도 비슷함)

INSERT INTO tbl2 (id,car) values (2, 'MINI');

select a.id, a.name, b.car from tbl1 a, tbl2 b where a.id = b.id

<result>
2 bbb   AVANTE
2 bbb   MINI
3 ccc   SONATA

select distinct a.id, a.name, b.car from tbl1 a, tbl2 b where a.id = b.id group by a.id

<result>
2 bbb AVANTE
3 ccc SONATA



'오라클' 카테고리의 다른 글

최상위 코드와 그 최상위 코드를 대상으로 그룹 .  (0) 2012.08.24
오라클 백업 및 복구(Export, Import)  (0) 2012.08.10
SYS_CONNECT_BY_PATH  (0) 2012.07.26
오라클 구조 보기 sql 문 (desc)  (0) 2012.06.07
오라클연습  (0) 2012.05.08
Posted by 사라링

이메일 정규식

2012. 8. 8. 19:24

    var adminId = $("input[name=ADMIN_ID]").val();
var adminNM = $("input[name=ADMIN_NM]").val();
var co_nm = $("input[name=CO_NM]").val();
var mail_addr = $("input[name=MAIL_ADDR]").val();
var admin_tel = $("input[name=ADMIN_TEL]").val();
var admin_pwd = $("input[name=ADMIN_PWD]").val();
var admin_pwd2 = $("input[name=ADMIN_PWD2]").val(); // 비밀번호 확인
var admin_pwd_check = $("input[name=ADMIN_PWD_CHECK]").val();

if( $.trim(adminId).length < 1 ){
alert('아이디를 입력해 주세요.');
return;
}

if( $.trim(adminNM).length < 1 ){
alert('이름을 입력해 주세요.');
return;
}

if( $.trim(co_nm).length < 1 ){
alert('회사이름을 입력해 주세요.');
return;
}

if( $.trim(mail_addr).length < 1 ){
alert('이메일주소를 입력해 주세요.');
return;
}

if( $.trim(admin_tel).length < 1 ){
alert('연락처를 입력해 주세요.');
return;
}

if( $.trim(admin_pwd).length < 1 ){
alert('비밀번호를 반드시 입력해 주세요.');
return;
}

if( $.trim(admin_pwd).length < 1 ){
alert('비밀번호를 반드시 입력해 주세요.');
return;
}

if( $.trim(admin_pwd2).length < 1 ){
alert('비밀번호 확인란을 반드시 입력해 주세요.');
return;
}

// 비밀번호 확인 일치 여부 확인
if(admin_pwd2 != admin_pwd) {
alert('비밀번호가 비밀번호 확인란과 일치하지 않습니다.');
return;
}

//이메일 형식 정규식 체크
if(!/^[_a-zA-Z0-9]+([-+.][_a-zA-Z0-9]+)*@[_a-zA-Z0-9]+([-.][_a-zA-Z0-9]+)*\.[_a-zA-Z0-9]+([-.][_a-zA-Z0-9]+)*$/.test(mail_addr)) {
alert('이메일 형식이 올바르지 않습니다.');
return;
}

var chk_num = admin_pwd.search(/[0-9]/g);
var chk_eng = admin_pwd.search(/[a-z]/ig);

if(chk_num < 0 || chk_eng < 0) {
alert('비밀번호는 숫자와 영문자를 혼용하여야 합니다.');
return;
}
if(/(\w)\1\1\1/.test(admin_pwd)) {
alert('비밀번호에 같은 문자를 4번 이상 사용하실 수 없습니다.');
return;
}

if(admin_pwd.search(adminId) > -1) {
alert('ID가 포함된 비밀번호는 사용하실 수 없습니다.');
return;
}

--------------------------------------------------- 그밖에

// 시간 체크

시간 체크, /^[0-9]{2}:[0-9]{2}$/.test('09:07')
일자 체크, /^[0-9]{4}-[0-9]{2}-[0-9]{2}$/.test('2009-01-08')

'정규식' 카테고리의 다른 글

특수문자로 이어진 문자중 일부를 가져오는 정규식 쿼리  (0) 2022.06.27
정규식 숫자 제외하기 eval사용 하기.  (0) 2013.08.30
정규식 .  (0) 2012.08.24
정규식 .  (0) 2012.08.24
Posted by 사라링

var r = new RegExp( 정규식 );

if ( r.메소드( 검색어 ) ) {

alert("정규식 조건과 맞는 경우");

} else {

alert("정규식 조건과 틀린 경우");

}

- 주민등록번호 체크

var r = new RegExp(/\d{6}(\-|)[1-4]\d{6}$/);

if ( r.test("주민등록번호") ) {

alert("올바른 주민등록번호");

} else {

alert("올바르지 않은 주민등록번호");

}

---------------------------------------------------

.exec

.test

.matcch

.search

.replace

.split

예)

[12] : 1 또는 2

[0-9] : 0~9 중 하나

{3} : 3번 반복

[12][0-9]{2} : 100 ~ 299 까지

-------------------------------------------------------------------------------------------

Syntax

string.search(regexp) : indexOf 처럼 regexp 정규식 조건에 해당하는 문자열을 찾을 경우 해당 index(위치 ex 0번째, 3번째 자리) 를 return


ParameterDescription
regexpRequired. A regular expression. Read more about the RegExp object

if( frm.name.value.search( /(\S+)\@(\S+)\.(\S+)/ ) == -1 ) {

// /(\S+)\@(\S+)\.(\S+)/ 조건의 단어가 포함되지 않은 경우

}

RegExp.$1 : (\S+)

RegExp.$2 : (\S+)

RegExp.$3 : (\S+)

-------------------------------------------------------------------------------------------

/+s/g : 정규표현식은 /로 감싸면 그안의 식은 정규표현식이라는 뜻이다

\s : 공백문자(스페이스,탭등)

\* : *

\D : 숫자가 아닌 문자

^ : ~를 제외한,문자의 시작부분 ex)/^The/i

$ : 문자열 끝부분 ex)/end$/

\w 알파벳,숫자,밑줄기호(_)

[^0-9] 숫자를 제외한

[0-9] 숫자만

[A-Za-z] 알파벳 대소문자

| or

s{2} s의 두번 반복

속성

g 전역 매칭

m 여러 줄 매칭

i 대소문자 구분 않음

문자 매칭

* 0회 이상 반복

+ 1회 이상 반복

? 0 or 1개의 문자 매칭

. 1개의 문자 매칭

ex)

var regExp = /\s\*/g;

var str = "This *is *a *test *string";

var resultString = str.replace(regExp,'-');

document.writeln(resultString);

result

This-is-a-test-string

스페이스*를 -로 대체

ex)

var reqExp = /:\D*\s\d+\s\d+/;

var str = "This is a date: March 12 2005";

var resultString = str.match(reqExp);

document.writeln("Date" + resultStirng);

result

Date: March 12 2005

ex)

var rgExp = /(\w*)-*(\w*)/;
var str = "Java--Script";
var resultStrng = str.replace( rgExp,"$2-$1" );
document.writeln( resultStrng );

Posted by 사라링

RCMS

2012. 8. 7. 15:13


RCMS_사용관리_가이드라인.pdf



Posted by 사라링

회계용어정리

 

 

 

가계정
거래가 발생하여 자산증감 변화가 있었으나, 아직까지 계정과목이 불명확하다든가, 또는 계정과목을 알고 있으나, 금액이 불확정 된 경우에, 그것이 확정될 때까지 일시적으로 기록하여두는 계정.

가수금
영업상 어떤 수입이 있었는데도 불구하고, 이것을 처리하는 과목 또는 금액이 미정일 경우, 이것이 확정될때가지  일시적으로 처리하는 가의 계정.

가지급금
지급금이 있었으나 아직까지 이것을 처리하는 과목 또는 금액이 미정일 경우에 그것이 확정될 때까지 일시적으로 이 지급을 처리하는 가의 계정.

간접법
(
감가상각)직접법에  대립하는 처리법이다.  고정자산의 가액을 당초의 원가로 이월하여, 상각액은 별도로 감가상각충당금계정의 대변에 기입하는 방법을 말한다.

간접법
(
원가주의)저가주의에 따라 평가액을 계상한 경우, , 원가를 시가로 수정할 때.    원가를 직접으로 평가손의 금액만을 절하하지 않고, 충당금을 마련하는 방법.     대체저가법과 유사하다.

감가상각
토지를 제외한 유형, 무형의 고정자산은, 대체적으로 에측가능한 사용 또는 시간의 경과에 다른 물리적인 소멸, 마모, 권리의 소실, 혹은 경제적변동에 따른 기능적변화에 원인하는 구식, 진부화, 부적응등에 의하여 그 효율을 규칙적, 지속적, 때로는 임시적으로 감가한다.

감가상각비
토지를 제외한 유형, 무형의 고정자산은 물리적, 기능적 원인에 의하여 발생하는 감가액을 일정의 산정방식에 따라서 비용으로서 계상하는 경우,  비용을 손익계산상, 혹은 원가계산상 감가상각비라 한다.

감가상각충당금
감가상각비를 간접법에 의해 처리하는 경우에 마련되는 계정.

개시분개
개시거래에 따른 분개를 말한다.    개시거래는, 광의로서는 개업의 거래를  처리하는 분개를 말한다.    현재 채용중의 부기에 있어서의 기초이월기입에 수반한 기입개시에 관련하여 인정되여 있는 부기상 거래의 처분을 하는 계정을 말한다.

개시잔액계정
이월기입 또는  개시기입에 있어서 설정되는 계정을 말한다.

거래
자산, 부채, 자본의 증감원인이 되는 사항을 말한다.     따라서 원칙적인 경제현상일지라도, 재산이나 자본에 변동을 미치지 않는  사건은 거래로는 보지 않는다.

거래의 이중성
부기상의  거래가 자산, 자본, 손실(비용)이익(수익) 2개면에 영향을 미치는 것을 말한다.

거래의 8요소
거래의  대립관계를 나타낸 것으로써 손실의 발생을 자본의  감소에 포함하고, 이익의  발생을 자본의 증가에 포함하면 거래의 6요소를 표시하는 것으로 된다.     이들의 거래는 보통은  없다고 하여도 좋기 때문이다.

거래처원장
외상매출금원장이라고도 불리우며, 총계정원장에 있어서의 외상매출금 계정의 분개를 기입하는 보조장부를 말한다.

건설가계정
건물, 설비등의 유형고정자산의 건설 또는 확장을 위한 재료의 구입대가와 노무비, 제경비의  지급을 건설, 확장이 완료할때 까지 일반적으로 기입하여 두는 계정을 말한다.

결산
별도로 원장결산이라고도 불리운다.    기업은 상법의 제약에 따라 적어도 1년에 일회는 장부를 마감하여 순손익을  결정하며, 대차대조표 기타의 결산제표를 작성하지 않으면 안된다.     이와  같이 인위적으로 일정의 계산기간은 구분하여 당해기간에 계산의 확정을 하는 것을 결산이라 한다.

결산본절차
결산예비절차에 대하는 것으로 결산시에 재고표에 따른 원장의 제계정정리기입, 원장의 제계정 총합.     마감 및 보조제당부의 마감 절차, 그 외에 재무제표의 작성을 말한다.

결산예비절차
결산본절차에 대하는 것이며, 거래원장기록의 옳고 그름을 정정, 검정하는 절차를 말한다.

결산잔액계정
결산에 있어서 마련되는 계정으로, 개시잔액계정이 라고도 불리우며, 대륙식결산법에 있어서 쓰여진다.    기말의 손익계정은 모두 손익계정에 집합되어 순이익이 계산되며, 자산, 부채 및 자본에 속하는 계정잔액은 잔액계정에 집합된다.    이 잔액계정을  결산잔액계정이라 한다.

결산정리
결산수정이라고도 한다.    결산 정리사항에 근거하여 장부기록을 사실에 일치하도록 수정하는 것이다.    기간손익계산을 정확히하기 위해서는 원장각 계정 및 수익손비계정을 집합하는 것만으로는 정확하지 않다.

결산표
정산표 부분을 참조할 것.

결손금
결산일에 있어서 기초자본재고금액에 대하여 기말자본재고 금액이 감소하고 있는 경우의 자본감소액을 말한다.

계정
부기상의  계산단위를 말한다.  기업은 모든 자산, 부채, 자본(수익), 비용(손실)의 변동을 계정의 증감으로 기록하지 않으면 않된다.

계정과목
부기기록상, 각기 자산, 부채, 자본 등의 증감을 기록하는 경우, 각 종류로 마련한 계산단위로써 계정에 붙여진  명칭을 말한다.

계정의 종류
재무재표와 관련하여 계정의 종류를 예를 들면 다음과 같다.
                  대차대조표계정(자산계정):   유동자산계정,고정자산계정,이연자산계정,
                                         (부채계정): 유동부채계정,고정부채계정
                                         (자본계정): 자본금계정,잉여금계정
                 손익계산서계정(이익 또는 수익계정): 매출계정,영업외수익계정
                                        (손실  또는  비용계정): 매출원가계정,영업비용계정,영업외비용계정,
이외도 대조계정, 평가계정, 상쇄계정, 비망계정, 가계정 등 여러 가지관점에서 행하는 계정의 종류가 있다.

고정부채
부채가운데 반제기한이 결산일의 익일에서 일개젼이상 후에 도래하는 것을 말하며, 장기부채라고도 불리운다.    단기부채와 동의의 유동부채와  대응시키기 위하여, 고정부채라고 하는 용어를 쓰게되었다.    고정부채에 속하는 것에 사채와 장기차입금 등이 있다.

고정자산
보통, 설비자산이라고도 불리어 진다.

고정자산매각이익(손실)
고정자산을 매각하여 생기는 손익을 말한다.     자본이익, 자본손실이라고도 한다.    고정자산은 유동자산과 달리, 보통 매각의 대상이 되지 않기 때문에, 이것을 매각하는것은 빈번하지 않다.

고정자산의 취득원가
구입한 자산에는 구입대가에 직접의 부수비용을 가산하는것을 원칙으로 하며, 간접의 부수비용은 가산하지 않는 것을 원칙으로 한다.     구입이외의 방법으로 취득하였을 때에는, 현물출자, 증여, 무상취득 등에 관하여서도 원칙이 있다.     제조의  경우에는 적정한 원가계산의 기준에 따른 취득가액을 붙이지 않으면 안된다.

고정자산평가손익
고정자산의 평가를 한경우에  생기는 손익을 말한다.     고정자산의 평가손은 진부화,재해 등을 원인으로 한다.

단기대여금
보통 결산일의 익일에서 기산하여 일개년 이내에 기한이 도래하는 대여금을 말할 때도 있으나, 때로는 거래일에서 기산하여 일개년이내로 하는 {기업회계기준}상의 유동자산중의 하나이다.     원칙으로서, 기업이 외부의 제 3자에 대여하는 단기의 대여금을  말하며, 기업내부의 것에 대한 단기의 대여금은 사내입체금으로서 구별해야 한다.

단기차입금
차입금 중에 보통 결산일의 익일에서 기산하여 지급기한 1개년 이내의 것을 말한다.    거래일을 기준으로 하는 일도 있다.    유동부채의 일항목이다.

단식부기
부기의  일개형태이며, 복식부기에 대립하는 부기를 말한다.     단식부기의 본질은 복식부기와는 달라서 거래의 대차평균원리에 기인한 기입을 하지 않는 부기를 하는 것이 가장 보편적이다.

담보
대여금이나 차입금의 저당물건을 말한다.      유가증권으로서는 주식, 사채, 동산으로서는 상품, 제품, 부동산으로서는 건물, 토지 등이 있다.

당기순손익
손익계산서에 있어서 당기의 총수익에서 총비용을 차인한 순액을 말한다.     마이너스일 때에는 당기순손실로서 표시되어 자본의 증감을 표시하는 것이다.      개인 기업의 경우에는 직접 자본금의 증감으로 취급할 수 있으나, 주식회사기업의 경우에는 당기미처분이익금으로서, 주주총회에서 그 처분이 행해 진다.

당기총손익
손익계산서에 있어서 영업손익에 영업외수익항목을 가산한 금액을 말한다.     프러스 일때는 당기총이익, 마이너스일 때는 당기총손실로서 표시된다.

당좌예금
인출에 꼭 수표를 사용하게 하는 즉시불의 예금을 말하며 대표적인 유동부채이다.      예금이자는 생기지 않는다.

당좌예금출납장
은행과 당좌거래를 하는 경우 거래은행마다 계좌를 마련하여 예금의 예입과 인출을 기록하며, 당좌예금을 관리하기 위하는 장부이다.       통상은 현금출납당과 병합되어 현금예금출납장 또는 단순히 현금출납장으로 불리어 지고 있다.

당좌차월
당좌예금의 인출은 그 잔액을 한도로 하지만 미리 은행과 당좌차월계약을 체결하여 근저당을 설정하여 기간이자율, 차월한 도액을 정하여 주면  예금잔액 이상의 수표에 의한 지급에 응하여 편리를 받을 수 있다.       이 경우에 발생하는 채무를 당좌차월이라 한다.       유동부채의 일종이며, 대차대조표에서는 당좌차월 또는 단기차입금으로 표시하지 않으면 안된다.

대변
계정 또는 書表의 우측을 말한다.     부기발달의 초기에 있어서 기업과 기업외부의 대차관계를 기록하기 위하여 상대방의 인명을 과목으로 한 인명계정에 借方, 貸方의 용어를 쓴 것으로부터 유래되었다고 말하고 있다.    즉 他에서 부채를 차입하였을 때,차입금계정의 대변에 기입하는 것은 차입처를 當方에 대하여 대여측, 채권자로  되어있기 때문이다.

대손상각
대손손실, 대손금이라고도 한다.       외상매출금, 받을어음등의 매출채권 및 기타의 대여금등 채권의 일부 또는 전부가 회수불능이 되었을 때와 기말에 대손을 예상하였을  때에 이것을 영업비용으로 계상한다.     대손상각을 영업비용으로  한는 것은 대손의 발생은 경영목적 수행상 부득이한 비용으로 매출이익, 즉 영업이익을 가지고 보전해야 할 것으로 생각하기 때문이다.

대손충당금
장래의 대손에 의해 채권이 회수불능에 이르는 경우에 대비하여 결산일현재의 외상매출금, 대여금 기타 이에 준하는 채권에 일정의 율을 곱하여 충당하는 금액을 말한다.

대여금
대여증서 기타의  방법에 따른 대여를 하였을 경우에 생기는 증서채권을 말한다.     결산일의 익일에서 1년이내에 반제기한이  도래하느냐에 따라 구별을 하는 장기대여금, 단기대여금외의 대여처리가 어디냐에 따라서 종업원대여금, 관계회사대여금, 기타의 대여금등으로 구별한다.

대조계정
예로는 ()배서의무대충 xxx   ()배서의무 xxx  와 같이 대차대조표의 차변과 대변에 같은 금액으로 직접의 관련을 가진 계정을 말한다.

대차대조표
손익계산과 병행하여 기업의 가장 중요한 재무표의 하나이다.      일정시점에서 자산, 부채, 자본의 일람표를 말한다.     그 본질의 이해에는 2개의 입장이 있다.     그 첫째는 평균표라고 보는  입장이며, 둘째는 잔액표라고 보는 입장이다.     오늘날 회계에서는 후자의  입장으로 보는 것이 좀  더 일반적이라 할 수  있다.       대차대조표의 표시형식에는 계정식과 보고식이 있다.    어느것이나 일반적으로 채용되고 있으나, {기업회계원칙}, {재무제표규칙}은 주로  보고식을 채용하도록 하고 있으며 {상법}도 어느 쪽이든 좋다고 되어 있다.

대차대조표등식
기업의  재정상태를 명확히 하는 대차대조표의 자산, 부채, 자본의 관계를 수자적 표현형식을 사용하여 표시한 자산  = 부채 +  자본 의 등식을 말한다.       자산은 Aktiva; 부채는 Passiva; 자본은 Kapital의 약자이다.      이 등식은 독일의 학자인 {세어} 에 의해서 說破된 것이다.

대차대조표원칙
대차대조표를 작성, 표시하기 위하여 취어진 각종회계처리상의 원칙을 말한다.      대차대조표작성의 원칙과 대차대조표 표시의 원칙으로 이루어진다.      대차대조표의 원칙은 회계처리의  지속성의 원칙을  비롯하여 대차대조표능력결정의 원칙인 완전성의 원칙과 대차대조표 가치결정의 원칙인 평가의 원칙으로 구분된다.

대차평균의 원리
복식부기의 기조를 이룬 원리로서 거래를 필히 차변, 대변에 분개하여 그 금액을 항상 상등하게끔 한다는 원리를 말한다.    그 때문에 거래가 대차쌍방이 모두 일계정으로 성립된 것은 물론, 대차 어느 한쪽 또는 상방이 그 계정이상으로 구성되어 있는 경우라도, 차변, 대변의 금액은 항상 상등한 것이다.

매상()
매출수익을 말하며, 상품, 제품, 용역 등의 매출액을 계상하는 기준이 되는 것이다.     통상 대가를 받아 실현한  수익이다.    상품, 제품등은 이것을 발송하여 송장을 송부하여 대금을 청구하였을 때, 용역은 이것을 상대방에 인도하였을 때를 가지고 실현으로 간주하고 있다.

매입
판매를 위한 상품 또는 제조에 요하는 원재료, 저장품등을 구입하는 것을 말한다.     매입은 기업의 영업활동으로서 판매제조의 활동과 같이 가장 주요한 대외적 활동이다.     또 매이계정을 쓰는 것은 상품계정을 분할한 때 상품의 매입에 관한  일체의 거래사항을 기록하는 것으로서, 순매입액의 산출이 그 주된 목적이다.

매입수탁계정
상품의  매입을 위탁받은 상점은 매입수탁계정을 사용하게 된다.     수탁받은 상품은 자기의 매입상품과 구분하여야 되고 수탁매입에 관련된 채권과 채무를 정리하는 일종의 인명계정이므로, 청구액은 이 계정에 그대로 두거나 또는 인명계정에  옮겨야 된다.    그리고 매입할 것을 취탁한 측에서는 보통 있는 매입거래와 다를 것이없다.

매입에누리
매입에 있어 매입상품의 품질, 수량, 규격 등이 부적절하였기에 당점에서 매입처를 상대로 이의를 제기한 결과 매입처에서 받은 값의 에누리액을 말한다.

매입장
보통 상품, 재료 등의 매입에 관한 내석명세를 매입의 일자순으로 기록하는 보조장부를 말한다.       특수분개장으로 쓰는 일이  많다.

매입처원장
외상매입금원장이라고도 불리우며, 매입처에 대한 외상매입채무의 발생, 소멸을  상세하게 기록하는 보조부를  말한다.      매입처별로 인명계정을 설정하여 기록하는 것이 특징이다.

매입할인
매입현금할인이라고도 말하며, 매입대금의 기일이전의 결제에 즈음하여 매입처에서 허용되는 금융할인을 말한다.      매입할인은 매입액에서 직접공제하는 것이 바른 것으로 설파되고 또 때로는 영업외 수익으로 하는 것이 바른 것이라고도 설파(말하여짐)되고 있다.

매입환출
일정기간에 다액 또는 다량의 거래를 하였기 때문에 받은 반루액을 말한다.     매출환입의 반대개념이며, 매입할인, 매입에누리 등으로 구별된다.      매출환출을 받은 년도에 매입이 있으면, 매입액의  공제항목으로서 처리하며, 과년도의 환출이면은 영업외수익에 계상한다.

매출계정
영업계정의 일종이다.      상품,제품,용역 등의 판매량을 기입하는 계정으로 매각의 경우 대변에 반품, 에누리는 차변에 기입한다.

매출에누리
상품판매에 제하여 품질불량, 품목상이 등을 이유로 하여 판매가격에서 매출처에 허용되는 감액이다.      매출에누리는  매출액에 대한 조정항목이기 때문에 손익계산서에 표시하는데 있어서는 비용으로서가 아니라.      총매출액에서 공제하여 표시할 수있다.

매출원가
매출액에 대응하는 상품, 제품등의 매입원가를 말한다.      매출원가는 상품, 제품, 등의 매출수익에  대응하는 비용이기 때문에 그 파악은 원가로서 계속기록법에 따라야 하나, 실무에 있어서는 오히려 재고계산법에 따른 경우가 많다.

매출장
상품판매에 관한 명세를 표시하는 장부를 말한다.      거래발 생순으로 거래처, 판매상품명, 수량, 단가, 금액, 대금수수방법등을 기입한다.      그 기록은 총계정원장의 매출계정 또는 상품계정의 대변, 즉 매출관계기록과 대조관계로 나눈다.

매출총이익
매출이익이라고도 한다.       순매출액에서 매출원가를 차감한 것이 매출순이익이다.      다르게는 조이익이라고  불리우며, 기업이 영업이익의 다음으로 중요시 하는 이익이다.      기업구조의 변화가  없는한, 매출총이익의 매출에 점하는 비율에 대개 일정한 경우가 많다.

매출할인
거래처가 일정일 또는 지급기일 이전의 지급금(외상매출금)의 전부 또는 일부를 지급하는 것에  대하여 일정률로 또는 일부금액의 변제를 면제하는 일이 있다.      이것을 매출할인 또는 매출현금할인이라 한다.      이것은 외상매출금의 공제액을 표시하는 것이다.

매출환입
일정수량  또는 일정금액을 일정기간중에 매입하여, 그 대금을 결제한 거래처에 대하녀 매자(賣者)가 지급하는 반루액을  말하며, 매출에누리에 준하여 처리한다.

무형고정자산
유형고정자산에 대비되며 고정자산 중 실체를 가지고 있지 않는 것을 말한다.      {재무제표규칙}에서는 특허권, 借地權, 상표권, 실용신안권, 의장권, 광업권, 어업권과 같은 법룔상의 권리외에 수리권, 판권, 저작권, 공연권도 이에 준하는 것으로 취급된다.

미결산계정
가급금과 가수금등  가계정의 총칭으로 거래가 발생하였는데도 불구하고, 처리해야  할 계정이 결정되지 않은 경우, 또는 금액이 확정되어  있지 않은 경우, 잠정적으로 처리하기 위한  계정을 말한다.      일시적인 계정이므로 계정 혹은 금액이 확정되면 곧 적절한 계정에 대체하지 않으면 안된다.

미경과보험료
선지급비용, 미경과비용의 일종이다.       화재보험료는 당기의 비용으로 취급되는 부분뿐만아니라, 차기이후의 비용으로  취급되는 부분까지 선지급되는 경우가 많다.        , 1개년계약의  화재보험료 등의 경우이다.

미경과할인료
어음할인에 있어서 旣收(기수)의 할인료 중 차기 이후의 선수액을 말하며, 선수이익의 일종이다.       이 선수액을 기말에 차기 이월하기 위해 미경과할인료, 기타계정의 대변에 기입하는 것과 동시에 미경과할인료 기타이입계정의 차변에 기입한다.      은행부기에서는 선수액을 할인료계정에서 직접공제하지 않는다.

미수금
통상 거래이외의 거래에서 생기는 채권에 관하여 계상되는 금액을  말한다.       예를 들면, 상품판매업에 있어서, 건물, 토지, 유가증권을 매각한  경우의 미회수대금에 대한 확정채권을  말하며, 발생과정에 있어 반드시 채권과 확정되지 않은 미수수익은 다른 것이다.

미수수익
외부에 용역을 제공하고 있으나 그대가가 반드시 확정되지 않은 수익의 견적액을 말하며, 시간의 경과에  비례하여 발생하는 계약상의 수익인 점에 특징이 있다.

미지급금
미수금에 대립하는 용어이다.       그 기업본래의 거래 이외의 거래에서 발생하는 채무로서 계약 등에 의하여 이미 확정되고 있는 것 중  아직까지 지급이 끝나지 않은 채무를 말한다.        예를 들면 미지급세금,미지급배당금 등이있다.       미지급비용과는 다르다.

미착품
소유권이 이미 자기에게 귀속하고 있으나 아직가지 운송도중인  것으로 미착인 매입상품을 말한다.      미착품은  미착품계정으로 처리된다.       대차대조표상은 상품에 포함하여도 좋다.       소유권이전의 확인은 당해 매입상품을 대표하는 화물인환권 또는 선하증권의 입수를 가지고 행한다.      현물을 수취한 경우에는 상품계정 혹은 매입계정에 대체하지 않으면 않된다

받을어음
어음상의 채권을 말하며, 받을어음계정을 가지고 정리한다.    그 차변에는 타인발행의 약속어음, 타인지급의 대체어음 및 자기수취의 대체어음의 발행에 따른 어음채권의 발생을, 대변에는 어음대금의 입체, 지급거절 및 어음의 배서양도에 따른 어음채권의 소멸을 기입한다.    고로 잔액은 항상 차변에 생기며, 어음채권의 현재액을 나타낸다.

받을어음기입장
타점에서 수취한 어음의 상세한 기입을 위하여 마련된 보조부를 말한다.    이에 따라서 원장의 받을어음계정의 내용을 마련한 어음채권의 발생, 소멸에  관한 명세가 명확히 되어 각 어음의 만기일 및 금액이 직접 판명되는 외에 양자의 금액을 대조하여 기록의 옳고 그름을 검증할 수 있다.

배당금
주식회사, 유한회사, 합명회사, 합자회사가 주주와 사원에 대하여 행하는 이익의 분배액을 말한다.    배당금은 보통 현금으로 지급 되지만 주식에 의한 경우와 사채에 의하는 경우 등  여러가지 형태가 있다.

보조기입장
매입장, 매출장, 현금출납장, 경비기입장과 같은 어떤 거래 또는 계정을 일자별로 기입하는 보조부를 말한다.     이에  대하는 것에는 보조원장이 있다.

보조원장
특정의 계정에 관하여, 계좌별로 분개명세를 기록하는 보조부이며, 총계정원장의 당해계정은 보조원장의 통제계정의 역할을 한다.    이에는 매입처원장, 거래처원장, 상품재고장, 원가원장 등이 있다.

보험료
화재보험료등의 손해보험료를 말한다.     일반적으로 자가보험료를 포함한다.     공장관계의 것은 경비로 하여 월할액을 가지고 제조간접비로 하며, 판매, 일반관계의 것은 판매비 및 일반관리비가 된다.    더욱이 각종회사보험료는 복리비에 속한다.

복식부기
단식부기에 대비되는 부기법으로, 형식적특질로서 복식기입을 들 수 있으나, 다시금 실질적으로 재산, 자본의 변동이 있을 때마다 자산, 자본, 수익의 계산을 병행하는 것이 있다.

부기
경제활동에 수반하는 경제체의 가치변동과정을 파악하여, 그 원인과 결과를 명확히 하기 위한 기록, 계산의 내용 및 행위를 말한다.    그 특징은 가치계산, 기간계산, 계정계산에 있다.    부기는 여러 가지 관점에서 분류된다.

부도어음
기일에 결제되지 않는 어음을 말한다.    만기일 또는 이와 관련이 있는 이거래일 이내에 어음 소지인이  지급인 또는 수취인에 대하여 어음금액의 지급청구를 하여 이것이 파악된 경우의 어음을 말한다.

부채
본래는 제3자에 대하여 부담하는 모든 채무를 말하나, 회계상의 부채는 이보다 범위가 넓고, 기간손익게산상, 그 계상이 인정된 수선충당금과 같은 부채성충당금항목도 포함한다.    {기업회게기준}에서는 일년기준에 의하여 유동부채아 고정부채로 대별하지만, {재무제표}에서는 유동부채, 고정부채 외에 특정충당금의 부를 마련한다.

분개
부기상의 거래를 차변금액과 대변금액으로 분해하는 것을 말한다.    복식부기제도 하에서는 거래의  8요소에 의하여 거래를  분해하지 않으면 안된다.     이때 2개이상의 계정과목에 나누어 그차변과 대변에 상등한 금액을 가지고 기입한다.     분개를 기입하는 장부를 분개장이라 하며, 원시기록을 하는 것이다.

분개장
분개의 법칙에 따라 분해, 정리된 차변, 대변의 제사항을 기입하는 원시기입장을 말한다.     원장과 같이 주요부를 구성하여 원장전기의 모개부가 된다.     분개장의 형식에는 중앙부분에 적요란을 마련하여, 자우에 차변, 대변으로 기입하는 형식이나, 일자란, 적요란, 원면란, 차변란, 대변란 의 순서로 배열하는 것 등이 있다.

비용
협의로는 일정기간에 소비된 자산의 가치액을 말하며, 이에는 수익취득을 위하여 이용되어 소비된 부분을  말하는 경우와, 수익취득에 무관계한 자산의 가치소비액, 즉 손실을 또한 포함하는 경우가 있다.

비화폐성자산
현금, 예금, 유가증권 등 화펴성자산이외의 재고자산, 설비자산, 장기투자자산, 장기투자자산, 이연항목  등을 말한다.     현재총설로 되어 있는 자산항목의 분류법은 유동, 고정으로 나누고 있다. 사무용소모품
연필, 노트, 지우개, 전표, 장부 등 사무에 사용되는 소모품을 말한다.     통상 일반비적인 비용이지만 편의적으로 재고자산에 포함하여 처리하는 일이 많다.

사채
장기차입금과 겨루어 대표적인 장기부채이다.    주식회사가 자산을 차입한 경우에는 일반적인 차입금외에 증권화한 액면균일의 채권발행에 따라 장기간의 차입을 하는 일이 있다.    ,이월결손금이 있으면, 이것을 차감하지 않으면 안된다.

상각채권추심이익
대손으로서 이미 상각된 채권에 관하여, 당해기업의 파산,청산사무의 종료와 함께 분배된 할루금을 말한다.    전기손익의 수정항목이며, 손익계산서에서는 특별손익의 부에 기입된다.

상업부기
상업에 있어서 쓰여지는 부기를 말한다.      가장 특색인 점으로는 상품판매에 관한 회계절차이다.      타점의 기업부기에 비하여 비교적 이해하기 쉬운점으로, 부기원리의 연구는 상업부기를 예로 하여 배우는 경우가 많다.

상표권
무형고정자산의 일종으로서, 자기가 생산, 가공, 증명, 취득 또는 판매등의 영업에 관계되는 상품인 것을 나타낸 효장을 사용하는 권리를 말한다.

상품
상기업이 전매의 목적으로 소유하는 재화를 말한다.      상품이냐 아니냐하는 구별은, 그것을 소유하는 기업의 목적에 의하여 정하여 진다.

상품계정
상품의 매입, 매출등을 기입하는 계정을 말한다.      혼합계정이며, 차변에는 기초재고액, 매입액, 매출에누리액, 환출액등이 기입되며, 상품판매액은 차변에, 상품판매손은 대변에 기입된다.     상품계정을 분할하여 예를 들면 이월상품, 매입, 매출의 3계정으로 나누는 것이 널리 쓰이고 있다.

상품계정의  분할
이월상품, 매입, 매출의 3계정으로 나누는 외에 매입, 매출로 나누는 주가지 분할이나, 다시 세가지 게정에 매출에누리, 매출반입품, 매입에누리, 매입반출품의 각계정을 마련하는 7가지 분할법 등 각종의 것이 있다.

선입선출법
매입순법이라고도 불리우며, 실제상 어떠한 구입원가를 가진 상품, 재고등이 소비되는 것에 관계없이 항상 최초에 구입되었던 것부터 순차적으로 나가는 것으로 봐서 구입일자의 빠른 쪽 단가를 그쪽의 수량이 없어질때까지 적용한다.

손실
수익을 얻을 목적을 가지지 않고 소비된 가치를  말한다.     , 대응해야 할 수익을 가지지  않는 것으로 유가증권매각손, 대손손실, 화재손실등이 그 예이다.      손실은 때로는 수익에서 비용을 차인한차액이 마이너스가 된 경우에도 쓰인다.

손익
손실 및  이익을 총칭한 용어를 말한다.      기업활동에 의하여 얻어진 이익이 이것을 얻기 위하여 필요한  비용보다 큰 경우에 그 차액을 순이익이라 하고, 반대로 비용이 수익보다 큰 경우에 그 차액을 순손실이라 한다.

손익계산
성과게산이라고도 한다.       수익  - 비용 = 순손익 이라는 형식으로 표현할 수 있는 계산을  말한다.       기업이 낳은 수익에서, 그수익을 낳기 위하여 잃은 가이인 비용을 공제한 것으로서, 순손익이 계산된다.

손익계산서
일정기간 동안의 영업기간에서 경영성적과 그발생원인과 결과를 명확히 하기 위해서, 그 기간에 속하는 수익과 그에 대응하는 비용을 1개의 표에 기재, 표시한 계산서류를  말한다.     손익계산서의 형식으로서는, 계정식과 보고식이 있다.

손익계산서등식
비용 +  순이익 = 수익(이익)의 식을 말한다.      손익계산서는 이 식을 기조로 하여 작성되어 대차대조표 등식과 같이 부기의 기본적인 등식을 표시하는 것이다.

수익
생상활동에 의한 가치의 형성 또는 증분을 말한다.      그 액은 기업이 제공하는 급부의 대가에 의하여 측정된다.      기업의 이익은 수익, 비용의 산출에 의하여 계산된다.      수익은 영업수익과 영업외수익, 또는 기간수익과 기간외수익으로 나누어 진다.

수익비용대응의  원칙
손익계산서상에 나타나게 되는 수익계정의 합계액과 비용계정의 합계액은 일치하여야 한다는 것을 말한다.      이로 인하여 손익계산서는 차변과 대변의 합이 일치하게 되는 것이다.      만약 일치하지 않는 경우는 당기순이익이나 당기순손실의 형태로 손익계산서상에 기입된다.

수익적지출
수익의 마이너스 항목이 되는 지출, 즉 비용을 말한다.      복식회계제도하에 있어서의  지출형태는 두가지가 있다.      자본적  지출과 수익적 지출이다.      자본적 지출은 고정자산 등을 획득하기 위한 지출이며, 수익적 지출은 영업활동을 하는데 있어서 필요한  비용을 말한다.      전자는 자본에 영향을 미치지 않는 지출이고, 후자는 수익에 영향을 미치는 지출로서, 전자는 자본의  획득이 되고, 후자는 비용의 발생이 된다.

수입
현금의 수입, 수표 기타 현금등 가치있는 물건의 입수를 말한다.      이에 대한 용어에는 지출이 있다.

수탁매입
원격지의 상품을 매입할 경우에는 그 지역의 엽자에 매입을 위탁한다.      이 경우에 상품매입의 승낙을 한 업자는 이것을 수탁매입이라 부른다.      매입에 있어서 수탁자로부터 매입하는 금액의 송부가 먼저 있는 경우와 매입한 후에 금액을 송부 받는  경우가 있다.      수탁자는 이 때 상품매입에 있어서 생긴 채권,채무를 기록하여 두지 않으면 안 된다.      이 때에 설립되는 계정이 수탁매입계정으로 차변에 채권액을 대변에는 채무액을 기입한다.

수탁매입선수금
수탁매입시에 상대방으로 쿠터 전수한 금액을 말하며 부채계정으로 처리된다.

수탁판매
판매를 타기업으로부터 수탁한 경우에 이것을 수탁판매라 하며, 보통 수탁자의 명칭을 붙여서 x x x판매수탁인계정을 마련 한다.

수탁판매미지급금
판매의 수탁을 타기업으로부터 인수하여, 수탁품을 판매한 경우의 수탁처에 대한 미불금을  말한다.      수탁자는 수탁판매계정을 마련하여 입체금을 차변에, 예입금을 대변에 기입한다.

순손실
총수익에서 총비용쪽이 많을 때 생긴다.

순손익
한기간의 총수익에서 총비용을 공제한 차액을 순이익을 순이익이라 하며, 반대로 총비용이 총수익을 초과하는 경우, 그 차액을 순손실이라 한다.

순손익구분
총손익의 계산을 하는 손익계산서상의 구분을 말한다.      순손익의 구분은 손익계산서에 있어서는 경상총이익액에 특별손익을 가감한 구분이다.

순액주의
총액주의에 대하는 개념으로서, 재무제표에 있어서 금액표시를 하는 경우, 순액으로 계산하는 방법을 말한다.      즉 종종거래를 상쇄하고 차감게산할 수 있는 것은 그 결과만을 표시하는 방법이다.

순이익
총수익에서 총비용을 공제한 차액을 말한다.      개인 기업에서는 기말에 자본금에 대체된다.      주식회사에서는 자본금과  구분하여 당기미처분이익금계정에 이입한다.

시가
자산 또는 비용평가가치의 하나로 객관적인 시장가격 또는 거래처가격을 의미한다.      , 거래처의 시세가 있는 것은 그 거래가에 의하여, 또 시장시세가 없는 것은,적당한 견적에 의한 거래처시세에 준하여 추산한 가격을 말한다.      이 시가에는 재조달가치, 매각가치의 구별이 있다.

시송품
사는사람이 마음에 들 경우에만 매취하고, 마음에 들지 않을 경우에는 반각한다고 하는 조건부로, 파는 사람이 사는이에게 인도하는 상품을 말한다.      상품의 소유권은 사는이가 정식으로  매취할 의지를 표명할 때까지는 파는 사람의 수중에 있기에 최초상품의 인도는 매출의 실현이 되지는 않는다.      이 경우의 회계상 처리는 최초에 상품을 인도한 경우에는 그 사실을 기장하는 것에만 그치고, 사는이가 매수할 의지표시를 한 경우 매출로 계상한다.

시용판매
객관성을 띄운  반강제성이 있는 판매를 말한다.       상대방의 구입의사와는 무관하게, 상품을 송부하여 구매를 유발하는 판매방법을 말한다.      상대방이 매수의 의사를 표명하는 것으로서  매출이 실현된다.

실현주의
손익 특히 수익의 인식시기를 대금의 회수가 합리적으로 보증되어 재화의 판매가 이루어지는 때로 하며 따라서 자산의 평가손익을 계상하지 않는 주의 를 말한다.      파매기준은 실현주의의 적용이며, 판매를 기다려 매출수익을 계상하는 것으로서, 생산기준 및 현금주의에 대립한다액면
액면금액을 말한다.     액면주 1주의 금액 즉 액면은 균일하여야 할것을 필요로 하며, 현행상법에서는 500원을 밑돌수는 없다.액면주에 대하여 액면이 없는 주식도 있다.      이것을 무액면주라고 한다.

약속어음
일정의 금액을 일정시기에 수취인에게 지급하는 것을 약속한 증서를  말한다.      부기상의 계정으로는 쓰이지 않으나, 약속어음을 발급한 경우에는 지급어음계정의 대변에, 타인지급의 약속어음을 수취한 경우에는 받을어음계정의 차변에 기입한다.

어업권
특정의 어장에 있어서 일정기간, 채어를 허락받은 권리를 말한다.      회계상 무형고정자산으로 취급된다.

어음기입장
별도로 "증빙주당좌예금지급장"이라고도 불리운다.      일반적으로 수표발행에는 증빙이 없으면 안된다.     그래서 증빙과  지급장과를 결합하여, 수표장에 기입을 증빙에 의하여 보증하는 것으로 하였다.

어음대여금
상대방으로부터 자기은행앞 어음을 발행시켜 이것을 할인함으로써, 융자한 대여금을 말한다.

어음차입금
금융어음, 공어음 혹은 금융어음등이라고도 말하며, 어음을 금융 때문에 발행하여 이것을 할인하여 수취자금의 융통으로 하고 있지 않으므로, 지급어음계정에 계상해서는 안된다.

에누리
상품, 제품의 판매 또는 매입에 관하여 수량, 품목주복, 품질부목, 파손, 배달지연등의 원인으로 생긴 손해를 보상키 위하여, 판매가격 또는 매입가격에서 행해지는 공제액을 말한다.       매입에누리와 매출에누리로 나누어지며, 매출액 또는 매입액의 공제항목으로서  취급된다.

영업권
별도로 상호권이라고도 하며, 무형고정자산에 속한다.       무형고정자산은 특허권, 지상권과  같은 법률상의 권리와 사실상의 권리인 영업권으로 나누어져 있다.      영업권의 발생원천은 일정의 장소에 의하던가, 법률적인 권리에 의하든가 하는 이유로 하여  동일하지는 않다.     그러나 관계되는 권리의 존재에 의하여, 정상이상의 수익을 가져오는 것이 영업권의 재산적가치를 인정하는 이유가 된다.

영업비
영업비용이라고도 한다.        매출원가, 판매비 및 일반관리비의 3자를 총괄한 것을 말한다.      영업비는 영업기업에 있어서는  영업수익에 따라 cover해야 할 것이며, 영업수익과 영업비와의 차액이 영업손익이 된다.

영업수익
기업이 목적으로 하는 영업활동 즉, 상공업에 있어서는 상품, 제품 또는 용역의 판매 등의  영업활동에서 생기는 수익을 말한다.영업수익의 대표적인 항목은 매출이며, 이에  대하는 것에  영업비, , 판매비와 일반관리비가 있다.

영업외비용
이것은 주된 영업활동이외의 원천에서 발생하는 비용이며, 영업비용과 대립하는 개념이다.      경상적으로 발생하나 영업손익계산에서 구별하기  위하여, 특별이 영업외 비용이라는 개념이 쓰여진다.      주된 원천은 지급이자. 지급할인료, 유가증권매각손, 유가증권평가손등이다.

영업외수익
기업이 목적으로 하는 영업활동이외의 원천에서 생기는 수익을 말한다.       이들의 수익을 주된 경제활동에서 생기는 영업손익계산에서 구별하기 위하여 영업외수익이라고 하는 개념을 주고 있다.      이 원천으로서는 선취이자. 선취할인료, 선취배당금, 유가증권매각등이 있다.

영업이익(손실)
기업의 목적활동으로서 영업에 초래하는 이익(손실)을 말한다.      ,상업에 있어서의 상품, 공업에 있어서의 제품의 매출총손익에 판매비 및 일반관리비를 가감한것이 영업이익(손실)이다.

예금
시중은행이 한국은행이나 모은행 등에의 거래결제를 위한 자금으로서 소유하는 예금을 말한다.     이것을 처리하는 자산계정으로서 에금계정이 설정되며, 그 명세를 기록하는데 현금원장이 있다.

외상매입금
상품, 원재료등을 매입하여 그 대금이 미지급한 경우, 즉 통상의 상거래에서 생기는 부채를 말한다.      이것을 처리하는 데는 외상매입금계정을 마련한다.      상거래이외의 미지급금과는 구별할 필요가 있다.

외상매입금계정
구매처와 상거래를 한 결과 발생한 외상채무로서 상품이나 원재료의 매입대금의 미지급액 같은 것이다.

외상매출금
거래처에 대하여 외상매출채권 즉, 상품, 제품등의 매출대금의 미수액 및 가공료, 용역제공에 따른 영업수익의  미수액을 표시하는 자산계정을 말한다.      거래처가 많을 경우에, 매출금계정은 이것등의 외상매출채권을 총괄하여 표시하는 계정으로 하여,개개의 거래처에 대하는 외상매출채권은 별도로 거래처원장이라는 보조부에 인명계정좌를 마련하여 상세를 명확히 한다.

외상매출금계정
거래처와의 경상적인 상거래의 과정에서 생긴 신용채권이며, 상품, 제품, 등 재화의 판매대금의 미회수액 및 가공료, 용역의 제공에 의한 영업수익의 미수액을 말한다.

외화수취어음
외화로 표시되는 받을어음으로 외국무역의 대금 결제수단으로 쓰여지고 있다.

우발채무
현재는 아직 채무로 되어 있지는 않으나. 장래 일정조건의 발생에 따라서 확정채무로 될 수 있을런지도 알 수 없는 채권이다.

원가
추상적으로 말하면 새로운 경제가치를 창조하며, 혹은 기존의 경제가치를 증대시키기 위하여 소비되는 경제가치를  말한다.   , 제품, 반제품, 부분품의 생산, 수리, 가공 및 판매 때문에 소비된 경제가치이다.

위탁매입
상품을 타인에게 취탁하여 매입하는 것을 말한다.      위탁배입에  관한처리법은, 상품의 통상매입의 경우와 동일하며, 매입을 위해 지급한 수수료, 기타가취득가액에 가산된다.

위탁판매
상품의 판매를 타인에 위탁하되, 일정기일에 매출계산서에 의하여 정산하는 거래를 말한다.      위탁상품을 발송하였을 경우에도, 그 상품에 대한 권리의 이전은 없으므로, 적송품인 자산계정을 발생시켜 적송품원가, 적송비등을 기입한다.

유가증권
회계상은 자본증권을 말하며, 국채, 지방채, 공채, 사채등의 채권과 추권, 투자신탁등의 수익증권이 있다.

유가증권매각이익(손실)
소유의 유가증권을 장부가액보다 높은 가액으로 매각한 , 그 차액은 유가증권매각이익계정으로 처리하며, 장부가액보다 낮은 가액으로 매각한 때에는 그차액은 유가증권매각손실계정으로 처리된다.      전자는 영업외수익, 후자는 영업외비용이다.

유가증권이자
국채, 지방채, 사채등의 소유유가증권으로부터 생기는 이자를 말하여, 이것을 게상하는 유가증권이자계정은 이익에 속하는 계정이다.      우리나라의 은행에서는 발생주의 회계에 원인하는 기 경과의 미수이자는 계상하지 않기로 되어 있다.

유가증권 평가이익(손실)
기말에 있어서 일시적 소유의 유가증권시가가 장부가격보다 상승한 경우, 시가에 평가를 하였을 때에 생기는 평가익은 유가증권평가이익계정으로 처리한다.       반대로 하락한 경우에는 유가증권평가손실계정으로 처리한다.

유형고정자산
무형고정자산에 대비되며, 실체를 가진 고정자산을 말하고, 건물, 구축물, 기계장치, 선박, 차량운반구, 공구기공비품, 토지 건물가계정 등이 있다.

은행계정조정표
은행계정대조표라고도 한다.       당좌예금은 회사측과 은행측의 사이에서 그 잔고가 일치하지 않는 경우가  누차 일어난다.   기말결산에 제하여 이 불일치를 조사하는 것이 필요하다.       이 불일치원인을 명백히 하는 계산서가 은행계정조정표이다.

이동평균법
보통재고자산의 수불에 이용되는 방법으로서, 자산의 수입이 있을 때마다 그 수량  및 금액을 이미 재고한 동종재고자산의 수량 및 금액에 가하여 새로운 평균단가를 구하여, 지출원가를 결정하는 방법을 말한다.      그러므로 다음의 수입이 있고 평균단가가 개정되기까지는, 당초의 평균단가를 지출단가로서 쓰인다.

이득
일반적으로서는 고정자산이나 유가증권과 같은 비거래자산의 매각 또는 교환에 의하여 얻어지는 이익을 말한다.

이월상품계정
재고상품계정이라고도 불리우며, 상품계정을 세가지로 분류한 경우에 마련되며, 전기이월액과 차기이월액이 기입된다.

이월시산표
영미식결산에 있어서 원장결산종료후 자산, 부채 및 자본계정의 이월액을 모아서 작성하는 시산표이다.      그 목적은  정리전시산표 이후의 대체전기의 옳고 그름을 검증하는것이다.

이익
출자 또는 증자등 자본거래 이외의 원인에 의한 기업자본의 증가를 의미하는 개념으로서 일반으로는 회계기간의 총수익에서 총비용을 차인한 순액개념으로서의 순이익을 말하며,이것의 하위개념으로서는 매출총이익, 영업이익등이 있다.

인명계정
기업과 제 3자와의 채권, 채무 관계를 표시하는 계정으로 인명, 상호 등을 사용하여 쓰여진다.      물적계정에 대하는 용어이다.외상매출금원장 및 외상매입금원장에 마련된 거래처, 매입처의 각 계정은 그 대표적인 것이다.

인출금계정
개인기업에 있어서, 점주가 사용을  위하여 기업의 현금, 상품, 소모품등을 소비할 경우, 이것들을 처리하는계정을 말한다.     자본의 공제과목이다.       기말에 이 계정잔액은 자본계정에 대체 혹은 차기에 이월된다.      점주로부터 기업에 자본추가출자가 자본의 인출과 함께 때때로 행하여 질때에는 계정이에 대신하여  점주계정을 설정하는 일이 흔하다.

임대료
토지, 건물, 기계등을 일정기간 사용하는데 대하여 지급하는 요금을 말한다.      지급경비에 속하나, 이것을 원가에 짜넣을  때에는 월할로 하여 부담시킨다.

자본
보통 자산과 부채의 차액인 순자산을 말한다.     그러나 부채인 타인자본을 말할 때도 있으므로, 이것과 구별하여 자기자본이라고 하는 때도 있다.

자본금
내입자금 중 법률에서 정하여진 금액을 말한다.     상법과 세법에서는 자본이라 한다.       법정자본금 이라고도 불리운다.

자본등식
자본액을 계산하는 등식, 즉 자산  - 부채 = 자본[A -P = K]을 말한다.      이에서 자산 = 부채 + 자본의 대차대조표등식이 구해져, 부기교육상 극히 중시된다.

자본적지출
자본적 수입에 대하는 것으로서 자본적 자산, 즉 토지, 건물, 기계장치 등의 고정자산의 취득에 지출된 금액을 말한다.

자산
기업에 있어서 자본의 구체적인 존재형태를 말한다.      경제학상의 자본재에 상당하다.      유동자산, 고정자산, 이연자산 등으로 나뉜다.

잔액
자산, 부채, 자본, 손실, 이익의 대차의 차액을 말한다.      자산및 손실계정에서의 잔액은 차변에 생기고, 부채, 자본 및 이익계정에서는 대변에 생긴다.      때로는 자산, 부채, 자본의 계정잔액만을 말하는 경우도 있다.

잡비
특별히 설정된 손실, 비용계정의 어느쪽에도 속하지 않는 수익을 말한다.     그 발생이 희소하거나 발생하여도 그 금액이 근소하기때문에 독립계정을 설정하는일이 필요가 없는  것이나 양자  중 어느 한 쪽이다.

장기대여금
대여금 가운데, 보통 결산일의 익일로부터 기산하여, 대여기한 1개년이상에 걸치는  대여금을 말한다.거래일을 기준으로 하는 일도 있다.고정자산에 속하며, 대차대조표에 표시하는 경우에는, 그 성질에  따라 관계회사에  대하는 것과, 기타의 대여금과는  구분할 필요가 있다.

장기차입금
보통,결산일의 익일부터 기산하여 지급기간이 일개 년이상에 걸치는 차입금을 말한다.      또는 거래일로부터 기산하는 일도있다.      고정부태의 일종이다.

장부기입
각종의 장부에 필요기재사항을 기입하는 것을 말한다.      일반적으로 단순한 기장과 전기로 나눌 수 있다.

장부잔액
각계정 또는 장부의 대변차액을 말한다.

재고자산
재고품,작업 및 판매자산이라고도 한다.      통상의 영업과정에 있어서 판매하기 위하여 보유하는 자산 즉, 상품, 제품, 반제품, 생산과정에 있는 자산 즉, 미완성품, 생산을 위하여 직접, 간접으로 소비되는 자산 즉, 원재료 및 소모품등의 자산을 말한다.   대표적인 유동자산으로 영업수익의 중요한 수단이 되는 것이다.     감가상각의  대상이 되는 장기성자산 및 이것이 사용된 경우의  고정자산으로 분류해야 할것은 재고자산에서 제외된다.

재고자산의 시가
보통은 사업년도 종료의 날에 있어서 재고자산의 취득을 위해 통상 필요로 하는 가액을 말한다.      , 시가는 세법상 구입한 재고자산과 생산한 재고자산으로 나누어 규정하고 있다.

재고자산의 취득가액
타인으로 부터 구입한 재고자산에 관하여는 그 구입의  대가, 타인으로부터 구입이외의 방법에 의하여 취득한 재고자산에 관하여는 그 취즉시에 있어서의 가액,자기의 생산에 관계하는 재고자산에 관하여는 그 생산을 위한 원재료비, 노무비, 및 경비액의 그 재고자산의 인수운임, 하역비, 운송보험료, 구입수수료, 관세 기타 이것을 소비하기 위하여 직접 필요한 비용의 액이 포함된다.

재고자산의 평가방법
시가주의, 원가주의, 저가주의의 3개가 있다.      시가주의는 시가를 가지고  재고자산을 평가하는 입장을 말한다.     원가주의는 정확한 기간적 손익계산을 중시하며, 재고자산을 가지고 장래의 매출수익과 대비시켜야할 이연비용의 일종으로 본다.      이 입장의 평가법으로는 개별법, 선입선출법, 총평균법, 이동평균법, 단순평균법, 최종매가환원법, 후입선출법등이 있다.

재무제표
결산제표라고도 불리운다.      기업은 정기적인 손익계산을 하는 것으로  인하여 순손익의 명세와 재정상태를 기록, 계산한다. 후자가 대차대조표이며, 전자는 손익계산서이다.      {기업회계기준}이 정하는 재무제표는 대차대조표, 손익계산서, 이익금처분계산서, 부속명세서로 구성되어 있다.      또 상법에서는 대차대조표, 손익계산서, 부속명세서, 손익처분안이다.      부기의 목적을 재무제표의 작성에 있다고 할만큼 중요한 것이며, 이해관계자와 기업을 맺는 유일한 보고서이다.

재평가
자산의  평가체를 말한다.       통상기업은 원가주의에 따른 평가법을 채용하고 있다.

재할인어음
은행이 할인하여 가지고 있는 수표(어음)를 자매은행 또는 한국은행에서 다시 할인하는 것을 말한다.      재할인어음계정을 마련하여, 대변에 기입한다.       재할인수표가  쓰인 후에는 차변에 기입하여 소거한다.      재할인률은 일반의 할인률보다 낮다.

적송품
타인에게 판매를 위탁한 상품으로 발송완료의 상품을 말한다.     적송품이 판매되기까지에는 자기에게 소유권이 있다.     그러나 상품계정에서는 이 상품의 금액을 별도로 하여 두지 않으면, 결산시에 가공의 금액으로 되어 재고조사의 방해가 된다.     그래서 송부상품은 소지상품과 구별하여 표시한다.

적송품미수금계정
적송품판매를 하였을 경우 적송품의 판매가 행하여저, 수탁자로부터 매출계산서가 도래하였는데도 불구하고, 현금기타지급수단을 수취하고 있지 않을 때 위탁자가 계정을 마련하여 기입한다.      인명을 이 계정에 사용하는 경우가 많다.

적송품선수금
위탁판매를 하는 경우에 그 자금을 회수하기 위하여 하환어음을 작성하는 일이 있다.      이 하환어음을 금융기관에서 할인하면 위탁상품이 판매이전에 입금하는 것이 된다.      이것을 적송품선수금이라고 한다.

적송품손익
적송품에서 생기는 손익이며, 소액이라면 매출과 매출원가에 포함하여도 좋으나, 상당액에 달하면 별도로 표시하는 것이 손익계산서 표시의 점에서 기대되고 있다.

적송품원장
적송품의 명세를 기록하는 보조부를 말한다.       적송처별로 계좌를 마련하여, 일자, 적송품원가란, 제비용란, 매출란, 손익란외에 입금액, 적요란등을 가지고 적송품의 매매에서 생기는 명세를 기입한다.

전기
장부간 혹은 동일장부내에서 2개 이상의 상이한 기재장소에서 이미 기재된 사항의 전부 또는 원장계정간에 행해지는 것이 대표적이다.

전기이월
자산, 부채, 자본의 각계정의 전기로부터의 이월액, 환언하면 기초재고액을 말한다.      개시기입에 즈음하여 마련된다.       절차는 영미식결산법과 대륙식 결산법으로 상이하다.

전불(선급)
전도금이라고  불리우며, 상품, 재료등의 구입등에 있어 물품이나 용역의 급부를 받기전에 대금의  일부로서 교부하는 금액을 말하며, 선지급금계정 또는 전도금계정으로 처리된다.       이것은 유동자산에 속하는 것이며, 설비 및 건설의 장기에 걸친 계약에 있어 선지급한 것은 건설가계정으로 처리되며, 선지급금계정에서는 취급하지 않는다.

전불(선급)비용
선지급비용, 이연비용이라고도 하며, 이미 지풀된 비용으로서 장부완료이긴 하지만, 당기간의 비용에 귀속하지 않고 차기이후에 귀속한다고 인정하는 비용을 말한다.      이것은 아직 용역의 제공을 받지 않았기 때문에 기말에 자산으로서 이연한다.

전불(선급)이자
이미 지출한 이자이지만 당기간에 귀속되지 않고, 차기이후에 귀속한다고 인정하는 이자의 선지급액을 말한다.      기말에는 자산으로서  이연한다.      , 선지급액을 지급이자계정의 대변에 기입하는 것과 동시에 선지급이자계정의 차변에 기입하여, 이것을 차기에 이월한다.     또 차기의 최초일자로 이것을 선지급이자계정에서 지급 이자계정으로 옮긴다.      그러나 간편법으로 지급이자계정 선지급액을 직접이월하는 방법도 있다.

()수금
수주에 있어서, 물품이나 용역을 제공하기 이전에 대금의 일부로서 수령한 금액을 말하며, 선수금계정으로 처리한다.

()수수익
이연수익이라고도 불리우며, 이미 수입이 되어 수익으로서 기장완료되었으나.      당기간에 귀속하는 수익은 아니고, 차기이후에 귀속한다고 인정되는 수익을 말하며, 선수이자. 선수임대료 등이 있으며, 급부의 미완료임으로 부채로서 이연된다.

()수이자
수입한 이자 중 당기에 귀속되지 않고 차기이후에 귀속되는 이자를 말한다.      이것은 이연수익의 일종이므로 기말에 부채로서 이연한다.      ,이자의  선수액은 선취이자계정이 차변에 기입하는 것과 동시에,선수이자계정의 대변에 기입하며 이것을  차기에 이월한다.      또 선수액은 차기최초의 일자로 선수이자게정에서 선취이자계정에 환입된다.       더욱이 같편법으로서 선수이자계정을 설정하지  않고, 선취이자계정으로 선수액을 이월하는 방법도 있다.

정리기입
수정기입이라고도 불리운다.      시산료에 집계된 각계정의 금액은 부기상의 금액을 근원으로 하여 집계된 것이다.      그렇지만 이 금액이 기말에  있어서 실제를 반영하고 있지 않을 경우에는 수정하지 않으면 안된다.

정액법
균등상각법 또는 직선법이라고도 한다.      고정자산의 내용년수 중 매기 동일액의 감가상각비를 계상하는 방법을 말한다.    이 상각법은 감가가 내용기간 중 시간의 경과와 같이 평균적으로 발생하는 자산에 이용하는 것이 바람직하다.      따라서, 건물, 구축물, 비품등의 유형고정자산 및 무형고정자산등에 쓰인다.

정산표
결산표라고도 한다.       잔액시산표란, 정리기입란, 손익계산서란, 대차대조표란을 한 곳에 집합시킨 표를 말한다.      이것은  시산표가 수정되어 대차대조표와 손익계산서로 분해되는 것을 한표로 볼수 있으므로 결산일람표이다.

정액자금선대제
현금의 관리 때문에 수입한 현금은 모두 당좌예금으로 하고 지급은 원칙으로 수표에 의한다고 하였을 때 소액의 지급에 관하여서만 수표에 의하지 않고 일정기간의 필요액을 견적하여 이에 상당하는 일정액을 용도계에 전도하여 그 기의  지급은 소액현금출납장에 기입하여, 기말에 실제의 지급액을 보고시켜, 그와  동액을 보급하며, 기초에는 항상 일정의 금액이 용도계의 수중에  있도록하여 용도계의 책임을 한정하는 방법을 말한다.

제좌
계정과목이 2개이상 있는 것을 말한다.      예를 들면 분개에 있어서, 계정과목이 동일측에 2개이상 있을 때 그  위에 붙이는 경우가 많다.     생략되는 경우도  있다.      분개를 원장의 계정계좌에 전기할  경우, 일자, 금액 외 적요란에 상대계정을 기입하나,상대계정이 2개이상의 경우에는, 제좌로 기입하는 일도 있다.

지급어음
채무를 결제하기 위하여 발행하는 약속어음, 및 환어음의 인수를 하여 채무가 발생하는 경우의  어음을 말한다.      어음채무의 발생 및 소멸을 처리하기 위하여 지급어음계정을 설정하여, 어음채무의 발생을 대변에, 소멸액을 차변에 기입한다.

지급어음기입장
어음채무의 내용을 상세하게 기입하기 위한 장부를  말한다.     통상은 보조부로서 쓰여지나, 특수분개장으로 사용되는 경우도 있다.

지급이자
기업외부로부터 차입한 채무에 대한 이자로, 영업외비용으로서 손익계산서에 표시된다.      어음의 할인료와 함께 지급이자 및 할인료가 되는 경우도 있다.

지급할인료
어음을 금융기관에서 할인하여 주었을 때 지급하는 수수료를 말한다.      영업외비용으로서 처리된다.      지급이자와 같은 성질을가지고 있기 때문에 지급이자 및 할인료로서 일괄되는 경우가 많다.     어음액면,이율과 할인일수에 의하여 산식으로 계산한 할인료가 지급된다.

지출
현금 또는 예금이라고 하는 통화를 수입한 급부의 대가로하여 인도하는 것.      ,기간계산에 있어서는 지출이 그대로 비용의 발생을 의미하는 것은 아니다.

직접법(저가주의평가의)
저가주의에 의하여,평가손을 계상한경우 즉, 원가를 시가에 수정할 때,    ()평가손 x x x     ()재고자산 x x x  의 처리를 하여 평가손을 직접자산원가에서 차감하는 방법을 말한다.      직접비의  아래에서는 차기에 있어서 시가와  비교되는 가액은 절하전의  원시원가가 아니고, 평가손절하 후의 장부가액이다.      이방법을 흔히들 절방저가법이라고 하는 경우도 있다.

직접법(감가상각의)
공제법이라고도 한다.      간접법에 대립하는 처리법으로 그 기의 감가상각액을 손익계산에 비용으로 계상한 다음에 충당금을 마련하여 않고, 이것을 당해 고정자산계정의 차변에 직접기입하여, 그대차차액을 당해자산의 장부가액으로서 표시하는 방법이다.

차기이월
장부의 각면 금액란의 최종행에 기입되는 용어를 말한다.      담해면의 합계금액을 산출하여, 차면의 제 1행에 같은 금액을 {전면에서 이월}로 기입하여 조합에 쓸모있게끔 한다.

차변
계정 또는 서표의 좌측을 말한다.     부기발달상, 초기의 장부기입에 있어서는 거래처와의 금전대차를 거래처별로 계정과목을 마련하여 금전을 대여하였을 때 그 좌측에 기입하며,차입하였을 때우측에 기입하였다.      그 때문에 좌측을 차변, 우측을 대변이라 불렀다.

차입금
영업상 자금부족의 경우, 기업외부에서 차입한 금액을 말한다.      사채도 넓게 말하면 차입금이지만, 대차대조표에서는 별도로 표시한다.      어음을 발행하여 수입한 것도 어음차입금으로 한다.      그러한 의미로 증서에 따른 차입시에 이 차입금을 쓰는 일이 많다.

차입선출법
일종의 시가주의로 생각할 수 있다.       재고품을 인도한 때에는 즉각 보충하는 의무가 있다고 하는 사고방식에 따라서 보충을 위한 원가를 가지고 인도품의 불출가액을 계산하는 방법을 말한다.

총계정원장
단순히 원장이라고도 부른다.      부기상의 거래는 모두 분개를 통하여 계산단위로서의 계정계좌의 모든것을 모은 장부를 말한다.      분개장과 같이 회계장부의 주요부이다.

총계정원장계정
독자평균원장에 마련되는 계정을 말한다.      기업규모가 광대하여 거래가 증대하면 계정과목수가 극히 다수가 되기 때문에, 동종, 동질성의 계정을 모아서 별책의 보조원장으로 하고, 총계정원장에는 총괄계정을 두어 보조원장의 전계정을 대표하는 일이 행해진다.

총평균법
전기이월액과 당기수입액의 합계액을 전기이월량과 당기수입수량의 합계 수량으로 제한 평균단가를 불출수량  및 재고수량에 적용하여, 불출원가 및 재고가액을 산정하는 방법을 말한다.

충당금
장래의 특정비용에 대한 준비액으로 그 부담이 당해기간에 속하여, 그 금액을 합리적으로 견적할수 있는 것을  말한다.     회계상 평가성충당금과 부채성충당금으로 대별된다.       전자는 감가상각충당금, 대손충당금과 같이 특정자산에 대한 공제적성격을 가진 것이며, 후자는 납세충당금, 수선충당금과 같은 고정부채의 성격을 가진 것으로 나누어 진다.

취득원가
취득가액이라고도 하며, 회계 및 부기상기록의 기초가 되는 가액을 말한다.     취득가액은 매입가액 또는 제조원가와 이에 관련된 부수비용의 합계액이다.

토지
영업상 이용되고 있는 것도 장래 사용할 예정의 것도, 또는 투자로서 소유하는 것도 포함한다.     토지의 취득가액은 매입인 때에는 매입대금외에 직접의 부대비를 포함한다.

통신비
지급경비의 일종으로 통신때문에 필요한 비용을 말한다.     전신, 전화, 우편요금 등이다.      공장관계의 것은 제조간접비에 영업사무관계는 판매비 및 일반관리비로서 처리된다.

통제계정
통괄계정이라고도 하며, 총계정원장에 마련되고, 보조원장에 기록된 다수의 동종내석계정을 통괄하여 이것을 대표하는 계정을 말한다.

투자
장기에 걸치는 융자를 말하며, 관계회사와 자회사에 대한 융자가 대표적이다.      자산에 속하는 과목에는 투자유가증권, 관계회사주식 및 관계회사 사채, 출자금, 관계회사에 대한 출자에 장기대여금  등이 있다.

투자유가증권
투자에 속하는 자산으로서 유가증권에의 장기투자를 말한다.      장기에 걸쳐서 여유자금이 있는 경우, 타회사의 주식, 사채, 공채, 국채등의 유가증권을 취득하는 경우가 있으며, 이러한 자산을 내용으로 한다.      그 평가는 원칙으로서 취득원가로 하는 것이고, 평가손익을 계상하지 않는것이 그 방침이나, 가치가 현저하게 하락하였을 때에는 평가손을 계상할 필요가 있다.

(T)자형계정
계정형식의 약식을 말한다.

평가계정
주된 계정에 부속된 계정을 말하여, 주계정의 현재가치를 평가하기 위하여 존재한다.      이에는 주계정에 대하여 상쇄적 역할을가진 상쇄공제계정과 부가적 역할을 가진 부가계정이 있다.

평가손익
자산평가에 의하여 발생하는 신가액과 구가액의 차액을 말하며, 가액인하에 의한 것이 평가손, 인상에 의한 것이 평가익이다.  평가원칙에 기인한  평가손의 계상은 {기업회계원칙}과 상법도 인정하고 있으나, 평가액은 미실현이익의 계상이 되기 때문에,일반적으로 인정되지 않고 있다.

 

하환어음
하송인이 타지방에  상품을 발송하는 경우 또는 은행을 수취인으로 하여 하수인앞으로 발행하는 환어음을 말하며, 화물대표증권(선하증권,화물인환증 등), 보험증권, 송장등을 첨부하기로 되어 있다.      은행에서 이것을 할인하는 것을 하환의 {짝지움}이라 한다.

할부매출
상품의 매출대금을 분할납부의 방법을 판매하는 것을 말하며, 상품의 인도가 되었어도 그 소유권은 매주에 이전하지 않기 때문에 회계상도 판매의 실현으로 보지 않는 것이 통례이며, 할부금의 입금시를 매수준익실현으로 하는 할부기준의 적용이 인정되어 있다.     할부매출에는 각종의 처리방법이 있다.

할인어음
수취한 어음을 은행등에서 할인하였을 때, 이것을 할인어음이라 하고, 할인어음계정에 기입한다.      받을어음계정의 대변에 기입하지 않는 것이 특징이다.

현금
기업의 지급수단으로서  가장 기본적인 것이며, 중요한 것이었으나 그 지급수단으로서의 역할은 당좌예금에 옮겨졌다.      부기,회계에서 현금으로서 처리되는 것에는 통화,화폐의 대표증권, 타인발행소액환, 송금대체어음, 송금소액환, 은행예금어음, 우편증서, 전신환, 대체저금계정을 설정하여, 그 증가액을 차변에 감소액을 대변에 기입한다.

현금거래
현금의 수지를 수반하는 거래로 출금거래와 입금거래로 나누어진다.      금액을 현금수지로 처리하지 않고, 그 일부가 현금일경우에는 일부 현금거래가 되며, 타는 대체거래로서 처리한다.

현금과부족계정
현금의 과부족을 처리하는 계정을 말한다.      현금출납사무 및 이에 관한 기장, 계산사무가 적정하고 완전하게 행하여지고 있다면, 현금에 대해서의 기장잔액과 실제재고액은 당연히 일치한다.      그러나 실제에는 여러가지이유에서 간혹 불일치가 생긴다.  불일치의 원인을 철저하게 조사해야할 것이지만,당일의장부마감 때까지 그 이유가  판명되지 않을경우에는 기장정리상 일시적으로 부족액을 이 계정의 차변,과잉액을 대변에 처리하여 두고, 불일치의 원인이 판명되면 그에 따라서 이것을 적당한 계정에 대체한다.      결산일 까지도원인불명으로 계정에 남아 있는 분에 대해서는 잡비계정 또는 잡수익계정에 대체한다.

회계년도
영업년도라고도 한다.      계산정리의 편의상 인위적으로마련한 일정의 기간을 말한다.      오늘날의 회계는 기간적계산으로서 영업년도의 종말에 그 기간의 수지결과로서 재정상태의 정확한 표시와 손익액을 결정 짓는 것이다.

회계단위
회계가 하여지는 범위를 말한다.      구체적으로는 기업의 본점, 지점, 공장, 사무장이 각기 독립하여 손익계산과 재정상태의 확정을 할 수 있는 경우에, 회계단위가 존재한다.

후입선출법
원가주의에 따른 재고자산의 원가배분방법의 일종으로써, 전에는 매입역법으로 불리었다.       이 방법은 실제에 있어서 어떠한 매입원가의 재고자산이 어떠한 순서로 출고되느냐를 무시하여 출고하는 재고자산은 재고품 중 항상 가장 새롭게 매입된 것으로 이루어졌다고 하는 가정에 기인하고 있다.

 

 


Posted by 사라링

SYS_CONNECT_BY_PATH

2012. 7. 26. 15:34

SYS_CONNECT_BY_PATH

문법

sys_connect_by_path::=
Description of sys_connect_by_path.gif follows

그림 설명

목적

SYS_CONNECT_BY_PATH함수는 계층적 쿼리에서 유의하다. 이 함수는 루트로 부터 node로 열의 값 Path를 반환환다. column 값은 CONNECT BY 조건에 의해 반환되는 각행을 char에 의해 분리된다.

column과 char의 데이터형은 CHAR,VARCHAR2,NCHAR,NVARCHAR2이다. 반환되는 문자열은 VARCHAR2형이고, column과 같은 문자 집합이다.

SYS_CONNECT_BY_PATH(column, char) 함수는 계층적 쿼리(계층구조)에서만 유효하며, column의 절대 경로를 char로 지정한 문자로 분리하여 반환한다.

예제

다음 예제는 Kochhar이름의 종업원으로 부터 Kochhar 모든 종업원에게 종업원 이름의 Path를 반환한다.

SELECT LPAD(' ', 2*level-1)||SYS_CONNECT_BY_PATH(last_name, '/') "Path"
FROM employees
START WITH last_name = 'Kochhar'
CONNECT BY PRIOR employee_id = manager_id;

Path
---------------------------------------------------------------
 /Kochhar
   /Kochhar/Greenberg
     /Kochhar/Greenberg/Faviet
     /Kochhar/Greenberg/Chen
     /Kochhar/Greenberg/Sciarra
     /Kochhar/Greenberg/Urman
     /Kochhar/Greenberg/Popp
   /Kochhar/Whalen
   /Kochhar/Mavris
   /Kochhar/Baer
   /Kochhar/Higgins
     /Kochhar/Higgins/Gietz
테이블 전치 : http://blogbbs1.media.daum.net/griffin/do/blognews/cafe/read?bbsId=CF01&articleId=13122&pageIndex=17&searchKey=&searchValue=
select * from hrm_bas_mgt;
select * from hrm_dept;
--1번
select * from hrm_bas_mgt where main_thsis is not null;
--2번
select emp_nm from hrm_bas_mgt where emp_nm like '%김%' union
select emp_nm from hrm_bas_mgt where emp_nm like '%주%';
--3번
select emp_nm as 성명, fn_get_crypt('D',RES_NO)as 주민번호,substr(fn_get_crypt('D',RES_NO),3,2),
case when to_number(substr(fn_get_crypt('D',RES_NO),3,2)) between 01 and 03 then '1분기'
        when to_number(substr(fn_get_crypt('D',RES_NO),3,2)) between 04 and 06 then '2분기'
        when to_number(substr(fn_get_crypt('D',RES_NO),3,2)) between 07 and 09 then '3분기'
        when to_number(substr(fn_get_crypt('D',RES_NO),3,2)) between 10 and 12 then '4분기'
else '알수 없음'
end  분기 from hrm_bas_mgt order by 3;
--4번
select emp_nm as 성명,  fn_get_crypt('D',RES_NO) as 주민등록번호 from hrm_bas_mgt where  to_number(substr(fn_get_crypt('D',RES_NO),3,2)) between 01 and 04;

-- 5번
select * from (select emp_nm as 성명,  fn_get_crypt('D',RES_NO) as 주민등록번호 ,
dense_rank() over (order by  (to_number(substr(fn_get_crypt('D',RES_NO),3,4))))as rownums
 from hrm_bas_mgt  ) where rownums between 20 and 40;
--6번
select B.dept_nm,count(A.dept_cd) from hrm_bas_mgt A 
                       LEFT OUTER JOIN hrm_dept B
                       ON A.DEPT_CD = B.DEPT_CD(+)
                       group by B.DEPT_nm
                       order by 2 desc;
                      
--7번

select A.emp_nm,
        A.emp_no,
        B.fmly_nm,
      row_number() OVER (PARTITION BY A.EMP_NO order by B.fmly_nm) RNUM
      from HRM_BAS_MGT A,HRM_FMLY B
     
      where A.EMP_NO = B.EMP_NO;
                   
         
          select emp_nm as 성명,
          substr(max(sys_connect_by_path(fmly_nm,',')),2)  as 가족성명
         from  (select A.emp_nm,
            A.emp_no,
            B.fmly_nm,
          row_number() OVER (PARTITION BY A.EMP_NO order by B.fmly_nm) RNUM
          from HRM_BAS_MGT A,HRM_FMLY B
          where A.EMP_NO = B.EMP_NO
          ) where emp_nm is not null
    start with RNUM =1
    connect by prior RNUM = RNUM -1
        and prior emp_no =emp_no
        group by emp_nm;
       
    select * from hrm_dept;
   
   
    select dept_nm as 부서명,
    substr(max(sys_connect_by_path(dept_cd,'.')),2  )as 모음 from
   (     
    select dept_nm,
       dept_cd,
      row_number() OVER (PARTITION BY dept_nm order by dept_cd ) RNUM
      from HRM_DEPT)
start with RNUM =1
connect by prior RNUM = RNUM -1
    and prior dept_nm =dept_nm
 group by dept_nm ;
     

1SQL능력평가

제한시간 30.

동점시 먼저 제출한 사람이 WINNER.

따로 표시가 없는 문제에 대한 정렬은 무조건 성명(EMP_NM) 오름차순 ASC.

문제를 풀고 SQL문을 확장자(.SQL) 파일로 저장 후 제출.

채점은 SQL문 실행 후 결과 확인.

 

<참조 테이블>

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1. HRM_BAS_MGT 테이블에 주요논문(MAIN_THSIS) 컬럼을 이용하여 주요논문이 등록되어 있는(NULL이 아닌) 사원을

조회하는 SQL문을 작성 하시오.

<성명, 주요논문>

 

(실행화면)

 

SELECT *

FROM HRM_BAS_MGT

WHERE MAIN_THSIS IS NOT NULL;

 

 

2. HRM_BAS_MGT 테이블에 성명(EMP_NM) 컬럼을 이용하여 성명에 '' 또는 ''가 들어가는 사원을 같은 건이

중복되지 않게 조회하는 SQL문을 작성 하시오.

(, UNION 또는 UNION ALL을 이용하여 작성한다.) <성명>

 

(실행화면)

 

SELECT DISTINCT (EMP_NM)

FROM (SELECT EMP_NM

FROM HRM_BAS_MGT

WHERE EMP_NM LIKE '%%'

UNION ALL

SELECT EMP_NM

FROM HRM_BAS_MGT

WHERE EMP_NM LIKE '%%')

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3. HRM_BAS_MGT 테이블에 암호화 된 주민번호(RES_NO) 컬럼을 이용하여 생일을 분기별로 구분하여 조회하는

SQL문을 작성하시오.

(1~31분기,4~62분기, 7~93분기, 10~124분기)

* 다음 함수를 이용하여 FN_GET_CRYPT('D',RES_NO) 복호화 한다.

<성명, 주민번호, 분기>

 

(실행화면)

SELECT EMP_NM AS 성 명

,FN_GET_CRYPT ('D', RES_NO) AS 주 민 번 호

,SUBSTR (FN_GET_CRYPT ('D', RES_NO), 3, 2)

,CASE

WHEN SUBSTR (FN_GET_CRYPT ('D', RES_NO), 3, 2) BETWEEN '01' AND '03' THEN '1분 기 '

WHEN SUBSTR (FN_GET_CRYPT ('D', RES_NO), 3, 2) BETWEEN '04' AND '06' THEN '2분 기 '

WHEN SUBSTR (FN_GET_CRYPT ('D', RES_NO), 3, 2) BETWEEN '07' AND '09' THEN '3분 기 '

WHEN SUBSTR (FN_GET_CRYPT ('D', RES_NO), 3, 2) BETWEEN '10' AND '12' THEN '2분 기 '

END AS 분 기

FROM HRM_BAS_MGT

ORDER BY SUBSTR (FN_GET_CRYPT ('D', RES_NO), 3, 2);

 

4. HRM_BAS_MGT 테이블에 암호화 된 주민번호(RES_NO) 컬럼을 이용하여 생일이 1,2,3,4월인 사원을

조회하는 SQL문을 작성 하시오.

* 다음 함수를 이용하여 FN_GET_CRYPT('D',RES_NO) 복호화 한다.

<성명, 주민번호>

(실행화면)

SELECT EMP_NM AS 성 명

,FN_GET_CRYPT ('D', RES_NO) AS 주 민 번 호

, (RANK () OVER (ORDER BY SUBSTR (FN_GET_CRYPT ('D', RES_NO), 3, 4))) ROWNUMS

FROM HRM_BAS_MGT

WHERE SUBSTR (FN_GET_CRYPT ('D', RES_NO), 4, 1) = 1

OR SUBSTR (FN_GET_CRYPT ('D', RES_NO), 4, 1) = 2

OR SUBSTR (FN_GET_CRYPT ('D', RES_NO), 4, 1) = 3

OR SUBSTR (FN_GET_CRYPT ('D', RES_NO), 4, 1) = 4

 

 

 

5. 4번에서 조회한 사원들 중에서 생년월일이 빠른 직원 20번째부터 40번째 까지 조회하는 SQL문을 작성 하시오.

(나이가 많은 순으로 정렬)

<성명, 주민번호, 순번>

 

(실행화면)

SELECT *

FROM (SELECT EMP_NM AS 성 명

,FN_GET_CRYPT ('D', RES_NO) AS 주 민 번 호

, (RANK () OVER (ORDER BY SUBSTR (FN_GET_CRYPT ('D', RES_NO), 3, 4))) ROWNUMS

FROM HRM_BAS_MGT

WHERE SUBSTR (FN_GET_CRYPT ('D', RES_NO), 4, 1) = 1

OR SUBSTR (FN_GET_CRYPT ('D', RES_NO), 4, 1) = 2

OR SUBSTR (FN_GET_CRYPT ('D', RES_NO), 4, 1) = 3

OR SUBSTR (FN_GET_CRYPT ('D', RES_NO), 4, 1) = 4)

WHERE ROWNUMS BETWEEN 20 AND 40

ORDER BY ROWNUMS

,주 민 번 호

 

6. HRM_BAS_MGT 테이블과 HRM_DEPT 테이블을 이용하여 부서(DEPT_NM)별로 그룹하여 부서별 인원수가 8명 이상인

부서만 조회하는 SQL문을 작성 하시오. (인원수가 많은 부서순으로 정렬)

<부서명, 인원수>

 

(실행화면)

 

SELECT *

FROM (SELECT B.DEPT_NM

,COUNT (A.DEPT_CD) AS CNT

FROM HRM_BAS_MGT A

,HRM_DEPT B

WHERE A.DEPT_CD = B.DEPT_CD(+)

GROUP BY B.DEPT_NM)

WHERE CNT >= 8

ORDER BY CNT DESC;

 

 

 

 

 

 

 

7. HRM_BAS_MGT 테이블과 HRM_FMLY 테이블을 이용하여 사원별로 가족들을 이름순으로 가로로 나열 하는 SQL문을

작성 하시오.

(, 가족이 없는 사원들은 '가족없음'으로 표시되게 하시오.)

<성명, 가족성명>

 

(실행화면)

SELECT EMP_NM AS 성 명

,SUBSTR (MAX (SYS_CONNECT_BY_PATH (FMLY_NM, ',')), 2) 가 족 성 명

FROM (SELECT A.EMP_NM

,A.EMP_NO

,B.FMLY_NM

,ROW_NUMBER () OVER (PARTITION BY A.EMP_NO ORDER BY B.FMLY_NM) RNUM

FROM HRM_BAS_MGT A

,HRM_FMLY B

WHERE A.EMP_NO = B.EMP_NO)

WHERE EMP_NM IS NOT NULL

START WITH RNUM = 1

CONNECT BY PRIOR RNUM = RNUM - 1

AND PRIOR EMP_NO = EMP_NO

GROUP BY EMP_NM

 

8. 7번에 작성된 결과를 VIEW로 생성하시오.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

9. <추가문제> 다음은 부서별(DEPT_NM) 사원(EMP_NM)들의 급여(PAY_AMT)를 조회하는 SQL문이다. 아래

SELECT문을 수정하여 부서별 급여의 합계를 구하는 SQL문을 작성하시오.

(정렬은 상관없음.)

 

WITH TEMP AS(

SELECT '기획조정실' DEPT_NM ,'이주임1' EMP_NM ,20000 PAY_AMT

FROM DUAL

UNION ALL

SELECT '기획조정실' DEPT_NM ,'이주임2' EMP_NM ,30000 PAY_AMT

FROM DUAL

UNION ALL

SELECT '기획조정실' DEPT_NM ,'이주임3' EMP_NM ,20000 PAY_AMT

FROM DUAL

UNION ALL

SELECT '기획조정실' DEPT_NM ,'이주임4' EMP_NM ,15000 PAY_AMT

FROM DUAL

UNION ALL

SELECT '공공사업부' DEPT_NM ,'황주임1' EMP_NM ,15000 PAY_AMT

FROM DUAL

UNION ALL

SELECT '공공사업부' DEPT_NM ,'황주임2' EMP_NM ,26000 PAY_AMT

FROM DUAL

UNION ALL

SELECT '공공사업부' DEPT_NM ,'황주임3' EMP_NM ,38000 PAY_AMT

FROM DUAL

UNION ALL

SELECT '공공사업부' DEPT_NM ,'황주임4' EMP_NM ,40000 PAY_AMT

FROM DUAL

UNION ALL

SELECT '인사총무실' DEPT_NM ,'김주임1' EMP_NM ,56000 PAY_AMT

FROM DUAL

UNION ALL

SELECT '인사총무실' DEPT_NM ,'김주임2' EMP_NM ,46000 PAY_AMT

FROM DUAL

UNION ALL

SELECT '인사총무실' DEPT_NM ,'김주임3' EMP_NM ,38000 PAY_AMT

FROM DUAL

UNION ALL

SELECT '인사총무실' DEPT_NM ,'김주임4' EMP_NM ,60000 PAY_AMT

FROM DUAL

UNION ALL

SELECT '인사총무실2' DEPT_NM ,'우주임1' EMP_NM ,56000 PAY_AMT

FROM DUAL

UNION ALL

SELECT '인사총무실2' DEPT_NM ,'우주임2' EMP_NM ,46000 PAY_AMT

FROM DUAL

UNION ALL

SELECT '인사총무실2' DEPT_NM ,'우주임3' EMP_NM ,38000 PAY_AMT

FROM DUAL

UNION ALL

SELECT '인사총무실2' DEPT_NM ,'우주임4' EMP_NM ,60000 PAY_AMT

FROM DUAL

)

SELECT DEPT_NM

,EMP_NM

,PAY_AMT

FROM TEMP

 

 

(실행화면)

 

 

 

 

10. <추가문제> 9번 문제를 부서별 합계 금액이 큰 순서로 정렬하는 SQL문을 작성하시오.

 

 

(실행화면)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

수고하셨습니다.*^^*


'오라클' 카테고리의 다른 글

오라클 백업 및 복구(Export, Import)  (0) 2012.08.10
OUT Join  (0) 2012.08.08
오라클 구조 보기 sql 문 (desc)  (0) 2012.06.07
오라클연습  (0) 2012.05.08
sqlplus에서 셀렉트 update문 가져 오기.  (0) 2012.05.08
Posted by 사라링

Jeus 기본 설정 통합

 | Jeus
2012. 7. 23. 17:40

JEUS 설정 종합

분류없음 2008/01/10 16:14

### JEUS/WEBTOB 연동하기 ###

--------------------------------------------------------------------------------------

1. webtob 설정

- 웹투비홈/config/http.m의 각 항목에 추가합니다.

*NODE

JSVPORT = 9900

*SVRGROUP

jsvg NODENAME=노드이름, SVRTYPE=JSV

*SERVER

MyGroup SVGNAME=jsvg, MinProc=10, MaxProc=10

*URI

uri2 Uri="/examples/", Svrtype=JSV

--------------------------------------------------------------------------------------

2. jeus 설정

- 제우스홈/config/노드이름/노드이름_servlet_engine1/WEBMain.xml 수정

<webserver-connection>
<webtob-listener>
<listener-id>webtob1</listener-id>
<port>9900</port>
<hth-count>1</hth-count>
<webtob-address>IP 혹은 127.0.0.1(동일서버에 JEUS와 WEBTOB존재시)</webtob-address>
<registration-id>MyGroup</registration-id>
<thread-pool>
<min>4</min>
<max>10</max>
<step>2</step>
<max-idle-time>30000</max-idle-time>
<max-wait-queue>4</max-wait-queue>
</thread-pool>
</webtob-listener>
</webserver-connection>


--------------------------------------------------------------------------------------

3. 제우스홈/bin/jeus.properties 조정

- JEUS_WSDIR 부분을 주석처리 하거나 삭제

- PATH 에서 $JEUS_HOME/webserver 부분도 제거

--------------------------------------------------------------------------------------

4. webtob 와 jeus 를 부팅 후 확인

http://주소:8080/exapmples/index.jsp 에서 테스팅 페이지 보기

--------------------------------------------------------------------------------------

### DB 연동 ###

--------------------------------------------------------------------------------------

* MySQL 커넥션풀 샘플 (WEBMain.xml에 추가)

JEUS에서 제공하는 ConnectionPool은 JDBC Drive를 통해 얻은 Connection의 관리는
엔진에서 해주는 것이므로 JDBC Driver를 $JEUS_HOME/lib/datasource 아래에 두고
DBConnectionPool은 container.xml에 DataSource는 JeusMain.xml에 다음과 같이
설정을 하시면 사용하실 수가 있습니다.

1) DBConnectionPool
------------------------------------------------------------------------------
<DBConnectionPool MaxUseCount="-1"
ConnectionPoolType="shared"
CloseDelayMillis="-1"
MaxActiveTimeSecs="-1"
ConnectionPoolID="mysql-shared"
ConnectionArguments="user=root;password="
DriverClassName="org.gjt.mm.mysql.Driver"
DynamicIncrement="true"
ConnectionURL="jdbc:mysql://localhost:3306/mysql"
LoginDelayMillis="-1"
CloseLongActiveConnection="false"
ConnectionTimeOutSecs="10">
<DBPoolControl MaxCapacity="30"
InitCapacity="20"
MaxIdleTimeSecs="300"
IncrementRate="4" />
<DBAConnection ForcedClose="false" />
</DBConnectionPool>


2) DataSource
------------------------------------------------------------------------------
<DataSource>
<Database>
<Vendor>others</Vendor>
<ExportName>mysql</ExportName>
<DataSourceClassName>
jeus.jdbc.driver.blackbox.BlackboxConnectionPoolDataSource
</DataSourceClassName>
<Property>
<Name>URL</Name>
<Type>java.lang.String</Type>
<Value>jdbc:mysql://localhost:3306/mysql</Value>
</Property>
<Property>
<Name>DriverClassName</Name>
<Type>java.lang.String</Type>
<Value>com.mysql.jdbc.jdbc2.optional.MysqlConnectionPoolDataSource</Value>
</Property>
<Property>
<Name>Password</Name>
<Type>java.lang.String</Type>
<Value></Value>
</Property>
<Property>
<Name>User</Name>
<Type>java.lang.String</Type>
<Value>root</Value>
</Property>
<DataSourceType>ConnectionPoolDataSource</DataSourceType>
<ConnectionPool>
<MinPoolSize>4</MinPoolSize>
<MaxPoolSize>4</MaxPoolSize>
<IncreasingStep>1</IncreasingStep>
<ResizingPeriod>10</ResizingPeriod>
<OperationTimeout>30000</OperationTimeout>
<WaitForFreeConnection>
<WaitingTime>10000</WaitingTime>
</WaitForFreeConnection>
</ConnectionPool>
</Database>
</DataSource>
--------------------------------------------------------------------------------------

* Oracle 커넥션풀 샘플 (JEUSMain.xml의 </node>하단에 추가)

<resource>
<data-source>
<database>
<vendor>oracle</vendor>
<export-name>오라클UID</export-name>
<data-source-class-name>oracle.jdbc.pool.OracleConnectionPoolDataSource</data-source-class-name>
<data-source-type>DataSource</data-source-type>
<database-name>디비명</database-name>
<data-source-name>oracle.jdbc.pool.OracleConnectionPoolDataSource</data-source-name>
<network-protocol>tcp</network-protocol>
<user>scott</user>
<password>tiger</password>
<port-number>1521</port-number>
<server-name>아이피 또는 127.0.0.1</server-name>
<driver-type>thin</driver-type>
<connection-pool>
<pooling>
<max>20</max>
<step>1</step>
<period>500000</period>
</pooling>
</connection-pool>
</database>
</data-source>
</resource>

--------------------------------------------------------------------------------------

* DB2

1) JEUS 3.x ($JEUS_HOME/config/<NODENAME>/JeusMain.xml
<Database>
<Vendor>db2</Vendor>
<ExportName>db2local</ExportName>
<DatabaseName>SAMPLE</DatabaseName>
<DataSourceClassName>COM.ibm.db2.jdbc.DB2ConnectionPoolDataSource</DataSourceClassName>
<DataSourceName/>
<ServiceName/>
<Description/>
<NetworkProtocol/>
<Password>jeus2013</Password>
<PortNumber>포트번호</PortNumber>
<ServerName>DB서버 IP</ServerName>
<User>db2inst1</User>
<DataSourceType>LocalXADataSource</DataSourceType>
<ConnectionPool>
<MinPoolSize>2</MinPoolSize>
<MaxPoolSize>4</MaxPoolSize>
<IncreasingStep>1</IncreasingStep>
<ResizingPeriod>600000</ResizingPeriod>
<OperationTimeout>30000</OperationTimeout>
<WaitForFreeConnection>
<WaitingTime>10000</WaitingTime>
</WaitForFreeConnection>
</ConnectionPool>
</Database>
2) JEUS 4.x ($JEUS_HOME/config/<NODENAME>/JEUSMain.xml
<database>
<vendor>db2</vendor>
<export-name>db2XADatasource1</export-name>
<data-source-class-name>COM.ibm.db2.jdbc.DB2XADataSource</data-source-class-name>
<data-source-type>XADataSource</data-source-type>
<database-name>sample</database-name>
<description>Customer DB</description>
<password>db2inst1</password>
<encryption>false</encryption>
<port-number>포트번호</port-number>
<server-name>DB서버 IP</server-name>
<user>db2inst1</user>
<connection-pool>
<pooling>
<min>2</min>
<max>4</max>
<step>1</step>
<period>600000</period>
</pooling>
<wait-free-connection>
<enable-wait>false</enable-wait>
<wait-time>10000</wait-time>
</wait-free-connection>
<operation-to>30000</operation-to>
</connection-pool>
</database>
--------------------------------------------------------------------------------------


### TIPS ###

--------------------------------------------------------------------------------------

* 파일경로설정

1) 파일 실제경로 (기본값)

- servlet : 제우스홈\webhome\servlet_home\webapps\examples\WEB-INF\classes

- jsp : 제우스홈\webhome\servlet_home\webapps\examples

2) 기존의 examples 컨텍스트 이외에 새로운 aaa라는 컨텍스트를 추가하는 방법 (컨텍스트 설정법)
- WEBMain.xml에서 다음 부분을 추가한다.
<context>
<context-name>aaa</context-name>
<context-path>/aaa</context-path>
</context>
- aaa 컨텍스트의 DD(deployment descriptor)파일을 작성
제우스홈\config\노드명\[SERVLET_ENGINE_NAME]\jeus-web-dd_examples.xml 파일을 jeus-web-dd_aaa.xml 파일로 복사

하여 편집. context-name, docbase 만 설정하면 됩니다. WEBMain.xml의 이름과 동일해야 함.
<?xml version="1.0"?>
<!DOCTYPE jeus-web-dd PUBLIC "-//Tmax Soft., Inc.//DTD JEUS WEB Deployment Info 4.0//EN"
"http://www.tmaxsoft.com/jeus/dtd/4.0/jeus-web-dd.dtd">
<jeus-web-dd>
<context>
<context-name>aaa</context-name>
<docbase>서버의 물리적 절대경로</docbase>
<auto-reload>
<enable-reload>true</enable-reload>
<check-on-demand>true</check-on-demand>
</auto-reload>
</context>
</jeus-web-dd>
- WebtoB의 환경설정파일(http.m)의 URI 절에 aaa 컨텍스트 경로를 다음과 같이 추가한다.
*URI
uri8 Uri = "/aaa/",Svrtype = JSV
- WebtoB의 환경파일 수정 후에는 반드시 환경파일 컴파일 후 WebtoB를 재기동 : wscfl -i http.m
- JEUS 를 재기동


--------------------------------------------------------------------------------------

* index.jsp를 자동으로 인식시키려면

- 제우스홈\config\노드명\[SERVLET_ENGINE_NAME]\webcommon.xml 파일에 index.jsp추가

<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
</welcome-file-list>

--------------------------------------------------------------------------------------

* jspwork 디렉토리 변경

1. JEUS 3.x
$JEUS_HOME/config/<HOSTNAME>/<SERVLET_ENGINE_NAME>/container.xml의
<JSPEngine> 태그 안에 JspWorkDir을 설정하면 됩니다.
<Container>
...
<ContextGroup>
...
<JSPEngine ...
JspWorkDir="/app/jwork"
...
/>
2. JEUS 4.x
$JEUS_HOME/config/<HOSTNAME>/<SERVLET_ENGINE_NAME>/WEBMain.xml의
<jsp-engine> 태그 안에 <jsp-work-dir>를 설정하면 됩니다.
<web-container>
<context-group>
...
<jsp-engine>
...
<jsp-work-dir>/app/jwork</jsp-work-dir>
...
</jsp-engine>
--------------------------------------------------------------------------------------

* 폴더관리 (webtob, jeus 연동시)

- image, js, css, html 등은WebToB홈\docs 에 폴더로 관리해서 WEBTOB가 처리

- jsp, servlet은 context를 별도 설정 (컨텍스트 설정법 참조)해서 JEUS가 처리

--------------------------------------------------------------------------------------

* 오라클 데이터베이스 사용시 C:/jeus/lib/datasource 폴더에 classes12.zip 복사

--------------------------------------------------------------------------------------

* trouble shooting

- Out Of Memory 에러

JVM에서 사용할 수 있는 memory가 부족할 때 발생합니다.
이것을 해결하는 방법으로는 버전별로 다음과 같이 JEUS 환경 파일에서
추가하면 됩니다. -Xms가 min 값이고 -Xmx가 max 값입니다.
1) JEUS 3.x ($JEUS_HOME/config/<HOSTNAME>/JeusMain.xml)
<JeusSystemConfig>
<NodeConfig>
...
<EngineContainer>
...
<CommandOption>-Xms256m -Xmx256m<CommandOption>
2) JEUS 4.x ($JEUS_HOME/config/<HOSTNAME>/JEUSMain.xml)
<jeus-system>
<node>
...
<engine-container>
...
<command-option>-Xms256m -Xmx256m<command-option>
- 노드명에 '-' 문자를 썼을 경우 또는 노드명에 공백이 있는 경우

wscfl -i http.m 부분에서 오류 -> 노드명을 ""으로 묶어준다.

- 8080포트 사용하려고 할때 XDB 인증창이 뜬다면...

=====> 오라클의 XDB포트와 충돌하는 경우이므로 오라클의 XDB포트를 아래와 같이 변경해준다.

[시작] -> [프로그램] -> [Oracle - OraHome92] -> [Configuration and Migration Tools]

-> [Database Configuration Assistant] 선택

프로그램이 실행이되면.....

[다음] 버튼을 Click -> [데이터베이스의 데이이터베이스 옵션구성] 선택 -> [사용 가능한 데이터베이스] 선택

-> [표준데이터베이 스 기능...] 버튼을 Click -> Oracle XML DB 의 [사용자 정의 ...] 버튼을 Click

-> [포트 번호 구성] 항목의 [사용자 정의 값 지정] 을 선택하셔서 HTTP 포트를 바꿔줍니다.

그리고 FTP 및 WebDAV 포트는 기본 설정인 2100 을 사용합니다. -> [확인] 버튼을 Click 하시고

[다음] 버튼을 Click 하셔서 데이터베이스를 실행할 기본모드를 선택하시고 [완료] 버튼을 눌러주시면

요약 메세지창이 뜨고 [확인] 버튼을 눌러주시면 XDB 의 Port 설정이 끝나게 됩니다.

- 다음과 같은 nullpointer exception 발생시

<<__Exception__>>
java.lang.NullPointerException
at javax.servlet.GenericServlet.getServletContext(GenericServlet.java:20
5)
at javax.servlet.GenericServlet.log(GenericServlet.java:300)
at javax.servlet.GenericServlet.init(GenericServlet.java:257)
at jeus.servlet.common.WebContainerManager.startContainer(WebContainerMa
nager.java:538)
at jeus.servlet.syscontext.SystemContext.startup(SystemContext.java:64)
at jeus.servlet.deployment.SystemWebContainer.startup(SystemWebContainer
.java:35)
at jeus.server.SystemEngineController.startEngine(SystemEngineController
.java:26)
at jeus.server.JeusServer.boot(JeusServer.java:720)
at jeus.server.ControlThread.acceptRequests(ControlThread.java:181)
at jeus.server.ControlThread.run(ControlThread.java:86)
java.lang.NullPointerException : null
[SystemEngineController] fail to start System Engine [devserver_system_engine] :
jeus.server.JeusServerException
<<__!Exception__>>
[2005.05.26 10:30:05][2] [ControlThread] command (210.117.198.62:1063) : disconn
ect()

=====> j2sdk1.4.1_07 이하 버젼으로 jdk를 다시 설치한 수 jeus/webtob 다시설치 해보세요.

- C:\Program Files\Java\j2re1.4.1_07\bin\server\jvm.dll 파일을 찾지 못할때

=====> C:\j2sdk1.4.1_07\jre\bin\server 폴더를 카피해서

C:\Program Files\Java\j2re1.4.1_07\bin 폴더에 복사하세요.

--------------------------------------------------------------------------------------

* 클래스파일 변경시 실시간으로 변경 반영

소스가 WEB-INF/classes 아래에 있으면 리부팅이 필요 없습니다.
단, 확인 하실 것이 container.xml(WEBMain.xml)에 context 태그 내에 AutoReload="true"가 설정되어 있으면 됩니다.
WEB-INF/lib/*.jar는 라이브러리와 같이 수정하지 않는다는 의미를 포함하고 있으므로(J2EE 스펙에 준하면...)
jar 파일 내의 수정은 반드시 제우스를 리부팅 해야 적용됩니다.
--------------------------------------------------------------------------------------

* 인클루드된 파일 변경시 즉시 적용(<%@ include 자동 반영하기)

JSP의 include의 방식에는 <%@ include (action), <jsp:include (directive) 가 있다.

이 중 <jsp:include (action) 는 include하는 JSP(a.jsp)와 include되는 JSP(b.jsp)가 각각 별도의 servlet으로 변환된다.
a.jsp가 수행 도중 b.jsp의 include 구문을 만나면 b.jsp로 제어권이 넘어가서 수행된 후 다시 a.jsp로 제어권이 넘어와서 계속 수행된다.
그래서 b.jsp가 변경된 경우 변경사항이 자동으로 반영된다.

그리고 <%@ include (directive)는 include하는 JSP(a.jsp)와 include되는 JSP(b.jsp)가 하나의 servlet으로 변환되어서 a.jsp 내에 b.jsp가 완전히 포함되는 형태로 변환된다.
<%@ include (directive)의 목적은 JSP가 Servlet으로 변환되어 컴파일 될 때에
특정 코드나 text를 포함하기 위해서 이다.
따라서 b.jsp가 변경된 경우 a.jsp는 b.jsp가 변경되었는지 모르기 때문에 include 된 JSP의 변경시 이것을 인지하지 못한다.

<%@ include (directive) 를 사용하는 경우 JSP container가 include된 파일이 변경된 경우 자동으로 반영해 주기 위해서는 include하는 파일이 수행될 때 마다 include된 파일의 변경 여부를 검사해서 변경되었다면 include 하는 파일을 recompile 해 주어야 한다.
이것은 JSP container에게는 상당히 부하를 주는 작업이다.
그래서 JSP Spec에서는 include된 파일의 변경시 반영 여부는 명시하지 않고 있다.

JEUS에서는 개발과 운영의 편의성을 위해서 이것을 옵션으로 지정하여 변경시 자동 반영이 되게 설정할 수 있다.
하지만 이 옵션을 true로 설정하는 경우 불필요한 검사가 들어가게 되므로 수행 속도에 지장을 주게됩니다. 반드시 JSP 파일의 변경이 빈번한 경우에만 설정하면 된다.

1. JEUS 3.x
$JEUS_HOME/config/<HOSTNAME>/<SERVLET_ENGINE_NAME>/container.xml에 설정
---------------------------------------------------------
<Container>
...
<ContextGroup>
...
<JSPEngine ...
CheckIncludedJspFile="true"
... />
2. JEUS 4.x
$JEUS_HOME/config/<HOSTNAME>/<SERVLET_ENGINE_NAME>/WEBMain.xml에 설정
---------------------------------------------------------
<web-container>
...
<context-group>
...
<jsp-engine>
...
<check-included-jspfile>true</check-included-jspfile>
...
</jsp-engine>
...
</context-group>
...
</web-container>
--------------------------------------------------------------------------------------

* http.m 샘플

*DOMAIN
WebtoB

*NODE
devserver WEBTOBDIR="C:/webtob",
SHMKEY = 54000,
DOCROOT="C:/tmax/webdocs",
IndexName="index.jsp,index.html,index.htmm",
PORT = "80",
LOGGING = "log1",
ERRORLOG = "log2",
HTH = 1,
JSVPORT = 9900

*SVRGROUP
htmlg NODENAME = devserver, SvrType = HTML
cgig NODENAME = devserver, SVRTYPE = CGI
ssig NODENAME = devserver, SVRTYPE = SSI
jsvg NODENAME = devserver, SVRTYPE=JSV

*SERVER
html SVGNAME = htmlg, MinProc = 3, MaxProc = 10
cgi SVGNAME = cgig, MinProc = 3, MaxProc = 10
ssi SVGNAME = ssig, MinProc = 3, MaxProc =10
MyGroup SVGNAME=jsvg, MinProc=10, MaxProc=10

*URI
uri1 Uri = "/cgi-bin/", Svrtype = CGI
uri2 Uri="/examples/", Svrtype=JSV
uri3 Uri="/", Svrtype=JSV

*ALIAS
alias1 URI = "/cgi-bin/", RealPath = "C:/webtob/cgi-bin/"

*LOGGING
log1 Format = "DEFAULT", FileName = "C:/webtob/log/access.log", Option = "sync"
log2 Format = "ERROR", FileName = "C:/webtob/log/error.log", Option = "sync"

*EXT
htm MimeType = "text/html", SvrType = HTML
--------------------------------------------------------------------------------------

* JEUSMain.xml 샘플

<?xml version="1.0"?>
<!DOCTYPE jeus-system PUBLIC "-//Tmax Soft, Inc.//DTD JEUS Main Config 4.0//EN"
"http://www.tmaxsoft.com/jeus/dtd/4.0/jeus-main-config.dtd">
<jeus-system>
<node>
<name>devserver</name>
<class-ftp>true</class-ftp>
<sequential-start>true</sequential-start>
<enable-webadmin>true</enable-webadmin>
<system-log>
<level>debug</level>
</system-log>
<engine-container>
<name>container1</name>
<engine-command>
<type>servlet</type>
<name>engine1</name>
<startup-mode>xml</startup-mode>
</engine-command>
<tm-config>
<pooling>
<min>10</min>
<max>20</max>
<step>2</step>
<period>600000</period>
</pooling>
<active-timeout>300000</active-timeout>
<commit-timeout>120000</commit-timeout>
<capacity>20000</capacity>
</tm-config>
</engine-container>
</node>
</jeus-system>

--------------------------------------------------------------------------------------

* WEBMain.xml 샘플

<?xml version="1.0"?>
<!DOCTYPE web-container PUBLIC "-//Tmax Soft., Inc.//DTD WEB Main Config 4.0//EN"
"http://www.tmaxsoft.com/jeus/dtd/4.0/web-main-config.dtd">
<web-container>
<context-group>
<group-name>MyGroup</group-name>
<group-docbase>webapps</group-docbase>
<session-config>
<timeout>20</timeout>
<shared>true</shared>
</session-config>
<logging>
<error-log>
<target>stdout</target>
<level>information</level>
<buffer-size>0</buffer-size>
<valid-day>1</valid-day>
</error-log>
<user-log>
<target>file</target>
<buffer-size>0</buffer-size>
<valid-day>1</valid-day>
</user-log>
<access-log>
<target>file</target>
<buffer-size>0</buffer-size>
<valid-day>1</valid-day>
<log-format>
<time-format>default</time-format>
</log-format>
</access-log>
</logging>
<context>
<context-name>examples</context-name>
<context-path>/examples</context-path>
</context>
<context>
<context-name>ngi</context-name>
<context-path>/</context-path>
</context>
<webserver-connection>
<webtob-listener>
<listener-id>webtob1</listener-id>
<port>9900</port>
<hth-count>1</hth-count>
<webtob-address>127.0.0.1</webtob-address>
<registration-id>MyGroup</registration-id>
<thread-pool>
<min>4</min>
<max>10</max>
<step>2</step>
<max-idle-time>30000</max-idle-time>
<max-wait-queue>4</max-wait-queue>
</thread-pool>
</webtob-listener>
</webserver-connection>
</context-group>
</web-container>
--------------------------------------------------------------------------------------

### 실무 적용 예 (버츄얼호스팅 사용) ###

--------------------------------------------------------------------------------------

프로젝트 실제환경을 로컬에서 구현해 작업해야 하는 상황에서...

두대의 IBM서버로 돌아가는 JEUS/WEBTOB의 환경설정 입니다.

<<< 실제환경 >>>

---------------------------------------------------------------------------

- 서버1 : WindowsServer2003Standard, 웹서버 (WEBTOB)

- 서버2 : WindowsServer2003Standard, 웹컨테이너 (JEUS), DB(Oracle9i)

- 두 서버는 9999포트를 통해 연동한다.

- images,css,js는 서버1에 jsp,java는 서버2에 위치시킨다.

- 서버구조는 1 WEBSERVER, 2 CONTAINER (원래 4개에서 필요한 두개만 가동)

- 윈도우 hosts파일에 localhost2, localhost3 추가

----------------------------------------------------------------------------

<<< sample.m >>>

*DOMAIN
WebtoB

*NODE
realchokyCompaq
WebtobDir="C:/webtob",
Shmkey=54000,
Docroot="C:/center",
HTH=1,
port="9900",
JSVPort=9999,
IndexName="index.jsp,index.htm,index.html",
Logging="log1",
ErrorLog="log2"

*VHOST
center
NodeName="realchokyCompaq",
HostName="localhost2",
DocRoot="C:/center",
Port="9900",
SSLFlag=N,
IndexName="index.jsp,index.htm,index.html"

admin
NodeName="realchokyCompaq",
HostName="localhost3",
DocRoot="C:/admin",
Port="9900",
IndexName="index.jsp,index.htm,index.html"

*SVRGROUP
htmlg
NodeName="realchokyCompaq",
SvrType=HTML

jsvg
NodeName="realchokyCompaq",
SvrType=JSV,
VHostName=center

jsvg2
NodeName="realchokyCompaq",
SvrType=JSV,
VHostName=admin

*SERVER
html
SvgName=htmlg,
MinProc=30,
MaxProc=60

Center
SvgName=jsvg,
MinProc=30,
MaxProc=30,
HttpInBufsize=0,
HttpOutBufsize=0

Admin
SvgName=jsvg2,
MinProc=10,
MaxProc=10,
HttpInBufsize=0,
HttpOutBufsize=0

*URI
images
Uri="/images/",
SvrType=HTML

center
Uri="/",
SvrType=JSV,
VhostName=center

admin
Uri="/",
SvrType=JSV,
VhostName=admin

*LOGGING
log1
FileName="C:/webtob/log/access.log",
Format="DEFAULT",
Option="sync"

log2
FileName="C:/webtob/log/error.log",
Format="ERROR",
Option="sync"

*EXT
htm
Mimetype="text/html",
Svrtype=HTML

jsp
Mimetype="application/jsp",
Svrtype=JSV

<<< JEUSMain.xml >>>

<?xml version="1.0"?>
<!DOCTYPE jeus-system PUBLIC "-//Tmax Soft, Inc.//DTD JEUS Main Config 4.0//EN"
"http://www.tmaxsoft.com/jeus/dtd/4.0/jeus-main-config.dtd">
<jeus-system>
<node>
<name>realchokyCompaq</name>
<class-ftp>true</class-ftp>
<sequential-start>true</sequential-start>
<system-log>
<level>debug</level>
</system-log>
<engine-container>
<name>container1</name>
<engine-command>
<type>servlet</type>
<name>engine1</name>
<startup-mode>xml</startup-mode>
</engine-command>
<tm-config>
<pooling>
<min>10</min>
<max>20</max>
<step>2</step>
<period>600000</period>
</pooling>
<active-timeout>300000</active-timeout>
<commit-timeout>120000</commit-timeout>
<capacity>20000</capacity>
</tm-config>
</engine-container>
<engine-container>
<name>container2</name>
<engine-command>
<type>servlet</type>
<name>engine2</name>
<startup-mode>xml</startup-mode>
</engine-command>
<tm-config>
<pooling>
<min>10</min>
<max>20</max>
<step>2</step>
<period>600000</period>
</pooling>
<active-timeout>300000</active-timeout>
<commit-timeout>120000</commit-timeout>
<capacity>20000</capacity>
</tm-config>
</engine-container>
</node>
<resource>
<data-source>
<database>
<vendor>oracle</vendor>
<export-name>오라클UID</export-name>
<data-source-class-name>oracle.jdbc.pool.OracleConnectionPoolDataSource</data-source-class-name>
<data-source-type>DataSource</data-source-type>
<database-name>디비명</database-name>
<data-source-name>oracle.jdbc.pool.OracleConnectionPoolDataSource</data-source-name>
<network-protocol>tcp</network-protocol>
<user>아이피</user>
<password>패스워드</password>
<port-number>1521</port-number>
<server-name>아이피 혹은 127.0.0.1</server-name>
<driver-type>thin</driver-type>
<connection-pool>
<pooling>
<max>20</max>
<step>1</step>
<period>500000</period>
</pooling>
</connection-pool>
</database>
</data-source>
</resource>
</jeus-system>

<<< WEBMain.xml (컨테이너 1) >>>

<?xml version="1.0"?>
<!DOCTYPE web-container PUBLIC "-//Tmax Soft., Inc.//DTD WEB Main Config 4.0//EN"
"http://www.tmaxsoft.com/jeus/dtd/4.0/web-main-config.dtd">
<web-container>
<context-group>
<group-name>Center</group-name>
<group-docbase>webapps</group-docbase>
<servlet-home>c:\</servlet-home>
<context>
<context-name>Center</context-name>
<context-path>/</context-path>
</context>
<session-config>
<shared>true</shared>
<timeout>20</timeout>
</session-config>
<webserver-connection>
<webtob-listener>
<listener-id>Center</listener-id>
<port>9999</port>
<output-buffer-size>0</output-buffer-size>
<webtob-address>127.0.0.1</webtob-address>
<thread-pool>
<min>30</min>
<max>30</max>
</thread-pool>
</webtob-listener>
</webserver-connection>
<logging>
<error-log>
<target>stdout</target>
<buffer-size>0</buffer-size>
<level>information</level>
</error-log>
<user-log>
<buffer-size>0</buffer-size>
</user-log>
<access-log>
<buffer-size>0</buffer-size>
<valid-day>1</valid-day>
<log-format>
<time-format>default</time-format>
</log-format>
</access-log>
</logging>
</context-group>
</web-container>

<<< jeus-web-dd_Center.xml >>>

<?xml version="1.0"?>
<!DOCTYPE jeus-web-dd PUBLIC "-//Tmax Soft., Inc.//DTD JEUS WEB Deployment Info 4.0//EN"
"http://www.tmaxsoft.com/jeus/dtd/4.0/jeus-web-dd.dtd">
<jeus-web-dd>
<context>
<context-name>center</context-name>
<docbase>center</docbase>
<auto-reload>
<enable-reload>true</enable-reload>
<check-on-demand>true</check-on-demand>
</auto-reload>
</context>
</jeus-web-dd>

<<< WEBMain.xml (컨테이너 2) >>>

<?xml version="1.0"?>
<!DOCTYPE web-container PUBLIC "-//Tmax Soft., Inc.//DTD WEB Main Config 4.0//EN"
"http://www.tmaxsoft.com/jeus/dtd/4.0/web-main-config.dtd">
<web-container>
<context-group>
<group-name>Admin</group-name>
<group-docbase>webapps</group-docbase>
<servlet-home>c:\</servlet-home>
<context>
<context-name>Admin</context-name>
<context-path>/</context-path>
</context>
<session-config>
<shared>true</shared>
<timeout>20</timeout>
</session-config>
<webserver-connection>
<webtob-listener>
<listener-id>Center</listener-id>
<port>9999</port>
<output-buffer-size>0</output-buffer-size>
<webtob-address>127.0.0.1</webtob-address>
<thread-pool>
<min>30</min>
<max>30</max>
</thread-pool>
</webtob-listener>
</webserver-connection>
<logging>
<error-log>
<target>stdout</target>
<buffer-size>0</buffer-size>
<level>information</level>
</error-log>
<user-log>
<buffer-size>0</buffer-size>
</user-log>
<access-log>
<buffer-size>0</buffer-size>
<valid-day>1</valid-day>
<log-format>
<time-format>default</time-format>
</log-format>
</access-log>
</logging>
</context-group>
</web-container>


<<< jeus-web-dd_Admin.xml >>>

<?xml version="1.0"?>
<!DOCTYPE jeus-web-dd PUBLIC "-//Tmax Soft., Inc.//DTD JEUS WEB Deployment Info 4.0//EN"
"http://www.tmaxsoft.com/jeus/dtd/4.0/jeus-web-dd.dtd">
<jeus-web-dd>
<context>
<context-name>admin</context-name>
<docbase>admin</docbase>
<auto-reload>
<enable-reload>true</enable-reload>
<check-on-demand>true</check-on-demand>
</auto-reload>
</context>
</jeus-web-dd>

'Jeus' 카테고리의 다른 글

JEUS6.0 정리 및 Setting  (0) 2012.08.10
Posted by 사라링

---------------------------------------------------------------------------------------------------------------------------------------------------------------
1 . trustForm 
 화일 이름 : D:\Workspace\Project\ALP\ALP_GSW\WebSource\xfm\test\test.xfm


---------------------------------------------------------------------------------------------------------------------------------------------------------------
2. actionInfo
 화일이름 : D:\Workspace\Project\ALP\ALP_GSW\Config\AS_VHRP_serviceinfo.xml


---------------------------------------------------------------------------------------------------------------------------------------------------------------
3. Facade
 화일이름 : D:\Workspace\Project\ALP\ALP_GSW\JavaSource\alp\as\hkmc\vhrp\service\GrnRoWorkInpFacade.java

 public RoListCdto[] selectRoList(String startDt, String endDt, AdminSessionInfo baseInfo) throws BizException {
  LogonInfo logonInfo = LoginHelper.getLogonInfo(baseInfo);
  return GrnRoWorkInp.getInstance().selectRoList(startDt, endDt, logonInfo);
 }       


---------------------------------------------------------------------------------------------------------------------------------------------------------------
4. biz
 화일이름 : D:\Workspace\Project\ALP\ALP_GSW\JavaSource\alp\as\hkmc\vhrp\service\GrnRoWorkInp.java

 public RoListCdto[] selectRoList(String startDt, String endDt, LogonInfo logonInfo) throws BizException {
  return GrnRoMainDao.selectRoList(startDt, endDt, logonInfo);
 }


---------------------------------------------------------------------------------------------------------------------------------------------------------------
5. dao( DAO ) 
 화일이름 : D:\Workspace\Project\ALP\ALP_GSW\JavaSource\alp\as\hkmc\vhrp\dao\GrnRoMainDao.java

 public static RoListCdto[] selectRoList(String startDt, String endDt, LogonInfo logonInfo) throws BizException {
         RoListCdto[] resArrCdto   = null;
         PreparedStatementWrapper psw  = null;

  try { 
   StringBuffer sql = new StringBuffer();
   sql.append("\n   select ASN_CD     ");
   sql.append("\n             ,RO_NO     ");
   sql.append("\n            ,VIN      ");
   sql.append("\n           ,CSMR_NM     ");
   sql.append("\n           ,I_CDT      ");
   sql.append("\n   from t_ro_info     ");
   sql.append("\n   WHERE ASN_CD = ?    ");
   sql.append("\n         AND i_cdt between ? and ? ");


   psw = new PreparedStatementWrapper(logonInfo.getCoScnCd() + AsConstants.DATA_SOURCE_NAME, sql.toString());

   int index = 1;

   psw.setString(index++,"MA0D96");  
   psw.setString(index++,startDt);    
   psw.setString(index++, endDt);    

   DBManager db = new DBManager();
   List dbData = db.selectList(psw, RoListCdto.class.getName());

   if(dbData.size() > 0) {
   resArrCdto = (RoListCdto[]) dbData.toArray(new RoListCdto[dbData.size()]);
   }

  } catch(SQLException se) {
   logger.error(se.getMessage());
   throw new BizException(AsConstants.SYSTEM_ID, "AS0001");
  } finally {
   if(psw != null)
   psw.release();
  }
   return resArrCdto;
  } 


---------------------------------------------------------------------------------------------------------------------------------------------------------------
6. dto( VO )
 화일이름 : D:\Workspace\Project\ALP\ALP_GSW\JavaSource\alp\as\hkmc\vhrp\dto\RoListCdto.java


---------------------------------------------------------------------------------------------------------------------------------------------------------------
7. jsp 
 화일이름 : D:\Workspace\Project\ALP\ALP_GSW\WebSource\jsp\test_selectRoList.jsp

 
<%--
***************************************************************************************************
* JSP 페이지 태그 선언
***************************************************************************************************
--%>
<%@page contentType="text/xml; charset=EUC-KR"%>
<%@page import="alp.as.hkmc.vhrp.dto.RoListCdto"%>
<%@page import="alp.as.hkmc.util.XmlGenHelper"%>
<%@page import="com.ebstorm.jframework.foundation.message.MsgParameter"%>
<%--
***************************************************************************************************
* 변수 선언 및 선행 로직
***************************************************************************************************
--%>

<%
    XmlGenHelper xml = new XmlGenHelper(0);
    try {

 //메소드 이름을 작성합니다.
     RoListCdto[] result = (RoListCdto[]) request.getAttribute("test_selectRoList");
        
 // 컬럼 이름 작성(반환받는 곳의 이름)
        String[] column = {
      "asnCd"
       ,"roNo"
       ,"vin"
       ,"csmrNm"
       ,"iCdt"                
     };
 
        // 노드 스트림의 위치를 작성합니다. 
 int pNode = xml.add (0, "res", "");
        
 //소스가 있는 곳을 작성합니다.
        xml.setSourceClassName("alp.as.hkmc.vhrp.dto.RoListCdto");
        xml.genXml(pNode, "grid", column, result);

        MsgParameter param = new MsgParameter();

        param.add( result.length );
        xml.setMessage("AS0002", param);

    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        out.println(xml.getXmlString());
    }
%>


Posted by 사라링

TrustForm 2.0 이 지원 하는 XForms 이벤트

이름내용(발생 시점)적용
xforms-model-construct모델, processor가 모두 초기화 되고 나는 시점, 즉 document가 load되는 시점model
xforms-previousShift+Tap키 또는 마우스 클릭등으로 인해 포커스 이동 전Input, secret, textarea,
button, select controls
xforms-nextShift+Tap키 또는 마우스 클릭등으로 인해 포커스 이동 후Input, secret, textarea,
button, select controls
xforms-focus(DOMFocusIn)포커스 받았을때 (DOMFocusIn과 동일)Input, secret, textarea,
button, select controls
xforms-help포커스가 있고 F1이 눌려졌을때Input, secret, textarea,
button, select controls
xforms-hint컨트롤 위에 마우스가 놓여져 있을때(툴팁 발생시)Input, secret, textarea,
button
xforms-refreshrefresh 될때model
xforms-revaliaterevalidate 될때model
xforms-recalculaterecalculate 될때model
xforms-reset 
(resetInstance 액션에 해당)
reset 될때model
xforms-submitsubmit을 보내려고 할때submitInfo
xforms-activate기본 액션..(버튼 클릭시)기본 액션.. button
xforms-value-changed값이 바뀌었을때Input, secret, textarea,
xforms-selectselect 되었을때select controls
xforms-deselectdeselect 되었을때select controls
xforms-valid스키마정보 또는 타입이 일치했을때Input, secret, textarea,
xforms-invalid스키마정보 또는 타입이 일치하지 않았을때Input, secret, textarea,
DOMFocusIn(xforms-focus)포커스 받았을때(xforms-focus와동일)Input, secret, textarea,
button
DOMFocusOut포커스를 잃었을때Input, secret, textarea,
button
xforms-readonlyrevalidation 후 현재 상태가 readOnly일때Input, secret, textarea,
xforms-readwrite현재 상태가 readwrite 일때Input, secret, textarea,
xforms-required현재 상태가 required 일때Input, secret, textarea,
xforms-optional현재 상태가 optionalInput, secret, textarea,
xforms-enabled현재 상태가 enabledInput, secret, textarea,
xforms-disabled현재 상태가 disabledInput, secret, textarea,
xforms-submint-done서밋을 보내고 올바른 값을 받았을때submitInfo
xforms-submit-error서밋을 보내지 못하거나 올바른 값을 받지 못했을때model
xforms-link-error 
(xlink:href 의 경우)
링크될 파일이 없거나 파일이름이 잘못되어 파일 또는 URL 정보를 찾지 못할때model

※ select controls : radio, checkbox, listbox, combo

Posted by 사라링

BLOG main image
.. by 사라링

카테고리

사라링님의 노트 (301)
JSP (31)
J-Query (41)
JAVA (24)
디자인패턴 (1)
스트러츠 (3)
안드로이드 (11)
오라클 (45)
우분투-오라클 (1)
이클립스메뉴얼 (6)
스프링3.0 (23)
자바스크립트 (10)
HTML5.0 (17)
정보처리기사 (1)
기타(컴퓨터 관련) (1)
문제점 해결 (3)
프로젝트 (2)
AJAX (4)
하이버네이트 (3)
트러스트폼 (11)
Jeus (2)
재무관리(회계) (5)
정규식 (5)
아이바티스 (8)
취미 (2)
소프트웨어 보안 관련모음 (0)
정보보안기사 (6)
C언어 베이직 및 프로그램 (3)
보안 관련 용어 정리 (2)
넥사크로 (6)
웹스퀘어_ (0)
Total :
Today : Yesterday :