2014년 3월 30일 일요일

[Java]lotto만들기

  1. public class ArrayTest {
  2.     public static void main(String[] args){
  3.         int[] balls = new int[45]//[0]~[44] 45개
  4.         //1~45숫자 초기화
  5.         for(int i=0; i<balls.length; i++){
  6.             balls[i] = i+1;
  7.            
  8.         }
  9.         //shuffle
  10.         for(int j=0; j<100000; j++){
  11.             int ran = (int)(Math.random()*45);
  12.             int temp = balls[0];
  13.             balls[0] = balls[ran];
  14.             balls[ran] = temp;
  15.         }
  16.        
  17.         //6개의 새로운 배열 생성
  18.         int[] result = new int[6];
  19.         for(int k=0; k<6; k++){
  20.             result[k] = balls[k];
  21.            
  22.         }
  23.         // result배열을 오름차순 정렬
  24.         for(int a=0; a<result.length-1; a++){
  25.             for(int b=(a+1); b<result.length; b++){
  26.                 if(result[a]>result[b]){
  27.                     int temp = result[a];
  28.                     result[a] = result[b];
  29.                     result[b] = temp;
  30.                 }
  31.             }
  32.         }
  33.         for(int ball:result){
  34.             System.out.print(ball+" ");
  35.         }
  36.     }
  37. }

2014년 3월 26일 수요일

[HTTP]Status Code

HTTP Status Code | 설명                | 예
1XX                        처리중               100continue
2XX                        성공                  200 OK
3XX                        리다이렉트        300 multiple choices
4XX                        라이언트오류     400 bad request
5XX                        서버오류           500 internal server error  

[jQuery]ajax()함수 이용과 이용하지 않을때

<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
<script src="http://code.jquery.com/jquery-1.11.0.min.js"></script>
<script type="text/javascript">
//①jQuery ajax()함수를 이용하는 방법(주 사용)
$.ajax({
async:true;
url:'요청주소',
type:'get',
success:function(){} //성공시 사용되는 콜백함수
});
//②XMLHttpRequest 객체를 이용하는 방법(사용빈도 적음)
var request = new XMLHttpRequest();
request.onreadystatechange = function(event){
if(request.readyStats == 4){
if(request.status == 200){
document.body.innerHTML += request.responseText;
}
}
};
request.open('get','요청주소',true);
request.send();
</script>
</head>
<body>

</body>
</html>

[JavaScript]forEach

     자바스크립트에서의 for(var i in arr)의경우 스칼라배열 forEach문은 연관배열에 사용합니다.


//멤버 삭제
app.all('/remove',function(request, response){
   // console.log('멤버한명 삭제')
   var ck = request.param('ck');
   //forEach(ck,function(index, item){}); forEach문으로 대체 가능
   for(var i=0; i<ck.length; i++){
      var sql = 'delete from member where id=?';
      client.query(sql,[ck[i]],function(){});
   }
   response.send(ck);
});

[jQuery]체크박스 리스트의 체크된 값들 가져오기[펌]

<form name="form1">
< input type="checkbox" name="chkList" value="1" />
< input type="checkbox" name="chkList" value="2" />
< input type="checkbox" name="chkList" value="3" />
< /form>

< input type="button" value="수정" onclick="go_modify();" />
< input type="button" value="삭제" onclick="go_delete();" />

< script type="text/javascript">
function go_modify(){
if( $(":checkbox[name='chkList']:checked").length!=0 ){
alert("수정할 항목을 하나만 체크해주세요.");
return;
}
}
function go_delete(){
if( $(":checkbox[name='chkList']:checked").length==0 ){
alert("삭제할 항목을 하나이상 체크해주세요.");
return;
}
}
function get_chked_values(){
var chked_val = "";
$(":checkbox[name='chkList']:checked").each(function(pi,po){
chked_val += ","+po.value;
});
if(chked_val!="")chked_val = chked_val.substring(1);
return chked_val;
}
< /script>

$(":checkbox[name='chkList']:checked") 이 jquery 구문에서, :checkbox 는 체크박스

컨트롤을 지정하고, [name='chkList'] 는 name 속성이 chkList 인 항목들을 지정합니다.

:checked 는 체크박스 중에서 체크된 대상들만을 지정합니다.

* 체크박스에 아이디값을 주고 $(':checked').each ~~ 해도 됩니다.

2014년 3월 25일 화요일

2014년 3월 22일 토요일

[OS]윈7에서 XP 호환

http://www.microsoft.com/ko-KR/download/details.aspx?id=8002
Windows XP Mode를 사용하면 Windows 7 Professional, Enterprise 또는 Ultimate 버전을 실행하는 컴퓨터에서 Windows XP용으로 디자인된 프로그램을 실행할 수 있습니다.


