post-thumbnail

다중 DB 사용시 오류와 @Primary

이번에 하는 관리자 프로젝트를 새로 만들어서 초기 설정 중 오류가 발생했다.관리자 프로젝트의 경우 두개의 AWS RDS DB를 사용한다. 1\. 관리자용 DB2\. 서비스 DB하지만 이 DB를 사용하면서 예기치 않은 해당 오류를 맞이하였다.java.lang. Illeg

2023년 8월 28일
·
0개의 댓글
·
post-thumbnail

HttpMessageNotReadableException: JSON parse error와 boolean/Boolean 타입

프론트와의 데이터를 주고 받는 API를 구현하는 중 다음과 같은 에러를 발견했다.문제의 원인은 간단한 곳에 있었다.프론트에서는 Map<String, List<FrFoodCreateDTO>>의 형태로 보내주고 있는데 받는 곳에서는 List<FrFoodCr

2023년 7월 25일
·
1개의 댓글
·
post-thumbnail

스프링 3.0 버전과 Querydsl 오류

기존의 코드를 리팩토링하기 위해 새로운 프로젝트를 만들며 기존의 스프링 버전에서 최신 스프링 버전 3.1.0으로 업데이트하며 Querydsl 관련된 설정 오류를 맞이하였다.Querydsl 설정 문제로 보인다.스프링 3.x에서는 Querydsl 설정이 기존에 사용했던 2

2023년 6월 14일
·
0개의 댓글
·
post-thumbnail

[강의] 김영한님의 스프링 DB 1편 - 데이터 접근 핵심 원리

강의 : 스프링 DB 1편 - 데이터 접근 핵심 원리 코드 : Github DB 1편 코드 JDBC JDBC 등장 이유 > 개발할 때 중요한 데이터는 대부분 DB에 보관한다. 클라이언트가 애플리케이션 서버를 통해 데이터를 저장하거나 조회하면, 애플리케이션 서버는

2023년 6월 11일
·
0개의 댓글
·
post-thumbnail

RestTemplate을 통한 API 호출

이번주 간편 로그인을 구현하는데에 로그인한 유저의 정보와 유저가 체크한 약관 동의를 저장하는 데에 애를 먹었다. 그에 따른 문제 해결 과정을 적을 예정이다. 문제 상황 간편 로그인 처리 과정을 나열하자면 이렇다. 유저 간편 로그인 유저의 약관 동의 소셜 API에서

2023년 6월 3일
·
0개의 댓글
·
post-thumbnail

[강의] 김영한님의 실전! Querydsl

강의 : 실전! Querydsl 코드 : Github Querydsl 강의 코드 Querydsl 환경설정과 검증 build.gradle 환경설정 검증 검증용 엔티티 생성 검증용 Q 타입 생성 Gradle IntelliJ 사용법 Gradle Tasks buil

2023년 5월 24일
·
0개의 댓글
·
post-thumbnail

[강의] 김영한님의 스프링 핵심 원리 - 고급편 (실전 + 주의사항)

강의 : 스프링 핵심 원리 - 고급편코드 : 스프링 핵심 원리 - 고급편 (코드)@Trace 애노테이션으로 로그 출력하기@Retry 애노테이션으로 예외 발생시 재시도 하기5번에 1번 실패하는 저장소@Trace가 메서드에 붙어 있으면 호출 정보가 출력되는 편리한 기능@a

2023년 5월 21일
·
0개의 댓글
·
post-thumbnail

[강의] 김영한님의 스프링 핵심 원리 - 고급편 (스프링 AOP)

강의 : (스프링 핵심 원리 - 고급편)https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-%ED%95%B5%EC%8B%AC-%EC%9B%90%EB%A6%AC-%EA%B3%A0%EA%B8%89%ED%8E%

2023년 5월 14일
·
0개의 댓글
·
post-thumbnail

[강의] 김영한님의 스프링 핵심 원리 - 고급편 (스프링이 지원하는 프록시, 빈 후 처리기)

이전 문제점 인터페이스가 있는 경우에는 JDK 동적 프록시를 적용하고, 그렇지 않은 경우에는 CGLIB를 적용 두 기술을 함께 사용할 때 부가 기능을 제공하기 위해 JDK 동적 프록시가 제공하는 InvocationHandler 와 CGLIB가 제공하는 MethodInt

2023년 5월 14일
·
0개의 댓글
·
post-thumbnail

[강의] 김영한님의 스프링 핵심 원리 - 고급편 (프록시 패턴과 동적 프록시)

출처 : 스프링 핵심 원리 - 고급편 코드 : Github - 고급편 > v1 - 인터페이스와 구현 클래스 - 스프링 빈으로 수동 등록 v2 - 인터페이스 없는 구체 클래스 - 스프링 빈으로 수동 등록 v3 - 컴포넌트 스캔으로 스프링 빈 자동 등록 V1 Orde

2023년 5월 13일
·
0개의 댓글
·
post-thumbnail

[강의] 김영한님의 스프링 핵심 원리 - 고급편 (로그 추적기와 디자인 패턴)

