1. 포트는 Dockerfile를 찾아보면 나온지만 그냥 적어 놓는다. 1-1 15672는 rabbitMQ management 서버에 접근하기 위한 포트 매핑이다. 1-2 rabbitMQ서비스는 5671, 5672를 사용하는데 모두 매핑해야 동작한다. 1-3 하나 이상의 포트 매핑은 그냥 -p를 여러번 사용하면 된다. 1-4 rabbitMQ는 hostname 별로 메시지를 저장하므로 도커환경에서 hostname 설정은 반드시 필요하다. docker run -d --hostname my-rabbit --name some-rabbit -p 15672:15672 -p 5671:5671 -p 5672:5672 rabbitmq:3-management
0. 스프링 MVC 기본적으로 request 헤더에 설정되어 있는 accept-language라는 항목을 보고 어떤 언어인지를 판단한다. 0-1 ko-KR은 한국 en-US는 미국 같은 식이다. 이건 ISO 639에 언어, ISO 3166에 국가 코드가 설정되어 있다. 1. 지역 설정은 사용자의 시스템의 설정을 따르는 방식, 쿠키를 사용하는 방식, 사용자가 임의로 설정하는 방식이 있다. 1-1 사용자에게 설정가능하도록 하려면 Custome Parameter를 사용할 수 있다. 1-2 스프링 MVC는 LocaleChangeInterceptor를 제공하여 지역변경할 수 있도록 custom parameter를 설정할 수 있다. 2. 스프링에서 기본적으로 사용하는 지역 설정자는 AcceptHeaderLocale..
1. ResponseStatus는 Controller나 Exception에 사용하여 status 정보를 설정하여 리턴해 준다. * Marks a method or exception class with the status {@link #code} and * {@link #reason} that should be returned. * The status code is applied to the HTTP response when the handler * method is invoked and overrides status information set by other means, * like {@code ResponseEntity} or {@code "redirect:"}. 2. @ExceptionHandler..
1. 스프링 formatter는 특정 타입의 객체를 문자열로 반대로 문자열을 특정타입의 객체로 변환할 때 사용한다. 1-1 즉 String과 Object 사이의 변환을 해준다. 2. Converter는 Object, Object 간의 변환을 해준다. 2-1 converter 인터페이스는 source, target 두 개의 generic을 제공해야 하고 2-2 formetter는 하나의 target만 제공하면 된다. 3. 스프링 부트의 경우는 @Component로 지정하면 자동으로 로딩되어 사용된다. 4. 간단한 예제 4-1 아래는 타임리프 템플릿이다. 4-1-1 아래는 애완동물을 생성하기 위한 form인데 여기에 petType이라는 것을 설정해야 한다. 4-1-1-1 Set에 여러 개의 PetType이 ..
1. 파일 업로드를 위해서 우선 파일을 선택할 template이 필요하다. 1-1 아래는 thymeleaf로 작성된 form으로 중요한 부분은 form 테그 부분이다. 1-2 input type이 file이고 전송될 파일의 이름은 name에 지정된 imageFile이 된다. 1-3 파일이므로 post로 메소드를 설정하고 전송할 action에는 파일을 수신처리할 url을 지정한다. Upload a new recipe image Select File Submit 1-4 실행화면 2. 파일을 전송하였으면 수신할 controller가 필요하다. 2-1 아래의 ImageController에는 3가지 메소드가 있다. 2-2 showUploadImageForm 메소드는 이미지를 선택할 ui template을 보내준다..
1. 한번씩 Enumeration의 리스트를 바로 사용하면 편리한 경우가 있다. 2. 아래 경우처럼 th:each에 T를 사용하여 값을 가지고 올 수 있다. 2-1 받아 온 변수에서 name()를 사용하여 이름을 가져올 수 있다. 2-2 difficulty 변수에 들어있는 값이 자동으로 selected로 지정된다. Difficulty: val 3. 결과 화면 3-1 Difficulty Enum package pe.pilseong.recipe.domain; public enum Difficulty { EASY, MODERATE, DIFFCULT }
1. 테스트를 하다 보면 언제 any, anyLong 같은 값을 사용할지 아니면 진짜 값을 넣어주어야 할지 혼란스럽다. 2. 아래 같은 유닛테스트의 경우는 모두 any, anyLong을 사용하고 있다. 2-1 예제는 Service 구현한 클래스를 테스트하는 것으로 2-2 Mockito fixture로는 repository나 conveter를 사용하고 있다. 2-3 fixture가 반환해야 할 값들을 세팅할 때 when을 사용하는데 여기의 인자들은 모두 any 계열을 사용한다. package pe.pilseong.recipe.service; import org.junit.Test; import org.mockito.Mock; import org.mockito.MockitoAnnotations; import..
- Total
- Today
- Yesterday
- 도커 개발환경 참고
- AWS ARN 구조
- Immuability에 관한 설명
- 자바스크립트 멀티 비동기 함수 호출 참고
- WSDL 참고
- SOAP 컨슈머 참고
- MySql dump 사용법
- AWS Lambda with Addon
- NFC 드라이버 linux 설치
- electron IPC
- mifare classic 강의
- go module 관련 상세한 정보
- C 메모리 찍어보기
- C++ Addon 마이그레이션
- JAX WS Header 관련 stackoverflow
- SOAP Custom Header 설정 참고
- SOAP Custom Header
- SOAP BindingProvider
- dispatcher 사용하여 설정
- vagrant kvm으로 사용하기
- git fork, pull request to the …
- vagrant libvirt bridge network
- python, js의 async, await의 차이
- go JSON struct 생성
- Netflix Kinesis 활용 분석
- docker credential problem
- private subnet에서 outbound IP 확…
- 안드로이드 coroutine
- kotlin with, apply, also 등
- 안드로이드 초기로딩이 안되는 경우
- navigation 데이터 보내기
- 레이스 컨디션 navController
- raylib