본문 바로가기

스프링부트20

로컬 Spring Boot에 SSL 적용하기 Facebook OAuth를 개발해야 하는 경우 등 로컬 환경에서 HTTPS 서버가 필요할때가 종종 있습니다. (페이스북 OAuth 설정 화면) 운영 혹은 개발 환경에서는 Nginx 혹은 AWS ELB와 같은 곳에서 SSL 인증서를 설치하기 때문에 순수하게 로컬 환경에서만 SSL 인증서를 사용할 수 있는 방법이 필요합니다. 이번 시간에는 Spring Boot 로컬 환경에서 SSL 인증서를 개발 & 적용 하는 방법을 소개 드리겠습니다. 먼저 프로젝트 디렉토리 안에서 다음과 같은 명령어를 실행합니다. keytool -genkey -alias bns-ssl -storetype PKCS12 -keyalg RSA -keysize 2048 -keystore keystore.p12 -validity 3650 -ali.. 2018. 10. 29.
Spring Boot에서 외부 API 테스트하기 안녕하세요? 이번 시간엔 Spring Boot의 @RestClientTest 예제를 진행해보려고 합니다. 모든 코드는 Github에 있기 때문에 함께 보시면 더 이해하기 쉬우실 것 같습니다. 1. 문제 상황 예를 들어 외부 API를 통해 데이터를 가져와야 하는 경우가 있다고 가정해보겠습니다. 예제로 사용할 Service 코드는 다음과 같습니다. @Slf4j @Service public class UserService { private final RestTemplate restTemplate; @Value("${order.api.url}") private String orderApiUrl; public UserService(RestTemplateBuilder restTemplateBuilder) { thi.. 2018. 9. 29.
SpringBoot에서 Spock Mock 사용법과 문제점 문제점 Spring Boot의 @MockBean, @SpyBean은 Junit & Mockito를 지원합니다. 그러다보니 Spock을 쓴다 해도 Spring의 Bean을 Mocking하려면 Mockito 방식을 사용해야 합니다. example) @SpringBootTest class CustomerServiceSpockMockTest extends Specification { @Autowired CustomerService customerService @MockBean(name = "jdbcTemplate") JdbcTemplate jdbcTemplate def "Customer_id로_이름을_조회"() { given: given(jdbcTemplate.query(anyString(), any(BeanP.. 2018. 9. 28.
Travis CI와 AWS ElasticBeanstalk 연동하기 안녕하세요? 이번 시간에는 Travis CI를 이용하여 Spring Boot를 AWS Beanstalk에 배포하는 과정을 소개드리겠습니다. 모든 내용은 Github에 있기 때문에 코드를 참고하시면 도움이 되실것 같습니다. AWS에서는 heroku와 같은 일체형 서비스를 지원하고 있습니다. 그게 바로 AWS ElasticBeanstalk인데요. EC2처럼 하나하나 설정할 필요없이 웬만한 기능들은 다 자동화 되기도 하고, 추가 설정들은 config 파일로 해결할 수 있어서 빠르게 구축할 수 있는 장점이 있습니다. 만약 개인 프로젝트를 AWS ElasticBeanstalk에 구축한다면 Travis CI와 함께 이용하시면 젠킨스나 Code Pipeline등을 별도로 구축할 필요 없이 편하게 개발 환경이 완성됩니.. 2018. 7. 13.
10) 스프링부트로 웹 서비스 출시하기 - 10. 1인 개발 시작시 알았으면 좋았을 것들 이번 시간은 이 시리즈의 마지막 시간으로 1인 개발 시작시에 미리 알았으면 좋았을 것들을 정리하였습니다. (모든 코드는 Github에 있습니다.) 회사나 팀 단위의 서비스가 아닌, 1인 개발로 서비스 구축시 Tip을 나열하였습니다. 회사나 팀 단위의 서비스라면 전혀 다를수 있습니다. Tip) 회사 혹은 팀 단위 서비스라면 권남님의 신규 Web 서비스시 고려해 볼 사항을 참고해보시길 추천드립니다. 실전 초고수 손권남님의 경험을 토대로 작성된 노하우라서 정말 많은 도움이 됩니다. 백엔드 개발자라면 비법서와 같은 팁들이 넘치기 때문에 꼭꼭 보시길 추천드립니다. 내용이 계속 추가되고 있기 때문에 정기적으로 방문해서 보시는것도 좋습니다. 1인 개발이라 하더라도 개인마다 느낀 점이 전혀 다를수 있기 때문에 저 개인.. 2018. 2. 19.
9) 스프링부트로 웹 서비스 출시하기 - 9. 도메인구매, HTTPS 연결, 타임존 수정 이번 시간엔 지금까지 만든 프로젝트에 도메인을 연결해보겠습니다. (모든 코드는 Github에 있습니다.) 저는 회사에서도 구글 계정으로 모든 처리를 진행하고 있어 연습 삼아 구글 호스팅 서비스를 사용하겠습니다. 다른 분들은 좀 더 저렴한 국내 서비스를 쓰셔도 됩니다. 이번 과정부터는 비용이 직접 청구되니 당장 서비스하실게 아니라면 가장 하단에 있는 9-4. 타임존 변경만 진행하셔도 됩니다! Tip) 도메인 구매를 진행하신다면 Master 혹은 VISA 카드가 하나 있어야 합니다. 9-1. 도메인 및 서비스 메일 생성 G Suite는 구글에서 제공하는 비지니스 서비스 입니다. 회사에서 사용하기 위한 이메일과 도메인, 구글 앱스등을 제공하는데요. 보통 회사에서 업무용 이메일을 구성원들에게 나눠주고, 회사내에.. 2018. 2. 17.