2013. 3. 11. 08:58


ALTER TABLE 테이블명 (+ 아래 옵션)

 ADD              (컬럼 속성(길이));
 RENAME        COLUMN 컬럼 TO 컬럼;
 MODIFY        (컬럼 속성(길이));
 
MODIFY        (컬럼 속성(길이) DEFAULT 'Value');
 DROP            (컬럼);
 CONSTRAINT PK_테이블명 PRIMARY KEY(컬럼명)

*속  성 : NUMBER, VARCHAR2, DATE 등
*길  이 : 정수값
*테이블 : 테이블명
*컬  럼 : 컬럼명
*DEFAULT : 값 (값이 입력되지 않을 경우, 디폴트로 들어가는 값)


구문 예)

 ALTER TABLE 테이블 ADD (컬럼 속성(길이));
 ALTER TABLE TBLTEST ADD(UNICOST NUMBER(10));
 ALTER TABLE TBLTEST MODIFY(USE_YN VARCHAR2(1) DEFAULT 'Y');



좀 더 보기 쉽게 표로 정리 하였습니다.



Posted by 해비
2013. 3. 11. 08:50


INSERT

 INSERT INTO 테이블 VALUES (값, 값, 값...);
 INSERT INTO 테이블 (컬럼, 컬럼, 컬럼...) VALUES (값, 값, 값...);


UPDATE

 UPDATE 테이블 SET 컬럼=값 WHERE 컬럼=값

- WHERE 이하 생략가능
   (단, 생략시 모든 ROW를 대상으로 값을 세팅하므로 주의)


DELETE

 DELETE FROM 테이블 WHERE 컬럼=값

- WHERE 이하 생략가능
  (주의점은 UPDATE문과 동일)



Posted by 해비
2012. 3. 27. 16:08


배터리가 빨리 단다고 느낀것은 지난 해 가을 쯔음 이었다.

음악 들으면서 걸어간느데 배터리 %가 떨어지는게 눈에 보일정도로 빨랐다.

와이파이 끄고 노래만 듣고 가는건데 말이다.

올해 1월 중반까지 리퍼 기간이어서 리퍼 신청을 해? 말어? 이런생각을 하면서도 막상 귀찮아서 그냥 방치 하였었다.

그리고 시간은 지나고 지나서 어느새 3월...

리퍼 기간 지난지 2달이 다되어간다... (구입한지 1년 2개월째...)


그래, 뭐 그까이꺼 사설업체에서 배터리 교체하지뭐~

그래도 잔량은 알아보고 싶었기에...

구글검색 해보니 애플에서 ipod 배터리 용량 체크 하는 방법이 나와있었다.


[배터리 용량 체크 방법]
- iTunes와 iPod OS를 최신으로 올리고
- 128~160kbps 였던가? 이 비트레이트로 앨범 하나를 MP3 또는 AAC? 로 떠서 무한반복.
- 화면 끄고 와이파이 당연히 끄고 블투도 다 끄고 노래만 재생하여 더이상 소리가 안날때 까지 체크
- 볼륨은 50%로 조정


그래서 결과가 아래의 스펙에 명시된것에 비해 50% 이하 에서만 리퍼가 가능하다는 문구도 있었다.

해비가 사용하는 iPod Touch 4th 32GB 는 최대 40 시간 연속 재생이라고 되어있으니...

20시간 미만이 나와야 배터리 리퍼 사유에 해당된다는 말이다.


그런데...

실제 해비의 iPod는 23일 23:40 분에 시작을 하여...

24일 23:40 (24시간 경과)

25일 11:40 (36시간 경과)

25일 13:40 (38시간 경과)

25일 14:40 (OFF, 언제 꺼졌는지 모름 -_-;;)


최소한 38시간 이상  연속재생을 하며 버틴것이다.

이런 상태로는 배터리 리퍼 사유가 안되기에 리퍼시도를 하지않은것에 대한 후회는 사라졌다


중간에 iOS 5.0, 5.0.1 이 문제 였던건지모르겠다.

