이번 포스트는 MongoDB Atlas 를 활용해 페이지네이션을 구현할 때 정렬을 relevance 기반이 아닌 컬럼을 기준으로 할 때의 문제와 개선점을 다룬다.
Mogenius를 활용한 도커 컨테이너 배포
이전 포스트에서 적은 fly.io 와 비슷한 서비스를 제공하는 Mogenius 를 활용한 도커 컨테이너 배포에 대한 내용을 다룬다.
Fly.io를 활용한 도커 컨테이너 배포
호스팅 서버로 이용중인 Heroku 가 11월 이후로 더 이상 무료플랜을 지원하지 않아 이전부터 눈여겨본 Fly.io
로 이전한 과정을 담고있다.
[Spring Data MongoDB] Atlas Search 를 위한 커스텀 Kotlin DSL 만들기
MongoDB Atlas Search 에서 제공하는 전문 검색 기능을 Spring Data MongoDB
으로 조회하기 위한 dsl 을 만드는 과정을 담고있다.
Kotlin + Spring GraphQL + Spring Security 사용하기
이번 포스트에서는 Spring for GraphQL
프로젝트가 GA 되어 샘플 프로젝트를 만드는 과정을 기술하려고 한다.
다음과 같은 기술을 사용해서 구현하였다.
샘플 프로젝트 코드는 github 에서 볼 수 있다.
Github Page를 GraphQL 스키마 서버로 만들기
이번 글에서는 Github Page 를 GraphQL 스키마 서버로 활용하는 과정을 기술하려고 한다.
kotlin에서 testcontainers 사용하기
이전에 node.js 환경에서 testcontainers
를 활용한 글을 작성하였다.
테스트 코드에 직접 컨테이너를 시작하고 종료하는 로직을 넣어야 했지만 jvm 에서는 annotation 을 활용해 더 간결한 코드를 만들 수 있다.
이번에는 Kotlin/Jvm 환경에서 testcontainers
를 사용하는 방법을 소개하려고 한다.
graphql 장점
이번 글에서는 Node.js 환경에서 REST API 와 GraphQL 을 사용해보면서 느낀점과 GraphQL 을 선호하는 이유를 작성하려고 한다.
먼저 나의 이야기를 해보자면 개발자로 전직 후 첫 직장에서는 GraphQL 을 사용하다가 REST 를 사용하는 곳으로 이직하였다.
GraphQL 사용 경험이 좋았기에 다시 REST 를 한다는 점에는 아쉬웠고 실제로 여러 불편한점을 겪었다.
그때마다 GraphQL 을 사용했다면 어떻게 불편한점이 해결되었을까 생각하곤 했었고 이번에 그 내용을 적어보려고 한다.
기술에 대한 선호는 사람마다 다르기에 이번 글을 주관적인 내용을 담고있습니다.
MikroORM과 TypeORM 비교
이번 글은 ts 환경에서 주로 사용되는 ORM 인 TypeORM
를 사용하면서 발생한 문제점을 소개하고 또 다른 ORM 인 MikroORM
에서 어떻게 해결하고 있는지에 대한 내용을 담고있다.
Kotlin으로 지연평가 구현하기
지연평가는 함수형 프로그래밍에서 자주 등장하는 개념이며 어떤 표현식의 값을 필요로 할 때까지 평가를 미루는 방법이다. 함수형 언어에서는 기본으로 모든 계산이 지연평가로 동작하기에 따로 구현할 필요는 없지만 그렇지 않은 언어에서는 각자의 언어 기능을 활용해 구현한다.
코틀린에서는 표준 위임 클래스 중 하나인 Lazy
를 통해 지연평가를 사용할 수 있다.
하지만 이는 완벽한 지연평가라기 보다 프로퍼티의 지연 초기화에 가깝다.
이번 글에서는 메모이제이션 기능이 있는 커스텀 Lazy
클래스를 만드는 과정을 기술하려고 한다.