분류 전체보기 558

[ Nodejs교과서 ] 1. 노드 시작하기

* 이 포스팅은 인프런 "Nodejs 교과서" 강의를 듣고 공부한 요약내용임 1. 핵심개념 이해하기 서버 노드는 자바스크립트 애플리케이션이 서버로서 기능하기 위한 도구를 제공함 자바스크립트 런타임 - 런타임 : 특정언어로 만든 프로그램을 실행할 수 있는 환경 - 노드의 내부구조 이벤트 기반 이벤트 발생 시 미리 지정해둔 작업을 수행 이벤트 리스너에 콜백 함수 등록 이벤트 루프 : 이벤트들이 동시에 발생 시 콜백함수들의 순서를 판단 setTimeout - 테스크 큐 : 이벤트 발생 후 호출되어야 할 콜백함수를 기다림 - 백그라운드 : 타이머나 I/O 작업 콜백 or 이벤트리스너가 대기 논블로킹 I/O 오래걸리는 함수는 백그라운드에 둠 논블로킹 : 이전작업의 끝을 기다리지 않고 다음작업을 수행함. I/O 작..

Javascript/Node.js 2021.07.30

[ Javascript ] 스트림

* 이 포스팅은 패스트캠퍼스 "Nodejs" 강의를 듣고 공부한 요약내용임 1. Stream 스트림은 데이터 전송을 위한 공통 구조를 제공하기 위해 사용된다. 파일을 전송받을 때 버퍼 단위로 옮겨서 버퍼 단위로 전송하는 방식 버퍼는 청크 단위로 채워지며 스트림은 보통 큰 데이터를 처리하거나, 비동기적으로만 얻을 수 있는 데이터 처리 시 사용함. 2. 스트림의 종류와 구현체들 Readable 스트림으로 부터 읽을 수 있음 Writable 스트림에 출력할 수 있음 Duplex 입력 및 출력 둘다 가능 TCP Sockets, crypto streams Transform 입력 받은 스트림을 병합해 새로운 스트림을 만듬 JSON 스트림 처리기 줄바꿈으로 분리된 JSON들을 읽어서 data값을 읽음 (chunk가 ..

Javascript 2021.07.30

[ Javascript ] Node.js 핵심 개념

* 이 포스팅은 패스트캠퍼스 "Nodejs" 강의를 듣고 공부한 요약내용임 1. 내장 객체 __dirname : 현재 실행되는 파일 경로 정보를 제공 __filename : 실행되는 코드의 파일명과 파일을 처리한 절대 경로 process : 현재 노드에 대한 정보를 담고있음 - .arch : 아키텍처 정보 - .platform : OS 정보 - .pid : 현재 프로세스 아이디 ... console : 로깅할 때 사용되는 객체 2. 스탠다드 라이브러리 OS : 운영체제와 시스템의 정보를 가져올 수 있는 모듈. .arch(), platform(), cpus() DNS : 도메인 이름을 확인하는데 사용됨. lookup(호스트이름, 콜백) Path : Directory 경로 작업을 위한 모듈. resolve(..

Javascript/Node.js 2021.07.30

[ Javascript ] 모던 Javascript 알아보기

* 이 포스팅은 패스트캠퍼스 "Nodejs" 강의를 듣고 공부한 요약내용임 1. let과 const ES6 규칙 - hoist 규칙 없음 - block scoping 지원 let은 레퍼런스가 바뀔 수 있음 const는 상수를 가리키므로 값이 변하지 않음 let과 const는 같은 스코프 내에서 두번 이상 선언할 수 없음. 선언 후에 접근이 가능함 2. spread syntax object merge '...' : 객체 안의 데이터가 나와서 들어감 array merge [...pets, ...predators] 3. Promise 4. polyfill 기능을 지원하지 않는 웹 브라우저 상의 기능을 구현하는 코드 ( 구버전일 경우 Node나 브라우저에는 사용하지 못하는 상황일 경우 ) JS standard ..

Javascript 2021.07.30

[ Javascript ] 자바스크립트 언어 기초 이론

* 이 포스팅은 패스트캠퍼스 "Nodejs" 강의를 듣고 공부한 요약내용임 1. Event Loop 자바스크립트는 여러개의 스레드를 사용하지만 메인스레드는 하나만 사용하고 해당 메인스레드로 자바스크립트를 실행한다. 그러므로 실행 컨텍스트는 하나이며 그 외의 일(File I/O, Network 등)은 워커스레드가 처리한다. 워커스레드는 여러개가 있을 수 있다. 이러한 자바스크립트의 이벤트 루프에 기반한 동시성 모델은 실행 컨텍스트를 하나로만 동작하도록 하여 데이터의 동시성 제어를 용이하게 해준다. Call stack 지금까지 불린 함수들을 call stack에 쌓아둔다. 이벤트루프가 다음 콜백을 처리하려면 지금 실행하는 콜백이 실행되어야 한다. 이러한 과정을 call stack이 끝날 때까지 처리함 Cal..

Javascript 2021.07.30

[ SQLD 이론 심화] Chapter 04. SQL 활용

1. 표준 조인 일반 집합 연산자 vs SQL UNION연산 : UNION 기능으로 구현. INTERSECTION : INTERSECT 기능으로 구현 DIFFERENCE : EXCEPT 기능으로 구현 PRODUCT : CROSS JOIN 기능으로 구현 순수 관계 연산자 vs SQL SELECT : WHERE절로 구현 PROJECT : SELECT절로 구현 JOIN : JOIN절로 구현 DIVIDE : 현재 사용되지 않음 조인의 형태 INNER JOIN : JOIN조건에서 동일한 값이 있는 행만 반환 NATURAL JOIN : 두 테이블 간의 동일한 이름을 갖는 모든 칼럼들에 대해 EQUI 조인 수행 USING 조건절 : NATURAL JOIN 에서 같은 이름을 가진 칼럼들 중에서 원하는 칼럼에 대해서만 ..

Database 2021.07.29

[ SQLD 이론 심화] Chapter 03. SQL 기본

1. 관계형 데이터베이스 개요 정규화를 통한 합리적인 테이블 모델링을 통해 이상현상을 제거하고 데이터 중복을 피할 수 있으며, 동시성 관리, 병행 제어를 통해 많은 사용자들이 동시에 데이터를 공유 및 조작 가능한 기능 제공 인증된 사용자만이 참조할 수 있도록 보안 기능을 제공함 데이터 무결성 제공 장애로부터 기존 데이터에 대한 작업이 제대로 반영될 수 있도록 보장해주며, 재해 등의 상황에서도 데이터를 회복/복구하는 기능을 제공 2. SQL DML 데이터 조작어 ( 조회, 수정, 삽입, 삭제 ) Select, Insert, Update, Delete DDL 데이터 정의어 (테이블 구조 생성, 변경, 삭제) Create, Alter, Drop, Rename DCL 데이터 제어어 (데이터 베이스에 객체들을 사..

Database 2021.07.29

[ SQLD 이론 심화] Chapter 02. 데이터 모델과 성능

1. 성능 데이터 모델링의 개요 데이터베이스의 성능향상을 목적으로 설계단계의 데이터 모델링 때부터 정규화, 반정규화, 테이블통합, 테이블분할, 조인구조, PK, FK 등 여러가지 성능과 관련된 사항이 데이터모델링에 반영될 수 있도록 하는 것 수행시점 사전에 할수록 비용이 들지 않음 고려사항 정규화 수행 용량 산정 트랜잭션의 유형을 파악하기 해당 프로젝트에 적합한 반정규화 수행 이력 모델의 조정, PK/FK 조정, 슈퍼타입/서브타입 조정 데이터모델 검증하기 2. 정규화와 성능 성능 향상 전략 정규화는 결정자에 의해 함수적 종속을 가지고 있는 일반 속성을 의존자로 하여 입력/수정/삭제 이상현상을 제거하는 것 중복을 최소화하므로 한 테이블의 데이터 용량이 최소화됨 그렇지만 무조건 속도가 빠르다고는 할 수 없음..

Database 2021.07.29

[ SQLD 이론 심화 ] Chapter 01. 데이터 모델링의 이해

1. 데이터 모델의 이해 모델링의 정의 복잡한 현실세계를 단순화함. 일정한 표기법에 의해 표현함 모델링의 특징 추상화 : 현실세계를 일정한 형식에 맞추어 표현함 단순화 : 제한된 표기법이나 언어로 표현 명확화 : 누구나 이해하기 쉽게 애매모호함을 제거하고 정확하게 기술함 모델링의 세가지 관점 데이터 관점 : 업무가 어떠한 데이터와 관련이 있는지 프로세스 관점 : 무엇을 해야하는지 상관 관점 : 일의 방법에 따라 데이터는 어떻게 영향을 받고 있는지 데이터 모델링의 중요성 파급효과(Leverage) : 데이터 모델링을 시작으로 시스템이 개발되므로 중요 간결한 표현 데이터 품질 : 데이터의 중복, 비 유연성, 비 일관성이 발생할 수 있음 데이터 모델링의 3단계 진행 개념적 데이터 모델링 : 추상화 수준이 높고..

Database 2021.07.29