2010. 8. 4. 12:38

복근 운동시 허리 통증

※ 출처 : 비비매니아
※ written by 준사마  

 많은 사람들이 배에 선명한 王자를 새기려고 윗몸 일으키기를 합니다. 그런데 윗몸 일으키기를 하다보면 복부가 아프다기보다 허리에 통증이 와서 중간에 그만두게 되는 일이 있습니다. 복근 운동을 하는데 왜 허리가 아파야 하는 것일까요? 혹시 허리에 무슨 잘못이 있어서 그런건 아닐까 하는 걱정이 생기기도 합니다.

대부분의 경우에 요통에 관한 정확한 원인이 밝혀져 있지는 않습니다. 하지만 윗몸일으키기를 할 때의 요통의 원인은  안심에 있다고  이야기 할 수 있습니다. 아니, 갑자기 왠 안심? 여기서 말하는 안심은 바로 먹는 등심, 안심할 때의 부위입니다.

안심은 인체에서 요근 (psoas muscle)에 해당되는 부위 입니다. 이 근육의 부착 위치는 척추에서부터 대퇴골까지 입니다. 사진을 보시면 더 정확하게 알수 있죠. 이 근육의  기능을 간단히 말하면 허벅지를 복부쪽으로 끌어 당기는 것 입니다. 윗몸 일으키기를 할 때에 발을 고정시키고 운동을 하는데 이때 몸통을 지지하기 위해서 이 근육이 사용됩니다.

윗몸일으키기를 하는데 이런 근육도 사용되는것까진 알겠는데 왜 허리가 아파야 하는 걸까요? 인체에서는 느끼는 통증중에는 연관통(referred pain)이 있습니다. 설명하면 원래 아픈 부위가 있는데 다른 부위에서 통증을 느끼는 것 입니다. 요근에 통증을 느끼는 신경이 허리 부위의 통증 신경과 합쳐져서 척수로 가게 됩니다. 그러면 우리의 신체는 허리가 아픈걸로 착각하는 거죠.

그래서 크런치를 할 때는 하체를 쓰지 않고 상체만을 수축시켜 상복부를 운동시키고, 행잉 레그 레이즈 시에는 다리를 올리기보다 골반부위를  들어 올려 하복부를 운동합니다. 이렇게 하면 허리의 통증은 줄이면서 더 정확하게 복부에 집중을 해서 운동을 할 수 있기 때문입니다.

윗몸일으키기의 요통중 대부분의 경우 연관통 때문에 그렇다는 것을 이해하시고 그것을 줄이고 복부를 운동하는 방법을 이해하셨기를 바랍니다. (다리를 모으고 복부운동하라는 것은 요근을 단련 시키는 의미도 있습니다. 요근을 운동하지 말란 이야기가 아닙니다.) 덧붙여 운동을 한 뒤 시간이  지났는데도 허리에 통증을 느낀다면 이것은 연관통이 아닌 다른 요인을 생각해 봐야합니다.

2010. 8. 4. 12:29

이두근 키우는 그립법

※ 출처 : 비비매니아
※  글쓴이 : 락커  

이두근육은 컬운동을 통해 근육을 키우게 되어 있는데, 이 컬운동의 본질은 손의 힘(악력)을 이용해서 근육성장을 유도하는것 입니다.
어떤 컬운동이든, 바벨 컬이건 앉아서 한는 덤벨 컬이건 혹은 프리쳐 컬이건, 여러분께서 반드시 기억하셔야 할것은 바로 4번째 손가락과 (약지) 5번째  손가락 (소지)가 이두근육에 중량을 전달하는 핵심 부분이라는것 입니다.

자 하단에 손 그림을 한번 보아주십시오. 빨간색으로 동그라미 그려진 곳이 포인트 입니다. 그리고 파란색 화살표가 손가락에서 힘이 전달되는 부위입니다.


파란 화살표가 처음 출발하는 하단에, 5번째 손가락 부위에 새로로 쳐진 동그라미 있지않습니까? 바벨이나 덤벨 중량은 바로 이곳을 타고 들어갑니다. 파란 화살표를 따라가다보면 중간쯤에 "천지굴근" 이라는 근육부위가 있습니다.

여기서 오른쪽 팔그림을 봅니다. 여기서 잘보시면 천지 굴근이 4째, 5째 손가락에서 출발하는것을 알수 있습니다. 그리고 이것은 이두 근육에 바로 직접 연결 됩니다.

여러분께 전달하고자 하는바는 이것 입니다. 평소 자신이 아무리 이두 운동을 해도, 힘은 나름대로 세게 주는것 같은데, 힘이 이두에 제대로 전달이 안되는것 같다고 느끼신다면 바로 4째, 5째 손가락이 약해서 입니다. 즉 이두로 직접 연결되는 통로가 힘을 제대로 쓸수 없으니 중량이 이두로 전달될리가 없다는 말 입니다.

