tech 12

Tabellarius CDC, Cursus 생태계의 시작

메시지 브로커로 시작한 오픈소스 프로젝트 cursus는 작업해온 양이 방대해서 문서화하는데도 오래 걸리고 있다. 플랫폼화해서 생태계를 이루는 것을 다음 목표로 생각하고 있던 터라, cursus connector에 해당하는 CDC 사이드 프로젝트를 함께 시작했다. https://github.com/downfa11-org/tabellarius GitHub - downfa11-org/tabellarius: Change data capture sourceChange data capture source. Contribute to downfa11-org/tabellarius development by creating an account on GitHub.github.com 이번 글은 CDC 프로젝트의 시작과 함께 ..

tech 2025.12.30

오픈소스 입문자를 위한 Kubernetes 지역화: 누락된 문서 탐지 스크립트 구현

쿠버네티스 문서 생태계의 지역화(localization)한번쯤은 모두들 들어가봤을 공식 문서다. https://kubernetes.io/ko/ kubernetes-sigs/docs쿠버가 오픈소스인만큼 문서도 사용자들의 자유로운 참여로 추가, 수정되고 있다. 이 문서의 저장소인 kubernetes-sigs/docs는 kubernetes.io에 배포되는 모든 문서나 번역본을 모두 포함하고 있다. 지역화(localization)는 영문 문서를 진실의 원천(Source of Truth)로 두고 관리하는 SIG-DOCS팀의 산하 서브 프로젝트이다.이 공식 문서 생태계를 지역별로 번역·관리하는 활동으로, 영문 문서를 두고 다국어 번역, 동기화하는 downstream 작업이다. 쿠버네티스 지역화를 입문자에게 추천..

tech 2025.12.22

[논문 직역] In Search of an Understandable Consensus Algorithm

Diego Ongaro and John Ousterhout Stanford University Paxos나 불필요한 부분은 공부하면서 제외했음. 자체적으로 넘버링 및 생략한 문단이 있음.모든 사진은 내렸고, usenix의 원본 논문을 찾아가면 볼 수 있으니 직접 찾아가길 권장함. AbstractRaft는 복제된 로그를 관리하기 위한 consensus 알고리즘이다. 이 방법은 (multi-)Paxos와 같은 결과를 내며 효율적이지만, 그 구조는 Paxos와 다르다. 이로 인해서 Raft가 Paxos보다 이해하기 쉬워지고, 실용적인 시스템을 구축하는데 더 나은 기반을 제공한다.이해를 쉽게 하기 위해서 Raft는 Leader election, Log Replication, Safety같은 consensus 핵..

tech 2025.12.07

콘클라베를 통해 Raft 합의 알고리즘을 이해해보자 (feat. Kubernetes etcd)

근황 잠깐 말하자면 오픈소스를 직접 만들고 있다. 추후 목표중 하나로 '분산 클러스터링'을 염두하여 설계해왔다. https://github.com/downfa11-org/go-broker/issues/16 Add Distributed Coordination for Broker Cluster · Issue #16 · downfa11-org/go-brokerSummary The current broker is designed for single-node deployment, but the architecture already targets future scale-out. This proposal introduces etcd to enable a distributed, highly available bro...

tech 2025.12.06

ArgoCD OSS - 오픈소스 멤버로 날 받아다오 (진행중)

그동안 ArgoProj 전반에 걸쳐서 기여해온 내용을 바탕으로 Member 신청을 진행했다. ArgoProj 자체는 CNCF graduated해서 오픈소스 성숙도를 인정받은 Argo-CD로 가장 유명하다. 나는 내부적으로 Argo-CD 이외에도 Argo-Workflows, Argo-Rollouts, Argo-Helm 등에 자잘한 기여를 이어왔다.반년 조금 안되게 진행해온거 같은데, 멤버 승인 과정이 까다롭고 절차가 복잡했다. 커뮤니티에서 정의하는 'ArgoProj Member'는 적극적인 기여자로써 Github 조직의 구성원을 말한다. 2명의 approver 또는 leads로부터 스폰받은 기여자가 신청할 수 있다. 예???? 오픈(Open) 소스인데 회원제라뇨??? 아무튼 가장 최근 멤버 모집이 올해 ..

tech 2025.11.09

ArgoCD OSS - 다음 페이즈로 넘어가는 회고 (feat. 그동안 작업한 내용)

재밌어서 하고 있지만 만만치 않다. 슬슬 걸음마를 뗐다고 생각하고, CNCF Slack에 가입하면서 회고를 작성한다. 다음 페이즈로 넘어가는 레벨업 단계라고 받아들이는 좋은 터닝 포인트가 되었다.이제 슬랙에서 PR 봐달라고 올리고 거기서 토론하는 수준까지 나아가겠다. 2Phase에서는 Slack에서 메인테너들과 직접 소통하는 수준까지 가는 것을 생각하고 있다.최종적으로는 올해 안에 ArgoProj 멤버가 되는 것을 마지막 페이즈로 목표하고 있다. 지금까지는 PR이나 이슈를 통해서만 대화하고 주제에 대해서 이야기를 나눴었다. 일단 다른 사람들에 비해서 코멘트 수가 많아지니 이목이 집중돼서 부담스럽다.그리고 코멘트만으로는 사실 무슨 의도인지 이해하기 어려운 경우가 많아서 채팅 형식의 포럼이 필요했다. ..

