Bank-End Chronicles

「Memory gets GC’d, but this blog stays committed.」

배포하기 - Heroku

Heroku 입문

Heroku 사용하기 1. Heroku에서 앱 생성 2. API key 설정 account setting 에서 API key를 복사해서 github repository의 Settings > Secrets > Actions secrts > New secret > Name : HEROKU_DEPOLY_KEY Value...

Oracle - index, explain plan

성능 개선을 위해 튜닝을 하며

최근 속도 개선 이슈 튜너와 상의 후 몇 가지 쿼리의 explain plan을 확인하고 인덱스를 추가할 일이 있었다. 비교적 많은 테이블들을 join해야하는 조회 서비스에서 table full search가 발생하고 있었기 때문이다. INDEX 오라클의 인덱스 종류는 4가지 이다. B-TREE INDEX (가장 일반적) BIT...

Spring - application.yml

application.yml

application.yml 유용한 설정 모음 1. debug: false 디버그 로그를 찍을 건지 여부를 선택 true 이면 spirng boot의 디버깅 로그를 다같이 볼 수 있음 false 이면 logback만 확인 가능 2. manage.endpoints.web.exposure.include: “*” Spring b...

Docker - docker-compose.yml

docker-compose.yml

docker-compose.yml Docker Compose는 docekr-compose.yml파일에 생성할 컨테이너들을 정의한다. 위치: app 디렉토리 아래에 docerk-compose.yml 파일 저장 내용 : mysql 컨테이너 생성 1 2 3 4 5 6 7 8 9 10 11 12 13 version: '3.8' service...

Spring - lib config

ModelMapper, abstractController 등

ModelMapper 객체 매핑 라이브러리다. 서로 다른 클래스의 값을 한 번에 복사하게 도와주는 라이브러리다. 어떤 Object에 있는 필드 값들을 자동으로 원하는 Object에 매핑시켜준다. 클래스 내부에 있는 변수들의 이름을 분석하여 자동 매핑시켜주는 방식 매핑해줄 클래스에는 setter가 있어야 하고 매핑이 되는 클래스에서...

4월 22일 (토)

프로젝트 회고

라인뱅크 재팬 프로젝트 회고 2023/03/30 일자로 갑자기 끝나버린 프로젝트에 대한 회고다. 프로젝트에서 어떤 일을 했는가? 여신 연체, 상환 관련 서비스 개발 아래 서비스들의 코드를 작성하고 리팩토링 및 버그 픽스함 약정상환 캐치업 연체 회수 캐치업 기한이익상실 임의등록 연체 등록 ...

Gof Design Pattern - 템플릿 콜백

토비의 스프링을 읽고

탬플릿/콜백 복잡하지만 바뀌지 않는 일정한 패턴을 갖는 작업흐름이 존재하고 그 중 일부분만 자주 바꿔서 사용해야 하는 경우에 적합한 구조. 전략 패턴의 기본 구조에 익명 내부 클래스를 활용한 방식 전략 패턴의 컨텍스트를 템플릿이라 부르고, 익명 내부 클래스로 만들어지는 오브젝트를 콜백이라고 부른다. 템플릿 고정된 틀 안에 바꿀...

알고리즘 - 재귀

recursive

recursive 재귀적 접근법 부분문제(subproblem)에 대한 해법을 통해 완성된다. 단순히 f(n-1)에 대한 해답에 무언가를 더하거나, 제거하거나, 그 해답을 변경하여 f(n)을 계산해낸다. 데이터를 반으로 나눠 각각에 대해서 문제를 푼 뒤 이 둘을 merge하기도 한다. 접근법 상향식 접근법 우선 간단한 경우들에...

Java - 함수형 인터페이스

코드 리뷰로부터 얻은 값진 수확

오늘 코드 리뷰 시간에 함수형 인터페이스 사용을 배웠다. 코드를 줄일 수 있는 새로운 방법을 배웠다! 근본적 질문 왜 함수형 프로그래밍이 주목받는가? 2000년대 초반까지는 CPU의 클럭 증가, 실행시간 최적화, cache 크기 증가를 통해 소프트웨어의 싱글 프로게스, 싱글 스레드의 속도가 증가했다. 그러나 전력 소모 및 발열 문제 등...

배경지식 쌓기 - 무중단배포

DevOps

무중단 배포 서비스를 중단하지 않고 배포하는 것 무중단 배포의 핵심은 로드밸런서(Load Balancer)를 통해 연결된 두 개 이상의 (서로 다른 IP, 포트를 가진) 인스턴스에 트래픽을 제어해 배포하는 것이다. v1서비스가 실행중일 때, v2 서비스를 시작하려면 v1서비스가 중단되는 다운타임이 생기고 나서 v2를 실행할...