본문 바로가기 메뉴 바로가기

zeroco2

프로필사진
  • 글쓰기
  • 관리
  • 태그
  • 방명록
  • RSS

zeroco2

검색하기 폼
  • Develop (54)
    • Marketing (1)
      • GA (1)
    • Frontend (0)
      • Javascript (0)
    • Backend (10)
      • Spring & Spring Boot (5)
      • Spring Batch (2)
      • Java (3)
    • Data (25)
      • Oracle (3)
      • ELK (6)
      • Kafka (3)
      • Clickhouse (1)
    • Infra (7)
      • Linux (1)
      • Docker & k8s (5)
      • aws (0)
    • 개발지식 (2)
    • 문제해결 (8)
    • 일상 (0)
  • 방명록

Backend/Spring & Spring Boot (5)
JVM 설정 변경

Boot에서 변경  -Xmx8g: 최대 힙 메모리를 8GB로 제한 -XX:NewSize=2g 및 -XX:MaxNewSize=2g: Young Generation 크기를 2GB로 설정하여 Old Generation이 약 6GB가 -XX:+UseG1GC: G1 가비지 컬렉터를 사용 bootRun { jvmArgs = ["-Xmx8g", "-XX:NewSize=2g", "-XX:MaxNewSize=2g", "-XX:+UseG1GC"]}JVM 옵션에서 조정-Xmx8g -XX:NewSize=2g -XX:MaxNewSize=2g-XX:+UseG1GC

Backend/Spring & Spring Boot 2024. 10. 25. 14:29
Spring boot SSH 터널링 jsch 사용

서버가 비정상 상태일 경우 팀즈로 알람을 받아서 조치 하도록 운영을 하고 있는데, 매시간 서버 재기동 하는게 불편해서 비정상 상태일 경우 서버를 재시작 하도록 자동화 하려고 함. jsch 를 라이브러리 사용 - ssh 연결해줌 최신버전 0.1.55 버전이 이상하지만 고고 implementation 'com.jcraft:jsch:0.1.55' ssh 설정 - 프로퍼티는 알아서 지정 연결할 host port username pw 넣어주면됨 @Configuration public class SshCommandConfig { @Value("${ssh.tunnel.host}") private String sshHost; @Value("${ssh.tunnel.port}") private int sshPort; @V..

Backend/Spring & Spring Boot 2024. 3. 14. 13:28
Spring batch 처리

Spring Batch 로 하루 30만건 정도의 쿠폰 데이터 ES 적재 이후 타겟팅 된 고객 RDB 적재 연계 로직 일 배치로 ES에 적재 만료예정일시 타겟팅시에 쿠폰 API 호출하여, 실제 만료 예정될 쿠폰이 있는지 확인 쿠폰 지급 타겟된 mall 갯수 : 105개 쿠폰갯수 : 1720개 쿠폰 가장 많은 몰 : 175개 ( * 조금 더줄이는 방법 찾기 ) 가장많은 issued copoun 가진 몰 : 49319개 쿠폰 리스트 총갯수 : 241,210개 (14번 X-Api-Call-Limit 발생) Thread 별 실행시간 이슈 : 스케줄 조정 새벽 2시 10 분 : 3시간30분 소요 → 실행시간 1시간 초과로 오류 발생 오전 8시 20분 : 2분 56초 828 오전 11시 15분 : 4분 20초 소요 ..

Backend/Spring & Spring Boot 2023. 12. 11. 10:58
Spring Boot API 테스트 코드 구현

테스트코드는 메인 코드의 경로를 맞춰줘야 한다. 1. Test Life Cycle import org.junit.jupiter.api.AfterAll; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; public class TestLifeCycle { @BeforeAll static void beforeAll() { System.out..

Backend/Spring & Spring Boot 2023. 7. 4. 22:30
Spring Boot 테스트 개념 정리

TDD에 대한 간단한 설명 - 테스트 주도 개발이라는 뜻으로 TDD는 테스트를 먼저 설계하고 테스트를 통과할 수 있는 코드를 짜는 것을 말한다. - 애자일 개발 방식 중 하나라고 한다. - 코드 설계시 원하는 단계적 목표에 대해 설정하여 진행하고자 하는 것에 대한 결정 방향의 갭을 줄인다. - 최초 목표에 맞춘 테스트를 구축하여 그에 맞게 코드를 설계 하기 때문에 보자 적은 의견 충돌을 이끌 수 있음 테스트 코드를 작성하는 목적 - 코드의 안정성은 높일 수 있음 - 기능을 추가하거나 변경하는 과정에서 발생하는 Side-Effect를 줄일 수 있음 - 해당 코드가 작성된 목적을 명확하게 표현할 수 있다.(코드에 불필요한 내용이 들어가는 것을 비교적 줄일 수 있음) [단위테스트] 단위 테스트(Unit Tes..

Backend/Spring & Spring Boot 2023. 7. 4. 22:10
이전 1 다음
이전 다음

Blog is powered by Tistory / Designed by Tistory

티스토리툴바