동기방식 : 결과가 나올 때까지 대기를 하며 기다려야한다.
ex)게시글 등록요청시
게시글등록 -> 게시글등록완료 -> 게시글 불러오기
비동기방식 : 결과가 주어지는데 시간이 걸리더라도 그 시간 동안 다른 작업을 할 수 있으므로 자원을 효율적으로 사용할 수 있는 장점이 있다. 병렬적 사용가능
동시에 여러 일을 할때 사용한다.
ex) 게임다운받으면서 카톡하기 (=비동기)
서버 컴퓨터가 작업이 끝날때까지 기다리지 않는 통신
서버에 요청(등록, 수정, 삭제등) 저장이 될때까지 기다리지 않고 다른 작업 진행
javascript는 싱글스레드로 프로그램이 작동한다. 즉 동기방식이다.
그러나 node js로 작업을 하거나 axios 같은 라이브러리를 사용시 비동기 방식으로 작업이 가능하다.
promise-약속으로 서버에서 받아온 데이터를 화면에 표시할때 사용된다.
비동기를 동기로 바꿔주는 명령어 async/await
import axios from "axios"
//비동기 통신
function fetchPost() {
const result = axios.get('https://koreanjson.com/posts/1')
console.log(result) // promise { <pending> }
}
//동기 통신
async function fetchPost2() {
const result = await axios.get('https://koreanjson.com/posts/1')
console.log(result.data) // 실제 데이터
}

간단하게 보내는 방법
1. axios.post("URL/sms/v3.0/appKeys/{appKey}/sender/sms") 로 작성한다.
2. body(내용), sendNo(보내는 사람번호),internationalRecipientNo(받는 사람번호)는 객체로 꼭 작성해야 한다.
3. 헤더에는 nhn cloud계정의 시크릿 키와 내용의 타입을 결정해주어야한다.
여러가지 기능들은 nhn cloud docs를 따라하면 된다.
개인정보나 github에 올라가면 안되는 내용들을 관리하는 방법
github에 올라가면안되는 정보들은 .env파일을 만들어 준 뒤 관리한다.
yarn add dotenv 를 한 후 내용들(secretkey, appkey등등)을 적고 .gitignore에 .env를 적는다.
.env 파일은 문자열 파일이다.