MongoDB ACL 설정을 하면서...
몽고DB 를 이용하고 있던 와중에 보안을 위해 ACL 등록을 진행하였고, VM , k8s 의 worker node 등이 산재했던 부분들이 있어서, 우선 1차적으로 내부 internal proxy 로 ACL 를 등록해두고, 이후 vm,k8s 등의 ip 관리를 할 수 있는 툴을 만들어, acl 등록하는 형태로 진행하려고 하였으나, 몽고디비는 아래와 같은 모양새로 연결을 하는데. mongodb://{id}:{password}@{mongo1},{mongo2},{mongo3}/{databasename}?{options} 여기서 중요한 포인트가 있다. 서비스나 클라이언트에서는 위 요청을 통해서 mongodb 의 hostname 과 port 를 받아오고, 이를 직접 요청하도록 되어 있었다. 이러다 보니, 처음 한번 ..
Effective Kotlin - Prefer Sequence for big collections with more than one processing step
Summary Eager evaluation vs Lazy evaluation Order is important listOf 와 같은 iterable 형태의 구조의 결과와 sequenceOf 의 결과 값은 다릅니다. sequenceOf(1,2,3) .filter { print("F$it, "); it % 2 == 1 } .map { print("M$it, "); it * 2 } .forEach { print("E$it,")} // Prints: F1, M1, E2, F2, F3, M3, E6, listOf(1,2,3) .filter { print("F$it, "); it % 2 == 1 } .map { print("M$it, "); it * 2 } .forEach { print("E$it, ") } //..