채용공고 올리기

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

이직/구직 중이에요
목표 지향적
커뮤니케이션
기술적
문제 해결사
열정적

미리보기

기본 정보

이름
박현철
직업
Web Backend Developer
이메일
tij05078@gmail.com
간단 소개

자기소개

자기소개

새로운 것을 배우는 것에 대한 호기심이 강하고, 관심이 생긴 분야에 대해 깊이 파고들며 탐구합니다. 어떤 문제를 마주했을 때, 단순히 겉으로 드러난 현상만 보고 지나치지 않고 원인을 파악하고 이해하려는 집요함이 제 강점입니다.

프로젝트에서 동시성, 서버 동기화 등 예상치 못한 문제가 발생했을 때, 문제의 본질을 이해하기 위해 다양한 자료를 찾아보고 분석하며 해결 방법을 찾아냈던 경험이 있습니다. 이 과정에서 포기하지 않고 끈기 있게 도전하는 태도가 좋은 결과로 이어졌습니다. 해당 내용은 아래 기여부분의 링크를 통해 확인할 수 있습니다.

이러한 성격을 바탕으로 새로운 환경에서도 빠르게 적응하고, 끊임없이 배우며 성장해 나가고자 합니다.

기술 스택

기술 스택

Java, Spring Boot, MySQL, Git, GitHub, Docker, JPA, Redis, aws-ec2, aws-rds, aws-s3

프로젝트

프로젝트명

on your cs

소속/기관명

개인

프로젝트 기간

2024.04. ~ 진행 중

프로젝트 내용

Web / 풀스택 (3인) / 기여도 (60%)

CS학습을 위한 주제 선정 및 퀴즈 출제

역할 : Backend 개발 담당 (실시간으로 현재인원 갱신을 해주는 게임 방 리스트 페이지 구현)

기술 : JAVA17, Spring Boot3.1, WebSocket, STOMP, MySQL , Spring Data JPA, Thymeleaf, Caffeine Cache, Redis, AWS EC2, RDS, Github Actions, Nginx, Prometheus, Grafana

기여 부분 :

  • 단일 서버에서 부하 분산을 위해 Scale out을 진행하면서 서버마다 데이터가 달라지는 문제 발생. 방 생성 및 인원 변동과 같은 서버 상태 변경이 발생했을 때 동기화를 위해 Redis pub/sub을 도입하여 정보 일관성 유지 -> 관련 링크

  • 특정 게임방에 동시 접속 인원 제한이 필요한 상황에서 다수 사용자 접근시에도 동시성 보장을 위해 AtomicInteger의 CAS연산을 이용하여 동시성 문제 해결 -> 관련 링크

  • 라운드로빈 로드밸런싱되는 환경에서 방 생성 요청이 분산되어 동일 방 중복 생성 문제 발생. 중복 생성 방지를 위한 UUID를 모든 서버에 동기화하고 TOCTOU 문제 방지를 위해 Redisson 기반 분산락을 도입해 읽기/쓰기 작업 원자적으로 처리-> 관련 링크

  • 실시간 환경에서 STOMP 사용 시 페이지 종료 시 구독 해제 요청 누락 문제 발생. 해결하기 위해 beforeunload 이벤트로 종료를 감지하고 Spring boot의 @EventListener를 활용해 구독 해제 처리하도록 개선 -> 관련 링크

  • 실시간 서비스에서 네트워크 불안정으로 인해 연결이 끊어지는 상황 발생. 네트워크 연결 상태를 지속적으로 확인하고 연결이 끊어졌을 경우 재연결하기 위해 STOMP에 Heart-Beat 기능을 도입해 신호가 중단될 경우 자동으로 재연결되도록 구현

  • JMeter를 통한 성능 테스트(1000명의 사용자가 30초 동안 점진적으로 증가하며 접속)에서 로드밸런싱 전 평균 응답속도 614ms, 응답속도 표준편차 860ms에서 로드밸런싱 후 평균 응답속도 217ms, 응답속도 표준편차를 23ms로 안정성 향상

프로젝트명

강의 할인 정보 제공

소속/기관명

한국전파진흥협회 (부트캠프)

프로젝트 기간

2023.09. ~ 2023.11.

프로젝트 내용

Web / 프론트엔드(2인), 백엔드(4인) / 기여도 (40%)

여러 사이트의 강의 할인 정보 수집 및 제공, 메일 알람으로 등록한 강의 할인 시 메일전송

역할 : Backend 개발 담당 (백엔드 API 개발 및 크롤링 서버, Elasticsearch 서버 구축)

기술 : JAVA17, Spring Boot3.1, MariaDB, Spring Data JPA, Elastic Stack, AWS EC2, RDS, S3

기여 부분 : 

  • 여러 사이트의 강의 정보를 가져오기 위해 Jsoup을 활용한 크롤링 서버 설계 및 구현

  • 전문 검색 및 동의어 검색을 위한 Elasticsearch 클러스터 환경 구성 및 운영 -> 관련 링크

  • 색인 지연 해결을 위해 Metricbeat로 모니터링 시스템 구축

  • 많은 단건 색인요청으로 인한 색인 지연을 해결하기 위해 벌크 색인 도입. 약 6,000개 문서 색인 시간 3분에서 8초(96% 단축)로 개선

  • 일부 강의의 썸네일 이미지 로드 실패문제를 해결하기 위해 기존 URL 직접 저장 방식 대신 이미지를 다운로드하여 AWS S3에 저장하고 그 URL을 강의 테이블에 저장하는 방식으로 개선

포트폴리오

첨부파일

첨부파일명

박현철_포트폴리오.pdf

교육

소속/기관명

카카오 클라우드 스쿨 (한국전파진흥협회 주관 부트캠프)

종류 | 전공

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

재학 기간 | 재학 상태

2023.05. ~ 2023.11. | 졸업

소속/기관명

대구대학교

종류 | 전공

대학교(학사) | 컴퓨터 소프트웨어 전공

재학 기간 | 재학 상태

2017.03. ~ 2023.02. | 졸업

소속/기관명

성광고등학교

종류 | 전공

고등학교 | 인문

재학 기간 | 재학 상태

2014.03. ~ 2017.02. | 졸업

자격증

자격증명

SQLD

점수 | 발급기관

한국데이터산업진흥원

취득연월

2024.12.

자격증명

정보처리기사

점수 | 발급기관

한국산업인력공단

취득연월

2022.09.

대외활동

활동명

신입 개발자 CS 스터디 그룹

소속/기관명

연도

2023

내용

- 컴퓨터 공학(Network, DB, OS, Algorithm, Design Parttern), 백엔드 기술(Java, Spring, JPA) 스터디

- 매주 개인별 할당된 파트 학습 후 내용 정리 -> Java, DB에 많은 기여

- 2024년 11월 CS-Study 레포지토리 기준 Star 1000 ↑, 200여개 PRs -> 기여한 부분

댓글