채용공고 올리기

이원호님을 응원해보세요!

이직/구직 중이에요
성실함
책임감
협업 지향
학습 지향
신뢰

미리보기

기본 정보

이름
이원호
직업
백엔드 개발자
이메일
johnowlee@gmail.com
간단 소개

개인 보단 조직을 먼저 생각하는 개발자 이원호입니다.

기술 스택

기술 스택

Java, JavaScript, Spring, Spring Boot, JPA, MySQL, Redis

경력

회사명

(주)에스피파트너스

직급 | 부서 | 근무 유형

주임 | 개발2팀

근무 기간

2021.02. ~ 2023.12. (2년 11개월)

담당 업무

Project Lead

2023.04. - 2023.12.

  • IoT 대기환경 측정 데이터 기반 대기환경 대응 시스템 구축

    • 프로젝트 기획 및 제안

      • 제안요청서의 내용을 토대로 기획서를 작성하고 고객 제안 및 입찰을 거쳐 계약까지 진행

    • 아키텍처, DB, 기능, 화면 설계 및 개발

      • 고객 대상 인터뷰 및 미팅 진행 후 기능 및 화면 설계

      • 기능에 따른 도메인 정의 후 아키텍처, DB 설계

    • 도로청소 차량 청소 최적경로 추천 기능 개발

      • IoT 대기환경 측정장치로부터 수집된 데이터의 분석결과 값을 통한 도로청소 차량의 청소 최적경로 개발

      • 구현된 최적경로를 소켓통신을 통해 청소차량별로 청소경로 실시간 제공

    • 내·외부망 통신환경 구축

      • DMZ 서버에서 Nginx 리버스 프록시를 활용하여 내부망 접근 환경 구축

      • 내부 서버에서 외부 데이터 수집 및 외부에서 내부 서버 API 접근 환경 구축

Developer

2021.02. - 2023.03.

  • 빅데이터 솔루션 고도화

    • 아키텍처 리팩토링

      • 기존 Service 레이어에서 Repository 레이어의 구현체 직접 참조하는 모델에서 추상화계층을 추가하여 레이어 간 강결합 제거

      • 추상화계층 참조를 통해 기존에 MariaDB에 관련된 SQL만 처리하는 MyBatis 구현체에서 PostreSQL DB도 사용할 수 있는 구조로 리모델링

      • 향후 JPA, MyBatis 등 고수준 모듈의 참조를 통해 Service 레이어 코드에 영향을 받지 않도록 DB 접근 환경 유연화

    • 스케줄러 기능 개발

      • 스케줄러 시간에 따른 API 쿼리스트링 값 변경 등으로 API 호출을 커스텀화해서 최신화된 API 데이터 호출 기능 개발

      • API 데이터 결과값을 EXCEL 또는 CSV 파일 변환 기능 개발

      • 설정된 스케줄마다 저장된 특정 커맨드라인을 런타임 환경에서 입력할 수 있도록 하여 특정 위치의 파일의 이동이나 출력을 할 수 있는 기능 구현

  • 관용차량 이용 및 출장 업무 간소화 기능 개발

    • 유가정보, 지도, 길찾기 API 기반 차량운행정보 관리기능 개발

    • 버스운행정보, 기차운행정보 API 기반 출장정보 관리기능 개발

  • 보고서 자동 생성 간소화 기능 개발

    • 보고서(HWP, PPT) 자동 생성 솔루션 활용

    • 보고서 템플릿 작업 및 데이터 연동 기능 개발

    • 데이터 수집 모듈 개발 및 스케줄링 환경 구축

프로젝트

프로젝트명

콘서트 예약 서비스

소속/기관명

개인

프로젝트 기간

2024.04. ~ 진행 중

프로젝트 내용

