반응형
SELECT a.TABLE_NAME, a.COLUMN_NAME, b.COMMENTS, a.DATA_TYPE||'('||a.DATA_LENGTH||')', a.NULLABLE 
FROM ALL_TAB_COLUMNS a INNER JOIN USER_COL_COMMENTS b ON a.TABLE_NAME = b.TABLE_NAME AND a.COLUMN_NAME = b.COLUMN_NAME
WHERE a.OWNER= '사용자'
반응형

'Database' 카테고리의 다른 글

mysql trigger create  (0) 2021.10.04
오라클 clob컬럼에 ORA-01704 오류  (0) 2021.04.08
Mysql 변수 사용법  (0) 2021.03.05
Mysql 컬럼 조회  (0) 2020.12.16
오라클 스케쥴러  (0) 2020.11.19
오라클 피벗 - Oralce pivot  (0) 2020.10.21
마리아DB 백업 Window  (0) 2020.09.23
MariaDB 10.5 설치 :: Windows 10 (2020.09.11)  (0) 2020.09.12
반응형

android:maxLines="1" <!-- 최대 1줄 -->

android:ellipsize="end" <!-- 말줄임 표시 -->

 

반응형
반응형

스케쥴러 생성.

BEGIN
    DBMS_SCHEDULER.CREATE_JOB (
            job_name => '"CZCARDDB"."TEST_ONCE"',
            job_type => 'PLSQL_BLOCK',
            job_action => 'SELECT ''한번실행1'' FROM DUAL; SELECT ''한번실행2'' FROM DUAL;',
            number_of_arguments => 0,
            start_date => TO_TIMESTAMP_TZ('2020-11-19 23:59:59.000000000 ASIA/SEOUL','YYYY-MM-DD HH24:MI:SS.FF TZR'),
            repeat_interval => NULL,
            end_date => NULL,
            enabled => TRUE,
            auto_drop => FALSE,
            comments => '테스트 한번실행');       
END;

 

스케쥴러 조회.

SELECT * FROM USER_SCHEDULER_JOBS WHERE ENABLED='TRUE';

 

스케쥴러 실행 이력 조회

SELECT * FROM USER_SCHEDULER_JOB_LOG;
반응형

'Database' 카테고리의 다른 글

오라클 clob컬럼에 ORA-01704 오류  (0) 2021.04.08
Mysql 변수 사용법  (0) 2021.03.05
Mysql 컬럼 조회  (0) 2020.12.16
오라클 컬럼 조회 쿼리  (0) 2020.12.10
오라클 피벗 - Oralce pivot  (0) 2020.10.21
마리아DB 백업 Window  (0) 2020.09.23
MariaDB 10.5 설치 :: Windows 10 (2020.09.11)  (0) 2020.09.12
mysql 이벤트 (scheduler)  (0) 2020.09.03
반응형

영세하거나 무료 인증서 같은 경우 java 키스토어에 인증서가 없을 수 있습니다.

 

그런 경우 SSL 통신을 시도하면 아래와 같은 오류가 발생합니다.

 

javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed:

 

이런 경우 해당 사이트의 인증서를 받아서 java 키스토어에 추가 해줘야 합니다.

 

원래 Sun사에서 제공하던 InstallCert.java 를 좀 개량해서 한번의 실행만으로 모두 해결되도록 수정한 버전이 아래 소스 입니다.

 

1. Host 및 Port 를 소스에서 변경하고 컴파일 후 실행합니다.

[실행 내용]

1. 해당 사이트의 SSL 인증서를 가지고 있는 지 확인해서 있다면 그냥 끝냅니다.

2. 없다면 인증서를 내려 받습니다.

3. 내려받은 인증서에서 여러 keytool을 이용해 각각 export해서 자바 기본 키스토어에 import 합니다.

- 이 때 자바 기본 키스토어는 자동으로 백업 됩니다.

 

위 과정이 실행하면 알아서 진행되고, 그 후에 SSL 통신을 다시 시도해 보면 잘 되는 것을 확인할 수 있습니다.

