채용공고 올리기

고현석님을 응원해보세요!

좋은 제안에 열려있어요
성실함
책임감
협업 지향
학습 지향
커뮤니케이션

미리보기

기본 정보

이름
고현석
직업
Server Developer
이메일
komment.dev@gmail.com
간단소개

자기소개

자기소개

Java / Kotlin과 Spring, AWS를 기반의 3년차(만 2년차) 서버 개발자 고현석입니다. 저는 대규모 차세대 프로젝트에 참여하여 서버 개발을, 피트니스 시설을 대상으로 한 CRM / ERP 시스템 서버 개발 및 인프라 구축을 담당해왔습니다.

개발 목표 1순위를 에러가 발생하지 않는 정확한 로직으로 두고 있으며, 이를 위해 테스트 작성을 필수로 생각합니다. 성능 개선이나 클린코드 또한 관심이 많고, 좋은 설계와 코드 컨벤션을 통해 지속 가능한 서비스를 만들기 위해 노력합니다.

주니어 개발자로서 성장을 갈망하고, 주도적인 학습을 통해 성장을 이루어 냅니다. 심도 있는 학습을 통해 실무에 적용할 수 있는 수준까지 익히는 것을 목표로 합니다. 새로운 기술에 대해 기계적으로 받아들이는 것이 아니라, 기존의 항목과 비교하여 장단점을 구별해 나가며 프로젝트에 보다 합리적인 판단을 하려 노력합니다.

이 밖에도 코드나 기술에 대해 의견 나누는 것을 좋아하고, 코드 리뷰나 페어 프로그래밍을 지향합니다. 동료의 코드에 대해 모두 이해하고, 피드백을 주기 위해 노력합니다. 새로운 시각에서 리뷰 해주며 제 시야를 넓혀주는 동료들에게도 감사함을 느낍니다.

경력

회사명

주식회사에이피티플레이

직책 • 부서

프로 • 개발팀

담당 업무

CRM 프로젝트 전체 리팩토링

  • 기간: 2024.12 ~ 2025.04

  • 기술스택: Spring Boot 3.1.4, Java 17, JPA, MySql 8, Github Actions, aws(elb, ec2, rds)

1. DDD 및 애그리거트 패턴 적용

  • MVP 모델 단계를 넘어가며 기존 코드들이 Big Ball of Mud 상태임을 인지

  • 도메인 주도 설계 제안 및 팀 내 제안서와 스켈레톤 프로젝트 공유

  • 이벤트 스토밍을 통해 도메인 모델 추출 및 설계

  • Domain 엔티티와 JPA 엔티티를 분리하여 도메인과 기술(JPA)의 상관관계 제거

2. 멀티 모듈을 적용한 단일 프로젝트로 리팩토링

  • Entity, Enum 등 공통 코드의 변경사항에 직접적으로 영향을 받는 멀티 프로젝트 구조

  • 레이어드 아키텍처를 기준으로 멀티 모듈 단일 프로젝트 구성

  • DIP와 추상화를 통한 기존 레이어드 아키텍처의 비유연성 해결

  • Jacoco Aggregation을 활용한 통합 테스트 커버리지 관리 구성

  • 도메인을 중심으로 확장 및 유지보수에 용이한 구조로 구성

3. 영속성 컨텍스트에 의존하지 않는 Audit 기능 구현

  • Domain 엔티티와 JPA 엔티티를 분리하면서 영속성 컨텍스트를 활용할 수 없게 됨

  • Java Reflection과 Spring AOP를 활용하여 Created Audit 기능 구현

  • Hibernate의 StatementInspector를 활용하여 Query 추적 및 Updated Audit 기능 구현

  • 사내 기술 블로그에 기고: https://tech.assistfit.io/blog/clean-ddd-good-bye-jpa

사내 기술 블로그 오픈

  • 기간: 2024.12 ~ 2025.01

  • 기술스택: Docusaurus, Node 18, Github Pages, Github Actions

업무 내용

  • 프로덕트 관련 지식 공유 및 HR 측면에서의 이점을 위해 기술 블로그 구축을 직접 제안

  • 사내 기술 블로그 관련 기획 및 리딩 담당

  • Github Actions와 Github Pages를 활용한 호스팅 및 배포 자동화 구축

  • https://tech.assistfit.io

출석 앱 프로젝트

  • 기간: 2024.09 ~ 2024.12

  • 기술스택: Spring Boot 3.1.4, Java 17, JPA, MySql 8, Github Actions, aws(elb, ec2, rds)

