Storing Heterogeneous Objects in PostgreSQL

Storing different types of objects in a PostgreSQL database can be tricky. But don’t worry, it’s manageable. Let’s explore three practical ways to handle this. We will keep it simple and straightforward.

2 min read

Using Interface for Controller Requests in Java Spring Framework

When building a REST API with Java Spring Framework, handling multiple types of requests efficiently can be challenging. One effective approach is to use interfaces for controller requests. In this blog post, we’ll walk through an example using a restaurant order system. We’ll handle different types of orders (like hamburger and pizza) with a single endpoint.

2 min read

The Importance of Signals from Test Codes

When you write test code, it can tell you a lot about your main code. If you find it hard to write tests, it often means there are problems in your code design. Let’s explore why these signals are important and what they can teach you.

3 min read

Go에서 omitempty 태그 사용하기

Go로 웹 서버를 개발하다 보면 JSON 데이터를 주고 받는 경우가 많이 있습니다. struct를 JSON으로 바꿀 때 값이 Zero Value(각 type별 기본 값)이거나 nil인 경우 그 값을 보내지 않아야할 때가 있습니다. 이런 경우, omitempty 태그를 활용하면 JSON에서 쉽게 생략할 수 있습니다.

~1 min read

golangcli-lint로 Go 코드 규칙 적용하기

개발팀 사이즈가 커지면서 관리해야 하는 리포지토리의 개수가 늘어났고 각각의 프로젝트가 팀을 리드하는 개발자에 따라 자유분방한 모습으로 진화했습니다. 특히 Go 언어를 처음으로 사용하는 개발자들이 늘어나면서 코드 리뷰 과정에서 Idiomatic Go에 대해서 설명하고 작성하는데 시간을 꽤 소모하게 되었습니다. 그러다보니 실제로 리뷰가 되어야 하는 부분보다 더 많은 시간을 쏟게 되는 경우가 늘어났고 이를 방지하기 위해 자동화된 도구가 필요하다라는 피드백이 나오기 시작했습니다.

1 min read

Go에서 HashSet 구현하기

12월 18일 기준 가장 최근 버전인 Go 1.17에도 아직 Set이라는 자료구조가 없다. 알고리즘 문제나 Advent of Code 문제를 풀 때 Set을 필요로 하는 경우가 생각보다 많았어서 직접 구현해보았다.

~1 min read