iOS 5.1 도 내 터치에서는 배터리 소모를 잘 모르것는디...


가장 큰 특징은...
드레곤베일, 아스팔트6 아드레날린 같은 게임 돌리면 얼마 지나지 않아 20% 남았다는 경고문구가 뜬다.

그래도 생까고 플레이 하면 또 한참을 간다.

그러다가 갑작스럽게 종료...

여기까진 괜차는데...

다시 켜면 ??

빨간 게이지의 텅빈 배터리 모양에, 번개 표시 -> 플러그 모양 이 아닌
사과 로고 뜨면서 켜지는 어이없는 일이 발생한다...

더 황당한건 배터리가 절반가량 남았다고 표시된다는거 -_-;;
전압부족으로 CPU클럭이 유지안되서 그런건지 배터리 잔량이 오락가락 한다.

아이패드는 없어서 모르겠고...
아이폰은 배터리 잔량이 오락가락 하지는 않는걸 보면 아이팟은 싸구려 배터리 때문인지...
아니면 전력 체크 하는 무슨 부품을 빼고 만드는건지 모르겠다.


분해사진으로 얼핏본 기억으로...
iPod 는 배터리 3핀, 아이폰은 배터리 4핀 단자였던거 같은데... 이거랑 관련있는 것일지도...?



Posted by 해비
2011. 8. 11. 10:14

자바스크립트에서의 배열선언 및 값 뽑아오기


1번 - 지정되지 않은 크기의 배열 객체를 선언 후, 값을 대입하는 코드 입니다.

2번 - 1번과 동일한 내용을 괄호 안에 늘어서 표기한 형태 입니다. (1과 동일한 내용입니다)

3번 - 반복문을 이용하여 배열의 내용을 출력합니다.

4번 - 반복문으로 처리가 불가능한 내용을 별도 출력 처리 합니다.



5번은 배열 선언의 다른 한 예시 입니다. (배열 생성 당시에 크기를 미리 고정되게 정하여 생성한 예시 입니다)




Posted by 해비
2011. 8. 11. 09:38

이번에는 객체의 리터럴 형태를 표현해 보도록 하겠다.


1은 일반적인 객체 생성이다.

2는 객체 리터럴 형식의 생성 이다.

3은 해당 값을 출력하기 위한 코드 이다.


위 코드에서 position 은 임의의 변수 이름이다
마찬가지로 left, top 속성도 임의로 준 것이다.

하지만 잘 돌아간다...



일반적인 프로그래밍 언어에서는 해당 객체를 생성하기 위한 클래스를 미리 정의해 두어야 하고, 해당 클래스에서 지원, 또는 작성 되어진 속성들만 사용이 가능 했는데 비해 자바스크립트에서는 임의로 속성값을 매기고 값을 대입, 그리고 다시 불러오는게 가능하다.

한가지 더...

객체 리터럴의 중첩 표현의 예시...



중괄호 안에서 다시 중괄호 열고 속성명:값 을 추가하면 된다.

그리고 해당 값의 접근은 아래 출력 예시 처럼 하면 된다.




Posted by 해비
2011. 8. 11. 09:16

리터럴이 뭔가...

궁금해서 구글신에게 문의해본 결과...


컴파일시 프로그램 내에 정의되어 있는 그대로 정확히 해석되어야 할 값...

들어가서 보니 정확히 명시된 어떤 값을 의미 하는것 이라고 한다.



x = 7 의 경우 7 이 리터럴 이다.

리터럴은 숫자 ,문자 또는 문자열 등 명확히 제시되는 어떤 값을 의미 하는듯 하다.




------------------------------------------------------------------------
하단의 출처에 주소로 들어가 봤더니...

텀즈 - IT관련 용어들을 정리 해 놓은 사이트 였네요... (용어 관련 으로 자주 들르게 될지도...)

Posted by 해비
2011. 8. 10. 22:02


1번은 일반적인 함수의 작성 형태 이고...


2번은 함수 리터럴로 작성된 형태...