1. VPC Peering과 CompletableFuture을 활용한 성능 개선

  • 안면 인식 API 호출 시 처리 시간이 길어 사용성이 좋지 않다고 판단

  • 외부 업체와 VPC Peering을 통해 성능 향상

  • Timeout 설정을 통해 응답 지연 방지

  • CompletableFuture를 활용한 비동기 처리를 통해 다건 등록 및 삭제 성능 개선 (최대 1.4sec → 0.4sec)

2. 회원권 조회에 전략 패턴 적용

  • 출석을 위해 회원권을 조회하는 방법이 여러 가지 존재

  • 회원권 조회에 대한 전략을 인터페이스로 추상화

  • 코드 가독성 향상 및 확장에 열려 있는 구조로 개선됨

3. 외부 API에 CircuitBreaker 적용 (2025.03)

  • 외부 서버에 장애가 발생하면 내부 서비스로 전파될 수 있다고 판단

  • Resilience4j를 통해 Retry와 CircuitBreaker 적용

  • RegistryEventConsumer와 EventPublisher를 통해 상태 전환 시 Slack 알림 전송 로직 구현

  • 불필요한 요청 절감 및 서비스 안정성 향상

Assistfit CRM 프로젝트

  • 기간: 2023.11 ~ 2024.07

  • 기술스택: Spring Boot 3.1.4, Java 17, JPA, MySql 8, Redis 7, Github Actions, aws(elb, ec2, rds,

elasticache)

1. 약 450개의 단위 테스트 및 통합 테스트 작성

  • 수업 관리 및 연장, 정지 기능 등의 복잡한 회원관리 관련 비즈니스 구현

  • 도메인의 복잡함과 기획의 변경이 잦다는 특징을 고려하여 테스트 설계 및 작성

  • Fixture Monkey 오픈소스 도입을 통한 불필요한 보일러 플레이트 제거

  • 테스트 전략 확립 및 테스트 코드 추상화를 통한 build 및 CI 시간 단축 (7m19s → 5m36s)

  • 시스템이 견고해지고, 생산성이 향상되는 효과를 얻음

2. Redis를 통한 처리시간 단축

  • 회원 조회 페이지 → 회원권 만료가 day 기준이라 최대 하루는 변경되지 않는다고 판단

  • Redis Cluster 환경 구축

  • Look-Aside 전략과 Write-around 전략을 활용한 캐시 적용

3. Query 튜닝을 통한 성능 향상

  • 이전에 작성된 쿼리 중 불필요한 쿼리로 인해 자원이 낭비되고 있다고 판단

  • fetch join을 활용한 N+1 문제 해결

  • 적절한 인덱싱, no offset 등을 통한 복잡한 조회 성능 개선 (517ms → 125ms)

PT 및 GX 수업 예약 프로젝트

  • 기간: 2024.05 ~ 2024.06

  • 기술스택: Spring Boot 3.1.4, Java 17, JPA, MySql 8, Github Actions, aws(elb, ec2, rds)

1. Named Lock을 활용한 동시성 처리

  • GX 예약 프로세스에서 x-lock을 얻기 위한 Deadlock 발생 문제 식별

  • 비용 문제로 Redis를 활용하지 못하는 상황에서 MySql의 Named Lock 활용

  • Spring AOP를 활용하여 Transaction 종료 후 Lock이 해제되도록 구현

  • 비관적 잠금을 활용했을 때보다 성능 향상

2. 도메인 모델 패턴 적용

  • 이전 코드들이 트랜잭션 스크립트 패턴으로 작성돼 있음

  • 관련 코드들을 객체지향적으로 리팩토링 및 신규 Feature도 도메인 기반 설계

근무 기간 (근무 형태)
2023.10. ~ 재직 중

(1년 8개월 | 정규직)

회사명

(주) 코드잇

직책 • 부서

프리랜서

담당 업무

FE 부트캠프 수강생들의 최종 프로젝트 서버 개발 업무 수행

  • 기간: 2023.07 ~ 2023.09

  • 기술스택: Spring Boot 3.1.2, Java 17, JPA, MySql 8, Redis 7, Github Actions, aws(elb, ec2, rds,

elasticache)

1. 소셜 로그인에 전략 패턴 적용

  • Spring Security와 OIDC를 활용하여 소셜 로그인을 구현하는 상황

  • OIDC를 활용한 인증 프로세스는 모두 비슷하다고 판단 (Google, Apple, Kakao)

  • OidcProvider 인터페이스를 통한 추상화 및 전략 패턴 적용

  • 소셜 로그인 플랫폼 추가 및 제거 등 확장에 유연한 구조 설계

