TIL Code_Camp 1일차 npm/yarn/facade

박선우·2023년 1월 9일
0

code_camp

목록 보기
19/31
post-thumbnail

🌼 학습 내용

1️⃣ node.js : 자바스크립트 실행프로그램- 브라우저없이 실행 가능

2️⃣ npm, yarn 이 무엇이고 차이점은 무엇인지

🐶 패키지 관리자 (npm, yarn)

🫥 npm

다양한 자바스크립트 프로그램이 패키지라는 이름으로 **npm**에 등록되어 있고, 
패키지가 다른 패키지를 사용할 경우 의존 관계를 가지기도 한다. 
이러한 패키지들을 사용하기 위해서는 다운로드, 설치, 업데이트, 의존성 관리, 제거 등 
복잡한 상황들이 많이생기는데 패키지 매니저는 이러한 과정들을 **자동화**하여 편리하고 안전하게 수행할 수 있도록 해준다. 

🫥 yarn

다운받은 패키지 데이터를 캐시에 저장하여, **중복된 데이터**는 다운로드 하지않고, 
캐시에 저장된 파일을 활용함으로써 npm에 비해 **패키지 설치속도가 빠르다.**

3️⃣ node.js CLI

🐶 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️⃣ 리팩토링 : 기존코드를 이해하기 쉽고 효율적인 코드로 다시 만드는것(결과동일)

🫥 early-exit

if (myphone.length < 10 || myphone.length > 11) {
        console.log('에러 발생!! 핸드폰 번호를 올바르게 입력해 주세요!!!'); // early-exit
        return false;
    } else {
        return true;
    }
// if문 조건을 반대로 작성해서 아닐경우 먼저 코드로 작성한다.

🫥 facade


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())
profile
코린이 열심히 배우자!

0개의 댓글