const arr = [1,2,3,4,5]arr.filter((num) =>{ if(num % 2 === 0) { return num } })
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; }
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) }
sudo apt install docker-compose
컴퓨터 안에 또다른 컴퓨터를 설치
서버를 만들 때에는 3개의 컴퓨터가 필요하지만, 연습을 하기 위해서 Docker라는 가상 컴퓨터가 생겼다.
운영체제에 따라서 조금씩 환경이 달라진다.
그래서 가상 컴퓨터로 모든 운영체제에서 가상머신(VM)을 실행시킨다.
컴퓨터 안에 컴퓨터가 있으니까 너무 무겁고 느리다.
그래서 비교적 가볍고 빠른 Docker가 나왔다.
운영체제의 핵심 기능(커널)은 공유하는 가상머신
-> OS전체를 새로 설치하지 않아도 됨
window를 사용하든, Mac을 사용하든 Linux로 통일이 가능하다.
개발/배포환경 동일
프로그램 미리 설치
가벼운 가상컴퓨터
hub.docker.com (FROM)
도커 설치
업로드 - docker push
다운로드 - docker pull / FROM
컴퓨터를 image라고 한다
docker 컴퓨터는 할 일을 다 하면 꺼진다.
그래서 while문을 사용하여 무한반복하면 꺼지지 않는다.
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번포트로 전송해줘야 한다.
들어온 포트를 어떤 포트로 내보낸다.
sudo docker run -p 3000:3000 이미지ID - 3000번 포트를 받아서 3000번포트로 내보낸다.app.listen(4000)으로 하고 저장
sudo docker build . 으로 4000번포트의 컴퓨터 저장
sudo docker run -p 2500:4000 IMAGE ID 으로 컴퓨터 실행
postman에서 localhost:2500/ 으로 확인
임시 저장공간
한번 명령어를 쳤을때는 다시 명령어를 실행 안하게 할 수 있다.
캐시를 통해 입력된 값을 가져올 수 있는데,
위에서부터 실행을 해서 위에서 하나라도 캐시가 깨지면 다 깨진다.
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)
출처 : 코드캠프