8월 회고인데 9월 중순이 되어서야 글을 작성하네요.8월에는 고성, 평창으로 여름휴가를 다녀왔습니다.휴가를 가기전에는 반복되는 일상에서 휴가만을 기다렸고, 기대하던 휴가였기에 맛있는 것도 많이 먹고 물놀이도 하고 즐겁고 알차게 보냈습니다.다시 일상으로 돌아와서는 또 무
7월은 비가 너무 많이 내렸다. 🌧비로 인해 전국에 안타까운 사건사고도 많았던 한 달이었다.회사에서 내가 배포한 작업으로 인해 장애를 유발한 경우가 있었다.운영 환경 배포전에 성능 테스트를 했음에도 불구하고 기존의 버전보다 다소 증가된 레이턴시를 유발하게 된것이 이유
bulk API는 여러 색인, 업데이트, 삭제 작업을 한 번의 요청에 담아서 보내는 API다.엘라스틱서치의 다른 API와 다르게 요청 본문을 JSON이 아니라 NDJSON(Newline Delimited JSON) 형태로 만들어서 보낸다.Content-Type 헤더도
쓰기 작업 시 엘라스틱서치 동작과 동시성 제어 쓰기 작업은 3단계로 수행된다. 조정 단계(coordination stage) 주 샤드 단계(primary stage) 복제 단계(replica stage) 조정 단계 엘라스틱서치 클러스터에 쓰기 요청이 들어오면 먼저 라
0 3 \* \* 2-5cron은 주기적으로 반복적인 작업을 스케줄링하기 위해 사용되는 리눅스/유닉스 기반 시스템에서 흔히 사용되는 도구입니다. 주어진 표기법을 해석하면 다음과 같습니다따라서, 0 3 \* \* 2-5의 의미는 다음과 같습니다:분: 0시: 3시 (24시
스칸디나비아 반도 국가(노르웨이, 덴마크, 스웨덴, 핀란드)에 존재하는 생활 규범. 한국의 "연장자에게 높임말을 사용해야 한다."와 비슷한 수준으로 생활 기저에 깔리는 열 가지 규칙으로, 요약하자면 '겸손의 법칙' 정도로 표현할 수 있다. 이는 북유럽의 평등주의적 성격
회귀 방지리팩터링 내성빠른 피드백유지 보수성회귀는 소프트웨어 버그다.코드를 수정한 후 기능이 의도한 대로 작동하지 않는 경우다.코드베이스가 커질수록 잠재적인 버그에 더 많이 노출된다.그래서 회귀에 대해 효과적인 보호를 개발하는 것이 중요하다.회귀 방지 지표에 대한 고려
준비(Arrange)실행(Act)검증(Assert)AAA 패턴과 차이는 없다.프로그래머가 아닌 사람에게 Given-When-Then 구조가 더 읽기 쉽다.여러 개의 준비, 실행, 검증 구절은 테스트가 너무 많은 것을 한 번에 검증한다는 의미다.이러한 테스트는 여러 테스
싱글 노드 검색 클러스터는 하나 이상의 엘라스틱서치 노드로 구성돼 있고 각 노드는 설정에 따라 특수항 Role을 부여받아 동작한다. 엘라스틱서치 노드들은 별도의 설정이 없다면 Single Node 모드로 동작한다. 싱글 노드는 엘라스틱서치의 모든 기능을 사용
클러스터에 존재하는 프라이머리 샤드와 레플리카 샤드 모두에서 검색 요청을 처리할 수 있다.모든 샤드에서 처리 중인 검색 요청 수를 모아서 초당 평균 몇 건이 처리되는지 숫자로 계산해서 보여준다.전체 샤드에서 실행되는 초당 검색 요청 수클러스터에서 다수의 검색 요청이 들
total_shards_per_node 옵션은 Elasticsearch 클러스터 내에서 각 노드가 관리하는 샤드(shard)의 수를 제어하는 설정입니다.각 노드가 관리하는 샤드의 최대 수를 제한하는 역할을 합니다. 이 값을 설정하면 클러스터에 새로운 인덱스가 생성될 때
작은 코드 조각(단위라고도 함)을 검증하고빠르게 수행하고격리된 방식으로 처리하는 자동화된 테스트다.격리 문제는 고전파와 런던파를 구분할 수 있게 한다.테스트 대상 시스템(SUT, System Under Test)을 협력자(collaborator)에게서 격리하는 것을 일
JPMS(Java Platform Module System)로 도메인 헥사곤을 생성함.값 객체는 더 정교한 값 객체와 가장 중요한 엔티티를 만드는데 사용되는 원자재인 기반 요소이므로 먼저 값 객체를 생성하는 것으로 시작하기를 권장한다.문제 영역을 더 잘표현하는 도메인
소프트웨어 프로젝트의 지속 가능한 성장을 가능하게 하는 것이다.지속적인 정리와 리팩터링 등과 같은 적절한 관리를 하지 않고 방치하면 시스템이 점점 더 복잡해지고 무질서(엔트로피, software entropy)해진다.테스트는 안전망 역할을 한다.테스트는 새로운 기능을
재택근무를 하다 보니 시간을 내서 산책하거나 운동을 하지 않으면 하루 활동량이 너무 적다. 🧑💻근육이 없어지는 느낌이 든다.나의 약한 의지로 헬스장을 갔다가는 그 돈을 고스란히 기부할 거 같은 느낌이 들어서 집에서 5kg 아령으로 이두, 삼두 운동을 조금씩 하고
시스템이 자급자족한다는 것은 상상할 수 없는 일이다.모든 컴퓨터 시스템에는 입력 및 출력 오퍼레이션이 있다고 가정하는 컴퓨터 아키텍처가 있다.헥사고날 아키텍처 시점으로 보면 시스템의 입력 측은 드라이빙 오퍼레이션에 의해 제어된다.명령행 콘솔을 통해 직접 시스템과 상호작
인터페이스를 사용하는 일반적인 이유는 인터페이스가프로세스 외부 의존성을 추상화해 느슨한 결합을 달성하고,기존 코드를 변경하지 않고 새로운 기능을 추가해 공개 폐쇄 원칙(OCP, Open-Closed principle)을 지키기 때문이다.이 두 가지 이유 모두 오해다.단
드라이빙 오퍼레이션 허용을 위한 입력 어댑터 사용헥사곤 외부에는 헥사곤 애플리케이션과 상호작용하는 사용자나 시스템이 있을 수 있다. 이러한 사용자나 시스템을 가리켜 애플리케이션 유스케이스를 형성하는 중추적인 역할을 하는 주요 액터(primary actor)라고 한다.주