오늘 배울 내용!
PG사(결제대행업체) - NICEPAY, KG이니시스 등등
카드사 - 신한카드, 국민카드 등등
결제솔루션 - 아임포트(i'mport) 등등
ㄴ 결제요청을 하기 위한 API를 대신 만들어 주는 회사
결제승인 과정
1. 브라우저에서 요청 -> PG사(결제요청) -> 카드사(결제)
2. 브라우저 -> 백엔드 -> DB
3. PPT -> PG사 -> 카드사 : 심사완료 시 실결제 가능!
결제승인 주의사항
결제승인 일정: 기능구현 + 3주일(물리적으로!PG사 1주 + 카드사 2주)
!!중요
세계표준시간: UTC
전세계 서비스를 만들고 싶다면? UTC를써야한다. 어떠한 나라에서 어떠한 데이터를 저장하면 그 저장한 시간을 UTC로 저장해놓고 다른 나라에서 그걸 보이게 될 땐 그 나라브라우저에서 그 나라시간에 맞게 변환해서 보여주게 하면 된다.--> 굉장히 복잡해진다.
날짜 관련 라이브러리가 있다. momentjs!!
event를 만드는 방법
1.직접 버튼 등을 클릭해서 함수를 실행하는 방법
2.나는 가만히 있는데 특정시간에 자동으로 함수가 실행되는 방법(크론탭 사용!)
크론탭 - 맥, 우분투 같은 리눅스계열에 내장되어있는 기능
매월 15일 자동결제 기능
setTimeout의 원리
callStack은 처음 들어온 것이 가장 늦게 빠져나간다.
근데 setTimeout or axios등등 기다려야되는 함수가 들어오면 잠깐 빼서 거기서 실행을 한다.
만약 setTimeout에 3초를 적어놓으면 3초뒤에 TaskQueue라는 곳에 들어간다.
callStack에 들어간 것들이 끝나면 TaskQueue에 있던 것들이 callStack에 들어가서 함수가 실행이 된다.
그래서 함수안에 setTimeout을 쓰면 이런식으로 나온다.
.
함수를 빼주고 넣어주고 하도록 도와주는 도구를 (싱글 이벤트 루프)쓰레드라고한다.
멀티쓰레드: 일을 동시에 하는 것처럼 한다. 실제론 여러가지일을 조금하고 넘어가고 조금하고 넘어가고 이런 식으로 돌아간다.
조금한 걸 저장하고 넘어가고 저장하고 넘어가고. 그걸 문맥전환(Context-Switching)이라고하고 비효율적이다.
쓰레드