미리보기
기본 정보
안녕하세요. 코드의 이유를 찾아가는 개발자, 정예지입니다. - 궁금증을 원동력으로 삼아 성장합니다. - 끊임없이 팀원과 토론하며 코드의 이유를 찾아갑니다. - 누구나 쉽게 이해할 수 있는 코드를 만들기 위해 노력합니다. - 질 좋은 프로젝트를 만들기 위한 클린코드와 리팩토링, TDD(Test-Driven-Development)에 관심이 있습니다.
자기소개
- 이전 프로젝트의 궁금증을 원동력으로 삼아 도전합니다. 개발자로서 성장을 위해 프로젝트별 목표를 세우고 진행했습니다. 인프라 분야의 학습을 위해 인프라 직무를 담당하고, TDD 방법론의 필요성을 체감하기 위해 프로젝트에 도입한 경험이 있습니다.
- 기술의 타당성에 대해 논의하는 것을 좋아합니다. 더 좋은 서비스를 위해 변화를 주저하지 않습니다. 서버의 성능을 고려해 서버를 분리하고, 서비스 타겟 사용자를 인터뷰해 서비스의 방향을 바꾼 경험이 있습니다.
- 누구나 쉽게 이해할 수 있는 코드를 만들기 위해 노력합니다. 질 좋은 프로젝트를 만들기 위한 클린코드와 리팩토링, TDD 방법론에 관심이 있습니다.
기술 스택
Java, Spring Boot, JPA, junit5, Mockito, Node.js, Docker, Jenkins, Kafka, Git, JIRA
경력
주식회사 바이브컴퍼니
연구원 | 트렌드맵랩 | 재직 중
2024.05. ~ 재직 중 (5개월)
사내 서비스에 이용되는 빅데이터 분석 플랫폼 개발 및 유지보수
사내 서비스 API 유지보수 (Java, Spring Boot)
프로젝트
아맞다 | 개인 일정 관리를 위한 캘린더 서비스
삼성 청년 SW 아카데미
2023.10. ~ 2023.11.
기간 : 2023.10 → 2023.11 (6주)
개발 인원 : 6명 (프론트엔드 2명 + 백엔드 3명 + 인프라 1명)
사용 기술 :
Java
Spring Boot
JPA
Junit5
Mockito
Apache Kafka
MySQL
GitHub : https://github.com/pp-pppp/amadda
진행 업무
Apache Kafka를 이용한 알림 기능 구현
Kafka Producer와 Consumer를 사용해 메시지 큐로 알림 기능 구현
Apache Kafka를 이용한 일정 동기화
SSE(Server-Sent-Events) 통신 사용 불가로 인한 Kafka를 사용한 캘린더 일정 동기화
다수의 Kafka Consumer를 두어 Module Federation 구조의 프론트엔드 서버 간 일정 정보 동기화
Spring Boot
기반 RESTful API 개발알림 서비스 관련 API 개발
알림 타입별, 개별 일정별 세분화된 알림 수신 설정
읽지 않은 알림 목록을 확인하고 읽음 처리하는 기능
JUnit5와 Mockito를 이용한 TDD(Test Driven Development)
레이어별 유닛 테스트 및 통합 테스트 작성 (프로젝트 전체 361개)
테스트 환경 통합으로 테스트 컨텍스트 감소 (87개 → 9개)
EmbeddedKafka
를 이용해 외부 Kafka 서버에 의존하지 않는 독립적인 테스트 환경 구축
데이터베이스 설계 및 구축
입찰왕 | 쉽고 재미있는 라이브 경매 플랫폼
삼성 청년 SW 아카데미
2023.07. ~ 2023.08.
기간 : 2023.07 → 2023.08 (7주)
개발 인원 : 5명 (프론트엔드 2명 + 백엔드 3명 + 인프라)
삼성 청년 SW 아카데미 공통 프로젝트 우수상 수상
사용 기술 :
Java
Spring Boot
JPA
Node.js
Express.js
Socket.io
MySQL
Redis
GitHub : https://github.com/bid-king/bidking
진행 업무
Spring Boot
기반 RESTful API 개발사용자가 판매하고 구매한 상품의 상태를 요약해서 보여주는 대시보드 기능
경매방 즐겨찾기 기능
CoolSMS API를 사용한 휴대폰 번호 인증
경매 시스템 설계 및 Node.js 기반의 소켓 서버 개발
경매 입찰 시스템 서비스 설계 [흐름도 이미지 보기 ➡]
동기적인 작업은 Spring Boot 서버에서 비동기적인 작업은 Node.js 서버에서 처리
Redis를 활용한 두 서버 간 데이터 동기화
경매 상황에서 데이터는 Redis에 저장하고, 경매가 끝난 뒤 MySQL 서버에 저장하여 경매가 끊기더라도 실제 데이터에는 영향을 주지 않도록 설계
경매 시작 및 종료(낙찰/유찰) 처리 기능 구현
Socket.io를 이용한 실시간 통신
경매 라이브 생성 및 종료 기능 개발
상품 입찰 타이머 개발
경매 라이브에 참여 중인 클라이언트간 시간 오차를 최소화하기 위해 서버에서 경매방 별로 타이머를 관리하여 클라이언트의 시간 동기화
경매 라이브의 공지 및 채팅 기능 구현
데이터베이스 설계 및 구축
DMZ(드라마영화지도) | 한국의 드라마와 영화 정보를 아카이빙하고 관계를 표시하는 웹 사이트
삼성 청년 SW 아카데미
2023.08. ~ 2023.09.
기간 : 2023.08 → 2023.09 (7주)
개발 인원 : 6명 (프론트엔드 2명 + 백엔드 3명 + 인프라 1명)
사용 기술 :
AWS EC2
AWS RDS
Docker
Docker Compose
Jenkins
Nginx
GitHub : https://github.com/DMJaejakdan/DMZ
진행 업무
웹 서버 및 CI/CD 세팅 및 배포
AWS EC2, AWS RDS 사용
서버를 각각 dockerizing하여 배포
Groovy 기반 Jenkins Pipeline 작성
Nginx로 프록시 서버 구축
데이터베이스 설계
수집 데이터와 서비스 내 제공 데이터 결정 및 데이터베이스 설계
드라마 관계자 인터뷰
인터뷰를 기반으로 서비스 내 제공 데이터 변경
Pocus | 인공지능을 활용해 앉은 자세를 교정하고 올바른 자세 습관 형성을 돕는 웹 서비스
덕성여자대학교
2022.03. ~ 2022.11.
기간 : 2022.03 → 2022.11 (8개월)
개발 인원 : 4명 (프론트엔드 1명 + 백엔드 및 상체 모델 1명 + HW 및 하체 모델 2명)
사용 기술 :
Keras
Flask
Node.js
Express.js
Socket.io
MySQL
GitHub : https://github.com/orgs/IT-dda/repositories?q=pocus&type=all&language=&sort=
진행 업무
CNN 기반의 상체 자세 판단 모델 개발
데이터셋 수집
적합한 데이터셋이 없어 직접 데이터 수집하고 간단한 KNN 모델로 검증 후 사용
총 16,000장 이상의 데이터 수집 (8개의 클래스 * 이미지 2,000여장)
데이터 증강 및 이미지 가공
오버피팅 방지를 위한 데이터 증강(Data Augmentation) 적용
학습 속도 및 정확도 개선을 위해 MediaPipe의 Holistic 솔루션을 이용해 이미지 가공
CNN 모델 생성
다중 레이블 문제를 고려하지 못해 정확한 정확도 측정이 어려움
설계 초기 단계에서 잘못된 자세는 복합적으로 나타나는 점을 고려하지 못함
UX를 고려해 8개의 클래스(바른 자세와 7개의 잘못된 자세)로 학습한 모델을 통해 얻은 예측 결과를 사용자에게 바른 자세 혹은 잘못된 자세 두 가지로 전달
RESTful API 개발
Flask
상체 자세 예측 API 개발
모델 학습 시와 동일하게 이미지 전처리 후 예측
잘못된 자세 인식 시 자세 판단 결과 저장 후 사용자에게 제공
Node.js
마이 페이지 기능 구현
개인 정보 수정
잘못된 자세 인식 내역 확인
Socket.io를 이용한 실시간 통신
상체 자세 판단을 위한 웹캠 연결
잘못된 자세 인식 시 자세 교정 알림 전송
데이터베이스 설계 및 구축
팀장 역할 수행
프로젝트 회의 및 멘토 미팅 주도
포트폴리오
교육
삼성 청년 SW 아카데미
사설 교육 | 9기
2023.01. ~ 2023.12. | 졸업
덕성여자대학교
대학교(학사) | 컴퓨터공학과
2018.03. ~ 2023.02. | 졸업
영송여자고등학교
고등학교 | 인문계
2015.03. ~ 2018.02. | 졸업
자격증
OPIc (영어)
IH | ACTFL
2023.11.
정보처리기사
기사 | 한국산업인력공단
2022.06.
SQL 개발자(SQLD)
개발자 | 한국데이터산업진흥원
2020.12.
리눅스마스터
2급 | 한국정보통신진흥협회
2021.12.
외국어
영어
일상 회화 가능
대외활동
한이음 ICT 멘토링
과학기술정보통신부
- 기업인 ICT전문가 멘토와 대학생이 팀을 이루어 현업 실무기술이 반영된 프로젝트 수행하는 프로그램입니다.
- 멘토님의 도움을 받아 Pocus 프로젝트를 진행했습니다.
- 팀장으로 참여하여 프로젝트 회의와 멘토 미팅을 주도했습니다.
ICAN Membership 프로그램
덕성여자대학교
- 교내 스터디에 팀원으로 참여했습니다.
- Fliped-learning 방식으로 Python 기반 백엔드 프레임워크 Django를 학습했습니다.
- Django 프레임워크를 사용해 AirBnB 클론코딩을 진행했습니다.