대기열로 트래픽을 처리한 콘서트 예약 서비스

  • 아키텍처

    • Layered 아키텍처와 Clean 아키텍처의 장점을 결합하여 도메인 중심의 고수준 관심사를 인터페이스를 통해 분리했습니다.

    • 데이터계층과 API계층이 도메인의 비즈니스로직 추상클래스에 의존하도록 하여 모듈 간 결합도를 낮췄습니다.

    • 애플리케이션 핵심인 도메인이 보호되도록 아키텍처 설계에 집중했습니다.

    • DIP와 OCP가 만족되는 아키텍처를 구성했습니다.

  • 대기열 트래픽 제어

    • 콘서트 예약과 결제 API 호출 시, 접근 가능 인원 50명을 제한해 대기열을 구현했습니다.

    • Redis를 통해 Set에 활성 토큰과 SortedSet에 대기 토큰을 발행하여 트래픽을 제어했습니다.

    • 활성 토큰이 발행 시 토큰ID 별로 TTL Key를 생성해 만료정책을 관리하였으며, 활성 토큰의 작업 종료 및 만료 시 Sorted Set의 대기자의 토큰이 순차적으로 활성화 되도록 했습니다.

  • 동시성 문제 처리

    • 콘서트 예매 API 호출 시, 예매할 콘서트 좌석 조회에 비관적락을 적용했으며, 좌석 데이터 Row에 배타락을 걸어 동시성 문제를 해결했습니다.

    • 사용자의 포인트 충전 API 호출 시, API 중복 요청 방지를 위해 낙관적락을 적용하여 데이터의 갱신손실 문제와 같은 동시성 문제를 해결했습니다.

  • JUnit, Mockito를 활용한 테스트코드 작성

    • 메서드별로 테스트를 수행했으며, Testable한 코드가 될 수 있도록 리팩토링 과정을 거치며 테스트코드를 작성했습니다.

    • DIP 원칙 하에 설계된 아키텍처를 토대로 의존모듈에 대한 Mocking 테스트가 가능하도록 했습니다.

    • 테스트하기 좋은 코드가 잘 설계되고 잘 작성된 코드라는 것을 되새기며 좋은 테스트코드를 작성하기 위해 노력했습니다.

포트폴리오

URL

link

https://github.com/johnowlee/concert-booking

URL 링크

교육

소속/기관명

항해99

종류 | 전공

사설 교육 | 항해플러스 백엔드 4기

재학 기간 | 재학 상태

2024.03. ~ 2024.05. | 졸업

소속/기관명

예담직업전문학교

종류 | 전공

사설 교육 | 디지털컨버전스 기반 Java 개발자 양성 과정

재학 기간 | 재학 상태

2021.01. ~ 2021.08. | 졸업

소속/기관명

계명대학교

종류 | 전공

대학교(학사) | 경제금융학

재학 기간 | 재학 상태

2010.03. ~ 2016.08. | 졸업

외국어

외국어명

영어

점수

일상 회화 가능

자기소개

자기소개

3년차 개발자로 빅데이터 솔루션 기반 IT서비스 회사에서 기획부터 설계, 개발, 배포 및 운영까지 전 과정에서 다양한 경험을 했습니다. 주로 공공기관과 협업했으며 고객 인터뷰, 설계 및 개발, 납품된 소프트웨어의 고도화 및 유지/보수 업무 등을 수행했습니다.

시스템 구축의 처음부터 끝까지 전 과정에서 다양한 직무 및 직군의 구성원들과 커뮤니케이션 및 협업을 경험했습니다. 개발자로서는 백엔드, 프론트엔드 개발부터 프로젝트 리더 역할까지 수행했습니다.


항상 조직의 성장을 최우선으로 생각합니다.

  • 회사에서 참여했던 매 프로젝트마다 ‘완수’가 목표였으며 참여했던 프로젝트는 모두 성공적으로 수행했습니다.

  • 회사와 조직의 경험 및 자원의 부재로 발생하는 문제에도 적극 참여하여 문제를 관리하고 해결했습니다.

  • 이와 같은 성과로 입사 이후 조직의 꾸준한 매출액 성장에 기여했으며 참여했던 프로젝트 중 하나는 대통령상을 수상했던 경험이 있습니다.

개인의 성장을 소흘히 하지 않으려 노력합니다.

  • 개발 조직의 성장은 개인 구성원들의 성장에 기반한다고 생각합니다.

  • 개인 역량의 향상은 조직의 업무 진행 속도와 유지/보수 증진에 귀결됩니다. 따라서 업무 외에 부족한 부분을 채워나가기 위해 노력합니다.

  • 현재는 CS, TDD, 아키텍처, DDD, 클린코드 등에 관심을 가지며 지속적으로 공부하고 있습니다.

조직과 개인의 기술 및 역량의 발전을 추구합니다.

  • 새로운 기술과 지식 습득에 적극적으로 임하며 조직원들과의 지식의 공유를 즐깁니다.

  • 낡은 기술을 지양하고 진보적인 기술의 도입을 지향합니다.

  • Restful API, 디자인패턴, 클린코드, OOP등 기존에 조직에서 사용하지 않았던 기술들을 학습하여 조직원들과 지식을 공유하고 코드리뷰를 진행하였으며 프로젝트에 도입한 경험이 있습니다.

댓글