Root

👉 Spring이란? Java를 사용한 앱을 더 쉽게 만들게 해주는 프로그램 ( Java Framework ) 특징 경량 컨테이너에 자바 객체를 담아 관리한다. ( 생성, 삭제 등등 ) [IOC] 제어의 역전, 개발자가 객체를 관리하지 않고, Spring이 관리한다.
👉 Swarm 이란? Docker 컨테이너 관리 도구 ( 쿠버네티스 같은 것 ) 초기화 docker swarm init 도커 서비스 실행 docker service create --name demo alpine:latest ping 8.8.8.8 실행중인 서비스 확인 docker service ps demo 서비스 로그 확인 docker service logs demo 서비스 종료 docker service rm demo
👉 이미지 파일 취약점 검사 이미지 파일에 포함된 모듈의 취약점을 검사해준다. ( Snyk ) Snyk 가입, 로그인 docker scan --login 이미지 파일 검사 docker scan 👉 이미지 파일 히스토리 검사 도커 이미지파일이 만드는 컨테이너 정보 확인 docker image history # --no-trunc : 전체 내용 보기 👉 이미지 캐싱이란? docker는, 기존의 이미지를 업데이트 하고 싶을때 변경사항이 없는 부분은 제외하고 업데이트 한다. 이를 이용하여, 빌드시간을 눈에 띄게 줄일 수 있다. ( package.json 종속성 패키지를 다시 설치할 필요없도록 만들기. ) 기존 도커파일 FROM node:12-alpine RUN apk add --no-cache python2 g..
👉 wait-port란? Node.js 서버를 원하는 타이밍에 실행할 수 있도록 도와주는 JS 라이브러리 기능 1. docker-compose 서버 시작을 기다릴 수 있다. 2. HTTP 엔드포인트의 응답을 기다릴 수 있다. 3. DNS 레코드가 확인될때까지 기다릴 수 있다. 4. 앱 서버가 시작될 때까지 기다릴 수 있다. 👉 설치 npm i wait-port 👉 사용법 터미널 wait-port # -t : 최대 대기시간 지정 # Uri는 http:// 를 포함하고 있어야만 한다. JS 런타임 // 모듈 불러오기 const waitPort = require('wait-port'); const params = { host: 'google.com', port: 443, }; // Promise를 반환한다. ..
👉 컨테이너 네트워킹 서로 다른 컨테이너끼리 통신할 수 있도록하는 기능 네트워크 만들기 ( 통신 창구 ) docker network create 컨테이너와 연결하기 docker network connect # --alias : 컨테이너에 별칭 붙이기 ( 네트워크가 구분함 ) # --driver-opt : 개발자 옵션 # --ip : 컨테이너에게 ip 할당 🚩 네트워크 연결해 컨테이너 생성 ( MySQL ) 1. Linux docker run -d \ --network todo-app --network-alias mysql \ -v todo-mysql-data:/var/lib/mysql \ -e MYSQL_ROOT_PASSWORD=secret \ -e MYSQL_DATABASE=todos \ mysql:5..
👉 볼륨이란? ( Volume ) 컨테이너의 특정 폴더를, 호스트 시스템(OS)에 연결해, 컨테이너가 삭제되더라도, 데이터를 유지할 수 있도록하는 것 ( docker가 자동으로 host 경로 설정 ) 특징 컨테이너에서 host 폴더에 파일을 쓸 수 있다. 볼륨 만들기 docker volumn create 볼륨 연결된 컨테이너 만들기 # 연결할 경로는, docker 컨테이너 속 경로기준이다. docker run -dp 3000:3000 -v : 볼륨 정보 확인하기 docker volume inspect todo-db [ { "CreatedAt": "2022-07-11T10:47:03Z", "Driver": "local", "Labels": {}, # 실제로 파일이 저장된 OS경로 ( docker VM의 경..
👉 Compose 란? Docker 컨테이너의 설계도 ( YAML 파일 ) ( 명령으로 컨테이너 무제한 생성 ㅋㅋ ) 👉 작성하기 만들고 싶은 컨테이너 ( 2개 ) docker run -dp 3000:3000 \ -w /app -v "$(pwd):/app" \ --network todo-app \ -e MYSQL_HOST=mysql \ -e MYSQL_USER=root \ -e MYSQL_PASSWORD=secret \ -e MYSQL_DB=todos \ node:12-alpine \ sh -c "apk add --no-cache python2 g++ make && yarn install && yarn run dev" docker run -d \ --network todo-app --network-ali..
👉 Bun이란? JS, TS 프로젝트를 번들, 트랜스파일, 설치하는 javascript 런타임 ( 실행환경 ) Burn의 특징 Node.js 나 Deno 보다 빠르다. ( 메모리 친화적 ) 👉 설치 // Linux, macOS curl -fsSl https://bun.sh/install | bash JS/TS 파일 실행하기 // test.js console.log("Hello Bun!") // js, ts 실행 명령어 bun run test.js => Hello Bun! React 프로젝트 만들기 bun create react ./프로젝트폴더명 Next 프로젝트 만들기 bun create next ./프로젝트이름 프로젝트 실행하기 // 기존 create-react-app의 npm run start 기능 ..
👉 렉시컬 환경이란? JS에서 실행할 변수와 함수를 프로퍼티로 가지는 객체 ( JS가 실행될때, 처음 만들어진다. ) 렉시컬 환경 사용방식 Javascript가 실행되며, 참조가 필요한 변수와 함수를 Key값을 통해 가져온다. JS 렉시컬 환경의 종류 1. 스크립트 전체 객체 2. 실행중인 함수 객체 3. 코드블록 객체 렉시컬 환경의 구성 환경 레코드 - 모든 지역변수를 프로퍼티로 저장 ( this, 함수 매개변수 등등 ) 외부 렉시컬 환경 - 현재 렉시컬 환경을 감싸고 있는 부모 렉시컬 환경 렉시컬 환경 생성 과정 JS 코드 실행시, 렉시컬 환경 객체 생성 JS 코드에 선언되어 있는 변수들을 "글로벌 레코드"에 저장 함수, 블록 단위로 나누어 "로컬 레코드"를 만들고, 변수를 저장 코드 실행 과정 필요..
MOONCO
'분류 전체보기' 카테고리의 글 목록 (16 Page)