EffectiveJava3 Item04
on Java
Item4. 인스턴스화를 막으려거든 private 생성자를 사용하라
EffectiveJava3 Item03
Item3. private 생성자나 열거 타입으로 싱글턴임을 보증하라
EffectiveJava3 Item50
Item50. 적시에 방어적 복사본을 만들라
EffectiveJava3 Item2
Item2. 생성자에 매개변수가 많다면 빌더를 고려하라
EffectiveJava3 Item1
Item1. 생성자 대신 정적 팩터리 메서드를 고려하라
Async Event & Caching
Caching의 목적
A서비스에서 B서비스로 데이터를 조회하는경우 A서비스는 B서비스에 연결된 Database에 Access해야 하며 이는 결국 비용이다.
만약 B서비스의 데이터가 한번 저장되면 자주 변경되지 않는 데이터라면?
한번 가져온 데이터를 어딘가에 Caching 한다면 Database에 Access하는 비용을 감소시킬 수 있으므로 응답시간 향상에 도움이 된다.
Service-Gateway
서비스 게이트웨이
횡단 관심사들을 추상화하고 독립적인 위치에서 애플리케이션의 모든 마이크로서비스 호울에 대한 필터와 라우터 역할 수행
서비스 클라이언트가 서비스(마이크로 서비스)를 직접 호출하지 않고 단일한 정책 시행지점 역할을 하는 서비스 게이트웨이로 모든 호출을 경유시켜 목적지로 라우팅한다.
- 핵심 관심사: 비지니스 로직과 같은 제품의 주요 기능
- 횡단 관심사: 보안, 로깅, 추적과 같이 전체 애플리케이션에 영향을 미치는 관심사
벌써 3월도 절반이 갔구나
in Diary
피곤하다.
Kafka 개발환경 구축중 이슈 (버전)
KAFKA Message 이슈
사전작업
- 카프카 설치
- brew install kafka, zookeeper 했으나 구동안되서 패스
- apache 공식에서 다시 다운로드
- /usr/local/kafka/kafka_2.12…
- 카프카 실행
- property enable
vi config/server.properties
listeners=PLAINTEXT://localhost:9092 - zookeeper
bin/zookeeper-server-start.sh config/zookeeper.properties - kafka
bin/kafka-server-start.sh config/server.properties
- property enable
- 카프카 기본 제공되는 스크립트를 통해 테스트 진행
// create topic bin/kafka-topics.sh --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 --topic test // topic list bin/kafka-topics.sh --list --bootstrap-server localhost:9092 // publish bin/kafka-console-producer.sh --bootstrap-server localhost:9092 --topic test
Application Recovery
애플리케이션 회복
클라이언트 부하 분산
- 리본을 사용해서 분산처리
Service-Discovery
서비스 디스커버리
Service discovery : 분산 아키텍처에서 시스템의 물리적 위치 주소를 찾는 과정
2021년을 시작하며
in Diary
2020년, 난 목표했던것을 얼마나 달성했는가?
객체지향 프로그래밍
in Dev-Study on Architecture
객체지향 프로그래밍의 핵심 요소
협력: 객체들이 어플리케이션의 기능을 구현하기 위해 수행하는 상호작용
책임: 객체가 협력에 참여하기 위해 수행하는 로직
역할: 객체가 특정한 협력안에서 수행하는 책임의 집함
객체, 설계
in Dev-Study on Architecture
프로그래밍 패러다임
과거: 표준적인 모델을 따르거나 모방하는 상황을 가리킬때 사용
현대: 한 시대의 사회 전체가 공유하는 이론이나 방법, 문제의식 등의 체계를 의미
자료구조 2. Set
자료구조 Set
Collection Interface 중 하나로써, 아래와 같은 특징을 갖는다.
자료구조 1. List
자료구조 List
Java에서 제공하는 자료구조는 크게 Collection과 Map 인터페이스로 나뉘어진다.
Collection과 Map 인터페이스는 추후 다시 작성하기로하며, 여기에서는 List에 대해서 공부한 내용을 적어본다.
Entity Mapping
JPA에서 가장 중요한 일?
JPA (Persist vs Merge)
EntityManager의 persist와 merge method의 반환값 차이
2020-Backend_Roadmap
in Diary
2020 백엔드 개발자 로드맵
2018년에 Java Web Service 개발을 처음 진행하면서 2018 백엔드 개발자 로드맵을 본게 엊그제같은데 벌써 2020년도 끝나가는구나.