본문 바로가기

분류 전체보기

(317)
# 미사용 웹서버 시작하기 웹서버 시작/종료노드에 기본적으로 들어있는 http 내장모듈을 사용하면웹 서버 기능을 담당하는 서버 객체를 만들 수 있다. 12345678910111213141516let http = require('http'); //! 웹 서버 객체를 생성하고, 3000번 포트에서 대기한다.let server = http.createServer();let port = 3000;server.listen(port, ()=>{ //! 웹 서버가 실행되었을 때의 콜백. console.log('웹 서버가 다음 포트에서 시작됨 : %d', port); server.close(()=> { //! 웹 서버가 종료되었을 때의 콜백. console.log("웹 서버가 종료됨"); })}); Colored by Color Scripter..

2018. 2. 12. 02:06

# 미사용 파일 입출력 다루기 파일 입출력fs 내부모듈 사용 (이하 F)동기 또는 비동기 작동모드를 선택할 수 있음.파일 입출력 (동기식) 메소드 파라미터 설명 F.readFileSync path, [encoding] 동기식으로 파일을 읽고 데이터를 반환한다. F.writeFileSync path, data, [encoding] 동기식으로 파일을 쓴다.파일 입출력 (비동기식) 메소드 파라미터 설명 F.readFile path, [encoding], [callback] 비동기식으로 파일을 읽고, 완료시 콜백함수에 데이터를 넘겨 호출한다. F.writeFile path, data, [encoding], [callback] 비동기식으로 파일을 쓰고, 완료시 콜백함수를 호출한다.파일 커스텀 입출력 (비동기식) 메소드 파라미터 설명 F.ope..

2018. 2. 10. 20:56

카테고리 없음 DAP 내용정리 해당 포스트는 DA(s)P를 공부하면서 배운 내용들을 축약한 것입니다.원문 내용으로 보시려면 여기를 참조하세요.과목 1 : 전사 아키텍쳐(EA) 이해1장 : 전사 아키텍쳐 개요제 1절 : 전사 아키텍쳐 정의제 2절 : 전사 아키텍쳐 프레임워크제 3절 : 전사 아키텍쳐 참조 모델제 4절 : 전사 아키텍쳐 프로세스 2장 : 전사 아키텍쳐 구축제 1절 : 전사 아키텍쳐 방향 수립제 2절 : 전사 아키텍쳐 정보 구성 정의제 3절 : 전사 아키텍쳐 정보 구축 3장 : 전사 아키텍쳐 관리 및 활용제 1절 : 전사 아키텍쳐 관리 체계제 2절 : 전사 아키텍쳐 정보 구성 정의제 3절 : 전사 아키텍쳐 정보 활용 과목 2 : 데이터 요건 분석1장 : 정보 요구 사항 개요제 1절 : 정보 요구 사항제 2절 : 정보 요구 ..

2017. 11. 19. 16:46

카테고리 없음 Note 003 # 인덱스 정렬생략 Note 003_01 # 인덱스 스캔으로 정렬연산을 생략할 수 있다인덱스는 이미 정렬된 구조이기 때문에이를 사용하면 실행계획에서 다음 계획을 생략할 수 있다.SORT ORDER BYSORT GROUP BY위의 연산을 인덱스로 생략하면실행계획에서 다음과 같이 표기된다.ORDER BY는 인덱스 스캔으로 대체GROUP BY는 SORT GROUP BY NO SORT Note 003_02 # 정렬연산을 생략하려면ORDER BY 절에 인덱스 구조 순서와 똑같이 기술.다만, = 조건으로 조회한 컬럼은 ORDER BY 절에서 생략 가능.다만, 사용되지않은 후행 컬럼은 ORDER BY 절에서 생략 가능.Not-Nullable 인덱스여야 함. Note 003_03 # 정렬연산 생략이 불가능한 경우옵티마이저가 인덱스 사용이..

2017. 11. 12. 19:20

