1️⃣ node.js : 자바스크립트 실행프로그램- 브라우저없이 실행 가능
2️⃣ npm, yarn 이 무엇이고 차이점은 무엇인지
다양한 자바스크립트 프로그램이 패키지라는 이름으로 **npm**에 등록되어 있고,
패키지가 다른 패키지를 사용할 경우 의존 관계를 가지기도 한다.
이러한 패키지들을 사용하기 위해서는 다운로드, 설치, 업데이트, 의존성 관리, 제거 등
복잡한 상황들이 많이생기는데 패키지 매니저는 이러한 과정들을 **자동화**하여 편리하고 안전하게 수행할 수 있도록 해준다.
다운받은 패키지 데이터를 캐시에 저장하여, **중복된 데이터**는 다운로드 하지않고,
캐시에 저장된 파일을 활용함으로써 npm에 비해 **패키지 설치속도가 빠르다.**
3️⃣ node.js CLI
pwd : 현재위치의 디렉터리(폴더) 위치를 출력
mkdir : 폴더 생성 명령어
ls : 폴더 보기
ls - a : 숨김파일 까지 전체
cp : 복사(안에 있는 또다른 폴더 전체를 복사를 해줘야지만 가능)
cp -R : 폴더 전체를 복사
rm -rf(강제 삭제) : 폴더 전체 삭제
cd : 현재폴더 변경
node 현재파일.js : 코드 실행(ex : node test.js)
4️⃣ 배열 메서드
// Math.random : 0 ~ 1 사이의 값을 무작위로
// Math.floor : 소수점 아래는 버림
// String() : 숫자 -> 문자열로 변환
// 문자열.padStart(a,’b’) : a만큼의 길이만큼 ‘b’를 넣어줘
const result = String(Math.floor(Math.random() * 1000000)).padStart(6, '0');
console.log(result); //001234
// padStart를 하지 않을 경우
// 0.00123412345 이런 숫자일 경우 소수점 뒤 두자리 0은 출력 되지 않는다 :) '1234' 출력
5️⃣ 리팩토링 : 기존코드를 이해하기 쉽고 효율적인 코드로 다시 만드는것(결과동일)
if (myphone.length < 10 || myphone.length > 11) {
console.log('에러 발생!! 핸드폰 번호를 올바르게 입력해 주세요!!!'); // early-exit
return false;
} else {
return true;
}
// if문 조건을 반대로 작성해서 아닐경우 먼저 코드로 작성한다.
function checkPhone(){
if() {
return true;
}
};
function getToken(){
};
function sendTokenToSMS(){
};
function createTokenOfPhone() {
// myphone : 매개변수(parameter)
// 1. 휴대폰번호 자릿수 확인(10~11자리)
const isValid = checkPhone();
// 함수 안에 결과값이 true 또는 false일때는 변수명을 is,has로 받는다
// 2. 핸드폰 토큰 6자리 만들기
getToken();
// 3. 핸드폰 번호에 토큰 전송하기
sendTokenToSMS();
}
성처럼 건물내부를 숨기는 방법(퍼사드 패턴)이라고 부른다.
패턴 : 일정한 방식을 공식화 한것
이름을 보고 직관적으로 이해 할 수 있게 선언 해야한다.(checkPhone(),getToken(),sendTokenToSMS())