Concept

Concept

객체지향 프로그래밍(OOP)

객체지향 프로그래밍은 문제를 여러 개의 객체 단위로 나눠 작업하는 방식을 말한다. 객체지향 프로그래밍의 5대 개념인 추상화, 캡슐화, 은닉화, 상속, 다형성에 대해 정리해본다.

Read
JavaScript

JavaScript의 prototype

Java와 같은 클래스 기반 언어에서는 Class를 통해 객체를 생성하는데, JavaScript는 Class가 없어 Function과 prototype을 통해 객체를 만든다. 이 때문에 자바스크립트는 프로토타입 기반 언어라고도 불린다. Function의 기본 property인 prototype과 객체의 기본 property인 __proto__, 그리고 프로토타입 체인에 대해 알아본다.

Read
Concept

가비지 컬렉션(Garbage Collection)

더 이상 사용되지 않을 변수와 함수를 메모리 힙에서 제거함으로써 메모리를 효율적으로 관리하는데 이 과정을 Garbage Collection이라고 한다.

Read
JavaScript

JavaScript의 작동 원리

자바스크립트 런타임은 어떻게 구성되어있고 싱글쓰레드의 장단점, 그리고 자바스크립트에서 왜 그렇게 비동기가 중요한 개념인지 알아보자.

Read
OS

프로세스(Process)와 쓰레드(Thread)

프로세스는 운영체제로부터 자원을 할당받는 작업의 단위이고 쓰레드는 프로세스가 할당받은 자원을 이용하는 실행의 단위이다.

Read
Concept

IaaS vs PaaS vs SaaS

IaaS가 레고 공장이라면, PaaS는 레고 블럭, SaaS가 이미 완성된 레고 구조물이라고 비유할 수 있다.

Read
Database

ORM과 ODM

Object와 DB의 데이터 간의 맵핑 역할을 하는 것이다. ORM과 ODM 모두 그 역할은 비슷하다. 참고로 SQL계열, 즉 관계형 DB는 ORM(Object Relatinal Mapping), NoSQL계열 DB는 ODM(Object Data Mapping)에 해당된다 정도로 보면 되겠다. 따라서 굳이 각각을 알아보기보다는 ORM을 중심으로 알아보자.

Read
Database

SQL vs NoSQL

SQL과 NoSQL 데이터베이스의 차이점과 각 장단점을 알아본다. 사실 SQL은 쿼리 언어지 데이터베이스 자체를 나타내는 것은 아닌데, 관용적으로 관계형 데이터베이스를 의미하기도 한다. 참고로 NoSQL은 Not only SQL을 의미한다고 알려져있다.

Read