일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Join
- Java
- 일정관리 프로젝트
- LV1
- Lv.0
- LV02
- 이것이 자바다
- 디자인 패턴
- 알고리즘
- LV03
- 데이터 베이스
- SQL
- 코테
- GIT
- mysql
- LV.02
- spring boot
- 연습문제
- LV0
- 일정관리프로젝트
- 배열
- 프로그래머스
- CoffiesVol.02
- Til
- LV01
- 포트폴리오
- S3
- docker
- JPA
- Redis
- Today
- Total
목록포폴/Coffies Vol.02 (12)
코드 저장소.

목차1.문제점2.분리를 했을시의 이점3.적용 1.문제점현재 진행이 되고 있는 프로젝트(Coffies Vol.02)에서는 현재 하나의 Redis서버를 사용해서 Session과 Cache를 사용하고 있습니다. 하지만 댓글에 리뷰평점기능을 현재 redis를 사용해서 평점을 적고 있는데 평점이 많으면 많을수록 댓글 평점을 매번 SQL을 사용해서 적으면 성능에 저하가 일어날것이라고 예상이 되어서 이를 개선하고자 합니다.2.분리를 했을시의 이점우선은 Redis를 서버와 캐시 서버로 나누면 다음과 같은 이점이 있습니다.성능 최적화분리된 자원 관리: 인증 기능과 캐시 기능이 각각 독립된 환경(docker,localhost)에서 실행됨으로써, 각 기능이 필요로 하는 리소스를 개별적으로 최적화할 수 있습니다. 이는 전체 ..

목차1. 문제점2. 해결하는 과정3.해결 후 결과 1. 문제점 기존의 Coffies 프로젝트를 하면서 회원가입시 이메일인증을 하는 기능을 만들었는데 구글이메일이 외부 api다 보니깐 인증버튼을 누르면 2~3초간 있다가 인증메일이 보내져서 속도를 좀 더 개선을 하는 방법을 보다가 @Async를 활용해서 비동기 처리를 통해서 속도를 개선하는 방법으로 하기로 했다. 2. 해결하는 과정해결하는 과정은 지극히 간단했다. 2-1.우선은 비동기 관련 클래스를 작성한다.@EnableAsync@Configurationpublic class AsyncConfig extends AsyncConfigurerSupport { public Executor getAsyncExecutor() { ThreadPool..

목차1.문제상황2.원인3.해결책 1.문제상황자유게시판에서 상세조회 페이지에서 이전글/다음글을 보여주는 기능을 만드는 중에서 repository에 만들어 놓은 쿼리에서 실행을 할 때 데이터 베이스 상에서 쿼리를 작성해서 실행을 하면 사진과 같이 정상적으로 작동이 되었지만 막상 실행을 하면 아래와 같은 에러가 발생.No converter found capable of converting from type [org.springframework.data.jpa.repository.query.AbstractJpaQuery$TupleConverter$TupleBackedMap] to type [com.example.coffies_vol_02.board.domain.dto.response.BoardNextPrevio..
목차 1. 단위 테스트 단위 테스트의 필요성 2.Mockito Mock객체는 무엇인가? Mickto + Junit5 기반의 테스트 코드 컨트롤러 계층 단위 테스트 서비스 계층 단위 테스트 리포지터리 계층 단위 테스트 1.단위 테스트 단위 테스트의 필요성 우선 단위 테스트는 응용 프로그램에서 테스트 가능한 가장 작은 소프트웨어를 실행하여 예상대로 동작하는지 확인하는 테스트를 말한다. 즉, 하나의 기능이 올바르게 동작하는지를 독립적으로 테스트하는 것을 단위 테스트를 말한다. 그러므로 단위 테스트는 테스트하고자 하는 부분만 독립적으로 테스트를 하기 때문에 해당 단위를 유지 보수 또는 리팩토링 하더라도 빠르게 문제 여부를 확인할 수 있다. 2.Mockito 1.Mock객체는 무엇인가? 우선 Mockito를 설명..
목차1. 문제 발생.2. N+1 은 무엇인가?3. 왜 N+1이 발생하는 것인가?4. N+1 의 해결책 1. 문제 발생 프로젝트를 진행을 하면서 자유게시판에서 게시글을 조회하는데 게시글과 관련된 회원조회 및 좋아요의 쿼리가 불필요하게 나오는 상황이었고 이와 같은 문제를 해결하기 위해서 Jpa의 N+1 문제를 알게 되었고 이를 해결하고자 한다. 문제가 되는 쿼리는 이러하다. id: DESCdirection:DESCprop:idorderByExpression:board.idHibernate: select board0_.id as id1_0_, board0_.created_time as created_2_0_, board0_.updated_time as update..

목차1. 프로젝트 설명2. 프로젝트 목표3. 프로젝트 기술스택4.프로젝트 아키텍처5.프로젝트 ERD 1. 프로젝트 설명Coffies Vol.02는 제가 살고 있는 동네(강북구)에 있는 카페를 보여주고 카페의 위치와 댓글과 평점을 달아서 평점이 높은 가게를 보여주는 위치기반의 프로젝트이고 myBatis로 작성된 기존의 프로젝트를 JPA로 전환하고 추가적으로 기능을 고도화한 프로젝트입니다.2. 프로젝트 목표Mybatis에서 JPA로 컨버팅하기Redis를 다양한 방식으로 활용해 보기JUnit5,Mockito를 사용해서 테스트 코드를 작성성능 테스트 및 모니터링으로 프로젝트의 신뢰성을 높이기scale-out을 고려해서 서버 구축해보기github Actions를 사용해서 CI/CD구축하기깃 커밋 컨벤션에 따른 커..