기본적으로 배열에서 원하는 값을 찾기 위해서 주로 =, >, =, Postgresql 에서는 배열의 값을 찾는 여러 배열 연산자가 있어 정리해보려고 한다. 내가 배열 연산자를 찾게된 이유는 Postgresql 에서 tstzrange 라는 컬럼 타입이 있는데 해당 컬럼은 2개의 timestamptz 값을 가지는 배열의 형태로 되어있다. 따라서 tstzrange 타입의 컬럼 값을 통해서 값을 찾기 위해서는 배열 연산자를 통해 원하는 값을 찾아야 하는데 찾아보니 종류가 생각보다 많아서 정리해보려고 한다. Equal Operator (=)배열이 같은지 비교하는 연산자select array[1, 2] = array[1, 2] as equal_operator, -- True array[1, 2] = array[2..
내가 원하는 일을 한다는 건 무엇을 의미하는 걸까 나는 그저 내가 원하는 일을 하고 싶어서 열심히 준비하고 찾아다녔던 것 같다. 그렇지만 현실은 내가 원하는 대로 흘러가지 않았다. 내가 원하는 것과는 반대로 흘러갔고 반대로 흘러가고 싶지 않아 더 발버둥 친 것 같다. 그러다 결국 지치더라. 도대체 내가 원하는 일을 한다는 건 뭘까.. 왜 항상 내가 하고자 하는 것과는 반대로 하게 되고 가로막히고 불안에 떨어야하며 결국에는 체념에 이르러 받아들이게 된다. 나만 그런 게 아니라 나와 같은 일을 겪는 사람들도 분명히 어딘가에 있을 것이고 알 수는 없지만 정말 힘들게 버티며 나아가고 있을텐데... 분명 나만 그런게 아닌데... 방향이 나의 의지와는 달라졌을 때 다시 방향을 잡기 위해서 하는 행동을 나는 최선이라..
vscode 를 사용하다보면 폴더를 생성하고 그 폴더 하위에 하나의 폴더를 생성하게 되면 다음과 같이 폴더가 겹치는 경우가 발생한다. 이렇게 겹치는 이유는 vscode 에서 기본 값으로 compact folders 설정을 활성화 해두었기 때문이다. 그래서 이 설정을 비활성화 해주면 된다. vscode 에 접속해서 MacOS 기준으로 [Command] + [,] 를 통해 Settings 를 실행한다.그리고 compact 를 검색하면 다음과 같이 Compact Folders 옵션을 확인할 수 있다. 가장 위에 있는 Explorer: Compact Folders 의 체크를 해제해주면 된다. 그럼 다음과 같이 겹쳐져있던 폴더가 풀어서 보여주는 것을 확인할 수 있다.
맥북에서 아나콘다를 설치하는 방법을 정리해두려고 한다. homebrew 설치나는 homebrew 를 통해서 anaconda 를 설치하려고 한다.homebrew 를 설치하는 방법은 아래의 사이트를 참고하면 된다. HomebrewThe Missing Package Manager for macOS (or Linux).brew.sh anaconda 설치homebrew 를 설치했다면 anaconda 를 설치한다.brew install --cask anaconda 설치가 완료되었지만 conda 명령어를 찾을 수 없다고 나온다. zsh 환경 변수 초기화그럼 아래의 명령어를 통해 맥북에서는 zsh 이기 때문에 zsh 의 환경변수를 초기화해준다.$ /opt/homebrew/anaconda3/bin/conda init z..
해당 내용은 '실전 카프카 개발부터 운영까지' 책을 통해 공부하고 정리한 내용입니다. 리플리케이션 (replication)카프카에서 리플리케이션이란 각 메시지들을 여러 개로 복제해서 브로커들에게 분산시키는 동작을 말한다.이러한 리플리케이션 덕분에 하나의 브로커에 문제가 발생하더라도 다른 브로커를 통해서 처리가 가능하기 때문에 안정성을 유지할 수 있다. 카프카에서 토픽을 생성하는 명령어에서 --replication-factor 3 이라는 옵션이 있는데 이 옵션은 카프카 내에서 몇개의 리플리케이션을 생성하겠다는 의미이다. 예를 들어, replication-factor 가 1 이면 리플리케이션이 1개 있다는 뜻이고 3이면 3개가 있다는 뜻이다. 만약 3개의 브로커를 생성해서 TEST 라는 토픽을 3개의 리플리..
docker 기반의 카프카 실습 환경을 만들어보려고 한다.개인적으로 실습할 경우 클라우스 컴퓨팅 서비스를 사용하지 않는 이상 개인 PC 에서 컴퓨터 리소스가 매우 부족하기 때문에 Docker 를 사용해서 카프카를 간단하게 사용할 수 있는 실습 환경을 만들어보려고 한다. 준비사항먼저 준비사항으로는 Docker 가 설치되어있어야 한다. 그리고 docker compose 2 버전 이상이 설치가 되어있어야 한다.나는 다음과 같은 버전으로 docker 와 docker compose 가 설치되어있다.# docker version$ docker -vDocker version 27.4.0, build bde2b89# docker compose version$ docker compose versionDocker Comp..
해당 내용은 '실전 카프카 개발부터 운영까지' 책을 통해 공부하고 정리한 내용입니다. 카프카는 데이터를 받아서 전달하는 데이터 버스 역할을 한다.카프카에 데이터(메시지) 를 만들어서 주는 쪽을 프로듀서(Producer) 라고 부르며, 카프카에서 데이터(메시지)를 빼내서 소비하는 쪽을 컨슈머(Consumer) 라고 부른다. 그리고 주키퍼는 카프카의 정상 동작을 보장하기 위해 메타데이터를 관리하는 코디네이터라고 할 수 있다. 프로듀서 (Producer)데이터(메시지) 를 만들어서 주는 쪽컨슈머 (Consumer)데이터(메시지) 를 받아서 소비하는 쪽쥬키퍼 (Zookeeper)정상동작을 보장하기 위해 메타데이터를 관리하는 코디네이터 프로듀서는 메시지를 카프카로 전송하는 역할을 하고 메시지를 어떻게 보내느냐에..
2024년은 내 인생에서 가장 다사다난했던 한 해가 아니었나 싶다.작년인 2023년도에는 길고 길었던 취업 준비 기간을 견디며 취업에 성공했고 앞으로 좋은 일만 있을 것이라고 생각했었다.사실 더 힘든 일이 생길 것이라고는 생각하지 못했다. 아니, 생각하고 싶지 않았던 것 같다. 2024년 새해가 밝아오고 동시에 나는 A형 독감에 걸려 끙끙 앓으면서 방에서 누워만 있었다. 새해인데 본가에 내려가지도 못하고 아파서 아무것도 하지 못했던 것 같다. 그렇게 새해는 아픔을 시작으로 힘들게 시작했던 것 같다. 그리고 갑작스레 회사에서는 재정적인 문제로 급여를 지급할 수 없다는 말과 함께 급여가 지급되지 않았다. 이때까지도 급여가 나오지 않는 상황에 대한 심각성을 크게 인지하지 못했던 것 같다. 시간이 지나면 밀린 ..