230321_TIL

majungha·2023년 3월 21일
1

TIL

목록 보기
22/68

앞으로의 목표 👍


  1. javascript 능력 및 고난도 알고리즘 풀이 능력
  2. Nest, Graphql등 최신 기술 스택 활용 능력
  3. 기초 미니프로젝트 포트폴리오
  4. 로그인, 결제기반 심화프로젝트 포트폴리오
  5. 배포를 위한 네트워크 및 CI/CD 배포자동화 능력
  6. 120% 백엔드 개발 지식

오늘부터 꾸준히 해야할 일 👍


  • 영타실력 늘리기
  • 단축키 사용 익숙해지기
  • 코드리딩 실력 키우기
  • 데일리 퀴즈
  • 포트폴리오 작성
  • 독스에 친숙해지기
  • MDN 보는 연습하기

오늘의 수업 👍



📝 filter 메서드


  • 메서드는 주어진 함수의 테스트를 통과하는 모든 요소를 모아 새로운 배열로 반환합니다.
const arr = [1,2,3,4,5]
arr.filter((num) =>{
	if(num % 2 === 0) {
	  return num
	}
})
  • filter 메서드는 반드시 Boolean값을 리턴해야합니다.
function solution(s) {
  if (s.length !== 4 && s.length !== 6) {
    return false;
  }
  const answer = s.split("").filter((num) => {
    return !isNaN(num);
    // if(isNaN(num) === false){
    //     return true
    // }
  });
  return s.length === answer.length;
}

📝 new Array 메서드


  • 생성자에 두 개 이상의 매개변수를 제공할 경우, 매개변수를 원소로 하는 새로운 배열을 생성합니다.
const arr = new Array(3).fill(1)
console.log(arr) // [1, 1, 1]
function solution(n) {
    return new Array(n).fill(1).reduce((acc, cur, i) => {
        const num = cur + i
        return acc + (n % num === 0 ? num : 0)
    }, 0)
}

📝 Docker


sudo apt install docker-compose

  • 컴퓨터 안에 또다른 컴퓨터를 설치

  • 서버를 만들 때에는 3개의 컴퓨터가 필요하지만, 연습을 하기 위해서 Docker라는 가상 컴퓨터가 생겼다.

  • 운영체제에 따라서 조금씩 환경이 달라진다.

  • 그래서 가상 컴퓨터로 모든 운영체제에서 가상머신(VM)을 실행시킨다.

  • 컴퓨터 안에 컴퓨터가 있으니까 너무 무겁고 느리다.

  • 그래서 비교적 가볍고 빠른 Docker가 나왔다.

  • 운영체제의 핵심 기능(커널)은 공유하는 가상머신

    -> OS전체를 새로 설치하지 않아도 됨

  • window를 사용하든, Mac을 사용하든 Linux로 통일이 가능하다.

▷ Docker 정리

  • 개발/배포환경 동일

  • 프로그램 미리 설치

  • 가벼운 가상컴퓨터

▷ Docker 실습

  • hub.docker.com (FROM)

  • 도커 설치

  • 업로드 - docker push

  • 다운로드 - docker pull / FROM

  • 컴퓨터를 image라고 한다

  • docker 컴퓨터는 할 일을 다 하면 꺼진다.

  • 그래서 while문을 사용하여 무한반복하면 꺼지지 않는다.

▷ Docker 명령어

  • COPY (내 컴퓨터 파일) (도커컴퓨터 폴더/파일) - 내 컴퓨터에 있는 파일 도커 컴퓨터 경로에 복사해줌

  • RUN 명령어 - 명령어 실행시킴

  • FROM oo - hub.docker.com에서 oo다운받아줌

  • CMD - 실행 명령어로서 1번만 쓸 수 있음

  • WORKDIR /qqq - cd qqq

  • sudo docker build . - 컴퓨터 만들기

  • sudo docker images - 이미지 확인하기

  • sudo docker run 이미지ID - 컴퓨터 실행하기

  • sudo docker ps - 실행된 컴퓨터 확인하기

  • sudo docker ps -a - 모든 컴퓨터 확인하기

  • sudo docker exec -it 이미지ID /bin/bash - 도커컴퓨터로 접속하기

  • sudo docker stop 컨테이너ID - 컴퓨터 멈추기

  • sudo docker exec -it 컨테이너ID /bin/bash

📝 포트포워딩(포트를 전달한다)


  • x번포트로 들어온 프로그램을 도커컴퓨터 y번포트로 전송해줘야 한다.

  • 들어온 포트를 어떤 포트로 내보낸다.

▷ 3000번 포트에서 3000번 포트로 보내기

  • sudo docker run -p 3000:3000 이미지ID - 3000번 포트를 받아서 3000번포트로 내보낸다.

▷ 2500번 포트에서 4000번 포트로 보내기

  1. app.listen(4000)으로 하고 저장

  2. sudo docker build . 으로 4000번포트의 컴퓨터 저장

  3. sudo docker run -p 2500:4000 IMAGE ID 으로 컴퓨터 실행

  4. postman에서 localhost:2500/ 으로 확인

📝 cached


  • 임시 저장공간

  • 한번 명령어를 쳤을때는 다시 명령어를 실행 안하게 할 수 있다.

  • 캐시를 통해 입력된 값을 가져올 수 있는데,

  • 위에서부터 실행을 해서 위에서 하나라도 캐시가 깨지면 다 깨진다.

📝 도커 컴퓨터 삭제하기 명령어


▷ 한개씩 삭제하기

  • sudo docker rm 컨테이너ID - 컨테이너 한개씩 삭제하기

  • sudo docker rmi 이미지ID - 이미지 한개씩 삭제하기

▷ 한번에 다 삭제하기

  • sudo docker ps -a -q - 생성된 모든 컨테이너ID 한번에 보기

  • sudo docker 'rm docker ps -a -q' - 모든 컨테이너 삭제하기

  • sudo docker images -q - 이미지ID 한번에 보기

  • sudo docker rmi 'docker images -q' - 모든 이미지 삭제

  • sudo docker system prune -a - 모든 컴퓨터 컨테이너 한번에 삭제(실행중인 컴퓨터 X)

오늘의 마무리 👍



  • 복습
  • github 공부
  • 블로그 포스팅
  • 데일리 퀴즈
  • 알고리즘 문제 풀기

항상 겸손한 자세로 배우면서 성장하자, 할 수 있다!! 💪


출처 : 코드캠프

profile
개발자 블로그 / 항상 겸손한 자세로 배우면서 성장하자 할 수 있다!

0개의 댓글