미리보기
기본 정보
안녕하세요! 꾸준히 성장하는 주니어 FE 웹 개발자 박민서입니다. 전자공학을 전공하고 제가 정말 하고 싶은 일을 찾아 개발자의 길을 선택했습니다. 진로를 변경한 후, 코드리뷰와 토론을 통해 새로운 것을 배우고, 완성된 결과물을 보며 느끼는 성취감이 저를 더욱 개발에 몰입하게 만들었습니다.
기술 스택
JavaScript, react.js, tailwind-css, HTML/CSS, TypeScript, react-query, react-router-dom, Figma, Notion, Slack, REST API
교육
인천원당고등학교
고등학교 | 인문계열
2015.03. ~ 2017.12. | 졸업
청운대학교 / 인천캠퍼스
대학교(학사) | 전자공학과
2018.03. ~ 2023.07. | 졸업
제로베이스
사설 교육 | FE 프론트엔드 스쿨
2023.09. ~ 2024.03. | 졸업
프로젝트
Go Together / 같이 가요
개인 / 협업프로젝트
2024.02. ~ 진행 중
이 프로젝트는 여행을 좋아하지만 혼자가기엔 부담스러울 때 동행자를 구하는 웹앱 서비스 입니다.
사용자는 여행 계획을 공유하고, 여러 조건에 따라 같이 여행을 갈 동행을 찾을 수 있습니다.
백엔드3, 프론트엔드2 의 팀원들과 함께 '같이 가요'라는 여행 동행자 매칭 서비스의 개발에 참여하고 있습니다. 이 서비스는 혼자 여행하기를 꺼리는 이들을 위해 동행자를 찾아주는 플랫폼입니다. 프로젝트 기간 동안, 저는 팀 내에서 UI 디자인과 로그인/로그아웃/회원가입/채팅방/게시글 작성 기능구현을 담당했습니다. React, Tailwind CSS, Recoil, React-Query와 같은 기술들을 사용하여 구현하였으며 특히, 전역 상태 관리를 효과적으로 하기 위해 Recoil을 도입했고, 서버 상태 관리와 데이터 페칭을 최적화하기 위해 React-Query를 사용했습니다.
Yori-Jori / 요리조리
개인 / 개인프로젝트
2023.12. ~ 2024.01.
React 프로젝트 '요리조리'는 1인 가구의 증가와 함께 요리 레시피를 공유할 수 있는 커뮤니티 플랫폼 개발을 목표로 시작했습니다. 프로젝트 초기에 로그인/로그아웃 기능과 데이터 관리의 이해 부족이 도전과제로 다가왔습니다. 백엔드와 함께 시스템을 구축하는 대신, 신속한 프로토타이핑이 가능하며, 저의 아이디어를 빠르게 시험하고 핵심 기능을 신속하게 구현할 수 있는 Firebase를 활용함으로써 백엔드 없이도 사용자 데이터와 이미지를 효율적으로 관리할 수 있는 방법을 모색했습니다. 이 과정에서 HTTP 메소드와 데이터베이스 상호작용에 대한 기술적 지식을 넓혔습니다.
포트폴리오
자기소개
항상 배우고 노력하는 박민서입니다.
[프론트엔드에 관심을 갖게 된 계기]
제 전공은 전자공학입니다. 궁금증이 있다면 깊이 파고드는 것을 좋아했습니다. 이런 관심으로 전자공학 전
공으로 대학 생활을 보내며 과학과 기술에 대한 깊은 흥미를 가지고 있었지만, 진로에 대한 확신이 서지 않아
낮은 학점으로 졸업했습니다. 졸업 후 방향을 모색하던 중, 친형의 변화가 저에게 큰 영감을 주었습니다. 형은
스스로 길을 찾아가는 모습을 보며 인상이 깊었으며 개발자로서 일하는 모습을 보며 자연스럽게 개발자에
대한 꿈을 키워가게 되었습니다. 그렇게 저는 프론트엔드 개발에 진심으로 매료되었고, 6개월 동안 집중적으
로 개발 과정을 수강했습니다. 매일 HTML/CSS, JavaScript, 프레임워크 등의 기초부터 실무 기술까지 배우며,
쿠팡을 비롯해, 유명한 웹사이트 모방과 다양한 수강 과제를 통해 실력을 쌓아갔습니다. 배움의 과정은 쉽지
않았지만, 모르는 부분은 꼼꼼히 검색해 해결하고, 배운 내용을 코드에 적용해 나가며 점진적으로 발전시켰
습니다. 특히, NEWS API를 활용한 뉴스 Viewer 과제에서는, 사용자 편의성을 높이기 위해 일일이 페이지를 넘
기고 클릭하는 Pagination보다는 Intersection Observer API를 도입해 자세한 공부를 한 후 스크롤만으로도 뉴
스를 볼 수 있게 구현하는 노력으로 좋은 점수를 얻었습니다. 이러한 노력을 통해, 저는 두 가지 확실한 강점
을 가지게 되었습니다. 첫째, 창의적인 문제 해결 능력입니다. 디지털 커뮤니케이션과 관련된 프로젝트들을
수행하면서 발생하는 다양한 도전 과제들을 해결해 나가는 과정에서, 저는 문제를 신속하게 분석하고 창의적
인 해결책을 도출하는 데 있어 저만의 방식을 개발했습니다. 둘째, 지속적인 학습과 배움의 태도입니다. 디지
털 트랜스포메이션의 빠르게 변화하는 환경에서 신기술과 트렌드에 대한 끊임없는 호기심과 배움의 태도를
가지고 목표 달성에 기여하며, 함께 성장하고 싶습니다.
[가장 열정을 가지고 임했던 프로젝트]
React 프로젝트 '요리조리'는 1인 가구의 증가와 함께 요리 레시피를 공유할 수 있는 커뮤니티 플랫폼 개발을
목표로 시작했습니다. 프로젝트 초기에 로그인/로그아웃 기능과 데이터 관리의 이해 부족이 도전과제로 다
가왔습니다. 백엔드와 함께 시스템을 구축하는 대신, 신속한 프로토타이핑이 가능하며, 저의 아이디어를 빠
르게 시험하고 핵심 기능을 신속하게 구현할 수 있는 Firebase를 활용함으로써 백엔드 없이도 사용자 데이터
와 이미지를 효율적으로 관리할 수 있는 방법을 모색했습니다. 이 과정에서 HTTP 메소드와 데이터베이스 상
호작용에 대한 기술적 지식을 넓혔습니다.
프로젝트를 진행하며 로그인 상태와 사용자 데이터를 여러 컴포넌트에서 효율적으로 관리하는 것의 중요성
을 인식했습니다. 초기에는 컴포넌트 간 수동 데이터 전달에 의존했으나, 이는 오류 발생의 가능성을 높이고
비효율적이었습니다. 이를 해결하기 위해 Context API를 도입하여 전역 상태 관리를 구현했지만, 성능 저하와
불필요한 리렌더링을 유발하는 새로운 문제로 이어졌습니다.
이러한 경험을 통해, 상태 관리와 데이터 페칭에 대한 깊은 고민의 필요성을 깨닫게 되었고, Recoil과 React Q
uery의 중요성을 알게 되었습니다. Recoil을 통한 상태 관리와 React Query를 이용한 데이터 페칭은 애플리케
이션 성능을 향상하게 시킬 수 있는 중요한 발견이었습니다. 또한, Mock 서비스를 활용해 API 호출을 가로채
고 테스트 데이터를 사용하는 방법을 배우며 개발 과정에서 데이터 관리의 효율성을 높일 수 있는 방법을 배
웠습니다.
'요리조리' 개발 과정에서 마주친 문제들과 그 해결 과정은 저에게 성장할 수 있는 또 하나의 길을 제공했습
니다. 저는 이러한 경험과 배움을 바탕으로 부족한 실력이지만 더 나아갈 수 있는 개발자가 될 수 있을 것 같
습니다.
더욱 성장하고 혁신적인 프로젝트에 기여하는, 함께 성장해 나가는 동료가 되기를 희망합니다.
[대표적인 개발 경험 및 활동]
현재, 백엔드3, 프론트엔드2 의 팀원들과 함께 "같이 가요"라는 여행 동행자 매칭 서비스의 개발에 참여하고
있습니다. 이 서비스는 혼자 여행하기를 꺼리는 이들을 위해 동행자를 찾아주는 플랫폼입니다. 프로젝트 기
간 동안, 저는 팀 내에서 UI 디자인과 로그인/로그아웃/회원가입/채팅방/게시글 작성 기능구현을 담당했습니
다. React, Tailwind CSS, Recoil, React-Query와 같은 기술들을 사용하여 구현하였으며 특히, 전역 상태 관리를
효과적으로 하기 위해 Recoil을 도입했고, 서버 상태 관리와 데이터 페칭을 최적화하기 위해 React-Query를 사
용했습니다.
제 역할 중 하나는 백엔드 API 개발 중 MSW로 목 데이터 테스팅과 Recoil로 로그인 상태 및 사용자 데이터 관
리였습니다. 이를 통해 비로그인 사용자의 메인 페이지 접근 차단 Protect Route를 구현할 수 있었습니다. 하
지만 초기에 req, res, ctx를 즉각적으로 확인하지 못해, 데이터 통신 오류가 발생했으나, HttpResponse를 활용
해 명확한 응답을 제공받고 토큰과 목 데이터를 받아올 수 있도록 해결할 수 있었습니다. 또한, 토큰값을 Loc
al Storage에 저장했지만 새로고침 할 경우 다시 Protect Route에 의해 초기 화면으로 돌아가는 문제를 Local St
orage에서 useEffect를 통해 다시 accessToken 변수로 Recoil에 저장시켜 전역적으로 로그인 상태를 유지할 수
있도록 설계하였습니다. 다가오는 계획으로는 백엔드 팀과 협력하여 API 응답을 통합하고 강화된 보안 토큰
을 Recoil에 저장하는 작업을 진행할 예정입니다.
이 프로젝트를 통해 저는 끊임없이 도전하며, 협업하는 개발자로 성장하고 있습니다.