본문 바로가기

개발 일기

(8)
[C++] 프래그래머스 위클리 챌린지 1주차 부족한 금액 계산하기 단순 반복문으로 풀기 #include using namespace std; long long solution(int price, int money, int count){ int answer = -1; int sum = 0; for(int i = 1; i
[Android Kotlin] Apollo 활용 GraphQL 클라이언트 어플리케이션 만들기 (1) 오늘은 안드로이드로 GraphQL 서버와 통신하는 어플리케이션을 만들어 보겠다. 먼저 GraphQL 서버가 구축 되어 있어야 한다. GraphQL 서버 만들기는 아래링크 참고하여 만들어보자. https://san9yun2.tistory.com/2 [GraphQL Server만들기 (1)] graphql-yoga로 환경 구축하기 오늘은 GraphQL 구조를 가지는 서버 만들어보자. 아.. 하기싫어죽게따.. 먼저 GraphQL이란 RestAPI 처럼 API Server를 구현하는 구조이다. 이름에서 알 수 있듯이 SQL처럼 Query언어이다. 클라이언트가 데이�� san9yun2.tistory.com GraphQL 서버를 만들었다면 안드로이드 프로젝트를 만들자. SDK 24버전 이상 되어야 한다고 한다. 프..
[OAuth2] API를 사용하기 위한 OAuth2 공부 (1) OAuth란? 내가 만든 Application에서 Google, Facebook, Firebase등의 공식적인 서비스(그들의 서비스)를 User에게 제공할때 사용자의 정보를 받아와야 하는데 이때 사용자가 우리 Application을 믿고 맡겨도 되게 하는 기술 어떻게 동작하는가? User가 우리의 서비스에 그들의 서비스를 요청할때 유저의 정보를 가지지 않고, 그들의 서비스가 우리 서비스를 이용하는 User에 대한 Access Token을 제공하여 그들의 서비스를 이용할 수 있도록 한다. -용어 정리 client - 우리 application resource server - 그들의 서비스 resource owner - user code - 1. Resource server 에 client 를 등록하면 se..
listen EADDRINUSE: address already in use :::4000 이 오류는 4000번 포트에 이미 프로세스가 점유하고 있을때 생기는 오류다. 이전에 비정상적으로 프로세스를 종료했거나 다른 프로세스가 실행되고 있으면 생긴다. 그래서 해당 포트에 돌아가고 있는 프로세스를 강제 종료하면 해결할 수 있다. 현재 4000번 포트에 실행되고 있는 프로세스의 목록을 보는 명령어는 다음과 같다. $ lsof -i TCP:4000 node 30138 가 프로세스를 사용하고 있다는 것을 확인할 수있다. 그럼 이 프로세스를 죽여보자 명령어는 다음과 같다. $ kill -9 30138(PID) (-9 옵션은 kill 커맨드 중 강제종료 옵션이다) 아무것도 안뜨면 정상 이제 다시 4000 포트에 실행시켜 보자.
[라즈베리파이 프로젝트] 라즈비안 설치하기 1. 라즈비안 OS 이미지 다운받기 Download Raspbian for Raspberry Pi Raspbian is the Foundation's official supported operating system. You can install it with NOOBS or download the image below. www.raspberrypi.org https://www.raspberrypi.org/downloads/raspbian/ 위 주소에서 요거 다운받으면 된다. 토렌트나 zip이나... 2. 메모리카드에 라즈비안 굽기 https://www.balena.io/etcher/ balena - The complete IoT fleet management platform Infrastructure a..
[GraphQL Server만들기 (3)] Schema, Resolver 구현 + 지난 포스팅에서 아주 기본적인 Query만 정의 했다면 오늘은 조금 그럴싸한 Query를 정의 해보자. 책을 찾고자 할 때 책 전체를 보고 싶을 때가 있고, 사용자가 원하는 단 한권의 책을 찾고 싶을 때가 있다. 먼저 책 전체를 찾고자 할때의 Query는 아래와 같다. Books를 입력하면 Book의 배열을 리턴한다는 뜻이다. 이때 가지고 있는 !의 의미는 null이 되면 안된다는 뜻이다. (화나서 책! 하는게 아니다) schema를 수정해주면 다음은 resolver를 수정해줘야 한다. schema에서 배열을 리턴한다고 정의 내렸으면 resolver에서도 배열을 보내준다고 얘기해야한다. 지난 포스팅에선 book을 하나만 정의 내렸다면 이번엔 Books 라는 아이를 만들어보자. 이 아이는 DB처럼 사용할거..
[GraphQL Server만들기 (2)] Schema, Resolver 구현 오늘은 graphql의 스키마(schema)에 대해 알아보자 스키마는 그냥 설명하는거다. 뭘 받을지 뭘 보낼지에 대한 설명을 작성하는거다. RESTAPI에서 데이터에 접근을 GET, POST, PUT, DELETE 등으로 한다면 GraphQL에서는 Query, Mutation, Subscription으로 한다. Query는 Select 와 비슷하다. 정보를 받아올때 어떤 정보를 받아올지 어떤 정보를 선택할지를 설명한다. Mutation은 데이터를 변경시킬때 사용한다. 생성, 수정, 삭제 등이 있다. Subscription은 web 소켓 사용할 때 쓰는거라고 하는데 일단 보류하고 넘어가자. 다음은 graphQL이 동작하는 구조이다. graphQL이 동작하기 위해선 Schema와 Resolver가 필요하다...
[GraphQL Server만들기 (1)] graphql-yoga로 환경 구축하기 오늘은 GraphQL 구조를 가지는 서버 만들어보자. 아.. 하기싫어죽게따.. 먼저 GraphQL이란 RestAPI 처럼 API Server를 구현하는 구조이다. 이름에서 알 수 있듯이 SQL처럼 Query언어이다. 클라이언트가 데이터를 graph 구조로 요청하면 그에 해당하는 데이터만 보내주는 형태이다. Graph 구조를 가져 RESTful에서의 Over Fetching, Under Fetching 문제를 보완하여 요청 수를 줄인다는 장점이 있다고 한다. 뭐 그렇다곤 하는데 사실 그만큼 많은 요청이 있을지는 모르겠다ㅎㅎ; 각설하고, 시작해보자. 먼저 나는 서버 장비로 라즈베리파이를 사용한다. OS는 raspbian이다. 라즈베리파이를 사용하는 특별한 이유는 없고 학교 지원금으로 구매했는데 아까워서 그냥..