[대규모 시스템 설계 기초] 직접 구현해보는 URL 단축기
· 8 min read
Kotlin 에는 Infix function 이라는 메서드 정의 방법이 있는데요, Java 를 주언어로 쓰는동안엔 상상도 못했던 문법이라 처음 Kotlin 을 시작하시는 분들을 위해 소개합니다.
단일 매개변수를 가진 멤버 함수는 Infix functions 로 변환될 수 있습니다.
Infix functions 의 대표적인 예로는 기본 라이브러리에 포함된 to
가 있습니다.
val pair = "Ferrari" to "Katrina"
println(pair)
// (Ferrari, Katrina)
필요에 따라 to
와 같은 infix functions 을 새로 정의할 수 있는데 예를 들면 Int
를 다음과 같이 확장할 수 있습니다.
Kotlin 에서는 Java 보다 훨씬 심플하고 편리한 반복문을 작성할 수 있다. 어떻게 사용할 수 있는지 살펴보자.
..
operatorval fruits = listOf("Apple", "Banana", "Cherry", "Durian")
fun main() {
for (index in 0..fruits.size - 1) {
val fruit = fruits[index]
println("$index: $fruit")
}
}
..
을 사용하면 1씩 증가하는 전통적인 반복문이 만들어진다.
image reference[^footnote]
지구는 평평하지도 완벽한 구형(Sphere)도 아닌 비표준 타원체(Ellipsoid)임을 고려하면 서로 다른 경도 및 위도 위치에 있는 두 점 사이의 거리를 빠르고 정확하게 계산하는 완벽한 공식은 없습니다.
그래도 geotools 라이브러리를 사용하면 수학적으로 보정된 근사치를 꽤나 간단하게 얻어낼 수 있습니다.