본문 바로가기

분류 전체보기231

SpringBoot Cloud - MSA & Eureka & FeignClient(OpenFeign) & CircuitBreaker(Hystrix & Resilience4J) 차례대로 알아보기 시리즈 (4-2) - CircuitBreaker 설정방법 들어가며 지난 시간에는 CircuitBreaker 개념에 대해서 알아보았고 이번 시간에는 설정 방법과 테스트에 대해 정리한다. 시리즈 1 - MSA https://sjparkk-dev1og.tistory.com/151 MSA & Eureka & FeignClient(OpenFeign) & CircuitBreaker(Hystrix & Resilience4J) 차례대로 알아보기 시리즈 (1) - MSA(Mi 들어가며 이 글은 제목에서도 알 수 있듯이 MSA & Eureka & FeignClient(OpenFeign) & CircuitBreaker(Hystrix & Resilience4J) 순으로 개념과 설정방법 그리고 테스트 등의 결과와 해당 기술들을 테스트하며 겪었.. sjparkk-dev1og.tist.. 2022. 7. 7.
자바 ORM 표준 JPA 프로그래밍 - JPA 정리하기 (1) JPA 소개 들어가며 현업에서 JPA를 사용하고 있지만 항상 기본기가 중요하다는 생각하에 JPA에 교과서라고 불리는 김영한님의 자바 ORM 표준 JPA 프로그래밍을 읽으며 해당 내용을 정리하기로 했다. 현재 회사에서 나와 비슷한 연차인 동료와 함께 스터티 요일을 정해서 스터디할 분량을 정한 후에 각자 공부한 내용을 정리하여 설명하기로 하고 퇴근 후 스터디를 하기로 정했다. 이때 정리한 내용을 남겨둔다. 1장 1.1 SQL을 직접 다룰 때 발생하는 문제점 - 데이버베이스는 객체 구조와는 다른 데이터 중심의 구조를 가지므로 객체를 데이터베이스에 직접 저장하거나 조회할 수 없다. 따라서 개발자가 객체지향 애플리케이션과 데이터베이스 중간에서 SQL과 JDBC API를 사용해서 변환 작업을 직접해줘야 함 --> 여기서 문제는.. 2022. 7. 3.
Kotlin - 코틀린의 동일성과 동등성 비교 (Java와 차이점) 들어가며 비교해야될 대상의 값이 같은지 아니면 주소값이 같은지를 비교해야될때 동등성 연산자 또는 동일성 연산자를 사용한다. 처음에 코틀린을 접했을 때 이미 자바로 해오다가 코틀린을 접했던 터라 자연스럽게 자바에서 사용하던 방식으로 하게되었는데 차이가 있어 정리하게 되었다. 먼저 자바와 코틀린의 차이를 알아보기 전에 동일성과 동등성의 개념을 먼저 알아보자 동일성과 동등성 말만 들으면 비슷해보이지만 뜻은 다르다. 먼저 동일성이란, 두 개의 객체가 완전히 같은 경우를 의미한다. 동등성이란, 두 개의 객체가 같은 정보를 갖고 있는 경우를 의미한다. 객체가 들고 있는 값을 비교를 하기 위해서는 동등성 비교를 하고, 객체 자체를 비교하기 위해서는 동일성 비교를 하면 된다. 자바에서의 동등성 비교와 동일성 비교 자바.. 2022. 7. 3.
@JsonIgnore 사용시 발생한 문제점과 @JsonProperty를 이용한 해결 방법 정리 들어가며 이번 글을 제목에 나와 있는 그대로 @JsonIgnore 사용시 발생한 문제점과 @JsonProperty를 이용한 해결 방법 정리를 해보려고 한다. 상황은 이러했다. Response dto 객체를 만들던 도중 하나의 필드가 프론트쪽 응답에는 전달되면 안되고 로직 내에서는 사용이 되어야하는 케이스가 발생하였다. 기존에 알고 있던 @JsonIgnore 어노테이션을 통해 해결을 하려고 했는데 문제가 생겼다. 이때 발생한 문제점과 해결방안에 대해 정리한다. 문제 이러한 문제는 dto와 domain 객체 간의 JSON 직렬화 또는 역직렬화 상황에서 특정 필드만을 제외하고 싶은 경우에서 @JsonIgnore를 사용하게 되면 해당 필드는 제외가 되긴한다. 하지만 내가 원하는 상황은 응답으로만 전달되지 않고 .. 2022. 6. 29.
SpringBoot - LogBack 관련 개념 및 설정 방법 (1) 스프링부트를 이용한 프로젝트에서 컴파일을 돌리다보면 아주 친절하게 줄맞춤까지 되서 로그를 찍어주는 것을 봤을 것이다. 평소에는 당연하듯이 사용하였는데 좀 더 디테일하게 알아보고자 이 글을 정리한다. SpringBoot - LogBack 관련 개념 및 설정 방법 (1) 스프링부트에서 log에 관한 설정을 따로 하지 않았는데도 나오는 이유? 먼저 LogBack에 알아보기 전에 어떻게 우리가 따로 설정을 하지 않았는데도 로그가 찍히는지에 대해서 알아볼 필요가 있다. 스프링부트 프로젝트를 컴파일 돌려보면 아래와 같이 시간과 색상, 줄맞춤 등등 우리가 따로 설정하지 않았는데도 보기 좋게 콘솔창에 로그를 찍어주는 것을 봤을 것이다. 스프링부트는 기본적으로 spring-boot-starter에 logging에 구현체.. 2022. 6. 19.
Kotlin - first, last 함수 (firstOrNull & lastOrNull) 들어가며 코틀린 first, last 함수에 대해서 정리한다. first 함수 (firstOrNull) 코틀린에서의 first 함수는 컬렉션 인자 중에서 첫번째 인자를 리턴한다. 추가로 어떠한 조건을 만족하는 첫번째 인자를 리턴하는 구조도 가능하다. firstOrNull 함수는 first 함수와 동일하면서 추가로 만족하는 것이 없다면 null을 리턴하도록 설계할때 사용한다. first 함수 사용 방법 val people = listOf(Person(“Tom”, 24), Person(“dave”, 22))가 주어졌을 때 첫번째 인자 반환 people.first() 만족하는 첫번째 인자 반환 people.first{ name -> name.length 결과 Tom 만족하는 첫번째 인자 반환 o.. 2022. 6. 14.