조건문
function temperature(num){
if( num <= 18 ) {
console.log("조금 춥네요.");
} else if( num <= 23 ) {
console.log("날씨가 좋네요.");
} else {
console.log("조금 덥습니다.");
}
}
function days(month) {
if(
month === 1
|| month === 3
|| month === 5
|| month === 7
|| month === 8
|| month === 10
|| month === 12
) {
return 31;
} else if( month === 2 ) {
return 28;
} else if(
month === 4
|| month === 6
|| month === 9
|| month === 11
) {
return 30;
}
}
// 1월 : 31일
// 2월 : 28일
// 3월 : 31일
// 4월 : 30일
// 5월 : 31일
// 6월 : 30일
// 7월 : 31일
// 8월 : 31일
// 9월 : 30일
// 10월 : 31일
// 11월 : 30일
// 12월 : 31일
HTTP란 HyperText Transfer Protocol의 약자로 두 컴퓨터간에 텍스트 데이터를 주고 받는 길
HTTP 요청(Request)
웹브라우저에서 홈페이지(Front-end 컴퓨터)가 실행중이라면
작성한 게시물 텍스트 데이터를 HTTP를 통해 Back-end 컴퓨터로 보내고 , Back-end 컴퓨터에게 이 데이터를 데이터베이스에 저장 해달라고 요청
=> 프론트엔드가 백엔드로 요청
HTTP 응답(Response)
Back-end 컴퓨터가 성공, 실패 등 처리 결과를 응답
상태 코드
Back-end 컴퓨터는 응답할 때, HTTP 상태 코드 라는 것도 함께 보내줌
HTTP 상태 코드는 100~ 599까지의 숫자로 구성되어 있음
i.e) 성공(200), Front-end 에러(400), Back-end 에러(500)
HTTP 요청을 Back-end 컴퓨터에 보냈을 때 실행되는 Back-end 기능 => 즉, 함수
가장 많이 사용 / 좁은 의미로 HTTP를 통해 CRUD를 실행하는 API
REpresentational State Transfer
API 이름이 마치 홈페이지 주소
i.e) https://www.naver.com/board/1, https://www.naver.com/profile/철수
모든 Resource (자료, User, …) 들을 하나의 Endpoint 에 연결
응답 결과 => 모든 결과
HTTP Method(post,get,put,delete)를 통해 해당자원에 대한 CRUD Operation을 적용하는 것을 의미
요청담당자(Front-end에서 설치하는 라이브러리)는 axios
// REST API는 그 형식(주소) 만으로 대략 무슨 요청인지 알 수 있음
글 관련 API = /posts
글 작성 = POST /posts
글 수정 = PATCH /posts/[postid]
글 삭제 = DELETE /posts/[postid]
댓글 관련 API = /posts/[postid]/comments
댓글 작성 = POST /posts/[postid]/comments
댓글 수정 = PATCH /posts/[postid]/comments/[commentid]
댓글 삭제 = DELETE /posts/[postid]/comments/[commentid]
RESTful
RESTful는 REST를 REST답게 쓰기 위한 방법으로 누군가가 공식적으로 발표한 것이 아니라 여러 개발자들이 비공식적으로 의견을 제시한 것
조건을 만족하는 API를 RESTful API => 해당 방식으로 작성하는 것을 RESTful 하다고 함
i.e) 슬래시를 통해 계층관계를 표시, 숫자는 id를 나타냄
브라우저, Node.js를 위한 Promise API를 활용하는 HTTP 비동기 통신 라이브러리
API 개발을 보다 빠르고 쉽게 구현 할 수 있도록 도와주며, 개발된 API를 테스트하여 문서화 또는 공유 할 수 있도록 도와 주는 플랫폼
프론트엔드가 사용
Swagger
Rest-API를 위한 설명서
다른 개발팀과 협업을 진행할 때
이미 구축되어있는 프로젝트에 대한 유지보수를 진행할 때
백엔드의 API를 호출하는 프론트엔드 프로그램을 제작할 떄
Node에서 쉽게 웹 서버를 개발할 수 있도록 도와주는 프레임워크(nodeJS를 사용한 REST 서버를 편리하게 구현하게 해주는 프레임워크)
- Apollo란?
Apollo는 GraphQL을 사용할 수 있도록 도와주는 라이브러리
기존에 Node.js에서 사용하는Express
와 역할이 비슷
ApolloServer : GraphQL이 적용된 서버를 쉽게 만들어줌
ApolloClient : GraphQL을 통해, 클라이언트상의 LocalState를 이용할 수 있게 만들어줌
**CRUD란?
CRUD는 대부분의 컴퓨터 소프트웨어가 가지는 기본적인 데이터 처리 기능인 Create(생성), Read(읽기), Update(갱신), Delete(삭제)를 묶어서 일컫는 말. 사용자 인터페이스가 갖추어야 할 기능(정보의 참조/검색/갱신)을 가리키는 용어로서도 사용
> API 요청 결과 타입(JSON) => 문자열
Javascript Object Notation
{
작성자: "훈이",
제목: "좋은 아침입니다"
}
GraphQL-API를 위한 설명서
선택 : GraphQL or RESTful API
RESTful
HTTP 와 HTTPs 에 의한 캐싱(Caching)을 사용하고 싶을 때
File 전송 등 단순한 Text 로 처리되지 않는 요청들이 있을 때
요청의 구조가 명확하게 정해져 있을 때 즉, 요구사항 변동이 거의 없을 때
GraphQL
서로 다른 모양의 다양한 요청들에 대해 응답할 수 있어야 할 때
대부분의 요청이 CRUD에 해당할 때
시작 라인
헤더
시작 라인
헤더
잘 모를 때에는 DOCS를 확인하여 문법 체크
300번 게시글의 내용과 작성일이 무엇인가요?(내용과 작성일만 조회해 주세요.)
본인의 이름으로 게시글을 작성해 보세요.
자신의 프로필을 조회해 보세요.
- 각주 처리는 '#'
본인의 프로필에서, 학교를 자신이 졸업한 초등학교로 바꿔보세요.
- mutation으로 생성하거나 수정, 삭제할 때 message 만 반환되게 출력함