[PostgreSQL] 인증 및 보안 강화하기
🔐 PostgreSQL 인증 강화 가이드 — 비밀번호만으로는 부족하다PostgreSQL은 기본적으로 username + password 조합으로 인증하지만,그 외에도 여러 보안 강화 방법을 제공하여 MFA(다단계 인증) 수준의 보호를 구축할 수 있습니다.이 글에서는 PostgreSQL의 인증 강화 방안을 단계별로 정리합니다. 1️⃣ 비밀번호 보안 강화
🔐 PostgreSQL 인증 강화 가이드 — 비밀번호만으로는 부족하다PostgreSQL은 기본적으로 username + password 조합으로 인증하지만,그 외에도 여러 보안 강화 방법을 제공하여 MFA(다단계 인증) 수준의 보호를 구축할 수 있습니다.이 글에서는 PostgreSQL의 인증 강화 방안을 단계별로 정리합니다. 1️⃣ 비밀번호 보안 강화
리소스 동기화 - TransactionSynchronizationManager트랜잭션을 유지하기 위해서는 트랜잭션 시작부터 끝까지 같은 데이터 베이스 Connection 을 유지해야 합니다. 스프링에서는 트랜잭션 동기화를 위해 트랜잭션 동기화 매니저를 제공합니다. 트랜잭션 매니저는 DataSource 를 통해 데이터 베이스 Connection 을 생성하
Nuxt.js란?Nuxt.js는 Vue.js 기반의 프레임워크로, 서버 사이드 렌더링(SSR), 정적 사이트 생성(SSG), 그리고 단일 페이지 애플리케이션(SPA)을 쉽게 구축할 수 있게 해줍니다. Nuxt 3부터는 Vue 3와 Vite를 기반으로 더욱 빠르고 강력해졌습니다. 주요 특징 하이브리드 렌더링: SSR, SSG, SPA 중 선택 가능 자동 라우
개요NestJS와 Spring Boot는 각각 Node.js와 Java 생태계에서 가장 인기 있는 백엔드 프레임워크입니다. 두 프레임워크는 놀라울 정도로 유사한 아키텍처와 개념을 가지고 있습니다. 핵심 철학공통점 엔터프라이즈급 애플리케이션 개발에 최적화 모듈화된 아키텍처로 확장 가능한 구조 의존성 주입(Dependency Injection) 패턴 사용 데코
개요NestJS와 Spring Boot는 각각 Node.js와 Java 생태계에서 가장 인기 있는 백엔드 프레임워크입니다. 두 프레임워크는 놀랍도록 유사한 아키텍처와 철학을 가지고 있습니다. 기본 정보NestJS 언어: TypeScript (JavaScript) 런타임: Node.js 출시: 2017년 철학: Angular에서 영감을 받은 프로그레시브 No
NestJS 요청 처리 파이프라인NestJS는 요청을 처리하는 여러 단계를 제공합니다: Middleware - 라우팅 전 요청/응답 처리 Guard - 인증/인가 확인 Interceptor (Before) - 요청 전처리 Pipe - 데이터 변환 및 검증 Controller - 요청 처리 Interceptor (After) - 응답 후처
NestJS 데이터베이스 연동NestJS는 다양한 데이터베이스와 ORM을 지원합니다. 가장 일반적으로 TypeORM, Prisma, Mongoose를 사용합니다. TypeORM 설정TypeORM은 TypeScript와 JavaScript를 위한 ORM으로, NestJS와 완벽하게 통합됩니다. 패키지 설치# TypeORM과 MySQLnpm install @n
서비스(Service)란?서비스는 비즈니스 로직을 담당하는 계층입니다. @Injectable() 데코레이터로 정의되며, 컨트롤러에서 분리하여 재사용 가능하고 테스트하기 쉬운 코드를 작성할 수 있습니다. 서비스의 역할 비즈니스 로직 처리 데이터베이스 접근 외부 API 호출 데이터 변환 및 가공 재사용 가능한 기능 제공 기본 서비스 생성CLI로 서비스 생성#
컨트롤러(Controller)란?컨트롤러는 클라이언트의 요청(Request)을 처리하고 응답(Response)을 반환하는 역할을 합니다. @Controller() 데코레이터로 정의됩니다. 기본 컨트롤러 생성CLI로 컨트롤러 생성# 기본 컨트롤러 생성nest g controller users# 특정 폴더에 생성nest g controller modules/u
NestJS 모듈이란?모듈은 NestJS 애플리케이션의 기본 구성 단위입니다. @Module() 데코레이터로 장식된 클래스로, 관련된 기능들을 하나로 묶어 조직화합니다. 모듈의 역할 애플리케이션을 논리적인 단위로 분리 코드의 재사용성과 유지보수성 향상 의존성 관리를 명확하게 정의 애플리케이션의 구조를 체계적으로 구성 기본 모듈 구조@Module() 데코레
NestJS 시작하기NestJS는 효율적이고 확장 가능한 Node.js 서버 사이드 애플리케이션을 구축하기 위한 프레임워크입니다. TypeScript를 기본으로 사용하며, Express 또는 Fastify를 기반으로 동작합니다. 특징 TypeScript 완벽 지원 의존성 주입(Dependency Injection) 패턴 모듈 기반 아키텍처 데코레이터를 활용
목차 [JAVA] - 가비지 컬렉션 튜닝 [JAVA] - Garbage Collection(가비지 컬렉션) [JAVA] - JVM (자바 가상 머신) 🧊 Cold Start란?Cold Start는 JVM이 애플리케이션이 처음 실행될 때 초기화 과정 때문에 발생하는 지연(latency) 을 의미합니다. 마치 추운 겨울날 자동차 시동을 걸 때 엔진이 따뜻
목차 [JAVA] - 가비지 컬렉션 튜닝 [JAVA] - Garbage Collection(가비지 컬렉션) [JAVA] - JVM (자바 가상 머신) 🧊 Cold Start란?Cold Start는 JVM이 애플리케이션이 처음 실행될 때 초기화 과정 때문에 발생하는 지연(latency) 을 의미합니다. 마치 추운 겨울날 자동차 시동을 걸 때 엔진이 따뜻
스프링부트 민감정보 암호화 하기운영 중인 프로그램에서 DB 암호나 API 키와 같은 민감 정보를 설정 파일에 평문으로 저장할 경우, 프로그램이 유출되면 그대로 외부에 노출되는 심각한 보안 문제가 발생할 수 있습니다. 이를 방지하기 위해 프로퍼티 암호화를 적용하면, 설정값이 유출되더라도 평문이 아닌 암호화된 형태로만 노출되므로 보안성을 크게 강화할 수 있습
목차 [JAVA] - 가비지 컬렉션 튜닝 [JAVA] - Garbage Collection(가비지 컬렉션) [JAVA] - JVM (자바 가상 머신) 초기 GC들 (JDK 1.0~1.4)Serial GC 가장 오래된 GC 단일 스레드로 동작 작은 애플리케이션이나 클라이언트 환경에 적합 Stop-the-World 시간이 길어서 현재는 제한적으로 사용