북리뷰/한 장 요약(6)
-
[아파치 카프카 애플리케이션 프로그래밍 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 -
[한 권으로 읽는 컴퓨터 구조와 프로그래밍 - 조너선 스타인하트 저] 한 장 요약
이미 알고 있는 내용은 적지 않음. 실질적으로 운영체제 계열에서 많이 본 내용들이 겹쳐서 책 두께 대비 적은 내용이 많이 없는듯... 1장 : 컴퓨터 내부의 언어 체계 오버플로 발생시 조건코드 레지스터(Condition code register) 중 오버플로 비트가 있어 확인이 가능 언더플로도 마찬가지 현대 컴퓨터에서는 부호와 크기 표현법이나 1의 보수 표현법을 사용하지 않음 2의 보수 표현법 씀 비트 뒤집고 1 추가 올림 발생시 버림 UTF-8은 모든 아스키 문자를 8비트로 표현 : 아스키 데이터를 인코딩 할 때 추가 공간이 필요하지 않음 2장 : 전자 회로의 조합 논리 아날로그 : 연속적 디지털 : 이산적 실렉터 : 분기 처리3장 : 메모리와 디스크의 핵심 : 순차논리 카운터 : 시간 셈 레지스터 :..
2022.12.25 -
[함께 자라기 - 김창준 저] 한 장 요약
함께 자라기 머리말 지금 잘하냐가 아니라 지금 자라냐 자라기 1만 시간의 법칙에서 1만 시간은 단순한 경력을 말하는 것이 아님 (양치질 1만 시간 한다고 잘한다는 소리 안들음) 기량을 향상시킬 목적으로 수련하는 시간을 말함 피드백 주기가 길어지면 학습이 안됨 회고하기 이미 가지고 있는 지식을 활용 가지고 있는 지식을 서로 연결하여 시너지를 냄 새로운 것이 들어오면 이미 가지고 있는 것과 충돌을 시도 외부 자극을 주기적으로 받아야 갈등 해결에 노력을 기해야 자신의 개선하는 프로세스 생각 피드백 자주 받기 자주 실패 -> 실패에서 학습 능력 향상을 위한 도구나 환경 점진적으로 생성 그렇다고 완벽한 도구/환경에 집착 X 좋은 학습 환경 목표가 분명/객관화 매 순간 선택지가 유한함 매 순간 자신이 목표에 얼마나..
2022.12.06 -
[Unit testing(단위 테스트)-블라디미르 코리코프 저] 한 장 요약
단위 테스트 목표 프로젝트 지속성 확장성의 핵심 -> 장기적 개발 속도 유지 가능 기반 코드 리펙터링시 테스트도 리펙터링 품질 특정을 위한 지표(코드 커버리지, 분기 커버리지) 맹신 X 참고용으로만, 100퍼센트 안채워도 됨 단위 테스트란 무엇인가 고전파 : 난수성, 외부API, DB 시스템 등에만 Mock 사용 엔드 투 엔드 테스트 간 의존성 높음 동작 단위 테스트 용이 런던파 : 모든 의존성에 MOCK 사용 테스트 입자성이 좋음 과도한 명세 단위 테스트 구조 Given when then 구조 좋아용 테스트 내 if문 피하기 테스트 간 결합도 낮춰야 명명법 : [테스트 대상 메서드]_[시나리오]_[예상 결과] 너무 엄격하지 명명 지침 따르지 말것 : 중요한건 가독성 명명시 should be 사용 X 비..
2022.12.04