20220110 TIL

한결·2022년 1월 10일
0

TIL(Today I Learned)

목록 보기
1/14

백엔드 nodejs 첫날

API 만드는 과정을 배웠다.
흥미로웠는데 가면 갈수록 와 쉽지 않겠다 첫날이 이래? 가 됐다.
자소서에 썼던 rest api 뜻도 모르고 설명하고 다녔는데 이제 조금? 알것같기도..
제대로 알게되고 만들수도 있게되는 그날까지 ,,,★

핸드폰 인증받을 때 인증번호 보내는 함수

function getToken(){
    const result = String(Math.floor(Math.random()*100000)).padStart(6,'0')
    console.log(result)
}
getToken()

가 있을때

안정성을 높이기 위해

function getToken(mycount){
>     if (mycount ===undefined) {
        console.log("에러 발생 !")
        return
    } else if(mycount<=0){
        console.log("에러 발생 ! 1 이상의 수를 입력해 주세요")
        return
    } else if(mycount>10){
        console.log("에러 발생 ! 10 이하의 수를 입력해 주세요")
        return
    }
>     const result = String(Math.floor(Math.random()*10**(mycount))).padStart(mycount,'0')
    console.log(result)
}
> getToken(5)

조건을 걸어주고

function createTokenOfPhone(myphone){
    // 1. 핸드폰 번호 자릿수 확인
    if(myphone.length !== 10 && myphone.length !== 11){
        console.log("에러 발생 ! 핸드폰 번호를 제대로 입력해 주세요")
        return
    }
>     // 2. 핸드폰 토큰 6자리 만들기
    const mycount = 6
    if (mycount ===undefined) {
        console.log("에러 발생 !")
        return
    } else if(mycount<=0){
        console.log("에러 발생 ! 1 이상의 수를 입력해 주세요")
        return
    } else if(mycount>10){
        console.log("에러 발생 ! 10 이하의 수를 입력해 주세요")
        return
    }
>     const result = String(Math.floor(Math.random()*10**(mycount))).padStart(mycount,'0')        
    // 3. 핸드폰 번호에 도큰 전송하기
    console.log(myphone + "번호로 인증번호" + result + "를 전송합니다")
}

함수를 나눠준다

> createTokenOfPhone("01012345678")

실행은 함수에 인자를 받아서

함수를 기능별로 더 나눠서

function checkValidationPhone(myphone){
    if(myphone.length !== 10 && myphone.length !== 11){
        console.log("에러 발생 ! 핸드폰 번호를 제대로 입력해 주세요")
        return false
    }else {
        return true
    }
}

핸드폰 번호가 제대로 입력되지 않았을 경우의 함수,

function getToken(mycount){
    if (mycount ===undefined) {
        console.log("에러 발생 !")
        return
    } else if(mycount<=0){
        console.log("에러 발생 ! 1 이상의 수를 입력해 주세요")
        return
    } else if(mycount>10){
        console.log("에러 발생 ! 10 이하의 수를 입력해 주세요")
        return
    }
    const result = String(Math.floor(Math.random()*10**(mycount))).padStart(mycount,'0')
    return result
}

인증번호의 자릿수를 조절하는 인자를 받는 함수,

function sendTokenToSMS(a,b){
    console.log(a + "번호로 인증번호" + b + "를 전송합니다")
}

전송됐을 때, 콘솔에 찍히는 로그

function createTokenOfPhone(myphone){
    // 1. 핸드폰 번호 자릿수 확인
    const isValid = checkValidationPhone(myphone)
    if(isValid){
        // 2. 핸드폰 토큰 6자리 만들기
        const mytoken = getToken(4)            
        // 3. 핸드폰 번호에 도큰 전송하기
        sendTokenToSMS(myphone,mytoken)
    }
}

> createTokenOfPhone("01012345678")

모든 함수를 하나로 모은 API, 그리고 실행

파일로 나눈다면 API 파일에

import {checkValidationPhone, getToken, sendTokenToSMS} from './phone.js'

을 넣어주고
패키지 생성

{
  "name": "01-05-token-count-api-facade-import",
  "version": "1.0.0",
  "main": "index.js",
  "license": "MIT",
  "type" : "module",
  "scripts": {
    "start": "node index.js"
  }
}

0개의 댓글