일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 자바
- 객체지향
- 잉여현금흐름
- 주식
- S&P500
- XLF
- mco
- 제태크
- 미국주식
- javascript
- 금리인하
- 기업분석
- 백준
- 그리디 알고리즘
- 다형성
- 주린이
- object
- 배당성장
- 현금흐름표
- 인플레이션
- 오버라이딩
- 프로그래머스
- FCF
- 금리인상
- StringBuffer
- 접근제어자
- etf
- 무디스
- 알고리즘
- Java
- Today
- Total
목록전체 글 (211)
오늘의하루
"Controller에서는 DTO로 요청 정보를 받는 게 좋다."라는 말을 개발 공부를 시작했을 무렵 접하게 되었습니다.하지만 이유를 정확히 알지 못한 상태에서 사용해 오다가 이번에 JPA 공부를 하면서 그 의미를 더 깊이 이해하게 되었습니다. 해당 글에서는 Entity 대신 DTO를 사용해야 하는 이유를 정리했습니다.Entity와 DTO란 무엇일까?JPA와 같은 ORM(Object Relational Mapping) 기술을 사용할 때 Entity란 DB 테이블과 1:1로 매핑되는 클래스를 의미하며 각 필드는 테이블의 컬럼과 연결되어 애플리케이션에서 DB와 상호작용하는 도메인 모델의 역할을 합니다.DTO(Data Transfer Object)는 데이터 전송을 위한 전용 객체로써 주로 API 요청과 응답 ..
BeanPostProcessor는 Spring에서 빈이 등록되기 전 빈을 조작할 수 있는 강력한 기능입니다.빈 초기화 과정에서 BeanPostProcessor의 역할을 알아보고 @PostConstruct와의 실행 순서 차이에 따른 충돌 가능성을 알아보겠습니다.Bean이 등록되는 과정Spring Container가 빈을 등록할 때 간단하게 아래와 같은 순서로 진행됩니다.빈 정의 등록 - 빈 메타데이터를 등록합니다.빈 인스턴스 생성 - 빈 객체를 생성합니다. 의존성 주입 - 의존성을 주입합니다.빈 초기화 - 초기화 메소드를 호출합니다. 빈 등록 - 컨테이너에 등록합니다.BeanPostProcessor를 사용하면 빈 초기화 전후 단계에서 빈을 조작할 수 있습니다.※ BeanPostProcessor는 가장 우선..
문제 발견레거시 프로젝트의 유지 보수를 맡게 되면서 모든 화면에서 로딩 시 약 170개의 쿼리가 실행되며 그중 약 60~70개의 변하지 않는 데이터를 반환하는 쿼리가 실행되고 있는 것을 확인했습니다.이로 인해 화면 로딩 시간이 길어지는 문제을 발견해서 처음에는 Redis를 도입하여 성능을 개선하려고 했으나 서버 확장이 불가능하다는 결론이 내려졌습니다.그래서 AOP를 이용한 인메모리 캐싱을 도입하기로 했고 메서드명과 매개변수를 조합하여 키를 생성하고 그에 따른 결과를 캐싱하는 방식으로 구현할 예정입니다.이 과정에서 동시성 문제를 해결해야 했고 synchronized, ReentrantLock, ReentrantReadWriteLock과 같은 다양한 동기화 방법에 대해 깊이 알아보았습니다.1. Synchro..