본문 바로가기
관리자

분류 전체보기

(997)
4. graphQL 서버 기본 작성법 : schema, resolver 목표 기본적인 graphql 서버 작성법과 동작과정을 학습해본다. 구성 아래 그림과 같이 graphql 폴더에 resolver.js와 schema.graphql 파일을 작성하였다. schema.graphql 파일 여기서는 DB를 작성하는 것처럼 데이터의 항목과 종류를 정의한다. type : Query 문으로 모든 query가 집중되고, 각 데이터를 각각의 type에서 뽑아내는 형식으로 이해했다. 아래의 사진에서 보면, type Query 아래에 person : Person! 으로 정의된 것을 볼 수 있다. 이것은 query문으로 person 객체에 대한 요청이 오면, type Person에 대한 내용을 전달해준다는 의미를 갖는다. 데이터 항목의 각 값에 형식이 정해져있고, '!' 표시가 있는 것을 볼 수..
3. 초기 세팅 1 : ES6 코드 적용을 위한 babel-node 설치 개요 import 와 같은 ES6 이상의 문법으로 서버 코드를 작성하기 위해서 자바스크립트 Transpiler인 babel 을 설치한다. 코드 1. 아래와 같은 명령어를 순차적으로 입력한다. npm i nodemon -D npm i @babel/cli -D npm i @babel/core -D npm i @babel/node -D npm i @babel/preset-env -D i : install의 약어, -D : --save-dev의 약어 2. ".babelrc" 파일을 만들고, 아래 설정값을 넣어준다. { "presets": ["@babel/preset-env"] } 3. 아래와 같이 graphQL 초기 세팅을 해준다. nodejs에 비해서 엄청 간단하다. 4. 만약 Error : No schema..
Daily Report Challenge - 20/12/21~20/12/27, 183일차 보호되어 있는 글입니다.
Prm 3 : Subset isSubsetOf 문제 두 개의 배열(base, sample)을 입력받아 sample이 base의 부분집합인지 여부를 리턴해야 합니다. 입력 인자 1 : base number 타입을 요소로 갖는 임의의 배열 (base.length false base = [10, 99, 123, 7]; sample = [11, 100, 99, 123]; output = isSubsetOf(base, sample); console.log(output); // --> false Advanced 시간 복잡도를 개선하여, Advanced 테스트 케이스(base, sample의 길이가 70,000 이상)를 통과해 보세요. 풀이 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 ..
Prm 2 : fibonacci fibonacci 문제 아래와 같이 정의된 피보나치 수열 중 n번째 항의 수를 리턴해야 합니다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1입니다. 그 다음 2번째 피보나치 수부터는 바로 직전의 두 피보나치 수의 합으로 정의합니다. 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, ... 입력 인자 1 : n number 타입의 n (n은 0 이상의 정수) 출력 number 타입을 리턴해야합니다. 주의사항 재귀함수를 이용해 구현해야 합니다. 반복문(for, while) 사용은 금지됩니다. 함수 fibonacci가 반드시 재귀함수일 필요는 없습니다. 입출력 예시 let output = fibonacci(0); console.log(output); // --> 0 output = ..
2. graphQL, graphql-yoga 시작 설치 1. 당연히 git부터 삽입! 깃헙 repo 하나 만들기. Readme는 포함되는게 좋음 git init (repo 주소 입력, gitignore에 ) git remote add "깃허브 레포 주소" .gitignore 파일에 넣어줘야하는 리스트 ( 참조 1) 파일 형식은 (참조 2) .env* dist package-lock.json node_modules/ .idea *.log .graphcoolrc **/.DS_Store git branch -M master (main으로 해도 됨. master branch의 이름을 뭘로 할거냐 결정) git add . git commit -m "남길 메시지. first commit" git push origin master git pull origin mas..
1. graphQL 의 목적 장점GraphQL은 기존 REST API에 비해 유리한 점이 2가지 있다. 1. 원하는 정보만 받아올 수 있으므로 통신에 드는 비용이 절감된다.2. REST API에서는 클라이언트-서버간 통신이 2번 이상 필요할 수 있는데, GraphQL은 한번에 가능하다. 예를 들어 student의 studentID값만 받아오고 싶은데, REST API에서는 GET 신호로 특정 엔드포인트에 요청을 보내면, studentID 값뿐만 아니라 student에 관련된 모든 정보를 서버에서 클라이언트로 전달하도록 서버코드가 작성되어 있을 수 있다.(이런걸 over-fetching 이라고 한다.)하지만 graphQL 에서는 studentID값만 요청하고, 받아옴으로써 비용 절감이 가능하다. 그리고 종종 서버에 어떤 정보를 요청하..
Prm 1 : permutation rockPaperScissors 문제 가위바위보 게임은 2인 이상의 사람이 동시에 '가위, 바위, 보'를 외치고 동시에 가위, 바위 또는 보 중에서 한 가지를 의미하는 손 모양을 내밀어 승부를 결정짓는 게임이다. 세 판의 가위바위보 게임을 할 경우, 한 사람은 세 번의 선택(예. 가위, 가위, 보)을 할 수 있습니다. 세 번의 선택으로 가능한 모든 경우의 수를 구하는 함수를 작성합니다. 입력 없음 출력 2차원 배열(arr[i])을 리턴해야 합니다. arr[i]는 전체 경우의 수 중 한 가지 경우(총 세 번의 선택)를 의미하는 배열입니다. arr[i]는 'rock', 'paper', 'scissors' 중 한 가지 이상을 요소로 갖는 배열입니다. arr[i].length는 3입니다. 주의사항 최종적으로 리..