전체 글 썸네일형 리스트형 [Docker] Docker 기본 CLI 익히기 Docker를 실제로 사용하기 위해 기본적으로 사용되는 커맨드를 익혀보자 먼저 컨테이너를 만들기 위해서는 이미지(image)가 필요하다. image가 뭐지?이미지(Image)는 프로그램을 실행하는 데 필요한 설치 과정, 설정, 버전 정보 등을 포함하고 있다. 즉, 프로그램을 실행하는 데 필요한 모든 것을 포함하고 있다. 간단하게 비유하자면 이미지는 건물을 만들기 위한 설계도, 컨테이너는 설계도를 바탕으로 지은 실제 건물이라고 할 수 있다. 따라서 이미지를 바탕으로 여러개의 컨테이너를 만들 수 도 있고, 컨테이너 안에 내용을 추가하거나 삭제하여도 이미지는 그대로 존재한다. 그러면 이미지는 어디있지?https://hub.docker.com/_/docker docker - Official Image | Do.. 더보기 [Docker] Docker의 기본 개념 Docker 란?컨테이너 기반의 오픈소스 가상화 프로그램 가상화가 뭐지?"물리적으로 하나인 자원을 논리적으로 여러 개처럼 나눠서 더 효율적으로, 유연하게 쓰려고.""하나의 컴퓨터 하드웨어 위에 여러 개의 가짜 컴퓨터(VM)를 만들어서 각각 독립적인 OS를 돌릴 수 있게 해주는 기술" 원래는 컴퓨터 한대에 OS 한개만 사용가능 왜? CPU, 메모리, 저장장치 등 모든 자원을 OS 하나가 독점해서 사용 그런데 가상화를 통해물리 자원을 쪼개서 각 가상머신(VM)에 나눠줌그 위에 여러 개 OS 설치 가능동시에 동작 가능 그럼 컨테이너는?우리가 생각하는 컨테이너는 물건을 저장하고 목적지까지 이동시키는데 사용된다. 이 컨테이너를 왜 사용하지?- 규격을 통일해 안에 뭐가 들었든지(옷, 전자제품) 배, 기사, 선박에 .. 더보기 [자료구조 및 알고리즘] 그래프 그래프: 그래프는 현상이나 사물을 정점과 간선으로 표현한 것, 정점은 대상이나 개체를 나타내고 간선은 이들 간의 관계를 나타낸다.그래프 G = (V, E) , V는 정점들의 집합, E는 간선들의 집합 그래프의 종류그래프(무향 그래프) : 관계의 존재 여부 표시가중 그래프 : 관계의 정도를 간선에 가중치를 주어 나타냄방향 그래프 : 각 정점의 관계를 방향성을 가진 간선으로 표시가중 방향 그래프 : 방향성을 가진 간선에 가중치를 주어 나타냄 그래프 표현 방법에는인접 행렬 : 이해하기 쉽고 간선의 존재 여부를 즉각 알 수 있음, n^2의 공간이 필요하다. 간선의 밀도가 아주 높은 그래프에서는 적합, 그렇지 않으면 거의 다 0으로 채워짐인접 리스트 : 각 정점마다 연결 리스트를 만듦, 행렬에 비해 공간 낭비가.. 더보기 [자료구조 및 알고리즘] 해시 테이블 해시 테이블선형 자료구조(리스트, 스택, 큐)색인 자료구조(검색 트리, 해시 테이블) 앞서 정리한 검색트리와 함께 색인 자료구조이다. 왜? 사용할까?배열 또는 리스트는 평균 n의 수행시간이 소요된다. 이를 색인을 이용해서 더 빠르게 처리하기 위해 이진 검색 트리를 사용한다.이진 검색트리는 검색, 삽입, 삭제에 평균 logn의 수행시간이 소요되고 최악의 경우 n의 수행시간이 소요된다. 이진 검색트리에서 최악의 경우는 한쪽으로만 트리가 치우치는 경우이다. 10 \ 20 \ 30 \ 40 이러한 경우에는 이진 검색트리임에도 불구하고.. 더보기 [자료구조 및 알고리즘] 균형 검색 트리 - AVL 트리 이진 검색트리의 한계이진 검색 트리는 운이 나쁘면 트리의 균형을 이루지 못함 이진 검색 트리는 삽입, 검색, 삭제 연산의 시간 복잡도가 트리의 높이(h)에 비례한다.예시 트리: 1 \ 2 \ 3 \ 4 \ 5이러한 경우 작업시간은 배열과 동일하다. (평균 n의 수행시간)이런 경우를 피하기 위해 고안해 낸 것이 균형 이진 검색트리이다. 균형 검색 트리란?이진 트리의 균형이 잘 맞도록 유지해서 검색, 삽입, 삭제 잡업들의 수행시간을 최대 logn의 시간을 보장한다. AVL 트리특징최초의 균형 검색 트리 (1962년 개발)각 노드에 대해 왼쪽 서브트리 높이와 오른쪽 서브트리 높이.. 더보기 [자료구조 및 알고리즘] 색인과 이진 검색 트리 색인(Index)란?찾아보기, 즉 색인을 만들어 놓으면 어떤 키워드를 가진 사이트나 파일이 어디에 있는지 검색을 통해 알 수 있다.색인은 key + 해당 key를 key로 하는 레코드의 페이지 번호로 구성되어 있다. 색인의 목적은 개체의 레코드를 검색하기 위해ex) 사람의 레코드는 주민등록번호, 이름, 집주소, 전화번호 ....이 중 주민등록번호는 키(key)에 해당한다.키는 각 레코드를 대표할 수 있는 필드이며 하나 또는 다수의 필드로 이루어 질 수 있다.즉 주민등록번호는 하나만으로 그 사람이 누구인지 대표할 수 있지만 이름이나 집주소로는 그사람을 대표할 수 없다.하지만 이름과 전화번호를 조합하면 그사람을 대표하는 키가 될 수 있다. 레코드에 포함된 각 항목을 필드라고 한다. 내장색인: 색인이 메모리 .. 더보기 [자료구조 및 알고리즘] 고급 정렬 정렬이란?원소를 순서대로 배열하는 것크기가 크거나 작은 순으로 정렬을 비롯하 알파벳, 생년월일 순으로 정리하는 것 모두 포함 정렬의 종류- 기본정렬 : 평균적으로 n^2의 시간이 소요되는 기본적인 정렬알고리즘- 고급정렬 : 평균적으로 nlogn의 시간이 소요되는 고급 정렬 알고리즘- 특수정렬 : 특수한 성질을 만족하고 평균적으로 n의 시간이 소요되는 정렬 알고리즘 오늘 정리할 고급 정렬에는 병합 정렬, 퀵 정렬, 힙 정렬, 셀 정렬이 있다.평균적으로 nlogn 만큼의 시간이 소요된다. - 병합 정렬주어진 배열을 이등분하여 각각(재귀적으로) 정렬한 다음 병합하는 정렬 기본원리1. 입력된 리스트의 원소를 반으로 나눈다.2. 전반부와 후반부를 각각 독립적으로 정렬한다.3. 정렬된 두 부분을 병합하여 정렬된 리.. 더보기 [자료구조 및 알고리즘] 기본 정렬 정렬이란?원소를 순서대로 배열하는 것크기가 크거나 작은 순으로 정렬을 비롯하 알파벳, 생년월일 순으로 정리하는 것 모두 포함 정렬의 종류- 기본정렬 : 평균적으로 n^2의 시간이 소요되는 기본적인 정렬알고리즘- 고급정렬 : 평균적으로 nlogn의 시간이 소요되는 고급 정렬 알고리즘- 특수정렬 : 특수한 성질을 만족하고 평균적으로 n의 시간이 소요되는 정렬 알고리즘 오늘 정리할 기본정렬에는 선택정렬, 버블정렬,삽입정렬이 있다.평균적으로 n의 제곱만큼의 시간이 소요된다. - 선택정렬기본 원리1. n개의 원소로 된 리스트 A[0,1,2.....,n-1]에서 가장 큰 원소를 찾는다2. 가장 큰 원소와 리스트의 맨 끝자리 원소 A[n-1]과 자리를 바꾸고 맨 오른쪽 자리를 관심대상에서 제외원소가 1개 남을 때 까.. 더보기 이전 1 2 다음