미리보기
기본 정보

안녕하세요 많은 경험을 바탕으로 성장하고 있는 JAVA & Spring Boot 기반의 백엔드 개발자입니다. 제가 개발자가 되고 싶었던 이유는 제가 필요하고 남들에게도 필요한 시스템을 만들어 사용할 수 있는 환경을 만들어주는 사람이 되는 것입니다. - GDSC(Google Developer School Clubs)에서 프론트, 안드로이드, 디자이너와 협업을 하며, 아이디어가 있을 경우 PO 포지션도 함께하며 성장했습니다. - 대학교에서 컴퓨터공학을 전공하고 2년동안 성적장학금을 받고, 4년동안 40개의 장학금을 받았습니다. 총 학점은 4.19 / 4.5 입니다.
기술 스택
Java, Spring Boot, MySQL, Spring, Git, JSP, JavaScript, mybatis
경력
주식회사이콜트리
연구원 | 개발팀 | 재직 중
2024.01. ~ 재직 중 (1년 2개월)
Boxwood Hyper Automation Solution (회사 자체 솔루션)
사용 기술 : Spring, Spring Boot, Maven, Java, MSSQL, MyBatis, JSP, Javascript, Git, Tomcat
프로젝트 설명
Camunda를 이용하여 업무 프로세스를 자동화하기 위하여 설계, 실행, 모니터링을 할 수 있게 하는 솔루션
Portal + Engine + External + Modeler 총 4개의 프로젝트로 구성
담당 업무
한화 에어로스페이스에 솔루션 납품으로 한화 시스템에서 4개월간 총괄 개발 진행
버그 수정 및 기능 개발
대용량 Json 데이터로 인한 각종 오류 수정
기관공유데이터 관리시스템 구축사업
사용 기술 : 전자정부프레임워크 4.0, Spring Boot, Maven, Java, MySQL->Tibero, MyBatis, JavaScript, JSP, Git, Tomcat, JBoss
담당 업무
데이터베이스 설계 및 ERD 작성
대용량 API 통신을 통해 다른 기업에서 보내주는 RDF 파일 수신 후 SimpleJson 사용하여 각 노드를 뜯어 10개의 기관의 다른 데이터를 저장하고 각 메타 데이터들을 정해진 매핑 방식으로 통합 데이터를 만들고, 데이터셋은 CSV 파일로 생성하여 저장
API 상태와 파싱 상태, 여러 데이터를 저장하여 현황 페이지 생성
기관별, 분류체계별, 대시보드 등 각종 통계 그래프와 데이터테이블 생성
MySQL -> Tibero 디비 전환으로 인한 SQL 리팩토링 및 HikariCP 설정
사내시스템 개발 및 유지보수
사용 기술 : Spring, Maven, Java, MySQL, MyBatis, JavaScript, JSP, Git, Tomcat
담당 업무
세션 유지시간 1시간으로 변경
사원을 팀을 생성하고 배치 및 관리할 수 있는 페이지 구현
스케줄러를 사용하여 매년 1월 1일에 작년에 남아있는 휴가를 이번 년도에 이월시켜주고 이번 년도의 휴가를 계산하여 적용해주는 기능 구현
사내 권한 관리 시스템의 간헐적 권한 수정 버그 수정
SHA256 암호화, PBE 암복호화 페이지 로그인 없이도 접속 가능으로 구현
프로젝트
MIO(Move In One) : 신뢰성 있는 대학교 카풀 프로젝트
GDSC
2023.05. ~ 진행 중
PO와 Backend 포지션을 담하였고, 디자이너 2명과 안드로이드 2명을 포함하여 총 5명으로 진행했습니다.ㅤ
프로젝트는 다음과 같이 중점을 둔 부분들이 있습니다.
- API 문서화 및 자동화 : Swagger를 사용하여 API 문서화를 자동화하여 개발 프로세스를 간소화했습니다.
- 서버 분리 : 실제 운영용 서버는 AWS EC2에 Ubuntu 인스턴스를 사용하여 Docker 이미지 사용 배포를 진행하고, 안드로이드 포지션이 사용할 개발용 서버 배포를 CloudType을 이용한 PaaS 방식 배포를 진행하였으며, 각자 다른 DB를 사용하도록 생성했습니다.
- 오류 처리 및 데이터 보호 : 다양한 제약 조건을 구현하여 잠재적인 오류를 최소화했으며, DTO(Data Transfer Object)를 사용하여 무한 참조를 방지하고 핵심 정보를 보호함으로써 데이터 보안을 우선시했습니다.
- Spring Filter를 이용하여 각 API의 Request, Response 데이터와 상태코드 등의 실시간 데이터를 Discord Webhook 사용하여 실시간 오류 및 API 현황을 검출 및 로그성으로 사용하였습니다.
- 성능 최적화
- 시스템 성능을 향상시키기 위해 AOP(Aspect-Oriented 프로그래밍)를 사용하여 메서드 실행 시간을 측정했으며, 특히 조인에서 보다 효율적인 데이터 검색을 위해 Fetch.EAGER에서 Fetch.LAZY로 전환할 수 있었습니다.
- 지도에서 선택한 게시글의 3km 이내의 게시글들을 보여주는 API의 성능을 높이기 위해 하버사인 알고리즘을 이용하여 쿼리로 한 번에 조회하였습니다.
- 로컬 캐시인 Ehcache를 사용하여 자주 조회되는 게시글 전체 조회의 성능을 ex) 첫 조회 0.053 -> 다음 조회부터 0.001 초와 같이 높였습니다.
- 팀 소통과 협력 : 매주 월요일, 스크럼 회의를 통해 팀원들과 논의하고, 각자 개발 및 디자인 과정에서 필요한 기능을 주도적으로 제안하고 개발하는 데 기여했습니다.
https://github.com/jsw6701/project-mio-backend/tree/develop
대외활동
MESS LAB
대진대학교
컴퓨터공학전공 랩실로 학부생 연구원으로 참여. 교수님 3명과 조교님 1명 학생 3명으로 이루어진 랩실에서 랩장으로 활동.
포스웨이브 드론 업체와 협업하여 Pixhawk 기반 군 납품 드론 제작 및 드론 배터리 수리 경험과 각종 드론 비행 연습.
DJI 드론 스펙 조사와 관련 발표 자료 제작.
마이크로 임베디드 연구로 아두이노를 활용한 기존 도어락에 연결하여 RFID와 여러 센서를 이용한 학생증으로 출입 가능한 랩원 전용 스마트 도어락 제작 및 라즈베리 파이를 활용한 스마트 금고 제작.
GDSC(Google Developer School Clubs)
대진대학교
백엔드 포지션과 2개의 프로젝트에서 PO 포지션을 함께 담당.
총 3개의 프로젝트를 진행 (Todo List, Eung-ae: 환경 보전 커뮤니티(구글 솔루션 챌린지 출품), MIO(Move In One): 카풀 프로젝트)
Google에서 진행하는 각종 행사 참여와, GDSC 내부에서 진행하는 2주에 한 번인 정기세션 참여와 많은 발표를 진행하였으며, 매주 프로젝트 스크럼을 진행.
포트폴리오
교육
대진고등학교
고등학교 | 인문계
2014.03. ~ 2017.02. | 졸업
대진대학교
대학교(학사) | 컴퓨터공학전공
2018.03. ~ 2024.02. | 졸업
자격증
정보처리기사
한국산업인력공단
2023.09.
SQLD
한국데이터산업진흥원
2022.06.
CSA(Certified System Administrator)
ServiceNow
2024.05.
초경량비행장치 조종자
1종 | 한국교통안전공단
2022.08.