분류 전체보기154 Spring Data JPA - Write, Read Only 분리 적용하기 - 1. 설정 및 원리 프레임워크를 사용하여 비지니스 로직이 아닌 특정한 기술을 구현하려면 프레임워크 내부에 대한 충분한 이해가 필요하다.구글링을 통해 해당 기능의 코드를 알아내더라도 정확하게 내부적인 동작 원리를 아는 것이 좋다는 뜻이다.그렇지 않다면 해당 코드 관련해서 이슈가 생겼을 때 원인을 파악하고 적절한 조치를 취하기가 어렵거나 불가능할 수도 있다. 이번 포스팅에서는 Spring Data JPA를 사용할 때 DB의 부하를 분산시키기 위해 주로 사용하는 기법인@Transactional에 readonly=true 옵션을 줬을 때 Read Only(Secondary) DB를 사용하고, 그렇지 않은 경우(쓰기를 할 때) Write(Primary) DB를 사용하는 방법에 대해 설정과 내부적인 원리를 알아보고,다음에는 이 설정을.. 2021. 12. 17. 개발자가 DX를 추구하면 안되는걸까 조직은 좋은 BM, 인프라, 인맥, 투자금 등의 배경이 탄탄하더라도 결국 팀이 중요하다고 생각한다. 자동화된 소프트웨어 기반으로 서비스를 운영하더라도 결국 무언가를 기획하고 만들어 가는 것은 사람이 하는 것이기 때문이다. 아무리 좋은 아이디어라도 이를 만들어가는 과정이 즐겁지 않고 감정 소모가 많다면 과연 좋은 제품으로 나올 수 있을까? 나는 무엇을 일하느냐도 중요하지만 그만큼 어떻게 일하느냐도 중요하다고 생각한다. 그런 점에서 최근에는 DX(Developer Experience)에 많은 관심을 두고 있다. https://developerexperience.io/practices/good-developer-experience Good Developer Experience TL;DR Do not forge.. 2021. 12. 12. DocumentDB는 MongoDB가 아니다 DocumentDB는 MongoDB와 호환은 되지만 MongoDB는 아니다. 관련 내용은 아래 MongoDB의 포스팅을 확인하면 좋다. https://www.mongodb.com/atlas-vs-amazon-documentdb Comparing Amazon DocumentDB and MongoDB Amazon DocumentDB is a NoSQL JSON document database service with a limited degree of compatibility with MongoDB. www.mongodb.com 호환이 된다고는 하지만 MongoDB의 모든 API가 호환되는 것은 아니다. 그렇기 때문에 로컬에서 MongoDB를 사용할 때는 문제가 없던 것이 다른 환경에서 DocumentDB를 .. 2021. 11. 25. Terraform으로 AWS Key Pair 등록하기 AWS에서 Key Pair를 생성하고 이를 다운받아 사용할 수 있지만, 반대로 내가 생성한 Key Pair를 AWS에 등록해서 사용할 수도 있다. 이번 포스팅에서는 Key Pair를 생성하고 Terraform을 통해 AWS에 Key Pair를 등록하는 과정에 대해 알아보도록 하겠다. ssh-keygen을 통한 Key Pair 생성 ssh-keygen을 통해 Key Pair를 생성한다. 나는 tf-key-pair라고 이름을 짓도록 하겠다. # -t: 암호화 타입 # -b: 비트 수 # -C: 코멘트 # -f: 파일 저장 경로 # -N: 암호화 옵션 $ ssh-keygen -t rsa -b 4096 -C "" -f "{저장하고자하는 경로}/tf-key-pair" -N "" # key pair 확인 $ ls .. 2021. 11. 19. Contribution to Bucket4j Rate Limiting 관련해서 리서치하다가 Bucket Token 알고리즘에 대해 알게되었고, Java에서 해당 알고리즘 관련 라이브러리가 없나 확인하던 중 Bucket4j 라는 라이브러리를 발견했다. 충분히 많이 쓰이고 Spring integration도 제공하고 있어서 파볼만한 가치가 있을 것 같아 document를 살펴보았다. document에 실질적인 사용 예제를 제공해서 API 파악 겸 용도 확인용으로 document의 예제를 따라 쳐보고 있었는데, 특정 예제가 되질 않아 관련해서 document 수정 PR을 올렸다. 비록 문서 수정이지만 다행히 내가 파악한 코드가 맞았는지 빠르게 merge 되었다. 언젠간 오픈소스에 코드 관련된 PR도 날릴 수 있지 않을까? :) 2021. 11. 17. observable, vetoable를 통한 프로퍼티 변경 감지 Kotlin은 Delegates를 통해 프로퍼티의 변경을 감지할 수 있는 매우 편리한 기능을 제공한다. observable Delegates.observable은 단순하게 프로퍼티가 변경됨을 감지하는 역할을 한다. import kotlin.properties.Delegates fun main() { var watchedNumber by Delegates.observable(0) { property, oldValue, newValue -> println("`${property.name}` changed from `$oldValue` to `$newValue`") } watchedNumber = 1 watchedNumber = 2 watchedNumber = 3 } 위 코드를 실행 시키면 콘솔에 아래와 같이.. 2021. 11. 6. 이전 1 ··· 14 15 16 17 18 19 20 ··· 26 다음