빅픽쳐랩의 개발팀의 인턴으로 "하이얼리" 웹 서비스 개발 & 유지보수
'하이얼리 인재 검증 솔루션' 서비스에서 평판 조회 기능을 중점으로 개발하였습니다.
recoil
을 이용한 전역 상태를 제거하는 과정 동안 '전역 상태가 꼭 필요할까'라는 생각을 가지게 되었습니다.props drilling
을 위해서라면 Context API
를 사용하고, 가능한 전역 상태를 사용하지 않게 되었습니다.충남대학교 하계 백마인턴십를 통해 코덱스 브릿지에서 프론트엔드 개발자로 방학동안 인턴 활동을 하였습니다.
기존에 Laravel
으로 작성되어있던 코드들을 React
로 마이그레이션 하면서, 추가 기능들을 개발하였습니다.
Laravel
로 이미 개발된 서비스를 React
로 마이그레이션 하면서, 새로운 언어를 접하고 공부해 볼 수 있었습니다.Laravel
코드를 분석하며 무슨 언어든 기반은 비슷하다는 것을 느꼈습니다.Laravel
환경에서 사용하던 sendbird 라이브러리를 활용하여 채팅 서비스를 구현해야 했습니다.JavaScript
로 구현되어 있던 코드를 React
환경으로 변경하는 작업을 하며 JavaScript
의 이벤트 방식과 React의 렌더링 방식을 더 이해할 수 있었습니다.동료의 익명 피드백으로 자신의 성향과 장단점 등을 파악해요. 나의 강점은 살리고, 약점은 보완하기 위한 익명의 피드백 수집 및 통계 서비스.
기여도 : 15% / 10명 (FE 4, BE 3, DESIGN 3)
나만의 질문 폼 생성
플로우 개발Drag and Drop
기능을 활용하여 질문 생성 & 정렬 기능 구현Drag and Drop
기능을 위해 나온 라이브러리가 아닌 애니메이션 라이브러리여서 제한적인 기능과 예기치 못한 버그가 발생했습니다.오직 나만을 위한 맛집 검색 내 입맛대로 Preat 남들의 후기가 아닌 내 입맛을 고려해서 식당을 추천하는 맛집 검색 서비스
기여도 : 20% / 5명 (FE 1, ANDROID 1, BE 1, DESIGN 1, PM 1)
react-naver-maps
라이브러리를 이용해 해결하였습니다.ref list
를 이용하였습니다. 라이브러리에서 제공해주지 않아, naver 공식 문서를 통해 구현하였습니다.Jotai
를 이용해 사용자 인증 데이터만을 전역으로 관리하고 있었습니다. 그런데 전역으로 관리해야 하는 값들이 많아지고, 전역 상태 간의 연관성이 많아지며 atom으로 관리하기 쉽지 않아졌습니다.zustand
로 변경하였습니다. zustand 사용 방법 ➜개발자에게 중요한 역량 중에 하나는 타자 속도입니다. '나의 타자속도를 객관적으로 측정해보고, 백준과 같이 나의 수준을 다른 사람들과 공유하는 서비스가 있으면 재밌겠다'라는 생각에서 출발하였습니다.
기여도 : 20% / 6명 (FE 3, BE 2, DESIGN 1)
setInterval
이 아닌 Date
객체를 이용하였고, 1ms의 정밀도
를 가진 타이머를 구현하였습니다. 관련 블로그 링크 ➜'왜 이렇게 코드를 작성했을까?'
를 고민하고, 서로의 생각을 이야기하며 새로운 지식을 많이 얻을 수 있었습니다. code review pr ➜신년메시지 주고받는 사이트를 SPA로 만들어보기 numble 챌린지
컴포넌트 기반 구조
를 이용하여, 공통으로 사용하는 코드들을 class 문법으로 추상화 시키고, 필요한 부분에서는 상속받아 변경할 수 있도록 구현React
의 구조를 참고하였습니다.React
를 참고한 컴포넌트 기반 구조로 작성하 다보니, function 키워드를 사용하면 setState
와 같은 로직이 중복되는 문제가 발생하였습니다.