미리보기
기본 정보
프론트엔드가 제품에 제공하는 가치를 이해하기 위해 노력하는 개발자 박정욱입니다.
자기소개
- React 및 그 생태계를 활용하여 사용자에게 긍정적인 첫인상을 새기는 매력적인 인터페이스를 개발하는 것에 관심이 있습니다.
- 웹 프론트엔드 시장의 전반적인 흐름을 따라가기 위해 여러 새로운 기술들을 학습하는 것에 즐거움을 느낍니다.
- 정적 타이핑을 통해 코드의 신뢰성과 유지보수성을 높일 수 있음을 알고, TypeScript를 사용하여 이러한 장점을 달성하기 위해 노력합니다.
- 프론트엔드/백엔드 등의 직군에 구애받지 않고 제품의 완성도를 높일 수 있다면 어떠한 작업이든 경험하고 싶습니다.
- 함수형 패러다임과 그 기반 이론에 흥미를 가지고 있습니다.
기술 스택
프로젝트
Kernel360 백엔드 1기 파이널 프로젝트 4팀
이길로그
지도 기반 장소 기록 및 공유 서비스 '이길로그'의 프론트엔드 개발에 참여하였습니다. #
주요 기능
- 네이버 장소검색 API와 지도 API를 사용하여, 검색한 장소의 위치를 지도에 나타냅니다.
- 네이버 길찾기 API를 사용하여, 최대 5곳의 장소에 대한 위치 정보를 입력받아 해당 장소들을 포함하는 경로를 계산하고 이를 지도에 나타냅니다.
- 특정 장소 또는 경로에 대한 별점 평가와 간단한 리뷰를 등록할 수 있으며, 사진을 함께 업로드할 수 있습니다.
- 사용자에게서 입력받은 성별/연령대 정보를 통해 추천 장소를 제시합니다.
기술 스택(프론트엔드)
TypeScript, Next.js, Tailwind CSS, Zod, Vitest
주요 기여
- 이미지, 텍스트, 숫자 등이 혼재되어 복잡도 높은 사용자 입력을 처리하는 코드를 작성하였습니다.
- 상태를 갱신하는 로직과 UI를 표현하는 로직을 분리하기 위해 Reducer를 활용하였습니다.
- props drilling을 회피하기 위해 Context를 활용하였습니다.
- 런타임 응답 검증 및 정적 타이핑을 통한 개발자 경험 향상을 위해 Zod를 적용하였습니다.
- tagged union과 제네릭을 활용하여 API 응답을 스키마 검증 후 성공 혹은 실패로 파싱하는 함수를 작성하였습니다.
기타
GNU-MAS Tree
유명 서비스 '내 트리를 꾸며줘'를 클론코딩한 경상대학교 온라인 롤링 페이퍼 서비스 'GNU-MAS Tree'의 프론트엔드 개발에 참여하였습니다. #
주요 기능
- 경상대학교 웹메일을 통해 인증을 받은 경상대학교 학생만 사용 가능합니다.
- 원하는 장식품을 선택하고 메시지를 입력하여, 다른 학우의 '트리'를 꾸밀 수 있습니다.
- 12월 25일 크리스마스 당일, 장식품을 클릭하여 메시지를 확인할 수 있습니다.
기술 스택(프론트엔드)
TypeScript, React, Vite, Jotai, Chakra UI
주요 기여
- 전체 사용자 인터페이스를 설계 및 구현하였습니다.
- 컴포넌트를 트리 형태의 배경 이미지에 맞게 삼각형으로 배치하고, 한 화면에 10개씩 배치하기 위해 페이지네이션 기능을 구현하였습니다.
경상대학교 컴퓨터과학과
ShareRoutine
루틴 관리 모바일 애플리케이션 및 공유 커뮤니티 서비스 'ShareRoutine'을 개발하였습니다. #
주요 기능
- '루틴(사용자가 할 일 목록 템플릿)'을 만들고 공유할 수 있습니다.
- 루틴의 현재 달성률과 각 할 일들 간의 중요도를 시각화하고, 최우선으로 해야 할 일을 사용자에게 제시합니다.
- 다른 사용자가 만든 루틴을 다운로드하여 수정할 수 있습니다.
기술 스택
Kotlin, SQLite(Room), Firebase, Dagger, Hilt, Material UI
주요 기여
- Android 공식 문서에서 권장하는 아키텍처를 적용하였습니다.
- 데이터의 획득처를 추상화하는 DataSource, 데이터의 접근을 추상화하는 Repository를 합쳐 Data 계층을 구성하였습니다.
- 사용자에게 데이터를 적절한 형태로 표현하고 상호작용을 처리하는 UI 계층을 두었습니다.
- DataSource에서 획득한 데이터를 Repository에서 도메인 모델로 변환하여 UI 계층에 제공하는 형태로 구현하였습니다.
- 여러 가지의 데이터 원천을 다룰 수 있도록 인터페이스에 의존하는 코드를 작성하였고, Dagger/Hilt를 활용하여 의존성을 주입하고 관리하였습니다.
- Kotlin coroutine과 Flow를 활용하여 데이터를 최신으로 유지하고, LiveData를 활용하여 데이터 변경에 따라 UI를 갱신하는 반응형 프로그래밍을 적용하였습니다.
대외활동
개인
CodeSnap
매월 정해진 주제에 따라 기술 아티클을 한 편씩 선정하여 원저자의 허가를 받은 후, 번역과 리뷰를 거쳐 공유하는 웹 개발 번역 매거진 '코드스냅'에 참여 중입니다.
주요 활동 결과물
- 함수형 프로그래밍으로 단위 테스트를 다시 재미있게 만들기
- 리액트에서 에러 처리를 위한 react-error-boundary 사용하기
- 해당 번역은 원문이 기재된 블로그에서도 접근할 수 있습니다. #
- Api 버전 관리: 당신이 알아야 할 모든 것
2024
A type-safe, composable library ZIO
2023 오픈소스 컨트리뷰션 아카데미
"A type-safe, composable library ZIO" 프로젝트의 리드멘티로 참가하였습니다.
주요 활동 결과물
2023
포트폴리오
첨부파일
교육
경상대학교
대학교(학사) | 컴퓨터과학과
2016.03. ~ 2023.02.
졸업
자격증
정보처리기사
기사 | 산업인력공단
2022.09.
JLPT
N1 | 일본국제교류기금
2023.08.
외국어
영어
일상 회화 가능
일본어
일상 회화 가능