안녕하세요,
저는 배태현입니다.

일상의 불편함을 기술로 해결 할 방법을 고안합니다.
같이 성장하는 것에 가치를 두며, 꾸준한 발전을 지향합니다.
누구든 편하게 의견을 낼 수 있는 분위기를 선호합니다.

Work Experience.

Dotori.

Backend Lead
Backend Engineer
- 2022. 09

Dotori 백엔드 개발.

- 2022. 09
Description.

기숙사 종합 시스템 관리 웹 서비스
전교생과 사감선생님까지 약 250명 가량이
사용하고 있는 서비스 입니다.
2022년 3월 2일부터 정식 릴리즈 후 운영 중이며
사감선생님과 학생들의 피드백을 반영해 꾸준히 유지보수하고 있습니다.

What did I do.
  • Junit5를 이용한 테스트 코드 & Github 코드리뷰를 도입하여 개발환경 개선

  • ERD 설계 및 서비스로직 설계, 공지사항, 상벌점, 학생정보 관리, 기상음악 신청, 기숙사 자습 신청 등 코어시스템 개발

  • GitHub Action, Elastic Beanstalk 환경에서 CI/CD 구축

  • SSL handshake 문제로 인한 pending 현상 발생으로
    Amplify, Elastic Beanstalk 환경에서
    Client : S3, CloudFront
    Server : EC2, Route53, Elastic Load Balancer 환경으로 마이그레이션

  • 마이그레이션 된 AWS 환경에 따라
    Github Action, Code Deploy, S3 환경에서
    prod/dev 환경으로 나누어 CI/CD 재 구축

  • v1.0.0-beta ~ 구축한 코어시스템을 사감선생님과 학생들의
    요구 사항 및 피드백에 맞춰 수정 및 유지보수

  • v1.0.0-beta ~ Spring Data JPA(Hibernate) + Querydsl에서
    암묵적 join인 cross join이 일어나는 이슈를 발견하고
    명시적 join인 inner join으로 개선

  • v1.0.0 정식릴리즈 ~ MVP 단위 개발 프로세스를 참고하여
    일주일 간격으로 재배포하며
    사감선생님과 학생들의 피드백을 받아 서비스에 반영하여
    더욱 사용자 친화적이고 완성도 높은 서비스를 위해
    지속적인 수정, 유지보수를 해 나가고 있습니다.

  • v1.1.x ~ Exception 구조를 Enum으로 관리하는 방식으로 변경하여 Custom Exception을 더 효율적으로 관리하도록 변경

  • v1.1.x ~ 기능이 많아짐에 따라 feature별로 패키지 구조를 나누는 방법을 채택하여 패키지 구조를 domain, global로 변경하여 개발환경 개선

  • v1.1.x ~ 테스트 커버리지 관리를 위한 Jacoco를 도입하여 개발환경 개선

  • v1.1.x ~ Multi Thread 환경에서 자습신청 인원 수 count 관련 기능에서 자습신청 정원을 넘어 신청되는 동시성 문제가 발생하여 자습신청 feature ERD와 비즈니스 로직 구조를 다시 설계하고, JPA 비관적 Lock을 이용하여 동시성 문제 해결

Tech Stack.

Java(Open-JDK-11), SpringBoot, Spring Security, Gradle, JPA, Querydsl, RDS(MariaDB), AWS, GitHubAction, Swagger, Junit5, Jacoco

EZY.

Backend Engineer - 2021. 12

EZY 백엔드 개발.

- 2021. 12
Description.

단기 일정을 계획하는 iOS 앱으로,
개인 일정을 관리하는 방법을 제시합니다.

What did I do.
  • Coolsms, Redis를 이용한 문자 전송, 인증 시스템 구축
  • JWT를 이용한 인증/인가 시스템 구축
  • 전체적인 회원 관련 서비스 로직 flow와 시스템 구축
  • 앱 알림을 위한 회원 로직에서의
    Firebase Token(FCM Token) 관리

Tech Stack.

Java(Open-JDK-11), SpringBoot, Spring Security, Gradle, JPA, Querydsl, H2DB, MySQL, Redis, Jacoco, Junit5, Swagger, Firebase(FCM)

Overall.

  • 일상의 불편함을 기술로 해결 할 방법을 고안합니다.
  • 같이 성장하는 것에 가치를 두며, 꾸준한 발전을 지향합니다.
  • 끈기의 가치를 알기에 매사에 포기하지 않으며 학습에도 이를 적용시킵니다.
  • 주도적으로 업무를 진행할 수 있는 환경을 선호합니다.
  • 누구든 편하게 의견을 낼 수 있는 분위기를 선호합니다.

Skills.

Backend.

  • Java
  • Spring Boot, Spring Security, Spring Data JPA/Redis
  • JPA, Querydsl
  • Junit5

ETC.

  • MySQL, MariaDB, H2
  • AWS, Docker

Tooling.

  • MacOs, IntelliJ IDEA, DataGrip을 사용하는 개발환경에 익숙합니다.
  • Git을 능숙하게 다루며, Git Flow 등의 개발 방법론에 익숙합니다.

Other.

Affiliation.

광주소프트웨어마이스터고등학교
- 2023. 01 졸업

Certificate.

정보처리기능사
취득

Other Experiences.

Blog.

log.info()라는 이름의 개인 블로그를 운영하고 있습니다.
비정기적으로 제가 새롭게 배우게 된 내용, 공부했던 내용들 등을 글로 작성해 공유합니다.
이전에는 다른 블로그 플랫폼에서 블로그를 운영했습니다. log.info(예전블로그)

Contact.