Web
[Carrot Market] #9 - Authentication - 2
Twilio Setup 우선 twilio를 들어가기 전에 코드를 리팩토링 좀 하고 들어가겠습니다. /pages/api/enter.tsx import client from "@libs/client/client"; import withHandler, { ResponseType, } from "@libs/server/withHandler"; // prettier-ignore import type { NextApiRequest, NextApiResponse, NextApiHandler } from "next"; interface reqDataType { email?: string; phone?: string; } const handler: NextApiHandler = async ( req: NextApiReq..
[Carrot Market] #9 - Authentication - 1
Accounts Logic 이제 본격적으로 로그인 form을 위한 로그인 api를 만들어 보도록 하겠습니다. 앞서 정리한 내용을 한번 서술해 보도록 하겠습니다. enter page에서 저희는 useMutation hook을 작성해서 fetch api로 데이타를 쉽게 보낼 수 있게 포장했습니다. 그리고 useMutation의 반환 값으로는 이를 실행할 수 있는 함수를 주어주었고, 각종 loading, data, error즉 api의 요청의 결과와 작동과정과 관련된 데이터를 반환하게 했습니다. 그리고 저희는 /page/api/enter에서는 withHandler(HOF)를 반환하게 하여, api가 작동하게 했습니다. 자 여기부터 이제는 prisma client를 반환하게 하여서, 유저의 form에 따른 da..
Typescript Practice - Block Chain Project -implements
Definitely Types Definitely Typed는 타입스크립트의 가장 큰 장점 중 하나입니다. 커뮤니티는 효과적으로 자바스크립트 프로젝트의 거의 90%가 자연스럽게 진행되고 문서화되었습니다. @types 사용 npm을 이용해서 꽤 간단하게 설치가 가능합니다. 예를 들어 jquery에 대한 타입 정의를 다음과 같이 간단히 할 수 있습니다. npm i @types/jquery --save-dev @types는 전역과 모듈 타입 정의를 모두 지원합니다. 기본적으로 전역 소비를 지원하는 모든 정의가 자동으로 포함됩니다. 예: jquery의 경우 프로젝트 전역에서 $를 사용할 수 있어야 합니다. 그러나 jquery와 같은 라이브러리의 경우 일반적으로 모듈로 사용하는 걸 추천합..
Typescript Practice - Block Chain Project - Basic
tsconfig - lib 기본 설정은 끝냈다 가정하고, tsconfig.json의 속성중 몇가지에 대해 알아보도록 하겠습니다. 우선 "lib"입니다. 보통 설치한 타입스크립트 모듈에 lib파일들이 있습니다. 예를 들어, npm install -g typescript를 하게 되면, /usr/local/lib/node_modules/typescript에 설치가 됩니다. 다음과 같이 ECMAScript 규격에 정의된 자바스크립트 객체들에 대한 인터페이스들이 정의되어 있는 것을 보실 수 있습니다. ~~/lib.dom.d.ts prepend(...nodes: (Node | string)[]): void; /** Returns the first element that is a descendant of node t..