2018년 11월 15일 목요일

substr vs substring

Language Function Exempli Gratia Result
Javascript substr(start,length) '01234'.substr(1,3) "123"
substring(start,end) '01234'.substring(1,3); "12"
JAVA substring(start,end) '01234'.substring(1,3); "12"
Index starts with 0(zero)
"end" argument means " Index -1 "

2018년 11월 6일 화요일

DATA-BASE 정보 (테이블,컬럼,인덱스)

-- ORACLE --
SELECT * FROM ALL_INDEXES;
SELECT * FROM ALL_IND_COLUMNS;
SELECT * FROM TABS;
SELECT * FROM ALL_ALL_TABLES;
SELECT * FROM ALL_TAB_COMMENTS;
SELECT * FROM COLS;
SELECT * FROM USER_COL_COMMENTS;
SELECT * FROM DICTIONARY WHERE TABLE_NAME IN ('TABS','ALL_ALL_TABLES','COLS','ALL_TAB_COMMENTS','USER_COL_COMMENTS','ALL_INDEXES','ALL_IND_COLUMNS');
/*
1 ALL_ALL_TABLES  Description of all object and relational tables accessible to the user
2 ALL_INDEXES     Descriptions of indexes on tables accessible to the user
3 ALL_IND_COLUMNS COLUMNs comprising INDEXes on accessible TABLES
4 ALL_TAB_COMMENTS  Comments on tables and views accessible to the user
5 USER_COL_COMMENTS Comments on columns of user's tables and views
6 COLS              Synonym for USER_TAB_COLUMNS
7 TABS              Synonym for USER_TABLES
*/
WITH AA AS (
SELECT TABLE_NAME
FROM TABS
WHERE SUBSTR(TABLE_NAME,1,4) = 'T_RM'
AND SUBSTR(TABLE_NAME,-4) NOT IN ('HIST','TEMP')
)
SELECT
    AA.TABLE_NAME, 'C' AS TYPE, TC.COMMENTS, C.COLUMN_NAME, C.DATA_TYPE, CC.COMMENTS
FROM AA
INNER JOIN ALL_TAB_COMMENTS TC ON AA.TABLE_NAME = TC.TABLE_NAME
INNER JOIN COLS C ON AA.TABLE_NAME = C.TABLE_NAME
INNER JOIN USER_COL_COMMENTS CC ON AA.TABLE_NAME = CC.TABLE_NAME AND C.COLUMN_NAME = CC.COLUMN_NAME
WHERE TC.OWNER = 'WCSUSER'
UNION ALL
SELECT AA.TABLE_NAME, 'I' AS TYPE, I.INDEX_NAME, LISTAGG(I.COLUMN_NAME,', ') WITHIN GROUP (ORDER BY I.COLUMN_NAME),'',''
FROM ALL_IND_COLUMNS I INNER JOIN AA ON AA.TABLE_NAME = I.TABLE_NAME
GROUP BY AA.TABLE_NAME, I.INDEX_NAME
ORDER BY 1,2
;
-- MS-SQL -- 
INFORMATION_SCHEMA.TABLES INFORMATION_SCHEMA.TABLE_CONSTRAINTS INFORMATION_SCHEMA.VIEW_TABLE_USAGE INFORMATION_SCHEMA.COLUMNS INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE INFORMATION_SCHEMA.KEY_COLUMN_USAGE INFORMATION_SCHEMA.VIEW_COLUMN_USAGE SYSOBJECTS
--테이블 코멘트 조회
SELECT OBJTYPE, OBJNAME, NAME, VALUE
FROM ::FN_LISTEXTENDEDPROPERTY (NULL, 'SCHEMA', 'DBO', 'TABLE', '테이블이름', DEFAULT, DEFAULT)
;
--컬럼 코멘트 조회
SELECT OBJTYPE, OBJNAME, NAME, VALUE FROM ::FN_LISTEXTENDEDPROPERTY(NULL, 'SCHEMA', 'DBO', 'TABLE', '테이블이름', 'COLUMN', DEFAULT)
;
SELECT * FROM INFORMATION_SCHEMA.TABLES;
SELECT * FROM INFORMATION_SCHEMA.COLUMNS;
SELECT * FROM SYS.EXTENDED_PROPERTIES;
SELECT * FROM SYSUSERS; SELECT * FROM SYSOBJECTS;
SELECT * FROM SYSCOLUMNS;
SELECT /* OBJECT LIST */
    COL.TABLE_CATALOG, COL.TABLE_SCHEMA
