미니PC 홈랩 구축기 (하) — Cloudflare Tunnel, Caddy, 그리고 세 번의 502

2026-07-19

지난 편에서 Proxmox 위에 VM을 세우고, NFS로 저장소를 연결하고, 백업 체계를 잡았다. 이번 편은 그 위에 서비스를 올리고 외부에 공개하는 과정이다. 목표는 명확했다. 공유기에 포트를 하나도 열지 않고, 집 밖에서 https://앱이름.내도메인.com 으로 각 서비스에 접속하는 것. 결과부터 말하면 목표는 달성했고,...

dev

미니PC 홈랩 구축기 (상) — Proxmox, NFS, 그리고 백업 설계

2026-07-18

집에 있던 장비들을 모아 홈랩을 구축했다. 구성은 Proxmox VE를 올린 G3 미니PC(N100, RAM 16GB, NVMe 256GB), 중앙 저장소 역할의 시놀리지 NAS, 경량 앱을 담당하는 라즈베리파이 5, 그리고 이들을 묶는 아이피타임 공유기와 TP-Link 8포트 기가비트 스위치다. 현재는 이 위에서 컨테이너 십수...

dev

zsh, zplug과 oh-my-zsh 시작하기

2017-12-19

최종 모습 zsh을 사용하게 된 계기 bash sh을 아주 잘쓰고 있었음 실수로 rm -rf 를 입력 혼돈의 카오스 닷으로 시작하는 설정 파일들이 날라감 (.bash 등등) 이렇게 된 이상 그 좋다던 zsh을 사용해보자. 셋업 환경 mac iTerm2 zsh 설치하기 mac은 기본적으로...

dev

자바스크립트 화살표 함수 (array function)

2017-09-21

array func 은 아래와 같은 간단한 형태를 보면 매우 간단하나, 복잡한 구문을 보면 매우 어렵게 느껴진다. 쉬운 array func 부터 복잡한 array func 까지 절차적으로 밟아보자. array func array func의 특징을 정리해보자면 아래와 같이 간략하게 정리할 수 있다. function에 비해...

dev

java proxy pattern (프록시 패턴)

2017-09-09

프록시는 실제로 액션을 취하는 객체를 대신해서 대리자 역할을 해준다. 프록시 패턴을 사용하게 되면 프록시 단계에서 권한을 부여할 수 있는 이점이 생기고 필요에 따라 객체를 생성시키거나 사용하기 때문에 메모리를 절약할 수 있는 이점도 생긴다. 프록시 패턴이 하는 일은 한마디로 자신이 보호하고...

dev

java composite pattern (컴포지트 패턴)

2017-09-09

컴포지트 패턴이란 클래스의 구조적 디자인 패턴으로 단일 객체와 복합 객체를 동일하게 컨트롤 할 수 있게끔 도와주는 패턴이다. 컴포지트 패턴은 아래와 같이 3가지의 요소에 의해 이루어진다. base component base component는 composition(구성자)을 위한 인터페이스로 구성된다. 클라이언트 클래스에서는 base component의 인터페이스를 사용하여 작업하게...

dev

java adapter pattern (어뎁터 패턴)

2017-09-03

adapter pattern은 관계가 없는 인터페이스들이 같이 일할 수 있도록 도와주는 디자인 패턴이다. 이 두 인터페이스를 이어주는 인터페이스를 adapter라 부른다. 아래 예제를 보면서 이해해보도록하자. volt class socket class adapter class volt와 socket클래스를 만들었다. socket 클래스에서는 120v 만 얻을 수 있다. 실생활을...

dev

java builder pattern (빌더 패턴)

2017-09-03

bulider pattern은 창조적 디자인 패턴이며 이것은 factory pattern 또는 abstract factory pattern과 매우 비슷하다. 이 패턴에 들어가기 전에 factory pattern과 abstract factory pattern들의 문제점(수 많은 attributes을 사용해야 패턴을 사용할 수 있는 점)에 대해 먼저 알아보자. factory pattern과 abstract factory pattern에는...

dev

nodejs cluster 프로세스에서 데이터 공유하기

2017-08-29

nodejs의 cluster는 기본적으로 child process의 기능을 바탕으로 만들어졌다. master process와 worker process는 프로세스간 통신할때 일반적으로 사용되는 IPC 를 사용하여 서로 통신한다. 또한 cluster 모듈을 사용할 때 공식적으로 프로세스간에 공유하는 메모리는 없다. 따라서 같은 메모리 주소값을 참조해서 데이터를 사용하는 방법 역시...

dev