We will find a way, we always have.

-interstellar

전체 글 303

[도커] 볼륨

도커에는 볼륨이라는 내장 기능이 있는데 이는 데이터를 유지하도록 돕는다. 볼륨은 컨테이너가 종료된 경우에도 지속되며 계속 존재하는데, 만약 컨테이너에 볼륨을 추가하면 컨테이너가 종료되어도 볼륨에 데이터가 남는다. 볼륨은 호스트머신의 폴더인데 도커 컨테이너 내부의 폴더에 매핑된다. 도커의 COPY는 복사시킬 경로와 파일의 스냅샷을 갖고 이것들을 이미지에 복사하는게 전부이며 일회성 스냅샷일 뿐이다. 컨테이너 내부의 폴더를 호스트 머신 상의 컨테이너 외부 폴더와 연결시킬 수 있다. 그렇다면 이 두폴더의 변경사항은 다른 폴더에 반영되는데, 만약 호스트 머신에 파일을 추가한다면 컨테이너 내부에서 액세스할 수 있고 컨테이너가 매핑된 경로에 파일을 추가하면 컨테이너 외부, 즉 호스트 머신에서도 사용할 수 있다. 볼륨..

DevOps/도커 2022.09.02

[알고리즘] 플로이드 워셜

플로이드 워셜 알고리즘 (Floyd-Warshall Algorithm) 플로이드 워셜 알고리즘은 플로이드와 워셜이 개발한 알고리즘으로 그래프의 모든 노드에서 다른 모든 노드까지의 최단 경로를 모두 계산한다. 데이크스트라 알고리즘과 비슷하게 단계별로 거쳐 가는 노드를 기준으로 최소값을 갱신하지만, 데이크스트라 알고리즘은 매 단계마다 방문하지 않은 노드 중에 최단 거리를 갖는 노드를 찾아서 방문하였다면 이 플로이드 워셜 알고리즘은 아묻따 모든 노드를 탐색한다. 인접 행렬 형태의 2차원 테이블을 만들어 최단 거리 정보를 저장한다. 이전에 한번 한 연산은 다시 반복하지 않는다는 점에서 다이나믹 프로그래밍 유형에 속한다. 이 알고리즘은 각 단계마다 특정한 노드 k를 거쳐 가는 경우를 확인하여 갱신해준다. a에서 ..

[Color Scripter] 티스토리에 코드 첨부 이쁘게

티스토리에 소스코드 첨부하여 업로드하면 별로 예쁘지가 않다. 그래서 Color Scripter 라는 웹 사이트에서 HTML을 복사해와 코드를 첨부하였더니 아름다워졌다. 티스토리 기본 제공 코드 첨부 print("Hello World!") 컬러 스크립터 HTML 코드 첨부 HTML 삽입 미리보기할 수 없는 소스 물론 HTML을 복사해오는 것이라서 티스토리에 복붙하고 수정이 조금 번거롭긴하지만 별 문제가 되진 않아보인다. 이 사이트에서 링크를 생성하여 코드공유도 가능하니 문제 풀다가 막힐 때 소스코드와 함께 질문하려할때 사용하기 편하다. 사이트 주소 https://colorscripter.com/ Color Scripter Simple & Flexible Syntax HighLighter colorscrip..

Blah blah 2022.08.28

[백준] 1219번: 오민식의 고민 - 파이썬 (벨만 포드, BFS)

🔈 문제 오민식은 세일즈맨이다. 오민식의 회사 사장님은 오민식에게 물건을 최대한 많이 팔아서 최대 이윤을 남기라고 했다. 오민식은 고민에 빠졌다.어떻게 하면 최대 이윤을 낼 수 있을까? 이 나라에는 N개의 도시가 있다. 도시는 0번부터 N-1번까지 번호 매겨져 있다. 오민식의 여행은 A도시에서 시작해서 B도시에서 끝난다.오민식이 이용할 수 있는 교통수단은 여러 가지가 있다. 오민식은 모든 교통수단의 출발 도시와 도착 도시를 알고 있고, 비용도 알고 있다. 게다가, 오민식은 각각의 도시를 방문할 때마다 벌 수 있는 돈을 알고있다. 이 값은 도시마다 다르며, 액수는 고정되어있다. 또, 도시를 방문할 때마다 그 돈을 벌게 된다. 오민식은 도착 도시에 도착할 때, 가지고 있는 돈의 액수를 최대로 하려고 한다. ..

[백준] 1016번: 제곱ㄴㄴ수 - 파이썬

🔈 문제 어떤 정수 X가 1보다 큰 제곱수로 나누어 떨어지지 않을 때, 그 수를 제곱ㄴㄴ수라고 한다. 제곱수는 정수의 제곱이다. min과 max가 주어지면, min보다 크거나 같고, max보다 작거나 같은 제곱ㄴㄴ수가 몇 개 있는지 출력한다. 📝입력 첫째 줄에 두 정수 min과 max가 주어진다. 📑출력 첫째 줄에 min보다 크거나 같고, max보다 작거나 같은 제곱ㄴㄴ수의 개수를 출력한다. ❗❗제한 - 1 ≤ min ≤ 1,000,000,000,000 - min ≤ max ≤ min + 1,000,000 📚 문제 풀이 제곱ㄴㄴ수는 제곱수로 나누어 떨어지지 않는 수, 예를 들어 1,2,3,5,6,7,10을 의미한다. 4와 8은 2의 제곱수 4로 나누어 떨어지기 때문에 제외 되는 것이다. 처음에는 후보 숫..

