블로그를 대학때부터 티스토리를 사용했었습니다. Evernote에 작성하고 Evernote 플러그인을 사용해서 블로깅을 잘 했었는데요. 티스토리 Editor가 변경되고 나서 Evernote에서 작성한 블로그를 가져오면 style이 그대로 유지되지 않는 경우가 자주 발생하고 직접 tag을 수정을 해도 제대로 반영이 안되는 경우가 많이 있습니다. Evernote에서 블로그를 작성하고 다시 티스토리에서 수정하는 작업이 너무 시간 낭비라서 Github로 블로그를 옮기기로 결정을 했습니다. 본격적으로? 블로그를 하기 위해서 새로운 도메인으로 시작했습니다. 많이 놀러와주세요. 감사합니다. https://blog.advenoh.pe.kr
Gatsby로 블로그 마이그레이션을 하여 이 링크를 클릭하면 해당 포스팅으로 갑니다. 감사합니다. http://blog.advenoh.pe.kr 1. 들어가며 Quartz에서는 메모리 기반의 스케줄러뿐만이 아니라 DB 기반의 스케줄러도 지원합니다. DB 기반의 스케줄러의 경우에는 스케줄러 정보를 메모리가 아닌 DB에 저장하기 때문에 다중 서버 간의 스케줄링이 가능합니다. Quartz는 master-slave 형태로 서로 간의 통신을 하지 않고 단순히 DB 업데이트 정보를 기반으로 각각의 스케줄 인스턴스가 자기가 실행해야 하는 Job을 실행합니다. Cluster 환경에서 스케줄링이 가능하기 때문에 Non-Cluster 환경에 비해 여러 가지 장점이 기본적으로 제공됩니다. 고가용성 (High Ava..
Gatsby로 블로그 마이그레이션을 하여 이 링크를 클릭하면 해당 포스팅으로 갑니다. 감사합니다. http://blog.advenoh.pe.kr 1. 들어가며 본 포스팅은 Quartz 튜터리얼에서 4번째 시리즈로 Quartz 서버를 셧다운 시킬 때 gradefully하게 처리하는 방법에 대해서 다룹니다. 셧다운 이벤트가 발생하면 실행 중인 Quartz Job에 내부 interrupt() 함수가 호출이 되고 interrupt로 노티를 받으면 개발자가 알아서 close 로직을 짜면 됩니다. 실행 쓰레드를 kill 할 수도 있고 (비추천) 실행 중인 Job을 기다리고 다음 스케줄에서 제외시킬 수도 있습니다. 2. 개발 환경 OS : Mac OSIDE: IntellijJava : JDK 1.8Source co..
Gatsby로 블로그 마이그레이션을 하여 이 링크를 클릭하면 해당 포스팅으로 갑니다. 감사합니다. http://blog.advenoh.pe.kr 1. 들어가며 Jackson에서 양방향 관계 (Bidirectional Relationship)로 맺어진 객체는 무한 재귀가 발생하는 문제가 있습니다. 구체적인 예를 들어 어떤 상황에서 발생하는 지 살펴보고 어떤 방법으로 해결 가능한지도 알아보겠습니다. 1.1 무한 재귀 Customer와 Order 두 객체는 서로 순환 참조 (Circular Reference)를 하고 있습니다. Customer 객체가 Order 객체를 가지고 있고 Order 객체가 Customer 객체를 가지고 있는 경우입니다. @Setter@Getter@ToStringpublic clas..
Gatsby로 블로그 마이그레이션을 하여 이 링크를 클릭하면 해당 포스팅으로 갑니다. 감사합니다. http://blog.advenoh.pe.kr 1. 들어가며 이 포스팅은 Quartz 튜터리얼 시리즈에 한 부분으로 첫 번째의 포스팅 Quartz Job Scheduler란? 에 이어 2부 내용으로 Spring Boot 기반의 RAMJobStore을 이용한 Quartz 스케줄러 구현을 다룹니다. 기본 개념은 이미 1부에서 다루었기 때문에 여기에서는 작성한 코드 기반으로 어떻게 스프링에서 Quartz를 설정하여 사용할 수 있는지에 대해서 알아보겠습니다. 2. 개발 환경 스프링 부트에서는 Quartz을 사용하려면 spring-boot-starter-quartz 라이브러리를 추가해줘야 합니다. pom.xml ..
Gatsby로 블로그 마이그레이션을 하여 이 링크를 클릭하면 해당 포스팅으로 갑니다. 감사합니다. http://blog.advenoh.pe.kr1. 들어가며Quartz Job Scheduler에 대한 내용은 여러 시리즈 형식으로 작성을 하였습니다. Quartz에 대한 간단한 설명을 시작으로 스프링 부트 기반에서의 Quartz Job Scheduler 구현 그리고 이중화 환경에서 많이 사용하는 Quartz Cluster 구성도 아래 튜토리얼에서 같이 보도록 하겠습니다. 1부 : Quartz Job Scheduler란?2부 : Spring Boot + Quartz을 이용한 Job Scheduler 구현 (In memory)3부 : Multi WAS 환경을 위한 Cluster 환경의 Quartz Job S..
Gatsby로 블로그 마이그레이션을 하여 이 링크를 클릭하면 해당 포스팅으로 갑니다. 감사합니다. http://blog.advenoh.pe.kr 1. 들어가며스프링 프레임워크에서는 REST 서비스의 Endpoint를 호출할 수 있도록 크게 2가지 방식인 동기, 비동기 REST Client을 제공합니다. 이번 포스팅에서는 동기방식인 RestTemplate에 대해서 알아보겠습니다. RestTemplateSpring 3부터 지원 되었고 REST API 호출이후 응답을 받을 때까지 기다리는 동기방식이다AsyncRestTemplateSpring 4에 추가된 비동기 RestTemplate이다Spring 5.0에서는 deprecated 되었다WebClientSpring 5에 추가된 논블럭, 리엑티브 웹 클리이언트로..
Gatsby로 블로그 마이그레이션을 하여 이 링크를 클릭하면 해당 포스팅으로 갑니다. 감사합니다. http://blog.advenoh.pe.kr JSONPATH 개인적으로 모르는 부분 적어두고 알게 되는 부분에 대해서 간단하게 정리해둔 자료입니다. 미 답변중에 알고 계신 부분 있으면 코멘트 달아주세요. 감사합니다. Q&A 전체 목록 [미 답변 질문] - [답변완료] 1. com.jayway.jsonpath 라이브러리는 어디에서 사용하나? Jayway JsonPath는 JsonPath 표기법(ex. $.data[0])으로 json 데이터의 값은 부분적으로 extract할 수 있는 라이브러리입니다. 참고https://advenoh.tistory.com/28
Gatsby로 블로그 마이그레이션을 하여 이 링크를 클릭하면 해당 포스팅으로 갑니다. 감사합니다. http://blog.advenoh.pe.kr CACHE-SSM 개인적으로 모르는 부분 적어두고 알게 되는 부분에 대해서 간단하게 정리해둔 자료입니다. 미 답변중에 알고 계신 부분 있으면 코멘트 달아주세요. 감사합니다. Q&A 전체 목록 [미 답변 질문] - [답변완료] 1. @CacheKeyMethod 란? SSM관련 어노테이션으로 key 값 제공 메서드이고 없는 경우에는 toString()을 호출하게 됩니다. 추가로 캐쉬내 namespace에 toString()로 해서 같은 key 있으면 충돌이 발생합니다. 참고https://m.blog.naver.com/PostView.nhn?blogId=k..