전체 글

창업, 사업, 자기개발, 운동, Web, App, Java, python, 이슈, 개발자, JavaScript, amazon, cloud server, 취업, 스펙, Android Studio, Spring, React, Node.js, 구독하면 댓글 남겨주세요.
· Java
🔒 트랜잭션 격리 수준(Isolation Level)📌 격리 수준의 정의격리 수준은 동시에 실행되는 트랜잭션 간의 데이터 충돌 방지 및 무결성 보장을 위해 설정하는 규칙입니다. 각 수준은 트랜잭션 성능과 일관성 사이에서 트레이드오프를 제공합니다.격리 수준은 ANSI SQL 표준에 정의되어 있으며, Spring에서는 이를 데이터베이스에 전달하여 적용합니다.격리 수준 설정 방법Spring에서 @Transactional 어노테이션에 isolation 속성을 설정하여 격리 수준을 지정할 수 있습니다.예시 코드@Transactional(isolation = Isolation.READ_COMMITTED)public void processData() { // 트랜잭션 동작}📌 격리 수준 값과 특징아래는 S..
· Java
📌 트랜잭션 전파(Propagation)란?트랜잭션 전파(Propagation)는 트랜잭션의 존재 여부와 관계를 정의합니다.현재 트랜잭션이 있는 경우 그 트랜잭션에 참여할지,새로 트랜잭션을 생성할지,트랜잭션 없이 실행할지를 결정합니다.Spring에서 제공하는 전파 속성은 @Transactional 어노테이션의 propagation 속성으로 설정할 수 있습니다.📌 트랜잭션 전파와 격리 수준의 차이전파(Propagation)트랜잭션의 관계를 설정합니다.예: 새로운 트랜잭션 생성, 기존 트랜잭션 참여 등.격리 수준(Isolation Level)동시에 실행되는 트랜잭션 간 데이터 접근 규칙을 설정합니다.예: Dirty Read 방지, Repeatable Read 보장 등.간단히: 전파는 트랜잭션의 관계, 격..
· Java
📌 @Transactional이란?Spring에서 제공하는 트랜잭션 관리 어노테이션으로, 데이터 작업의 ACID 특성을 보장하며 트랜잭션 시작, 커밋, 롤백을 자동으로 처리합니다.💡 @Transactional의 동작 원리@Transactional은 AOP(Aspect-Oriented Programming) 기반으로 동작하며, 프록시 객체가 트랜잭션의 시작과 종료를 제어합니다.프록시 동작 구조클라이언트가 호출 → 프록시 객체가 메서드를 가로챔.프록시 객체가 트랜잭션을 시작(Commit/Rollback 결정).실제 객체의 메서드 실행.메서드 종료 후 트랜잭션 종료.📌 트랜잭션은 원래 하나인가? 독립적으로 동작한다는 의미는?트랜잭션은 하나의 작업 단위트랜잭션은 데이터를 다루는 논리적 작업 단위입니다. 이..
· Java
Spring Boot 프로젝트를 진행하다 보면, 여러 프로젝트에서 재사용할 수 있는 공통 모듈을 패키지화해서 관리하고 싶을 때가 많습니다. 이번 포스팅에서는 공통 모듈을 Maven 패키지로 만들어 GitHub Packages에 등록하고, 이를 다른 프로젝트에서 사용하는 방법을 처음부터 끝까지 자세히 설명합니다.1. 🌱 공통 모듈 프로젝트 생성1️⃣ 프로젝트 구조 만들기Spring Boot 공통 모듈 프로젝트를 생성합니다. Maven 프로젝트로 설정하는 것이 중요합니다.Maven 프로젝트 생성 명령어:mvn archetype:generate -DgroupId=com.example -DartifactId=springboot-common-modules -DarchetypeArtifactId=maven-arc..
· WEB
이번 글에서는 프론트엔드에서 업로드된 Excel 파일을 Spring 백엔드에서 받아서 Apache POI로 처리하는 방법을 알아보겠습니다. 업로드된 파일을 어떻게 서버에서 다룰 수 있는지 Spring MVC와 Apache POI를 활용하여 구현합니다.전체 구현 개요프론트엔드Nuxt.js를 통해 파일을 업로드.서버로 HTTP POST 요청을 보냄.백엔드Spring Controller에서 파일을 받음.MultipartFile 객체로 업로드된 파일 처리.Apache POI로 Excel 데이터를 읽고 출력 또는 가공.처리된 데이터데이터베이스 저장 또는 JSON 응답 반환.1. 프론트엔드: Nuxt.js로 파일 업로드 구현Nuxt.js는 Vue.js 기반으로 작동하기 때문에 파일 업로드는 Vue의 기본 이벤트 처..
· Java
이번 글에서는 Apache POI 라이브러리를 사용해 Java로 Excel 파일을 생성하는 방법을 처음부터 끝까지 설명합니다. 스타일 적용, 데이터 작성, 컬럼 스타일링 등, 실용적인 예제를 통해 구현 방법을 단계별로 알아보겠습니다.1. Apache POI란?Apache POI는 Java 기반으로 MS Office 문서를 다룰 수 있는 강력한 라이브러리입니다. 특히, Excel 파일을 처리하는 데 가장 널리 쓰입니다.2. Excel 파일 생성 프로세스🛠️ 준비 단계의존성 추가Maven 프로젝트라면 pom.xml에 아래 의존성 추가 org.apache.poi poi-ooxml 5.2.3 Apache POI 주요 클래스Workbook: Excel 파일을 나타냄. (HSSFWorkbook: .xl..
· IT 지식
🖥️ 리눅스 환경에서 sudo 권한 실행 시 비밀번호를 묻지 않도록 설정하는 방법리눅스 시스템에서 sudo를 사용할 때 매번 비밀번호를 입력해야 하는 건 보안적인 이유 때문입니다. 하지만 개발 환경에서는 이를 생략해야 할 경우가 종종 있습니다. 이번 포스팅에서는 sudo 비밀번호 없이 실행되도록 설정하는 방법과 이 설정이 어떤 경우에 유용하며 어떻게 작동하는지를 알아보겠습니다.1. 🛠️ 비밀번호를 묻지 않도록 설정하는 과정리눅스 시스템에서 특정 유저나 그룹이 sudo 명령을 사용할 때 비밀번호 입력을 건너뛰도록 설정하려면 sudoers 파일을 수정해야 합니다.1.1. sudoers 파일 편집하기터미널에서 sudo visudo 명령을 실행합니다.sudo visudovisudo는 sudoers 파일을 편..
· DB
🌟 1. NoSQL의 모든 것데이터베이스(Database)는 애플리케이션 개발에서 중요한 요소입니다. 전통적으로 SQL 기반의 관계형 데이터베이스(RDBMS)가 널리 사용되었지만, 최근에는 NoSQL이 떠오르고 있습니다. 오늘은 NoSQL에 대해 기본 개념, 특징, 종류, 구현 방법을 깊이 있게 다뤄보겠습니다. 🌟 2. NoSQL이란?✅ 정의NoSQL은 "Not Only SQL"의 약자로, 전통적인 SQL 데이터베이스와 다른 방식으로 데이터를 저장하고 관리하는 데이터베이스를 의미합니다. 비관계형 데이터베이스라고도 불리며, 대규모 데이터 처리와 유연한 설계를 지원합니다.✅ NoSQL의 RDB에 비해 장점스키마가 유연하다RDBMS는 테이블 스키마가 고정되어 있지만, NoSQL은 유연한 데이터 구조를 지원..