Spring Security
숙련도 | 60% |
---|
분류 | 프레임워크/라이브러리 |
---|
분야 | Backend Development |
---|
- Backend Development
- Java와 Spring Boot를 사용해 REST API를 개발.
- 데이터베이스로 MySQL을 사용하였으며, 데이터 매퍼는 MyBatis와 JPA를 활용해 데이터 처리.
- API 문서화를 위해 Swagger/OpenAPI를 사용해 개발한 API를 문서화.
- Spring Profiles을 사용해 환경별 Property(dev, local, prod)를 분리하여 각 환경에 맞는 설정값을 유연하게 관리.
- Spring Security와 JWT를 사용해 로그인 인증 및 권한 관리 기능 구현.
- API 성능 최적화
- Paging 처리를 통해 대용량 데이터 조회 성능을 최적화.
- Redis를 활용해 자주 사용되는 데이터를 캐싱하여 데이터베이스 부하를 줄이고 응답 속도 개선.
- 파일 및 데이터 처리
- 이미지 파일은 압축 처리를 통해 저장 및 전송 효율성 개선.
- 조회한 데이터를 Excel 파일로 출력 기능 구현.
- JSON, CSV 등 다양한 데이터 포맷 변환 기능 구현.
- 배치 작업 및 스케줄링
- Spring Batch를 사용해 정기적으로 실행되는 배치 작업 구현.
- Spring Scheduler를 활용해 주기적으로 특정 작업을 실행.
- 보안 및 암호화
- AES 알고리즘을 사용해 데이터를 암호화 및 복호화하는 기능 구현.
- SHA-256 해시 알고리즘을 활용해 비밀번호 등 민감한 데이터를 단방향 암호화 처리.
- 로그 관리 및 에러 처리
- log4j2를 사용해 로그 레벨(디버그, 인포, 에러 등)을 상황에 맞게 관리.
- 커스텀 에러 클래스를 작성하고 공통 에러 핸들러를 구현해 에러 처리의 일관성 확보.
- 이메일 및 FCM 알림
- Firebase를 사용해 FCM 푸시 알림 기능 구현.
- 블록체인 연동
- Web3 라이브러리를 사용해 스마트 컨트랙트를 호출하고 블록체인 데이터를 처리.
- 블록체인 지갑 생성 및 트랜잭션 처리 로직 구현.
- AWS 서비스 연동
- AWS S3를 사용해 파일 및 이미지 저장 기능 구현.
- AWS Chime을 활용해 화상 채팅 기능 연동.
- AWS IVS를 사용해 실시간 비디오 스트리밍 기능 구현.
- 기타
- PG사 연동을 통해 결제 기능 구현 및 에러 발생 시 환불 처리 로직 추가.
- CORS 처리를 통해 프론트엔드와의 원활한 통신 지원.
- 다양한 CustomException 정의하고, Exception Handler를 구현해 발생하는 예외를 유형별로 처리하여 에러 처리의 일관성과 유지보수성을 강화.