Genie의 Java 개발 공부와 일지를 기록하는 아카이브 공간 Develop Study/Spring38 (25.04.03) Singleton Pattern & Spring Bean 면접 준비와 그리고 채용공고에서 보듯이 싱글톤 패턴을 통한 개발을 할 수 있는지 또는 이에 대한 이해가 있는지를 보기도 해,한번 더 공부하기 위해서 찾아서 정리를 했다.기본적으로 Spring 의 Bean이 싱글톤 패턴이라는 것으로만 알고 있었지만, 실제로 Singleton Pattern과는 조금 다른 점이 있고,그리고 특히, Spring Bean을 싱글톤 패턴으로 개발하는 것이 목적이 아닌 DI를 목적으로 두기 때문에,Singleton Pattern에 대해서 한번 찾아보고 공부했다.싱글톤 패턴 Singleton PatternApplication 내에서 객체를 단 하나만 생성하고, 이를 공유하는 패턴Application 상태를 유지 또는 자원을 전역에서 공유 (또는 logging 등)일종의 전역 변수처럼 .. 2025. 4. 3. (25.03.13) Java Spring JPA @Converter & AttributeConverter Labeling Project를 진행하면서 JSON 형태의 데이터를 계속다루고 있고,좀더 유연한 자료의 저장을 위해서 MySQL 에서 활용하지만, 다양한 Entity에서 String 타입 또는 Json 타입으로 저장하기 위해서Service 단에서 같은 ObjectMapper로 변환하는 비효율적인 코드를 작성했다. 하지만,Converter를 사용하면서 좀더 효율적으로 사용할 것으로 판단했고Row Data 당 사용자가 활용한 Label 리스트 타입을 Json 타입으로 저장하는데 활용할 수 있었다. @Converter@Entity@Table(name = "samples")public class Sample extends Timestamp { ... @Column(columnDefinition = "J.. 2025. 3. 13. (25.02.18) Spring Boot 의 MongoDB 연결 모 스타트업 회사에 인턴쉽에 참여하게 되면서 엔터티와 테이블기반의 RDMBS를 활용하는 MySQL을 사용했지만,AI 학습용 데이터 및 대용량 데이터를 다루는 NoSQL기반의 DB를 활용을 해야했기 때문에,MySQL기반과 다르게 Spring Boot 와 NoSQL인 MongoDB를 활용하는 방법을 학습하면서 기록했다.MongoDBNoSQL 기반의 데이터베이스 관계형 데이터베이스(RDBMS)와는 다른 구조로 데이터를 저장문서 지향(Document-Oriented) 형식데이터를 문서 단위로 저장BSON(Binary JSON) 형식으로 저장MongoDB에서 지원하는 JSON (JavaScript Object Notation)을 기반 이진 형식(Binary format)으로 저장되는 형식JSON 과 똑같이 생겼지.. 2025. 2. 18. (24.10.14) Swagger & Spring REST Doc 많이 사용할 수 있는 협업 상황에서의 API자동 문서화 도구 중에 Spring Framework와 관련된 툴에 관해실제로 사용한 경험이 없기 때문에각각의 대표적인 Swagger 와 Spring REST Doc에 관련해서 해당 툴/프레임워크에 대한 내용과 적용방법을 여럿 찾아서정리를 했다. 관련 부분은 Postman이나 HTML로 굳이 수동으로 하나하나 적었던 개발단계에서의 API 문서가 아닌,실제 협업을 위한 문서화에 적극적으로 활용이 되는 것 만큼적어도 어떻게 작동이 되고 어떻게 어느 시점에 사용이 되는지를 알아둘 필요가 있어선 정리를 했다.Swagger자동으로 RESTful API 설계, 문서화, 테스트 등 관리를 할 수 있도록 하는 오픈 소스 Framework자동으로 API 상세 명세 문서화Jav.. 2024. 10. 14. (24.08.07)[17주차] Spring Batch와 스케쥴링 - 활용 및 정리 (24.08.06)[17주차] Spring Batch와 스케쥴링 이전의 글에서 Spring Batch의 정의와 구성 요소 및 기능, 그리고 Quartz를 사용해서 어떻게 작동시킬 수 있을 지에 대한 내용을 정리를 했다. 하지만, 최신버전의 Spring Boot 에 따라 기존의 Spring Batch에서 많이 사용하는 Factory들이 Deprecated 됨에 따라서 패턴이 달라졌기 때문에, 최신버전의 Spring Batch 5 기준으로 코드를 직접 작성하고, 이를 분석하면서 활용에 대비하도록 한다. Spring Batch 기본 활용환경 설정Gradle Dependency 추가implementation 'org.springframework.boot:spring-boot-starter-batch'(Appl.. 2024. 8. 7. (24.08.06)[17주차] Spring Batch와 스케쥴링 프로젝트에서 특정 시간마다 코드 챌린지의 순위의 갱신, 그리고 Top 검색어의 30분마다의 갱신의 주기적인 작업이 필요했다. 이로써 본인의 로직은 아니지만, 담당 팀원의 구현으로 Spring Batch 의 스케쥴 기능을 사용함으로 일련의 기능들이 구현을 완성했고, 대용량 데이터 처리에 관련해서 SpringBatch를 사용 하면서 참고할 시간이 없었기에 관련되어 학습하고 정리를 하려고 한다.Spring Batch대량의 데이터를 처리하기 위한 FrameworkSpring Framework 기반의 서브 프로젝트로깅, 트랜잭션 관리, 리소스 관리 기반으로 대규모 데이터를 일괄적으로 반복 처리, 데이터 변환 및 집계, 배치 작업, 주기적인 처리를 안정적으로 자동화 작업 시행복잡한 대용량 및 고성능 일괄 작업을 효.. 2024. 8. 6. (24.07.24)[15주차] Spring Data JPA Tuple 객체의 사용 JPQL을 통한 JPA를 쿼리 언어를 사용하면서 여러 테이블을 조인을 하다가 보면은 다양한 컬럼들의 값들을 골라서 사용을 하고 싶을 때가 있다. 즉 게시글 테이블에는 작성자 User의 ID만이 저장되어있지만, User 테이블과 JOIN을 해서 User 테이블에서 사용자ID가 아닌 이름이나 기타 정보를 가지고 있는 컬럼들을 골라서 가지고 올 수 있어 프로젝트에 있어서 조회 부분에 능동적으로 사용하기 위해서 Tuple 객체의 사용을 정리 Tuple 객체JPQL은 SQL 처럼 Table 이 아닌 Entity(객체) 기준으로 작성하는 쿼리문으로 @Query Annotation을 사용해서 해당 쿼리를 컴파일시 체크를 할 수 있도록 할 수 있음따라서, 이러한 JPQL은 실제 SQL처럼 JOIN 문을 통해서 여러.. 2024. 7. 24. 이전 1 2 3 4 5 6 다음