Concept

Concept

CDC란?

Change Data Capture의 약자로, DB에 있는 데이터에 대한 변경을 감지해 필요한 후속처리(데이터 전송/공유 등)를 자동화하는 기법을 통칭한다.

Read
OS

운영체제 메모리 구조

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

Read

Hash Table

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

Read
Concept

Domain Driven Design

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

Read
Concept

이터레이터와 제너레이터

Iterator는 반복을 위해 설계된, 특별한 인터페이스를 가진 객체이다. [Symbol.iterator] 프로퍼티를 가진 객체를 Iterable하다고 한다. 이터러블 객체는 for...of문으로 순회할 수 있고 Spread 문법을 사용 가능하다. Generator는 Iterator를 반환하는 함수이다.

Read
Concept

함수형 프로그래밍(FP)

순수함수를 조합하고, 데이터의 불변성을 최대한 보장함으로써 부수효과를 최소화하는 프로그래밍 패러다임이다. 무조건 좋다는 건 아니다. '함수형 사고'라는 책에 이런 말이 써있다고 한다. '객체지향 프로그래밍은 움직이는 부분을 캡슐화하여 코드 이해를 돕고, 함수형 프로그래밍은 움직이는 부분을 최소화하여 코드 이해를 돕는다' 즉, 어느 하나가 우세한 게 아니라 패러다임이 다른 것이다.

Read
Java

추상클래스 vs 인터페이스

개인적으로, 자바를 공부하며 자꾸만 그 차이점을 헷갈리게 되었던 개념이 추상클래스와 인터페이스다. 둘 다 객체 생성을 할 수 없고, 설계도 같은 느낌의 개념이라 공통점이 있는데, 차이점을 위주로 다뤄본다.

Read
Concept

오버라이딩과 오버로딩

오버라이딩과 오버로딩은 이름이 비슷해 초심자가 헷갈릴 수 있는 개념이다. 둘 다 '동일한 이름의 메서드'에 대한 개념이라는 공통점이 있는데, 어떤 차이점이 있는지 알아보자.

Read