한번 실험해 보세요. 침대나 바닥에 앉아서 손바닥이 앞을보게 하고 양손의 4째 5째 손가락만 바닥에 닿게해 뒤로 꺽어봅니다. 그리고 양손의 2째 3째 손가락도 같은식으로 꺽어봅니다. 그럼 분명 4째 5째 손가락을 뒤로 꺽을때가, 2,3째 보다, 이두가 새콤하니 스트레칭되는 느낌을 가질수 있을것 입니다.

그래서 이두운동을 잘하시려면 평소 악력기나 손가락 스트레칭등으로 4째, 5째 손가락을 단련시켜야 합니다. 이것은 무척 중요합니다. 여러분, 왼손과 오른손의 힘이 다르시지요? 그럼 10중 9구는 여러분의 왼손, 오른손의 4째와 5째 손가락의 파워가 한쪽은 아주 현저하게 떨어질 것 입니다.

여러분께서 이두의 파워를 기르시고 싶다면 우선 4째, 5째 손가락을 단련시키셔야 합니다. 그리고 양 팔의 파워를 맞추시고 싶으신 분은 이두단련을 먼저하는것이 아니라 손가락의 파워 균형부터 맞추셔야 합니다.

그리고 바벨 컬이나 덤벨 컬때 2째나 3째 손가락을 중심으로 파워를 전달하려고 하지 마시고 반드시 4째 5째 손가락으로 파워를 전달하려 해보십시오. 무지 이두운동이 힘들어 질것 입니다. (약한 근육쓰니까) 하지만 이두에 전달되는 느낌은 훨씬 선명하고 바사삭 할것 입니다. 이거 습관기르면 이때부터 이두 펑펑 자랍니다.

결국 팔의 근육은 모두 손가락에서 부터 시작해서 올라갑니다. (그래서 이두운동전에 손가락을 털고, 꺽고 한는 스트레칭을 하면 훨씬 운동이 잘 됩니다. 항상 약한손의 4째 5째 손가락을 단련시키고 스트레칭시키는 습관을 기르십시오.) 그리고 컬운동할때 반드시 4째 5째 손가락으로 중량을 들어 올려야 합니다. 손잡이를 잡을때 5째 손가락 아래 부분으로 밀어댄다고 생각하십시오.

'부위별 트레이닝 > 이두' 카테고리의 다른 글

이두 운동 종합  (0) 2008.11.15
2010. 8. 3. 17:23

파일 시스템이란?

컴퓨터를 사용하다가 드라이브의 속성을 보면 NTFS, FAT32, FAT 등을 보신 적이 있으실 겁니다.
이 NTFS, FAT32, FAT과 같은 것들을 파일 시스템이라고 말하는데요, 파일 시스템은 파티션/드라이브의 포맷 형식입니다.

Windows에서는 'NTFS(NT File System)''FAT(File Allocation Table)' 이렇게 두 종류의 파일 시스템이 사용되고 있습니다.


FAT는 Windows의 이전 OS인 MS-DOS시절부터 사용되어온 시스템으로 초기에는 파일명을 설정하는데에도 엄격한 제한이 있었다고 합니다. FAT은 보통 FAT16을 지칭합니다.

FAT16은 디스크의 작은 단위인 클러스터를 2의 16승인 65536개로 분할해서 관리했었습니다. 하지만, 데이터가 대용량의 시대로 접어들면서 이 데이터를 관리하는 디스크의 용량도 점점 커지게 되었습니다. FAT16 시스템으로 관리의 효율이 떨어지고, 용량이 2GB를 넘는 하드 디스크는 반드시 파티션을 여러개로 나누어야 하는 제한이 있었습니다.

이를 개선하기 위해 도입한 방식이 현재 사용되고 있는 FAT32 시스템입니다. 65536개의 클러스터로 데이터를 관리하던 FAT에 비해 2의 32승인 약 42억개의 클러스터로 데이터를 효율적으로 관리할 수 있게 되었습니다. Windows ME까지 OS의 표준 파일 시스템으로 도입되었던 시스템이기도 합니다. FAT 시스템의 특징은 다양한 OS에서의 인식이 가능해 USB 메모리 등 외장형 하드 형식에서 많이 사용되고 있습니다만, 한 파일의 사이즈가 4GB를 넘는 파일은 관리할 수 없다는 점이 단점입니다. 고화질 동영상 파일이 보통 4GB를 넘기 때문에 이러한 파일들은 저장 할 수 없다는 얘기가 되겠지요.


NTFS는 Windows NT이후에 발표된 Windows계열 OS에서 사용되고 있는 파일 시스템입니다. NTFS 시스템의 특징은 다음과 같습니다.

1. NTFS는 다수의 사용자가 동시에 접속하는 서버에서의 사용을 염두에 두고 설계된 시스템으로, 각 파일 또는 디렉토리마다 ACL(Access Control List)에 의한 접속 권한 설정기능을 가지고 있습니다.