카테고리 없음 Note 002 # 인덱스 스캔방식 Note 002_01 # 오라클에서 사용가능한 스캔방식오라클에는 다음과 같은 스캔방식이 존재한다.TABLE FULL SCANINDEX UNIQUE SCANINDEX RANGE SCANINDEX RANGE SCAN DESCENDINGINDEX FULL SCANFAST INDEX FULL SCANINDEX SKIP SCAN해당 방식으로 유도하는 힌트는링크된 오라클 문서를 참조하기 바란다. Note 002_02 # 각 상황에 유리한 스캔방식 다음과 같은 상황에는 이러한 스캔방식이 유리하다.필터링 결과테이블 크기 소량 대량 극대량 RANGE 스캔 불가소량 작음 INDEX RANGE X X FAST INDEX FULL 큼 INDEX RANGE FAST INDEX FULL X FAST INDEX FULL 매우 큼 ..

2017. 11. 10. 16:06

카테고리 없음 Note 001 # 인덱스 기본활용 Note 001_01 # Range Scan이 불가능한 경우다음과 같이 단일 인덱스 컬럼을 가공하면 Index Range Scan은 불가능하다.단, Index Full Scan 또는 Fast Index Full Scan은 가능하다. 인덱스 컬럼에 함수를 사용한 경우인덱스 컬럼에 결합연산을 사용한 경우인덱스 컬럼에 사칙연산을 사용한 경우묵시적 형변환이 발생한 경우HAVING 절에서 필터링할 경우Not-Nullable 인덱스의 어떤 컬럼에 IS NULL 연산자를 사용한 경우인덱스가 Nullable 하다는 것은인덱스의 모든 컬럼이 Nullable 하다는 것을 의미한다. Note 001_02 # 인덱스 스캔이 불가능한 경우오라클에서는 모든 컬럼값이 Null인 튜플은 저장하지 않는다.그러한 튜플을 검사하려면 어쩔..

2017. 11. 9. 16:54

카테고리 없음 실습환경 실습환경 파일 다운로드실습환경은 TPC-H 데이터를 사용하며,미리 만들어놓은 기본적인 데이터셋(1GB)은 링크를 통해 받을 수 있다, 더욱 많은량의 데이터로 실습하고 싶다면 TPC-H 유틸리티를 이용하면 된다.벤더는 Oracle 12c-R2 버전을 사용한다. 튜닝실습용 유저 생성-- 튜닝실습용 유저를 생성한다. CREATE USER TPCH IDENTIFIED BY YOUR_PASSWORD; GRANT CONNECT, RESOURCE, DBA, CREATE SESSION TO TPCH; 테이블 & 인덱스 생성실습환경 script 폴더에 들어있는 스크립트 실행.단, 인덱스는 데이터 로드 후 생성할 것. (데이터 로드 시 성능부하 고려) 데이터 로드실습환경 최상위에 들어있는 tcl 파일들을 프롬프트 상에서 ..

2017. 11. 7. 19:50

카테고리 없음 트레이스 수집하기 트레이스 로그를 수집하자.실행계획이 쿼리를 실제 처리하는 방법을 묘사한 것이라면트레이스는 그 실행계획의 실제 실행통계 및 상세통계를 의미한다. (Auto Trace도 있지만 여기서는 SQL Trace를 말한다.) 트레이스 통계에는 대표적으로 다음과 같은 정보들이 포함되어 있다.쿼리 수행시 읽은 블럭정보 세부통계데이터베이스 콜 세부통계실행계획 단계별 세부통계라이브러리 캐시 히트횟수대기이벤트 통계 Toad로 Tkprof 사용하기 [STEP 01] 에디터 창을 우클릭하여 나오는 메뉴에서 SQL TRACE를 활성화 하고 트레이스 수집을 위해 목표 쿼리를 한 번 실행시킨다. (수집 후 비활성화 필수, 계속 수집됩니다) [STEP 02] Database - Diagnose - Tkprof Wizard 에 들어간다...

2017. 11. 5. 14:25