어느쪽이 되었건 3번 코드로 출력되는 내용은 9로 동일하다.

...
함수 정의 대신 함수 리터럴을 사용할 만한 이유...
즉, 함수 정의와 함수 리터럴의 차이점...

함수 리터럴은 자바스크립트의 표현식 내에 나타날 수 있다.

표현식 내에... 음??

일단 다음의 코드를 보도록 하자


단 3줄짜리 초간단 코드이다.

1 : 리터럴 형태로 선언된 함수 square
2 : 이 square 에 스스로에 3을 넣어 수행된 결과값 + 1을 대입하고 있다.
3 : 그리고 square 를 출력!!

결과는...

당연히 10 이다.
3 * 3 + 1 = 10

만약 2 라인이 없을 경우... 무엇일 출력 될까...?

바로 1째 줄의 var square = 뒷부분의 내용들... function(x){return x*x;} 이 출력이 된다



Posted by 해비
2011. 5. 30. 22:16
대략적인 소스코드 이며, 맞지 않는 부분은 고쳐 쓸 줄 아는 지혜가 필요하겠습니다 ^__^
여기서 중요한 부분은 List 에 값을 넣고, 다시 받아와서 뿌리는 것 까지 입니다.


Class 부분 입니다. (List에 관계되는 부분만 강조하여 표시하였습니다)
 public List<String> getStatus() throws ServiceException, SQLException{
  Connection conn = ConnectionProvider.getConnection();
  PreparedStatement pstmt = null;
  ResultSet rs = null;
  String tmpStr = "";
  try{
   pstmt = conn.prepareStatement("select * from table");
   rs = pstmt.executeQuery();
   if(rs.next()){
    List<String> statList = new ArrayList<String>();
    do{
     tmpStr = "";
     tmpStr = tmpStr + rs.getString(1) + "|" + rs.getString(2);
     statList.add(tmpStr);
    }while(rs.next());
    return statList;
   }else{
    return Collections.emptyList();
   }
  }catch(SQLException e){
   throw new ServiceException("메시지 목록 구하기 실패 : " + e.getMessage(), e);
  }finally{
   JdbcUtil.close(rs);
   JdbcUtil.close(pstmt);
   JdbcUtil.close(conn);
  }
 }

- String 객체에 Select 된 결과의 칼럼1, 칼럼2 사이에 구분자 "|" 를 넣어서 붙인다음 List 에 추가 하여 리턴 하였습니다



Jsp 부분 입니다.
<%
 GetStatusService statData = new GetStatusService();
 List<String> stData = statData.getStatus();
%>

<%
 for(int i=0; i < stData.size();i++ ){
 String arrData[] = stData.get(i).split("[|]");
...(필요한 코드 추가)
 }
%>

- 해당 클래스의 인스턴스를 생성한 다음 List 를 선언하여 해당 메소드를 실행한 결과를 받아 냅니다.
- For 문을 이용하여 List의 처음부터 끝까지 돌면서 계속하여 String 값을 가져 와서 구분자단위로 끊어 arrData[]배열에 담아냅니다.
- 받아낸 데이터를 적당히 뿌려 줍니다. (이건 알아서...)
Posted by 해비
2011. 4. 13. 10:52

1. exam01.java 소스코드 작성

묵시적 형 변환에 관련된 예제 입니다.


3 - short형 변수 S01 에 10을 대입합니다.
4 - short형 변수 S02 에 20을 대입합니다.
5 - short형 변수 S03 에 10+20의 결과를 대입합니다.
6 - short형 변수 S04 에 변수S01 과 변수 S02를 더한다음 그것의 결과를 대입합니다.*
7 - long형 변수 S05 에 변수S01 과 변수 S02를 더한다음 그것의 결과를 대입합니다.


저장 후, 컴파일 하면 에러가 발생합니다.

6번째 라인에서 오류가 발생했음을 알리는 메시지 입니다.


이유....
자바에서 연산을 하면서 변수 타입이 기본으로 자동 지정되어졌기 때문입니다.
정수 + 정수 에서 기본 데이터 타입이 int 형인데 이것을 int보다 작은 크기인 short 에 넣겠다고 해서 발생한 오류입니다.