tech 2025.08.29

ArgoCD OSS - 전 아직 Git이 어려워요 (feat. Git rebase 오류)

요즘 딴거 안하고 Go 배우면서 오픈소스만 쳐다보고 있다.잘못해서 맨날 인도형님이 도와준다. 나도 언젠가 뉴비들 괴롭힐거다 니티시 형님 오늘도 PR 올렸습니다. 하 걍번호딸까? 몰두하고 있는 오픈소스는 CNCF를 졸업한 argo 프로젝트이다.자동화에 관심이 많아서 선언형으로 관리하는 GitOps 도구에 매력을 느꼈고, 그전에도 argo-cd나 argo-rollout은 써봤다. 재밌어서 꾸준히 시간내서 보고 있긴 한데, 숟가락으로 동굴 파는 느낌이다깨작거리면서 뭔가 알거 같긴 한데 너무 방대하니 시간 박아도 몰라서 자신 없을듯 사실 오늘 겪은 쪽팔린 사고를 동네방네 떠벌리고자 똥글 쓴다. ㅠㅠㅠ그리고 영어로 대화하기 너무 힘들다. 다같이 나한테 손가락질하는데 영문도 모른채 지건당해야 한다 처음에는 ..

tech 2025.08.25

NoSQL의 쓰기 성능이 좋은 이유를 뭐라고 설명해야할까?

면접 질문에서 나온 ‘NoSQL이 왜 쓰기 작업에 뛰어난 성능을 내는가요?’에서 답변을 만족스럽지 못하게 한게 찜찜했다. 좀 더 잘 말할 수 있지 않았을까?   수직적 확장(Scale-Up)보다 수평적 확장(Scale-out)에 최적화된 아키텍처대부분의 NoSQL은 분산 클러스터를 기반으로 설계되어서 쓰기 작업을 여러 노드에 분산시킬 수 있다.반면, RDB는 보통 단일 서버에 의존하는 경우가 많아서 쓰기 작업에 대해 확장성이 제한된다.스키마리스(Schema-less) 구조RDB같은 경우는 정형화된 스키마를 가지기 때문에 미리 테이블 구조를 정의한다.당연히 쓰기 작업시에도 스키마 검증을 거치면서 오버헤드가 발생한다.반면 NoSQL은 스키마가 존재하지 않기 때문에 필드값 변경에 제약이 없어 자유로운 쓰기 작..

tech 2025.03.20

웹소켓(WebSocket)과 Websocket-sharp.dll 오류

웹소켓 등장 이전의 기술Polling : 새로운 메시지가 있는지 계속 서버에게 물어보기미친 요청 수(request)와 LatencyLong Polling:메시지가 있거나, TimeOut할때까지 request 잠깐 기다렸다가 responsePolling보다는 request 요청이 적지만 그래도 많음Streaming :이벤트가 발생했을 때 응답을 내려주되, 응답을 완료시키지 않고 계속 연결을 유지하는 방식연결 시간이 길어질수록 연결 유효성 관리의 부담Request, Response 헤더가 불필요하게 크다. 웹소켓(WebSocket)웹소켓(WebSocket) : 두 프로그램 간의 메시지를 교환하기 위한 통신 방법​웹소켓과 HTTP 통신의 비교 : 수립된 연결을 어떻게 하느냐?​연결성 ↔ 비연결성  HTTP와 ..

tech 2024.11.17

ARIMA를 이용한 향후 5일간 비트코인(BTC) 종가 예측 프로젝트

오잉? ARIMA에 대해 쓴 글이 작년 10월로 군대에 있을때 작성한건데.. 전역하고 다시 복습하면서 찾아보니까 함수가 아예 사라짐;​statsmodels.tsa.arima\_model -> statsmodels.tsa.arima.model 로 라이브러리 위치가 바뀐거였음..​ 아무튼 이번 주제는 5일 간격의 시간을 둔 미래의 시계열 데이터. 즉 '향후 5일 뒤의 비트코인 종가'를 예측할거다​ 1. 데이터 전처리빗썸에서 제공하는 API의 get_ohlcv() 함수를 통해서 비트코인 정보를 뽑아온다.​여기서 중요한 점은, 현재 종가를 기준으로 5일 뒤의 미래 종가를 예측하는게 맞지만 그게 정확한지는 5일 뒤에 확인해야하는 문제점이 생김 ​그래서 아쉬운 대로 5일 전의 종가를 학습 데이터로 넣어서 예측한 값..

tech 2024.11.17