| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- 백준9012
- 백준스택
- 윤곽선검출
- 컴퓨터비전
- 백준
- 합성곱연산
- 확인문제
- 카카오코테
- 이것이자바다9장
- 백준가운데를말해요
- BOJ
- 코딩테스트실력진단
- 딥러닝
- BOJ1655
- 백준10828
- 코드트리
- KT포트포워딩
- 백준괄호
- 이것이자바다확인문제
- 냅색알고리즘
- java
- 백준평범한배낭
- 코테
- 이것이자바다
- 가운데를말해요
- 운영체제
- 스파르타코딩클럽
- 백준온라인저지
- 2019카카오코테
- 웹개발기초
- Today
- Total
목록분류 전체보기 (168)
코딩하는 락커
Docker-Compose: 무엇이며 왜 사용하는가? Docker Compose란? 하나의 구성 파일을 사용하여 다수의 docker build와 다수의 docker run 명령을 대체할 수 있는 도구 모든 서비스, 모든 컨테이너를 즉시 시작하고 모든 필요한 이미지를 빌드할 수 있으며 모든 것을 중지할 수 있는 오케스트레이션 명령 셋 구성(Configuration) 파일을 사용하여 단 하나의 명령어로 전체 다중 컨테이너 애플리케이션을 제어할 수 있음 이미지나 컨테이너, 혹은 Docker File을 대체하는 것이 아님 다수의 호스트에서 다중 컨테이너를 관리하는데에는 적합하지 않음. (하나의 동일한 호스트에서 다중 컨테이너를 관리하는데 좋음) Docker Compose File 작성하기 멀티컨테이너 애플리케이..
Target 앱 & 설정 3가지 빌딩 블록과 컨디션 MongoDB Datebase MongoDB 컨테이너를 제거했다가 다시 생성해도 데이터가 손실되지 않아야 함 액세스를 제한할 수 있어야 함(공식 Mongo 이미지를 사용하여 컨테이너에서 생성된 데이터베이스에 사용자와 비밀번호를 추가) NodeJS REST API Backend Application 백엔드 컨테이너를 제거했다가 다시 생성해도 log 데이터가 손실되지 않아야 함 소스 코드 변경 사항이 즉시 반영되어야 함 React Frontend 소스 코드 변경 사항이 즉시 반영되어야 함 백엔드는 데이터를 저장하고 가져오기 위해 데이터베이스와 통신함 프론트엔드는 백엔드와 통신함 MongoDB 서비스 도커화 하기 MongoDB 컨테이너 실행 --name mo..
10.4 페이지 교체 메모리 과할당over allocating 다중 프로그래밍 정도를 올렸을 때 발생할 수 있는 문제 ex) 40개의 프레임과 10개의 페이지 중 5개만을 사용하는 6개의 프로세스가 있다고 가정 이 경우 10개의 프레임은 남겨 놓고도 높은 CPU 활용률과 처리율을 얻을 수 있음 그러나 특정 데이터 조합에 대해 이 프로세스들이 10페이지 모두를 사용해야 하는 상황이 발생할 수 있음 또한 40프레임만이 존재하는 상황에서 60프레임을 필요로 하게 됨 메모리 과할당의 발생 순서(위 그림 참조) 프로세스가 실행하는 동안 페이지 폴트 발생 운영체제가 필요로 하는 페이지가 보조저장장치에 저장된 위치를 알아냄 그러나 가용한 프레임 목록에 가용한 프레임이 없음을 발견함 (즉, 모든 메모리가 사용중임) 이..
10. 1 가상 메모리 배경 가상 메모리virtual memory는 프로세스 전체가 메모리 내에 올라오지 않더라도 실행이 가능하도록 하는 기법을 말함 가상 메모리의 장점 사용자 프로그램이 물리 메모리보다 커져도 됨 가상 메모리는 물리 메모리로부터 프로그래머 관점의 논리 메모리를 분리해 메인 메모리를 균일한 크기의 저장 공간으로 구성된 엄청나게 큰 배열로 추상화 해 줌 파일과 라이브러리의 공유를 쉽게 해주고 공유 메모리 구현을 가능하게 함 한 프로세스의 가상 주소 공간은 그 프로세스가 메모리에 저장되는 논리적인(가상적인) 모습을 말함 위 그림과 같이 특정 논리 주소는 0번지에서 시작하여 연속적인 공간을 차지함 또한 힙은 동적 메모리를 사용함에 따라 주소 공간상에서 위쪽으로 확장되고, 스택은 함수 호출을 거..
9.3 페이징 지금까지 논의된 메모리 관리는 프로세스의 물리 주소 공간이 연속적이어야 했음 페이징 프로세스의 물리 주소 공간이 연속적이지 않아도 되는 메모리 관리 기법 연속 메모리 할당의 문제를 해결 외부 단편화 문제 해결 단편화된 된 메모리의 압축의 필요성 문제 해결 기본 방법 물리 메모리는 프레임frame이라고 불리는 같은 크기 블록으로 나누어짐 논리 메모리는 페이지page라고 불리는 같은 크기 블록으로 나누어짐 이를 통해 논리 주소 공간은 물리 주소 공간으로부터 완전히 분리되었고, 이 때문에 물리 메모리의 크기가 2^64 바이트보다 적게 장착된 시스템에서도 프로세스는 64비트로 이루어진 논리 주소 공간을 사용할 수 있음 논리 주소 공간은 페이지 번호 p과 페이지 오프셋 d 두 개의 부분으로 분리됨 ..
case 1: WWW 통신 컨테이너 애플리케이션이 포함된 컨테이너가 하나 있다고 가정 애플리케이션은 웹 API를 통해 다른 WWW 사이트와 통신할 수 있음 (ex. 위 그림과 같이 GET HTTP 요청을 some-api.com/ API에 보낼 수 있음) 즉, 컨테이너 내부의 도커화 된 앱은 컨테이너 외부의 웹사이트/웹페이지에 request를 전송할 수 있음 case 2: 컨테이너에서 로컬 호스트 머신으로의 통신 애플리케이션이 포함된 컨테이너는 호스트 컴퓨터에서 실행중인 특정 서비스와 통신할 수 있음 (ex. 위 그림과 같이 도커 없이 호스트 컴퓨터에서 돌아가고 있는 데이터베이스와 통신할 수 있음) 즉, 컨테이너 내부의 도커화 된 앱은 컨테이너 외부의 호스트 컴퓨터와 통신할 수 있음 case 3: 컨테이너..
9.1 배경 메인 메모리는 각각의 주소가 할당된 일련의 바이트들로 구성됨 CPU는 Program Counter(PC)가 지시하는대로 메모리로부터 다음 수행할 명령어를 가져옴 명령어는 필요한 경우 추가적인 데이터를 더 가져올 수 있으며 반대로 데이터를 메모리로 내보낼 수 도 있음 기본 하드웨어Basic Hardware 각각의 프로세스가 독립된 공간을 갖도록 보장해야 함 개별적인 메모리 공간을 분리하기 위해서는 특정 프로세스만 접근할 수 있는 합법적인 주소 영역을 설정하고 프로세스가 합법 기준(base)과 상한(limit)이라고 불리는 두 개의 레지스터들을 사용하여 이러한 보호 기법을 제공함 기준base 레지스터: 가장 작은 합법적인 물리 메모리 주소값을 저장하고 있음 상한limit 레지스터: 주어진 영역의..
데이터 카테고리 / 다양한 종류의 데이터 이해하기 데이터의 종류 애플리케이션 데이터 소스 코드 + 애플리케이션이 실행되는 환경 개발자에 의해 작성된 데이터 이미지를 빌드할 때 코드가 이미지에 복사됨 컨테이너를 실행할 때 제공된 환경에서 코드를 사용함 이미지가 빌드되면 변경할 수 없으므로 코드가 변경되면 새 이미지를 빌드해야 함 read-only data 임시 애플리케이션 데이터 애플리케이션이 실행되는 동안 생성된 데이터 ex) 서버에서 실행 중인 컨테이너로 넘어온 사용자의 데이터(사용자가 입력폼에 입력한 데이터) 로컬 파일 시스템, 이미지에 저장되지 않는 데이터 코드의 변수에 저장할 수 있음 메모리에만 저장하거나 DB에 저장할 수도 있음 컨테이너에 저장됨 즉, 이미지 위에 도커에 의해 추가된 레이어에 저..