2. CICD 구축

  • 요구사항이 자주 추가 및 변경된다고 판단

  • Docker와 Github Actions을 활용하여 CICD 구축

  • 테스트 및 배포에 편리함 제공

근무 기간 (근무 형태)
2023.07. ~ 2023.09.

(3개월 | 프리랜서)

회사명

주식회사케이티디에스

직책 • 부서

사원 • 고객서비스본부 ICIS Tr 고객팀

담당 업무

KT 통합고객정보시스템(ICIS) 차세대 프로젝트 수행

  • 기간: 2023.02 ~ 2023.07

  • 기술스택: Spring Boot 3.0.2, Java 17, Jpa, MyBatis, Nexacro, Tibero DB, Oracle DB

1. 고객 파트 인터넷 응용 도메인 관련 개발

  • Pro*C와 Visual C++로 구현된 AS-IS 코드를 분석 및 Spring Boot와 Nexacro로 전환

  • 약 20개의 테스크 해결

2. OpenFeign 개발 업무 수행

  • Monolithic에서 MSA로 전환하며 타 도메인과의 통신 필요

  • 신속한 OpenFeign 개발 업무를 처리하여 고객팀 전체의 업무 진행이 순조롭도록 기여

근무 기간 (근무 형태)
2023.01. ~ 2023.07.

(7개월 | 정규직)

포트폴리오

타입

URL

깃허브
링크

개인 깃허브

URL 링크
링크

개인 기술 블로그

기술 스택

기술 스택

대외활동

소속/기관명

프로그라피

활동명

프로그라피 네트워킹 세미나 연사

내용

프로그라피 네트워킹 세미나에 연사로 참가하여 <사이드 프로젝트에 멀티 모듈 도입하기> 라는 주제로 발표했습니다. 각 모듈의 책임과 역할, 모듈 간의 의존 관계, 모듈에게 필요한 제약 조건 등을 중심으로 발표 및 QnA 시간을 가졌습니다.

연도

2024

소속/기관명

프로그라피 9기

활동명

Spring 파트 매니저

내용

프로그라피 9기에 서버 파트 매니저로 참여하여, 2년 간의 회원으로 활동한 경험을 바탕으로 커뮤니티의 홍보 및 원활한 운영을 위해 힘 썼습니다. 2024년 1월, 네트워킹 데이 행사에 연사로 참여하여 <사이드 프로젝트에 멀티 모듈 도입하기> 라는 주제로, 각 모듈의 책임과 역할, 모듈 간의 의존 관계, 모듈에게 필요한 제약 조건 등에 대한 내용을 포함하여 발표를 진행하였습니다. 2024년 2월, 9기 모집 과정에서 서버 파트 과제 채점을 자동화 하기 위해 Spring Boot와 docker를 활용하여 과제 채점 자동화 프로그램을 개발했습니다. 이를 통해 약 70명의 과제 수행 및 제출 건에 대하여 자동 채점했습니다.

연도

2024

소속/기관명

프로그라피 8기

활동명

Spring 파트 회원

내용

Spring 개발자로 프로그라피 8기에 참여하여 타임라인 기반 커플 다이어리 앱 서비스인 러브버드 서비스를 개발 및 배포했습니다. 개발하는 과정에서 핵심 기능인 타임라인 조회의 성능을 개선하기 위해 Query Plan을 분석하여 커서 페이지네이션을 도입하였습니다.

연도

2023

소속/기관명

프로그라피 7기

활동명

Node 파트 회원

내용

Node 개발자로 프로그라피 7기에 참여하여 포모도로 집중법에 게이미피케이션 요소를 접목 시킨 '포동포동' 서비스를 개발 및 배포했습니다. 저는 Web Socket을 활용하여 Realtime 서비스 환경(채팅 및 게임 요소)을 구현하였습니다.

연도

2022

교육

소속/기관명

한국공학대학교

종류 | 전공

대학교(학사) | 컴퓨터공학전공

재학 기간

2017.03. ~ 2023.02.

재학 상태

졸업

소속/기관명

양명고등학교

종류 | 전공

고등학교 | 이과

재학 기간

2014.03. ~ 2017.02.

재학 상태

졸업

자격증

자격증명

SQLD

점수 | 발급기관

- | 한국데이터산업진흥원

취득연월

2024.06.

댓글