Crafting Interpreters를 읽고 오픈소스 프로젝트까지
최근 여러 프로그래밍 유튜브에서 소개되는 서적인 "Crafting Interpreters"를 읽게 되었습니다. 이 책을 통해 프로그래밍 언어를 만들 수 있는 방법을 배웠는데, 읽는 과정에서 재미있는 아이디어가 떠올라 사이드 프로젝트를 시작했습니다.
데이터베이스 샤딩에는 여러 방법이 있지만, application level에서 쿼리에 맞는 샤드를 찾아 routing하는 방법이 대표적입니다. "유저의 쿼리를 parsing하고(crafting interpreters에서 배운 지식을 활용해서), 샤드 규칙에 따라 routing하는 라이브러리를 만들어 application level에서 샤딩을 구현하면 application level sharding이 편리해지지 않을까?"라는 아이디어에서 시작해 "sharder"라는 사이드 프로젝트를 시작했습니다. Maven을 통해 배포되었으므로 관심이 있는 분들은 사용해볼 수 있습니다.
github: https://github.com/seonWKim/sharder
<dependency>
<groupId>io.github.seonwkim</groupId>
<artifactId>sharder-core</artifactId>
<version>0.0.2</version>
</dependency>