소개
다양한 프로젝트에서 웹/모바일/솔루션 제품 개발과 관련된 업무를 진행해 오고 있으며 분석/설계/개발 Role 을 맡아 오고 있습니다.
공공기간, 교육프로그램, 기업 프로젝트, 쇼핑몰 등의 웹 개발 및 솔루션 프로그램, 프레임워크, 오픈소스 연동 등의 아키텍처 설계 및 구조적 고도화 개선 등을 해 오고 있으며 개발, PL 등의 역할을 맡았습니다.
다양한 Open Source 와 여러 기술적인 경험들을 통해 웹의 전반적인 기술 흐름들을 익혔으며 개발 경험이 거듭될 수록 요구사항의 기능 구현에만 거치지 않고 좀 더 OOP 적인 구조의 소프트웨어로서 안전성과 성능을 고려한 아키텍처링과 튜닝의 기술들을 접목시켜 지속적으로 더 훌륭한 소프트웨어를 완성하기 위한 연구와 개발 실무를 책임감 있게 맡아 오고 있습니다.
강의
전체4로드맵
전체1수강평
- 말씀은 많이 하시는데.. 무슨 얘긴지 모르겠네요.. 10번쯤 들으면 이해가 될까요?
cbpark68
2024.09.02
0
게시글
질문&답변
2024.09.05
job launcher관련 질문 있습니다.
job 이 빈이니까 job 빈 객체의 이름으로 구분하여 사용하시면 되지 않을까 합니다 가령 private final JobLauncher jobLauncher; private final Job jobA; private final Job jobB; private final Job jobC; @Autowired public BatchController(JobLauncher jobLauncher, Job jobA, Job jobB, Job jobC) { this.jobLauncher = jobLauncher; this.jobA = jobA; this.jobB = jobB; this.jobC = jobC; } 이런 식으로 말이죠
- 0
- 1
- 7
질문&답변
2024.09.05
slave 청크의 실패 횟수에 따라 나머지 청크를 중지시키는 방법이 있을까요?
네 이 부분은 리스너를 통한 커스텀 구현도 방법은 되겠으나 스프링배치의 구조적인 방식과는 조금 거리가 멀고 강제종요로 인해 리소스 해제나 트랜잭션 처리에도 이슈가 될 수 있습니다 보통 스텝이 실패할 경우 skip 이나 retry 를 사용하여 오류를 관리합니다 예를 들어 다음과 같은 경우를 생각해 볼 수 있습니다 return new StepBuilder("apiStep", jobRepository) . chunk(CHUNK_SIZE, transactionManager) .reader(helloReader(null)) .processor(helloVO -> { LocalDate date = helloVO.getDate(); if(date.getDayOfMonth() == 10){ throw new IllegalStateException("!! " + helloVO); } return helloVO.toEntity(); }) .writer(v -> log.info("write = {}", v)) .faultTolerant() .skipPolicy(new LimitCheckingItemSkipPolicy(MAX_FAILURES, IllegalStateException.class)) .listener(skipListener) .build(); 즉 최대실패갯수에 도달할 경우 어떤 처리를 하도록 하는거죠 위 코드는 하나의 예시라고 이해하시면 됩니다
- 0
- 2
- 23
질문&답변
2024.09.04
chunk 처리 기반에서 cursor 방식과 메모리 사용
사실 스프링 배치에서는 청크 사이즈만큼 트랜잭션이 일어나기 때문에 커서 방식에서 크게 메모리 사용량이 늘어나지는 않습니다 강의에서 설명한 것은 일반적인 커서방식을 의미하는 것으로서 스트리밍 방식으로 계속 데이터를 로드하는 경우 메모리에 쌓이게 되는 경우를 말합니다 그에 반해 페이징은 페이지크기만큼만 로드하기 때문에 메모리 사용량이 덜하다는 의미라 볼 수 있습니다 결론은 커서든 페이징이든 어느 정도의 fetchsize 로 메모리에 데이터를 로드할 것인가에 따라 메모리 사용량이 달라진다고 보시면 됩니다 스프링 배치는 그런 관점에서 청크사이즈만큼 트랜잭션이 이루어지므로 대용량 데이터 처리에 최적화 된 기술을 제공하고 있다고 보시면 됩니다
- 0
- 2
- 142
질문&답변
2024.09.04
실전강의 질문 (Rest 인증 필터 구현)
아래 답변을 참고하시면 되는데 만약 설정을 하지 않으면 그건 시큐리티 내부적으로 또 한번의 객체를 생성할려고 시도하게 되고 결국 오류를 발생하게 됩니다 강의에서 설명하는 것은 우리가 직접 AuthenticationManager 를 얻기 위한 작업을 하고 있는데 원래는 시큐리티가 내부적으로 진행하는 작업입니다 그래서 중복실행을 방지하기 위해 객체를 설정하게 되면 시큐리티가 객체릴 생성하기 위한 작업을 하지 않습니다 이 부분은 아주 중요한 부분은 아니니 참고 정도로만 아시면 됩니다
- 0
- 2
- 16
질문&답변
2024.09.04
스프링 부트 버전
네 괜찮을 것 같습니다^^
- 1
- 1
- 14