전체 글 55

메서드 재실행 어노테이션을 만들자. 실무 & @Retryable

(소스 코드) github : (빌드해서 라이브러리로 사용하거나 기능을 추가해서 사용하셔도 됩니다) GitHub - youseonghyeon/retry-lib: 라이브러리로 사용할 수 있음라이브러리로 사용할 수 있음. Contribute to youseonghyeon/retry-lib development by creating an account on GitHub.github.com  우선.. spring-retry라는 라이브러리를 설명하는 글은 아니므로, 만약 라이브러리 사용법을 알고싶으면... 뒤로가기를 눌러주세요. 메서드를 실패하면 재 실행하도록 하는 @Retryable 어노테이션을 만들자! @Retryable 어노테이션을 쓰는 이유는 다음과 같습니다.1. api 호출 시 장애가 발생할 가능성이 있..

Java & Kotlin 2023.04.14

반복적인 일을 자동화하자!! .2부 (시스템 점검 자동화)

response body를 받아보자. public class ConnectionFactory { private HttpURLConnection conn; ... public String getResponseBody() { try { InputStream in = conn.getInputStream(); return new String(in.readAllBytes()); } catch (IOException e) { throw new RuntimeException(e); } } } 정말 간단하다.. HttpURLConnection에서는 데이터를 InputStream 형식으로밖에 받지 못한다. 위와 같이 작성해주면 html이든 json이든 다 긁어온다. 파일을 받아보자. public class Connect..

카테고리 없음 2023.04.06

반복적인 일을 자동화하자!! .1부 (시스템 점검 자동화)

회사에서는 출근 후, 퇴근 전 매일 하는일이 있다.바로 시스템 점검.. 우리 시스템이 잘 운영되고 있는지 모든 api를 점검한다. 지금까지 시스템을 점검하는 방법은 모두 Postman으로 한건한건 찔러보는 것이다.이중화 되어있는 서버를 모두 찌르기만해도 20분이 훌쩍... 보고서까지 작성하면 30분이 증발한다.. api서버를 모두 찌르기만 하는것도 아니다..api서버에서는 데이터를 잘 가져와도, api 뒤쪽에 있는 데이터 생성 서버가 3시간 전에 죽었으면api서버는 3시간 전의 데이터를 잘(code:200) 가져온다... 또한 데이터는 .svg 파일이다. 직접 사진을 열어 사진에 적힌 시간을 봐야한다. 매일 하는 반복적인 일에 30분이나 시간을 쓰는 것도 아깝고, 모든 api를 찌는것도 귀찮기 때문에일일..

DevOps 2023.04.01

Sharding Storage + Spring + JPA (분산저장). 1부

소스코드 (해당 블로그 내용은 2번째 커밋에 있습니다: 5ae762acce83f126a8e2c153eeceeeddf9e4275a)github: https://github.com/youseonghyeon/multi-datasource-jpa GitHub - youseonghyeon/multi-datasource-jpa: 샤딩 스토리지 구성을 위한 JPA 설정샤딩 스토리지 구성을 위한 JPA 설정. Contribute to youseonghyeon/multi-datasource-jpa development by creating an account on GitHub.github.com 우선 분산 저장의 장점은 DB 과부화를 방지할 수 있다는 장점이 있습니다.트래픽이 많고 DB connection이 많거나, 대..

Architecture 2023.03.25

스프링 라이브러리 만들기 @AutoConfiguration

스프링에서 사용할 수 있는 라이브러리를 만들어보자 대학 시절, 저는 개인적인 프로젝트로 라이브러리를 만들고자 했습니다. 이 과정에서 여러 블로그를 참조하며 시행착오를 겪었고, 그 경험은 저에게 많은 것을 가르쳐 주었습니다. 이번 글에서는 그때의 경험을 바탕으로, 라이브러리 생성을 쉽고 자세하게 이해할 수 있도록 안내해드리려 합니다. 그러므로 이번 글은 조금 더 자세하게 작성하였습니다. 본론으로..Spring Boot의 @AutoConfiguration을 이용한 라이브러리 제작 방법에 대해 알아보겠습니다.글의 순서는 다음과 같습니다.프로젝트 생성 및 AutoConfiguration 라이브러리 추가메인 코드 작성@AutoConfiguration 추가Spring이 읽을 수 있는 설정 파일 생성라이브러리 빌드라..

Spring 2023.03.24