전체 글

🌵 문제 상황next.js를 활용하여 유용한 링크를 모아두는 웹사이트(like 북마크)를 구현하는 프로젝트에서공유된 링크를 클릭하면 보이게 될, 공유된 폴더만을 위한 공유 페이지가 필요했습니다. 예를 들어 "유용한 링크"라는 이름을 가진 폴더를 공유하면https://l1 nkbrary.netlify.app/shared/463 와 같이 폴더의 아이디가 들어간 고유한 링크가 생성되고,해당 링크로 들어가면 아래와 같은 페이지를 볼 수 있습니다.next.js로 구현 중이었기 때문에 페이지 렌더링 시 SSG / SSR / ISR을 활용하고 싶었습니다.해당 페이지는 저장된 링크 목록이 실시간으로 업데이트될 필요가 없었으므로SSG를 사용하여 생성되어 있는 모든 폴더별 페이지를 빌드 시에 미리 렌더링하려고 하였습니다..
· Frontend
📖 테스트란소프트웨어 테스트란 개발한 소프트웨어의 기능 및 동작을 검증하여 결함을 찾아내고 수정하는 과정입니다.이때 테스트를 위해 작성하는 코드가 테스트 코드이고, 테스트 코드를 수행함으로써 개발자가 예상한 결과가 나오는지 확인합니다.대표적인 테스트의 종류는 다음과 같습니다.정적 테스트(static test): 코드를 실행하지 않고 테스트합니다. 기능이 구현되기 전과 같이 개발 프로세스 초기에 결함을 발견하기 위한 목적으로 수행합니다. 타입스크립트로 함수의 파라미터 타입을 검사하는 것도 정적 테스트에 해당합니다.단위 테스트(unit test): 개별적인 코드 단위가 의도한 대로 동작하는지 테스트합니다. 보통 함수나 메서드가 알맞은 입력값과 출력값을 반환하는지 확인합니다. 그 밖에도 유틸성 함수, 커스텀..
· Frontend
📖 스토리북이란스토리북이란 UI 구성 요소(컴포넌트)를 독립적으로 개발/테스트/문서화하기 위한 도구입니다.전체 애플리케이션을 실행하지 않고도, 각각의 컴포넌트가 특정 상태나 실행 시나리오별로 어떻게 렌더링 되는지 테스트할 수 있습니다. 애플리케이션에 오류가 발생해 UI를 확인할 수 없는 상황이어도,기존 웹 사이트에 영향을 주지 않고 독립적인 포트 번호를 가진 스토리북 웹 사이트에서 컴포넌트를 체험할 수 있습니다. 스토리북에는 각 컴포넌트별로 '스토리(story)'라는 단위가 있습니다.예를 들어, 버튼 컴포넌트에는 작은 사이즈/큰 사이즈/활성화된/비활성화된 버튼 등의 다양한 종류의 버튼이 존재합니다.이때 컴포넌트의 각 버전이 하나의 스토리가 되는 것입니다. 따라서 위와 같은 스토리를 모아 관리하는 도구가..
· Frontend
프론트엔드 취업을 위한 면접 질문 리스트에 빠지지 않는 중요도 ⭐️x5개인 질문이자,질문을 받았을 때 쉽게 대답할 수 없는 내용이기에 이번 기회에 정리해 보고자 합니다. 💻 관련 용어 정리URL(uniform resource locator)url이란 인터넷상의 고유한 리소스를 가리키는 것으로, 리소스에는 html페이지 / css 문서 / 이미지 등이 있습니다. url은 서버의 리소스를 요청할 때 사용되므로 url을 통해 인터넷에 존재하는 모든 리소스를 요청할 수 있습니다. 스키마 + 도메인 이름 + 포트 번호 + 파일 경로 + 파라미터 + 그리고 앵커로 이루어져 있습니다.HTTP(hyperText transfer protocol)HTTP는 클라이언트와 서버 사이에서 html과 같은 하이퍼미디어 문서를 ..
· React
📬 서버 상태(Server State)서버 상태란 클라이언트가 아닌 서버나 그 밖의 외부 공간에 저장되어 있는 데이터로, 일반적으로 클라이언트가 요청을 보내 데이터를 사용합니다.서버 상태의 특징은 다음과 같습니다.서버에 저장되므로 클라이언트가 종료되어도 데이터가 사라지지 않습니다.보통 클라이언트에서 API 요청을 보내 데이터를 받아서 사용하며권한이 있는 클라이언트라면 누구나 서버 상태 데이터에 접근할 수 있습니다.네트워크 요청이 요구되므로 데이터에 접근하고 업데이트하는 데 시간이 걸릴 수 있습니다.서버 상태에는사용자와 관련된 정보(프로필, 권한의 정도)데이터베이스에 저장된 각종 데이터API를 통해 가져와야 하는 데이터비동기 데이터등이 존재합니다. 📬 클라이언트 상태(Client State)클라이언트 ..
· React
🏝️ React-Query란웹 애플리케이션에서 서버 상태를 가져오고, 캐싱하고, 동기화하고, 업데이트하는 것을 쉽게 만들어주는 상태 관리 라이브러리입니다.- TanStack Query리액트로 애플리케이션을 개발하면, 보통 useState와 useEffect를 사용하여 데이터와 상태를 관리합니다.이 과정에서 상위 컴포넌트에서 하위 컴포넌트로 props를 깊게 내려줘야 하는 상황('props drilling')이나 공통된 데이터를 여러 컴포넌트에서 사용하는 경우가 존재합니다. 이때 리액트의 컨텍스트(context API)를 사용할 수 있지만, 애플리케이션의 규모가 크거나 구조가 복잡하다면 컨텍스트만으로 상태를 관리하는 것은 한계가 있습니다. 따라서 반복적인 데이터 fetching 코드 감소기존 데이터 캐싱..
emmaOH!
개발자구역