본문 바로가기

분류 전체보기142

Java IllegalArgumentException IllegalArgumentException은 Java에서 매우 자주 발생하는 런타임 예외로, 메서드에 잘못된 인자가 전달되었을 때 발생한다. 여기서는 개념, 발생 원인, 예제 코드, 해결 방법까지 다뤄보겠다.1. IllegalArgumentException 이란?IllegalArgumentException은 메서드에 전달된 인자가 잘못되었을 때 발생하는 RuntimeException다. 체크 예외(Checked Exception)가 아니므로 throws 선언이 필요하지 않다.java.lang.Object ↳ java.lang.Throwable ↳ java.lang.Exception ↳ java.lang.RuntimeException ↳ java.lang.I.. 2025. 7. 31.
Java System.out과 Logger 차이점 Java 애플리케이션 개발 시 로그를 출력하는 방식으로 System.out.println()과 Logger(SLF4J, Logback, Log4j2 등)를 사용할 수 있다. 하지만 두 방식은 운영 환경에서의 로그 관리와 보안, 성능 측면에서 큰 차이가 있다. 여기서는 System.out과 Logger의 차이점과 운영 환경에서 Logger를 사용해야 하는 이유를 정리해야지1. 개념적인 차이System.out.println(): JVM 표준 출력 스트림으로 콘솔에 단순히 메시지를 출력한다. 디버깅용으로 사용되지만 운영 환경에서는 관리가 어렵다.Logger: Logback, SLF4J, Log4j2 등 로깅 프레임워크를 통해 로그를 남긴다. 다양한 출력 대상과 로그 레벨 관리가 가능하며, 운영 환경에서 필수적.. 2025. 7. 30.
DataAccessException과 시큐어코딩 보안 예외 처리 방법 DataAccessException은 Spring Framework에서 제공하는 데이터 접근 계층의 최상위 예외 클래스다. JDBC, JPA, Hibernate 등 다양한 기술에서 발생하는 데이터베이스 예외를 일관성 있게 처리할 수 있도록 설계되어 있다. 시큐어코딩 관점에서 SQL 에러 메시지를 사용자에게 노출하지 않고 안전하게 처리할 수 있다는 점에서 매우 중요하다.1. DataAccessException의 개념Spring의 org.springframework.dao.DataAccessException 클래스에 포함됨RuntimeException을 상속하여 throws 선언 없이 사용 가능기술별 예외를 추상화하여 일관된 예외 처리 가능2. 주요 하위 예외 클래스DataIntegrityViolationE.. 2025. 7. 29.
실전 Dockerfile 예제 및 AWS, Azure에서 Docker 사용 1. Dockerfile 예제: Node.js Express 서버아래는 Node.js 기반의 Express 웹 서버를 Docker로 실행하기 위한 Dockerfile 예제# 베이스 이미지FROM node:18# 앱 디렉토리 생성WORKDIR /usr/src/app# 종속성 설치COPY package*.json ./RUN npm install# 애플리케이션 소스 복사COPY . .# 애플리케이션 포트EXPOSE 3000# 실행 명령CMD [ "node", "app.js" ] 해당 Dockerfile을 사용하면 Node.js 서버가 3000번 포트에서 실행되며, 로컬 개발 환경과 동일한 결과를 얻을 수 있다.빌드 및 실행 명령어docker build -t my-node-app .docker run -p 3.. 2025. 7. 20.
Docker란? 개념부터 활용까지 Docker는 현대 소프트웨어 개발에서 필수 도구로 자리 잡은 경량화된 컨테이너 기반 플랫폼이다. 개발 환경을 표준화하고, 빠르게 배포할 수 있게 해주어 DevOps, 클라우드, 마이크로서비스 등 다양한 분야에서 활발히 사용되고 있다.1. Docker란 무엇인가?Docker는 컨테이너 기술을 활용하여 애플리케이션을 독립된 환경에서 실행할 수 있도록 해주는 오픈소스 플랫폼이다. 컨테이너는 운영체제 수준에서 격리되며, 빠르게 실행되고 배포할 수 있는 가볍고 효율적인 방식이다.2. Docker의 주요 구성 요소구성 요소설명Docker Engine컨테이너를 생성하고 실행시키는 핵심 엔진Docker Image애플리케이션 실행을 위한 템플릿Docker Container실행 중인 독립된 환경Dockerfile이미지를.. 2025. 7. 20.
MariaDB 오류 해결: Data too long for column 오류란? MariaDB에서 'Data too long for column' 오류는 테이블에 데이터를 입력하거나 수정할 때 해당 컬럼이 허용하는 길이보다 더 긴 문자열을 넣었을 때 발생한다. 보통 VARCHAR 또는 CHAR 타입의 컬럼에서 자주 발생한다.1. 오류 메시지오류 메시지[ma-3.1.20][10.8.3-MariaDB] Data too long for column 'col4' at row 1이는 col4 컬럼에 입력된 데이터가 해당 컬럼이 수용할 수 있는 길이를 초과했다는 뜻이다.2. 예시로 보는 오류 발생 상황CREATE TABLE sample ( col4 VARCHAR(10));INSERT INTO sample (col4) VALUES ('This is too long');위 예시에서 col4는.. 2025. 7. 10.