📞 010.2795.2818
📨 [email protected]
🪴 BLOG
🐈⬛ GIT HUB
📜 포트폴리오
$\color{016600}\textbf{Introduce}$

함께하면 든든한 개발자를 지향합니다.
- 6개월의 부트캠프 기간 동안 빠른 적응력과 짧은 러닝 커브를 동기들로부터 인정받아,캠프 수료 시 “최우수 성장상”을 수상한 경험이 있습니다.
- 무엇이든 열심히 하는 성격으로 알아서 해야할 일들을 찾아 해 어딜가나 열심히 하는 사람이라는 말을 주로 듣습니다.
- 공유의 중요성을 알며, 지식 공유하며 대화하는걸 좋아합니다.
$\color{016600}\textbf{Projects}$
[ 실시간 스트리밍 LaIt ]
기간: 24.01 - 24.02 (1달)
참여인원 : 4명
🐈⬛ GIT HUB
📜 포트폴리오
[ 프로젝트 설명 ]
-
Socket IO 를 이용한 채팅 기능
-
Redis 를 이용한 캐싱 기능(Write-Back)
-
채널 정보 관리 기능(S3 이미지 업로드)
-
Docker, ****GCP, Kubernetes 를 이용한 배포
-
Winston, Sentry를 이용해 로그 모니터링.
-
Nginx RTMP 모듈, HLS 프로토콜을 이용한
실시간 스트리밍 기능
[ 담당 파트 - 채팅, 이미지 업로드 기능 구현 ]
- socket IO를 이용한 안정적인 실시간 채팅 기능
- 금칙어 기능: 아호 코라식 알고리즘으로 처리할 수 있는 라이브러리 사용
- 도배방지 기능: Redis에 최근 데이터와 현재 유저가 입력하는 내용을 비교, 스트리머에게 방송 내 유저 차단 권한 부여.
- 실시간방송 시청자수 계산: Socket IO에서 제공하는 기능 이용, Cron으로 주기적 업데이트.
- 채팅 데이터 저장( MongoDB, Mongoose ) 및 Redis를 활용한 캐싱 기능.
- MongoDB에 부하를 줄이기 위해 Redis도입. write-back 전략을 이용.
- 채널 정보 관리 기능 : S3를 이용해 채널 이미지 업로드 기능 구현.
[ 트러블 슈팅 ]
- 채팅 서버 연결 끊김 현상
- 상황
- 로컬에서는 잘 작동 했지만, 재 배포 이후 채팅 서버가 수초 내로 끊기는 현상이 발생.
- 고민 및 의사결정
- 로컬에서는 잘 작동했기에 배포 문제일 것으로 예상 했지만, 연결이 끊겨도 다시 재연결 되었을 때에 제대로 작동 해야만 한다고 생각해 배포 담당 팀원과 함께 원인 파악.
- 채팅 서버의 pingTimeout 등의 설정값 변경과, 채팅 연결 끊김시 client.id 값을 저장했다가 재연결시 새로운 할당값 대신 기존의 값을 넣어주려는 로직을 작성했지만, client.id 값을 변경할 수 없었음.
- 결과
- 배포 담당 팀원분이 쿠버네티스의 로드벨런서 백엔드 연결 제한시간 설정값을 의심하고 변경하자 정상 작동 확인.
[ 공연 예매 Ticket M]
기간: 23.12.29 - 24.01.04 (7일)
개인프로젝트
🐈⬛ GIT HUB
📜 포트폴리오
[ 프로젝트 설명 ]
-
백오피스 구현 (일반유저, 공연 관계자, 서비스 관리자)
-
회원 / 공연 / 결제 / 예매 CRUD (스텐딩, 좌석)
-
AWS EC2, PM2 서버를 이용한 배포
-
결제 / 환불 기능
[ 트러블 슈팅 ]