분류 전체보기
-
Kafka Consumer 개념Kafka 2023. 9. 13. 17:14
- 목차 * 소개Kafka Consumer 가 Kafka Broker 로부터 메시지를 읽어들이는 전반적인 과정을 설명하고자 합니다. * partition - consumerKafka Producer 가 생성하는 메시지들은 Topic 의 여러 Partition 에 분산저장됩니다. Kafka Consumer 가 특정 Topic 을 조회한다는 의미는 Topic 의 Partition 들을 개별조회하는 것을 뜻합니다. 만약 Topic A 의 Partition 이 4개라면 Kafka Consumer 들은 각각의 Partition 을 조회하게 됩니다. 그리고 Partition Consumer 의 매칭의 대전제는 N : 1 으로 적용되어야 한다는 것인데요. 하나의 Partition 을 2개 이상의 Consumer 가 ..
-
[linux] jq 사용법Linux & Shell 2023. 9. 12. 22:07
목차 [json] key 로부터 value 추출 echo '{"a":1}' | jq '.["a"]' >> 1 [json] netsted json 의 value 추출 echo '{"outer-key" : {"nested-key" : true}}' | jq '.["outer-key"]' >> { "nested-key": true } echo '{"outer-key" : {"nested-key" : true}}' | jq '.["outer-key"] | .["nested-key"]' >> true echo '{"outer-key" : {"nested-key" : {"inner-key": false}}}' | jq '.["outer-key"] | .["nested-key"] | .["inner-key"]' >>..
-
MySQL ReplicationDatabase 2023. 9. 11. 15:32
소개 * binary log 는 데이터의 변형 사항을 기록하는 로그 파일입니다. Table 에 대한 create, drop, truncate 와 Row 에 대한 insert, update, delete 에 대한 쿼리을 모두 기록합니다. 해당하는 쿼리들은 binary format 으로 기록되기 때문에 binary log 라고 불립니다. MySQL Replication 은 Source MySQL 에 저장된 binary log 를 적극 활용합니다. Replica MySQL 이 Source MySQL 의 binary log 내용들을 읽어들여 복제를 시도하죠. 이렇게 복제된 2개 이상의 데이터베이스가 가지는 여러 이점들이 있습니다. 먼저, 복제된 서버가 존재하기 때문에 가용성을 높일 수 있습니다. 그리고 읽기 요..
-
MySQL my.cnfDatabase 2023. 9. 11. 09:24
소개 my.cnf 라는 이름은 MySQL 의 설정파일의 이름입니다. cnf 라는 확장자명은 유닉스 환경에서 사용되는 MySQL 설정 파일의 확장자이며, 윈도우 계열에서는 my.ini 라고합니다. 설정 파일은 mysql 의 설정을 위한 내용을 포함하는데요. mysql 을 구성하는 여러가지 요소들이 존재하기 때문에 각각의 구성요소 별로 설정이 가능합니다. 예를 들어, [client] default-character-set = utf8 socket=/var/run/mysqld/mysqld.sock [mysqld] bind-address = 0.0.0.0 soket = /var/mysql/mysql.sock port = 3306 위 예시는 client 와 mysqld 의 설정을 각 block 별로 적용합니다. ..
-
[ pytorch ] ConvTranspose2d 알아보기AI-ML 2023. 9. 11. 09:19
- 목차 키워드.- Convolution- CNN- AutoEncoder 들어가며.CNN 이나 AutoEncoder, VAE (Variational Auto Encoder) 등을 구현할 때에 Convolution Layer 을 위해서 Con2d 레이어가 사용됩니다.Convolution Layer 로 구성된 Neural Network 는 필연적으로 뉴런의 사이즈가 작아지는 방향으로 이어집니다.예를 들어, 아래의 이미지처럼 36x36 사이즈의 이미지는 9x9 커널과 콘볼루션 연산을 통해 28x28 사이즈로 크기가 줄어듭니다.그리고 14x14 사이즈의 텐서 또한 5x5 커널과 연산되어 10x10 크기의 텐서로 변환됩니다. 즉, CNN 을 통한 Classification 이나 Auto Encoder 의 En..
-
Kafka Producer Process (카프카 프로듀서 과정)Kafka 2023. 9. 9. 00:09
소개kafka producer 가 kafka broker 에게 메시지를 전송하는 과정에 대한 설명을 해보겠습니다. kafka 는 binary wire protocol 이라는 네트워크 프로토콜을 활용하여 브로커와 통신합니다. 여러가지 언어로 작성된 kafka client library 들 또한 binary wire protocol 을 구현한 결과물입니다. 효율적인 통신을 구현하기 위해서 여러가지 단계를 거치게 되는데 각 단계에 대해서 알아보겠습니다. ProducerRecordProducerRecord 는 kafka producer 와 kafka broker 가 통신하기 위해서 사용되는 데이터의 기본적인 형태입니다. ProduerRecord 의 형태는 대략 아래와 같은 구조체의 모양을 가지며, topic 부..
-
[numpy] axis 사용법 ( min, max, sum ) 알아보기Python 2023. 9. 6. 13:45
- 목차 들어가며.numpy 의 ndarray 는 min, max, sum 과 같은 내장함수들이 존재합니다.그리고 이 함수들은 axis 라는 인자를 가지는데요.axis 인자를 활용하여 특정한 Dimension 의 연산을 수행할 수 있습니다.예를 들어, 칼럼별 최대값 또는 Row 별 Sum, Count 등을 계산할 수 있죠.하지만 axis 인자에 어떤 숫자를 넣어야 하는지 항상 헷갈리는 문제가 있어서 이번 글에서 정리를 하려고 합니다. 먼저 바쁘신 분들을 위해서 기본적인 원리의 설명 이전에 다양한 예시와 결론을 말씀드리려고 합니다. 2차원 Matrix.Sum & axis=0.2차원 Matrix 에서 sum 함수와 axis=0 연산을 수행해봅니다.아래와 같이 axis 가 0 인 경우에는 아래와 같이 연산이 ..
-
[ ClickHouse ] arrayMap Function 알아보기Database/Clickhouse 2023. 9. 6. 13:12
- 목차 키워드.- ArrayMap arrayMap 사용해보기.arrayMap 함수는 Array(String) 와 같은 Array 타입의 데이터를 대상으로 Map Function 을 적용할 수 있습니다.일종의 Array 의 각 Item 을 변형하는 Mapper 함수와 같이 동작합니다. 간단한 활용 예시는 아래와 같습니다.user_actions 이라는 이름의 MergeTree 테이블을 생성하였구요.Array(String) 타입의 action 칼럼을 대상으로 arrayMap 함수를 적용합니다.create table default.user_actions( user String, action Array(String), acted_at DateTime) engine = MergeTre..
-
[Nginx] listen Directive 알아보기Nginx 2023. 9. 6. 12:51
- 목차 들어가며.이번 글에서는 Nginx 의 설정 파일에서 사용되는 listen 디렉티브에 대해서 알아봅니다.Nginx 는 중요한 여러가지 특징들이 있지만, 근본적으로 네트워크 트래픽을 수용할 수 있는 네트워크 서버 애플리케이션입니다.흔히 TCP 기반의 네트워크 트래픽를 처리할 수 있는 여러 Socket 기반의 서버들이 있죠.사실상 모든 Backend Application 들이 Socket 관련 처리 부분이 추상화되어 있지만,Socket, Bind, Listen 등의 System Call 을 통해서 네트워크 서버 애플리케이션이 구현됩니다. Nginx 의 listen Directive 는 "listen 80;" 와 같은 형식으로 사용되며,이는 내부적으로Socket System Call 을 통해서 List..
-
[ ClickHouse ] groupArray Function 알아보기Database/Clickhouse 2023. 9. 6. 08:37
- 목차 키워드.- groupArray- ClickHouse 함께 보면 좋은 글.아래 글은 Docker 로 간단히 ClickHouse Container 를 구축하는 설명을 작성한 페이지입니다. https://westlife0615.tistory.com/694 [Clickhouse] Docker 로 Clickhouse 구현하기- 목차 들어가며. 이번 글에서는 Docker 를 활용해서 Clickhouse 를 구축하는 글을 작성하려고 합니다. 사용할 Docker Image 는 bitnami/clickhouse 이미지입니다. 간단한 MergeTree 엔진의 Table 을 생성하고 데이westlife0615.tistory.com groupArray 사용해보기.이번 글에서는 ClickHouse 의 groupArr..