function schGroupBoss() {
 var loc = "/asp/admin/include/group_boss_pop.asp";
 window.open(loc,"popup","status=0,scrollbars=yes,width=620,height=300");
}
신고


function putResult() {
 
 var forms = document.group_user_pop_form;
 var bCheck = false;
 
 if(forms.listSel.checked != true) {
  for(var i=1;i<forms.listSel.length;i++) {
   bCheck = forms.listSel[i].checked;
   if(bCheck == true)
    break;
  }
 
  if( bCheck == false ) {
   alert("선택된 사항이 없습니다.");
   return;
  }
 }
 
 if( window.opener != null && window.opener.closed == false ) {
  for(var i=1;i<forms.listSel.length;i++) {
   if(forms.listSel[i].checked == true) {
    opener.setGroupUserId(forms.user_id[i].value, forms.user_name[i].value);
   }
  }
  window.close();
 }
}

// 체크박스가 한개일때는 배열로 안먹기 때문에..
<input type="hidden" name="listSel" value=""> 강제로 배열로 만들어줌..
신고


var toggleStat = 0;
function allCheck(checkBoxName) {
 var checkObj = document.getElementsByName(checkBoxName);
 try{
  if(typeof(checkObj) == "undefined"){
  }else if(typeof(checkObj.length) == "undefined"){
   alert(checkObj.checked);
   if(checkObj.checked)  checkObj.checked = false;
   else checkObj.checked = true;
  }else{
   for(i = 0; i < checkObj.length; i++){
    if(toggleStat == 0) checkObj[i].checked = true;
    else checkObj[i].checked = false;
   }
   toggleStat = (toggleStat == 0)?1:0;
  }
 }catch(e){}
}

// 호출방법
<input type="checkbox" name="all" value="" OnClick="allCheck('listSel')">

여기서 listSel은 checkbox name 입니다.
신고

// 조건
// 1. 영문으로 시작
// 2. 영문, 숫자 외에 특수기호는 제외
function ID(input, min, max) {
 var error_c=0, i, val, firth_c=0;
 input.value=TRIM(input.value);           // TRIM() script 사용
 for(i=0;i<input.value.length;i++) {
  val=input.value.charAt(i);
  if(i==0 && !(val>='a' && val<='z') || (val>='A' && val<='Z')) firth_c++;
  if(!((val>=0 && val<=9) || (val>='a' && val<='z') || (val>='A' && val<='Z'))) error_c++;
 }
 if(!input.value.length) {
  alert('아이디를 입력해 주십시오.');
  input.focus();
  return true;
 }
 else if(error_c || firth_c) {
  input.focus();
  if(firth_c) alert('아이디의 첫자는 반드시 영문소문자로 시작합니다. 다시 입력해 주십시오.');
  else alert('아이디는 반드시 영문과 숫자로 입력해 주십시오.');
  return true;
 }
 else if(BYTE(input.value) < min) {         // BYTE() 스크립트 사용
  input.focus();
  alert('아이디를 ' + min + '자리 이상으로 입력해 주십시오.');
  return true;
 }
 else if(BYTE(input.value) > max) {
  input.focus();
  alert('아이디를 ' + max + '자리 이하로 입력해 주십시오.');
  return true;
 }
 else return false;
}
신고


function EMAIL(input) {
 input.value=TRIM(input.value);
 input.value=input.value.toLowerCase();
 spchar=/^[a-z0-9\-_\.]+[@]{1}[a-z0-9\-]+[\.]{1}[a-z]+/;
 if(input.value==  '') {
  alert('이메일을 입력해 주십시오.');
  input.focus();
  return true;
 }
 else if(input.value.search(spchar) == -1) {
  alert('이메일을 정확하게 입력해 주십시오.');
  input.focus();
  return true;
 }
 else return false;
}
신고


function BYTE(input) {
 var i, j=0;
 for(i=0;i<input.length;i++) {
  val=escape(input.charAt(i)).length;
  if(val==  6) j++;
  j++;
 }
 return j;
}
신고


function TRIM(string) {
 for(;string.indexOf(" ")!= -1;){
  string=string.replace(" ","")
 }
 return string;
}
신고


function onlyNumber() {  // 오직 숫자만 입력 가능
 if((event.keyCode<48)||(event.keyCode>57))
  event.returnValue=false;
}
신고


1. 자주 사용하고 절대 변하지 않는 변수는 final static으로 선언

 - 자주 변경되지 않고 경우의 수가 단순한 쿼리 문장이 있다면 final static이나 static으로
   선언하여 사용하면 좋습니다.

2. 설정 파일 정보도 static으로 관리

 - 요즘 자바 기반의 개발을 할 때 보면 엄청나게 많은 설정 파일들이 존재합니다. 만약 클래
   스의 객체를 생성할 때마다 설정 파일을 로딩하면 엄청난 성능 저하가 발생하게 됨.

3. 코드성 데이터는 DB에서 한 번만 읽도록 합니다.

 - 테이터의 양이 많고 자주 바뀔 확률이 높은 코드 같은것을 제외하고는 DB에서 한 번만
   읽어서 관리하는 것이 성능 측면에서 좋습니다.
신고


for(int i=0;i<v.size();i++) {
          ......
}

위의 예제를 보면 별로 이상하다고 느끼지 모르겠지만 이렇게 코딩을 하는 습관은 좋지 않습니다. 이유는 매번 반복하면서 v.size() 메소드를 호출하기 때문입니다.

이럴때는 다음과 같이 수정을 해줍니다.

int size = v.size();
for(int i=0;i<size;i++) {
     ...........
}

이렇게 해주면 v.size()를 매번 수행하지 않으므로 더 빠르게 처리가 됩니다.
신고

티스토리 툴바