본문 바로가기

전체 글

Alembic 연동 Alembic은 Python에서 사용되는 데이터베이스 마이그레이션 도구입니다. 기존 데이터베이스와 Alembic을 연동하는 방법을 알아보겠습니다. 1. Alembic 설치 먼저 Python 패키지 관리자인 pip를 사용하여 Alembic을 설치해야 합니다. 명령 프롬프트(Windows) 또는 터미널(Mac/Linux)에서 다음 명령을 실행합니다. pip install alembic 2. Alembic 초기화 Alembic을 사용하려는 프로젝트 루트 디렉토리에서 다음 명령을 실행하여 Alembic을 초기화합니다 alembic init alembic 3. 설정 파일 편집 초기화 명령을 실행하면 `alembic.ini` 파일과 `alembic` 디렉토리가 생성됩니다. `alembic.ini` 파일을 열어 데이.. 더보기
Docker(도커) 용량 초과 이슈, overlay2 정리 클라우드서버에 도커로 개발 서버를 운영 중이었다. CICD를 구성하여 github에 push 할 때마다 기존 컨테이너를 삭제하고 새로 구성하였다. 이렇게 6개월가량 개발을 진행 중이었는데 어느 날 서버의 용량 초과로 이슈가 발생하였다. 스토리지는 무려 50GB로 넉넉하게(?) 할당하였는 데 사용하지 않은 캐시가 많이 쌓인 것 같았다. 이러한 경우 해결하는 방법을 정리하고자 한다. 먼저 아래의 명령어로 Docker의 루트 디렉터리의 위치를 찾는다. docker info | grep "Docker Root Dir" 대부분 아래의 위치에 설치가 되어있을 것이다. Docker Root Dir: /var/lib/docker 해당 디렉터리로 이동한 뒤에 아래 명령어로 어떤 폴더의 용량이 가장 큰지 확인해 본다. d.. 더보기
22.12.19 유부우동&새우튀김 오늘은 2022년 종강이닷!! 올해 마지막 학식 기념으로 한컷! 고춧가루 솔솔솔 뿌려서 새우튀김과 함께 호로록~ 맛은 그냥저냥 휴게소 우동 맛 아직 과제 하나가 남았지만.. 이번 학기도 고생했다^^ 더보기
[메뉴얼] 전동 드라이버 (62 in 1 Electric screwdriver set) 이번에도 아카이빙 용도로 상품 매뉴얼을 포스팅한다. 아래와 같은 미니 전동 드라이버를 구매하였다. 샤오미 와우 스틱이 오랫동안 평이 좋았지만 출시된 지 오래되어 더 최신 제품으로 선택했다. (광군절에 지름..) 써보니 힘이 조금 약하다는 느낌이 들긴 하지만 매우 만족한다!! 아래에 상품 링크도 함께 남겨두겠다. (광고 아닙니다!) Electric Screwdriver 62/28/120pcs IN 1 Screwdriver Set Large Capacity Power Screwdriver Multi-accessory Precision Power Tools https://wkw.one/5kh5j9b 13364.0₩ 54% OFF|전기 드라이버 62/28/120pcs 1 스크루 드라이버 세트 대용량 전원 드라이.. 더보기
[제품 메뉴얼] Electronic Luggage Scale (휴대용 손저울) 제품을 사면 조그마한 매뉴얼이 함께 동봉되어온다. 브랜드 제품이야 메뉴얼이 없어도 구글링 하면 다 나오지만 특히 알리 제품 같은 경우는 언제 역사 속으로 사라질지 모른다ㅎㅎ 이 메뉴얼을 버리자니.. 나중에 필요해질지도 모르고, 보관하자니 거의 안 볼 것 같고 필요해도 찾기가 쉽지 않을 것 같다. 그래서 블로그에 아카이빙하기로 했다. 혹시 매뉴얼을 잃어버려 검색하는 사람도 있을 테니까ㅎㅎ 오늘의 제품은 휴대용 손저울이다. 자작 드론을 만들고 있는데 드론의 무게를 측정하는 데에 요긴하게 쓰일 것 같아서 구매했다. 이번 겨울방학 동안 해외여행도 준비 중인데 캐리어 무게 측정에도 잘 사용할 것 같다. 제품 링크도 함께 남겨놓겠다. 광고 이런 거 아니다! https://wkw.one/zxu02ew 13.0₩ 99.. 더보기
[AWS] CloudFormation 템플릿 구조 Cloud Formation이란? AWS 리소스들을 자동으로 생성해주는 IaC 도구입니다. 코드로 형식으로 작성하기 때문에 재사용에 유리합니다. 템플릿 구조 템플릿은 AWS 인프라를 설명하는 JSON 또는 YAML 형식의 텍스트 파일입니다. 다음 예제에서는 템플릿 구조 및 관련 섹션을 보여줍니다. JSON 아래는 JSON 형식의 템플릿 구조입니다. 더보기 { "AWSTemplateFormatVersion" : "version date", "Description" : "JSON string", "Metadata" : { template metadata }, "Parameters" : { set of parameters }, "Rules" : { set of rules }, "Mappings" : { set.. 더보기
카카오 먹통사태로 알아보는 고가용성, 장애내구성, 재해복구의 차이 고가용성, 장애 내구성, 재해복구가 비슷한 어감으로 혼용되어 쓰이는 경우가 있는 것 같다. 이번 기회에 확실하게 정리하고 넘어가 보고자 한다. - 고가용성(High Availability): 장애 상황을 해결하고 서비스를 지속할 수 있는 능력 - 장애 내구성(Fault Tolerance): 장애 상황에도 서비스를 지속할 수 있는 능력 - 재해 복구 (Disaster Recovery): 장애 상황에서 정상 서비스를 제공할 수 있도록 복구하는 것 최근 '카카오 먹통 사태'를 예로 들어보겠다. SK C&C 판교 데이터센터 한 곳에서 화재가 발생했다. 이로 인해 대부분의 카카오 계열 서비스들이 동시에 오랜 시간 동안 중단되었다. 이는 장애 내구성이 지켜지지 않은 것이다. 장애 내구성이 지켜졌다면, 데이터센터 한.. 더보기
[알고리즘] 회의실 배정 문제의 여러가지 풀이법 (Brute-Force, 분할정복, DP, 그리디) 회의실 배정 문제 회의실 배정 문제를 여러 가지 알고리즘으로 해석해보고자 한다. 문제의 상황은 아래와 같다. 실생활에서 자주 마주할만한 상황이라 재미있다. 회의실은 1개인데, n개의 회의가 있다. 이때 하나의 회의실에서 최대한 많이 회의를 할 수 있도록 스케줄을 잘 짜 보는 것이다. (문제에서 S는 회의 시작시간, F는 회의 종료시간으로 주어진다.) 예를 들면 아래와 같은 상황이 있을 수 있다. 시간표를 어떻게 짜야 가장 많은 회의를 배정할 수 있겠는가? 한번 생각해보자. 백준 1931번에 비슷한 문제가 있으니 참고해도 좋다. https://www.acmicpc.net/problem/1931 1931번: 회의실 배정 (1,4), (5,7), (8,11), (12,14) 를 이용할 수 있다. www.acm.. 더보기

728x90