
[ TypeScript ] # 타입스크립트의 정의와 사용 이유 자바스크립트는 유연한 언어로 자유도가 높은 언어이다. 그러나 자유롭다는 것이 아주 좋은 뜻은 아니다. 어디로 튈지 모르는 초등학생처럼.. 웹 시장이 급격하게 발전하기 시작하면서 브라우저에 다양한 동작들이 필요하게 되었으며 더불어 자바스크립트를 통해 작성해야 하는 애플리케이션의 복잡도도 함께 올라가기 시작했다. 타입스크립트는 자바스크립트의 SuperSet이며, 기존의 자바스크립트에 추가적인 기능을 추가한 의미이다. ## 타입스크립트의 사용 이유 타입스크립트는 강타입 언어이며 동적 타입의 언어를 제한하도록 한다. 모든 변수를 선언하는 시점부터 해당 변수의 타입을 반드시 지정해주어야 하며 지정된 타입을 벗어날 수 없는 정적 타입이 특징이다. 브라우..

[ 2주 차 과제 피드백 ] 변수명 활용 - 특정 값의 레퍼런스로 변수로 활용할 수도 있지만, 값이 가리키는 값이 명확하게 드러나지 않을 경우 변수명을 통해서 명확히 의미부여를 해줄 수 있다. 다른 사람이 보았을 내 코드를 보았을 때 알아볼 수 있도록. 다음과 같이 보면 range[0] 이 무엇인지 알 수 있을까? const isInRange = (range, targetNumber) => { return targetNumber >= range[0] && targetNumber { const [miminumPrice, maximumPrice] = range; return targetNumber >= miminumPrice && targetNumber { return useQuery( ["products"..

정신없던 인턴십 Week 2 본 계획대로라면 2/27 - 3/3 2주 차 계획이 진행되었어야 했는데 강사님의 개인 사정으로 저번주는 휴강했습니다. 3월 6일부터 원티드 프론트엔드 3월 챌린지와 함께 병행하여 학습했으며 기업 과제와 예습/복습을 모두 수행하는 데에 정신없는 한 주였습니다. [ 커리어코칭 ] 우선 태니지먼트 검사를 통해 나라는 사람에 대해 알아보는 시간을 가질 수 있었습니다. 문제를 이해하고 나에 대해 고민하는 시간이 15초 이내에 답변하는 데에 어려움이 느꼈습니다. 일단 저라는 사람은 복잡한 일을 정리하여 체계화하는 강점을 가지고 있습니다. 생각해 보면 저는 프로젝트 또는 행동을 실행하기 전 무조건 계획을 세우고 실행하는 습관을 가지고 있습니다. 중요한 일과 중요하지 않은 일을 구분하고 우..

# SWR ## SWR vs Context API 회원가입/로그인 페이지에서 클라이언트에서 Axios를 통해 Request를 보내고 Response를 받아왔다. 그런데 회원가입/로그인을 한 정보를 어디서 관리해야 할까? 전역에서 사용해야 하기 때문에 리덕스와 같이 전역 상태 관리 도구를 사용해야 할 필요가 있다. Context API Context API는 React에서만 사용이 가능하다. Root에서 Provider를 제공하여 하위 컴포넌트들이 useContext를 통해 state 값에 접근할 수 있다. SWR 요청을 하고 데이터를 받아와 저장하는 방식 SWR API가 계속해서 호출되어 로그인 정보를 알 수 있었다. 그러나 사용자가 로그인을 성공하고 API가 재호출 되는 시기를 알 수 없기 때문에 SW..

# GraphQL API setup Apollo server (Node.js 서버와 비슷한 서버로 GraphQL specification을 구현하는 서버)를 사용해서 GraphQL API를 만들어보자. $ npm init -y $ npm install apollo-server graphql $ npm install nodemon -D ** nodemon은 옵션이며 필수로 설치할 필요는 없다. nodemon을 사용 시 자동 서버 재시작으로 바로바로 업데이트된다는 장점이 있다. ### package.json 설정 { "name": "tweetql", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "dev": "nodemon s..

# API란? API란, Application Programming Interface의 약자로, 운영체제와 응용프로그램 사이의 통신에서 사용되는 언어 또는 메시지 형식을 의미한다. 쉽게 말하자면 상호작용의 방법이다. 기본적으로 사용자에게 노출되어 있으며 이를 통해 상호작용이 가능하다. 예를 들어 리모컨과 같이 사용자가 버튼을 눌러 TV 전원을 켜고 끄는 작업을 수행할 수 있다. 이때 리모컨은 TV에 정의된 규격에 의해 어떤 신호를 보낼 수 있는 장치로 이러한 신호를 주고받기 위한 방법을 인터페이스라고 한다. # GraphQL이란? GraphQL이란 하나의 specification으로 REST API와는 다르게, 클라이언트가 필요로 하는 데이터의 정확한 양과 유형을 지정할 수 있도록 하는 쿼리 언어를 제공..