2. Windows 2000이후에 발표된 NTFS 5.0버전은 JFC(Journaling File System) 시스템의 기능이 도입되어 예상치 못한 정전등의 사고로 인해 데이터가 삭제되는 것을 최소화로 줄였습니다.

3. 1 볼륨에 대한 권장 사이즈가 2TB까지이지만, 실제로는 그 이상도 사용이 가능합니다.

4. 파일을 B+트리 구조로 관리를 하고 있어, 대량의 파일이 존재하더라도, 검색 및 접속의 속도 저하가 적은 편입니다.

5. 가장 큰 특징이라고 할 수 있는데, "압축기능"을 가지고 있습니다. NTFS시스템의 하드 디스크에 파일을 저장하는 것만으로, 자동적으로 파일을 압축해서 디스크의 영역을 효율적으로 사용할 수있게 해 줍니다. 물론 사용자는 거의 의식을 안 해도 되고요. 용량이 작은 파일이나 생성되는 과정에서 압축되는 사진, 동영상등 이른바 미디어 파일은 큰 효과를 보지 못하지만, 대용량 파일을 주로 관리를 하는 곳에서는 편리한 기능이 아닐 수 없습니다.


위에서 적은 설명을 놓고 보면 NTFS 시스템으로 전부 전환해서 사용하면 될 것 아닌가 하고 생각하시는 분이 많으실 겁니다.
사실 두 시스템을 비교해 보면 파일을 읽어 들이는 속도나 전송속도를 보면 단연 NTFS 시스템의 성능이 뛰어납니다. 아니, 비교도 하기 힘들 정도입니다. 내장형 HDD의 경우는 FAT32를 사용하는 경우가 극히 드물다고 자신있게 말씀 드릴 수 있습니다. 하지만, 외장형 HDD는 FAT32에서도 말씀드렸지만, 다양한 OS에서 인식이 가능한 FAT32시스템과 달리 NTFS는 인식이 가능한 OS에 제한이 있습니다. HDD를 사용하는 환경에 맞춰서 파일 시스템을 설정하시라고 말씀드리고 싶네요. 


파일 시스템을 변환하는 방법에 대해 알아보겠습니다.
예를 들어, FAT32 시스템인 D드라이브를 NTFS 시스템으로 변환하려고 한다면 [시작]-[실행] 또는 [윈도우키]+R 버튼을 눌러서 'convert DRIVE_NAME: /fs:ntfs'의 명령어를 실행하시면 됩니다. 가령 D드라이브의 파일 시스템을 변경하신다면 'convert D: /fs:ntfs'를 입력해서 Enter키를 누르는 것으로 변환 끝!
반대로 NTFS에서 FAT32시스템으로 변환하는 것은 불가능 합니다.


2010. 6. 29. 14:24

[Oracle] PL/SQL

PL/SQL 이란 ?
    -  PL/SQL 은 Oracle’s Procedural Language extension to SQL. 의 약자 입니다.
    -  SQL문장에서 변수정의, 조건처리(IF), 반복처리(LOOP, WHILE, FOR)등을 지원하며, 오라클 자체에      
        내장되어 있는 Procedure Language입니다
    -  DECLARE문을 이용하여 정의되며, 선언문의 사용은 선택 사항입니다.
    -  PL/SQL 문은 블록 구조로 되어 있고 PL/SQL 자신이 컴파일 엔진을 가지고 있습니다
    
PL/SQL의 장점 
    -  PL/SQL 문은 BLOCK 구조로 다수의 SQL 문을 한번에 ORACLE DB 로 보내서 처리하므로 수행속도를
        향상 시킬수 있습니다.
    -  PL/SQL 의 모든 요소는 하나 또는 두개이상의 블록으로 구성하여 모듈화가 가능하다.
    -  보다 강력한 프로그램을 작성하기 위해서 큰 블록안에 소블럭을 위치시킬 수 있습니다.
    -  Variable, Constant, Cursor, Exception을 정의하고, SQL문장과 Procedural 문장에서 사용합니다.
    -  단순, 복잡한 데이터형태의 변수를 선언합니다.
    -  테이블의 데이터 구조와 DataBase의 컬럼럼에 준하여 동적으로 변수를 선언 할 수 있습니다.
    -  Exception 처리 루틴을 이용하여 Oracle Server Error를 처리합니다.
    -  사용자 정의 에러를 선언하고 Exception 처리 루틴으로 처리 가능 합니다.


1. 프로시져
    -  특정 작업을 수행할수 있고, 이름이 있는 PL/SQL 블록으로서. 매개 변수를 받을수 있고, 반복적으로 
       사용할수 있습니다. 보통 연속 실행 또는 구현이 복잡한 트랜잭션을 수행하는 PL/SQL블록을 데이터
       베이스에 저장하기 위해 생성합니다. 
    
     * CREATE OR REPLACE 구문을 사용하여 생성합니다. 
     * IS 로 PL/SQL의 블록을 시작합니다. 
     * LOCAL 변수는 IS 와 BEGIN 사이에 선언합니다.     
    

