목록Tech (27)
테키테크 TEKITECH
stable 버전 설치. 아래 명령어들을 순서대로 입력. $ sudo apt update $ sudo apt-get install -y apt-transport-https ca-certificates curl gnupg-agent software-properties-common $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - $ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" $ sudo apt update $ sudo apt-get install -y docker...
▶ 이 글에서는 맥북에서 동영상에 자막을 넣는 방법을 다루지만, 윈도우 환경에서도 크게 다르지 않습니다. ▶ 이 글에서 사용할 프로그램은 HandBrake이며, 무료입니다. ▶ 이 글에서 사용할 동영상은 Pixabay에서 가져온 동영상입니다. - 순서 - 1. 동영상 준비하기 2. 자막 파일(srt) 만들기 3. HandBrake 설치하기 4. HandBrake로 동영상에 자막 파일 넣기 1. 동영상 준비하기 이 글에서 사용할 동영상은 Pixabay에서 가져온 동영상으로, Pixabay에서 무료로 사용 가능하도록 공개한 동영상입니다. 2. 자막 파일(srt) 만들기 다음으로 위 파도 영상에 넣을 자막 파일이 필요합니다. 자막 파일에는 .smi, .srt, 그리고 .ass가 있습니다. (자세한 설명은 이 ..
5장과 6장에서는 프로듀서와 컨슈머의 내부 동작과 원리, 그리고 구현 방법을 다룬다. 한 번에 모두 소화하기는 쉽지 않아서 우선 프로듀서 내부 동작 원리를 이해하는 것만을 목표로 5장을 공부해보았다. 목차 프로듀서와 카프카 배치 전송 방식과 개선 전략 1. 지연시간 최소화: 라운드 로빈 전략과 스티키 파티셔닝 전략 2. 압축 전송 3. 중복 없는 전송 4. 정확히 한 번 전송 프로듀서와 카프카 카프카는 성능 향상을 위해 병렬 처리를 지향한다. 따라서 메시지는 토픽 별로 관리하고, 토픽은 최소 하나 또는 둘 이상의 파티션으로 나누어 구성하며, 각 파티션의 데이터는 용량에 따라 로그 세그먼트로 나누어 저장한다. 반면 프로듀서는 빠르고 안정적인 성능을 위해 배치 처리, 압축 전송 등의 방식으로 트래픽을 최소화..
앞서 카프카의 기본 개념과 구조를 이해하고, 실습 환경을 구축해보았다. 이번 장에서는 카프카 기본 명령어를 사용해 실습을 진행하며 리플리케이션 동작과 리더-팔로워 역할, 리더에포크, 컨트롤러, 로그 및 로그 컴팩션 등 핵심 내부 동작의 원리를 공부해보려고 한다. 목차 카프카 리플리케이션 카프카의 기본 도구 토픽과 세그먼트, 그리고 리플리케이션 [실습 1] kafka-topics.sh 명령어로 토픽 생성 [실습 2] 토픽 상세 정보 확인 [실습 3] 콘솔 프로듀서를 이용해 토픽에 메시지 전송 [실습 4] 세그먼트 파일로 리플리케이션 확인 로그 세그먼트 관리 방법 [실습 5] 로그 세그먼트 삭제 메세지 일관성 유지 전략 1. 리더-팔로워 역할 분리 2. ISR과 컨트롤러 [실습 6] controlled sh..
이번 장에서는 카프카 실습을 위해 인프라 구축을 해본다. 책에서 추천하는 방법은 AWS 환경이고, 온프레미스로 구축하는 방법도 알려준다. 하지만 나는 GCP를 사용하고 있기 때문에 GCP에서 실습을 진행했다. 환경을 구축한 후에는 프로듀서와 컨슈머에서 메시지를 주고받는 동작을 실제로 해보면서 기본 구동 원리를 공부했다. 실습 환경 구성 책에서는 카프카 3대, 주키퍼 3대, 배포용 서버 1대와 DNS 서버 1대로 구축해보는 것을 추천한다. 하지만 테스트용이므로 DNS 서버 구축까지는 안 하고 호스트 파일만 바꿔주기로 했다. 그래서 내가 구축하려는 환경은 아래와 같다. 어느 정도 익숙해지면 DNS 서버 두고 사이즈를 좀 더 키워보고 싶다. GCP VM 인스턴스 스펙과 예상 비용 책에서 권장하는 주키퍼와 카프..
1. 첫 번째 오류 앤시블 스크립트는 책에서 제공한 걸 사용했다. 주키퍼를 설치할 서버를 모두 구축하고, rsa 키로 ssh 연결이 잘 되는 걸 확인했는데 아래와 같이 UNREACHABLE! 오류가 생겼다. 더보기 [yt.lim@teki-ansible01 ansible_playbook]$ ansible-playbook -i hosts zookeeper.yml PLAY [zkhosts] *************************************************************************************************************************************************************************************..
책에서는 2장에서 실습 환경 구성을 하고, 3장부터 실습을 하면서 카프카 기본 개념을 설명한다. 그런데 환경 구성에 필요한 VM 인스턴스만 7개이다 보니 기본 구조와 용어를 먼저 이해하고 구축해보는 게 더 좋겠다는 생각이 들었다. 그래서 이번에는 용어만 간단하게 정리해보았다. 기본 개념과 구조 스터디하는 책의 2~3장과 데브원영님의 을 기반으로 내가 이해한 카프카의 구조를 그려보았다. 전체 구조를 이해하기까지 시간이 많이 걸렸는데, 이렇게 그려놓고 보니 생각보다 간단한 구조인 것 같다. 프로듀서Producer : 카프카에 메시지를 만들어서 전달하는 클라이언트를 총칭 컨슈머Consumer : 카프카로부터 데이터를 받아 소비하는 클라이언트 카프카Kafka 또는 카프카 클러스터Kafka Cluster : 프로..
MLOps를 하다가 문득 모델에 대해 좀 더 알아야겠다고 생각했다. 개인적으로 궁금하기 때문이기도 하지만 내가 어느 정도 모델을 돌려볼 줄 알아야 모델러와 협업 시 더 효율적으로 일할 수 있을 것 같았기 때문이다. 테스트는 아래 순서로 진행해보았다. 웹에서 모델 테스트해보기 Conda 가상환경 준비 EasyOCR 테스트 코드 작성 및 실행 결과 분석 OCR 중에서 가장 유명한 모델이 EasyOCR이라고 한다. 특히 한글은 좋은 모델이 별로 없는데 EasyOCR은 정확도가 상당히 높은 축에 속한다고 한다. 한국인 Contributer가 열심히 개선해주시고 계셔서 그렇다고 들었다. 사실 Clova OCR같이 기업에서 만든 모델도 성능이 좋은 게 있다고 하는데 유료...라서 이번엔 오픈소스인 EasyOCR을 ..