[개발일지 #05] 메신저 DB 스키마 설계와 Go의 최강 조합 sqlc 연동하기 (PostgreSQL + sqlc)

안녕하세요! 카카오톡 스타일의 가족/친구용 프라이빗 크로스플랫폼 메신저 ‘딩동(DingDong)’ 만들기 프로젝트 5편입니다. 지난 [4편]에서는 유그린 NAS의 저사양 하드웨어에서도 깃털처럼 가볍게 돌아가는 **Go 백엔드 API 엔진(chi 라우터, Graceful Shutdown, 25MB 초경량 Dockerfile, Redis 연동)**을 세팅했습니다. 이번 5편에서는 메신저 백엔드의 심장인 **데이터베이스 스키마(테이블 구조)**를 완벽하게 설계하고, Go 진영에서 가장 우아하고 강력한 데이터베이스 툴인 **sqlc**를 연동하는 과정을 다룹니다. 1. … 더 읽기

[개발일지 #04 | 백엔드] 유그린 NAS에 Go(Golang) 초경량 메신저 백엔드 서버 구축하기

카카오톡 같은 크로스플랫폼 메신저 ‘딩동(DingDong)’ 만들기 프로젝트 4탄!이번 글에서는 우리 집 유그린 NAS의 제한된 하드웨어 자원(RAM, CPU)을 200% 활용하기 위해, 메모리를 30MB도 쓰지 않는 초경량 고성능 Go(Golang) 백엔드 서버 뼈대를 구축하고 유그린 NAS 도커 환경에 컨테이너로 올리는 과정을 다룹니다. 1. 왜 Node.js나 Python 대신 ‘Go(Golang)’를 선택했을까요? 개인용 NAS나 홈서버에서 24시간 백엔드 서버를 띄울 때 가장 … 더 읽기

[개발일지 #03 | 인프라] 유그린 NAS에 Caddy & PostgreSQL 구축하기 (홈서버 443 포트 충돌 해결 꿀팁 포함)

카카오톡 같은 크로스플랫폼 메신저 ‘딩동(DingDong)’ 만들기 프로젝트 3탄!이번 글에서는 우리 집 유그린 NAS(UGOS Pro)의 Docker 환경 위에 메신저의 핵심 데이터베이스인 PostgreSQL 16과 스마트폰 보안 통신(HTTPS)의 대문 역할을 할 Caddy 웹서버를 세팅하는 과정을 다룹니다.특히, 집에서 이미 시놀로지 등 다른 서버가 443 포트를 선점하고 있을 때 해결하는 실전 노하우까지 완벽하게 정리했습니다. 1. Caddy 서버를 왜 설정해야 할까요? … 더 읽기

[개발일지 #02 | 인프라] Mac에서 Flutter & VS Code 개발 환경 구축하기 (초보자 완벽 가이드)

카카오톡 같은 크로스플랫폼 메신저 ‘딩동(DingDong)’ 만들기 프로젝트 2탄!이번 글에서는 macOS(Apple Silicon M1/M2/M3/M4 및 Intel) 환경에서 Flutter SDK를 설치하고, Visual Studio Code(VS Code)를 실무 개발용으로 완벽하게 세팅하는 과정을 다룹니다. 1. 사전 요구사항 및 확인 Flutter로 Android, iOS, macOS, Windows 앱을 개발하려면 기본 개발 도구들이 필요합니다: 2. 가장 쉬운 설치 방법: VS Code 플러그인부터 설치하기 (추천!) 터미널에서 … 더 읽기

[개발일지 #01 | 기획] 유그린 NAS와 Flutter로 만드는 나만의 프라이빗 메신저 ‘딩동’ (기획 & 아키텍처 편)

카카오톡처럼 편리하지만, 모든 데이터는 내 집 NAS에 안전하게 보관되는 크로스플랫폼 메신저 만들기 프로젝트모바일(Android, iOS)부터 데스크톱(Windows, macOS)까지 코드 하나로 개발하고, 집에 있는 Ugreen NAS(Docker)를 백엔드 서버로 구축하는 전체적인 아키텍처와 로드맵을 공유합니다. 1. 프로젝트를 시작하게 된 계기 가족들과 친구들이 매일 사용하는 메신저 앱. 카카오톡이나 라인처럼 친숙하고 편리하지만, 아래와 같은 아쉬움이나 고민이 있었습니다: 그래서 집에서 24시간 가동 중인 … 더 읽기