2. 함수(Function)
    -  보통 값을 계산하고 결과값을 반환하기 위해서 함수를 많이 사용 합니다.
    -  대부분 구성이 프로시저와 유사 하지만 IN 파라미터만 사용 할 수 있습니다.
    -  반드시 반환될 값의 데이터 타입을 RETURN문에 선언해야 합니다.
    -  또한 PL/SQL블록 내에서 RETURN문을 통해서 반드시 값을 반환해야 합니다.

3. package
    -  패키지(package)는 오라클 데이터베이스에 저장되어 있는 서로 관련있는 PL/SQL 프로지져와 함수들의
        집합 입니다
    -  패키지는 선언부와 본문 두 부분으로 나누어 집니다.  

4. 트리거
    -  INSERT, UPDATE, DELETE문이 TABLE에 대해 행해질 때 묵시적으로 수행되는 PROCEDURE 입니다.
    -  Trigger는 TABLE과는 별도로 DATABASE에 저장됩니다.
    -  Trigger는 VIEW에 대해서가 아니라 TABLE에 관해서만 정의될 수 있습니다.

2010. 6. 28. 11:46

[Oracle] 함수 정리

CEIL

:: 소수점 이후의 값은 무조건 올림하는 함수.

 

MOD

:: 두 수를 나눈 나머지 값을 구하는 함수.

 

POWER

:: 승수 값을 구하는 함수.

[예] SQL> select POWER(3, 2), POWER(3, -2) from dual;

[결과] 9          .11111111

 

ROUND

:: 반올림 값을 구하는 함수.

[예] SQL> select ROUND(345.123, 0), ROUND(345.123, 2), round(345.123, -1) from dual;

[결과] 345          345.12          350

 

TRUNC

:: 버림 값을 구하는 함수.

[예] SQL> select TRUNC(345.123, 2), TRUNC(345.123, 0), trunc(345.123, -1) from dual;

[결과] 345.1          345          340

 

SIGN

:: 해당 값이 양수면 1, 음수면 -1, 0이면 0을 돌려준다.

[예] SQL> select SIGN(345.123), SIGN(0), SIGN(-345.123) from dual;

[결과] 1          0          -1

 

CHR, ASCII

:: ASCII은 문자로, 문자는 ASCII 값으로 반환하는 함수.

[예] SQL> select CHR(65), ASCII('A') from dual;

[결과] A          65

 

LOWER, UPPER

:: 문자열을 소문자와 대문자로 반환하는 함수.

[예] SQL> select LOWER('My'), UPPER('My') from dual;

[결과] my          MY

 

LPAD(char1, n, char2)

:: n 자리 만큼의 공간에서 char1을 오른쪽에 붙이고, 나머지 공간을 char2로 채운다.

RPAD(char1, n, char2)

:: n 자리 만큼의 공간에서 char1을 왼쪽에 붙이고, 나머지 공간을 char2로 채운다.

[예] SQL> select LPAD('LDH', 10, '#'), RPAD('LDH', 10, '#') from dual;

[결과] #######LDH          LDH#######

 

LTRIM, RTRIM

:: 각 각 오른쪽(LTRIM)과 왼쪾(RTRIM)의 공백(Space)을 제거한다.

 

REPLACE(char1, char2, char3)

:: char1 문자열에서 char2를 char3으로 치환하는 함수.

[예] SQL> select REPLACE('Orange', 'O', 'A') from dual;

[결과] Arange

 

SUBSTR(char1, n, m)

:: char1 문자열의 n번째부터 시작해서 m번째까지의 문자열을 리턴한다.

[예] SQL> select SUBSTR('오라클 Oracle', 1, 3) from dual;

[결과] '오라클'

[예] SQL> select SUBSTR('오라클 Oracle', 7, 9) from dual;

[결과] 'acl'

[예] SQL> select SUBSTR('오라클 Oracle', 10) from dual;

[결과] 'e'

 

SUBSTRB

:: 바이트 단위로 계산하여 문자열을 치환하는 함수.

[예] SQL> select SUBSTRB('오라클 Oracle', 1, 3) from dual;

[결과] '오'

[예] SQL> select SUBSTRB('오라클 Oracle', 7, 9) from dual;

[결과] ' Or'

[예] SQL> select SUBSTRB('오라클 Oracle', 10) from dual;

[결과] 'acle'

 

LENGTH, LENGTHB

:: 문자열의 길이를 나타낸다.

[예] SQL> select LENGTH(운동(축구)), LENGTH(운동(축구)) from dual;

[결과] 6          10

 

INSTR(char1, char2, n, m)

:: char1에서 char2가 포함된 문자열의 위치가 char1을 기준으로 n번째 위치부터 시작해서 m번째로 char2와 같은 위치를 돌려준다.

 