반응형
반응형

jdk 1.7 부터 추가된   java.nio.file.Files 클래스를 이용합니다.

 

public static void copyFile( File from, File to ) throws IOException {
    Files.copy( from.toPath(), to.toPath() );
}
반응형
반응형

[설명]

var : 값 재 할당 가능, Block 안에서 설정해도 Block 밖에서도 사용가능 (function-scoped)

let : 값 재 할당 가능, Block안에서 설정하면 Block 안에서만 사용가능. (block-scoped)

const : 값 재 할당 불가능. Block안에서 설정하면 Block 안에서만 사용가능. (block-scoped)

 

 

[비교 코드]

{
  var a = 1;
  let b = 2;
  const c = 3;
  
  try {
    a = 4;
  } catch(e) {
    console.log("block 안쪽 a Error : " + e.message);
  }
  try {
    b = 5;
  } catch(e) {
    console.log("block 안쪽 b Error : " + e.message);
  }
  try {
    c = 6;
  } catch(e) {
    console.log("block 안쪽 c Error : " + e.message);
  }
  console.log("block 안쪽 a : " + a);
  console.log("block 안쪽 b : " + b);
  console.log("block 안쪽 c : " + c);
}

try {
 console.log("block 바깥 a : " + a);
} catch(e) {
  console.log("block 바깥 a Error : " + e.message);
}
try {
  console.log("block 바깥 b : " + b);
} catch(e) {
  console.log("block 바깥 c Error : " + e.message);
}
try {
  console.log("block 바깥 c : " + c);
} catch(e) {
  console.log("block 바깥 c Error : " + e.message);
}
  

 

[결과]

block 안쪽 c Error : Assignment to constant variable.

block 안쪽 a : 4
block 안쪽 b : 5
block 안쪽 c : 3

block 바깥 a : 4
block 바깥 c Error : b is not defined
block 바깥 c Error : c is not defined
반응형
반응형

배열 변수를 선언해 Map 처럼 사용가능하다.

 

아래는 파일을 읽어서 특정 문자열이 같은 경우 모두 한줄로 이어주는 함수다.

 

같은 IP 로 찍힌 로그들을 한줄로 만드는데 사용할 수 있다.

echo "" > tmp.log

unset map
declare -A map

while read line
do
    KEY="`echo "$line"|awk '{print $3}'  `"
    map[$KEY]="${map[$KEY]}             $line"
done <  tmp2.log

for _key in "${!map[@]}"
do
    echo ${map[$_key]} >> tmp.log
done

cat tmp.log | sort
반응형
반응형

[피벗 전]

  SELECT 가입일, 나이 FROM (
    SELECT '10대' AS 나이, '1일' 가입일 FROM DUAL UNION ALL
    SELECT '20대' AS 나이, '1일' 가입일 FROM DUAL UNION ALL
    SELECT '30대' AS 나이, '2일' 가입일 FROM DUAL UNION ALL
    SELECT '20대' AS 나이, '2일' 가입일 FROM DUAL UNION ALL
    SELECT '30대' AS 나이, '3일' 가입일 FROM DUAL UNION ALL
    SELECT '40대' AS 나이, '3일' 가입일 FROM DUAL 
  ) GROUP BY 가입일, 나이

[결과]

[피벗 후]

SELECT * FROM (
  SELECT 가입일, 나이 FROM (
    SELECT '10대' AS 나이, '1일' 가입일 FROM DUAL UNION ALL
    SELECT '20대' AS 나이, '1일' 가입일 FROM DUAL UNION ALL
    SELECT '30대' AS 나이, '2일' 가입일 FROM DUAL UNION ALL
    SELECT '20대' AS 나이, '2일' 가입일 FROM DUAL UNION ALL
    SELECT '30대' AS 나이, '3일' 가입일 FROM DUAL UNION ALL
    SELECT '40대' AS 나이, '3일' 가입일 FROM DUAL 
  ) GROUP BY 가입일, 나이
) PIVOT ( COUNT(*) 
         FOR 나이 IN ('10대', '20대', '30대', '40대') 
        )     
