
‘Work hard, Study hard, Play hard 주어진 환경에서 최선을 다하는 강수림입니다’.
- 유연한 사고로 불필요한 작업을 최소화하기 위해 고민합니다
- Backend Developer, JAVA, Spring(boot), mySQL, javascript
- 웹/앱서버(NginX) 분리하여 유지보수 시간 단축
- RESTful API 구축 경험
- 모두가 조금 더 편한 세상을 만들기 위해 고민합니다.
Contact & Channel
📱 010-9603-7781
📧 eathergs012@gmail.com
📖 https://devdevleyy.tistory.com
프로젝트
SSATEM
게임 아이템 거래 사이트
23.09 ~ 23.12, 12주

역할 및 성과
- Spring Boot, JPA, Thymeleaf(관리자), Vue3(vite.js, 사용자)
- [회원] 외부 API ( NICE 본인인증, 계좌인증) 적용, 토큰 방식 로그인 기능 구현
- [공통 클래스] API 방식에 따른 변환 class 구현
- [마일리지] 마일리지 종류에 따른 적립, 차감, 출금신청 로직 구현
- JWT 로그인 시 보안처리
- jwt는 암호화 되어있지만 해독이 가능해 보안성이 취약합니다. refresh token에 사용자 정보가 들어가는데, 이를 해결하기 위해 회원 sequence(유일값)을 key로 하는 uuid로 변환하여 작업하여 XSS, CSRF 공격을 막을 수 있도록 하였습니다.
- API 응답방식 표준화
- 어려움과 목적 : 데이터 응답값 테스트 하면서 다양한 타입이 응답값으로 처리되는 경우가 많은데, 이를 컨트롤러에서 매번 직렬화 처리하고 필요한 데이터만 서비스로 보내는 작업이 반복되어 공통 클래스를 만들게 되었습니다.
- 클래스 구성 시 ‘T’를 사용하여 제네릭을 도입해 모든 타입의 데이터를 담을 수 있고 공통 클래스를 통해 변환할 수 있도록 구현하였습니다
- HTTP 상태코드와 상태 메세지를 포함하여 API 요청의 성공여부를 알 수 있게 구현하였습니다.
- @JsonInclude(JsonInclude.Include.NON_NULL) 어노테이션을 사용하여 불필요한 데이터 전송을 막고 더 간결한 응답이 내려올 수 있도록 구현하였습니다.
✅ 코드 보러 가기 (링크)
- 중복 가입자에 대한 고민
- NICE API를 사용하게 되면 CI값(온라인 상 주민등록번호)이 제공됩니다. 본인인증에 들어갈 때 핸드폰 번호와 CI값을 비교하는 로직을 넣었습니다.
- 이 떄 DI값으로 하지 않는 이유는 인증 방식에 상관없이 하나의 값으로 떨어져서 중복된 데이터를 방지할 수 있었습니다.
SAMKIMALL
해외 공구 수입 이커머스
23.07 ~ 23.11, 20주

역할 및 성과
- Spring Boot, JPA(QueryDsl), Thymeleaf
- [PUSH 알림 기능 개발] 구글 FCM 서버 연결하여 사용자에게 푸시 알림 전송, 스케줄러 통해 DB에 저장하는 로직 구현
- [사용자 페이지 리스팅] 뷰테이블 구현하여 불필요한 join 방지
- [유지 보수] 사용자 관리자 서버 분리하여 중복로그인 이슈 해결
- [유지 보수] 웹서버와 앱서버 분리하여 업무 효율성 증진
- 서버 분리하여 중복로그인 에러 해결
- 처음 구조 잡을 때 관리자페이지와 사용자 페이지를 url로만 분리하여 세션관리 시 어려움이 있었습니다.(관리자에서 로그아웃 하지 않고 사용자 접속 시 로그인처리 되어있는 경우)
- 프로젝트를 하나 더 만들어 각각 독립된 서버로 작업하였습니다. 이 때 권한설정 다시 하여 보안성도 강화하였습니다.
- 웹서버와 앱서버 분리하여 유지보수 시간 단축
- 화면개발이 Thymeleaf로 이루어져 디자인이 수정되면 백엔드개발자가 재반영하여 배포해야하는 상황이였습니다.
- Nginx 붙여 웹서버와 앱서버 분리하여 정적 요소들은 실서버에 바로 반영하여 업무 효율성 높일 수 있었습니다.
임블링(I’mbling)
사업자등록증 활용한 B2B 악세서리 이커머스
23.01 ~ 23.02, 4주

역할 및 성과
- Spring Boot, JPA, Thymeleaf, openAPI
- [다양한 API 연동] 파이썬 tesseract 활용해 이미지처리 → 사업자등록증 숫자 자동 인식, 사업자 번호 유효성 검사, 네이버 쇼핑 API, 매출 확인을 위한 chart.js사용
- [공통코드 구현] 프로젝트 구조 및 설계, 파일업로드, 페이징 등 공통코드 구현
경력