@hongo
홍고 블로그

순방향 프록시(Forward Proxy)와 역방향 프록시(Reverse Proxy)

August 26, 2023

Nginx 로드밸런싱 설정을 하면서 proxy_pass라는 것을 알게 되었다. 서버에 요청이 들어올 때, 요청을 받은 서버가 처리하지 않고 다른 서버에게 위임할 수 있는 방식이라고 이해했다. 로드밸런싱외에 프록시 서버를 사용해서 어떤 이점을 얻을 수 있는지 궁금해졌다. 프록시에 대해 공부하면서 프록시 서버가 순방향 프록시와 역방향 프록시로 나뉜다는 것을 …


@ControllerAdvice 정복하기

April 20, 2023

@ControllerAdvice 정복하기 @ExceptionHandler를 사용한 예외 처리 에서 발생한 예외를 를 사용해 처리 메소드가 호출되면 어떻게 될까? 이 발생하고, 이 예외에 대한 처리를 메소드가 수행한다. 위 코드와 같이 클래스에 가 붙여진 메소드를 사용해서 클래스내에서 발생한 예외를 처리할 수 있다. 컨트롤러에서 발생한 예외를 전역 처리하고…


@Configuration을 알아보자

April 20, 2023

<<<<<<< HEAD 어노테이션을 사용해서 빈을 생성하는 방법은 크게 두 가지가 있다. 과 을 사용해 빈 설정 정보 클래스 생성 (하나 이상의 빈을 한 클래스에서 설정할 수 있다) 와 이를 상속한 , 어노테이션등을 사용해 자바 컴포넌트 생성 (하나의 클래스를 빈으로 등록한다) 오늘은 첫 번째 방법인 을 알아보자. 07895a0a94a4bb85f53d3…


테스트용 프로퍼티 파일 생성하기

April 16, 2023

테스트용 프로퍼티 파일 생성하기 에 파일이 있다. 이 프로퍼티 파일은 개발용 어플리케이션에 대한 프로퍼티 설정을 수행한다. 그러나 테스트용으로 프로퍼티 파일을 따로 적용하고 싶다면 어떻게 해야 할까? 만약 개발용에서 사용하는 데이터베이스 테이블과 테스트용에서는 사용되는 데이터베이스 테이블이 다르다면 프로덕션 코드와 테스트 코드는 각각 다른 프로퍼티 파…


체스 게임 - 커맨드 구현 일지

March 26, 2023

체스 게임 이번주는 체스 게임 미션을 하는데 보냈다. 체스 게임에는 세 가지의 명령어가 존재한다. 명령어는 콘솔에서 으로 입력받는다. 입력받은 명령어에 대응하는 동작을 실행시키기 위해선 어떻게 해야할까? 📌 if문을 사용해 커맨드에 따른 로직 실행 가장 먼저 떠오르는 방법은 을 통해 입력받은 명령어가 어떤 명령어인지를 판단하고, 그에 맞는 로직을 실행…


Comparator 야무지게 사용해보기

March 19, 2023

Comparable & Comparator 이전에 Java - TreeSet과 Comparable&Comparator에서 과 의 사용 방법에 대해 간략하게 알아보았다. 이번 포스팅에서 을 활용 방법을 더 알아보도록 하자. 📌 Money를 큰 순으로 정렬 임의로 생성한 클래스가 있다고 가정하자. 를 정렬하고 싶다면 어떻게 해야 할까? 과 를 사용해볼 …


instanceof를 지양하라?

March 12, 2023

하위 객체의 타입을 알기위해 instance 사용 블랙잭 미션을 하면서 게임에 참여하는 유저들을 나타내는 추상 클래스를 만들고 이를 상속한 와 클래스를 생성했다. 의 일급컬렉션이 에서 인 들만 리스트로 가져오기위해 아래와 같이 메소드를 작성했다. 를 사용해 특정 타입의 객체를 필터링을 했다. instanceof 사용을 지양하라? 위 코드에 리뷰어님이…


Stream으로 야무지게 collect하기

March 05, 2023

Stream으로 야무지게 collect해야지~ 사다리 게임을 함께 했던 페어 에밀이 stream으로 collect를 참 잘해서 많이 배웠다...! 배운걸 정리할겸 블로그에도 올려보려고 한다.ㅎㅎ 의 메소드를 사용하면 연산 결과를 List나 Set등 Collection으로 묶어 반환할 수 있다. 을 사용해서 객체를 야무지게 모아보자! 📌 toList() &…



TDD해본 후기

February 25, 2023

TDD란? 테스트를 먼저 작성하면서 리팩토링을 진행하는 방법 우테코의 두 번째 미션은 사다리 게임을 구현하는 것이었다. 이번 미션에는 특별한 요구사항이 있었는데 바로 방식으로 구현을 하는 것이었다. 인생 처음으로 를 해보았는데 테스트 코드를 먼저 작성하고 그 다음에 프로덕션 코드를 작성하는 것이 너무 어려웠다. 😭 그래도 직접 를 해보면서 를 왜 해야하…