220801~220809_TIL

JUNHO YEOM·2022년 8월 1일
0

TIL

목록 보기
6/9

22.08.01_TIL

소셜 로그인이라는 것에 대해 배웠다.

구글, 카카오, 네이버같은 플렛폼에서 제공하는 api를 이용해서 로그인, 화원가입 기능을 처리 할 수 있었다.
아직 google을 이용한 소셜 로그인 구현하지 못했다. 나도 요즘 네이버, 카카오와 같은 소셜 로그인을 통한
간편 회원가입을 많이 사용해 왔지만, 실제로 웹에 적용해보니 고민해야 할것들이 많다는 것을 느꼈다.

필수적으로 받아야 할 정보는 어떤 것이고, 어떤것은 동의를 받고, 부족한 정보로 어떻게 회원 가입을 처리해야
할지등의 고민을 하게 되었다.

토큰 리프레시 방식을 적용하는 방법에 대하서 공부했다.
짧은 기간의 토큰을 하나 발행하고, 리프레시용 토큰을 발행하여, 로그인이 계속되게 하는 방법을 말한다. 하지만, 아직 토큰의 흐름에 대해서 정확히 이해되지 않아서 추가적인 공부를 해야할것 같다.


22.08.02_TIL

나는 오늘 카카오와 네이버 소셜 로그인을 나의 프로젝트에 적용했다.

네이버와 카카오의 개발자 페이지에 들어가서 나의 앱 만들기를 통해서 나의 페이지와 연동할 수 있었다.
네이버, 카카오 모두 passport를 이용했는데, npm의 다른 모듈과 달리 다운로드수가 현저히 적었다.
특히 네이버는 배포이후 5년이 지나있어서 관리되고 있지 않은 모듈인가 라는 생각이 들었다.
소셜 로그인을 진행하면서 페이지와 연동이 잘 되지 않았고, 많은 오류들도 겪었다.
하지만, 그와 동시에 다른 회사들에게서 만들어진 모듈들도 비슷한 형태를 가지고 있다는 것을 느꼈다.


22.08.03_TIL

오늘 Callback, Promise, AsyncAwait을 모두 살펴보면서 왜 AsyncAwait이 나오게 된것인지 배우는 시간을 가졌다.
Callback을 사용하면 콜백지옥,
Promise를 사용하면 콜백지옥은 해소할 수 있지만, 실행 순서가 보기 쉽지 않은것
그래서 이 모든 것을 해결하기 위해 AsyncAwait이 나오게 되었다는 것을 알고나니 더 깊이 이해하게 된 것 같았다.

코드캠프의 선배기수의 발표 작품을 보고, 리뷰하는 시간을 가졌다.
배포까지 진행된 결과물을 보고 있으니 대단하게도 느껴지고,
실제로 이용자들이 불편함 없이 사용하게 backend를 구현하는것이 얼마나 힘들고, 고려할게 많은지 다시한번더 생각해보게 되었다.


22.08.04_TIL

결제 시스템에 대해서 공부했다.

PG사 : API로 정보를 받아 카드사로 결제를 해준다. PG사마다 API를 직접 만들어야 하고, 회사를 바꾸게 되면 시스템을 다시 만들어야 해서 API를 제작하는 시간이 오래걸리며, 인적 자원도 많이 소모된다.

결제솔루션회사: PG사의 API를 모두 만들어놓고 쉽게 PG사와 연동할 수 있도록 도와준다.
모든 PG사와의 API가 구축되어 간단하게 솔루션 회사와의 API만 만들면 상대적으로 적은 시간을 가지고 빠르게 결제 시스템을 구축할 수 있다.

실제 테스트 환경을 구축해서 웹페이지에서 금액을 넣고, 결제하기 버튼을 누르면 내가 제작한 DB와 데이터가 연동하도록 만들어 봤다. 간단한 작업이라고 생각했지만, 보안이나, 많은 예외사항들을 하나도 처리해주지 않은 가장 기본적인 형태이기 때문에 실제로 적용할 수 있는 서비스가 되기에는 아직 많이 부족한것 같다.


22.08.05_TIL

테스트 결제가 가능한 API와 코드를 작성했다.
수업때 배웠던 아이엠포트의 API를 테스트용으로 연결하여 결제를 구현했다.
구매와 구매를 검증하는 코드를 작성했다.
내가 가지고 있는 결제 정보와 아이엠포트의 결제정보가 일치하는지 확인하고,
정보가 일치할때만 DB의 값을 업데이트해줬다.


22.08.06_TIL

결제 취소 로직을 구현했다.
결제와 결제 취소 하는 방법은 연관성이 많았다.
결제취소 요청이 들어오면 아이엠포트에서 정보를 검증하여 첫번째 시도에는 결제 취소를 진행하고,
두번째 취소 시도를 했을때는 오류를 반환하는 방식으로 중복된 결제 취소 요청이나,
DB의 데이터수정이 일어나지 않도록 했다.


0개의 댓글