Introduction
다양한 프로젝트에서 웹/모바일/솔루션 제품 개발과 관련된 업무를 진행해 오고 있으며 분석/설계/개발 Role 을 맡아 오고 있습니다.
공공기간, 교육프로그램, 기업 프로젝트, 쇼핑몰 등의 웹 개발 및 솔루션 프로그램, 프레임워크, 오픈소스 연동 등의 아키텍처 설계 및 구조적 고도화 개선 등을 해 오고 있으며 개발, PL 등의 역할을 맡았습니다.
다양한 Open Source 와 여러 기술적인 경험들을 통해 웹의 전반적인 기술 흐름들을 익혔으며 개발 경험이 거듭될 수록 요구사항의 기능 구현에만 거치지 않고 좀 더 OOP 적인 구조의 소프트웨어로서 안전성과 성능을 고려한 아키텍처링과 튜닝의 기술들을 접목시켜 지속적으로 더 훌륭한 소프트웨어를 완성하기 위한 연구와 개발 실무를 책임감 있게 맡아 오고 있습니다.
Courses
Reviews
- Java Concurrency Programming [Reactive Programming Part.1]
- Spring Security Complete Mastery [6.x Revised Edition]
- Spring Security Complete Mastery [6.x Revised Edition]
- Spring Security Complete Mastery [6.x Revised Edition]
- Java Concurrency Programming [Reactive Programming Part.1]
Posts
Q&A
spring batch 버전
네버전에 따른 차이는 있겠으니 강의 내용에 큰 영향을 미칠 정도는 아닙니다일단 강의 버전으로 충분히 학습하셔서 스프링 배치의 전반적인 기술을 이해하시면 버전에 따른 차이점도 충분히 해결이 가능할 거라 생각합니다
- 0
- 2
- 16
Q&A
Authentication이 인증 할 때, 인증 이후 모두 사용되는 이유
네 그건 어떻게 보면 설계의 영역인데요Authentication 이 의미하는 바는 인증 전과 인증 후를 구분하는 것이라기보다는 인증 자체를 의미합니다즉 인증전의 Authentication 과 인증 후의 Authentication 은 둘 다 인증이라는 영역안에 포함되는 개념이기 때문에 하나의 Authentication 을 사용하는 것이라 볼 수 있는데 이게 정답이라고 볼 수는 없습니다질문하신 것처럼 예를 들어 AuthenticationBefore 와 AuthenticationAfter 로 구분하면 명확하게 인증 프로세스 전후를 인식하기에 더 나을 수도 있기 때문입니다그리고 실제로 실무에서도 구분하여 사용하는 경우도 종종 있습니다
- 0
- 1
- 31
Q&A
JOSE 구성요소의 api에 관한 질문
아마도 표준스펙을 따라 구현하였다면 그렇지 않을까 합니다.내부 로직이야 당연히 다르게 구현하였겠지만 스펙에 따른 인터페이스는 비슷하게 설계했을 거라 생각되네요
- 0
- 2
- 26
Q&A
클라이언트에서 userinfo 엔드포인트 호출 시 질문
네인가서버가 리소스서버에게 토큰 검증을 하고 나서 사용자정보를 인가서버에서 클라이언트로 반환합니다리소스 서버는 단지 토큰을 검증하는 역할을 합니다물론 리소스 서버에서 기타 다른 정보를 가져와서 줄 수도 있습니다이건 표준적으로 정해진 규칙이라기보단 스프링에서 정한 흐름이라 보시면 됩니다그리고 openid 같은 경우 글로벌한 서비스 업체에서는 기본적으로 설정된 경우가 있습니다구글이 한 예입니다카카오는 전달이 되어야 하는 걸로 알고 있는데 현재는 정책이 바뀌었는지 잘 모르겠습니다
- 0
- 2
- 61
Q&A
FormAuthenticationFailureHandler -> setDefaultFailureUrl 의 Thread safety
setDefaultFailureUrl("/login?error=true&exception=" + errorMessage);에서 변경되는 부분은 errorMessage 인데 이건 지역변수라 스레드마다 스택에 저장되기 때문에 동시성의 문제가 발생하지 않습니다
- 1
- 1
- 53
Q&A
HttpSecurity configurer
음..그건 프로젝트 생성하는 설정에 따라서 조금 다를 수가 있습니다.Cors 기능이 기본적으로 들어가지 않아서 10개가 맞습니다.강의에서는 Cors 기능이 활성화 된 것 같습니다.그렇게 신경쓰지 않아도 됩니다
- 0
- 2
- 31
Q&A
인텔리제이 무료버전 사용중입니다. 프로젝트 생성 시
무료 버전은 지원하지 않습니다.대신 아래 답변처럼 start.spring.io 를 사용해서 스프링 부트 기반으로 프로젝트를 생성할 수 있습니다.구글 등에 검색해 보시면 많은 자료들이 있으니 참고해 주시기 바랍니다.
- 0
- 5
- 86
Q&A
Multi-threaded-step과 Partitioning 차이 확인
제 잘 이해하고 계십니다아래 답변에서 제가 예전에 질의 답변한 내용을 참고하시면 좋습니다.
- 0
- 2
- 60
Q&A
job 재실행
아래 답변을 참고하시면 됩니다부연 설명을 하자면 job 이 원칙적으로 재 실행되는 기준은 job 이 실패한 경우와 또는 job 이 성공하더라도 job parameter 가 다를 경우입니다. 그 외에는 재실행되지 않습니다.일단 이 원칙과 allowStartIfComplete 옵션이 true 가 아니면 재실행 되지 않으니 이 기준하에 재실행 여부를 파악해 보고 가급적 디버깅 하면서 해 보시기 바랍니다.
- 0
- 2
- 82
Q&A
Multithread step과 AsyncItemProcessor
시도 자체는 좋습니다.문제는 이게 실무적으로 얼마만큼의 효율성을 가지느냐 문제입니다멀티 스레드 작업이 컨텍스트 스위칭 문제부터 동시성, 락 등 여러가지 고려해야 할 사항들이 많고 오히려 성능이 더 저하될 수 도 있습니다.비동기 프로그래밍도 논블록킹이라는 이점은 있지만 규모가 커질수록 비동기 지점과 블록킹 지점이 혼재된다면 큰 성능상의 이점을 가져가기 어렵습니다.결론적으로 멀티스레딩은 확연하게 대용량의 데이터가 존재하고 이것을 분할하여 동시적으로 처리해야 하는 근거가 확실할 때 시도하는 것이 좋습니다.
- 0
- 2
- 68