Blog Posts

MongoDB Compression

공식 문서 : https://www.mongodb.com/docs/manual/core/wiredtiger/#compression WiredTiger 를 이용할 경우 기본적인 압축 라이브러리는 snappy 로 적용 된다. 그외 적용 가능한 라이브러는 zlib, zstd 가 있음. 압축에 대한...

Netty Base 로 이용할 경우, URL 길이 제한 문제 해결 방법

GET 요청에 413 Payload To Large 응답이 발생할 때 대응 방법. Spring Webflux 등에서 Netty Base 로 이용할 경우 발생할 수 있다.

Kafka Subscribe/Assign Semantics

Kafka Consumer 를 이용할 때 2가지 방식이 있다. Subscribe vs Assign 두가지 방식에 대해서 어떤 차이점이 있는지 알아보자.

Cassdio 개발 후기

이번에 새롭게 OpenSource 를 개발한 후기에 대해서 짧게 작성해보려고 한다. OpenSource Link : https://github.com/hakdang/cassdio 관심있으시다면 Star 부탁드립니다!!

Feed System 에서 Content 삭제에 대한 처리 고민.

Feed System 구성 Content 는 특정 Group 하위에 여러 Content 를 가질 수 있는 구조로 되어있다. Content 를 제공하고 있는 테이블이 있고, Feed 를 제공하기...

Throttling, Debounce 에 대해서

DOM 이벤트나 함수의 실행 빈도를 줄여 성능 향상을 가져오기 위한 개념 해당 개념에 대한 대표적인 사용사례 Throttling 을 통한 데이터 노출 스크롤을 움직일 때 수...

[Kubernetes] Kubernetes 가 필요한 이유와 도입시 얻을 수 있는 장점에 대해서

Kubernetes 에 대해서는 언급하지 않고, 이점에 대해서만 정리하려고 합니다.

Java GC 에 대해서

Garbage(유효하지 않음 메모리) 를 정리해주는 것을 Garbage Collection 이라고 한다. 처리 방식이나 기타 사항들은 언급하지 않고 종류에 대해서만 정리할 예정이다.

Counter 기능 구현하기!(조회수 등)

특정 컨텐츠(글)에 대한 Counter(조회수) 기능을 구현할 때 어떤 문제점이 있고, 어떤 형태로 해결해 나갈 수 있는지를 정리한 글 입니다. Counter : 조회수 등을 구현한 기능...

Data Migration 작업(with tip)

마이그레이션 작업이란? A 저장소에서 B 저장소로 데이터를 이관하여 좀 더 확장성 있게 구조를 개선하거나, 신규 기능을 위해 작업이 필요할 경우도 있다. 반정규화 되어있는 테이블을 정규화한다던가…?...

[Cassandra] Truncate 작업하기

Table 에 대해서 데이터를 비우는 처리할 겸 truncate 작업에 대한 기록 https://docs.datastax.com/en/cql-oss/3.x/cql/cql_reference/cqlTruncate.html

[Cassandra] 기존 table 에 TTL 을 추가하면 어떻게 될까?

기존에 운영 중이던 테이블에 ttl 을 추가할 경우 어떻게 동작하는지 확인하기 운영을 하다가 정책 변경 등으로 인해 테이블 변경이 있을 예정이라, 검증 겸 정리해봄

목록 데이터에 대한 랜덤 처리

아래 정리한 내용에 대해서 좀 더 리소스를 절감하여 운영할 수 있는 방법이 없을까 고민하며 작성한 글이다. 목록 데이터가 있고, 해당 데이터들에 대한 변경은 정말 가끔...

BloomFilter 에 대해서

먼저, BloomFilter란? 특정 집합에 어떤 값이 존재하는지 여부를 확인하는 확률적 자료구조 다. 대규모 시스템에서 중복여부를 효율적으로 처리 할 수 있는 방법 중 하나!

[React.js] 사용해 보면서 정리한 Tip 1

리액트를 처음 사용하면서 이건 어떻게쓰지? 하고 검색했던 내용들을 정리한 글 입니다.

Npm Global uninstall

아래 명령어로 설치한 모듈 삭제하기

[Nginx] location block 설정

location 디렉티브 설정

Chaos Monkey Engineering

카오스 몽키(Chaos Monkey) 란?

[React.js] 살짝 찍어 맛보기

https://ko.reactjs.org/docs/getting-started.html

[Cassandra] CQLSH 사용하기

카산드라 설치한 곳에서 아래와 같이 사용 가능함. https://docs.datastax.com/en/archived/cql/3.3/cql/cql_reference/cqlsh.html

[Kotlin 경험기] Intelli J 에서 Kotlin Doc 자동완성

Intelli J 에서 Kotlin 을 사용 하면서 경험한 내용을 정리한 글 입니다.

[Kafka] Kafka Producer Ack

Produce Ack 설정에 대하여 Broker 에 Message 가 잘 전달되었는지 확인하는 작업을 뜻함.

[Kubernetes] Pod 를 진단하는 Probe

Kubernetes Pod 를 진단하는 Probe 주기적으로 수행하여 pod 를 진단하는 걸 probe 라고 한다. https://kubernetes.io/ko/docs/concepts/workloads/pods/pod-lifecycle/

[Kubernetes] kubernetes 란?

kubernetes 란? 모든 리소스는 오브젝트다. 컨테이너의 집합인 : Pods 컨테이너의 집합을 관리하는 컨트롤러 : Replica Set 사용자 : Service Account 노드 : Node

Team Build Up

아래 내용은 기존 서비스 조직에서 플랫폼 조직으로 분리되면서 경험한 내용들을 정리한 내용입니다.

[다시보기 Mysql] 2. Storage Engine & Transaction

Storage Engine 데이터를 직접적으로 다루는 역할을 하고 엔진마다 동작 원리가 다르다. 그래서 각 엔진마다 transaction, 성능 등 다르게 동작한다. Mysql 스토리지 엔진은 Plugin 방식으로 구현되어...

[다시보기 Mysql] 1. Mysql 공부하기 위한 준비

왜 다시보기 시작했는가?

Spring 에서 Validation 하기(1)

API 를 개발하는 과정 등에서 중요한 부분이 요청 값에 대한 검증처리 일 것이다. 조금 더 편하게 데이터 유효성을 검사할 수 있는 방법을 알아보자.

Project 문서화에 대해서...

하나의 프로젝트를 시작하게 됨에 따라 고민해야하는 것들이 생긴다. 기본적으로 어떤 언어를 쓸 것인지? 어떤 프레임워크를 쓸 것인지 등…. 그 외에도 외부와 연동해야하는 시스템을 만드는 것이라면...

힘겨웠던 성능 개선 프로젝트(아이디어)

작년 옆팀으로 업무 지원을 위해 투입 된 적이 있다. 주로 사용하는 언어가 아닌 다른 언어로 운영되는 시스템이였고, 정말로… 히스토리가 많은 시스템이였다. 사업적 요소에 대한 기능...