RedisTemplate나 ReactiveRedisTemplate를 사용할 가능성이 높습니다. RedisTemplate는 높은 수준의 추상화를 제공합니다. 이진 값(바이트 배열)을 수락하고 반환하는 낮은 수준의 방법을 제공하지만, 템플릿은 직렬화 및 연결 관리를 처리하
LettuceConnectionFactory Bean등록RedisStandaloneConfiguration를 등록\+ LettuceClientConfigurationBuilder 이용해서 SSL / timeout 쓰기LettuceConnectionFactory에 아래
읽다가 정리할 만한 점들을 기록함.시스템이 오류, 결함 없이 잘 동작해야 한다는 의미하드웨어 결함소프트웨어 오류휴먼 에러하드웨어 결함의 경우, 데이터 연산량에 따라 하드웨어 개수도 늘어나는 경향이 있고 이에 비례해 결함 수도 증가하는 경향이 있다.소프트웨어 오류 방지
기본적으로 웹 계층과 DB 계층을 나누어서 생각한다.로드밸런서와 웹 서버의 수평적 확장을 통해 해결한다.여기서 로드밸런서는 Public IP로 외부에 노출된 상태고, 내부 웹 서버는 Private IP로 외부로부터 보호한다.다중화를 통해 해결한다.다중화는 Master와
정의할 때 "class" 키워드가 들어간 다는 점을 제외하면 java와 유사하다.equals(), hashCode(), toString() 같은 메소드들을 자동으로 생성해준다. 자바에서는 매번 구현해야 했다.동등성(equality) 비교 연산을 자동으로 생성해준다. 일
준비, 실행, 검증으로 분리하는 패턴.3단계를 주석으로 적음으로써 명확하게 세 부분을 나누는 것이 가독성에 좋다.실행 메소드는 하나로 끝내야 바람직하다.왜냐하면 후속 메소드는 실행되지 않을 경우, 올바르게 검증했다고 볼 수 없기 때문이다.\+ 여러 개의 준비, 실행,
데이터 정합성을 유지해야 한다.데이터 흐름을 추적 가능해야 한다.금액 표기 시 Double, Float을 쓰면 안되는 이유는 자원에 따라 직렬화/역직렬화 방식이 다를 수 있기 때문이다. 의도치 않은 반올림 오류를 발생시킬 수 있다. 따라서 전송 및 저장 시에는 문자열을
Aws 클라우드 내에서 독립된 네트워크 환경 제공VPC를 사용함으로써 클라우드 리소스를 격리된 환경에서 관리하고, 네트워크 구성과 보안을 세밀하게 제어할 수 있다. VPC는 기존 온프레미스 네투워크와 유사한 방식으로 작동하며, 여러가지 네트워킹 기능을 제공한다.VPC
zookeeper 구동브로커 구동카프카 실행 확인위 명령어로 브로커 정보(버전, 옵션 등)들을 확인할 수 있다.java 소스코드 작성 시 카프카 관련 라이브러리 당겨오기예제에서는 gradle을 이용했다. (Spring 프로젝트 x)주요한 클래스는 KafkaProduce
매 요청마다 프로세스나 쓰레드가 생성되는 것이 아니라 비동기 이벤트 기반의 구조로 작동한다.1\. 정적 파일을 처리하는 HTTP서버로의 역할2\. 응용 프로그램 서버에 요청을 보내는 리버시 프록시3\. 비동기 처리방식 서버가 정상인지 확인하는 작업을 의미한다. 능동적(
AWS CLI명령어로 AWS 작업할 수 있게 해주는 tool.상세 내용은 AWS 홈페이지에 잘 나와있다.~/.aws/credentials에 aws configure이 있게 된다.명령어로 AWS CLI 사용하려면 초기 설정이 필요하다.사용자 추가 - Administrat
네이버에서 진행한 오픈소스 프로젝트.서버의 부하 테스트를 위한 도구.서비스하기 전에 서버가 얼마나 많은 사용자를 수용할 수 있는지 요청을 미리 전송해보는 toolController와 Agent로 이루어져 있다.1) 성능 측정을 위한 웹 인터페이스를 제공2) 테스트 프로
젠킨스는 규모가 작은 프로젝트에서는 설정하는데 많은 리소스가 발생하기에 GithubActions가 툴로 합리적이다.code를 커밋하고 빌드했을 때, 정상적으로 작동하는지 반복적으로 검증해 Application의 신뢰성을 높이는 작업.CI를 마쳤으면 Application
기본 구조는Client와 Server 간에 request하면 response하는 구조이며 하이퍼텍스트, 하이퍼 미디어 등을 전달한다.하이퍼텍스트 : 다른 문서를 참조하는 문서를 생성하는 것하이퍼미디어 : 사진, 영상 등을 포함하는 문서로의 링크를 갖는 문서ex) Apa
이게 스프링 컨테이너를 의미한다. 이 것의 구현체가 AnnotationConfigApplicationContext@Bean이 붙은 메소드 명을 스프링 빈의 이름으로 사용한다.스프링 컨테이너의 최상위 인터페이스생성 불가능하다.
변경에 의해 영향 받는 관계를 의미한다. 변경에 따른 영향이 전파되는 관계.객체 간의 의존.i) 객체를 직접 생성ii) DI의 서비스 로케이터.(의존하는 객체를 직접 생성하는 대신 의존 객체를 전달받는 걸 의미)어플리케이션 실행시점(런타임)에 외부에서 실제 구현 객체를
throw 키워드는 RuntimeException의 경우 사용하지 않는다. RuntimeException에는 NPE, IndexOutOfBoundsException, ArithmeticException 등이 있다.런타임에 예외가 발생했을 경우, 해당 예외를 직접 처리
라고 가정해보자.new()를 통해 인스턴스가 생성되고 heap Area에 정보가 저장된다.t - (0x100) 라고 했을 때 0x100은 인스턴스화된 정보를 갖고 있는 Heap Area 주소. 이게 t 변수 내부에 저장된다.메소드는 동일한 참조형의 instance들 끼
참조를 다 썼을 때 null 처리를 하면 참조해제 된다. 이럴 때 장점은 NullPointerException을 던지며 종료시킬 수 있다. 프로그램 오류는 가급적 조기에 발견하는게 좋으므로 장점이 될 수 있다.시스템 성능에 매우 큰 영향을 끼치기 때문에 System.g
람다는 이름도 없고, 문서화도 못한다. 따라서 코드 자체로 동작이 명확하지 않거나 코드 줄 수가 많아지면 람다를 쓰지 말아야 한다.람다는 함수형 인터페이스에서만 쓰인다.추상 메서드가 여러 개인 인터페이스의 인스턴스를 만들 때도 익명 클래스를 쓸 수 있다.자기 자신을 참