분류 전체보기 1180

[Python] KeyboardInterrupt - 프로그램 종료 처리

개요프로그램을 개발하다 보면 프로그램 종료 시 처리되어야 하는 몇 가지 작업이 있을 수 있다. 이번 글에서는 Python 애플리케이션을 종료시킬 때 필요한 작업을 처리할 수 있도록 하기 위한 방법 중 KeyboardInterrupt를 활용한 방법을 정리해 둔다.  KeyboardInterruptKeyboardInterrupt는 사용자가 키보드 동작(ctrl + c, SIGINT)을 사용하여 프로그램 실행을 종료할 때 발생시키는 내장 예외이다. 동작하는데 많은 시간을 필요로 하는 프로그램을 제어할 때 필요할 수 있다. KeyboardInterrupt는 예외이기 때문에 try ~ except 구문으로 처리할 수 있다.try: 작업except KeyboardInterrupt: 종료 작업다만 Keyboa..

Python 2025.01.17

[Azure] Blob Storage 생성

개요2025.01.06-[Azure] Storage Account 만들기에서 Azure의 스토리지 서비스를 사용하기 위한 Storage Account를 생성해보았다. 이번 글에서는 Azure Portal에서 Blob Storage를 생성하는 방법을 적어둔다.  컨테이너 생성Azure Blob Storage에서 데이터에 해당하는 Blob은 Container에 저장된다. 먼저 Container부터 만들어보자. 1. 컨테이너를 생성할 스토리지 계정으로 이동 2. 스토리지 계정 메뉴에서 컨테이너 선택메뉴 > 데이터 스토리지 > 컨테이너로 이동하면 된다. 3. 새 컨테이너 만들기 버튼 클릭 4. 컨테이너 설정 및 생성컨테이너 이름 규칙에 맞게 이름을 지정하고, 익명 액세스 수준 등의 다른 설정을 지정한다. 5. ..

Azure 2025.01.16

[Azure] Storage Account 만들기

개요2025.01.05-[Azure] Blob Storage 란에서 Azure의 개체 스토리지 서비스인 Blob Storage에 대해서 알아보았는데, 이제 실제로 Blob Storage를 구성하고 사용해보려고 한다. 이번 글에서는 Blob Storage를 구성하기 위해 필요한 Storage Account를 생성해보려고 한다.  Storage AccountStorage Account는 2024.12.30-[Azure] Storage 서비스에서 간략하게 설명했으나 여기서 좀 더 자세히 설명한다.Storage Account란 Azure Storage 서비스를 그룹화하는 컨테이너로, 여러 데이터 서비스를 그룹으로 관리할 수 있게 한다.Storage Account 생성 시 지정하거나 생성 후 변경한 설정 사항은 ..

Azure 2025.01.15

[Azure] Blob Storage 란

개요2024.12.30-[Azure] Storage 서비스에서 Azure에서 제공하는 스토리지 서비스의 여러 종류에 대해서 알아보았다. 이번 글에서는 그중 개체 스토리지에 해당하는 Blob Storage에 대해서 알아보려고 한다.  Azure Blob StorageAzure Blob Storage는 클라우드 개체 스토리지로, 텍스트나 이진 데이터 같은 대량의 비정형 데이터를 저장하는데 최적화되어 있다. 또한 분산 접근용 파일 저장, 비디오 및 오디오 스트리밍, 로그 파일 쓰기, 백업/보관용 데이터 저장, 브라우저에 이미지 또는 문서 직접 제공 등의 처리를 위해 설계되었다.사용자는 HTTP/HTTPS를 사용해 Blob Storage에서 접근할 수 있고, 개발자는 Java, Python, Go와 같은 프로그..

Azure 2025.01.14

[Azure] Storage 서비스

개요이전에는 Azure의 가상 머신에 대해서 알아보고 생성도 해봤는데, 스토리지 서비스에 대해서도 좀 알아둘 필요가 있을 것 같다. 이번 글에서는 Azure에서 제공하는 스토리지 서비스에 대해 대략적인 부분을 정리해 둔다.  Storage데이터 스토리지 시나리오를 위한 클라우드 스토리지 솔루션클라우드에서 사용하는 여러 데이터 개체에 대해 고가용성, 대규모 확장성, 내구성 및 보안 스토리지를 제공하고 있어 파일, 메시지, 테이블 등 여러 유형의 정보를 저장하는 데 사용할 수 있다.Azure Storage는 Rest API를 통해 HTTP/HTTPS를 사용하여 어디서나 접근할 수 있으며, 다양한 프로그래밍 언어에서 활용할 수 있도록 클라이언트 라이브러리를 제공한다.  장점Azure Storage는 다음과 같..

Azure 2025.01.13

[백준] 7770 - 아즈텍 피라미드

