전체 글 143

Kotlin UTC

Kotlin의 Instant란?java.time.Instant (Java 8 이상 표준)- UTC 기준의 "절대 시각"을 밀리초 또는 나노초 단위로 표현사용 예시 (Kotlin)현재 시각 구하기import java.time.Instant val now: Instant = Instant.now() println(now) // 예: 2025-06-04T03:00:00Z Instant → epochMillis (밀리초)val epochMillis = now.toEpochMilli() println(epochMillis) // 예: 1749050400000 epochMillis → Instantval fromMillis = Instant.ofEpochMilli(1749050400000) println(fromM..

skill/Java.Kotlin 2025.06.12

SpringBoot 등록자, 등록일, 수정자, 수정일 자동 삽입

BaseEntity.kt 설정Oracle에서 @GeneratedValue(strategy = GenerationType.IDENTITY) 전략이 제대로 지원하지 않음.지원하는 DB는 ID도 포함 가능import jakarta.persistence.*import org.springframework.data.annotation.*import org.springframework.data.jpa.domain.support.AuditingEntityListenerimport java.time.LocalDateTime@MappedSuperclass@EntityListeners(AuditingEntityListener::class)abstract class BaseEntity { @CreatedBy @Co..

skill/Java.Kotlin 2025.06.12

Spring 설정파일 비밀번호 암호화 Jasypt

Spring yml 파일 비밀번호 암호화 처리#정보보안 #보안검증username: 사용자password: 비밀번호1234 Jasypt설정 파일 비밀번호 처리- 비밀번호는 암호화되어 표기- 의존성과 @Configuration 등록 하면 Spring Boot 실행 시, Jasypt가 자동으로 ENC(...)로 감싸진 값을 복호화 하여 사용username: 사용자password: ENC(2lBxSp5ad3D7X3Q==)1. Spring Boot 의존성 추가 org.bouncycastle bcprov-jdk18on 1.76 org.jasypt jasypt 1.9.32. application.yml 설정 파일 암호화 키 추가jasypt.encryptor.password=jasypt..

skill/Spring 2025.03.18

MariaDB 데이터베이스생성, 사용자생성, 권한부여

프로젝트 초기 설정 : DB 연결데이터베이스 생성 -> 사용자 생성 -> 권한 부여 -> 클라이언트 접속 -> 서버 기동0. 준비MariaDB 설치 후 root계정 접속, sys로 연결1. 데이터베이스 생성create database mydb;2. 사용자 생성create user 'mydb'@'%' identified by '1234';create user 'mydb'@'localhost' identified by '1234';(참고)- '%' : 원격 접속(외부 IP 또는 도메인) 허용 (TCP 접속)- localhost : 로컬에서 접속 허용 (Unix 소켓 접속)(참고)- TCP : 네트워크 접속- Unix : OS 제공하는 Unix 소켓 파일 접속 (파일 : /var/run/mysqld/mysql..

DB 2025.03.18

MAC mariaDB 설치 및 실행 : 오류 발생 시 대응, 클라이언트, 서버 실행

MAC mariaDB 설치 및 실행기본 설치 및 실행 포함오류 발생 시, 완전 히 삭제 후 재설치 포함DB 클라이언트 확인 포함SpringBoot 연동 확인 포함 Homebrew로 MariaDB 설치1. 설치Homebrew 설치Homebrew : Mac에서 터미널을 이용해 소프트웨어를 쉽게 설치하고 관리할 수 있도록 도와주는 패키지 관리자. (설치/실행/삭제)/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"Homebrew로 MariaDB 설치brew install mariadb설치 확인mysql --version 2. 실행MariaDB 서버 시작brew services start ma..

DB/전체 2025.03.12

[JPA] Lazy Loading 사용 할때 성능 문제 : N+1

JPA :  N + 1 문제 원인- 하나의 부모 엔터티를 조회 하면, 관련된 N개의 자식 엔터티를 개별적으로 조회 하면서 총 N+1 번의 쿼리가 실행- JPA에서 Lazy Loading을 사용할 때 발생하는 문제문제발생 예제@Entity@Getter @Setterpublic class Notice { @Id @GeneratedValue private Long id; private String title; @OneToMany(mappedBy = "notice", fetch = FetchType.LAZY) private List noticeFiles = new ArrayList();}@Entity@Getter @Setterpublic class NoticeFile { ..

skill/Etc 2025.03.10