, CASE OBJ.ID
WHEN LAG(OBJ.ID) OVER (ORDER BY COL.TABLE_CATALOG, COL.TABLE_SCHEMA, COL.TABLE_NAME, COL.ORDINAL_POSITION)
THEN NULL
ELSE OBJ.ID
END AS ID
, CASE COL.TABLE_NAME
WHEN LAG(COL.TABLE_NAME) OVER (ORDER BY COL.TABLE_CATALOG, COL.TABLE_SCHEMA, COL.TABLE_NAME, COL.ORDINAL_POSITION)
THEN ''
ELSE COL.TABLE_NAME
END AS TABLE_NAME
, CASE PROP_T.value
WHEN LAG(PROP_T.value) OVER (ORDER BY COL.TABLE_CATALOG, COL.TABLE_SCHEMA, COL.TABLE_NAME, COL.ORDINAL_POSITION)
THEN ''
ELSE PROP_T.value
END AS TABLE_COMMENT
,OBJ.ID,COL.TABLE_NAME,PROP_T.value AS TABLE_COMMENT
, COL.COLUMN_NAME
, PROP.value AS COLUMN_COMMENT
, COL.ORDINAL_POSITION
, CONVERT(VARCHAR,COL.DATA_TYPE) +'('+ ISNULL(CONVERT(VARCHAR,COL.CHARACTER_MAXIMUM_LENGTH),'') +')' AS DATA_TYPE
, COL.IS_NULLABLE
, COL.COLUMN_DEFAULT
FROM SYSOBJECTS OBJ
INNER JOIN INFORMATION_SCHEMA.COLUMNS COL ON OBJ.NAME = COL.TABLE_NAME
LEFT OUTER JOIN SYS.EXTENDED_PROPERTIES PROP ON OBJ.ID = PROP.major_id
AND COL.ORDINAL_POSITION = PROP.minor_id
LEFT OUTER JOIN (
SELECT major_id,VALUE FROM SYS.EXTENDED_PROPERTIES WHERE minor_id=0
) PROP_T ON OBJ.ID = PROP_T.major_id
WHERE 0=0
ORDER BY COL.TABLE_CATALOG, COL.TABLE_SCHEMA, COL.TABLE_NAME, COL.ORDINAL_POSITION
;

SELECT /* COLUMN DETAILS */
CASE
OBJ.NAME WHEN LAG(OBJ.NAME) OVER(ORDER BY PROP.minor_id) THEN ''
ELSE OBJ.NAME
END AS TABLE_NAME
,OBJ.NAME
,ISNULL(COL.COLUMN_NAME,'[ '+OBJ.NAME+' ]') AS NAME
, COL.COLUMN_NAME
, PROP.VALUE AS COMMENT
, 'private String ' + LOWER(COL.COLUMN_NAME) + ';// ' + CONVERT(VARCHAR, PROP.VALUE) AS STR
, PROP.minor_id
FROM SYSOBJECTS OBJ
INNER JOIN SYS.EXTENDED_PROPERTIES PROP ON OBJ.ID = PROP.major_id
LEFT OUTER JOIN INFORMATION_SCHEMA.COLUMNS COL ON OBJ.NAME = COL.TABLE_NAME
AND COL.ORDINAL_POSITION = PROP.minor_id
WHERE OBJ.TYPE = 'U'
AND PROP.NAME = 'MS_Description'
AND PROP.CLASS_DESC = 'OBJECT_OR_COLUMN'
ORDER BY OBJ.NAME ASC, PROP.minor_id
;

2018년 5월 28일 월요일

chrome shortcuts



참조 : https://developers.google.com/chrome-developer-tools/docs/shortcuts

DevTools 액세스

DevTools 액세스Windows의 경우Mac의 경우
Developer Tools 열기F12Ctrl + Shift + ICmd + Opt + I
요소 검사 모드 및 브라우저 창에서 열기/전환Ctrl + Shift + CCmd + Shift + C
Developer Tools를 열고 콘솔에 포커스 두기Ctrl + Shift + JCmd + Opt + J
Inspector 검사(첫 번째 항목 도킹 해제 후 누름)Ctrl + Shift + ICmd + Opt + I

전역 키보드 단축키

