본문 바로가기

분류 전체보기257

[MSA] Spring Cloud Feign - 커스터 마이징 설정편 안녕하세요. 오늘은 Spring Cloud Feign의 2번째 시간입니다. 오늘 함께 알아볼 내용은 Spring Cloud Feign의 설정을 커스터마이징 할 수 있는 것은 어떤것들이 있으며 어떻게 커스터마이징 할 수 있는가에 대해서입니다. FeignClient에 커터마이징 설정을 적용하기 위해서는 아래와 같이 @FeignClient에서의 configuration 속성을 이용하면 됩니다. 아래처럼 했을 때 AzureClient는 커스터마이징 설정인 AzureHttpConfiguration과 오버라이딩 되지 않은 부분에 대해서는 기본설정인 FeignClientsConfiguration가 적용됩니다. @FeignClient(name = "azureClient", url = "${external.bing.ur.. 2020. 9. 30.
[MSA] Spring Cloud Feign - 기본 사용 및 기본 설정편 안녕하세요. 오늘은 오랜만의 Spring Cloud에 대해서 알아보는 시간을 가지려고 합니다. 오늘 알아 볼 프로젝트는 Spring Cloud Feign 프로젝트입니다. MSA로 시스템 아키텍처가 많이 변경되면서 시스템간의 단일 책임 원칙으로 많은 시스템의 개선점을 보인 것은 사실입니다. 하지만 모든지 트레이드 오프는 있습니다. MSA로 변화의 큰 단점 중 하나로 꼽자면 바로 API 호출의 증가일 것입니다. 기존에 단순 DB 조회로 가능하던 부분들이 MSA로 전환되면서 직접 접근하는 것이 불가능해졌습니다. 따라서 이들이 모두 API가 되었습니다. MSA 처럼 분산되어있는 시스템을 사용하는 입장에서는 API를 호출하는 코드를 노가다 식으로 항상 만들어줘야하는 번거로움이 생겼습니다. 이를 해결해 줄 수 있는.. 2020. 9. 27.
[javascript] javascript 코딩 스타일 가이드 안녕하세요. 오늘은 javascript의 2번째 시간입니다. 오늘은 javacript 코딩 스타일 가이드에 대해서 알아보는 시간을 가져보도록 하겠습니다. 코딩은 대부분이 협업이기 때문에 스타일 가이드를 가지고 따르는 것이 중요합니다. 회사에서 정해진 스타일 가이드를 얼마나 잘 따르는지가 코드의 가독성을 높일 수 있기 때문입니다. 코드의 가독성이 높아진다는 것은 즉 유지보수가 쉬워진다는 뜻입니다. 스타일 가이드의 예로는 변수명은 어떻게 정할지, {}는 어떻게 표현할 지 등등이 있습니다. 오늘 여러분들에게 알려드릴 스타일 가이드는 w3schools과 google에서 제시하는 Style Guide를 참조하였습니다. 이름 정하기 먼저 이름을 정하는 방법에 대해서 알아보겠습니다. javascript에는 다양한 T.. 2020. 9. 18.
[Spring] Scheduler 어떤걸 사용해야 할까 ? - Spring Scheduler와 Spring Quartz 일정한 시간간격 또는 일정한 시각에 특정 로직을 돌리기 위해서 사용하는 것을 Scheduler라고 합니다. 이런 Scheduler는 Spring에서 Spring Scheduler와 Spring Quartz라는 2가지 방식으로 제공됩니다. 1가지 일에 2가지 방식을 Spring에서 제공하다니... 어떤걸 쓰면 좋을까요? 오늘은 2가지의 공통점과 차이점 그리고 내 프로젝트에서는 어떤 Library를 사용하면 좋을지 알아보는 시간을 가져보도록 하겠습니다. 사용법 먼저 각 라이브러리를 어떻게 사용할 수 있는지 확인해보겠습니다. 먼저 말씀 드리자면 Spring Scheduler를 사용하는 것보도 Spring Quartz를 사용하는 것이 좀 더 복잡하며 어렵습니다. Spring Scheduler Spring Sch.. 2020. 9. 15.
[Javascript] Javascript의 `this` 키워드 이해하기 Back-End 개발자라 할지라도 Admin 페이지, 즉 백오피스 정도는 스스로 개발해야하는 경우가 많이 생깁니다. 이럴 때 보통 web을 통해 작업을 진행하는데요. front-end 개발자 만큼 깊게는 아닐지라도 전반적인 내용은 이해를 하고 있어야 합니다. 여기에 기본이 되는것이 html, css, javascript인데요. 오늘은 Javascript의 this라는 키워드에 대해서 알아보는 시간을 가지도록 하겠습니다. Java와 javascript는 구조가 많이 다르기 때문에 같은 syntax인 this일 지라도 그 용도가 많이 다릅니다. 테스트 방법 Javascript를 테스트하기 위해서는 html 파일을 만들어야 합니다. 매번 테이스트를 위해서 만드는 것은 무리가 있기 때문에 chrome의 debu.. 2020. 9. 12.
[Tistory] 티스토리 Open API 이용하기 - 2020년 9월 1일 tistory 정책 변경 이후 (Implicit 인증 제거) 안녕하세요. 오늘은 평소와는 다른 주제를 가지고 왔습니다. 2020년 9월 1일자로 티스토리에서 Open API Oauth인증에 대해서 Implicit 방식을 제거했습니다. 이에 따라서 token 발행은 Authorization Code Grant Type 방식으로만 가능합니다. 오늘은 chrome을 통해서 token 값을 취득하는 방법에 대해서 알아보도록 하겠습니다. Client Key 발급 Tistory Open API를 사용하기 위해서는 Open API 사용하기 위한 App 등록을 진행해야합니다. 앱등록은 Tistory Open API 사이트에서 진행하실 수 있습니다. 서비스명, 설명, 로고등록의 정보는 Open API를 사용하는데 영향을 주지않습니다. CallBack URL은 OAuth2.0 인증.. 2020. 9. 9.
[Spock] Spock Framework 이용하기 - Where [Spock] Spock Framework 이용하기 - 개론편 [Spock] Spock Framework 이용하기 - 실습편 [Spock] Spock Framework 이용하기 - Mock [Spock] Spock Framework 이용하기 - Where 안녕하세요. 오늘은 Spock Framework의 4번째 시간입니다. 오늘 Spock Framework의 Where에 대해서 배워보도록 하겠습니다. Spock의 Where을 잘 사용할 수 있게 되면 데이터가 다르고 로직이 동일한 테스트에 대해 발생하는 중복 코드를 많이 제거할 수 있습니다. Introduction Math.max가 정상적으로 동작하는 지 검증하는 테스트 메서드를 작성해보도록 하겠습니다. 아래와 같이 2개의 파라미터 중 더 큰값이 정상적으.. 2020. 9. 4.
[Spock] Spock Framework 이용하기 - Mock [Spock] Spock Framework 이용하기 - 개론편 [Spock] Spock Framework 이용하기 - 실습편 [Spock] Spock Framework 이용하기 - Mock [Spock] Spock Framework 이용하기 - Where 안녕하세요. 오늘은 Spock Framework의 3번째 시간입니다. 이전 포스팅, [Spock] Spock Framework 이용하기 - 개론편과 [Spock] Spock Framework 이용하기 - 실습편에서는 이론과 실전을 하나하나 살펴보았습니다. 오늘은 좀 더 나아가 Spock Framework에서 Mock과 Stub을 어떻게 사용하고 활용할 수 있는지에 대해서 알아보는 시간을 가지도록 하겠습니다. Mock이란 개념에 생소하신 분들은 What .. 2020. 9. 2.
[Spock] Spock Framework 이용하기 - 실습편 [Spock] Spock Framework 이용하기 - 개론편 [Spock] Spock Framework 이용하기 - 실습편 [Spock] Spock Framework 이용하기 - Mock [Spock] Spock Framework 이용하기 - Where 안녕하세요. 오늘 포스팅할 주제느 Spock Framework 이용하기 Block편입니다. Spock Framework는 Spock Framework 이용하기 - 개론편에 이어서 2번째 시간인데요. 저번 시간에는 개론에 집중했다면 오늘은 실제로 Spock Framework를 이용하여 테스트를 만들어보고 사용해보는 시간을 가지려고 합니다. 실제 테스트는 Spock Framework의 Feature Methods 요소를 이용합니다. feature metho.. 2020. 8. 26.
[Spock] Spock Framework 이용하기 - 개론편 [Spock] Spock Framework 이용하기 - 개론편 [Spock] Spock Framework 이용하기 - 실습편 [Spock] Spock Framework 이용하기 - Mock [Spock] Spock Framework 이용하기 - Where 안녕하세요. 이전에 유닛테스트의 중요성 및 JUnit5에 대해서 포스팅을 했었습니다. 다들 도움이 되셨었나요? 오늘은 Spring에서 JUnit과 함께 많이 사용되는 Spock Framework에 대해서 알아보는 시간을 가지도록 해보겠습니다. 오늘은 Specification까지 알아보며 실제 사용은 다음 포스팅의 Block편에서 다루도록 하겠습니다. Spock Framework Spock은 java와 groovy application을 테스팅하기 위한 .. 2020. 8. 20.
[Java + Redis] Spring Data Redis로 Redis와 연동하기 - RedisRepository 편 [Redis] 캐시(Cache)와 Redis [Redis] Redis의 기본 명령어 [Java + Redis] Spring Data Redis로 Redis와 연동하기 - RedisTemplate 편 [Java + Redis] Spring Data Redis로 Redis와 연동하기 - RedisRepository 편 안녕하세요. Redis 4번째 시간입니다. 오늘은 Spring Data Redis로 Redis에 접근하는 또 다른 접근법을 알아보고자 합니다. 우리는 이전 포스팅에서 RedisTemplate을 통해 Redis에 Strings, List, Set, Sorted Set, Hash에 접근하는 방법을 배웠습니다. 오늘 배우는 RedisRepository는 Spring Data JPA 처럼 객체를 기반.. 2020. 8. 18.
[Java + Redis] Spring Data Redis로 Redis와 연동하기 - RedisTemplate 편 [Redis] 캐시(Cache)와 Redis [Redis] Redis의 기본 명령어 [Java + Redis] Spring Data Redis로 Redis와 연동하기 - RedisTemplate 편 [Java + Redis] Spring Data Redis로 Redis와 연동하기 - RedisRepository 편 안녕하세요. 오늘은 Redis에 관련된 이야기 3번째입니다. 저번시간까지 우리는 캐시(Cache)에 대한 간단한 이론, 그리고 Redis의 기본 명령어에 대해서 알아보는 시간을 가졌습니다. 이번 포스팅에서는 Java에서 Spring Data Redis를 이용하여 Redis와 통신하는 방법에 대해서 알아보도록 하겠습니다. Redis에 접근하기 위해서 Spring Data Redis 라이브러리를 .. 2020. 8. 12.