Posts

Post contents

Git Rebase vs Merge

Git Rebase vs Merge

Intro Git에서 다른 브랜치와 내용을 합칠때 항상 merge와 rebase로 합치는것을 고민한다. 왜냐하면 그 차이를 잘 모르고 있었기 때문이다. 단순히 merge는 merge 커밋만 남고 rebase는 이런 커밋 없이 깔끔하게 합칠수 있다는 정도만 알고 있는 수준이었다. 그래서 이러한 두 병합 방법에 대한 차이와 기능에 대해서 상세히 살펴 ...

Polling & Long Polling & Streaming

Polling & Long Polling & Streaming

Intro 웹에서는 일반적으로 클라이언트에서 서버로 요청을 보내지만, 서버에서 클라이언트에게 데이터를 전달 해 주어야 하는 상황이 발생한다. 이러한 상황에서 사용되는 기술에 대해서 알아보려고 한다. 자바스크립트에서 사용되는 Ajax 등이 대표적인 예 이다. Polling Polling은 가장 기본적으로 사용되는 기법으로, 클라이언트가 서버에 ...

C++ Compile 과정

C++ Compile process

Intro C++ 코드를 작성하고 실행하는 과정이 어떻게 되는지 알아보려고 한다. 컴퓨터는 0과 1로만 이루어진 기계어만 이해 할 수 있기 때문에 상대적으로 개발자가 만들기 쉬운 C++로 만들어진 코드를 변환해 주어야 한다. 이러한 역할을 컴파일러가 담당한다. Compile process 우리가 c++ 코드로 작성한 파일이 실행 가능한 파일로 ...

객체 지향 설계(SOLID)

Understanding SOLID for object oriented programming

1. Intro 객체 지향의 4대원칙(캡슐화, 상속, 추상화, 다형성)과 더불어 객체 지향의 원칙을 살려 설계 하는 방법을 가진 SOLID가 존재한다. 5가지의 내용의 앞 단어를 따서 만들어 진 내용이다. SOLID 원칙들은 결국 자기 자신 클래스 안에 응집도는 내부적으로 높이고, 타 클래스들 간 결합도는 낮추는 High Cohesion - Loo...