채용공고 올리기

김종준님을 응원해보세요!

INFCON 참여
지금 만족하고 있어요
창의적
성실함
책임감
유연함
분석적

미리보기

기본 정보

이름
김종준
직업
백엔드 개발자
간단 소개

보다 나은 해결책을 제안하기 위해 고민하는 백엔드 개발자 김종준입니다.

기술 스택

기술 스택

Java, Spring Boot, Spring Security, Spring Batch, jooq, spring-jpa, Kotlin

프로젝트

프로젝트명

FEW

소속/기관명

YAPP

프로젝트 기간

2024.05. ~ 진행 중

프로젝트 내용
  • 지속 가능한 학습 습관을 잡기 위한 온라인 학습지 서비스입니다.

  • Gradle 테스크를 활용한 완전한 Swagger 제공

  • 편리한 쿼리 작성을 위한 jOOQ 도입(with Flyway)

    • 타입세이프하고 복잡한 쿼리를 편리하게 작성하기 위해 jOOQ를 도입하였습니다.

    • jOOQ 코드 생성 및 DB 형상 관리를 위해 Flyway를 함께 도입하였습니다.

    • 30개 이상의 쿼리 작성 및 Explain 분석, 공유하고 있습니다.

      • 해당 결과를 기반으로 DB 설계 변경 및 인덱스 수정에 관한 논의를 진행하고 있습니다.

  • 이벤트를 활용한 성능 개선 및 책임 분리

    • 이벤트를 활용하여 비즈니스 로직과 함께 있었던 기타 로직 분리

      • API: 구독 처리 + 이메일 전송 + 웹 훅 전송 → API: 구독 처리 / EVENT: 이메일 전송, 웹 훅 전송

    • 이벤트를 별도의 스레드로 처리하여 API 응답 속도 개선

      • 기존 구독 API 500ms → 이벤트 도입 API 25ms

  • 네임드 락을 통한 중복 구독 신청 방지

    • MySQL GET_LOCK/RELEASE_LOCK 함수와 AOP를 활용하여 네임드 락을 구현하였습니다.

프로젝트명

뚜벅뚜벅

소속/기관명

전남대학교

프로젝트 기간

2024.03. ~ 2024.06.

프로젝트 내용
  • C-ITS 기반 보행자 신호등 정보 제공 서비스입니다.

  • 위치 기반 정보 조회 기능 개선

    • MySQL GIS를 도입

    • 공간 인덱스 활용을 위한 위치 포함 관계 활용 쿼리 작성, 위치 정보 조회 기능을 개선할 수 있었습니다.

  • 파티셔닝을 통한 대량의 데이터 조회 개선

    • 매일 880 * N (신호등 수)의 신호등 정보 조회 데이터가 저장되는 상황에서 일정 기간 이후에는 DB 타임아웃이발생하는 문제를 
경험하였습니다.

    • 날짜를 기준으로 파티셔닝을 적용하여 타임아웃이 발생하지 않도록 데이터 조회를 개선할 수 있었습니다.

  • 인프라 구성 관리와 공유

    • 이전 프로젝트에서 AWS 콘솔을 활용하여 인프라 구성 시 관리와 공유에 어려움을 겪었습니다.

    • 코드로 인프라를 관리할 수 있도록 도와줄 테라폼을 도입하여 편리하게 인프라 관리와 공유할 수 있었습니다.

포트폴리오

URL

link

https://belljundev.tistory.com/

티스토리

자격증

자격증명

SQLD

점수 | 발급기관

합격 | 한국데이터산업진흥원

취득연월

2021.10.

자기소개

자기소개

[ 내 것으로 만들기 위해 고민하는 개발자 ]

단순히 구현하는 것에 만족한다면 레퍼런스를 잘 찾고 참고하는 것만으로 충분할 수 있다고 생각합니다. 하지만 내가 좋은 코드를 작성하고 있는지 판단하고 프로젝트에 적합한 선택을 하기 위해서는 내가 사용하고 있는 것을 내 것으로 만들기 위한 고민이 필요하다고 생각합니다. 저는 그러한 고민의 시작은 직접 해보는 것으로 생각합니다.

실제로 저는 '짝심삼일'이란 프로젝트에 추가 기능 구현을 위해 합류하며 스프링 멀티 모듈, Flyway, ECS, 린트, 컨벤션 등 이전에는 알지 못했던 새로운 지식을 접한 경험이 있습니다. 저는 이때 마주한 새로운 지식을 제가 수행하였던 기존 프로젝트에 빠르게 적용하고 리팩터링하는 시간을 가졌습니다. 이후 느꼈던 점을 팀원과 이야기하며 새로운 지식과 합류하게 될 프로젝트를 더 잘 이해할 수 있었고 그러한 이해를 바탕으로 추가 기능 구현 간 좋은 코드를 작성하기 위해 노력할 수 있었습니다.

그리고 해당 프로젝트에선 필요에 따라 스프링 부트가 제공하는 자동 구성이 아닌 직접 구성을 설정하여 사용하고 있었는데 이를 이해하기 위해 공부하며 스프링 부트가 제공하는 편리한 자동 구성도 좋지만 이를 제대로 사용하려면 제어할 수 있어야 한다고 생각할 수 있었습니다. 이에 지금까지도 제가 사용하는 스프링 부트에 대한 더 많은 이해와 제어를 할 수 있도록 공부와 디버깅을 이어오고 있습니다.

[ 공유의 중요성을 아는 개발자 ]

2년간 동아리 에코노베이션에서 활동하면서 주간 발표, DEV(외부 발표회), 멘토링 활동을 통해 개발자 간의 지식 공유의 중요성을 경험했습니다. 특히 멘토링을 통해 개념적 지식뿐만 아니라 암묵적 지식까지 공유하려고 노력했습니다. 그 과정에서 같은 지식이라도 각자의 경험과 배경에 따라 다르게 받아들일 수 있다는 것을 알게 되었습니다. 이를 통해 내가 전하고 싶은 지식을 효과적으로 전달하기 위한 방법을 고민하며, 서로가 성장하는 경험을 할 수 있었습니다. 이처럼 공유는 조직원들의 적응을 도울 뿐 아니라 서로에게 성장의 기회를 제공한다는 것을 동아리 활동을 통해 느낄 수 있었습니다.

댓글