개발하면서/타인글보면서
-
Naver Deview 2020 시청 및 정리개발하면서/타인글보면서 2021. 1. 11. 09:42
Deview 2020에서 개인적으로 흥미가 있는 영상들을 보고 정리했다.. 발표에서 어떤 방법으로 얼마큼의 이득을 얻었는지 얘기한 것도 좋았지만 과거에 갖고 있던 문제들을 설명하고 대안들을 나열하며 여러 대안들 중 현재 상황에서 균형 잡힌 선택을 하는 일련의 과정들이 재밌고 고마웠다. 문제를 해결하는 것의 다음 단계는 문제를 정의하고 해결하는 거라고 회사 어느 분이 얘기해준 게 갑자기 생각나네... 허허허 손쉽게 ML 라이프사이클을 다룰 수 있는 MLOps https://tv.naver.com/v/16970565 . AI 연구자와 엔지니어의 관점 차이와 모델 표준화의 장점 Saved Model(TF), ONNX(Pytorch) . Model Registry 모델의 부가정보(meta)를 저장, 모델 파일은..
-
if(kakao)2020 보고 요약 및 생각들개발하면서/타인글보면서 2020. 12. 21. 00:06
봐야지 봐야지... 마음만 먹고 있다가 이번 주에 몰아서 if(kakao) 2020을 봤다. 개발 관련 세션뿐만 아니라 비즈니스, 서비스, VLOG, 인터뷰 등 다양한 내용들이 있는 게 좋았고, 온라인으로만 진행해서 그런지 몰라도 세션 네비게이션(?) 할 때 쉽게 파악 할 수 있어서 좋았다. 다른 사람들의 경험과 생각들을 보고 내 것으로 곱씹어보는 이런 시간이 생각의 폭도 넓히고 고정된 생각이 있다면 말랑하게 해준다. 요새 입력한 정보의 양에 집중하지 말고 내가 이걸 어떻게 소화할지와 그 소화된 것을 output(글이나 실제 코드 또는 실제 생활의 행동)까지의 한 바퀴를 경험하는 것에 집중하고 있다. (쉽지 않다 ㅋㅋㅋㅋ, 그래도 이 생각은 잊지 말고 꾸준히 상기하자) 시간 되면 if(kakao)dev ..
-
Kafka purgatory (1)개발하면서/타인글보면서 2020. 6. 29. 00:18
4. 그래서 Kafka에서는 어떻게 사용되고 있냐? DelayedOperation으로 검색하면 다양한 곳에서 사용하는데(Group Coordinator, Replica Manager, ZkAdminManager 등...) 여기서는 Replica Manager 기준으로 알아본다. broker가 가동되면 Replica manager가 한 개씩 생성되고 Replica Manager에는 역할 별 Purgatory가 존재한다. 이때 Partition을 생성하면 ReplicaManager의 Purgatory를 주입해서 아래 그림의 왼쪽은 파티션을 생성할 때 replicaManager의 Purgatory를 delayedOperations로 만들어 주입하는 코드고 오른쪽은 도식화 한것이다. 아래 그림은 xxxPurga..
-
Kafka purgatory개발하면서/타인글보면서 2020. 6. 20. 19:31
업무 중에 request를 보내면 X초 이후에 실행되는 scheduling repository를 살펴보다가 Kafka purgatory는 어떻게 구현했을지 호기심이 생겨 알아보았다. Confluent 블로그와 hierarchical timing wheels 논문을 쉽게 소개한 블로그, 두 개를 보며 나름대로 정리했다. https://www.confluent.io/blog/apache-kafka-purgatory-hierarchical-timing-wheels/ 1. Purgatory란 무엇이고 Kafka 어디에 사용되나? 네이버 사전에 Purgatory를 검색하면 연옥이라고 나오고 의미는 아래와 같다. 가톨릭 교리에서 연옥은 천국으로 가기에는 자격이 부족하지만 지옥으로 갈 정도의 큰 죄를 짓지 않은 죽은..
-
Kafka의 Sticky Partitioner 살펴보기개발하면서/타인글보면서 2020. 1. 18. 13:55
Kafka Broker(server)에 메시지를 주고받는 client 역할을 하는 Kafka Producer / Consumer 중 Producer의 성능 개선 기능이 있어 살펴보려고 한다. ref url: KIP-480, Apache Kafka Producer improvements Sticky Partitioner[Confluent Blog] Kafka Producer의 메시지 전송 방법 두 부분으로 나뉘어 있다. 사용자 코드에서 send()를 실행하면 토픽, 파티션별 record를 모아 놓는(record batch) Accumulator Accumulator에 쌓인 record batch를 가져와서 Kafka Broker에 전송하는 작업을 쉼 없이 하는 Network thread [2.4 코드를 보..
-
Elasticsearch shard 할당 방식을 정리해보자개발하면서/타인글보면서 2019. 11. 27. 21:13
최근 사내에서 사용하고 있는 Elasticsearch를 별다른 설정 없이 쓰다 보니 종종 인덱스/샤드 관련 문제가 생겨서 shard allocation 관련 학습 필요성이 생겼다. Elasticsearch Shard allocation 공식 문서와 AWS의 shard allocation 문서를 읽고 나름 직역했다. https://www.elastic.co/guide/en/elasticsearch/reference/7.2/modules-cluster.html master 노드의 주 역할은 인덱스의 샤드를 데이터 노드에 (고르게) 분배하고 균형을 위해 샤드를 재분배하는것입니다. 샤드 할당하는 4가지 방법과 꿀팁을 소개합니다. 여기서 소개하는 설정 값은 cluster update settings에 나온 방법으..