스프링개발자
-
1. Auto-configure 을 이해하고 디버깅 할 수 있다스프링개발자/202 - 디버깅+테스팅 2020. 8. 14. 00:34
스프링부트 공식 문서에 따르면, Autoconfiguration 의 정의는 다음과 같다. 16. Auto-configuration Spring Boot auto-configuration attempts to automatically configure your Spring application based on the jar dependencies that you have added. For example, If HSQLDB is on your classpath, and you have not manually configured any database connection beans, then we will auto-configure an in-memory database. You need to opt-in ..
-
스프링개발자 301 - 프로젝트 아키텍처스프링개발자/301 - 아키텍처 2020. 8. 13. 12:53
크게 다음의 주제들을 다룰 예정 1) MonoRepo with multiple microservice applications 하나의 git repo인데, 여러 port를 가진 app을 쓴다 app간의 dependency가 zero이다 2) Shared Components app간의 dependency를 관리하는 component가 따로 있다 3) RestTemplate to communicate between apps app간의 communicate하는 가장 간단한 방법 4) EurekaServerApplication 5) FeignClient 6) Remote Database 7) OAuth 2.0 8) PCF Service Registry 9) PCF Config Server
-
3. 스프링 Custom Validation - 좀 더 친절한 Error Response스프링개발자/203 - Validation 2020. 8. 10. 04:44
[배경] Validation Error(4XX)에서는 가능한 많은 정보를 제공해주면, client입장에서 감동을 받는다 client request의 어떤 필드 값이 잘못되었는지, 어떻게 되어야 하는지 등등 다음의 트위터 developer docs을 참고해보자 https://developer.twitter.com/en/docs/basics/response-codes Response codes The standard Twitter API returns HTTP status codes in addition to JSON-based error codes and messages. HTTP status codes The Twitter API attempts to return appropriate HTTP statu..
-
2. 스프링 Validation with custom message and custom response container스프링개발자/203 - Validation 2020. 8. 10. 03:31
[배경] 스프링 Validation에서 좀 더 많은 정보를 제공 할 수 없을까? 다음은 제공해야 되는 field인 "rides"를 입력하지 않아서 생기는 400 에러이다 postman response를 보면 timestamp, status, error, message, path의 정보가 있다. message에는 아무것도 표시 되지 않았다. 어떤 값이 잘못되어서 해당 오류가 난지 정보가 부족하다. 1. NotNull 어노테이션에 정보 제공하기 다시 postman request를 send해보면 여전히 "message": "" 로 메세지 표시되지 않았다. 내가 입력한 메세지는, IDE에 run 텝에서 WARN종류의 log에만 기록되었다 2. NotValidException을 인터셉트 하자 어떻게 하면 resp..
-
1. 스프링 Validation - 가장 기본뼈대스프링개발자/203 - Validation 2020. 8. 9. 10:50
[배경] Client Request가 잘못된 경우에, 서버는 4XX 에러를 리턴한다. 잘못된 Request의 정의는, 어플리케이션마다 다르지만, 흔히 다음과 같은 패턴을 갖는다 Request에 입력되야 할 필드값이 없다 Request에 입력되지 말아야 할 필드값이 있다 Request의 특정 Field의 값이 한계치보다 크다 javax.validation.constraints 패키지에 있는 스프링 Validation은 몇가지 어노테이션만으로 스프링 Validation을 쉽게 구현할 수 있게 도와준다. 1. Dispatch Request를 만들자 최대한 간편하게 뼈대만 만든다. 여기의 Business usage case는 다음과 같다. 미국 월마트에서 Grocery를 배달해준다. 전날 미리 주문을 받아서, ..
-
스프링개발자 203 - Validation스프링개발자/203 - Validation 2020. 8. 9. 10:13
[배경] user request가 잘못된 경우, 서버는 흔히 400 에러를 내보낸다. 4XX에러, Validation을 구현해보자 1. 스프링 Validation 2. 스프링 Validation with more info 3. Custom Validation 4. Custom Validation with http status code 5. Custom Validation with custom message and field info
-
인텔리제이 Invalidate Caches / Restart스프링개발자/요령 2020. 8. 7. 02:28
[1] Lombok관련해서 compiler가 이상하게 행동할때 Optional getThatObject()가 분명히 동작은 되는데, compiler가 빨간색 밑줄을 그을때 [2] Eureka 서버 혹은 클라이언트의 host주소가 이상하게 되어 있을때 나와 동료가 분명 같은 latest master 브랜치인데, proxy 혹은 ip-address문제가 있을때 (최근 로컬브랜치에서 이와 관련된 작업을 했다면 더욱 가능성이 있음) 지워지지 않은 기존 데이터가 문제를 일으킬 거 같을때, 써볼 수 있는 옵션이다.
-
16. 도커(Docker)를 사용해보자스프링개발자/201 - 일반 2020. 8. 3. 02:30
[배경] 도커(Docker)를 쓰면 어플리케이션이 환경에 얽매이는 문제를 해결해준다. 예를들어, 내 어플리케이션의 데이터베이스가 MySQL인데, 도커를 쓰면 다른 OS시스템에 갈때마다 설정을 다시 할 필요가 없다. MongoDB, Jenkins 등등 다른 환경 dependency또한 하나의 도커에 모두 올려서 구동하면, 어디에서나 나의 도커 환경을 불러와서 별도의 셋업없이 바로 구동할 수 있는 Platform as a service(PaaS)이다. 로컬에서 도커를 띄우는 연습을 해보자. 도커개념 설명 유튜브 비디오 by "얄팍한 코딩사전" https://www.youtube.com/watch?v=tPjpcsgxgWc [학습목표] 도커가 무엇인지 이해한다 도커를 설치할 수 있다 도커 이미지를 설치할 수 있..