본문 바로가기
반응형

전체글587

Spring Boot & HikariCP Datasource 연동하기 안녕하세요? 이번 시간엔 Spring Boot & Hikari Datasource 연동하기 예제를 진행해보려고 합니다. 모든 코드는 Github에 있기 때문에 함께 보시면 더 이해하기 쉬우실 것 같습니다. (공부한 내용을 정리하는 Github와 세미나+책 후기를 정리하는 Github, 이 모든 내용을 담고 있는 블로그가 있습니다. ) 기존에 SpringBoot에선 tomcat-jdbc를 기본 Datasource 로 제공했었는데요. 2.0부터 HikariCP가 기본으로 변경되었습니다. (참고) HikariCP는 이전 버전에서도 많은 분들이 설정을 변경해서 사용했을정도로 인기가 많았습니다. HikariCP의 Datasource 정보를 설정하는것에 막히신 분들 혹은 오해하고 계신분들이 계셔서 한번 정리하게 되.. 2018. 5. 21.
Spring Boot Data JPA 2.0 에서 id Auto_increment 문제 해결 안녕하세요? 이번 시간엔 Spring Boot JPA 2.0 에서 PK의 Auto_increment 문제를 알아보려고 합니다. 모든 코드는 Github에 있기 때문에 함께 보시면 더 이해하기 쉬우실 것 같습니다. (공부한 내용을 정리하는 Github와 세미나+책 후기를 정리하는 Github, 이 모든 내용을 담고 있는 블로그가 있습니다. ) 문제 회사의 신규 시스템 구축을 Spring Boot 2.0으로 진행하게 되었습니다. 진행 도중 Spring Data Jpa의 @GeneratedValue가 기존과 다르게 작동하는걸 발견하게 되었습니다. 예를 들어 아래와 같이 1.5.x 에서 사용하던대로 엔티티 클래스를 생성했습니다.2.0에서도 기본 전략이 AUTO임을 확인하고 테스트 코드를 작성했는데요. 이렇게 M.. 2018. 5. 12.
Gradle Multi Module에서 Spring Rest Docs 사용하기 지난 시간에 이어 이번시간에는 Markdown이 아닌 Asciidoc으로 Spring Rest Docs를 진행하는 과정을 기록합니다. Spring Rest Docs의 asciidoc 버전은 실제 Spring 프로젝트의 문서로 사용되고 있습니다.(링크)여기서는 Spring Rest Docs + Spock + Rest Assured를 조합으로 진행할 예정입니다. (저희팀 프로젝트 스펙이라서요..) Gradle Muliti Module의 경우 요즘 많은 프로젝트에서 사용하고 있으니 여기서도 마찬가지로 적용된걸 가정하고 진행합니다. 단일 프로젝트에서 기본 버전 (MockMVC + Junit4) 적용 방법은 레퍼런스 번역을 참고하시면 됩니다. 모든 코드는 Github에 있으니 참고하시면 될것 같습니다. 1. Gr.. 2018. 5. 10.
IntelliJ에서 Touchbar를 F1 ~ F12로 고정시키기 (Toolbox로 설치한경우) 맥북 신형에서부터 터치바가 추가되었습니다. 각 어플리케이션에 따라 특수키를 지원하는 기능인데요. 지인으로부터 저도 터치바 맥북을 사서 현재까지 쓰고 있습니다. 유튜브, 키노트등을 사용할때 유용하게 쓸 수 있었지만, IntelliJ나 기타 개발 환경에서는 F1 ~ F12 키를 사용하기가 불편했습니다. (기존의 F1 ~ F12 자리가 터치바로 활용됩니다.) F1 ~ F12를 사용할때마다 Fn키를 함께 눌러서 사용하는게 너무 불편했습니다. 그러다보니 생산성이 굉장히 떨어지는게 느껴졌습니다. 개발환경에서는 F1 ~ F12를 고정시킬수 없을까 찾아보다가 백투더백을 보고 해결책을 알게 되었습니다. 문제는 IntelliJ를 직접 다운받아 설치한 경우엔 쉽게 적용이 가능한데, 저처럼 Toolbox를 통해 설치한 경우엔.. 2018. 5. 7.
3. Jenkins로 Beanstalk + Multi Module 배포하기 - Beanstalk 연동하기 이번 시간에는 지난 시간에 구축한 Jenkins로 Beanstalk을 연동해보겠습니다. 3-1. Beanstalk 생성 서비스에서 Beanstalk을 검색해서 Beanstalk 서비스 페이지로 이동합니다.우측 최상단의 새 어플리케이션 생성 버튼을 클릭합니다. 어플리케이션의 이름과 설명을 작성합니다.생성된 어플리케이션에서 환경을 생성합니다. 참고로 어플리케이션이 상위의 그룹입니다. 즉, 어플리케이션 안에 환경이 있습니다. 환경 티어에서는 웹 서버 환경을 선택합니다. 환경의 상세 정보를 등록해야하는데요. 여기서 저는 도메인과 환경 이름을 external-api라고 정했습니다. 이렇게 한 이유는 간단합니다. 이번 주제가 Gradle Multi Module 기반에서 Beanstalk을 어떻게 배포하느냐이기 때문.. 2018. 5. 1.
2. Jenkins로 Beanstalk + Multi Module 배포하기 - Jenkins와 Github 연동하기 이번 시간엔 EC2에 설치된 Jenkins와 Github연동을 진행하겠습니다. 2-1. SSH 키 생성 및 등록 Github 연동을 ID & Password 방식으로 하면 보안에 취약하기 때문에 ssh 키로 연동 하겠습니다. Jenkins가 설치된 EC2에서 아래 명령어로 키를 생성합니다. ssh-keygen -t rsa -f id_rsa (여기서 Enter passphrase는 바로 엔터를 누르시면 됩니다.) 2개의 키(id_rsa, id_rsa.pub)가 생성됩니다. Jenkins 페이지로 다시 이동하셔서 Credentials/System로 이동합니다. Global credentials를 클릭 Add Credentials를 클릭하면 인증키를 입력할 수 있는 화면이 나옵니다. 여기서 Kind를 SSH .. 2018. 4. 29.

728x90
반응형