Redis Test Code를 위한 Redis Test Container 사용법
·
Spring/Java
🔥 문제상황Redis Cache 적용 후 테스트를 돌릴 때 redis에 접속할 수 없다는 로그 출력.org.springframework.data.redis.RedisConnectionFailureException: Unable to connect to Redis...개발, 배포 서버에서는 docker를 사용해 redis container를 올려 사용중이지만 테스트도 해당 container를 필요로합니다. 하지만 pr 리뷰를 해주는 sonarcloud같은 툴을 사용하면 다른 환경에서 테스트를 실행하게 되는데 이런 환경에서는 직접 test container를 올릴 수 없으니 환경에 독립적으로 테스트를 수행할 수 있어야합니다. 👀 해결방법embedded redis 사용test container 구현embe..
데이터베이스 선택 가이드 (유튜브 내용 정리)
·
DB
https://www.youtube.com/watch?v=ZVuHZ2Fjkl4👀 DB 종류key - valuekey : value 형식으로 데이터를 저장간단한 형식 때문에 서브 DB로 많이 사용Redis는 Ram에 데이터를 저장하여 읽기, 쓰기 속도가 빠름그래서 메인DB에 데이터를 저장 후 자주 사용되는 데이터는 Redis에 복사하여 사용 가능자주쓰는 데이터 캐싱, 채팅을 위한 pub, 영상 스트리밍, 로그인 기록저장 등 사용Relation DB관계형 데이터베이스데이터를 표 형태로 저장할 때 사용테이블을 사용하여 데이터를 저장데이터를 관리할 때 SQL을 사용데이터 중복을 없애기 위해 정규화를 사용정규화 때문에 입출력 SQL이 복잡해질 수 있음ACID Transaction 기능을 사용해 돈 거래 같은 중..
[Level 2] 숫자 변환하기 (BFS)
·
ETC/PS
https://school.programmers.co.kr/learn/courses/30/lessons/154538 👀 핵심개념문제는 x에서 y로가는 연산의 최소 횟수를 구하는 문제이니 너비우선탐색(BFS)를 적용해서 구할 수 있습니다. 그리고 특정 숫자에서 해당 연산을 진행했는지 여부까지 확인해주면 됩니다.깊이 우선탐색(DFS)도 좋은 문제를 찾으면 포스팅 진행 예정입니다. 🎈 코드class Solution { public int solution(int x, int y, int n) { int answer = 0; // 정답을 저장할 변수, 몇 번의 연산을 통해 y에 도달하는지 계산 Queue queue = new LinkedList(); // BFS 탐색을 위한 큐 Set set..
[Spring] Supplier를 사용한 람다식 간략화
·
Spring/Java
🔥문제상황repo.findById 같은 메서드를 사용할 떄 Optional를 사용하여 데이터가 없을 시 예외처리를 하는 방법을 자주 사용합니다.return userRepository.findById(id).orElseThrow(() -> new CustomException(ErrorCode.NOT_FOUND));그리고 예외 코드 중 중복되는 경우가 많으니 ErrorCode와 같은 Enum 클래스를 구현하여 예외처리에 필요한 메세지들을 모아두었습니다. 그리고 실제 코드를 작성하다보면 위와 같이 람다식을 자주 사용하게 되는데 매개변수가 없는 람다식이 그렇게 좋아 보이진 않았습니다.👀 해결방법 public T orElseThrow(Supplier exceptionSupplier) throws X { ..
[Spring] build 배너를 내 맘대로 바꿔보자!!!!
·
ETC
🔥 소개개발을 하다 보면 무수히 많은 빌드 과정을 거칩니다. 한창 설계, 기능개발, 안정화 과정을 거칠 때는 바빠서 신경을 쓰지 못하지만 프로젝트 생성, 개발 완료 후 성능 개선 때는 조금 여유가 생기기 때문에 Spring배너가 눈에 들어왔습니다.하지만 프로젝트에 조금 더 애정을 담기 위해 배너를 커스텀하기로 결정했습니다.👀 배너 변경먼저 어떤 글자를 어떤 스타일로 만들지 정해야합니다. 스타일을 정하기 위해 저는 사이트의 도움을 받았습니다.https://patorjk.com/software/taag/#p=display&f=Graffiti&t=Type%20Something%20해당 사이트에서 원하는 글자와 스타일을 선택 후 main/resources 위치에 banner.txt 파일을 생성해줍니다.✨ba..
[Level 1] 명예의 전당 (1)
·
ETC/PS
https://school.programmers.co.kr/learn/courses/30/lessons/138477 명예의 전당(1) 👀 핵심 개념추가되는 값의 우선순위를 계속 정해줘야합니다. score에서 값이 추가됨에 따라 명예의 전당 순위가 바뀌고 여기서 마지막 순위가 발표점수에 추가됩니다. 그래서 정렬 메서드를 계속 사용해서 순위를 정할 수 있지만 PriorityQueue를 사용하면 더 편하게 우선순위를 관리할 수 있습니다.PriorityQueue란?일반적인 큐와 달리 삽입 순서와 상관없이 우선순위가 높은 데이터가 먼저 나가는 자료구조 PriorityQueue 사용 방법일반적인 큐와 메서드는 똑같다// 기본형: 우선순위가 낮은 숫자가 먼저 나옴 (작은 숫자)PriorityQueue pQ = ne..
java곰
'분류 전체보기' 카테고리의 글 목록 (3 Page)