OS

운영체제 메모리 구조

운영체제는 프로그램의 실행을 위해 다양한 메모리 영역을 제공한다. 코드(Code), 데이터(Data), 스택(Stack), 힙(Heap) 영역이다.

Read

Hash Table

해시테이블은 저장되어있는 자료와 비교하여 자리를 찾지 않고, 단 한번의 계산으로 해시값을 구해 자신의 자리를 찾는다.

Read
Database

트랜잭션과 격리수준

트랜잭션이란, 데이터베이스에 접근하여 수행하는 '작업의 단위'를 뜻한다. 격리수준이란, 동시에 여러 트랜잭션이 처리될 때 어느 정도 수준의 격리성을 지킬 것인지에 대한 수준을 의미한다.

Read

Stack과 Queue

선형(linear) 자료구조의 대표적인 것들이다. 스택은 LIFO, 큐는 FIFO의 성질을 가진다.

Read

Browser Rendering

HTML을 파싱하여 DOM tree를, CSS를 파싱하여 CSSOM tree를 만들고 이 둘을 조합해 Render tree를 만든다. 이를 배치하고 그리는 과정이 바로 이전 포스트에서 다룬 Reflow와 Repaint이다.

Read

Reflow와 Repaint

수정된 Render tree를 다시 렌더링하는 과정에서 발생한다. Reflow는 위치와 크기를 계산, Repaint는 시각적인 요소를 표현하는 과정이다. 당연히 필요한 과정이지만 효율적으로 컨트롤하지 못하면 웹애플리케이션의 성능을 떨어뜨리는 주된 요인이 된다.

Read
JavaScript

Document Fragment

여러 노드를 하나의 그룹으로 감싸 다른 곳으로 전달하게 해주는 Wrapper 노드이다. 리액트에서의 Fragment와도 의미상 비슷한 개념이라고 볼 수 있겠다.

Read
Concept

Domain Driven Design

도메인 주도 설계, 혹은 도메인 주도 개발이라고 한다. 소프트웨어와 도메인이 멀어지지 않도록, 도메인을 중심으로 설계하고 프로젝트를 진행해나가는 방법론이다.

Read