유난한 도전과 훌륭한 조직
그리스에서 “유난한 도전“이라는 책을 읽었다. 유난한 도전은 토스팀이 달려왔던 길을 얘기하는 책이다. 토스팀은 외부인으로 봤을 때 정말 멋지다고 생각하던 팀 중 하나이다. 이번 책이 나왔을 때, 내부인이 전달하는 현란한 물장구 이야기를 기대하며 책을 구매했다. 책은 생각보다 만족스러웠으며, 이 글은 그 책을 읽고 난 뒤 좋은 조직에 대한 생각을 정리하기 위한 글이다.
그리스에서 “유난한 도전“이라는 책을 읽었다. 유난한 도전은 토스팀이 달려왔던 길을 얘기하는 책이다. 토스팀은 외부인으로 봤을 때 정말 멋지다고 생각하던 팀 중 하나이다. 이번 책이 나왔을 때, 내부인이 전달하는 현란한 물장구 이야기를 기대하며 책을 구매했다. 책은 생각보다 만족스러웠으며, 이 글은 그 책을 읽고 난 뒤 좋은 조직에 대한 생각을 정리하기 위한 글이다.
개발을 시작한 지 4년, 블로그를 시작하고 4번째 회고가 되었다. 올해는 학생이 아닌 상태로 상태 전환이 발생하기도 했고, 어느 순간부터 마음속에 있던 삶의 마일스톤 중 하나를 해결한 것처럼 느껴지기도 한다. 지난 21년 회고를 거의 1분기가 끝나고 썼던 터라 이번 회고가 좀 짧게 느껴지긴 하지만 아무튼 그 이후(혹은 일부 포함해서) 어떤 일들이 있었나 정리해보려고 한다.
etcd를 사용하는 개발자들은 etcd가 공식적으로 제공해주는 클라이언트를 사용해 서버에 접근하는 것이 일반적이다. Go로 만들어진 클라이언트를 잘 관리해주고 있어서 보통은 이 클라이언트를 쓰는 것 같다. 지금 진행하는 프로젝트 역시 Go 클라이언트를 통해 etcd에 접근한다. 이번 글은 클라이언트가 어떻게 발전해 왔는지를 알려주는 Learning의 글을 번역하고 공부했던 내용을 간단히 정리했다.
Rust는 GC가 없는 언어이다. 보통은 언어가 힙 메모리를 관리하기 위해 GC를 사용하거나 개발자가 직접 관리하는 두 가지 노선을 선택해 왔지만, Rust는 조금 독자적인 방법을 선택했다. 각 변수가 사용하는 메모리에 대한 소유권을 하나만 유지하면 GC가 필요 없다는 점을 이용한다. 만약 하나의 변수에 힙 영역 데이터가 묶여있다면 해당 변수가 더 이상 접근 불가능한 상태가 되었을 때 메모리를 곧바로 해제해버리면 된다. 실제로 러스트를 사용하다 보면 힙 메모리를 free
하지 않아서 간단한 프로그램을 쓸 때 꼭 GC가 있는 언어처럼 느껴진다. 이번 글에서는 소유권 및 그와 연관된 여러 러스트의 컨셉을 정리했다.
etcd 공식 페이지에 가보면 “A distributed, reliable key-value store for the most critical data of a distributed system”라고 설명하고 있다. ZooKeeper와 유사하지만 gRPC를 베이스로 하는 현대적인 코디네이터 역할을 한다. 메타 데이터를 담기 위한 Key-Value 저장소로 사용이 되는 편이고 가장 유명한 활용처는 쿠버네티스가 아닐까 싶다. 최근 사용할 일이 생기고 있어서 깊게 공부해보려고 하나씩 파헤치고 있다. 첫 글은 etcd의 데이터 모델이다.
Update your browser to view this website correctly.&npsb;Update my browser now