본문 바로가기

분류 전체보기31

Apollo Apollo 란 ? GraphQL 의 클라이언트 라이브러리 중 하나로 GraphQL 을 사용한다면 필수적으로 사용하는 상태 관리 플랫폼 이다. React, Angular, Vue 를 동시에 지원한다. - 참고 https://hellominchan.tistory.com/227 [Apollo] Apollo란 무엇인가? [Apollo] Apollo란 무엇인가? (글쓴날 : 2020.04.24) * 이 글은 Apollo에 대한 단순 소개 글입니다. Apollo란? 1) Apollo 소개 Apollo란 GraphQL의 클라이언트 라이브러리 중 하나로 GraphQL을 사용한다면 거.. hellominchan.tistory.com 2021. 6. 18.
GraphQL GraphQL 이란? SQL 과 마찬가지로 쿼리 언어이다. GraphQL 의 구조 - 뮤테이션 (Mutation) 과 쿼리 (Query) 뮤테이션 (Mutation) : 데이터를 변조할때 사용한다. 쿼리 (Query) : 데이터를 읽을때 사용한다. 일반 쿼리와 오퍼레이션 네임 쿼리가 있다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 { human(id: "1000") { name height } } query HeroNameAndFriends($episode: Episode) { hero(episode: $episode) { name friends { name } } } Colored by Color Scripter cs 오퍼레이션 네임 쿼리를 사용하면 변수에 인자값을 넘겨서 사용할.. 2021. 6. 18.
인스타그램 클론코딩 BACKEND 만들기 #11 - Login 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 login: async (_, { username, password }) => { const user = await client.user.findFirst({ where: { username } }); if (!user) { return { ok: false, error: "User not found.", }; } const passwordOk = await bcrypt.compare(password, user.password); if (!passwordOk) { return { ok: false, error: "Incorrect password.", }; } const token = await jwt.sig.. 2021. 6. 17.
인스타그램 클론코딩 BACKEND 만들기 #10 - Create Account Check 01 - schema.prisma(prisma schema) 와 *.typeDefs.js(graphql schema) 의 sync를 맞춘다. schema.prisma 파일 1 2 3 4 5 6 7 8 9 10 model User { id Int @id @default(autoincrement()) firstName String lastName String? username String @unique email String @unique password String createdAt DateTime @default(now()) updatedAt DateTime @updatedAt } Colored by Color Scripter cs users.typeDefs.js 파일 1 2 3 4 5 6 7.. 2021. 6. 17.
인스타그램 클론코딩 BACKEND 만들기 #9 - Dotenv Dotenv 란? .env 를 읽기 위해서 dotenv를 설치해야한다. 설치법 npm i dotenv 사용법 1 2 3 4 5 6 7 8 9 require("dotenv").config(); const PORT = process.env.PORT; server .listen(PORT) .then(() => console.log(`🚀Server is running on http://localhost:${PORT} ✅`) ); Colored by Color Scripter cs env 파일을 읽어서 사용하고자하는 파일 첫번째 줄에 require('dotenv').config(); 추가한다. process.env.#### 로 환경변수 접근할수 있다. 2021. 6. 16.
인스타그램 클론코딩 BACKEND 만들기 #8 - graphql-tools 설치법 npm i graphql-tools 예제 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 import { loadFilesSync, makeExecutableSchema, mergeResolvers, mergeTypeDefs, } from "graphql-tools"; const loadedTypes = loadFilesSync(`${__dirname}/**/*.typeDefs.js`); const loadedResolvers = loadFilesSync( `${__dirname}/**/*.{queries,mutations}.js` ); const typeDefs = mergeTypeDefs(loadedTypes); const resolvers = mergeResolve.. 2021. 6. 16.