북리뷰(40)
-
1장 : 아마존 비즈니스 민첩성의 비밀
성공한 기업들의 공통점은 이미 익숙한 비즈니스에 새로운 비즈니스 개념과 기술을 융합하여 자신만의 서비스를 제공한다는 점이다. 아마존은 11초 마다 배포함 : 비즈니스가 변경될 때 마다 시스템이 개선되고 진화됨 클라우드 인프라가 등장해서 서비스 개발에 필요한 시스템 인프라를 쉽게 마련 가능 - 사용량에 따라 비용 유연하게 조정 스케일 업 : 기존 시스템 자체의 물리적 용량을 증가 스케일 아웃 : 기존 시스템과 용량이 같은 다수 장비를 병행 추가하여 가용성을 높임 - 시스템을 작은 단위의 독립적인 서비스 연계로 구성 클라우드 프렌들리 어플리케이션 : 큰 덩어리로 클라우드 환경에 올라갈 수 있도록 하는 클라우드 친화 어플리케이션 클라우드 네이티브 어플리케이션 : 독립적으로 분리되어 배포될 수 있는 조각으로 구..
2023.05.16 -
2장 : 리액티브 스트림즈
# 리액티브 스트림즈 - 데이터 스트림을 Non-Blocking이면서 비동기적인 방식으로 처리하기 위한 리액티브 라이브러리의 표준 사양 # 리액티브 스트림즈 컴포넌트 - Publisher : 데이터를 생성하고 통지 - Subscriber : 구독한 Publisher로부터 데이터를 전달받아 처리 - Subscription : Publisher에 요청한 데이터의 개수를 지정, 데이터의 구독을 취소 - Processor : Publisher와 Subscriber의 기능을 모두 가지고 있음 # 리액티브 스트림즈 관련 용어 - Signal : Publisher와 Subscriber간에 주고받는 상호작용 - Demand : Subscriber가 Publisher에게 요청하는 데이터 - Emit : 데이터를 내보냄 ..
2023.04.30 -
1장 : 리액티브 시스템과 리액티브 프로그래밍
# 리엑티브 어던 이벤트나 상황이 발생했을 대, 반응을 해서 그에 따라 적절하게 행동하는 것 클라이언트의 요청을 즉각적으로 응답함으로써 지연 시간을 최소화 방법/수단(MEAN) : 주요 통신 수단으로 무엇을 사용할 것인지 - 메시지 기반 통신을 통해서 느슨한 결합, 격리성, 위치 투명성 보장 형태(FORM) : 어떤 형태를 지니는 시스템인지 - 탄력성 : 시스템의 작업량이 변화하더라도 일정한 응답을 유지하는 것 - 회복성 : 시스템에 장애가 발생하더라도 응답성을 유지하는 것 값(VALUE) : 즉각적으로 응답 가능한 시스템을 구축할 수 있음 # 리엑티브 프로그래밍 특징 Non-Blocking I/O : 스레드가 차단되지 않음 선언형 프로그래밍 : 동작을 구체적으로 명시하지 않고 목표만 선언 data st..
2023.04.30 -
[아파치 카프카 애플리케이션 프로그래밍 with 자바 - 최원영 저] 한 장 요약
카프카의 탄생 - 링크드인에서 개발 - 각 애플리케이션의 데이터를 한 곳에 모아 중앙집중화 - 프로듀서 : 큐에 데이터를 보냄 - 컨슈머 : 큐에서 데이터를 가져감 - 카프카를 통해 전달할 수 있는 데이터 포멧은 사실상 제한이 없음 - 상용 환경에서 카프카는 최소 3대 이상의 서버(브로커)에서 분산 운영 - 일부 서버에 장애가 발생하더라도 데이터를 지속적으로 벅제, 안전하게 운영 - 데이터를 묶음 단위로 처리하는 배치 전송 -> 낮은 지연과 높은 데이터 처리량 가짐 ## 빅데이터 파이프라인에서 카프카 역할 - 데이터 레이크 : 데이터가 모이는 저장 공간, 데이터 워어하우스와 다르게 필터링되거나 페키지화되지 않은 데이터를 저장 - 높은 처리량 - 프로듀서가 브로커로 데이터를 보낼 때와 컨슈머가 브로커로부터..
2023.03.17 -
[도메인 주도 개발 시작하기 - 최범균 저] 한 장 요약
도메일 모델 시작하기 도메인에 따라 용어의 의미가 결정 여러 하위 도메인을 하나의 다이어그램에 모델링 하면 안 됨 각 하위 도메인마다 별도 모델을 만들어야 아키텍처 구성 표현 영역 : 사용자 요청 처리/사용자에게 정보 제공 HTTP 요청을 응용영역이 필요로 하는 형식으로 변환헤서 전달 응용 영역 : 사용자가 요청한 기능 실행 : 업무 로직을 직접 구현하지 않음 응용 서비스를 로직을 직접 수행하지 않고, 도메인 모델에 로직 수행을 위임 도메인 영역 : 시스템이 제공할 도메인 규칙 구현 도메인 핵심 로직 구현 인프라스트럭처 영역 : DB나 메시징 시스템 같은 외부 시스템 연동 처리 상위 계층에서 하위 계층으로의 의존만 존재 DIP 적용시 하위 기능을 추상화한 인터페이스는 고수준 모듈 관점에서 도출 도메인 영..
2023.01.13 -
[자바 코딩, 이럴 땐 이렇게 - 배병선 저] 한 장 요약
이미 아는 내용은 과감히 제외 1. 프로그래밍 일반 규칙 비록 속도가 느리더라도 정확한 값이 필요하면 float/double 대신 BigDecimal 사용 BigDecimal Constructor parameter에 실수형 변수 넣지 마세용 차라리 String 넣거나, valueOf 사용 BigDecimal 비교시 equals 말고 compareTo 활용 8,16진수 특정 라이브러리에서 요구하는거 아니면 굳이 쓰지마 IP 하드코딩 하지마 equals와 hashcode는 언제나 함께 오버라이딩 finally절에서 return 사용 금지 catch 절 묵살할 수도 finally는 리소스 사용 후 반환하는 로직에만 사용 초기화 블록 쓰지마class Sample { { // 초기화 블록 } public Samp..
2022.12.27