Krong Dev.

최근 글

개발하면서 배운 것들을 기록합니다.

CI/CD 파이프라인 삽질 11가지
CI/CD Docker GitHub Actions

CI/CD 파이프라인 삽질 11가지

pnpm 모노레포 Docker 빌드, Jest CI, EC2 배포까지 GitHub Actions 파이프라인 구성 중 겪은 트러블슈팅 전 과정을 기록합니다.

GitHub Actions로 자동 배포 파이프라인 구축하기 — 개념과 설계
CI/CD Docker GitHub Actions

GitHub Actions로 자동 배포 파이프라인 구축하기 — 개념과 설계

CI/CD 개념부터 GitHub Actions Workflow 구조, pnpm 모노레포 test·deploy 잡 설계까지 전 과정을 정리합니다.

Docker로 NestJS와 PostgreSQL 배포하기 — 컨테이너가 필요한 이유
DevOps Docker

Docker로 NestJS와 PostgreSQL 배포하기 — 컨테이너가 필요한 이유

Docker와 Docker Compose의 기초 개념부터 pnpm 모노레포 NestJS 이미지 빌드, EC2에 실제 배포하는 과정까지 정리합니다.

NestJS 백엔드를 AWS EC2에 올리기 — Vercel 쓰던 금쪽이의 시련
DevOps AWS EC2

NestJS 백엔드를 AWS EC2에 올리기 — Vercel 쓰던 금쪽이의 시련

AWS와 EC2의 기초 개념부터 인스턴스 생성, 보안 그룹, SSH 접속, RDS 대신 Docker로 DB를 올린 이유까지 정리합니다.

블로그 폰트 최적화 — 11,172자의 무게 '줄이기'
블로그 폰트

블로그 폰트 최적화 — 11,172자의 무게 '줄이기'

Astro 블로그에서 한글 웹 폰트의 깜빡임을 줄이기 위해 FOIT/FOUT의 차이부터 WOFF2 변환, Preload, Static Subset까지 적용한 구현 기록입니다.

NestJS 스터디 9주차 회고 — 로그는 사람도 읽고, 시스템도 읽는다
Backend Nest.js Logging

NestJS 스터디 9주차 회고 — 로그는 사람도 읽고, 시스템도 읽는다

NestJS Built-in Logger의 운영 환경 한계를 직시하고, Pino로 전환하는 과정을 정리했습니다. 구조화 로깅 설계부터 ExceptionFilter DI 연동, APP_FILTER 등록 방식까지의 형태가 되기까지의 구현 기록입니다.

NestJS 스터디 8주차 회고 — 서버 에러를 프론트가 읽을 수 있게
Backend Nest.js Error

NestJS 스터디 8주차 회고 — 서버 에러를 프론트가 읽을 수 있게

NestJS 기본 예외 처리부터 커스텀 필터, 응답 인터셉터까지 — 서버 응답을 한 가지 규칙으로 통일한 구현 기록입니다.

NestJS 스터디 7주차 회고 — localStorage에서 HttpOnly 쿠키로
Backend Nest.js Security Cookie

NestJS 스터디 7주차 회고 — localStorage에서 HttpOnly 쿠키로

프론트엔드 연동 과정에서 발견한 로그인 보안 설계의 허점과, HttpOnly 쿠키 기반으로 전환하면서 Secure, SameSite, CORS 세 레이어를 직접 구현한 흐름을 정리합니다.

NestJS 스터디 6주차 회고 — TodoList를 만들며 부딪힌 설계의 벽
Backend Nest.js TypeORM

NestJS 스터디 6주차 회고 — TodoList를 만들며 부딪힌 설계의 벽

TodoList 서버를 구현하며 부딪힌 DTO 분리·Update API 분리 고민과, 명세 우선 워크플로우로 돌아간 과정을 정리합니다.

NestJS 운영 준비 — 로그 레벨 설계와 환경 변수 분리
Backend Nest.js Logging

NestJS 운영 준비 — 로그 레벨 설계와 환경 변수 분리

NestJS에서 로그 레벨을 환경별로 설계하고, Built-in Logger로 실습한 뒤 @nestjs/config로 환경 변수를 분리하는 흐름까지 정리합니다.

NestJS 게시물에 작성자 붙이기 — 관계 설정과 N+1, 응답 보안
Backend Nest.js TypeORM

NestJS 게시물에 작성자 붙이기 — 관계 설정과 N+1, 응답 보안

TypeORM에서 User와 Board의 관계를 설정하고, N+1 문제를 피하며, 응답에서 민감 정보를 제거하는 흐름까지 직접 구현하며 정리합니다.

NestJS 인증 구현 — 회원가입부터 JWT 토큰 검증까지
Backend Nest.js TypeORM

NestJS 인증 구현 — 회원가입부터 JWT 토큰 검증까지

NestJS에서 회원가입, 로그인, JWT 발급, Passport Guard를 이용한 인증 파이프라인을 직접 구현하며 정리합니다.

TypeORM으로 NestJS 데이터베이스 연동하기
Backend Nest.js TypeORM

TypeORM으로 NestJS 데이터베이스 연동하기

서버와 데이터베이스의 기본 개념부터 TypeORM을 활용한 NestJS 데이터베이스 연동, 그리고 TypeORM 버전 호환성 이슈 해결까지 정리합니다.

placeholder
Astro TypeScript Vite

2026년 3월에 정리하는 프론트엔드 생태계의 변화

Astro v6, TypeScript 6.0, Vite 8의 변경사항과 세 기술의 연결 관계를 공식 문서 기준으로 정리합니다.

NestJS 핵심 아키텍처와 Pipe 유효성 검사
Backend Nest.js Node.js

NestJS 핵심 아키텍처와 Pipe 유효성 검사

NestJS의 Module-Controller-Service 구조와 Dependency Injection, 그리고 Pipe를 활용한 유효성 검사를 직접 구현하며 정리합니다.

HTTP 콘텐츠 협상과 Vary 헤더
Backend HTTP

HTTP 콘텐츠 협상과 Vary 헤더

서버 주도 협상과 에이전트 주도 협상의 동작 원리, 그리고 Vary 헤더가 캐시 정합성을 보장하는 방식을 정리합니다.

HTTP 메서드, 상태 코드, 그리고 Header와 Body
HTTP

HTTP 메서드, 상태 코드, 그리고 Header와 Body

HTTP 통신의 기본 구성 요소인 메서드, 상태 코드, 헤더와 바디의 역할과 구조를 정리합니다.

Express 미들웨어 파이프라인과 Node.js 이벤트 루프
Backend Node.js

Express 미들웨어 파이프라인과 Node.js 이벤트 루프

Express의 미들웨어 체인 구조와 Node.js 싱글 스레드 모델의 동작 원리를 실험으로 검증하며 정리한 글입니다.

Astro 프레임워크로 나만의 블로그 개발하기
Astro 블로그

Astro 프레임워크로 나만의 블로그 개발하기

플랫폼 블로그 대신 Astro로 직접 블로그를 만든 이유와 초기 세팅, 그리고 앞으로의 블로그 목표를 정리합니다.

2025년 회고: 시작을 위한 기반을 다지는 해
2025 회고

2025년 회고: 시작을 위한 기반을 다지는 해

멘토멘티, UMC, 프로젝트, AI, 여행 — 2025년 한 해를 돌아보며 회고 기록을 남깁니다.