다음 단축키는 모든 DevTools 패널에서 사용할 수 있습니다.
전역 단축키WindowsMac
일반 설정 대화상자 표시?F1?
다음 패널Ctrl + ]Cmd + ]
이전 패널Ctrl + [Cmd + [
패널 기록 뒤로Ctrl + Alt + [Cmd + Opt + [
패널 기록 앞으로Ctrl + Alt + ]Cmd + Opt + ]
도킹 위치 변경Ctrl + Shift + DCmd + Shift + D
Device Mode 열기Ctrl + Shift + MCmd + Shift + M
콘솔 전환 / 열 때 설정 대화상자 닫기EscEsc
페이지 새로고침F5Ctrl + RCmd + R
캐시된 콘텐츠를 무시하고 페이지 새로고침Ctrl + F5Ctrl + Shift + RCmd + Shift + R
현재 파일 또는 패널 내에서 텍스트 검색Ctrl + FCmd + F
모든 소스에서 텍스트 검색Ctrl + Shift + FCmd + Opt + F
파일 이름으로 검색(타임라인 제외)Ctrl + OCtrl + PCmd + OCmd + P
확대(DevTools에 포커스를 둔 상태에서)Ctrl + +Cmd + Shift + +
축소Ctrl + -Cmd + Shift + -
기본 텍스트 크기 복원Ctrl + 0Cmd + 0

패널별 단축키

Elements

Elements 패널WindowsMac
변경 취소Ctrl + ZCmd + Z
변경 다시 실행Ctrl + YCmd + YCmd + Shift + Z
탐색위쪽 화살표아래쪽 화살표위쪽 화살표아래쪽 화살표
노드 확장/축소오른쪽 화살표왼쪽 화살표오른쪽 화살표왼쪽 화살표
노드 확장화살표 한 번 클릭화살표 한 번 클릭
노드 및 모든 자식 노드 확장/축소Ctrl + Alt + 화살표 아이콘 클릭Opt + 화살표 아이콘 클릭
속성 편집Enter속성 두 번 클릭Enter속성 두 번 클릭
요소 숨기기HH
HTML로 편집 전환F2

Styles 사이드바

Styles 사이드바에서 사용할 수 있는 단축키:
Styles 사이드바WindowsMac
규칙 편집한 번 클릭한 번 클릭
새 속성 삽입공백 한 번 클릭공백 한 번 클릭
소스에서 스타일 규칙 속성 선언 줄로 이동Ctrl + 속성 클릭Cmd + 속성 클릭
소스에서 속성 값 선언 줄로 이동Ctrl + 속성 값 클릭Cmd + 속성 값 클릭
색 정의 값 순환Shift + 색 선택 상자 클릭Shift + 색 선택 상자 클릭
다음/이전 속성 편집TabShift + TabTabShift + Tab
값 증가/감소위쪽 화살표아래쪽 화살표위쪽 화살표아래쪽 화살표
10씩 값 증가/감소Shift + 위쪽 화살표Shift + 아래쪽 화살표Shift + 위쪽 화살표Shift + 아래쪽 화살표
10씩 값 증가/감소PgUpPgDownPgUpPgDown
100씩 값 증가/감소Shift + PgUpShift + PgDownShift + PgUpShift + PgDown
0.1씩 값 증가/감소Alt + 위쪽 화살표Alt + 아래쪽 화살표Opt + 위쪽 화살표Opt + 아래쪽 화살표

Sources

Sources 패널WindowsMac
스크립트 실행 일시 중지/계속F8Ctrl + \F8Cmd + \
다음 함수 호출 Step OverF10Ctrl + 'F10Cmd + '
다음 함수 호출 Step IntoF11Ctrl + ;F11Cmd + ;
현재 함수에서 Step OutShift + F11Ctrl + Shift + ;Shift + F11Cmd + Shift + ;
다음 호출 프레임 선택Ctrl + .Opt + .
이전 호출 프레임 선택Ctrl + ,Opt + ,
중단점 조건 전환줄 번호 클릭Ctrl + B줄 번호 클릭Cmd + B
중단점 조건 편집마우스 오른쪽 버튼으로 줄 번호 클릭마우스 오른쪽 버튼으로 줄 번호 클릭
개별 단어 삭제Ctrl + DeleteOpt + Delete
줄 또는 선택한 텍스트에 주석 달기Ctrl + /Cmd + /
로컬 수정에 변경 내용 저장Ctrl + SCmd + S
변경 내용 모두 저장Ctrl + Alt + SCmd + Opt + S
줄 이동Ctrl + GCtrl + G
파일 이름으로 검색Ctrl + OCmd + O
줄 번호로 이동Ctrl + P + :번호Cmd + P + :번호
열로 이동Ctrl + O + :번호 + :번호Cmd + O + :번호 + :번호
멤버로 이동Ctrl + Shift + OCmd + Shift + O
활성 탭 닫기Alt + WOpt + W
스니펫 실행Ctrl + EnterCmd + Enter

코드 편집기 내부

코드 편집기WindowsMac
짝을 이루는 대괄호로 이동Ctrl + M
줄 번호로 이동Ctrl + P + :번호Cmd + P + :번호
열로 이동Ctrl + O + :번호 + :번호Cmd + O + :번호 + :번호
주석 전환Ctrl + /Cmd + /
다음 항목 선택Ctrl + DCmd + D
마지막 선택 실행 취소Ctrl + UCmd + U

Timeline

Timeline 패널WindowsMac
기록 시작/중지Ctrl + ECmd + E
타임라인 데이터 저장Ctrl + SCmd + S
타임라인 데이터 로드Ctrl + OCmd + O

Profiles

Profiles 패널WindowsMac
기록 시작/중지Ctrl + ECmd + E

콘솔

콘솔 단축키WindowsMac
제안 수락오른쪽 화살표오른쪽 화살표
이전 명령/줄위쪽 화살표위쪽 화살표
다음 명령/줄아래쪽 화살표아래쪽 화살표
콘솔에 포커스 두기Ctrl + `Ctrl + `
콘솔 지우기Ctrl + LCmd + KOpt + L
여러 줄 입력Shift + EnterCtrl + Return
실행EnterReturn

Device Mode

Device Mode 단축키WindowsMac
손가락으로 확대/축소Shift + 스크롤Shift + 스크롤

스크린캐스팅 시

스크린캐스팅 단축키WindowsMac
손가락으로 확대/축소Alt + 스크롤,Ctrl + 두 손가락으로 클릭하여 드래그하기Opt + 스크롤Cmd + 두 손가락으로 클릭하여 드래그하기
요소 검사 도구Ctrl + Shift + CCmd + Shift + C