중요

  • 2014년 4월 8일 이후부터 PC를 보호하는 업데이트를 포함하여 Windows XP 및 Windows XP Mode에 대한 기술 지원이 중단됩니다. 이는 지원이 종료된 이후에 Windows 7 PC에서 Windows XP 또는 Windows XP Mode를 계속 사용할 경우 PC가 보안 위험 및 바이러스에 더 취약해질 수 있음을 의미합니다. 따라서 2014년 4월 8일 이후에 Windows 7 PC에 대한 보안을 유지하려면 인터넷에 연결되지 않은 상태에서만 Windows XP Mode를 사용하는 것이 좋습니다
참고 블로그

2014년 3월 21일 금요일

[펌]컴파일방법

만약 되지않는다면 빌드경로(클래스파일저장경로)또는 이클립스환경설정하고 컴파일환경설정
점검해보세요.

이클립스로 컴파일하기

1.파일(file)메뉴
2.불러오기(import)
3.일반(general)
4.기존 프로젝트를 작업공간으로(Existing Project into Workspace)
5.루트 디텍토리선택(Select root directory)
6.찾기(Browse)
7.하고자 하는 팩선택
8.확인
9.프로젝트
10.하단build.xml우클릭
11.실행도구
12.2 Ant빌드
이상 이클립스로 팩 불러오기 끝

수정된 클래스파일 저장 위치 설정
(자동으로 빌드경로 안 걸리신 분만)

1.프로젝트우클릭
2.빌드경로
3.빌드경로구성
4.라이브러리
5.l1jserver.jar추가
6.확인
7.프로젝트
8.하단build.xml우클릭
9.실행도구
10.2 Ant빌드
이상 클래스파일 저장위치 설정 끝!!!!!!!

2014년 3월 20일 목요일

[Node.js]시작

웹브라우저없이 javascript를 실행가능하게 하는 프로그램입니다.
http://www.nodejs.org 에서 다운로드후
명령프롬포트에서 >node 입력해서 정상적으로 설치가 되었는지를 확인합니다.


기본 명령어
dir : 현재 폴더의 요소를 출력합니다.
cd 폴더명 : 특정한 폴더로 이동합니다.
..  : 상위 폴더

내부 모듈
os 모듈 추출
var os = require('os');
속성과 메서드를 이용하여 확인 가능

외부 모듈
>npm install request
서버 생성 및 실행
>npm install express


[MySQL]Can't connect to Mysql server on 'localhost'

나비켓실행후 로컬호스트 생성 과정에 
Can't connect to Mysql server on 'localhost'<10065> 가 뜨는데 
<연결할 수 없는 호스트로 소켓 작업을 시도했습니다.> 
라는 뜻으로 Mysql이 제대로 설치되었지를 확인해봐야 합니다.

*윈도우 소켓 에러번호와 해석*
10049  요청한 주소는 해당 컨텍스트에서 유효하지 않습니다.  
10050  네트워크를 사용할 수 없기 때문에 소켓 작업을 진행할 수 없습니다.  
10051  연결할 수 없는 네트워크에서 소켓 작업을 시도했습니다.  
10052  해당 작업이 진행되는 동안 오류가 발생하여 연결이 끊겼습니다.  
10053  현재 연결은 사용자의 호스트 시스템의 소프트웨어의 의해 중단되었습니다.  
10054  현재 연결은 원격 호스트에 의해 강제로 끊겼습니다.  
10055  대기열이 또는 버퍼가 부족하여 소켓에서 해당 작업을 진행하지 못했습니다.  
10056  이미 연결된 소켓에서 다른 연결을 요청했습니다.  
10057  소켓이 연결되어 있지 않거나 Sendto 호출을 사용하여 데이터그램 소켓에 보내는 경우에 주소가 제공되지 않아서 데이터를 보내거나 받도록 요청할 수 없습니다.  
10058  해당 소켓이 종료되었으므로 데이터 보내거나 받을 수 없습니다.  
10059  일부 커널 개체에 대한 참조가 너무 많습니다.  
10060  연결된 구성원으로부터 응답이 없어 연결하지 못했거나, 호스트로부터 응답이 없어 연결이 끊어졌습니다.  
10061  대상 컴퓨터에서 연결을 거부했으므로 연결하지 못했습니다.  
10062  이름을 해석할 수 없습니다.  
10063  이름 또는 이름의 구성 요소가 너무 깁니다.  
10064  호스트가 작동하지 않기 때문에 소켓 작업을 진행할 수 없습니다.  
10065  연결할 수 없는 호스트로 소켓 작업을 시도했습니다. 

[MySQL]오류: ORA-00955: name is already used by an existing object

!!데이터베이스 오브젝트가 이미 존재하기 때문에 뜨는 오류입니다.!!
테이블에 새로운 컬럼명(ID)을 주는 과정에서 오류가 발생했습니다. 대게 오류가 나도 컬럼은 생성이 된다고 하는데 저의 경우에는 테이블을 제거하고 새로 생성하니까 되더군요. 
이런 경우에는 drop후 commit하고 create후 commit해서 생성되게 해봅니다.