코드 : 로그 추적기강의 : 스프링 핵심 원리 - 고급편요구사항 : 어디서 병목이 발생하고, 예외가 발생하는지 확인할 수 있는 로그 추적기를 만들자모든 PUBLIC 메서드의 호출과 응답 정보를 로그로 출력애플리케이션의 흐름을 변경하면 안됨메서드 호출에 걸린 시간정상 흐

2023년 5월 11일
·
0개의 댓글
·
post-thumbnail

데이터베이스 커넥션 풀과 HikariCP

우리가 개발하는 WAS와 DB는 서로 다른 시스템이다. 따라서 DB 드라이버를 사용하여 DB에 연결해야 한다.DB 드라이버를 사용하여 DB 연결 열기데이터를 읽고 쓰기 위해 TCP 소켓 열기TCP 소켓을 사용하여 데이터 통신DB 연결 닫기TCP 소켓 닫기사용자로부터 요

2023년 4월 7일
·
0개의 댓글
·
post-thumbnail

가비지 컬렉션(GC)

대부분의 객체가 접근 불가능한 상태(Unreachable)가 된다.오래된 객체에서 새로운 객체로의 참조는 아주 적게 존재한다.새롭게 생성된 객체가 할당(Allocation)되는 영역대부분의 객체가 금방 Unreachable 상태가 되기 때문에, 많은 객체가 Young

2023년 4월 2일
·
0개의 댓글
·
post-thumbnail

[강의] 김영한님의 스프링 MVC 2편 - 백엔드 웹 개발 활용 기술 정리 - 예외 처리

강의 : 스프링 MVC 2편 - 백엔드 웹 개발 활용 기술코드 : study-mvc2-code.github스프링이 아닌 순수 서블릿 컨테이너는 예외를 어떻게 처리하는지 알아보자.서블릿은 다음 2가지 방식으로 예외 처리를 지원한다.Exception (예외)response

2023년 3월 12일
·
0개의 댓글
·
post-thumbnail

JPQL과 @Param 어노테이션 그리고 Gradle과 IntelliJ 빌드 방식

나한테는 잘 동작하지만 remote에서 fork 받은 다른 사용자한테는 안되는 코드가 있다?!오류 내용은 다음과 같았다.JPQL 사용시 파라미터 바인딩에서 나는 에러였다.해결은 생각보다 간단했다. JPQL을 사용할 때 내가 파라미터에 스프링 데이터가 제공하는 @Para

2023년 3월 8일
·
0개의 댓글
·
post-thumbnail

JPA GroupBy 처리

DB에 있는 데이터를 복잡한 쿼리로 조회하고 결과 데이터를 또 다시 필요한 필드만으로 DTO로 바꾸는 과정을 깔끔하게 하는 방법이 어떤게 있을까?Database에 Sales에 대한 Table이 있다고 가정할 때 만들고자 하는 DTO는 다음과 같습니다.(필드는 DB의 애

2023년 3월 1일
·
0개의 댓글
·
post-thumbnail

[강의] 김영한님의 스프링 MVC 2편 - 백엔드 웹 개발 활용 기술 정리 - 로그인 처리

출처 : 스프링 MVC 2편 - 백엔드 웹 개발 활용 기술 로그인 처리 > 로그인이 되면 홈 화면에 고객 이름이 보여야 한다는 요구사항이 있을 때에 어떻게 로그인의 상태를 유지하면서, 쿼리 파라미터를 계속 유지하면서 보내는 번거로운 작업 없이 로그인에 성공한 사용자

2023년 2월 26일
·
0개의 댓글
·
post-thumbnail

TDD와 JUnit, AssertJ

문제 해결 방법으로 TDD와 DDD를 자주 보았다. 그 중 TDD는 어떤 특징을 가지고 있으며, 현재 내가 쓰는 방식과의 차이와 개선점을 찾아보려고 한다. TDD > TDD (Test Driven Development) : 테스트 주도 개발 테스트 주도 개발은 매

2023년 2월 25일
·
0개의 댓글
·
post-thumbnail

[강의] 김영한님의 스프링 MVC 2편 - 백엔드 웹 개발 활용 기술 정리 - Validation

컨트롤러의 중요한 역할 중 하나는 HTTP 요청이 정상인지 검증하는 것 참고 : 클라이언트 검증, 서버 검증 클라이언트 검증은 조작할 수 있으므로 보안에 취약 서버만으로 검증하면, 즉각적인 고객 사용성이 부족해진다. 둘을 적절히 섞어서 사용하되, 최종적으로 서버 검증

2023년 2월 22일
·
0개의 댓글
·
post-thumbnail

쿠키와 세션, JWT

메시지 > 상품명이라는 단어를 모두 상품이름으로 고쳐달라고 하면 어떻게 해야할까? > 현재의 코드는 작으니 수동으로 해도 좋지만 사이즈가 커지면 수 백개의 변경이 필요하다. >

2023년 2월 18일
·
0개의 댓글
·