일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- javascript
- 무디스
- mco
- 자바
- S&P500
- 잉여현금흐름
- 백준
- 프로그래머스
- 오버라이딩
- 현금흐름표
- 주린이
- 접근제어자
- 주식
- 금리인상
- 기업분석
- 인플레이션
- FCF
- XLF
- 미국주식
- 금리인하
- StringBuffer
- 알고리즘
- 객체지향
- 그리디 알고리즘
- 다형성
- 배당성장
- etf
- Java
- object
- 제태크
- Today
- Total
목록전체 글 (209)
오늘의하루
문제 발견레거시 프로젝트의 유지 보수를 맡게 되면서 모든 화면에서 로딩 시 약 170개의 쿼리가 실행되며 그중 약 60~70개의 변하지 않는 데이터를 반환하는 쿼리가 실행되고 있는 것을 확인했습니다.이로 인해 화면 로딩 시간이 길어지는 문제을 발견해서 처음에는 Redis를 도입하여 성능을 개선하려고 했으나 서버 확장이 불가능하다는 결론이 내려졌습니다.그래서 AOP를 이용한 인메모리 캐싱을 도입하기로 했고 메서드명과 매개변수를 조합하여 키를 생성하고 그에 따른 결과를 캐싱하는 방식으로 구현할 예정입니다.이 과정에서 동시성 문제를 해결해야 했고 synchronized, ReentrantLock, ReentrantReadWriteLock과 같은 다양한 동기화 방법에 대해 깊이 알아보았습니다.1. Synchro..
1) 문제발견프로젝트에서 각 화면 별 Controller가 JSP를 호출할 때, Model에 로직 수행 후 결과를 담으며 다른 Controller에서는 매개변수가 있을때 그 매개변수에 세팅을 해줘야 하는 구조로 설계되었습니다. 총 100개 이상의 화면이 존재하는 상황에서 프로젝트 완료 시점에 Controller의 매개변수가 수정되는 문제가 발생했습니다. 이로 인해 각 Controller에서 매개변수를 개별적으로 수정해야 하는 비효율이 생겼고 이는 코드의 일관성과 유지 보수에 큰 부담이 되었습니다.2) 해결이 문제를 해결하기 위해 AOP(Aspect-Oriented Programming)를 도입했습니다. AOP를 통해 매개변수 관리 로직을 중앙 집중화하여 코드의 가독성과 유지 보수성을 극대화했습니다. 구체..
프로젝트 중 각 화면에 개별적으로 구현된 공통 기능들을 Footer와 같은 방식으로 항상 화면에 표시되도록 통합하고 디자인팀과 협력해 시각적인 디자인을 다듬어서 사용자 경험을 개선했으며 이를 통해 유지 보수성을 향상시켰습니다.1) 배경프로젝트에서 여러 화면에 공통된 기능이 있었으나 이를 개별적으로 구현한 방식은 사용자 편의성과 유지보수성에서 부족함이 있었습니다.이 문제에 대해 회의를 통해 공통 기능을 하나의 인터페이스로 통합하고 사용자에게 언제든지 접근할 수 있는 형태로 구현하도록 하였으며 해당 작업을 담당하게 되었습니다.2) 해결 방법 도출먼저 네이버의 오른쪽 하단에 위치한 스크롤 버튼 및 설정 버튼에서 영감을 얻어 공통 기능을 한 곳에 모아 사용자 편의성을 높이고자 했습니다.처음에는 버튼을 일렬로 배..