posts:
선택한 조건에 해당하는 항목이 없습니다.
![[Best Practice] ElysiaJS 편](https://assets.akuk.in/blog/thumbnails/%5BBest%20Practice%5D%20ElysiaJS%20%ED%8E%B8.png)
[Best Practice] ElysiaJS 편
Best Practice ElysiaJS 편 들어가며 이번 아티클은 개인적으로 토이 프로젝트에 ElysiaJS를 적용하며 얻은 경험들을 바탕으로, 저만의 Best Practice 문서를 작성하려고 합니다. 이 아티클은 ElysiaJS 공식 문서에서 이미 제공되고 있는 Best Pr...

PGroonga vs ParadeDB: FTS 최강자
PGroonga vs ParadeDB: FTS 최강자 들어가며 LogHub는 현재(2026년 3월) 기준, 검색 기능을 구현하기 위해 PostgreSQL의 다국어 FTS 확장 기능인 PGroonga를 사용하고 있습니다. 최근 웹 서핑 중, PGroonga와 비슷한 목적을 가진 프로...

원격 서버의 Docker에 대한 접근과 관리
원격 서버의 Docker에 대한 접근과 관리 들어가며 저는 로컬 개발 환경인 macOS에서 Docker를 native하게 실행시키지 못한다는 이유로 홈 서버(Ubuntu)에 Docker를 올려 원격으로 사용하고 있습니다. macOS 환경 유저분들은 저와 비슷한 경우가 많을 거라고...

ElysiaJS - 빠른 백엔드 프레임워크
Bun과 ElysiaJS가 빠른 이유를 라우팅, JIT 컴파일, 정적 코드 분석의 관점에서 살펴봅니다.

이메일: 디지털 예의를 갖추는 법
이메일: 디지털 예의를 갖추는 법 이메일 개요 이메일(E-mail: Electronic-mail) 이란 한국어로 전자우편 이라는 뜻을 가지며, 전자기기를 활용한 메시지 송수신 방식입니다. 최초의 이메일은 1971년 알파넷 네트워크에서 전송되었으며, 이때 username@hostna...

Passkey로 로그인: 내 비밀은 내가 관리하기 with Go
Passkey로 로그인: 내 비밀은 내가 관리하기 with Go 들어가며 최근 저는 웹서비스에서 인증할 때, Passkey로 로그인 버튼이 있는 경우, 입에 미소를 띄며 바로 클릭하는 경우가 많아졌습니다. Passkey를 사용한 인증 방식이 더 안전하고 간편하기 때문입니다. 따라서...

BitTorrent: 세기초 정보 배포 방법론
BitTorrent: 세기초 정보 배포 방법론 본 문서에서는 BitTorrent v2 프로토콜을 다룹니다. 이는 BEP 52 문서를 기반으로 수정된 버전입니다. 이 아티클은 BitTorrent 창시자 Bram Cohen이 직접 작성한 BitTorrent 논문의 내용을 이해하기 쉽게...

로컬 개발 환경의 다이어트
로컬 개발 환경의 다이어트 얼마 전까지만 해도 저는 다음과 같은 스펙의 로컬 개발 환경을 사용했었습니다. (이후로는 개발 환경이라고 줄여 적겠습니다.) 약 5년 간 개발하며, 사용하는 도구가 늘어나고 이미 사용하던 도구는 업데이트로 인해 무거워졌으며, 풀스택 애플리케이션을 개발하기...

결론
결론 4,000줄 미만의 코드베이스 WireGuard는 전체 코드가 4,000 미만으로, IPsec 또는 OpenVPN에 비해 매우 작은 코드입니다. 덕분에 취약점 탐지 및 유지보수가 쉬운 장점이 있습니다. 멀티 플랫폼 WireGuard는 커널 공간에서 동작하기에 고성능이며, 코드...

타이머 및 Stateless UX
타이머 및 Stateless UX WireGuard에서 사용자는 본인의 비밀키와 상대방의 공개키 만 구성하면 패킷을 전송할 수 있습니다. 세션 상태 유지, 완전 순방향 비밀성, 핸드셰이크 등은 완전히 백그라운드에서 처리 되며, 이를 WireGuard 백서에서는 "사용자 관점에서 s...

프로토콜 및 암호
프로토콜 및 암호 이 문서에서 등장하는 개시자(Initiator) 는 연결을 시도하는 피어, 응답자(Responder) 는 연결 요청을 받는 피어입니다. Silence is a Virtue: 침묵은 미덕이다 WireGuard 주요 설계 철학 중 하나는 "인증되지 않은 패킷에는 아예...

기본 사용법
기본 사용법 전제 환경 공용 IP가 192.95.5.69 인 상태로 인터넷에 연결된 단일 물리 네트워크 인터페이스 eth0 를 가진 리눅스 환경에서, WireGuard 인터페이스 wg0 를 추가하고 wg0 에는 10.192.122.3/24 터널 IP를 부여한다. ip 명령으로 wg...

송수신 흐름
송수신 흐름 다음은 설명에서 사용될 암호키 라우팅 테이블 예시입니다. Interface Public Key Interface Private Key Listen --- --- --- HIgo...8ykw yAnz...fBmk 41414 Peer Public Key AllowedIPs...

암호키 라우팅
암호키 라우팅 WireGuard에서 peer는 32바이트 Curve25519 공개키로 식별됩니다. WireGuard에서 암호키 라우팅 이란, "peer의 공개키"와 "허용된 소스 IP 주소"를 결합해서, 어떤 패킷이 어떤 peer로 라우팅되어야 하는지를 결정하는 메커니즘을 의미합니...

서론 및 동기
서론 및 동기 WireGuard 는 현대적인 커널 네트워크 터널링 솔루션입니다. WireGuard는 OSI 3계층(네트워크 계층)에서 동작하는 네트워크 터널로 안전하고 높은 성능을 제공하며, 사용하기 쉽도록 설계되었습니다. IPsec vs WireGuard 리눅스에서 암호화된 터널...

CVE-2025-55182: React 취약점 절망편
CVE-2025-55182: React 취약점 절망편 들어가며 번역 : React Server Components에서 치명적인 취약점(CVE-2025-55182)이 책임감 있는 방식으로 공개되었습니다. 이 취약점은 React 19 및 이를 사용하는 프레임워크(Next.js 포함,...

PGroonga에서 한국어 토크나이저 사용하기
PGroonga에서 한국어 토크나이저 사용하기 본 챕터의 예제는 gymynnym/learn-pgroonga를 참고해주세요. Mecab-ko란? Mecab-ko 는 오픈소스 한국어 형태소 분식기입니다. Mecab (일본어 형태소 분석기)의 포크 프로젝트로, 한국어의 특성에 맞는 기능...

PGroonga의 다양한 함수
PGroonga의 다양한 함수 pgroonga condition() : 고급 검색 조건 SELECT FROM articles WHERE ARRAY title, content &@ pgroonga condition( '첫 번째', weights => ARRAY 2, 1 , index...

PGroonga의 다양한 연산자
PGroonga의 다양한 연산자 &@ : Full Text Search by keyword SELECT FROM articles WHERE ARRAY title, content &@ '첫 번째'; 단순히 입력된 문자열이 컬럼 값에 포함되는지 검사합니다. PostgreSQL의 LIK...

PGroonga의 기본 사용법
PGroonga의 기본 사용법 PGroonga 설치 PGroonga 는 PostgreSQL의 확장입니다. 따라서 PostgreSQL이 설치된 환경에서 PGroonga를 설치해야 합니다. 하지만, 설치과정은 운영체제/PostgreSQL의 버전마다 다르며, 복잡하기에 여기에서는 다루지...

PGroonga란?
PGroonga란? 들어가며 이 시리즈는 궁극적으로 PostgreSQL 만 사용하여 강력한 검색 시스템을 구축하는 방법을 다룹니다. ElasticSearch와 같은 외부 검색엔진을 사용하지 않고, 단순한 방법으로 PostgreSQL 내에서 문제를 해결하는 것을 목표로 합니다. El...

Postgresus: Postgres의 반전술식
Postgresus: Postgres의 반전술식 Postgresus란? 원문: Free, open source and self-hosted solution for automated PostgreSQL backups. With multiple storage options and no...

드디어 Homebrew에 동시 다운로드가 왔다!
드디어 Homebrew에 동시 다운로드가 왔다! 2025년 11월 12일 Homebrew 가 5.0.0 으로 업데이트 되었습니다! 🎉 Homebrew란? Homebrew는 macOS와 Linux에서 사용할 수 있는 패키지 매니저 입니다. macOS를 사용하는 개발자는 대부분 패키지...

Geek스럽게 Git 설정하기
Geek스럽게 Git 설정하기 들어가며 여러분은 Git을 얼마나 자주 사용하시나요? 요즘 개발자들에게 Git은 필수 도구인 것 같습니다(혹시 아직도 SVN이나 공유 드라이브를 쓰면서 "몇번 파일 수정합니다!"라고 외치시는 분은 없겠죠?). 자주 사용하는 도구인 만큼, 본인 스타일에...

vscode-gitui: VSCode에서 gitui 사용하기
vscode-gitui: VSCode에서 gitui 사용하기 GitUI/Lazygit이란? GitUI, Lazygit은 터미널(TUI: Terminal User Interface) 상에서 동작하는 Git 클라이언트입니다. GUI 기반 Git 클라이언트보다 가볍고 빠르게 동작하며,...