Photogrammer

Photogrammer

제 일상과 취미 그리고 개발에 대한 이야기를 다룹니다.

[TicketWar] 00 - 프로젝트 시작
Java

[TicketWar] 00 - 프로젝트 시작

* 이 문서의 시리즈는 백엔드가 이정도는 해줘야 함 이라는 글을 보고 감명받아 시작해본다. 아마 부족하겠지만 이번 프로젝트를 진행함에 있어 정리하고 조금 더 완성도 있는 프로젝트를 진행하는데 큰 도움이 될 것 같다. 지난 역사 나는 백엔드 프로젝트를 지금까지 3회 진행하였다. * MOIM (미완) (2022.12~2022.02) * 사람들의 모임을 한 곳에 모아서 관리하는
8 min read
Ghost 블로그 이전 과정 기록
Blog

Ghost 블로그 이전 과정 기록

옮기게 된 스토리... 꽤 어린 시절부터 블로그를 했었다. 햇수로 치면 15년 정도 되는 것 같은데, 약 3~5년 정도의 주기로 이번처럼 새로운 플랫폼에서 새로운 시작을 하곤 한다. 이전 블로그는 티스토리에서 https://photogrammers.tistory.com 으로 운영하고 있었고, 개발자의 길로 접어든 때에 시작을 했던 블로그이다. 티스토리 블로그는 큰 목적성을 두고 만든
14 min read
InfluxDB + Grafana를 통해 Proxmox Host CPU 온도 모니터링 시각화 및 알림 구축
Server

InfluxDB + Grafana를 통해 Proxmox Host CPU 온도 모니터링 시각화 및 알림 구축

Influx DB 와 Grafana 를 통해서 Proxmox 를 모니터링 할 수 있도록 구성했습니다. 기본적으로 제공하는 데이터 이외에도, CPU 온도에 대한 패널을 추가하고 telegram을 통해 알림을 설정하는 과정까지를 담았습니다. Proxmox 모니터링하기 우선, InfluxDB + Grafana 를 통해서 Proxmox 모니터링은 아래 사이트를 따라가시면 쉽게 해결하실 수 있습니다. 서버포럼 - InfluxDB 및 Grafana로 Proxmox
12 min read
홈서버 구축기  - 서버 구입 및 초기 설정
Server

홈서버 구축기 - 서버 구입 및 초기 설정

언젠가 만들어봐야지.. 하고 마음 먹었던 홈서버. 드디어 구축을 했습니다. Host PC 구매부터 Proxmox 를 통한 가상화까지의 과정을 담았습니다. (티스토리에서 나눠져있던 글을 통합함) 홈서버 구축하기 나는 왜 서버를 구축하게 되었나. 어린 시절부터 나는 "나만의 서버"가 갖고 싶었다. 최근에는 클라우드를 간편하게 사용할 수 있게 되면서 그 필요성이 낮아지고 있지만
11 min read
내 Ghost blog는 왜 느릴까? - (1)
Development

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

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

이병국의 개발자를 위한 DB 이야기

학습을 하던 와중 좋은 DB 시리즈가 있었다. 해당 글에 걸린 링크가 사용하지 못하는 상태라서 따로 링크를 뽑아서 유효한 링크로 정리해뒀다. 물탱크 구조로 알아본 오라클의 블록 옵션 ‘PCTFREE와 PCTUSED’ 이산가족 찾기 생방송을 통해 배우는 DB 원리 개발자에게 맞는 DB 공부방법 찾기: 물리적 분류와 논리적 분류 그리고 인덱스 데이터베이스 인덱스의 오해와 진실
3 min read
Deep dive into malloc
Development

Deep dive into malloc

malloc 은 어떻게 작동하는 것일까요? malloc을 직접 만들어보면서 작성한 글입니다. 서론 메모리는 컴퓨터 시스템의 가장 핵심적인 자원 중 하나로, 이를 효과적으로 관리하는 것은 프로그램의 성능과 안정성에 결정적인 영향을 미칩니다. 메모리 관리의 중요성에 대해 대부분의 프로그래머들은 인지하고 있지만, 그 뒤에 숨겨진 복잡한 메커니즘들을 완전히 이해하는 것은 쉬운 일이 아닙니다. 이 글을
42 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