ORDER BY 가입일
;

[결과]

 

 

웹으로 ORACLE PIVOT 바로 테스트 가능합니다. !! --> http://sqlfiddle.com/#!4/7bc0ee/3168

 

반응형

'Database' 카테고리의 다른 글

Mysql 변수 사용법  (0) 2021.03.05
Mysql 컬럼 조회  (0) 2020.12.16
오라클 컬럼 조회 쿼리  (0) 2020.12.10
오라클 스케쥴러  (0) 2020.11.19
마리아DB 백업 Window  (0) 2020.09.23
MariaDB 10.5 설치 :: Windows 10 (2020.09.11)  (0) 2020.09.12
mysql 이벤트 (scheduler)  (0) 2020.09.03
mysql - 랜덤 정렬  (0) 2020.08.16
반응형
[명령]
goni9071@tistory ~]$ cat test.txt

[결과]
1 c 2 c 
3 b 3 b 
2 a 1 b 
4 a 1 a

 

[명령]
goni9071@tistory ~]$ cat test.txt | sort

[결과]
1 c 2 c 
2 a 1 b 
3 b 3 b 
4 a 1 a

[설명]
-t 옵션이 없으면 기본적으로 공백을 기준으로 컬럼을 나눕니다. 
-k 옵션이 없으면 1열부터 마지막열까지 오름차순으로 정렬합니다.
   (우선순위가 1열 오름차순, 2열 오름차순, .... 마지막열 오름차순)

 

[명령]
goni9071@tistory ~]$ cat test.txt | sort -k2

[결과]
4 a 1 a 
2 a 1 b 
3 b 3 b 
1 c 2 c

[설명]
-k 옵션에 숫자 하나만 적용하면 해당 숫자 열부터 마지막 열까지 오름차순으로 정렬합니다.
    (2열부터 오름차순 정렬하고 3열 오름차순, 4열 오름차순으로 정려됩니다.)

 

[명령]
goni9071@tistory ~]$ cat test.txt | sort -k2,3

[결과]
2 a 1 b 
4 a 1 a 
3 b 3 b 
1 c 2 c

[설명]
-k2,3 2열부터 3열까지만 오름차순으로 정렬 합니다.
 (-k2 와 비교해 보면 4열의 순서가 다른 것을 알 수 있습니다.)

 

[명령]
goni9071@tistory ~]$ cat test.txt | sort -k3,3 -k4,4r

[결과]
2 a 1 b 
4 a 1 a 
1 c 2 c 
3 b 3 b 

[설명]
 3열은 오름차순 4열은 내림차순으로 정렬합니다.
 ( r은 역순입니다. reverse)

 

 

반응형
반응형


1. 소스트리에서 해당 repository를 지운다. (북마크만 제거)
2. 해당 소스 폴더에서 .git 을 지운다.
3. IDE(STS, Eclipse) 에서도 해당 프로젝트를 지운다. (북마크만 제거)
4. 해당 소스 폴더의 이름을 변경한다.
5. 원격소스를 기존 소스 폴더 이름으로 새롭게 Clone 을 한다.
6. 4번의 소스를 다시 5번에 덮어쓰기 한다.
7. 변경된 내용들을 Commit & Push 한다.

 

 

1,2,3,4 는 현재 소스폴더를 자유롭게 해주는 단계 입니다.

무엇으로 부터? Git Client와 IDE로 부터요. (백업은 덤)

 

5번은 깨지지 않은 깔끔한 상태로 Local Git Repository를 만들어 주는 겁니다.

 

거기에 원래 소스를 덮어 씌워주면 Git이 깨지기 전 상태로 돌아가는 겁니다.

 

 

Git 이거 자꾸 왜 깨지는 걸까요? ㅜㅜ

디스크 문제인건가 소스트리 문제인건가..

반응형

+ Recent posts