GraphQL 서버의 사용자 인증/인가 (Apollo Server Authentication/Authorization)

서버 애플리케이션을 개발할 때 사용자 사용자 인증(authentication)과 인가(Authorization)는 데이터 보안을 위해서 매우 핵심적인 기능입니다.따라서 GraphQL API를 설계하거나, GraphQL 서버를 개발할 때도 사용자 인증/인가 부분에 대해서 여러가지 고려가 필요합니다.이번 포스트에서는 Apllo Server를 이용하여 Graph

GraphQL 서버의 오류 처리 (Apollo Server Error handling)

GraphQL 서버에서 클라이언트로 부터 요청받은 쿼리(Query)나 뮤테이션(Mutation)을 실행하다가 오류가 발생할 수 있습니다.이런 경우, GraphQL 서버에서 해당 오류에 대한 정보를 응답해줘야 클라이언트에서도 그에 상응하는 화면 처리를 할 수가 있을 것입니다. 이번 포스트에서는 Apollo Server로 개발된 GraphQL 서버에서 어떻게

React Hooks: useMemo 사용법

React Hooks 중 하나인 useMemo 함수를 왜/언제/어떻게 써야하는지 알아보겠습니다. MemoizationuseMemo 함수에 대해서 알아보기 전에 알고리즘 시간에 자주 나오는 메모이제이션(memoization) 개념에 대해서 잠깐 짚고 넘어가겠습니다.memoization이란 기존에 수행한 연산의 결과값을 어딘가에 저장해두고 동일한 입력이 들어오

[자바스크립트] Prettier로 코딩 스타일 통일하기

자바스크립트에서 최근 가장 인기를 얻고 있는 코드 포멧터인 Prettier에서 대해서 알아보겠습니다. 코딩 스타일자바스크립트와 같이 사용자층이 넓은 범용 프로그래밍 언어의 경우, 개발자들이 선호하는 코딩 스타일이 다양해지게 됩니다.예를 들어, 개발자 A는 문자열을 쌍따움표로 감싸줘야 한다고 주장하는 반면에, 개발자 B는 홑따옴표를 사용해야 된다고 주장합니

웹팩(Webpack) DefinePlugin, EnvironmentPlugin 사용법

웹팩에서 자주 사용되는 플러그인인 DefinePlugin과 EnvironmentPlugin에 대해서 알아보도록 하겠습니다. 관련 포스트웹팩에 대한 지식이나 경험이 전혀 없으신 분들을 아래 포스트를 먼저 읽어보시면 따라오시기가 좀 더 수월하실 겁니다. 웹팩(Webpack) 기본 사용법 (CLI) 웹팩(Webpack) 기본 설정법 (Entry/Output/L

[자바스크립트] ESLint로 소스 코드의 문제 찾기

최근에 가장 많이 쓰이는 자바스크립트 린터(linter)인 ESLint에서 대해서 알아보겠습니다. Lint? ESLint?프로그래밍에서 린트(lint)라는 개념이 생소한 분들을 위해서 lint가 무엇인지에 대해서 먼저 짚고 넘어가겠습니다.린트(lint)는 소스 코드에 문제가 있는지 탐색하는 작업을 의미하며, 린터(linter)는 이 작업을 도와주는 소프트웨

React Router로 사용자 인증하기 (로그인/로그아웃)

지난 두 개의 포스트에 걸쳐서 React Router를 이용해서 React 앱에서 라우팅을 하는 방법을 알아보았습니다. React Router로 라우팅 하기 React Router로 중첩 라우팅 하기 이번 포스트에서는 그 동안 배운 라우팅 방법을 기반으로 React 앱에서 어떻게 React Router를 이용해서 사용자 인증을 구현할 수 있는지 살펴보도

[GraphQL/React] Apollo Hooks로 React 앱 개발하기

지난 포스트에서는 Apollo Hooks라는 새로운 방법을 통해 React 앱에서 어떻게 GraphQL API를 호출할 수 있는지 간단히 살펴보았습니다.이번 포스트에서는 지난 포스트에서 다뤘던 useQuery() 함수 뿐만 아니라 useMuation() 함수까지 사용해서 간단한 노트(Note) 앱을 React로 작성해보도록 하겠습니다. Apollo Hoo

[GraphQL/React] Apollo Hooks 소개/사용법

지난 달, Apollo Client에서 공개되어 현재 뜨거운 반응을 얻고 있는 Apollo Hooks에 대해서 알아보겠습니다. Apollo Client가 생소하신 분들은 아래 포스트를 먼저 보시고 이 포스트로 돌아오시는 것을 추천드립니다. [GraphQL] Apollo Client 사용법 Apollo Hooks?Apollo Hooks는 Apollo

[GraphQL] 원격 서버로 부터 스키마 가져오기

지난 포스트에서 SchemaLink를 이용하여 서버 없이 클라이언트에서 GraphQL API를 호출하는 방법에 대해서 알아보았습니다.이번 포스트에서는 로컬에서 직접 스키마를 작성하지 않고 원격 서버로 부터 스키마를 가져오는 몇 가지 방법에 대해서 알아보겠습니다. 패키지 설치예제 프로젝트에서 필요한 GraphQL과 Apollo Client 관련 패키지를 설치