본문 바로가기

전체 글35

블로그 이사해요 앞으로 쓸 글들은 https://jeonjaewon.github.io 로 올라갑니다 일부 기존 글들도 차차 옮길 예정이에요 최신 포스팅이 궁금하다면 위의 링크로 와주세요 감사합니다! 2023. 10. 3.
useEffect cleanup에서 퍼널의 상태를 clear하기 전에 생각할 것. 응집도 있는 퍼널 관리에 대한 생각들 개요 퍼널을 이탈할 때, 유저가 업데이트한 상태를 초기 상태로 clear하고 싶을 수 있다. 이런 clear 동작에 대해서 고민하다가 생각한 내용들을 정리해보았다. TL;DR - cleanup은 useEffect에서의 특정 행동과 pair로 관리되지 않으면 문제 상황이 발생할 수 있다. - 컴포넌트의 side effect는 가능하다면 이벤트와 이벤트 핸들러로 관리하고, useEffect는 그렇게 하기 어려울 때 사용한다. - 퍼널과 그에 따른 데이터 변경을 응집도 있게 관리하자. 상황 설정 모바일 커머스 앱의 결제 페이지에서 다음과 같은 상황을 예시로 생각해보자. - 결제 수단 지정 페이지 [모바일 클라이언트 앱] - 결제 페이지 [웹] - 결제 페이지는 결제 수단 데이터를 Next.js의 getServ.. 2023. 6. 16.
첫 제품을 배포하고 배운 것들 약 3개월 정도 개발에 참여한 제품이 3월 경 드디어 세상에 나왔다. 개발자로서 일은 한 이후로 주요 제품이라고 할 만 한 정도로 크기가 큰 경우는 처음인 것 같다. 이번에 개발한 제품은 특정 시점에, 원하는 시간만큼 택시 차량을 대절할 수 있는 제품이다. 기존에 수기로 직접 드라이버에게 연락해서 배치되던 대절 상품을, 웹 서비스화 시켜 본격적으로 유저 사이드와 드라이버 사이드에 제품 형태로 제공하고자 하는 목적이다. 현재 회사에서 제공중인 서비스의 특징으로는 투 사이드 마켓 플랫폼 서비스라는 점이 있다. 자연스럽게 어떤 한 제품을 개발한다는 것은 수요자(이후 '유저') 사이드에 제공되는 서비스와, 공급자(이후 '드라이버') 사이드에 제공되는 서비스를 동시에 개발하게 되는 경우가 많다. 또한 현재 회사는.. 2023. 4. 24.
내가 2022년에 배운 것들 2022년에 개인적으로 배웠다고 느꼈던 것들을 정리해보려 합니다. 기술적인 디테일 보다는 한 사람으로서의 개인적 성장과 개발자로서의 성장에 초점을 맞춰서 써보았습니다. 1. 프로로서의 마음가짐 2022년은 제가 돈을 받고 소프트웨어 개발자로 일하기 시작한 첫 해입니다. 학생 꼬리표를 떼고 처음으로 회사에서 일을 하며 참 많이 배웠다고 생각합니다. 기술적인 배움이라기 보다는 더 큰 범위에 해당하는 이야기입니다. 어떤 태도로 일을 대하고, 사람들을 대할지에 대한 나만의 기준을 배워나갈 수 있었습니다. 돈을 받고 회사에서 일을 하는 한 프로로서의 태도를 잃지 않으려고 노력했습니다. 2. 처음으로 이직을 경험 낯선 환경에 적응하는 것은 늘 쉽지 않은 일이지만 어쩌다보니 2022년에는 이직을 경험하며 두 번이나 .. 2023. 2. 12.
Adobe XD의 line-height는 CSS의 그것과 달라요 저는 주로 피그마를 사용해 개발-디자인 간 협업을 진행해 오다가, 최근에는 Adobe XD 또한 사용하고 있는데요. XD에서 line-height, 즉 행간의 구현이 CSS의 그것과는 다르다는 사실을 발견하게 되어 기록을 남겨 봅니다. 개발자가 디자이너에게 시안을 넘겨받으면, 가장 큰 목표는 그 시안을 있는 그대로 웹 페이지 상에 구현하는 일일 것입니다. (얼마나 힘들게 만들었을텐데...) 이는 픽셀 단위의 정교함을 요구하는 작업인데, 그렇기에 빠른 작업을 위해서는 넘겨받은 시안의 값들을 그대로 CSS로 복사-붙여넣기로 사용할 수 있어야합니다. 다만 이 글에서 다룰 현상 때문에 텍스트의 행간이 지정된 경우 단순 복사-붙여넣기의 워크플로우로 진행할 경우 실제 UI와 시안 사이의 괴리가 굉장히 커지기에 주의.. 2022. 8. 11.
React Chrome extension 개발을 위한 Webpack 설정 최근 사이드 프로젝트로 크롬 익스텐션을 만들고 있다. 개인적으로 브라우저 북마크 기능을 굉장히 자주 사용하는데, 읽음 / 안읽음 표시나 각종 데이터 필드에 대한 정렬 등 다양한 기능을 가진 북마크 관리 어플리케이션을 만들고자 한다. 이번 프로젝트에서는 지금까지 미뤄왔던 내가 익숙했던 환경에서 최대한 벗어나 개인적으로 조금은 도전적일 수 있는 과제들을 풀며 Comfort zone을 벗어나고, 그 과정에서 배운 내용을 정리하려고 한다. 이번 글은 프로젝트의 Webpack 설정에 대한 기록이다. 이후 내용들은 크롬 익스텐션, 그 중에서도 popup 형태의 앱에 대한 설정이므로 참고 부탁드립니다. 늘 프로젝트를 시작할때는 항상 아무것도 없는 폴더를 보며 막막함과 기대감이 동시에 든다. 그래도 새로 만드는 것 보.. 2022. 6. 19.