일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 개성국밥
- 오블완
- JanusGateway
- JanusWebRTCGateway
- preemption #
- 헥사고날아키텍처 #육각형아키텍처 #유스케이스
- 티스토리챌린지
- table not found
- terminal
- 코루틴 컨텍스트
- vfr video
- kotlin
- k8s #kubernetes #쿠버네티스
- mp4fpsmod
- 깡돼후
- JanusWebRTC
- PytestPluginManager
- VARCHAR (1)
- tolerated
- Spring Batch
- 자원부족
- JanusWebRTCServer
- PersistenceContext
- 달인막창
- taint
- 코루틴 빌더
- 겨울 부산
- pytest
- python
- Value too long for column
목록개발 (101)
너와 나의 스토리

Custom Error Response 보내는 방법 https://hororolol.tistory.com/649 [Spring] @ControllerAdvice를 이용하여 exception handling - Custom Error Response 보내기 & message를 포함한 error res Exception Handler Rest API로 받은 요청을 처리하다가 exception이 발생하는 경우가 있다. 이러한 exception들을 한 곳에서 처리하도록 ExceptionHandler를 만들어보자. @ControllerAdvice에 있는 메서드들은 모.. hororolol.tistory.com RestTemplate에서 다음과 같은 custom response로 응답이 온다고 하자. Respon..

Exception Handler Rest API로 받은 요청을 처리하다가 exception이 발생하는 경우가 있다. 이러한 exception들을 한 곳에서 처리하도록 ExceptionHandler를 만들어보자. @ControllerAdvice에 있는 메서드들은 모든 controller에 전역으로 적용된다. 어떤 controller에서 exception이 발생하던지 이 exception handler에 명시된 대로 response가 반환된다. @ControllerAdvice internal class DeviceExceptionHandler { @ResponseStatus(HttpStatus.NOT_FOUND) @ExceptionHandler(DeviceNotFoundException::class) fun..
RestTemplate Exception Handling 방법 [개발/Spring Boot] - [Java] RestTemplate 통신 error handling 하기 - 쉬운 방법 & ResponseErrorHandler 정의 통신 및 error handling 코드 RestTemplate으로 통신 및 Error handling @RequiredArgsConstructor public class RestApi { private final RestTemplate restTemplate; public User getUser() { restTemplate.setErrorHandler(new RestTemplateResponseErrorHandler()); try { ResponseEntity respons..
상황 먼저 다음과 같이 RestTemplate을 이용하여 통신하고 있다고 하자. "https://server-url-to-send-user-info": 유저 정보를 관리하는 서버 url 유저 서버로부터 사용자의 정보를 받아올 때 여러가지 예외가 발생할 수 있다. public class RestApi { private RestTemplate restTemplate = new RestTemplate(); public User getUser() { try { ResponseEntity response = restTemplate.exchange( "https://server-url-to-send-user-info", HttpMethod.GET, null, User.class ); return Objects.re..
@OneToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL) @JoinColumn(name = "user_id", nullable = false) private List users; 문제 다음과 같이 user 테이블을 join해서 user 정보를 가져오는데 같은 user 정보가 중복되어 출력되었다. 원인 Hibernate 버그로 보인다. 해결 방법 List 대신에 Set을 사용하면 문제를 해결할 수 있다. @OneToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL) @JoinColumn(name = "user_id", nullable = false) private Set users;
에지 서버 사설 서비스를 외부에서 접근하지 못하도록 숨기고 외부 클라이언트가 공개 서비스를 사용할 때 보호한다. 처음에 스프링 클라우드는 넷플릭스 zuul v1을 에지 서버로 사용했으나, 스프링 클라우드 그리니치가 출시된 이후로는 spring cloud gateway로 대체하는 것을 권장한다. Netflix Zuul 1 Spring Cloud Gateway 차이점 - blocking API 사용 - Spring 5, project reactor, spring bot 2 기반의 non-blocking API 사용 특징 Spring boot 2.3까지만 지원 -zuul에 비해 더 많은 양의 동시 요청을 처리할 수 있으며, 이는 모든 외부 트래픽을 처리해야 하는 에지 서버에게는 중요한 특성이다. 1. Dep..
MINICAP & MINITOUCH git 주소: https://github.com/DeviceFarmer 1. minicap 또는 minitouch clone해오기 minicap과 minitouch는 빌드하는 방법이 같으므로 minicap으로만 설명하겠습니다. git clone $ git clone https://github.com/DeviceFarmer/minicap.git 2. git submodule 포함시키기 clone한 폴더에서 다음의 명령어로 submodule fetch하기 $ git submodule init $ git submodule update 3. ndk-build 먼저 ndk가 없는 분들은 설치부터 해야 합니다. 설치 방법: Android studio 열기 Tools > SDK M..
배경 비슷한 일을 수행하는 두 클래스가 보이면 상속 메커니즘을 이용해서 비슷한 부분을 공통의 슈퍼클래스로 옮겨 담을 수 있다. 슈퍼클래스 추출하기의 대안으로는 클래스 추출하기가 있다. 어느 것을 선택하느냐는 중복 동작을 상속으로 해결하느냐 위임으로 해결하느냐에 달렸다. 슈퍼클래스 추출하기 방법이 더 간단할 경우가 많으니 이 리팩터링을 먼저 시도해보길 권한다. 절차 빈 슈퍼클래스를 만든다. 원래의 클래스들이 새 클래스를 상속하도록 한다. 테스트한다. 생성자 본문 올리기, 메서드 올리기, 필드 올리기를 차례로 적용하여 공통 원소를 슈퍼클래스로 옮긴다. 서브클래스에 남은 메서드들을 검토한다. 공통되는 부분이 있다면 함수로 추출한 다음 메서드 올리기를 적용한다. 원래 클래스들을 사용하는 코드를 검토하여 슈퍼클래..