[해결 방법]
방법1 - 연산 부분을 괄호로 묶고 앞에 명시적 형 변환을 합니다.
           short S04 = (short)(S01+S02)

방법2 - 변수 S04의 타입을 int 형으로 선언 합니다.
         int S04 = S01+S02

방법3 - 변수 S04의 타입을 String 형으로 선언 하고, 뒤에 +"" 를 추가하여 문자화 합니다
           (주의! - 방법3 의 경우, 데이터가 문자열로 인식됩니다.)
           String S04 = S01+S02+""



* 자바에서 연산시 기본으로 지정되는 데이터 타입
정수연산 - int
실수연산 - double
문자결합 - String

정수 + 정수 = int
정수 + 실수 = double
정수 or 실수 + "문자" = String


그냥 간단하게...
작은 크기에서 큰 크기로 형 변환은 자동(묵시적)으로 이루어 지지만, 그 반대 의 경우에는 반드시 명시적으로 형 변환을 해 주어야 합니다.

보다 자세한 데이터타입이나 크기는 검색을...
Posted by 해비
2011. 4. 5. 10:44

1. Hello.java 소스코드 작성

단 5줄 짜리의 초간단 예제 입니다.
(에디트 플러스, 메모장, 이클립스 기타... 어떤 툴을 사용하셔도 상관없습니다)



2. 컴파일
javac Hello.java

Hello.java 파일이 있는 경로로 가서 위와 같이 컴파일을 합니다.
.class 파일이 결과물로 생성됩니다.



3. 실행
java Hello

위 소스코드의 3번째 라인에 있는...
Hello World!
가 출력되면 정상적으로 컴파일 및 실행이 된 겁니다.

주의 : 실행 시, 확장자는 적으면 안됩니다.
예) java Hello.class -> 실행 안됨!!




public static void main(String[] args)
또는
public static void main(String args[])
어느쪽이든 좋습니다.

public - 접근제어를 뜻합니다. (공개 - 클래스내부, 외우 어디에서든 접근 가능)
static - 공유를 의미합니다. (모든 객체에서 공통으로 사용)
void - 리턴값이 없음을 의미 합니다.
(보다 자세한 내용은 뒤에서 다루겠습니다)

String[] args 는 실행시 매개변수를 받아오기 위한 용도로 쓰여집니다.
java Hello [매개변수1] [매개변수2] [...]


public static void main(String[] args)는 형식이 딱 지정되어있으므로 암기해 두는것이 좋습니다.
자바에서 프로그램의 시작점이 되는 곳입니다.


매개변수의 구분은 스페이스(띄움) 이며, 각 매개변수는 배열로 받아오게 됩니다.

그렇게 조금 변경된 Hello.java 의 소스코드 입니다.

args[0]
args[1]
의 2개의 매개변수를 받아와서 출력하는 구분이 추가되었습니다.

컴파일 후,
실행시 뒤에 관련 매개변수값(아무거나...) 넣어주시면 되겠습니다

위와 같이 실행이 되어집니다.

그런데,
매개변수가 모자르거나 아예 없을경우는 에러가 발생합니다.

위 코드를 보면 4번째 라인에서 오류가 발생하였음을 알리고 있습니다.

즉, 매개변수 배열의 0번째가 존재하지 않는데 0번째의 값을 가져다 쓰려고 한다고 예외가 발생했음을 알립니다.

이것마저 해결하고자 한다면은...
try~ catch 구문을 이용하여 오류 발생시 catch 블럭으로 처리를 던지는 식으로 오류 처리를 할수 있습니다만, 여기서 이것까지 하지는 않습니다.
다만, 이런 방법도 있다는 것을 알려드립니다.
(자세한 내용은 뒤에서 다루도록 하겠습니다)



[체크 사항]
Java 소스파일의 파일명은 main 메소드가 포함된 클래스의 명으로 지정하여야 한다!



Posted by 해비