alt
Home
hungryjayy
Cancel

온프레미스와 클라우드(Off-premise)

온프레미스(On-premise. 구축형) : 클라우드 같은 원격 환경이 아닌, 자체 전산실 서버에 올리고 운영하는 방식. 클라우드가 나오기 전까지 기업 인프라 구축의 일반적인 방식이었음 Private cloud라고도 부른다. 클라우드의 등장에도 불구, 여전히 회사 내부 온프레미스 환경에 구축해두고 사용하는 경우가 있다. ...

DB 정규화가 필요한 이유와 함수적 종속

: 불필요한 데이터 중복으로 인한 공간낭비 + 사이드 이펙트 (a.k.a. 삽입 이상, 갱신 이상, 삭제 이상) 발생을 해결하기 위해 정규화 해야한다. 예시 테이블 course: professor = 1 : 1 가정 STUDENT_ID COURSE_ID PROFESSOR_NAME GRA...

Database 스키마

: 개체 Entity, 개체의 속성 Attribute, 개체간 Relation에 대한 정의와 제약조건 기술한 것 개념 스키마 조직체 전체를 보는 입장에서 DB에 대한 논리적 구조를 기술한 스키마 통상적으로 말하는 ‘스키마’가 이것 내부 스키마 DB가 저장장치에 실제로 어떻게 저장될지에 대한 명세 레코드 형식, 인덱싱 ...

Node.js 디자인 패턴 2장 - 4. Observer Pattern(옵저버 패턴)

전통적인 Callback 스타일은 Listener 하나에게 전달하는데, 옵저버 패턴은 여러 관찰자(Listener)에게 전달 상태변화가 일어날 때 관찰자에게 알릴 수 있는 객체(Subject)를 정의하는 것 EventEmitter : 코어에 내장되어있고 해당 패턴을 이용할 수 있게 해주는 클래스 on(event, liste...

Node.js 디자인 패턴 2장 - 2. 예측할 수 없는 함수

예측할 수 없는 함수 const fs = require('fs'); const cache = {}; function inconsistentRead(filename, callback) { if(cache[filename]) { // 동기적으로 호출 callback(cache[filename]); } else { // 비...

스케줄링 알고리즘

스케줄링 대상은 Ready Queue에 있는 프로세스들 대부분의 OS에서는 우선순위 알고리즘이나 Round Robin 혼합해서 사용한다고 함 비선점형 스케줄링 : 어떤 프로세스가 CPU를 할당 받으면 그 프로세스가 종료되거나(State: terminated) 입출력 요구가 발생하여 자발적으로 중지(State: waiting(blo...

코드 리뷰하기

코드 리뷰하기 리뷰를 받는 입장. Assignee 마음가짐 열린 마음: 리뷰어의 지적에 무조건 방어적인 태도로 받지 않기 열린 마음이되, 비판적인 사고를 유지하기 리뷰어의 리뷰 타당성에 대해 냉정하게 고민하기 리뷰하기 쉽게 만들기 리뷰 단위를 작게. -> PR or diff를 작은...

Lazy Loading과 N + 1

: JOIN 쿼리를 통해 두 엔티티를 조회할 때, 엔티티 로딩 시점이 달라, DB에 쿼리가 한번 더 나가게 된다. JPA에서는 글로벌 페치 전략을 지연 로딩에서 즉시 로딩으로 변경해 해결할 수 있다. JPQL (queryDSL)을 사용한다면 글로벌 페치 전략을 참고하지 않고 그냥 쿼리를 생성하기 때문에 여전히 문제이다. JPQL에서의...

B-Tree

: Self-balancing tree 중 하나. 데이터베이스나 파일 시스템에서 사용되는 것으로 유명. 한 블럭에 많은 데이터를 저장한다는 것이 큰 장점. 한 블럭이 1024 Byte라고 한다면 2Byte를 읽으나 1024Byte를 읽으나 입출력 1회 발생하는 비용은 같기 때문 규칙 정렬된 상태이다. 자식 노드 수가 ...

Node.js 디자인 패턴 2장 - 1. Callback Pattern(콜백 패턴)

연속 전달방식 : 연산의 결과를 콜백으로 전달하는 방식 동기식 연속 전달 방식(Continuation-Passing Style) : 일반적으로 아는 전달방식. 직접 스타일 function add(a, b) { return a + b; } 비동기 연속 전달 방식 function add(a, b, callback) { ...