전체 글
-
list<vo> 비교개발/JAVA 2026. 5. 29. 08:13
public void validateValidToken(List requestList, List dbList) { Map dbTokenMap = dbList.stream() .collect(Collectors.toMap( this::makeKey, PrItemVO::getValidToken )); requestList.stream() .filter(vo -> "update".equalsIgnoreCase(vo.getRowStatus()) || "delete".equalsIgnoreCase(vo.getRowStatus())) .forEach(vo -> { ..
-
MybatisUtil 기능추가개발/JAVA 2026. 5. 26. 11:25
/** * null-safe equals 비교 */ public static boolean equals(Object a, Object b) { return Objects.equals(a, b); } /** * 문자열 equalsIgnoreCase */ public static boolean equalsIgnoreCase(String a, String b) { if (a == null || b == null) { return false; } return a.equalsIgnoreCase(b); } /** * Y/N 비교용 */ public static boolean isYn(Object value, String yn) { return Objects.equals( value == null ? null : v..
-
NumberUtil format 추가개발/JAVA 2026. 5. 26. 09:33
public static String formatAmount(Object value) { return formatAmount(value, 2, ""); } public static String formatAmount(Object value, int scale) { return formatAmount(value, scale, ""); } public static String formatAmount( Object value, int scale, String defaultValue ) { BigDecimal number = toBigDecimal(value); if (number == null) { return defaultValue; } number = number.setScale(scale, Roundin..
-
Spring Security - AuthenticationEntryPoint개발/Spring Boot 2026. 1. 21. 09:17
AuthenticationEntryPoint는 아직 인증(로그인)되지 않은 사용자(Anonymous)가 보호된 자원에 접근했을 때Spring Security가 어떤 방식으로 응답을 시작할지(commence) 결정하는 컴포넌트입니다.즉, Security Filter Chain에서 인증이 필요하다고 판단되었는데(SecurityContext에 인증 객체 없음) → AuthenticationException이 발생 → ExceptionTranslationFilter가 잡아서 → AuthenticationEntryPoint.commence()를 호출합니다.
-
Spring Security - AccessDeniedHandler개발/Spring Boot 2026. 1. 21. 09:14
AccessDeniedHandler 인터페이스권한에 따른 접근 불가한 url에 대한 handler 설정 해당 인터페이스의 구현체를 생성하여 권한에 없는 url접근 시특정 url로 전달하거나 response 응답코드(403) 및 메세지를 설정합니다. 따로 설정을 안한경우 AccessDeniedHandlerImpl의 기본 구현 클래스는 아래와 같습니다.public class AccessDeniedHandlerImpl implements AccessDeniedHandler { protected static final Log logger = LogFactory.getLog(AccessDeniedHandlerImpl.class); private String errorPage; @Override ..
-
인텔리제이 claude code설치AI/claude code 2025. 12. 1. 11:21
인테리제이 - claude code설치플러그인으로 claude code 설치로컬(window)에서 claude code 설치node.js 설치 (https://nodejs.org/ko/download)터미널 명령어npm install -g @anthropic-ai/claude-code✅ 1. 준비물: Git for Windows 설치 (필수)Claude Code Windows 설치는 Git bash 환경 필요.📌 Git for Windows 다운로드https://git-scm.com/download/win그냥 "Next → Next → Install" 기본 옵션으로 설치하면 됨.설치 후 C:\\Program Files\\Git\\bin\\bash.exe 가 생김.✅ 2. Windows PowerShel..
-
JDBC 이해 및 최신 데이터 접근 기술개발/Spring DB 2025. 7. 23. 13:06
JDBC란 무엇인가? – 이해부터 최신 데이터 접근 기술까지현대 자바 개발에서 데이터베이스와의 연동은 필수 요소입니다.그 시작은 JDBC(Java Database Connectivity)이며, 오늘날에는 이를 기반으로 한 다양한 기술들이 등장해 데이터 접근을 더 쉽고 효율적으로 만들어줍니다.이 글에서는 JDBC의 기초 개념부터 최신 데이터 접근 기술까지 한눈에 정리해봅니다. JDBC란?JDBC(Java Database Connectivity)는 자바에서 관계형 데이터베이스(RDBMS)에 접근하기 위한 표준 API입니다.기본 구조javaConnection conn = DriverManager.getConnection(url, user, password); Statement stmt = conn.create..
-
H2 DB 설정개발/Spring DB 2025. 7. 23. 11:16
H2 Database란?H2는 Java 기반의 경량형 관계형 데이터베이스(RDBMS)파일 기반 또는 메모리 기반으로 작동할 수 있어, 개발, 테스트, 단일 사용자용 애플리케이션에 자주 사용 H2 DB 사용 시 장점설치 없이 사용 가능 (내장형)메모리 DB로 테스트에 최적화SQL 호환성 우수웹 콘솔 제공 (GUI 형태의 DB 접속 도구) H2 DB 설정 방법1. Maven 의존성 추가xmldependency>groupId>com.h2databasegroupId>artifactId>h2artifactId>scope>runtimescope>dependency>groovyruntimeOnly 'com.h2database:h2' 2. application.properties 설정 (Spring Boot 기준..