alt
Home
hungryjayy
Cancel

객체지향 설계 원칙 - SOLID 원칙

1. SRP(단일 책임 원칙) S 모든 클래스는 하나의 책임만 갖고, 하나의 책임만을 갖기 때문에 그 책임을 완전히 캡슐화 캡슐화: 외부로부터 자세한 구현을 숨김 응집성 원칙에 근거 어떠한 클래스나 모듈은 변경되려는 단 하나의 이유만을 가져야 한다. e. g...

Sequelize에서 DB Migration하기

Query Interface Sequlize: ORM Query interface DB와의 communication을 위함.(low level) 대부분의 Sequlize method들은 query interface의 도움을 받아 구현된다. Sequelize mig...

가상 메모리

프로세스에 필요한 메모리 전체가 물리 메모리에 적재되지 않고도 실행할 수 있도록, 물리 메모리를 가상의 엄청나게 큰 메모리(가상 메모리) 로 추상화해서 사용하는 기법 원래는 물리 메모리에 필요한 모든 것을 적재했었음 -> 실행할 프로그램에 필요한 메모리가 실제 물리 메모리보다 크다면 실행이 불가하다는 문제 ...

Sync, Async, blocking, non-blocking

동기: 두개 이상의 작업이 시작 종료시간이 같거나 시작과 동시에 종료 (선후 관계가 확실) 비동기: 다른 작업과 시작, 종료 시점이 관계가 없다. blocking: 다른 작업 진행되는 동안 기다린다. (코드상 Return 하지않음) non blocking: 다른 작업 진행 동안 기다리지 않는다. (코드상 일단 Return) ...

Node.js 디자인 패턴 1장 - 3. Reactor 패턴을 통한 Non-blocking 처리

: 리소스(기다리고 있던 DB의 목적 리소스)에서 새 이벤트를 사용할 수 있을때까지 디멀티플렉서가 차단되다가, 처리된 다음 이벤트 큐로 전해지고, 이벤트 루프에 의해 핸들러가 호출되어 반응하는 것 이벤트 디멀티플렉싱 : Non-blocking 리소스를 처리하기 위한 기본적인 메커니즘 Disk I/O작업은 기본적으로 블로킹 I/O인데, 이...

스케줄링과 스케줄러

: 프로세스에게 CPU 등의 자원을 적절히 배정하는 것 Queue: 프로세스 스케줄링에 사용되는 큐 Job Queue: 현재 시스템 내의 모든 프로세스 집합 Ready Queue: 현재 메모리 내에 있고, CPU 할당을 기다리고 있는 프로세스 집합 Device Queue: Device I/O 작업을 대기하고 있는 프로세스 집합 ...

Node.js 디자인 패턴 1장 - 2. ES2015(ES6 이후)에서 달라진 점

var, let, const var 변수 재선언, 재할당 가능 Function scope if문에서 선언하면 block이기 때문에 전역변수 함수 내부라면 블록 밖이라도 참조 가능 함수 내부에서 var로 선언한 것은 함수 내부까지만 hoisting ...

Data class

: 보통 DTO 등 데이터를 보관하기 위한 목적으로 사용할 때 Kotlin에서는 Data class로 선언해 사용한다. JPA 사용 시 Kotlin에서는 entity를 data class로 선언하지 않는다. Entity는 그냥 class로, 어노테이션을 사용해서. 주로 DTO나 VO를 목적으로 data ...

Node.js 디자인 패턴 1장 - 1. Node.js란?

Javascript가 서버에서 동작될 수 있도록 하는 그러한 환경(플랫폼) 구글이 크롬 브라우저 용으로 개발한 V8 JavaScript 엔진으로 빌드된 JS 런타임기 특징 Nods.js 라이브러리 내의 api는 모두 비동기 단일 스레드. 이벤트 메커니즘을 통해 서버가 멈추지 않으며 실시간 데이터 애플리케이션, SPA,...

웹 스토리지(세션 스토리지, 로컬 스토리지)

: 쿠키의 단점을 보완하고, 서버가 아닌 클라이언트에 데이터를 저장할 수 있도록 HTML5에서 나온 기술. 따라서, HTML5를 지원하지 않는 브라우저에선 사용 불가능. Key-value 형태이고, 쿠키와 다르게 5MB까지 저장(브라우저마다 용량 차이 있음) 쿠키와 달리, 서버에 매번 전송되지 않아 서버 처리를 줄인다. 쿠키와 달리, 필...