채용공고 올리기

박상철님을 응원해보세요!

이직/구직 중이에요
커뮤니케이션
자기 주도적
문제 해결사
고객 중심
적응력

미리보기

기본 정보

이름
박상철
직업
백엔드 개발자
이메일
didi1484@gmail.com
간단 소개

자기소개

자기소개

저는 어릴 적부터 게임을 정말 좋아했습니다. 다양한 장르의 게임을 즐기면서, 언젠가는 제가 즐겨 왔던 그 게임들처럼 멋진 게임을 직접 만들어보고 싶다는 꿈을 품게 되었습니다.

그러던 중 우연한 기회로 프로그래밍을 접하게 되었고, 개발의 세계에 깊이 빠져들게 되었습니다. 개발을 배우면서 놀랍게도 게임과 프로그래밍 사이에 많은 유사점이 있다는 것을 발견했습니다. 논리적 사고, 문제 해결 능력, 창의성 등 게임을 즐기면서 자연스럽게 익혔던 능력들이 프로그래밍에서도 큰 도움이 되었습니다. 이러한 발견은 제가 개발에 더욱 흥미를 느끼게 된 계기가 되었고, 게임 개발이라는 꿈을 향해 한 걸음 더 나아갈 수 있게 해주었습니다.

이스트게임즈는 오랜 기간 동안 전 세계 유저들에게 사랑받는 게임을 개발해 온 회사입니다. 귀사의 일원으로서 제 게임에 대한 이해와 개발 능력을 바탕으로 혁신적인 게임 개발에 기여하고 싶습니다. 열정적인 게이머이자 개발자로서, 저는 사용자의 관점에서 게임을 이해하고 이를 개발에 반영할 수 있는 독특한 시각을 가지고 있다고 믿습니다.

게임을 사랑하는 마음과 개발에 대한 열정을 가진 저는 이스트게임즈의 게임 서버 개발자로서 큰 가치를 창출할 수 있을 것입니다.

기술 스택

기술 스택

Java, Spring Boot, Spring Security, MySQL, JPA, querydsl, Redis, AWS, Git, GitHub, Docker

프로젝트

프로젝트명

Binder

소속/기관명

스위프 6기

프로젝트 기간

2024.09. ~ 진행 중

프로젝트 내용

내 주변의 쓰레기통을 찾아주는 서비스(Bin-Finder)

구성 인원: 기획 1, 디자인 1, 프론트엔드2, 백엔드 2

협업 내용:

  • 주 3회 회의를 통해 다른 직군과 협력하며 사용자 경험을 고려한 API 설계

  • 쓰레기통 검색, 공공데이터 기반 쓰레기통 등록을 제외한 대부분 기능 구현

  • 팀 내 의사결정 과정에 적극적으로 참여하며 기술적 제안(검색 개선)

  • 지속적인 홍보로 일일 사용자 50명 달성

주요 성과:

댓글 좋아요 기능 동시성 테스트 중 발생한 데드락 문제 해결

  • 낙관적 락으로는 해결할 수 없는 데이터베이스 레벨의 락 문제

  • MySQL 공식 문서를 통해 외래키 제약 조건으로 인한 공유 락 획득이 원인임을 파악

  • 비관적 락을 도입하여 트랜잭션 시작 시점부터 배타 락 획득

  • 데드락 및 동시성 문제 해결로 댓글 좋아요 수의 데이터 정합성 확보

  • 트랜잭션 격리 수준, JPA의 동작 방식, 그리고 데이터베이스 락 메커니즘에 대한 이해 획득

AI를 이용한 욕설 필터링 기능 구현

  • 데이터베이스에서 욕설 목록을 저장하고 비교하는 방식은 필터링을 우회하는 방법에 취약한 문제 발생

  • ChatGPT API를 이용하여 필터링을 우회하는 방법도 통제

  • ChatGPT가 잘못된 응답을 반환하는 경우에는 후처리 로직을 통해 오탐 문제 개선

  • DB 학습 모델 적용으로 GPT 호출 빈도 최적화 및 성능 개선(30배)

  • 관리자의 모니터링 부담 감소 효과

AWS 인프라 환경 구축 및 CI/CD 적용

  • EC2, ELB, RDS, Route53, S3 등 프로젝트에 필요한 인프라 구축 및 비용 최소화

  • 잦은 API 스펙 변경으로 인해 API 문서 공유를 위한 배포 자동화 필요성 체감

  • Github Actions를 통한 CI/CD 적용으로 배포 시간 75% 단축 (10분 -> 2분) 및 협업 경험 개선

