Sungjun Park

Sungjun Park

내 Ghost blog는 왜 느릴까? - (1)
Development

내 Ghost blog는 왜 느릴까? - (1)

Ghost 블로그로 옮기고 이상한 문제를 발견했다. 블로그가 너무 느리다는 것. 내 블로그는 대체 왜 느린걸까? 하나 하나 짚어가며 해결하는 과정을 기록해보았다. 문제 상황 일단 속도 저하를 크게 두 가지 경우로 나눌 수 있었다. 문제상황 1 - 첫 로드 상황 특정 페이지에 완전히 첫 접근하는 경우에 문제가 발생했다. 한 포스팅 혹은
12 min read
포인터란 무엇인가
C

포인터란 무엇인가

글에 들어가기에 앞서, 이 글을 요약하면 다음과 같습니다. * "포인터는 메모리의 주소를 담는 변수이다" * 포인터의 자료형은 **“해당 메모리 주소부터 어디까지를 하나의 자료로 볼 것인가”**를 결정한다. * * 연산자는 해당 포인터가 가리키고 있는 자료의 값을 내뱉어준다. 해당 글은 포인터를 사용하는 방법보다는, 포인터가 무엇을 저장하고 어떻게 작동하는 지에 대해서 중점적으로 설명하는 글입니다.
10 min read
C++ Iterator 뜯어보기
CPP

C++ Iterator 뜯어보기

C++ 에서 vector 와 같은 컨테이너들을 사용하다보면 마주하는 iterator. 이들은 어떻게 구현이 되어있는 것일까? 같이 함께 뜯어보자. Iterator Iterator의 정의 Iterator Pattern * 컨테이너의 구현 방법을 노출시키지 않으면서도 그 집합체 안에 들어있는 모든 항목에 접근할 수 있는 방법을 제공한다. iterator 를 통해서 컨테이너와 알고리즘을 분리할 수 있으며, 인터페이스를 고치지 않고 새로운
9 min read
C++ allocator 가볍게 알아보기
CPP

C++ allocator 가볍게 알아보기

C++ STL의 컨테이너 재구현 중 std::allocator 라는 녀석을 발견했다. allocator 는 C++ 에서 어떤 역할을 하는 것일까? 가볍게 같이 알아보자. Allocator? STL 컨테이너를 직접 구현하다보면 STL 컨테이너의 constructor에 allocator가 있다는 사실을 알게된다. 그런데 정작 컨테이너를 직접 사용하면서 allocator를 사용해본 경험은 아마 이 글을 읽는 대부분이 없을 것이다. C++에서
3 min read
컴퓨터에서 실수 표현하기
Development

컴퓨터에서 실수 표현하기

컴퓨터는 메모리에 0과 1을 이용한 2진수로 정보를 저장한다. 정수의 경우 단순히 2진수로 정확히 표현할 수 있지만, 실수는 그렇지 않다. 컴퓨터에서 실수를 표현하기 위해 메모리에 어떻게 저장하며, 그에 대한 두 가지 방법 부동 소수점과 고정 소수점을 살펴보도록하자. 부동 소수점 IEEE 754 32bits 부동 소수점에 대한 표준 부동 소수점에 대한 표준은 IEEE
10 min read
가변인자는 무엇이며 어떻게 구성되어 있는가
Development

가변인자는 무엇이며 어떻게 구성되어 있는가

C 의 printf 를 사용하면서 어떻게 이 함수는 여러 인자를 받을 수 있는지 궁금한 것이 있지 않은가? 이번 글에서는 C 에서 다중 인자를 받도록 하는 va_arg 를 설명한다. 가변인자 * 함수에서 타입과 개수가 정해지지 않은 여러개의 인자를 받고 싶을 경우가 있다. (printf에서 여러개의 인자를 받는 것이 대표적인 예시) 이를 지원하기
5 min read