본문 바로가기

분류 전체보기264

[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.
[Redis] Redis의 기본 명령어 [Redis] 캐시(Cache)와 Redis [Redis] Redis의 기본 명령어 [Java + Redis] Spring Data Redis로 Redis와 연동하기 - RedisTemplate 편 [Java + Redis] Spring Data Redis로 Redis와 연동하기 - RedisRepository 편 안녕하세요. 오늘은 저번 시간에 이어서 Redis에 대해서 추가적으로 알아보는 시간을 가지겠습니다. 오늘 알아볼 내용은 Redis의 기본 명령어입니다. Redis의 자료구조와 명령어는 Redis를 사용하는 Client를 개발할 때에도 사용되므로 잘 알아두어야 합니다. 오늘은 우리가 Redis에서 가장 자주 사용하는 자료구조인 Strings, List, Set, Sorted Set, Hash, .. 2020. 8. 7.
[Redis] 캐시(Cache)와 Redis [Redis] 캐시(Cache)와 Redis [Redis] Redis의 기본 명령어 [Java + Redis] Spring Data Redis로 Redis와 연동하기 - RedisTemplate 편 [Java + Redis] Spring Data Redis로 Redis와 연동하기 - RedisRepository 편 안녕하세요. 현대의 웹 서비스에서는 Cache가 정말 중요한 역할을 합니다. 서비스의 규모가 커져감에 따라 모든 요청을 DB 직접 참조 또는 API 호출로 처리한다면 성능과 에러 등과 같은 이슈가 발생할 수 밖에 없습니다. 과도한 요청이 문제가 되기 시작하면 캐시(Cache)에 대해서 고려할 수 밖에 없습니다. 오늘은 캐시(Cache)와 Redis의 특징에 대해서 여러분과 이야기해보고자 합니다.. 2020. 8. 5.
[java8] 병렬 Stream Java에서는 다양한 방법으로 병렬 처리를 만들 수 있습니다. 기본적인 Thread 클래스를 이용할 수 있으며, ExecutorService를 이용하여 쓰레드풀도 쉽게 만들 수 있습니다. 그리고 CompleteFuture를 이용하면 쓰레드 간의 데이터 동기화, 실행 순서 등도 원하는 대로 조작할 수도 있습니다. 그리고 Java8애서 등장한 Stream은 병렬 처리를 쉽게 사용할 수 있게 메서드를 제공해줍니다. 만들어 놓은 Stream에 parallel를 추가하기만 하면 되죠. 오늘은 java8의 병렬 Stream에 대해서 알아보는 시간을 가져보겠습니다. Stream 예제 오늘 사용할 예제는 아래와 같습니다. 코드에는 java google style guide를 적용하였습니다. 메서드를 하나 만들도록 하겠.. 2020. 7. 26.
[Java9] Reactive Stream Flow - Processor 실습 안녕하세요. 우리는 이전 포스팅에서 Reactive Stream에 대해서 알아봤었습니다. Reactive Stream의 스펙으로 Publisher, Subscriber, Subscription을 소개해드렸었습니다. 하지만 저희가 알아보지 않은 스펙이 하나 더 존재합니다. 바로 Processor Interface 입니다. 오늘은 이 Interface에 대해서 간단하게 알아가보는 시간을 가지도록 하겠습니다. 개요 Processor는 리액티브 스트림에서 처리하는 이벤트의 변환 단계입니다. 예를 들어 Subscriber가 여러개 있을 때 하나의 Processor가 에러를 수신하면 이로부터 회복하거나 즉시 onError 신호를 모든 Subscriber에게 에러를 전파할 수 있습니다. 또한 Producer가 생성한.. 2020. 7. 17.
[Java9] Reactive Stream Flow - 실습편 안녕하세요. 이전 포스팅에서 Reactive Stream에 대해서 알아봤었습니다. 오늘은 Reactive Stream 스펙을 이용해 실제로 Reactive Stream으로 구현해보도록 하겠습니다. 예제를 만들어 보도록 하겠습니다. 스펙 이전 포스팅에서 확인했던 3가지의 Reactive Stream의 스펙은 아래와 같습니다. 자세한 내용은 이전 포스팅를 참고 부탁드립니다. public interface Publisher { public void subscribe(Subscriber 2020. 7. 15.