심사를 위한 관리자 페이지 구현

  • 데이터 정규화를 통해 복잡한 관리자 페이지 구현

  • 3개 이상 누적된 신고만 표시하여 관리자의 업무 효율성 향상

  • 신고 타입별 집계 기능 구현으로 관리자의 심사 및 사유 작성 프로세스 개선

소셜 로그인 시 기존 계정과의 이메일 중복 문제

  • 이메일 기반 사용자 계정 통합 로직 개발 및 적용

  • 사용자 계정 통합으로 중복 계정 생성 방지하여 사용자 경험 향상

프로젝트명

Air Dnb

소속/기관명

코드스쿼드

프로젝트 기간

2024.05. ~ 2024.06.

프로젝트 내용

에어비엔비를 모방한 숙소 예약 시스템

대규모 트래픽 대응 쿠폰 시스템

  • 선착순 쿠폰 발급 기능에서 쿠폰 초과 발급 및 대규모 동시 요청으로 인한 시스템 부하 문제 발생

  • Redis의 Queue와 Spring의 Scheduler를 이용해 대기열 시스템을 구현

  • 기존 대비 성능 5배 개선

동시 예약시 오버부킹 문제 해결

  • 낙관적 락, 비관적 락으로는 동시에 여러 날짜를 예약할 수 있는 숙소시스템의 동시성 이슈를 해결하기 어려움

  • Redis의 분산 락을 활용하여 동시성 제어를 구현

  • 동시성 문제 제어를 통한 오버부킹 0건 달성

숙소 검색시 N+1 쿼리 발생으로 인한 검색 성능 저하 문제 해결

  • FetchJoin과 스프링 부트의 batch 설정을 활용하여 쿼리 실행 횟수를 감소

  • 쿼리 실행 횟수 감소로 검색 성능 개선

프로젝트명

커스텀 WAS

소속/기관명

코드스쿼드

프로젝트 기간

2024.03. ~ 2024.04.

프로젝트 내용

순수 Java로 웹 애플리케이션 서버(WAS)를 구현한 개인 프로젝트

중앙 집중식 요청 처리를 위한 프론트 컨트롤러 패턴 적용

  • 분산된 요청 처리 로직으로 인해 코드 복잡도가 증가하고 유지보수의 어려움 발생

  • 중앙 집중식 요청 처리를 위해 프론트 컨트롤러 패턴을 적용

  • DispatcherServlet과 유사한 구조로 요청 처리 흐름을 일원화하여 유지보수성을 크게 향상시킴

인가 전용 인터셉터 구현

  • 공통적인 권한 검증 등을 각 컨트롤러에서 처리함으로 유지보수의 어려움 발생

  • 인터셉터를 도입하여 중앙에서 공통 작업을 처리하고 특정 URL 패턴에 대해 필터링을 적용

  • 권한 검증 로직을 개별 컨트롤러에서 분리하여 코드 모듈화 및 재사용성을 높임

Multipart 요청 처리를 위한 컴포넌트 구현

  • 파일 업로드 시 메모리 사용량 급증으로 인한 서버 다운, 바이너리 데이터를 처리하지 못하고 무한 로딩 현상 발생

  • 스트리밍 방식으로 파일 업로드를 처리하여 메모리 사용을 최적화, ContentLength 헤더를 읽어 바이너리 데이터도 파싱할 수 있도록 개선

  • 안정적이고 효율적인 파일 업로드 기능을 구현하여 메모리 사용량을 크게 줄일 수 있었음

포트폴리오

URL

link

https://www.bin-finder.net

URL 링크
link

https://github.com/binder-binFinder/binder-back-end

깃허브
link

https://velog.io/@parksangchu/posts

URL 링크

교육

소속/기관명

코드스쿼드

종류 | 전공

사설 교육 | 백엔드 개발자 양성 교육

재학 기간 | 재학 상태

2024.02. ~ 2024.08. | 졸업

소속/기관명

인하대학교

종류 | 전공

대학교(학사) | 경영학과

재학 기간 | 재학 상태

2011.02. ~ 2015.02. | 졸업

대외활동

활동명

스위프 6기

소속/기관명

스위그

연도

2024

내용

기획자, 개발자, 디자이너가 한 팀으로 6주간 웹 어플리케이션을 만드는 프로젝트

댓글