개발하면서/타인글보면서
-
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에서는 어떻게 사용되고 있냐? 우선 토픽이 생성되면 다음과 같이 topic/partition 별로 DelayedOperations가 생긴다. val delayedOperations = new DelayedOperations( topicPartition, replicaManager.delayedProducePurgatory, replicaManager.delayedFetchPurgatory, replicaManager.delayedDeleteRecordsPurgatory) xxxPurgatory의 전체 모습은 위 그림과 같다. Expire 판단을 위한 1개 이상의 Timing Wheel과 성공 여부를 지속적으로 판단하기 위한 Watcher로 이루어져 있다. 조금 더 자세히 살펴보면 하..
-
Kafka purgatory개발하면서/타인글보면서 2020. 6. 20. 19:31
request를 보내면 X초 이후에 실행되는 scheduling 프로젝트를 살펴보다가 Kafka purgatory는 어떻게 구현했을까(응?)... 하는 생각이 들어 알아보게 되었다. confluent 블로그 글과 hierarchical timing wheels 논문을 블로그에 쉽게 소개한 두 개의 글을 보며 내 나름대로 정리하려고 한다. https://www.confluent.io/blog/apache-kafka-purgatory-hierarchical-timing-wheels/ 1. Purgatory란 무엇이고 Kafka 어디에 사용되나? 네이버 사전에 검색하면 연옥이라고 나오고 의미는 아래와 같다. 가톨릭 교리에서 연옥은 천국으로 가기에는 자격이 부족하지만 지옥으로 갈 정도의 큰 죄를 짓지 않은 죽은..
-
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에 나온 방법으..
-
ES hot-warm, Rollout, Shrink 알아보기개발하면서/타인글보면서 2019. 10. 27. 00:52
회사에서 ES도 다루고 있는데 초반에는 별다른 관리 없이도 문제가 없었는데 인입되는 양이 점점 많아지면서 인덱스 관리가 필요했고, 그때 알아본 키워드가 hot-warm architecture, rollover, shrink 였습니다. 급한 불을 끈 후 위 링크는 에버노트 깊은 곳에 저장하고 있다가... 올해 더 많은 데이터 인입이 계획 되어있어서, 아... 학습 좀 하고 적용해야겠다는 생각에 리서치를 시작했습니다. ES 공식 블로그 문서를 읽고 직역 비스므리한 정리를 하였습니다. ES 공식 블로그 - Hot Warm Architecture https://www.elastic.co/kr/blog/hot-warm-architecture-in-elasticsearch-5-x?fbclid=IwAR0gajLECY..
-
Improving key expiration in Redis를 읽고개발하면서/타인글보면서 2019. 4. 21. 14:04
https://blog.twitter.com/engineering/en_us/topics/infrastructure/2019/improving-key-expiration-in-redis.html Improving Key Expiration in Redis After updating to a new Redis version the Cache team saw a regression. This goes over the investigation and our conclusions. blog.twitter.com 얼마 전 Twitter 블로그에 Redis expire 기능을 개선했다는 글이 올라와 주말 동안 읽고 정리하고자 합니다. 블로그 요약(?)만 하려고 했는데 3.2 activeExpireCycle 함수에 ..