일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 리눅스
- 쿠버네티스
- 미니큐브
- underscore
- revert
- onicecandidate
- 독스트링
- 7.0.0
- minikube
- Python
- RTCP
- 자바스크립트
- docstring
- 6.6.0
- stash
- 위코드
- 기초
- 파이썬
- kurento
- fastapi
- 도커
- Docker Compose
- corsmiddleware
- 표준에러
- 명령어
- Dockerfile
- JavaScript
- Docker
- 표준출력
- kubernetes
- Today
- Total
목록분류 전체보기 (25)
Devlog
도커를 사용하다 보면 커스텀하는 정도에 따라 컨테이너를 띄울 때 굉장히 긴 명령어를 입력해야 할 때가 있다. 어떤 모드로 실행할 것인지, 컨테이너 이름은 무엇으로 할 것인지, 어떤 네트워크에 연결할 것인지 등등... 그리고 서로가 통신을 하는 여러 개의 컨테이너로 이루어진 서버를 띄우기 위해 그 많은 명령어를 모두 입력한다고 생각하면 아찔하다... 물론 어딘가에 문장을 저장해 두었다가 복붙을 해도 되지만 뭔가 개발자적이지 못한 느낌이 들지 않는가? 이를 위해 도커는 수많은 명령어를 미리 선언해 손쉽게 컨테이너를 띄워주는 docker-compose를 지원한다. docker-compose를 사용하는 방법을 알아보자. docker-compose 파일 작성하기 우선 명령문을 미리 선언해 둘 파일이 필요하다. 프..
컨테이너 서버를 띄우게 되면 해당 컨테이너 서버는 상황에 따라 WWW 웹, 로컬 시스템, 다른 컨테이너와 통신을 주고 받을 수 있다. 그렇다면 컨테이너가 해당 상황들에서 어떻게 통신할 수 있는지를 알아보자. WWW(World Wide Web) 서버와 통신 첫 번째 상황은 외부의 인터넷상에서 다른 API와 통신하는 것이다. 사실 도커 컨테이너는 WWW상의 다른 외부 서버와 통신은 별 다른 설정이 필요없다. 예시를 통해 보도록하자. app.get("/movies", async (req, res) => { try { const response = await axios.get("https://swapi.dev/api/films"); res.status(200).json({ movies: response.data..
도커 컨테이너의 내부 데이터는 기본적으로 컨테이너가 삭제될 때 모두 삭제된다. 그리고 각 컨테이너는 개별적으로 활동하는 특징을 가진다. 만약 서버 부하를 막기 위해 특정 데이터를 처리하여 저장하는 일종의 같은 작업을 하는 컨테이너를 스케일 업하여 여러 개를 두었다고 하면, 첫 번째로 어떤 데이터를 찾을 때 어떤 컨테이너에 저장되었는지 찾기가 힘들 수 있으며 작업 컨테이너가 필요 없어져 삭제를 할 경우 내부 데이터가 사라져 버릴 수 있다. 이럴 때 도커 볼륨(volume)을 이용하여 해당 데이터를 보존하고, 각각의 컨테이너가 함께 사용할 수 있다. 볼륨은 크게 익명 볼륨, 명명된 볼륨, 바인드 마운트로 나뉜다. 각각의 특징을 이용하고 활용하는 방법을 알아보자. 볼륨이란? 볼륨의 종류들에 이해하기 전에 볼륨..
Dockerfile은 도커 이미지를 만들기 위한 설계도이고, 이미지는 최종적으로 컨테이너를 찍어내기 위한 일종의 틀? 금형? 과 같다고 할 수 있다. 간단한 Dockerfile을 만들어 보자. # 도커 파일 내부변수 설정 ARG DB_PORT=3306 # 파이썬 환경을 도커 허브에서 불러오기 FROM python:3.9 # 기본 작업 경로 설정 WORKDIR /app # 필요 라이브러리 목록 복사 COPY requirements.txt ./requirements.txt # 필요 라이브러리 설치 RUN pip install -r requirements.txt # 서버 프로젝트 파일을 작업 경로에 복사 COPY . /app # 환경 변수 설정 ENV DB_HOST 172.17.0.1 ENV DB_PORT $..
자바스크립트에서 문자열과 배열을 활용하는 다양한 메서드에 대해 알아보자. 원시 유형과 객체 이제까지 단순히 값만 가지고 있는 것을 원시유형이라고 불렀다. 그리고 키:값형태로 속성과 메서드를 가진 것을 객체라고 하였다. 그런데 자바스크립트에서는 원시 유형도 속성과 메서드를 사용할 수 있다. 자바스크립트에서 number, boolean, string 유형은 별도로 프로토타입 객체가 만들어져 있다. number는 Number 객체, string은 String과 같이 말이다. 이러한 객체를 래퍼 객체(wrapper object)라고 한다. 래퍼 객체를 가지는 원시 유형은 속성이나 메서드를 사용하면 일시적으로 객체로 변환되고 힙 메모리에 올라간다. 그리고 사용이 끝나면 다시 메모리 상에서 내려가며 원시 유형으로 ..
객체 자바스크립트에서 객체는 어떤 것에 대한 속성과 다양한 동작을 키:값형태로 모아놓은 것이다. 자바스크립트에는 자주 사용되는 요소들을 미리 만들어 정의해둔 내장 객체가 존재한다. Number, String, Math, Date 등이 있다. 그리고 이러한 내장 객체 외에 별도로 만들어 사용하는 사용자 지정 객체 또한 제공한다. 사용자 지정 객체는 기본적으로 아래와 같이 작성하여 만들 수 있다. let person = { body: { arms: 2, // 속성 legs: 2 // 속성 } hello: function () { console.log("안녕하세요.") } // 메서드 } 객체의 속성은 중첩으로 작성할 수 있으며, 객체 내부에 함수를 정의하여 메서드로 활용할 수 있다. 객체 내의 속성에 접근할..
이번 시간에는 자바스크립트의 기초적인 반복문과 오류처리 대해 알아보자. for 반복문 일반적으로 대부분의 프로그래밍 언어에서 사용되는 보통의 반복문이다. 어떻게 만들고 사용할 수 있는지 바로 알아보자. function printNumber() { for (let i = 0; i < 5; i++) { console.log(i); } } 위 코드는 콘솔에 숫자를 0부터 4까지 차례대로 출력하는 코드이다. for 반복문을 사용하기 위해 for을 선언하고 소괄호 안에 조건에 사용될 변수와 조건 등을 기입한다. 그리고 해당 반복문의 중괄호 안에 반복해서 수행될 코드를 입력하였다. 그리고 아래와 같이 코드를 작성하면 특정 배열의 각 인덱스 값에 접근하여 값을 가져오는 것이 가능하다. let nameList = ["..