-
K8S, DNS 간헐적 5~15초 지연DEV 2023. 12. 2. 19:54
Background k8s 일부 pod에서 간헐적으로 5초 단위의 타임아웃 발생 5*x초의 지연이 DNS조회로 인한 이슈라는 문서를 찾음 DNS Domain Name System 도메인명(www.daum.net) → IP주소(12.34.56.67) In Linux Linux 환경에서 DNS를 사용하는 방법 크게 2가지 /etc/hosts 도메인명으로 IP를 찾을 때 가장 먼저 열어보는 파일 /etc/resolv.conf DNS resolver, DNS 서버 목록을 기록한 파일 /etc/hosts 파일에 도메인명이 존재하지 않을 경우 /etc/resolv.conf에서 도메인명을 검색할 도메인 서버의 주소를 찾는다. DNS in K8S CoreDns v.1.12 이후로 k8s에서 사용을 권장하고 있는 도메인..
-
Test DoubleDEV 2023. 12. 2. 19:33
테스트 대역 = Test Double 개발하다 보면 여러 객체들 간 의존성이 발생 → 의존성이 단위 테스트를 어렵게 만듦 → 진짜 객체는 느리고 자원을 많이 사용하기 때문에 → 실제 객체를 대신할 수 있는 객체가 필요 → 가짜객체 생성 ⇒ test double (테스트 대역) 💡 test double을 mock이라고 말하는 경우도 있지만, mock은 좁은 의미로 test double의 한 종류, 넓게는 테스트 더블을 의미하기도 한다. 대역(test double)의 종류 stub, fake, spy, mock 역할을 명확히 나누는 것이 애매할 경우가 있고, 서로의 특성을 조금씩 포함 input & output 입력 → 논리 → 출력 모든 프로그램은 입력 → 출력의 흐름으로 이어지는데, 입출력의 종류에는 직..
-
Dependency MechanismDEV 2023. 12. 2. 11:44
maven, gradle dependency tree 아래와 같은 커맨드로 볼 수 있긴 하지만,, mvn dependency:tree gradle dependencies 좀 더 편하게 볼 수 없나? view dependencies as a diagram intellij 다이어그램 형태로 볼 수 있는 bundled plugins를 제공한다. maven gradle ultimate에서만 가능하다. 😓 Maven Extension, Gradle Extension bundled plugins Dependency Mechanism maven의 핵심 기능은 종속성 관리인데, 같은 라이브러리인데 여러버전이 발견 될 경우 어떤 버전을 선택할지 결정하는 메커니즘을 가지고 있다. https://maven.apache.or..
-
slf4j, facade, TDDDEV 2023. 12. 2. 11:13
slf4j log4j 취약점 사태로 인해 로깅 라이브러리들을 살펴보다가.. slf4j를 쓰면서 단 한번도 f의 의미에 대해 생각해보지 않음을 깨달음. Simple Logging Facade For Java facade = 외관, 파사드 패턴의 그 파사드 로깅 라이브러리의 인터페이스 역할 SLF4J가 인터페이스화 되어있기에, SLF4J를 의존하는 클라이언트 코드에서는 실제 구현을 몰라도 됨 의존관계 역전 원칙(dependency inversion principle) spring-boot-starter-web > spring-boot-starter-logging에 기본적으로 logback 구현체가 포함되어 있기 때문에 logback을 기본으로 사용 Facade pattern 파사드 패턴은 단순화된 인터페이스..
-
Elasticsearch Shard & 성능DEV 2023. 12. 2. 10:57
Elasticsearch 샤드의 개수에 따른 색인(index)과 검색(search) 성능에 관한 이야기. Cluster 하나 이상의 노드로 구성 Node 단일 ES인스턴스 master node, data node 서버별 1개 노드 설정을 추천 Index 문서 모음 shard → lucene index 검색/색인이 병렬로 동작할 수 있도록 데이터를 여러 개의 작은 조각으로 나누는 것. primary shard, replica shard Primary shard index(색인), search(검색) 기본적으로 색인 성능을 위함 인덱스 생성 후, 데이터 생성전에만 shard size 설정 가능 7.x default 1개, 6.x default 5개 Replica shard search 검색 성능을 위함, 언..
-
재택근무, 오피스근무 그리고 미신ESSAY 2023. 12. 2. 09:39
재택근무 : 근로 형태의 일종으로, 정보 통신 기기 등을 활용하여 시간과 장소의 제약을 받지 않고 유연하게 일할 수 있는 형태 미신 : 과학적 관점에서 헛된 것으로 여겨지는 믿음이나 신앙 - 위키백과 요즘 상당히 이질적인 느낌의 두 단어가 느슨하게 연결되어 있는 것을 느낍니다. 프로그래밍에서 모듈 간 결합도는 느슨한 연결이 좋다고 배웠지만 이번의 경우엔 좋은 건지 나쁜 건지 아직 모르겠습니다. 코로나19로 인해 시작한 재택근무가 엔데믹으로 들어서면서 많은 회사들이 재택근무의 비율을 차츰 줄이거나, 없애고 있습니다. 제가 일하는 회사도 예외는 아닙니다. 출근제도 변화에 대한 저의 생각을 정리해 보면, 저는 오피스 근무를 반대하지 않습니다. 오피스/재택근무 모두 각각의 장단점이 있고 적절히 사용하는 것이 효..