일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 컴퓨터비전
- 코딩테스트실력진단
- 냅색알고리즘
- 합성곱연산
- 스파르타코딩클럽
- KT포트포워딩
- 가운데를말해요
- java
- BOJ
- 윤곽선검출
- 코드트리
- 백준10828
- 2019카카오코테
- 백준9012
- 이것이자바다확인문제
- 확인문제
- 운영체제
- 백준
- 이것이자바다9장
- 이것이자바다
- 웹개발기초
- BOJ1655
- 딥러닝
- 백준괄호
- 백준평범한배낭
- 코테
- 백준가운데를말해요
- 카카오코테
- 백준스택
- 백준온라인저지
- Today
- Total
목록분류 전체보기 (163)
코딩하는 락커

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에 저장할 수도 있음 컨테이너에 저장됨 즉, 이미지 위에 도커에 의해 추가된 레이어에 저..

이미지 & 컨테이너: 무엇이며, 왜 사용하는가? 도커의 2가지 기초 개념 컨테이너 애플리케이션, 웹사이트, 노드 서버, 애플리케이션을 실행하는 전체 환경 등을 포함하는 작은 패키지 소프트웨어 실행 유닛이 존재하여 그 유닛이 실행됨 이미지의 구체적인 실행 인스턴스, 즉 실행 애플리케이션이 됨 이미지 템플릿, 컨테이너의 청사진 모든 설정 명령과 모든 코드가 포함된 공유 가능한 패키지 이미지를 사용하여 이를 기반으로 한 여러 컨테이너를 만들 수 있음 이미지와 컨테이너의 관계 컨테이너에 설치된 이미지는 컴퓨터에서 실행되는 것이 아니라 컨테이너 내부에 설치되고 실행됨 이미지는 run 명령어를 사용하여 이미지의 인스턴스를 만들고, 이 이미지를 기반으로 하는 구체적인 컨테이너를 생성함 즉 컨테이너는 이미지의 인스턴스..

8.6 교착 상태 회피Deadlock Avoidance 데드락 예방 알고리즘은 요청 방법에 제한을 두어 교착 상태를 예방함 이 제한은 데드락이 발생하기 위한 필요 조건 중 적어도 한 가지는 성립되지 않도록 보장함 그러나 이런 방식으로 데드락을 예방할 때 장치의 이용률이 저하되고 시스템 총처리율throughput이 감소한다는 문제가 발생 교착 상태 회피 자원이 어떻게 요청될지에 대한 추가 정보를 제공하도록 요구하는 것 각 스레드의 요청과 방출에 대한 완전한 순서를 파악하고 있다면, 각 요청에 대해서 가능한 미래의 교착 상태를 피하고자 스레드가 대기해야 하는지에 대한 여부를 결정할 수 있음 가장 단순하고 유용한 모델은 각 스레드가 자신이 필요로 하는 각 유형의 자원마다 최대 수를 선언하도록 요구하는 것 안전..

8.1 시스템 모델System Model 데드락 대기 중인 스레드들이 그들이 요청한 자원들이 다른 스레드들에 의해서 점유되어 있고, 그들도 다 대기 상태에 있기 때문에 결코 다시는 그 상태를 변경할 수 없는 상황 시스템은 경쟁하는 스레드들 상이에 분배되어야 할 유한한 수의 자원들로 구성됨 이들 자원은 다수의 유형으로 분할되며 이들 각각은 동등한 다수의 인스턴스들로 구성됨 ex) CPU 주기, 파일, 입/출력 장치 등 만일 한 스레드가 어떤 자원 유형의 한 인스턴스를 요청하면, 동일 유형 자원의 임의의 인스턴스를 할당함으로써 요청이 충족됨 스레드는 자원을 사용하기 전에 반드시 요청해야 함 스레드는 자원을 사용한 후에는 반드시 방출해야 함 스레드는 지정된 테스크를 수행하기 위해 필요한 만큼의 자원을 요청할 ..

식사하는 철학자들 문제 식사하는 철학자 문제 가정 5명의 철학자가 5개의 의자에 각각 앉아 있음 테이블 중앙에는 밥이 있음 테이블에는 다섯개의 젓가락이 놓여 있음 철학자들은 배가 고파지면 자신에게 가장 가까이 있는 두 개의 젓가락(왼쪽 젓가락과 오른쪽 젓가락)을 집으려고 시도함 철학자들은 한번에 한 젓가락만 집을 수 있음 철학자들은 이미 옆 사람의 손에 들어간 젓가락을 집을 수 없음 동시에 두 개의 젓가락을 집으면 젓가락을 놓지 않고 식사를 함 식사를 마치면 두 개의 젓가락을 모두 놓고 다시 생각을 시작함 식사하는 철학자 문제는 교착 상태Deadlock과 기아Starvation을 발생시키지 않고 여러 스레드에게 여러 자원을 할당해야 할 필요를 단순하게 표현한 것 세마포 해결안Semaphore Soluti..

7.1 고전적인 동기화 문제들 많은 클래스의 병행 제어 문제에 대한 예로서 중요한 여러가지 다른 동기화 문제 제시 유한 버퍼 문제 Readers-Writers 문제 식사하는 철학자 문제 유한 버퍼 문제 6.1절의 유한 버퍼 환경의 생산자-소비자 문제 참고 (https://coding-rocker.tistory.com/133) 11. 프로세스 동기화: Chapter 6. Synchronization Tools (Part 1) 6.1 배경Background 프로세스가 병행concurrent 또는 병렬parallel로 실행될 때 여러 프로세스가 공유하는 데이터의 무결성에 문제가 생길 수 있음 생산자-소비자 문제 생산자: 버퍼에 새 항목을 초기화 coding-rocker.tistory.com 동기화 문제 - 유..