[도커] 데이터의 종류

Data?!! 데이터의 종류는 크게 세가지로 나눌 수 있다. Application Temporary App Data Permanent App Data 1번째 Application은 코드나 환경을 의미한다. 개발자가 작성한 코드, 이미지, 빌드한 컨테이너가 여기에 포함되고 이것들은 Read-Only 상태로 이미지에 저장된다. 2번은 임시적인 데이터인데 인풋 박스에 사용자가 입력중인 데이터가 여기에 포함된다. 이 데이터는 읽고 쓰기가 가능하다. 컨테이너에 저장된다. 마지막 3번째는 영구적인 데이터인데 사용자의 계정같은 데이터가 여기에 속한다. 읽고 쓰기가 가능하고 영구적이며 컨테이너와 볼륨에 저장된다. 위와 같은 도커 파일을 생성하고 (도커 파일 제외한 소스코드는 강의에서 제공되었음) 터미널에 다음과 같이 ..

DevOps/도커 2022.08.26

[프로젝트] 트위터 개발자 계정 만들기

프로젝트 시작 계기를 알고 싶다면 이전 글을 읽고 오시면 된다ㅎㅎ 알림을 트윗을 날리는 형태로 하기로 했으니 우선 트윗봇을 구축해야 했다. 그러기 위해서는 개발자 계정이 필요하다. 왜냐하면 엑세스 토큰을 구해야 하기 때문이다. 개발자 계정을 생성하려면 휴대전화 본인인증된 계정이 필요하다. 그래서 이미 휴대전화 인증이 되어있는 본계로 하려고 하였다가 그러면 내가 트윗할때마다 다른 사람들에게 알림이 가 방해가 될거 같아서 총공계로 사용하던 계정에 본인인증을 하고 개발자 신청을 하였다. 개발자 신청 과정은 아래 참고 글에 자세하게 나와있어 쉽게 진행하였다. 이렇게 트위터 개발자 계정이 생성이 완료되었는데 다음 글에서는 이제 Python에서 Tweepy 모듈을 사용하여 자동으로 트윗을 남겨보는 방법을 남겨보겠다..

Ploject 2022.08.22

[백준] 1041번: 주사위 - 파이썬

🔈 문제 +---+ | D | +---+---+---+---+ | E | A | B | F | +---+---+---+---+ | C | +---+ 주사위는 위와 같이 생겼다. 주사위의 여섯 면에는 수가 쓰여 있다. 위의 전개도를 수가 밖으로 나오게 접는다.A, B, C, D, E, F에 쓰여 있는 수가 주어진다.지민이는 현재 동일한 주사위를 N3개 가지고 있다. 이 주사위를 적절히 회전시키고 쌓아서, N×N×N크기의 정육면체를 만들려고 한다. 이 정육면체는 탁자위에 있으므로, 5개의 면만 보인다.N과 주사위에 쓰여 있는 수가 주어질 때, 보이는 5개의 면에 쓰여 있는 수의 합의 최솟값을 출력하는 프로그램을 작성하시오. 📝입력 첫째 줄에 N이 주어진다. 둘째 줄에 주사위에 쓰여 있는 수가 주어진다. 위의..

[도커] 파일 복사와 이름 지정

도커로 파일을 복사하려면 다음과 같은 명령어를 입력한다. docker ps docker cp [폴더명]/. [name]:/[파일명] 파일명은 ps 를 통해 얻을 수 있다. 그리고 카피할 파일은 로컬 파일 안에 있어야만 한다. 컨테이너를 실행시키면 자동으로 이름이 할당되는데 (like 직박구리) 이 이름을 지정하려면 다음과 같은 명령어를 사용하면 된다. docker run -p 3000:80 -d --rm --name [NAME] [ID] 이제 실행시키고 중지시킬 때 조금 수월해졌다. 도커 파일은 name:tag 형식으로 되어있는데 tag 부분에 버전등을 지정할 수 있다. FROM node:12 # node 버전 12 docker build -t [NAME]:[TAG] 이런식으로 태그를 지정할 수도 있다.

DevOps/도커 2022.08.19

[도커] 이미지 검사

생성한 이미지를 이제 확인해보자 docker images 해당 명령어 입력시 이미지ID, 사이즈 등등 이미지에 대한 정보가 출력된다. 이제 이런 이미지들의 정보를 파악하고 싶다면 아래의 명령어를 사용해주면 된다. docker image inspect [IMAGE ID] 도커의 버전, 사용중인 운영체제, 풀ID 등, 쌓인 레이어 등등 이미지가 어떻게 구성되어 있는지 확인할 수 있다.

DevOps/도커 2022.08.17