프론트엔드 6

1. useQuery

React Query의 공식문서 및 리액트 네이티브를 다루는 기술의 주요 내용을 정리한 글입니다. 목차 useQuery란 쿼리는 비동기 요청 데이터에 대한 고유 키(Unique key)입니다. 보통 GET 요청에 사용되고, POST와 같이 서버의 데이터에 수정이 필요한 경우엔 Mutation을 사용합니다. useQuery 기본 구조 캐시 키를 사용해 데이터를 캐시합니다. 한번 데이터를 받아온 뒤, 나중에 동일 요청시 데이터가 이미 존재시 기존에 있던 데이터를 바로 보여줍니다. 이때, 캐시 설정에 따라 데이터를 새로 불러오기도 합니다. // useQuery 구조 useQuery(캐시 키, 프라미스 반환 함수, 캐싱option?) useQuery Hook 반환 값 - status : API 요청 상태를 문자..

개발/React-Query 2022.02.17

0. React Query 시작하기

React Query의 공식문서의 주요 내용을 정리한 글입니다. React Query란 리액트 쿼리는 리액트 웹앱에서 서버의 상태(state)를 가져오기(fetching), 캐싱(caching), 동기화(synchronizing), 업데이트(updating)를 수행합니다. React Query 개발 동기 일반적으로 리액트 어플리케이션은 컴포넌트로부터의 데이터 가져오기 혹은 업데이트하는 방식을 제공하지 않습니다. 그래서 개발자들은 제각각 데이터를 자기만의 방식으로 가져오고 업데이트 합니다. (Promise와 async&await로 처리하거나 전역 상태관리 라이브러리를 사용해 비동기 다루는 방식) 이때 아래와 같은다양한 이유로 어플리케이션과 서버간의 관계와 실시간 상태를 관리하는게 어렵습니다. 서버에서 데이..

개발/React-Query 2022.02.17

자바스크립트 기본 개념 QnA (feat. 면접 뽀개기)

목차 자바스크립트에서 스레드에 대해 아는데로 말해주세요. 자바스크립트는 싱글 쓰레드 기반으로 동작하는 언어입니다. 그리고 비동기 처리를 위한 이벤트 루프 기반으로 작동합니다. 자바스크립트에는 싱글 스레드 방식으로 함수를 처리하는 콜 스택이 있고, 들어온 비동기 코드들은 Web API 로 인해 콜백 큐로 이동해 대기하고 있다가, 실행 순서가 되면 메인 콜 스택으로 불러와 실행됩니다. 그리고 이 과정이 이벤트 루프에 의해 이루어집니다. 이런 과정을 통해 비동기 코드를 처리해 동시에 코드가 돌아가는것처럼 실행됩니다. 추가) - 멀티 쓰레드 방식으로 작동한다면 동시성 문제를 해결해야하고, 이를 위한 복잡한 시나리오들을 신경써야 합니다. 일급 객체의 개념을 자바스크립트와 관련지어 말해주세요. 아래 3가지 조건을 ..

리액트 기본 개념 QnA. 2탄 (feat. 면접 뽀개기)

children prop이란 무엇인가요? 커스텀 컴포넌트 태그 사이에 삽입되는 태그들을 해당 커스텀 컴포넌트 태그에서 children이라는 prop으로 받아서 사용할 수 있습니다. 만약 이를 타입스크립트와 같이 사용한다면 React.ReactNode 라는 타입으로 선언해 사용하면 됩니다. function App() { return ( This is Title Hello World! ) } // === function CustomTag({children}) { // children에서 위 기준 h1, p 태그를 담고 있습니다. return (...) } 클래스 컴포넌트의 super constructor가 존재하는 이유가 무엇일까요? super는 부모 클래스 생성자를 참조한다는 것을 의미하기에 자바스크립트 ..

리액트 기본 개념 QnA. 1탄 (feat. 면접 뽀개기)

목차 리액트 면접 대비용으로 QnA 형태로 주요 개념을 나열한 글입니다. React란 무엇일까요? 리액트는 페이스북이 만든 자바스크립트 라이브러리입니다. 주로, 사용자 View 영역을 만들기 위해 사용됩니다. 리액트는 라이브러리인가 프레임워크인가? 우선, 라이브러리와 프레임워크의 주요 차이점은 앱의 흐름 제어권을 누가 가지고 있는지에 따라 나누어집니다. 라이브러리는 내가 주도성을 가지고 가져와 호출해 사용하는 개념이고, 프레임워크는 자체적으로 주도성을 가지고 있고, 내가 거기에 들어가서 사용하고 호출하는 개념입니다. 리액트는 UI 렌더링에만 관심을 가지고 있고 그 외 동작 (라우터, 상태 관리, 빌드, 테스트 등)들을 수행하기 위해서 다른 기술 스택들을 사용해야 한다는 관점에서 보면 리액트도 결국 뷰 관..

개발 블로그 여정 (feat. 개발자로서의 내 이야기)

목차 서론 티스토리 블로그를 새로 시작하게 된 기념으로, 19년 초부터 시도해본 블로그들의 이야기를 기반으로 내가 무엇을 경험했고, 어떤 성장을 경험했는지 위주로 작성해보고자 한다. 티스토리 기록 블로그 (19.03 ~ 19.12) 군대 전역 후, 복학을 하며 처음으로 블로그를 시작했다. '차얀의 프로그래밍 노트'라는 이름으로 시작했었는데, 대부분의 내용이 대학교 전공 과정에서 배운 것을 정리해두고 보기 위한 목적으로 시작했었다. 단순 요약의 목적으로 시작한 첫 블로그였기에, 지금 보면 내용 측면에서나, 가시성 측면에서나 많이 부족함이 있다. (내 글솜씨가 하찮은 것도 한몫했다) 그래도, 이 블로그는 내게 정량적인 성장과 함께 수상의 경험을 남겨주었기에 아직도 기억에 많이 남는 블로그로 남아있다. 전공 ..

회고 2021.12.09