전체 글

· 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를 통해 가져와야 하는 데이터비동기 데이터등이 존재합니다.서버 상태 관리를 도와주는 라이브러리에는 Tanst..
· React
🏝️ React-Query란웹 애플리케이션에서 서버 상태를 가져오고, 캐싱하고, 동기화하고, 업데이트하는 것을 쉽게 만들어주는 상태 관리 라이브러리입니다.- TanStack Query리액트로 애플리케이션을 개발하면, 보통 useState와 useEffect를 사용하여 데이터와 상태를 관리합니다.이 과정에서 상위 컴포넌트에서 하위 컴포넌트로 props를 깊게 내려줘야 하는 상황('props drilling')이나 공통된 데이터를 여러 컴포넌트에서 사용하는 경우가 존재합니다. 이때 리액트의 컨텍스트(context API)를 사용할 수 있지만, 애플리케이션의 규모가 크거나 구조가 복잡하다면 컨텍스트만으로 상태를 관리하는 것은 한계가 있습니다. 따라서 반복적인 데이터 fetching 코드 감소기존 데이터 캐싱..
📅 Day.js란Day.js 라이브러리는 최신 브라우저에서 날짜와 시간에 대해 구문 분석, 유효성 검사, 조작, 출력과 같은 기능을 간편하게 처리하는 2KB의 아주 가벼운 자바스크립트 라이브러리입니다.- 공식 깃허브 설명(한국어)날짜 및 시간(이하 날짜)을 다루는 라이브러리에는 'moment.js'도 존재합니다.day.js보다 훨씬 많은 날짜 연산을 지원하지만, 235KB이라는 큰 용량과 사용되는 연산보다 그렇지 않은 연산이 더 많다는 문제점이 있습니다.(큰 용량의 단점: 다운로드 시간! 네트워크 비용! 렌더링 시간! 모두 증가) 따라서 공식 문서에서도 moment.js을 대체할 수 있는 라이브러리를 소개하고 있고, 그중 하나가 바로 day.js입니다.현재 공식적으로 moment.js는 더이상 업데이트..
· Frontend
🔐 OAuth(Open Authorization)OAuth(open authorizaiton)란 우리말로 '개방형 접근 권한 표준'라고 하며,민감한 정보는 제공하지 않으면서 제3자의 보호된 리소스에 접근할 수 있게 해주는 프로토콜입니다.다양한 플랫폼에 저장된 사용자의 데이터에 접근하기 위해, 현재 사용자가 접속한 사이트가 다른 플랫폼이 가지고 있는 접근 권한을 위임받는 것입니다. 🔐 OIDC(OpenID Connection)OIDC(openID connection)란 단순히 접근 권한을 넘겨받는 것에서 더 나아가 인증까지 한번에 하고 싶은 경우에 사용하는 프로토콜입니다.앞서 살펴본 OAuth(인가)에 + 인증이 더해진 개념으로, OAuth 2.0 프로토콜을 기반으로 상위 계층에서 편리하게 인증을 수행..
emmaOH!
개발자구역