채용공고 올리기

서정우님을 응원해보세요!

지금 만족하고 있어요
창의적
성실함
책임감
효율적
문제 해결사

미리보기

기본 정보

이름
서정우
직업
프론트엔드 개발자
이메일
sjw4371@naver.com
간단 소개

안녕하세요. 문제를 효율적으로 해결하는 것을 선호하며, 반복되는 코드를 리팩토링하는 데 즐거움을 느끼는 개발자입니다. 취미로 운영하는 블로그에서 반복 작업을 자동화하는 크롬 확장프로그램을 개발해 Google 우수 확장프로그램으로 선정된 경험이 있습니다. 이미지 로딩 속도 개선을 위해 변환 프로그램을 직접 개발하는 등, 실제 문제를 기술로 해결하는 것에 흥미를 가집니다.

기술 스택

기술 스택

React, TypeScript, JavaScript, HTML/CSS, GitHub, Next.js, MySQL, MongoDB, TailwindCSS, Redux, zustand, Electron

프로젝트

프로젝트명

실시간 화상 면접 스터디 PREVIEW

소속/기관명

Booskit

프로젝트 기간

2024.11. ~ 2024.12.

프로젝트 내용

Github

WebRTC 네이티브 웹 API를 사용해 실시간 mesh 토폴로지 화상통화 구현

  • Socket.io를 사용한 시그널링 서버와의 통신 구현 및 React-Query를 활용한 데이터 페칭 관리, Zustand를 활용한 소켓 전역 상태 관리

  • WebRTC internals 도구를 통해 ice candidate 교환 실패 문제를 발견했고, 백엔드 코드를 읽어보며 ice candidate 소켓 이벤트 핸들러 코드가 잘못되어 있다는 것을 발견하고 페어프로그래밍으로 해결

  • 처음엔 FE만의 문제인 줄 알고 시간을 크게 소모했던 문제가 있었지만, 백엔드 코드를 직접 리뷰하면서 소켓 이벤트 핸들러 코드가 잘못됨을 발견. 해당 경험을 통해 문제를 혼자 안고 있는 것보다 협업을 통한 해결이 훨씬 중요하다는 것을 깨닫게 됨

WebRTC 네트워크 품질 모니터링 및 적응형 미디어 스트리밍 구현 (관련 글)

  • 팀 테스트 중 네트워크 이슈로 세션 이탈 현상 발견, 해결하기 위한 네트워크 품질 기반 적응형 미디어 스트리밍 기능 구현

  • getStats API를 활용해 패킷 손실률, 지연시간, 대역폭 등의 네트워크 지표를 수집하여 분석

  • 사용자의 네트워크 품질에 맞춰 미디어 해상도, 비트레이트 등을 동적으로 조절하는 적응형 스트리밍

  • 네트워크 제한 시뮬레이션 도구 Clumsy를 사용하여 네트워크 환경 테스트 경험

  • 해상도 자동 조절로 연결 끊김 현상 감소

  • 해당 기능 구현을 위해 네트워크 지표 학습을 하고, 어떻게 구현할지 단계적으로 기획 후 실제로 테스트까지 해보면서 불안정한 환경에 대한 대응을 생각하고 배울 수 있었음

UX 및 코드 최적화

  • 반복되는 401 에러 처리 로직을 Axios interceptor로 중앙화하여 토큰 갱신, 요청 재시도, 세션 만료 알림 등을 일관적으로 처리하는 인증 시스템 개선

  • 600줄 이상이던 RTC 코드를 기능별 커스텀 훅으로 분리하여 75% 까지 코드량 감소

  • 컴포넌트 책임 분리로 협업 과정에서 새로운 기능을 선언형으로 추가할 수 있게 되어 기능 개발 시간 단축

프로젝트명

ShipFriend Tech Blog

소속/기관명

개인

프로젝트 기간

2025.01. ~ 2025.04.

프로젝트 내용

개인 블로그 및 포트폴리오 목적 웹사이트 (Deploy) (Github)

  • Next.js와 Server Route, MongoDB Atlas, Vercel Blobs를 사용한 풀스택 개발

  • 블로그 세부 페이지 CLS, LCP 성능 개선 경험

    • Lighthouse 도구로 페이지의 LCP와 CLS의 개선 필요성을 체감

    • next/image 라이브러리 사용, 로딩 방식 변경, 크기 사전 지정 등으로 최적화

    • CLS 수치를 0.8에서 0.02로 개선

    • LCP를 1.9초에서 0.5초로 개선

  • 블로그 검색엔진 최적화를 위한 slug 사용 및 메타데이터, robots.txt, sitemap.xml 생성 경험

    • SEO를 위해 블로그 세부 페이지를 서버 컴포넌트로 전환

    • 블로그의 글을 구글 검색 엔진에 색인 성공 경험

    • 웹페이지를 색인하기까지 필요한 과정에 대해서 깊게 이해

  • Github OAuth를 NextAuth를 통해 구현

  • 다크모드가 활성화된 상태에서 새로고침 할 경우 FOUC 깜빡임 문제를 인라인 스크립트 삽입으로 페이지 로딩 전 배경 색 지정으로 해결하여 UX 향상

프로젝트명

프리미티브

소속/기관명

개인

프로젝트 기간

2024.01. ~ 2024.06.

프로젝트 내용

교내 개발 동아리 홍보 및 프로젝트 공유 플랫폼 목적 개발 (Deploy) (Github)

  • JavaScript → TypeScript, Webpack → Vite 마이그레이션으로 빌드 시간 50% 이상 단축

  • TypeScript로 마이그레이션하면서 기존에 사용하던 객체들에 대한 Interface를 작성하면서 TypeScript에 대한 이해도를 올렸고, 마이그레이션 이후 타입 안정성과 관련된 오류 해결에 소모되는 시간 감소

  • Firebase를 사용한 인증 시스템 및 데이터 관리 구현

  • Firebase의 회원가입 메서드에 포함된 자동로그인 기능을 제외하기 위한 문제 해결 경험 (관련글)

  • Intersection Observer API를 활용한 무한 스크롤 및 UI 애니메이션 구현

포트폴리오

URL

link

개인 블로그

URL 링크
link

Github

깃허브

교육

소속/기관명

네이버 부스트캠프 웹•모바일 9기

종류 | 전공

사설 교육 | 웹 풀스택

재학 기간 | 재학 상태

2024.07. ~ 2024.12. | 졸업

소속/기관명

국립공주대학교

종류 | 전공

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

재학 기간 | 재학 상태

2021.03. ~ 2026.02. | 졸업

자격증

자격증명

정보처리기사

점수 | 발급기관

85 | 한국산업인력공단

취득연월

2024.08.

자기소개

자기소개

저는 빠르게 프로토타입을 만들어보는 것을 좋아합니다. 간단하게 시제품을 먼저 만들고, 동료들의 피드백을 받으면 개선해나가는 과정을 즐깁니다. 그리고 저는 중복을 찾는 것을 좋아합니다. 반복되는 작업을 자동화하거나 효율적, 일관적으로 처리하는 방법을 찾는 것을 좋아합니다. 항상 자기주도적, 비판적으로 생각하고 행동합니다.

앞으로는 프론트엔드 개발자로서의 전문성을 기르면서 직무 경계에 갇히지 않고 문제 해결을 위해 필요한 기술과 지식을 적극적으로 습득하는 개발자가 되고 싶습니다.

댓글