Home
jimin's blog
Cancel

반복적인 크롤링 작업을 Spring Batch로 해결해보자

반복되는 크롤링 작업을 Spring Batch로 해결해보자 서론 나는 하루에 책을 얼마나 읽었는지 기록하고 이를 그래프로 나타내는 서비스를 개발하고 있다. 따라서 책 정보가 필수인데 책 검색 API를 사용하기보다 크롤링을 통해 우리 서비스에서 필요한 정보만 저장하기로 해서 크롤링으로 책 정보를 저장하고 있었다. 기존 크롤링 방법 모든 카...

Docker hub + Github actions(CI/CD)

Github Actions CI/CD CI 지속적인 통합(Continuous Integration)을 의미 소스/버전 관리에 대한 변경 사항을 정기적으로 확인하여 모든 사람에게 동일 작업 기반을 제공 빌드와 테스트를 자동으로 실행하여 동작을 확인하고 변경으로 인해 문제가 생기는 부분이 없도록 보장 CD 지속적인 배포(Con...

Spring batch 알아보기

Batch Application Batch는 일괄처리를 의미 매일 전 날의 데이터를 집계 해야한다고 가정 전날의 데이터를 읽어온다. 읽어온 데이터를 가공한다. 가공한 데이터를 저장한다. 만약 앱 어플리케이션에서 데이터를 읽고, 가공하고, 저장한다면 해당 서버는 데이터 집계를 위해 많...

Github Actions 핵심 개념 & 간단한 CI/CD 적용

Github Actions CI/CD CI 지속적인 통합(Continuous Integration)을 의미 소스/버전 관리에 대한 변경 사항을 정기적으로 확인하여 모든 사람에게 동일 작업 기반을 제공 빌드와 테스트를 자동으로 실행하여 동작을 확인하고 변경으로 인해 문제가 생기는 부분이 없도록 보장 CD 지속적인 배포(Con...

RestDocs + Swagger

들어가기 전 Swagger VS RestDocs Swagger 장점 간편하게 사용 가능하다 설정 파일과 어노테이션만 사용해 간단하게 적용할 수 있다. 개발 된 API의 요청 및 응답 테스트가 가능하다. 웹 상에서 P...

nGrinder로 테스트 전 알아야 할 사전 지식

부하 테스트 전 알아야 할 사전 지식 performence test 설정 perfomance test를 생성할 수 있는 페이지 Test Name : 해당 테스트를 지정하는 이름 Agent : 테스트에 사용할 Agent 갯수 지정. 현재 max가 1개 이지만 위 Docker를 통해 Agent를 생성하는 과정을 통해 갯수를 늘릴 ...

도커로 nGrinder 설치하기

nGrinder란? 네이버에서 진행한 오픈 소스 프로젝트로 서버의 부하 테스트를 위한 도구 스크립트를 통한 시나리오 기반 테스트 부하 테스트 : 시스템의 응답 성능과 한계치를 파악하기 위한 테스트 부하 테스트 도구 : nGrinder, k6, Apache JMeter, Gatling, Locust 등 ...

14921번(용액 합치기)

해결 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.*; public class Main { public static void main(String[] args) throws IOE...

Longest SubString Without Repeating Character

해결 코드 class Solution { public int lengthOfLongestSubstring(String s) { HashSet<Character> set = new HashSet<>(); int result = 0; int left = 0; f...

데드락

Deadlock(교착상태)? 데드락(Deadlock) 또는 교착 상태는 두 개 이상의 작업이 서로 상대방의 작업이 끝나기 만을 기다리고 있기 때문에 결과적으로 아무것도 완료되지 못하는 상태이다. 위 이미지를 보면 취업을 하기 위해서는 경력이 필요한데 경력을 쌓기 위해서는 취업을 해야하는 웃픈 상황이 발생한다. 데드락을 설명하기 좋은...