ohjongsung's Dev Story

Ohjongsung's Dev Story

정보은닉 Information hiding

인터넷에서 정보은닉에 대해 검색하면 private 접근 제어자를 사용해서 내부 데이터에 대한 접근을 막고 getter / setter 를 사용해서 접근하는 것으로 설명하고 있다. 이는 데이터 캡슐화로 엄밀히 말해서 정보은닉이라고 할 수 없다.

2021년 02월 21일

Prometheus scaling

사내 K8S에서 운영하는 프로메테우스가 힘들어해서 스케일링이 필요해졌다. 메트릭 데이터를 외부에 저장해서 제공하기로 했다. Integrations https://www.elastic.co/kr/blog/prometheus-monitoring-at-scale-with-the-elastic-stack

2020년 11월 29일

소소하게 오픈소스 기여 경험 정리

사내에 카프카 클러스터를 운영하고 있다. 프로메테우스와 그라파타 조합으로 토픽과 컨슈머 그룹 현황을 모니터링할 수 있게 제공하고 있다. 그런데 가끔 개발자분이 토픽 메시지 확인이 됐으면 좋겠다. 컨슈머가 제대로 토픽에 연결되었는지 확인할 수 있었으면 좋겠다. 등등 이런 저런 기능이 필요하다고 말하는 경우가 있었다. 공식적으로 지원할 계획은 없었고 다른 업무로 바빴지만, 자꾸 생각이 나서 툴이 있나 조사해보니 한달 무료 뒤에 유료 전환하거나 권한 제어가 안되서 토픽 생성, 삭제, 수정이 자유로웠다.

2020년 06월 13일

GraalVM != Graal

meta-circular 스타일이란 언어를 실행하는 환경과 코드를 개발하는 언어가 같은 스타일을 의미한다. C++로 개발된 HotSpot 은 지난 20년동안 자바 성능을 크게 끌어올렸지만, C++ 코드가 너무 복잡해진 나머지 추가적인 성능 개선이 어려운 상황이다. 그 대안으로 R&D로 개발해온 Maxine VM 이 추구하던 Meta-Circular 자바의 구현체가 바로 GraalVM 이다.

2019년 12월 08일

카프카 디자인

기존 메시징 시스템에서 파일 시스템은 성능 저하를 감수하면서도 메시지의 영속성을 위해서 어쩔 수 없이 사용했다. 그러나 카프카는 메시지를 메모리가 아닌 파일 시스템에 저장하면서도 보다 빠른 성능을 보여준다. 어떻게 이것이 가능한지 알아보자.

2019년 11월 11일

JAVA NIO 톺아보기

JAVA I/O 가 느린 이유 자바 I/O 가 느린 이유는 많이 알려져 있다. 첫 번째 이유는 C/C++과 달리 OS 에서 관리하는 커널 버퍼에 직접 접근할 수 없다는 것과 I/O 프로세스를 거치는 동안 작업을 요청한 쓰레드는 블록킹된다는 것이 두 번째 이유다. 자바에서 I/O 를 처리하는 전체 구조를 보여주는 그림에서 자세히 살펴보자.

2019년 09월 07일

Spring Cloud Config 개념 훑어보기

들어가기 Twelve-Factor App 에서 환경 설정 외부화 항목이 있는데, 이를 구현한 여러 컴포넌트 중 Spring 에서는 Spring Cloud Config 를 제공하고 있다. 하지만, 이넘이 Spring Boot 에서만 동작해서 Spring Framework 에서도 사용하기 위해 내부 원리를 파악하고 구현한 내용을 정리해 본다.

2019년 08월 10일

CAP 이론과 PACELC 이론

CAP 이론은 분산 데이터베이스 시스템에서 의미있는 이론이다. 분산 데이터베이스의 세 가지 속성인 일관성(Consistency), 가용성(Availability), 네트워크 파티션 허용(Partition tolerance)을 나타낸다. 처음 CAP 이론이 발표된 후, 시간이 지나면서 이론의 허점이 발견되었고 이를 보완하는 PACELC 이론이 나오게 된다.

2019년 05월 01일

REST API를 얼마나 나누고 묶을까? - REST API Granularity

해석하면 API 입도, 즉 API 를 얼마나 세밀하게 나눌 것이냐(Fine grained), 거칠게 묶을 것이냐(Coarse grained) 를 의미한다. Fine grained vs Coarse grained

2018년 09월 25일

REST API 성숙도 모델 - Maturity Model

지난 글에 이어서, 이번에는 Rechardson 의 API 성숙도 모델에 대해서 정리해 보겠다. 어떤 글에서는 6 단계로 나누기도 하는데, 원문의 모델은 4 단계로 나누어져서 각 단계를 달성할 수록 REST API에 가까워진다고 말한다.

2018년 07월 21일

1 2 »