문제문제 : https://www.acmicpc.net/problem/7770아즈텍 피라미드는 1 * 1 * 1 크기의 정육면체 돌 블록으로 만든다. 피라미드는 먼저 블록 하나를 놓은 뒤, 이후에 놓는 블록은 이전에 놓인 블록과 한 면 전체를 공유해야 한다.블록은 땅 바로 위에 있거나, 블록 아래에 있는 블록의 모든 면이 인접하고 있을 때 안정적이라고 하며, 모든 블록은 안정적이여야 한다.사용할 수 있는 블록의 개수가 주어졌을 때, 블록으로 만들 수 있는 안정적인 피라미드의 높이를 구하여라.   풀이계산하기 편하게 이미 쌓은 블록을 위로 올리고, 바닥에 놓아야 할 블록의 수를 생각해보자.층에 따라 바닥에 최소로 놓아야 하는 블록의 수는 다음과 같다.N층일 때 바닥에 놓아야 하는 최소 블록의 수를 구했다면..

Algorithm/백준 2025.01.10

[백준] 2959 - 거북이

문제문제 : https://www.acmicpc.net/problem/2959300년 동안 살면서 거의 모든 일을 다 해본 거북이는 이제 어떤 것에도 흥미를 느끼지 않는다. 이번 주말에 거북이는 시간을 때울 무언가로 거북이 세계에서 매우 유명한 '가장 큰 직사각형 만들기' 게임을 하려고 한다.게임을 시작하기 위해선 양의 정수 네 개를 먼저 생각해야 한다. 한 방향으로 움직인 후에는 90도 회전하고 새로운 방향으로 움직여야 한다. 이렇게 세 번 회전하고 네 번 움직여 선분 네 개를 만든다.선분을 그릴 때 움직일 걸음의 수가 바로 미리 생각해 둔 네 정수 중 하나이다. 한 정수는 한 번만 사용해야 한다. 정수를 사용하는 순서에 따라서 다양한 모양이 만들어지는데, 정사각형을 찾을 수 없을 수도 있다.만들 수 ..

Algorithm/백준 2025.01.09

[백준] 2903 - 중앙 이동 알고리즘

문제문제 : https://www.acmicpc.net/problem/2903상근이는 친구들과 함께 외계 지형이 필요한 SF 영화를 찍으려고 한다. 외계 지형은 CG로 중앙 이동 알고리즘을 이용해 만들 생각이다. 알고리즘은 다음과 같다.1. 시작하면서 정사각형을 이루는 점 4개를 고른다.2. 정사각형의 각 변의 중앙에 점을 하나 추가한다.3. 정사각형의 중심에 점을 하나 추가한다. 아래 그림은 알고리즘을 2번 거쳤을 때의 모습이다.알고리즘을 N번 거쳤을 때의 점의 개수를 구하여라.   풀이먼저 문제 예시를 살펴보면 알고리즘을 1번 거쳤을 때는 한 변의 점의 개수 3개의 제곱이 전체 점의 개수이고, 2번 거쳤을 때는 한 변의 점의 개수 5개의 제곱이 전체 점의 개수에 해당한다는 것을 알 수 있다.즉, 전체..

Algorithm/백준 2025.01.08

[백준] 4998 - 저금

문제문제 : https://www.acmicpc.net/problem/4998상근이는 은행에 가서 통장을 만들고 N원을 저금했다. 은행은 통장을 만들지 1년이 지날 때마다 통장에 저금되어 있는 돈의 B%만큼을 이자로 적립한다. 상근이는 이 통장에 추가적인 거래를 하지 않았을 때, 몇 년이 지나야 통장에 저금되어 있는 돈이 M원을 넘을지 궁금하다.N, M, B가 주어졌을 때 몇 년이 지나야 하는지 구하여라. 단, 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각, 테스트 케이스는 한 줄이며 N, B, M이 주어진다.   풀이원금에 대한 이자를 연을 기죽으로 더해지는 연 복리를 계산하는 문제다. 복리 계산법은 쉽게 아래와 같이 표현할 수 있다.즉, 이 문제는 아래 공식을 만족하는 지수 \( x \)를 구..

Algorithm/백준 2025.01.07

[YAML] 변수 할당 및 참조 - anchor & alias

개요2024.12.22-[Yaml] 텍스트 표현 - 개행 처리 글을 작성하기 위해 자료를 찾다가 yaml에는 값 재사용을 위한 변수 할당이라는 좋은 문법이 있는 것을 알게 되었다. 변수 할당 방법을 인지하고 있으면 이후에 복잡한 문서도 보다 효율적으로 작성할 수 있을 것 같아 기록차 적어둔다.  anchoryaml에서는 & 기호(anchor)를 사용하여 변수를 선언할 수 있다.key: &var_name value# 예시default: &default_school grade: &default_grade 1 group: 서울대학교 description: 1946년에 설립된 국립대위의 데이터의 경우에는 값 1을 default_grade라는 변수에 저장하고, default 키의 값을 default_..

기타 2025.01.06