1. 환경 Ubuntu 210.04.1 2대 Docker 19.03.13 2. 설치 전 확인 및 준비 사항 (https://kubernetes.io/ko/docs/setup/production-environment/tools/_print/) 컴퓨터 당 2GB 이상의 RAM CPU 2개 이상 클러스터의 모든 시스템간 네트워크 연결 모든 노드에 대해 고유한 호스트 이름, MAC 주소 및 product_uuid -> 쿠버네티스는 이러한 값들을 기반으로 클러스터의 노드를 고유하게 식별한다. 스왑 메모리 배활성화 (swapoff -a) -> 활성화 되어있다면 kubelet이 정상 동작하지 않는다. 포트 미사용 확인 필요 프로토콜 포트 범위 용도 사용 주체 TCP 6443 쿠버네티스 API 서버 전부 TCP 237..
Long-term support (LTS) is a product lifecycle management policy in which a stable release of computer software is maintained for a longer period of time than the standard edition. JAVA8, JAVA11(latest): LTS version JAVA 9, 10: non-LTS version -> 6개월까지만 패치를 지원한다. JAVA9가 나오면서 LTS, non-LTS 버전 정책을 발표했고, JAVA9 부터는 6개월마다 버전을 발표하겠다고 했다. 버전 정책은, JAVA8의 경우 사용량이 높으므로 LTS version이 되었고, 가장 최신 버전인 JAVA11이 현..
myBatis를 사용하거나 @ReqeustBody 어노테이션을 사용하면 수신되는 JSON 데이터를 찰떡같이 맵핑해준다. 하지만 필드명 시작이 대문자이면 주의해주어야한다. 원인은 Jackson은 Java Bean 네이밍 규칙으로 Java 클래스의 Json property를 맵핑하기 때문이다. Java Bean 네이밍 규칙 핵심은 이렇다. (JavaBeans Spec https://www.oracle.com/java/technologies/javase/javabeans-spec.html) 1. 시작은 일반적으로 소문자이다. 2. 처음 두문자가 대문자이면 그대로 사용한다. 8.8 Capitalization of inferred names. Thus when we extract a property or even..
데이터 형태가 서버에서 파싱하여 사용하기 좋게 찰떡같이 수신되면 좋겠지만, 그렇지 않은 경우도 많다. 최근 진행하고있는 프로젝트에서 특정 프로토콜 기반으로 통신하기위해서 정해진 포멧으로 JSON을 생성해서 사용해야했는데, 그게 좀 특이한 형태였다. 그래서 데이터를 Map을 해당 프로토콜 기반 JSON 형태로 Serialize하고, 다시 Deserialize 해서 필요한 Object들에 맞게 파싱해주는 작업을 했다. 이 과정에서 주로 사용 및 테스트 했던 어노테이션을 위주로 정리하였으며, 아래 링크를 확인하면 더 많은 어노테이션을 확인 할 수 있다. 참고: https://www.baeldung.com/jackson-annotations Serialization 1. @JsonAnyGetter : Map이 ..
- Total
- Today
- Yesterday