미리보기
- 직업
- 백엔드 개발자
- 이름
- 강경민
- 간단소개
- 안녕하세요, 문제해결을 좋아하는 2년차 백엔드 개발자 강경민 입니다. Java, Terraform, Spring Boot, AWS, Git, docker 등 다양한 기술을 보유하고 있습니다. 문제를 해결하는걸 좋아하고 성장하기 위해 노력합니다. 협업을 통해 문제를 해결하고 좋은 서비스를 제공하기위해 항상 생각하고 있습니다. 대용량 데이터 처리 경험 및 aws의 다양한 서비스 사용 경험이 있습니다.
기술 스택
- 기술 스택
- Spring Boot
- Spring Batch
- JPA
- spring-jpa
- Docker
- Terraform
- ec2
- AWS
- MySQL
- Redis
- rabbitmq
- aws-ecs
경력
- 회사명
- 에너지엑스
- 직책 • 부서
- 메니저 • it개발
- 근무 기간 (근무 형태)
- 2023.01. - 재직 중
- (1년 9개월 | 정규직)
- 담당 업무
그래프 조회 속도 개선
2000만건 데이터
데이터 베이스 인덱싱을 통해 조회속도 2배 개선(165초 -> 80초)
집계 테이블과 팩터리 메서드 패턴을 이용해 조회속도 개선(80초 -> 1초)
캐싱을 통한 조회속도 개선
raw 데이터 조회속도 개선
페이징을 통한 속도 조회 속도 개선(20초 -> 7.8초)
커버링 인덱스를 이용한 페이징(7.8초 -> 2.9초)
기존에 복잡하고 유지보수가 어려웠던 클래스 구조를 전략 패턴과 팩토리 패턴을 사용해서
코드 재 사용성을 높이고 새로운 기능 추가 시 개발 기간이 단축된 경험을 했음bulk insert와 processor 제거를 적용함으로써 배치 시간 10배 단축
하나의 클래스에 모든 배치 요소가 들어가있던 구조에서 각 클래스가 하나의 역할만 하도록 변경
대용량 데이터 다운로드시 OOM에러 해결
stream으로 데이터를 가져오도록 변경
커버링 인덱스 적용
날짜를 쪼개 조금씩 다운로드 받을 수 있게 변경
StreamingResponseBody을 이용해 비동기 통신 적용
영속성 캐시 제거 작업
비동기 스레드 풀 생성 작업
modbus 통신 및 데이터 저장 기능 개발
apigateway, lambda, efs, influxdb 를 활용한 인프라 구축
netty를 사용한 tcp/ip 통신해 데이터 저장
git action을 활용한 테스트 자동화 개발
기존 Elastic beanstalk의 배포 속도 개선
cli기반 배포방식 -> git action과 ecr을 통한 배포방식으로 변경
terraform 활용
수동으로 하는 aws 설정들 파일로 관리
ecs를 사용
기존 eb에서 각 서비스별 커스텀을 위해 변경
ecs, lb, taksdefinition, cloud map등 을 이용해 인프라 구축
subnet을 활용해 서버 격리
어플리케이션 및 데이터베이스 서버 격리
ssh 터널링을 통한 데이터베이스 접근
웹 크롤링을 통해 데이터를 가져오고 저장
메일에 있는 hwp 첨부파일을 크롤링해 데이터 저장
rabbitmq 클러스터 모드 적용
smtp를 이용한 메일 발송 서비스 개발
BEMS
건물의 에너지 사용을 모니터링하고 제어하는 시스템을 의미합니다. 건물에서 에너지 효율을 최적화하고 낭비를 줄이며, 에너지 관리 수준을 향상시킬 수 있습니다.
내가 한일
[데이터 조회속도 개선]
건물에서 나오는 모든 에너지 소비/생산 데이터를 저장해 대용량 데이터가 쌓이고
이러한 데이터들을 빠르게 조회할 수 있게 개선작업을 했습니다.
[디자인 패턴을 사용한 유지보수성 향상]
[배치 구조 및 속도 개선]
[대용량 데이터 다운로드]
[modbus(IOT) 통신 개발 및 인프라 구축]
[배포 및 테스트 자동화]
[어플리케이션 인프라 구축]
news letter
건물 시공정보, 입찰정보를 매일 받아볼 수 있는 서비스
내가 한일
[크롤링]
push system
mq로 부터 메시지를 받아 메일, 카카오, 문자 등 알림을 push 하는 서비스
내가 한일
[cluster mode]
[메일 발송]
프로젝트
- 프로젝트명
- swagger extention
- 소속/기관명
- 개인
- 프로젝트 기간
- 2024.06. - 2024.07.
- (2개월)
- 프로젝트 설명
api json localstorage에 일괄 저장 및 개별저장
변경 및 추가 api 빨간 테두리 및 리스트 표시
변경된 api와 이전 api 비교
프론트와의 불필요한 의사소통을 줄이기 프로젝트
api가 많아질 경우 swagger에서 어떤 api가 업데이트되었는지 새로생겼는지 파악하기가 힘들기 때문에
확장 프로그램을 통해 좀 더 쉽게 찾을 수 있게 됩니다.
내가 한일
- 프로젝트명
- redis로 서버 부하 줄이기
- 소속/기관명
- 개인
- 프로젝트 기간
- 2024.06. - 2024.06.
- (1개월)
- 프로젝트 설명
redis를 이용한 입출력 최적화
스케쥴러를 이용해 주기적으로 mysql로 동기화
대용량 트래픽 대비 mysql의 입출력 비효율을 낮추기 위한 프로젝트
mysql에서 나던 병목현상을 redis와 scheduler를 활용해
기존 성능 대비5배 개선하게 되었습니다.
내가 한일
포트폴리오
교육
- 소속/기관
- 인하공업전문대학
- 종류 | 전공명/전공계열
- 대학교(전문학사) | 컴퓨터시스템과
- 재학 기간 (재학 상태)
- 2018.03. - 2023.02. (졸업)