fas

개발/Java

· 개발/Java
서론올해 초, 고객사에서 일 1000~2000건에 달하는 문서를 수동으로 분류해오고 있던 문제를 발견했습니다.그동안 우리 프로그램은 물리적인 기록을 데이터로 남기는 것에 불과했고,이런 부분을 프로그램을 활용하는 목적을 만들어주고 싶어서 만들었습니다. 이 문서는 아마존의 1-Pager 느낌으로 저의 고민과 의사결정을 기록하기 위해 남깁니다. 색다른 시도지만 꾸준히 이렇게 문서화를 통해 의사결정의 과정을 남겨보려 합니다. 1. 문제 정의 (The Problem)Context: 하루 2,000건 이상의 수입신청서 분류 업무를 인력이 수동으로 처리.Critical Issue: 잦은 휴먼 에러와 일일 3~4시간의 운영 리소스 낭비. 특히 비즈니스 정책 변경 시마다 분류하는 기준을 변경해야 하는데, 이 부분을 사..
· 개발/Java
Java 상속과 필드 섀도잉: 동일한 @Table 어노테이션을 가진 부모-자식 클래스에서의 Spring Data JDBC 매핑 문제들어가며Spring Data JDBC 환경에서 매우 미묘하고 복잡한 문제를 경험했습니다. 부모 클래스와 자식 클래스 모두 동일한 @Table("GW_APPR_MST") 어노테이션을 가지고 있는 상황에서, Builder로 설정한 값이 메모리에서는 정상적으로 확인되지만 데이터베이스에는 null로 저장되는 현상이었습니다. 이는 Java의 필드 섀도잉(Field Shadowing)과 Spring Data JDBC의 리플렉션 기반 매핑이 복합적으로 작용한 결과였습니다.[정확한 문제 상황]실제 코드 구조// 부모 클래스 - 동일한 테이블 매핑@Table("GW_APPR_MST")publ..
· 개발/Java
⌨️ 중첩클래스와 싱글톤중첩클래스와 싱글톤(LazyHolder 방식)에 대해서 추가로 공부하고 검증해 본 것들을 기록1. 중첩클래스중첩클래스는 내부클래스 중에 static을 붙힌 애들을 의미한다.내부클래스와는 궤를 살짝 달리한다. 1.1. 중첩클래스의 동작원리중첩클래스는 기본적으로 static이 달려 있기 때문에 메서드 영역에 올라간다.간혹 static 변수와 메소드랑 static class가 다르게 작동한다고 말을 해서 혼동을 주는 사례가 있는데명확히 짚고 넘어가겠다 static Object와 다르게 작동하는 것이다.중첩클래스는 말그대로 클래스가 중첩되어 있을 뿐이다. A라는 클래스에서만 사용되기에 A안에 B클래스를 중첩시켜 놓은 것뿐이지 C, D 여러 군데에서 작동하게 하려면 그냥 별도의 클래스로 만..
· 개발/Java
1. 열거형이 필요한 이유1.1. 타입 안정성 - String 활용 시// DiscountServicepublic class DiscountService { public int discount(String grade, int price) { int discountPercent = 0; switch (grade) { case "BASIC" -> discountPercent = 10; case "GOLD" -> discountPercent = 20; case "DIAMOND" -> discountPercent = 30; default -> System.out.println(grade + ": ..
ckaanf
'개발/Java' 카테고리의 글 목록