• Spring Transaction - Multiple DataSources Transaction

    다중 스프링 트랜잭션을 Programmatic하게 제어하는 방법을 공유하고자 한다. 수작업으로 트랜잭션을 제어하는데 transaction synchronization is not active 에러가 뜨면 이 글을 읽어보기 바란다. 트랜잭션 경계 설정 방법 스프링에서 트랜잭션을 다루는 방법은 크게 3가지 정도로 나눌 수 있다. @Transactional 과 같은 Annotation 사용 AspectJ, Spring AOP 등 수평적 선언 방식 프로그램으로 직접...


  • 듀얼모니터 확장, PC화면만 등 전환 단축키 만들기

    나는 데스크탑 Windows PC 한 대와 맥북 한 대를 사용해서 작업을 한다. 모니터 하나로 일하는 것은 여러모로 불편해서 모니터 한 대를 추가 구입해 듀얼모니터로 사용하고 있다. 요로케 그런데 데스크탑을 듀얼로 쓰다가 맥북으로 소스를 전환하면 데스크탑은 여전히 듀얼 디스플레이 모드인 상태라 확장 모니터에 있던 화면들을 볼 수가 없다. 그럴때 마다 매번...


  • SpringBoot Gradle Multi Project 구성하고 nexus에 배포하기

    실행되는 프로젝트와 API 들을 묶어 놓은 프로젝트를 구분해야 하는 경우가 있다. 이때 이들을 별도의 프로젝트로 분리해놓으면 의존관계 때문에 꽤나 귀찮은 일들이 생길 수 있어서 하나의 큰 프로젝트안에 여러 소규모 프로젝트로 나누어 관리하기도 한다. 이렇게 나누어 관리하기 위한 설정을 기록해 놓고자 한다. 환경 스프링부트 2.1.0 Gradle 4.10.2 jdk 1.8 설정방법 1....


  • gradle upgrade 하기

    SpringBoot를 2.1.0 으로 올리려니까 gradle plugin 버전이 4.4 이어야 한다고 오류가 떴다. gradle을 upgrade 하자. 먼저 시스템에 설치되어 있는 gradle을 upgrade 할 것인데 Homebrew 로 설치했어서 간단하게 upgrade 가 가능했다. Homebrew는 참 좋은 것 같다. Mac OS, Homebrew brew upgrade gradle 그러면 쭉쭉 알아서 업그레이드가 되고 (시간이 좀 걸렸다) 현재...


  • certbot renew 실패할 때 시도해볼 만한 것

    let’s encrypt는 https 를 무료로 사용할 수 있게 해주고 certbot은 설치를 간편하게 해준다. 단점이 있다면 3개월 마다 갱신을 해줘야 한다는 것. 하지만 이것 마저 crontab 같은 스케줄러를 이용해서 자동화 할 수 있기 때문에 크게 문제가 되지는 않는다. 그런데 나에게 닥친 진짜 문제는 renew 하는데 오류가 발생한다는 것이다. ImportError: No module...