We will find a way, we always have.

-interstellar

분류 전체보기 305

[마크다운] 작성해보기

마크다운(Markdown)이란 2004년 UI 디자이너이자 기술 블로거인 존 그루버에 의해 발명된 텍스트 기반의 마크업 언어다. 작성하기도 간편하고 가독성도 뛰어난 언어이다. 확장자는 .md 인데 깃허브에서도 많이 보았던 그 README.md의 .md다. 마크다운의 장점은 메모를 작성하거나 웹 사이트용 콘텐츠를 만들고 인쇄 가능한 문서를 생성하기 쉽고 빠르다는 것이다. 또 배우는데도 오래 걸리지 않는다. 이제 마크다운의 문법을 알아보자!!! Heading 문서의 제목이나 소제목을 작성할 때 사용된다. HTML 삽입 미리보기할 수 없는 소스 Heading 1 Heading 2 heading 3 heading 4 heading 5 heading 6 Paragraph 이런식으로 결과물이 나온다. #은 1개부터..

Skills 2022.09.04

[도커] 바인드 마운트(Bind Mounts)

도커 이미지가 생성될 때, 이들 폴더의 스냅샷만 복사하기 때문에 생성된 후 html 파일을 변경하여도 이미지나 컨테이너에 변경사항이 반영이 되지 않는다. 이는 개발에 있어 치명적이다. 새로운 변경사항이 생겼을 때 항상 모든 것을 다시 시작해야하기 때문이다. 이런 문제점을 해결해주는 것이 바로 바인드 마운트이다. 소스 코드를 바인드 마운트에 넣으면 컨테이너는 이를 인식하여소스 코드를 실제로 스냅샷에서 복사하는 것이 아니라 바인딩 마운트에 복사한다. 그래서 컨테이너는 항상 최신 코드를 엑세스 할 수 있게 된다. 바인드 마운트는 영구적이고 편집 가능한 데이터에 적합하다. 볼륨은 영구적이긴 하지만 호스트 머신에서의 저장 위치를 모르기에 편집은 불가능하다. 바인드 마운트 실행은 터미널에서 가능하다. 이렇게 절대 ..

DevOps/도커 2022.09.02

[도커] 볼륨

도커에는 볼륨이라는 내장 기능이 있는데 이는 데이터를 유지하도록 돕는다. 볼륨은 컨테이너가 종료된 경우에도 지속되며 계속 존재하는데, 만약 컨테이너에 볼륨을 추가하면 컨테이너가 종료되어도 볼륨에 데이터가 남는다. 볼륨은 호스트머신의 폴더인데 도커 컨테이너 내부의 폴더에 매핑된다. 도커의 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이 주어진다. 둘째 줄에 주사위에 쓰여 있는 수가 주어진다. 위의..