채용공고 올리기

강경민님을 응원해보세요!

지금 만족하고 있어요
책임감
협업 지향
유연함
자기 주도적
긍정적

미리보기

직업
백엔드 개발자
이름
강경민
간단소개
안녕하세요, 문제해결을 좋아하는 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개월 | 정규직)
담당 업무

BEMS

건물의 에너지 사용을 모니터링하고 제어하는 시스템을 의미합니다. 건물에서 에너지 효율을 최적화하고 낭비를 줄이며, 에너지 관리 수준을 향상시킬 수 있습니다.

내가 한일

[데이터 조회속도 개선]

건물에서 나오는 모든 에너지 소비/생산 데이터를 저장해 대용량 데이터가 쌓이고

이러한 데이터들을 빠르게 조회할 수 있게 개선작업을 했습니다.

  • 그래프 조회 속도 개선

    • 2000만건 데이터

    • 데이터 베이스 인덱싱을 통해 조회속도 2배 개선(165초 -> 80초)

    • 집계 테이블과 팩터리 메서드 패턴을 이용해 조회속도 개선(80초 -> 1초)

    • 캐싱을 통한 조회속도 개선

  • raw 데이터 조회속도 개선

    • 페이징을 통한 속도 조회 속도 개선(20초 -> 7.8초)

    • 커버링 인덱스를 이용한 페이징(7.8초 -> 2.9초)

[디자인 패턴을 사용한 유지보수성 향상]
  • 기존에 복잡하고 유지보수가 어려웠던 클래스 구조를 전략 패턴과 팩토리 패턴을 사용해서
    코드 재 사용성을 높이고 새로운 기능 추가 시 개발 기간이 단축된 경험을 했음

[배치 구조 및 속도 개선]
  • bulk insert와 processor 제거를 적용함으로써 배치 시간 10배 단축

  • 하나의 클래스에 모든 배치 요소가 들어가있던 구조에서 각 클래스가 하나의 역할만 하도록 변경

[대용량 데이터 다운로드]
  • 대용량 데이터 다운로드시 OOM에러 해결

    • stream으로 데이터를 가져오도록 변경

    • 커버링 인덱스 적용

    • 날짜를 쪼개 조금씩 다운로드 받을 수 있게 변경

    • StreamingResponseBody을 이용해 비동기 통신 적용

    • 영속성 캐시 제거 작업

    • 비동기 스레드 풀 생성 작업

[modbus(IOT) 통신 개발 및 인프라 구축]
  • 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 터널링을 통한 데이터베이스 접근

news letter

건물 시공정보, 입찰정보를 매일 받아볼 수 있는 서비스

내가 한일

[크롤링]
  • 웹 크롤링을 통해 데이터를 가져오고 저장

  • 메일에 있는 hwp 첨부파일을 크롤링해 데이터 저장

push system

mq로 부터 메시지를 받아 메일, 카카오, 문자 등 알림을 push 하는 서비스

내가 한일

[cluster mode]
  • rabbitmq 클러스터 모드 적용

[메일 발송]
  • smtp를 이용한 메일 발송 서비스 개발

프로젝트

프로젝트명
swagger extention
소속/기관명
개인
프로젝트 기간
2024.06. - 2024.07.
(2개월)
프로젝트 설명
프론트와의 불필요한 의사소통을 줄이기 프로젝트

api가 많아질 경우 swagger에서 어떤 api가 업데이트되었는지 새로생겼는지 파악하기가 힘들기 때문에

확장 프로그램을 통해 좀 더 쉽게 찾을 수 있게 됩니다.

내가 한일
  • api json localstorage에 일괄 저장 및 개별저장

  • 변경 및 추가 api 빨간 테두리 및 리스트 표시

  • 변경된 api와 이전 api 비교

프로젝트명
redis로 서버 부하 줄이기
소속/기관명
개인
프로젝트 기간
2024.06. - 2024.06.
(1개월)
프로젝트 설명
대용량 트래픽 대비 mysql의 입출력 비효율을 낮추기 위한 프로젝트

mysql에서 나던 병목현상을 redis와 scheduler를 활용해

기존 성능 대비5배 개선하게 되었습니다.

내가 한일
  • redis를 이용한 입출력 최적화

  • 스케쥴러를 이용해 주기적으로 mysql로 동기화

포트폴리오

타입
URL

교육

소속/기관
인하공업전문대학
종류 | 전공명/전공계열
대학교(전문학사) | 컴퓨터시스템과
재학 기간 (재학 상태)
2018.03. - 2023.02. (졸업)
댓글