INSTRB(char1, char2, n, m)

:: 바이트 단위로 내용은 위와 같다.

[예] SQL> INSTR('간장콩장공장장', '장', 1, 2), INSTRB(간장콩장공장장', '장', 1, 2) from dual;

[결과] 4          7

[예] SQL> INSTR('Corporate Floor', 'or', 3, 2), INSTRB('Corporate Floor', 'or', 3, 2) from dual;

[결과] 11          11

[예] SQL> INSTR('오라클 Oracle', 'r', 1, 1), INSTRB('오라클 Oracle', 'r', 1, 1) from dual;

[결과] 6          9

 

SYSDATE

:: 현재의 일자와 시간을 의미하고, 기본값으로 오늘일자를 돌려준다.

[예] SQL> select SYSDATE from dual;

[결과] 04/04/19

[예] SQL> select to_char(SYSDATE, 'YYYY-MM-DD HH24:MI:SS') from dual;

[결과] 2004-04-19 00:44:20

 

LAST_DAY

:: 해당 월의 마지막 날짜를 돌려준다.

[예] SQL> select LAST_DAY(SYSDATE), SYSDATE from dual;

[결과] 04/04/30          04/04/19

 

MONTH_BETWEEN(date1, date2)

:: date1과 date2를 월 단위로 계산하여 그 값을 리턴한다. 만약, date1이 date2보다 크면, 양수의 결과가 나온다.

[예] SQL> select MONTH_BETWEEN('2004-01-19', '2004-04-19') from dual;

[결과] -3

 

ADD_MONTHS(date, n)

:: date의 n개월 후의 값을 리턴한다.

[예] SQL> select ADD_MONTHS(SYSDATE, 2), SYSDATE from dual;

[결과] 04/06/19          04/04/19

 

NEXT_DAY(date, n)

:: date를 기준으로 n요일에 해당하는 다음 날짜를 리턴한다.

[예] SQL> select NEXT_DAY(SYSDATE, 2), NEXT_DAY(SYSDATE, 7), SYSDATE from dual;

[결과] 04/04/20          04/04/25          04/04/19

 

TO_CHAR(n), TO_CHAR(n, format), TO_CHAR(date, format)

:: n을 format 형식의 문자로 바꾸는 함수.

[예] SQL> select TO_CHAR(123.456) from dual;

[결과] 123

[예] SQL> select TO_CHAR(123456.789, '999,999.9999') from dual;

[결과] 123, 456.7890

[예] SQL> select TO_CHAR(SYSDATE, 'YYYY') from dual;

[결과] 2004

 

TO_NUMBER(char), TO_NUMBER(char, format)

:: char를 format 형식의 숫자로 바꾸는 함수.

[예] SQL> select TO_NUMBER('123.12') from dual;

[결과] 123.12

[예] SQL> select TO_NUMBER('123.12', '999.999') from dual;

[결과] 123.120

 

TO_DATE(char), TO_DATE(char, format)

[예] SQL> select TO_DATE('20040419') from dual;

[결과] 2004-04-19 00:00:00

[예] SQL> select TO_DATE('20040419', 'YY/MM/DD') from dual;

[결과] 04/04/19

 

AVG(column_name)

:: 해당 컬럼의 평균값을 리턴한다.

 

MAX(column_name)

:: 해당 컬럼에서 제일 큰 값을 리턴한다.

 

MIN(column_name)

:: 해당 컬럼에서 제일 작은 값을 리턴한다.

 

SUN(column_name)

:: 해당 컬럼의 합계를 리턴한다.

 

COUNT(column_name)

:: 조회건수를 리턴한다.

 

NVL(column_name, 대신할 데이터)

:: 해당 컬럼이 Null일 경우, 대신할 문자나 숫자 등을 대신 사용한다.

 

DECODE

:: 연속된 조거문이라고 할 수 있는데, 가장 자주 쓰이는 함수 중에 하나이다.

[예] SQL> select DECODE(idx, 10, '가', 20, '나', 30, '다', 40, '라') from dual;

[설명] idx가 10이면 '가'이고, 20이면 '나'이고, 30이면 '다'이고, ...

 

USERENV

:: 현재 세션의 환경 정보를 반환한다.

ENTRYID : 사용 가능한 Auditing entry Identifier를 반환.
LABEL : 현재 세션의 Label을 반환.
LANGUAGE : 현재 세션에서 사용중인 언어와 테리토리 값을 반환.
SESSIONID : Auditing(감사) Session ID를 반환.
TERMINAL : 현재 세션 터미널의 OS ID를 반환.

 

GREATEST(n1, n2, n3, ...)

:: 숫자나 문자 아무거나 나열하면 그 중에 가장 큰 값을 반환한다.

 

LEAST(n1, n2, n3, ...)

:: 숫자나 문자 아무거나 나열하면 그 중에 가장 작은 값을 반환한다.

 

UID, USER

:: 사용자 ID와 사용자의 OWNER를 돌려준다.


2010. 6. 21. 14:33

SELECT INTO와 INSERT SELECT

1. SELECT * INTO  : 신규테이블 생성하면서 조회한 자료를 넣음

    <전체컬럼>

SELECT  *  INTO  신규테이블명  FROM  조회테이블명  with(nolock)
                                               WHERE  SALE_YMD  between  '20080101'  AND  '20090731' 

    <일부컬럼>

SELECT  *  INTO  신규테이블명  FROM 
                                   ( SELECT  AAA, BBB  FROM  조회테이블명  with(nolock)
                                                                   WHERE  SALE_YMD  BETWEEN  '20080101'  
                                                                                                AND  '20090731'  
                                   ) AS  STABLE


2.INSERT INTO  : 똑같은 스키마를 가진 태이블이 이미 생성된 상태에서 자료를 인서트 함

     <전체컬럼>

            INSERT  INOT  복사될테이블명  SELECT  *  FROM  복사대상테이블명

     <부분컬럼>

            INSERT  INTO  복사될테이블명  SELECT  AAA,  BBB  FROM  복사대상테이블명

 

'Database / Sql' 카테고리의 다른 글

[Oracle] PL/SQL  (0) 2010.06.29
[Oracle] 함수 정리  (0) 2010.06.28
[Oracle] 윈도우7에 Oracle 10g 설치 에러 발생시  (0) 2010.05.31
[Oracle] SYSDATE를 이용한 날짜 및 시간 조정  (0) 2010.05.11
[Oracle] sqlnet.ora  (0) 2010.03.22
2010. 5. 31. 18:59

[Oracle] 윈도우7에 Oracle 10g 설치 에러 발생시

* 10204_vista_w2k8_x64_production_db 압축배포판 기준으로 설명하겠습니다.

1.10204_vista_w2k8_x64_production_db\database\install 폴더안에 있는
  oraparam.ini 파일을 열어줍니다

[Certified Versions]
#You can customise error message shown for failure, provide value for CERTIFIED_VERSION_FAILURE_MESSAGE
Windows=5.0,5.1,5.2,6.0

를 찾아서 다음과 같이 바꿔줍니다

[Certified Versions]
#You can customise error message shown for failure, provide value for CERTIFIED_VERSION_FAILURE_MESSAGE
Windows=5.0,5.1,5.2,6.0,6.1

2. 10204_vista_w2k8_x64_production_db\database\stage\prereq\db폴더 안에 있는
  refhost.xml 파일을 열어줍니다
<CERTIFIED_SYSTEMS>
    <OPERATING_SYSTEM>
      <VERSION VALUE="5.0"/>
      <SERVICE_PACK VALUE="1"/>
    </OPERATING_SYSTEM>
    <OPERATING_SYSTEM>
      <VERSION VALUE="5.1"/>
      <SERVICE_PACK VALUE="1"/>
    </OPERATING_SYSTEM>
    <OPERATING_SYSTEM>
      <VERSION VALUE="5.2"/>
    </OPERATING_SYSTEM>
    <!--Microsoft Windows Vista-->
    <OPERATING_SYSTEM>
      <VERSION VALUE="6.0"/>
    </OPERATING_SYSTEM>
  </CERTIFIED_SYSTEMS>          를 찾아서

<CERTIFIED_SYSTEMS>
    <OPERATING_SYSTEM>
      <VERSION VALUE="5.0"/>
      <SERVICE_PACK VALUE="1"/>
    </OPERATING_SYSTEM>
    <OPERATING_SYSTEM>
      <VERSION VALUE="5.1"/>
      <SERVICE_PACK VALUE="1"/>
    </OPERATING_SYSTEM>
    <OPERATING_SYSTEM>
      <VERSION VALUE="5.2"/>
    </OPERATING_SYSTEM>
    <!--Microsoft Windows Vista-->
    <OPERATING_SYSTEM>
      <VERSION VALUE="6.0"/>
    </OPERATING_SYSTEM>
    <OPERATING_SYSTEM>
      <VERSION VALUE="6.1"/>
    </OPERATING_SYSTEM>
   
  </CERTIFIED_SYSTEMS>

로 바꿔줍니다

3. 10204_vista_w2k8_x64_production_db\database\stage\prereq\db_prereqs\db 폴더 안에 있는
  refhost.xml 파일을 열어줍니다  (주의 : 2번의 폴더 경로와 다릅니다 확인해주세요.)

파일을 열고 2번과 똑같이 작업해 줍니다. 

이렇게 작업하시고 다시 설치를 진행해보시면 설치 전 검사를 통과할 수 있습니다.

그런데 설치하려고 일반설치를 누르면 설치경로가 잘못됬다고 하면서 어쩌구저쩌구 됩니다.

이건 드라이브경로나 폴더명을 바꿔도 진행이 안되니 아래쪽의 고급설치로 진행하시면 됩니다.

2010. 5. 11. 18:42

[Oracle] SYSDATE를 이용한 날짜 및 시간 조정

SQL> select sysdate, to_char(sysdate, 'HH:MI:SS')       
           from dual

SYSDATE  TO_CHAR(SYSDATE,
-------- ----------------
10/04/03 02:13:02

         select to_char(sysdate, 'YYYY-MM-DD HH24:MI:SS') sysdate from dual
           from dual

SYSDAT            
-------------------
2010-12-13 19:28:54

SYSDATE는 시,분,초도 포함되어 있다. 그런데 그냥 출력하면 나오진 않는다.

이때 to_char을 써서 문자로 출력을 해야 한다. 주목해야 할 점은 문자를 날짜로 출력하고 있다는 것이다.

 

-- 오늘부터 100달 뒤의 날짜의 요일을 구하시요.

SQL> select to_char(add_months(sysdate,100),'day')
           from dual;

TO_CHAR(ADD_MONTHS(SYSDA
------------------------
금요일

 

-- 오늘부터 100달뒤 돌아오는 월요일의 날짜를 구하시요.

SQL> select next_day(add_months(sysdate,100),'월')
           from dual;

NEXT_DAY
--------
18/08/06



-- 기타 날짜 및 시간 조정

SELECT  TO_CHAR(SYSDATE - 0.1, 'HH:MI')  '1시간 12분 전', 
             TO_CHAR(SYSDATE + (30/60)/24, 'HH:MI')  '30분 후', 
             TO_CHAR(SYSDATE + 3/24, 'HH:MI')  '3시간 후', 
             TO_CHAR(SYSDATE + 3, 'MM/DD')  '3일 후'
    FROM DUAL;

2010. 3. 24. 19:28

동적 체크박스 생성

var
     chb_aHTECOD : Array [1..10] of TCheckBox;
     cnt_HTECOD : Integer;

Begin
     For cnt_HTECOD := 1 to Length(chb_aHTECOD) Do
     Begin
         chb_aHTECOD[cnt_HTECOD] := TCheckBox.Create(Application);   // (Self) 가능
         chb_aHTECOD[cnt_HTECOD].Parent := Panel1;
         chb_aHTECOD[cnt_HTECOD].Width := 150; 
         chb_aHTECOD[cnt_HTECOD].Left := Panel1.Width - chb_aHTECOD.Width div 2;    // 각각 조정
         chb_aHTECOD[cnt_HTECOD].Top := Panel1.Height - chb_aHTECOD.height div 2; 
         chb_aHTECOD[cnt_HTECOD].Caption := '동적 체크';
     End;
End;


'Delphi' 카테고리의 다른 글

올림 / 내림(버림)  (0) 2011.08.03
델파이의 소숫점 반올림 방식  (2) 2011.08.03
단축키 모음  (0) 2010.03.22
TDateTime형 - 3  (0) 2009.12.01
TDateTime형 - 2  (0) 2009.12.01
2010. 3. 22. 18:55

단축키 모음

폼 디자이너
Ctrl + 방향키(←↑→↓)             : 컴포넌트 위치 이동
Shift + Ctrl + 방향키(←↑→↓)    : 컴포넌트 위치 이동(빠르게)
Shift + 방향키(←↑→↓)            : 컴포넌트 크기 변경
선택 후 ESC                          : Parent컴포넌트로 이동
폼위에 수 많은 판넬들로 이루어진데서 속에 숨어있는 컴포넌트는 앞으로 보이게 하기
메뉴 -> Edit -> Bring to Front

오브젝트 인스펙터
Ctrl + ↓                              : 컴포넌트 선택기 팝업
(팝업 후 알파벳 문자 입력하여 해당 컴포넌트로 이동 가능)
Alt + ↓                               : Property Combo 선택기 팝업
(팝업 후 알파벳 문자 입력하여 해당 컴포넌트로 이동 가능)
Ctrl + Enter                         : 열거형 Property값을 다음 값으로 변경
+선택 후, ←,→                    : 하위 Property펼치기,접기
Ctrl + Tab                           : Properties,Events탭 전환
..선택 + Ctrl + Enter              : Property Editor 열기
Tab                                   : Property Name/Value토글

소스코드 에디터
Ctrl + F  : 문자열 찾기
Ctrl + R  : Replace
F3         : Search Again

Ctrl + Enter                       : 현재위치의 단어로 File Open 시도, 현재 Path 에서 찾지 못하면 Dialog
Ctrl + S                            : 파일 저장
Ctrl + F4                           : 파일 닫기
Ctrl + Shift + C                   : Method/Procedure/Property자동생성

노가다 작업시 정말 유용한 키매크로 기능

Ctrl + Shift + R Record  * 키매크로 작성순서 :  <Ctrl+Shift+R> -> <원하는키> -> <Ctrl+Shift+R>
Ctrl + Shift + P Play


(커서 이동에 관한 단축키)
Ctrl + ←,→                         : 이전 단어, 다음 단어
Ctrl + Shift + ←,→                : 이전 단어, 다음 단어까지 블럭
Ctrl + Home                        : 소스코드 맨 앞으로 이동
Ctrl + End                           : 소스코드 맨 뒤로 이동
Ctrl + Shift + ↑(↓)               : 선언부,구현부 상호간 이동
Ctrl + PageUp                     : 현재 화면의 맨 윗줄로 이동
Ctrl + PageDown                 : 현재 화면의 맨 아랫줄로 이동
Alt + {, }                            : '{'괄호 앞,뒤에서 사용. 짝 찾기.
(), {}, [] 이런 괄호 의 앞부분에 가서 alt + [ 키를 누르면 해당 괄호의 끝으로 간다.
Ctrl + Q + P : 이동하기 전의 위치로 다시 이동
Ctrl + Q + B : 블럭 제일 앞으로 이동
Ctrl + Q + K : 블럭 제일 밑으로 이동
작업하다가 다시 작업하던 곳으로 오려면 북마크를 이용하는 수 밖에 없겠다.
Ctrl + k + 0 : 북마크 0 이 된다. 더 추가 하려면 0 대신에 1~9 까지 있다.
해제 하려면 똑같이 Ctrl + k + 0 를 한번더 하면 된다.
Ctrl + 0 : 북마크 0 으로 돌아 온다. 0~9까지 있다.


(블럭에 관한 단축키)
Shift + Home                     : 현재 라인 맨 앞까지 블럭
Shift + End                        : 현재 라인 맨 뒤까지 블럭
Shift + Alt + 방향키(←↑→↓)     : 블록 사각형 지정, 칸단위 블럭 설정
Ctrl + KL                          : 캐럿이 Line Home에 있을 때, Line 블럭
Ctrl + T                            : 현재 위치에서 단어 마지막 부분까지 삭제
Ctrl + I                             : 블럭 지정된 문자를 공백으로 변환

Ctrl + N                            : 다음 Line 맨 앞으로 줄바꿈
Ctrl + M                           : 줄바꿈
Alt + BackSpace                    : 실행 취소 (Undo)
Ctrl + E                           : 알파벳이나 숫자를 누르면 현재 위치에서 밑에 해당 키의 문자가 있는 곳으로 이동한다.
Ctrl + ↑(↓)                      : 캐럿 고정 스크롤
Ctrl + O + U : 대문자 -> 소문자, 소문자 -> 대문자
Ctrl + Shift + U : 왼쪽으로 땡기기
Ctrl + Shift + I : 오른쪽으로 땡기기

editor Properties 에 들어 가서 general 메뉴에서 Block indent 에서 얼만큼 땡길건지 크기를 조절할 수 있다.

shift + Ctrl + G : OLE interface 에 사용되는 GUID를 랜덤으로 만들어서 삽입해 준다.
CTRL + OO : 현재 유닛의 맨 앞 부분에 여러 가지 컴파일러 지시자를 삽입해 준다.


코드탐색기
F2                                    : 이름 변경하기(Uses제외)
DoubleClick                      : 소스코드 탐색기의 해당 코드로 이동
Ctrl + Shift + E                   : 탐색기<->에디터 창 이동



코드 인사이트(Code Insight)
Ctrl + Space                       : 코드완성 마법사
Ctrl + Shift                          : 메소드 파라미터 팁
메소드의 이름을 입력하고 괄호를 입력한 다음에 잠시 기다리면 해당 메소드의 파미터구조가 힌트형태로 보여진다. Ctrl + shift 를 누르면 똑 같은 기능을 한다.
Ctrl + J                              : 코드 템플릿 사용
툴팁수식평가 디버깅시 수식이 나타나지 않을 경우
Project -> Options 메뉴에 Compiler 페이지에서 Optimization 체크박스를 해제하면 된다.


       
기타 기능
Alt + F10                          : 현재 위치에서 Popup-Menu 띄우기
F11                                 : View Object Inspector
F12                                 : Toggle Form/Unit
Alt + 0                             : View Window List
Ctrl + F12                        : View Unit
Shift + F12                       : View Form

컴파일/실행
Ctrl + F9  : Compile
F9          : Run
F7          : Trace Into
F8          : Trace Over
F5          : Set Breakpoint
Ctrl + F5  : Add Watch
Ctrl + F7  : Evaluate/Modif

'Delphi' 카테고리의 다른 글

델파이의 소숫점 반올림 방식  (2) 2011.08.03
동적 체크박스 생성  (0) 2010.03.24
TDateTime형 - 3  (0) 2009.12.01
TDateTime형 - 2  (0) 2009.12.01
TDateTime형 - 1  (0) 2009.12.01