개발7 Spring Batch란? Spring Batch란?대용량 데이터를 처리하기 위한 프레임워크주기적이고 반복적인 작업을 실행하는 데 사용반복, 재시도, skip 처리 실패한 배치 작업을 다시 시작하거나 skip 할 수 있음모니터링배치 작업의 진행 상태와 소요 시간 정보 제공트랜잭션 관리트랜잭션 관리를 지원하여 데이터 일관성 유지실행 순서@EnableBatchProcessing 필요Job → Step → ItemReader → ItemProcessor → ItemWriterJob으로 하나의 배치 작업을 정의Step에서 하나씩 수행읽기 → 처리 → 쓰기 과정을 거침Step을 등록하기 위한 Bean 등록 필요Step 단계Chunk대량의 데이터를 끊어서 처리할 최소 단위읽기 → 처리 → 쓰기 작업이 청크 단위로 진행PlatformTrans.. 2024. 11. 24. [OAuth2] X(구 트위터) 로그인 API 사용기 X 소셜 로그인을 뚜복 프로젝트에 적용하면서 시행 착오를 겪었다.일반 소셜 로그인과 다른 부분이 한 가지 있었고, 이를 정리한 블로그가 많이 없어 정리를 해두려고 한다.X는 소셜 로그인에 PKCE(Proof Key for Code Exchange)를 사용한다.💡 PKCEOAuth2.0의 보안을 강화하기 위한 확장 인증 방식- 클라이언트가 랜덤한 문자열(code verifier) 생성 - 이를 해시하여 code challenge 생성 - 인증 요청 시 code challenge를 함께 전송 - 인증 코드를 받은 후, 엑세스 토큰 요청 시 원래의 code verifier 전송 - 서버는 전송받은 code verifier를 해시하여 처음 받았던 code challenge와 비교 검증 나는 이 PKCE를 Sp.. 2024. 11. 17. Docker 공부하기 (기초) 공통 프로젝트를 하면서 인프라를 할 줄 아느냐 모르느냐에 따라 편의성이 달라진다는 것을 깨달았다.능숙하게 모든 것을 하기는 힘들지만, 기초적인 도커, Jenkins, 서버 배포 등을 공부해보고자 한다. 오늘은 그 첫 번째인 도커 기초이다.1. 도커 기초 강의도커(Docker)란?컨테이너 기반의 오픈소스 가상화 플랫폼어떤 프로그램을 외부 환경과 격리 시켜 구동할 수 있게 해주는 소프트웨어개발 후 가동을 시킬 때 우리가 쓰고 있는 OS 환경에 영향을 많이 받지 않게 격리 시켜 구동할 수 있게 해주는 것컨테이너(Container)란?OS 상에 논리적인 영역(컨테이너)을 구축하고, 애플리케이션이 작동하는데 필요한 요소들을 모아 별도의 서버처럼 동작하는 것필요한 요소만으로 구성되어 있어 오버헤드가 적음Infras.. 2024. 9. 1. JWT 심화 보안을 위한 JWT 심화토큰 사용 추적로그인 성공 JWT 발급 : 서버측 → 클라이언트로 JWT 발급권한이 필요한 모든 요청 : 클라이언트 → 서버측 JWT 전송JWT는 매시간 수많은 요청을 위해 클라이언트의 JS 코드로 HTTP 통신을 통해 서버로 전달해커는 클라이언트 측에서 XSS를 이용하거나 HTTP 통신을 가로채서 토큰을 훔칠 수 있음→ 여러 기술을 도입하여 탈취를 방지하고 탈취당했을 시 대비 로직이 필요다중 토큰 : RefreshToken과 생명 주기여러 문제를 예방하기 위해 Access/Refresh 토큰 개념 등장자주 사용되는 토큰의 사용주기는 짧게(약 10분) 이 토큰이 만료되었을 때 함께 받은 Refresh 토큰(24시간 이상)으로 토큰을 재발급권한이 필요한 모든 요청 : Access 토.. 2024. 8. 11. OAuth2.0 + SpringSecurity 이번주는 OAuth2.0과 SpringSecuirty를 이용한 사용자 로그인을 가지고 왔다. 프로젝트에 이미 써먹고 있지만, 원리부터 과정까지 이해하니 이전에 코드만 이해하고 적용했던 것보다 훨씬 이해가 잘 된다. 다음주는 마지막으로 OAuth 2.0과 Jwt를 이용한 로그인을 공부해보겠다.실습 목표 및 간단한 동작 원리실습 목표Oauth20 클라이언트와 스프링 시큐리티 6 프레임워크를 활용하여 신뢰할 수 있는 외부 사이트로부터 인증을 받고, 전달 받은 유저 데이터를 활용하여 세션을 만들고 인가를 진행구현인증 : 네이버 소셜 로그인, 구글 소셜 로그인(코드 방식)인가 : 세션 방식을 통한 경로별 접근 권한인증 정보 DB 저장 후 추가 정보 기입OAuth2.0 인증 방식 및 시큐리티 동작 원리인증 서버와 .. 2024. 8. 4. 스프링 시큐리티(Spring Security) + JWT 저번주에 이어 SpringSecurity와 JWT를 사용하여 간단한 회원가입과 로그인, JWT 토큰 검증을 공부했다.신기한 건 저번주까지만 해도 ai 학습이 2023년 9월까지여서 현재 SpringSecurity 버전에 대한 코드를 주지 못했다고 했는데,2024년 3월까지로 학습이 변경되어 이제 최신 버전의 SpringSecuirty 코드를 얻을 수 있게 되었다(!)다음주는 SpringSecurity, JWT에 소셜 로그인까지 더하여 공부할 계획이다.실습 목표 및 간단한 동작 원리실습 목표스프링 시큐리티 6 프레임워크를 활용하여 JWT 기반의 인증/인가를 구현하고 회원 정보 저장(영속성) MySQL 데이터베이스를 활용서버는 API 형태로 구축(웹 페이지를 응답하는 것이 아닌 API 클라이언트 요청을 통해.. 2024. 7. 21. 이전 1 2 다음