220110_TIL#1
- Node.js 는 Javascript의 실행 도구
- Javascript(Node.js) 라이브러리 => npm (npmjs.com) : node package module(manager)
- GUI(Graphic User Interface) : 마우스 이용..?
- CLI(Command-Line Interface) : 명령어 이용
- CLI에서 현재 위치가 궁금할땐 pwd(print working directory) 입력
- Node로 실행 : node index.js
- // 6자리 인증번호 발급
function getToken() {
const result = String(Math.floor(Math.random() * 1000000)).padStart(6, "0")
console.log(result)
}
getToken()
- Return = 결과 반환 및 함수 종료
- 실무
- 재사용성 고려
- 안전성 고려
- 하나의 함수엔 하나의 기능
- 실무적 코드로의 변환 예시
// n자리 인증번호 발급
function getToken(mycount) {
const result = String(Math.floor(Math.random() * 10**(mycount))).padStart(mycount, "0")
console.log(result)
}
getToken(4)
- 안정성을 추가한 코드 예시
// n자리 인증번호 발급
function getToken(mycount) {
if(mycount === undefined){
console.log('ERROR!! 갯수를 확인하고 입력해 주세요!!')
return
} else if(mycount <= 0){
console('ERROR!! 갯수가 너무 적습니다!!')
} else if(mycount > 10){
console.log('ERROR!! 갯수가 너무 많습니다!!')
return
}
const result = String(Math.floor(Math.random() * 10**(mycount))).padStart(mycount, "0")
console.log(result)
}
getToken(6)
- API : 프론트에서 버튼을 눌렀을 때 실행되는 함수
- API 예시
// API 만들기 ------------------------------------------------------------------------------------
function createTokenOfPhone(myphone) {
// 1. 휴대폰번호 자릿수 맞는지 확인
if(myphone.length !== 10 && myphone.length !== 11) {
console.log('ERROR!! 핸드폰 번호를 제대로 입력해 주세요!!')
return
}
// 2. 휴대폰 토큰 6자리 만들기
const mycount = 6
if(mycount === undefined){
console.log('ERROR!! 갯수를 확인하고 입력해 주세요!!')
return
} else if(mycount <= 0){
console('ERROR!! 갯수가 너무 적습니다!!')
} else if(mycount > 10){
console.log('ERROR!! 갯수가 너무 많습니다!!')
return
}
const result = String(Math.floor(Math.random() * 10**(mycount))).padStart(mycount, "0")
// 3. 휴대폰번호로 Token 전송
console.log(myphone + "번호로 인증번호" + result + "를 전송합니다!")
}
// -------------------------------------------------------------------------------------------
// API 실행하기
createTokenOfPhone("01012345678")
리턴 값
//01012345678번호로 인증번호536611를 전송합니다!
-
리팩토링 : 효율적이고 구조화 시켜서 코드를 다시 만든다
-
퍼사드패턴(Facade Pattern) 예시
// 1. 휴대폰번호 자릿수 맞는지 확인 function checkValidationPhone(myphone) { if(myphone.length !== 10 && myphone.length !== 11) { console.log('ERROR!! 핸드폰 번호를 제대로 입력해 주세요!!') return false } else { return true } } // 2. 휴대폰 토큰 6자리 만들기 function getToken(mycount) { if(mycount === undefined){ console.log('ERROR!! 갯수를 확인하고 입력해 주세요!!') return } else if(mycount <= 0){ console('ERROR!! 갯수가 너무 적습니다!!') } else if(mycount > 10){ console.log('ERROR!! 갯수가 너무 많습니다!!') return } const result = String(Math.floor(Math.random() * 10**(mycount))).padStart(mycount, "0") return result } // 3. 휴대폰번호로 Token 전송 function sendTokenToSMS(fff,ggg) { console.log(fff + "번호로 인증번호" + ggg + "를 전송합니다!") } // API 퍼사드패턴으로 리팩토링 ------------------------------------------------------------------- function createTokenOfPhone(myphone) { // 1. 휴대폰번호 자릿수 맞는지 확인 const isValid = checkValidationPhone(myphone) if(isValid){ // 2. 휴대폰 토큰 6자리 만들기 const mytoken = getToken(4) // 3. 휴대폰번호로 Token 전송 sendTokenToSMS(myphone, mytoken) } } // API 실행하기 createTokenOfPhone("01012345678") // 리턴 값 01012345678번호로 인증번호8968를 전송합니다!
-
Import & Export
API 함수가 있는 파일과 실행 파일을 나누어 Import와 Export를 각각 추가하여 API 관리
Author And Source
이 문제에 관하여(220110_TIL#1), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@choorok1209/220110TIL1저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)