전체 글

GIthub - https://github.com/abbiddo
도커의 동작 원리 1. 도커의 구조 2. 도커와 리눅스 1. 도커의 구조 제일 하단에 물리 서버가 존재한다. 그 위에 물리 서버에서 동작하는 리눅스 운영체제가 있다. 일반적인 서버에서는 운영체제 위에 프로그램이나 데이터가 올라간다. 도커의 경우 운영체제 위헤 도커 엔진이 동작하고 그 위에 컨테이너가 동작한다. 컨테이너 내에는 프로그램이나 데이터가 존재한다. 컨테이너의 구조 운영체제 '비슷한 것'이 들어있다. 컨테이너는 비어있을 수 있다. 그러나 이 형태는 잘 사용되지 않는다. 대부분의 컨테이너 내에는 리눅스 운영체제 비슷한 무언가가 존재한다. 실제 운영체제가 존재하는 것은 아니다. 컨테이너와 리눅스의 통신 원래 운영체제는 커널과 주변 부분으로 구성된다. 주변 부분이 프로그램과 통신을 하고, 그 내용을 커..
도커란 무엇인가? 1. 도커의 정체? 2. 데이터나 프로그램을 독립된 환경에 격리해야하는 이유? 3. 프로그램의 격리란? 4. 서버의 두 가지 의미 5. 도커와 가상화 기술의 차이 1. 도커의 정체? '데이터 또는 프로그램을 격리시키는 기능'을 제공하는 소프트웨어다. 컨테이너 기술을 기반으로 한 가상화 플랫폼이다. 가상화 : 물리적 자원인 하드웨어를 활용하기 위해 공간 위에 가상 머신을 만드는 것이다. 컨테이너 : 컨테이너가 실행되고 있는 호스트 OS의 기능을 그대로 사용하면서 프로세스를 격리해 독립된 환경을 만드는 기술이다. 이미지를 실행시켜 컨테이너로 만들고, 컨테이너를 관리하고, 컨테이너를 다시 이미지로 만드는 작업을 할 수 있다. 다른 라이브러라와 충돌을 바지하기 위해 격리된 환경이 필요할 때, ..
https://www.acmicpc.net/problem/3197 3197번: 백조의 호수 입력의 첫째 줄에는 R과 C가 주어진다. 단, 1 ≤ R, C ≤ 1500. 다음 R개의 줄에는 각각 길이 C의 문자열이 하나씩 주어진다. '.'은 물 공간, 'X'는 빙판 공간, 'L'은 백조가 있는 공간으로 나타낸다. www.acmicpc.net BFS 문제다. 이 문제를 푸는데 2~3일 정도 걸렸다. 문제는 백조 두 마리가 존재하고 이 백조들이 만나는 데까지 소요되는 날을 구하는 문제다. 이 사이에는 얼음이 존재하고, 이 얼음은 물과 접촉해 있을 때 녹는다. 처음 생각한 방법은 단순하게 얼음을 녹이고, 백조의 경로를 찾고를 반복하는 것이었다. 구현해볼 것도 없이 시간 초과가 날 것이기 때문에 바로 패스했다. ..
https://www.acmicpc.net/problem/1655 1655번: 가운데를 말해요 첫째 줄에는 백준이가 외치는 정수의 개수 N이 주어진다. N은 1보다 크거나 같고, 100,000보다 작거나 같은 자연수이다. 그 다음 N줄에 걸쳐서 백준이가 외치는 정수가 차례대로 주어진다. 정수는 -1 www.acmicpc.net 우선순위 큐 문제다. 8개월 전에도 이 문제를 만났었다. 그 때는 벡터를 이용해 넣을 때마다 정렬하고 중앙값을 뽑아내는 작업으로 당연히 시간초과가 났다. 그리고 오늘 이 문제를 다시 만났다. 이 문제가 우선순위 큐를 이용한다는 것은 알고 있었다. 그러나 시간 복잡도를 계산했을 때 1000만이 넘어가 0.1초 보다 더 걸릴 것이라고 생각했다. 그리고 시간이 그렇게 걸릴 뿐만 아니라 ..
범위 지정 메소드 범위 연산자 (..) rangeTo 메소드 위 연산자와 메소드는 같은 역할을 한다. 두 수, 두 문자, 두 문자열 사이를 지정해 두 항목을 포함한 범위 객체를 생성한다. 정방향 범위를 생성한다. fun main(){ val range1 = 1..10 val range2 = 1.rangeTo(10) println(range1 == range2) // true println(range1.first) // 1 println(range1.last) // 10 } until 메소드 rangeTo 메소드와 같은 역할을 하나 마지막 항목을 포함하지 않는다. fun main(){ val range2 = 1.rangeTo(10) val range3 = 1.until(10) println(range2 =..
· Algorithm/DP
https://www.acmicpc.net/problem/1520 1520번: 내리막 길 여행을 떠난 세준이는 지도를 하나 구하였다. 이 지도는 아래 그림과 같이 직사각형 모양이며 여러 칸으로 나뉘어져 있다. 한 칸은 한 지점을 나타내는데 각 칸에는 그 지점의 높이가 쓰여 있으 www.acmicpc.net DP와 DFS 문제다. DFS를 통해 경로를 탐색하고, 돌아오는 길에 경우의 수를 저장해 값이 존재하는 경우 더 탐색하지 않는 DP를 이용한다. DFS의 return 조건은 도착지에 도달 했을 떄, 이미 방문한 적이 있을 때다. 모든 경로의 전체를 탐색하면 당연히 시간초과가 나기 때문에 이미 방문한 적이 있을 경우에는 탐색을 멈춘다. 탐색을 멈추고, 해당 칸에 저장된 값을 현재 칸에 더한다. 그렇게 쭉..
abbiddo
SO YOUNG & RICH