미리보기
기본 정보
이유부터 생각하는 개발자가 되겠습니다.
기술 스택
Spring, Java, SQL, Spring Security, aws-ec2
경력
주식회사케이비시스
연구원 | 솔루션구축팀 | 재직 중
2023.04. ~ 재직 중 (1년 7개월)
신한은행
XSS Filter 도입
목적 : Reflected XSS 와 Stored XSS 취약점을 발견하여 해당 보안 취약점을 해결하기 위해 개발
배경 : 사용자가 입력 할 수 있는 요청에 대한 XSS 방지가 되어 있지 않아 웹사이트가 의도하지 않은 바로 동작할 가능성이 발생, 이를 방지 할 수 있는 기능 필요
기능 : Servlet Filter를 통해 Request Body 또는 Request Parameter 내 특수문자를 HTML Entity로 치환
기술
org.JSONObject 라이브러리의 populateMap 메소드를 참고하여 Request Body 데이터의 타입 변환 후 특수문자 치환
Spirng Context의 진입 전 Servlet Filter 영역에서 Filter 기능 실행
Content-Type의 종류에 따른 Filter 개발로 Reflected XSS, Stored XSS 취약점을 종류 별 개발하여 방지
성과 : XSS Filter 구현으로 XSS 방지 로직을 비즈니스 로직에서 분리 및 어플리케이션 내 공통화
공통화 템플릿 개발
목적 : 공통 서식과 유효성 검사 메시지를 통일하기 위하여 개발
배경 : 커뮤니케이션 게시판 특성 상 공통된 서식 및 공통 메시지가 많이 발생하여 통일할 필요성 이 있음
기능 : JavaScript 내 Class 기능과 Java의 Enum Class를 활용하여 공통화 진행,
기술
Front-End : 공통된 서식 및 유효성 검사 항목은 JavaScript Class 기능을 활용하여 부모 클래스로 정의 후 해당 클래스 상속받아 사용
Back-End : Java Enum Class를 활용하여, 커뮤니케이션 게시판 내 Response Message 통일
성과 : 서식과 메시지 포맷 변경 시 소스 변경 최소화 및 메시지 포맷에 대한 통일성 제공
국민은행
사용자 간 정보 교류 차단 여부 API 개발
목적 : 내부 메신저, 내부 포탈 내 정보 교류 가능 대상자 확인을 위한 API 개발
배경 : 계열사 간 정보 교류 불가 대상자에 대한 교류 불가 처리 진행을 위해 체크 API를 개발해야함
기능 : 메신저 내 쪽지, 채팅의 개설 및 포탈 내 과제 개설 전 정보 교류 가능 여부 판단하여 사용자에게 응답
기술 :
하위부서 검증 : 정책 적용 부서에 속한 하위 부서 또한 교류 불가 처리 진행해야 하므로 부서에 대한 FullPath 컬럼을 이용해 정책 적용 여부 판단
리소스 활용 : 계열 전체 사용 API 방대한 HR DataBase 특성을 고려하여 개발이 필요, Database Table의 Index를 고려하여 Select 쿼리 속도 개선
성과 : 메신저 내 테스트 시 기존 요청의 평균 소요 시간 1ms 이하의 속도 유지
에스지에이솔루션즈 주식회사
사원 | 공공기술2팀
2021.01. ~ 2023.03. (2년 3개월)
출력물위변조방지 솔루션 유지보수 및 장애지원
보이스아이 솔루션 유지보수 및 장애지원
프로젝트
트립북
개인
2023.01. ~ 2024.01.
포트폴리오
자격증
정보처리기사
합격 | 한국산업인력공단
2022.09.
자기소개
"문화에 녹아들 수 있는 개발자"
개발만 잘하는 개발자가 아닌 커뮤니케이션 능력이 뛰어난 개발자가 되고 싶습니다.
SI 개발자로 일하면서 좋은방향으로 마무리 되는 프로젝트는 개발자의 개발 역량이 아닌, 커뮤니케이션 역량에 따라
다르다는 것을 배웠습니다. 해당 역량을 키우기 위해 사내에 발표 스터디를 만들어 주에 한번 씩 업무소스에 대한
코드리뷰와, 마지막 주에 발표를 진행하여, 커뮤니케이션 능력에 필수적인 발표 능력과 질문을 통해 커뮤니케이션에
익숙해지는 개발자로 성장하고 있습니다.
"동작원리를 생각하는 개발자"
개발 중에 예상치 못한 예외 사항의 대부분 원인은 사용한 외부 라이브러리의 동작원리를 몰라 사용의 미숙함에서
나온다고 생각합니다. 해당 라이브러리의 공식문서 또는 IDE 환경 디버깅을 통해 라이브러리가 동작하는 방법을
학습해 라이브러리를 올바르게 사용하는 개발자가 되도록 하겠습니다.