개요 파이썬은 편리성과 강력함으로 많은 개발자에게 사랑받는 프로그래밍 언어입니다. 파이썬에서 편리함을 주는 기능들은 많이 있겠지만 자동적으로 진행되는 Garbage Collection(GC)도 하나의 큰 요소로 작용합니다. 파이썬의 가비지 컬렉션(GC) 시스템은 자동으로 메모리 관리를 수행함으로써, 개발자가 프로그램의 복잡성에 신경 쓰지 않고 더 중요한 알고리즘 구현과 최적화에 집중할 수 있도록 도와줍니다. 이는 특히 메모리 관리가 필수적인 큰 프로젝트나 서비스에서 더욱 큰 장점으로 작용합니다. 해당 글은 이전 글인 ”파이썬은 모든 것이 객체?”를 보고 오시면 이해가 더 쉽습니다. 파이썬의 가비지 컬렉션 방식 레퍼런스 카운팅(Reference Counting) 마크-앤-스윕(Mark-and-Sweep) ..
Contents
개요 Fastapi에서 async를 통해 비동기 함수를 어떻게 처리하는지 동작 방식에 대해서 학습하기 위해 작성한 글이며 코드를 통해 여러가지 상황에 대해서 실험을 진행한 내용에 대해서 설명한 글입니다. FastAPI의 비동기 처리 FastAPI에서는 동기함수들을 비동기적으로 실행할 수 있게 해준다. 동기 함수를 이벤트 루프에 등록할시에는 이벤트 루프는 단일 스레드로 작동하기 때문에 동기 함수는 이벤트 루프의 메인 스레드를 차단하고, 다음 작업을 진행하지 못하는 상황이 생긴다. 따라서, 이벤트루프를 차단하지 않고 백그라운드에서 동기 함수를 실행할 수 있게 하기 위하여 분기처리를 진행합니다. 그래서 이벤트 루프는 다른 비동기 작업을 계속 진행할 수 있습니다. run_endpoint_function이라는 함..
※"이것이 코딩 테스트다"의 저자인 나동빈 님의 유튜브 강의를 보고 학습을 위해 정리한 글입니다. 예제 어떠한 수 N이 1이 될 때 까지 다음의 두 과정 중 하나를 반복적으로 선택하여 수행하려고 한다. 단, 두번째 연산은 N이 K로 나누어떨어질 때만 선택할 수 있다. N에서 1을 뺀다. N을 K로 나눈다. 예를 들어 N이 17, K가 4라고 가정하자. 이때 1번의 과정을 한 번 수행하면 N은 16이 된다. 이후에 2번의 과정을 두 번 수행하면 N은 1이 된다. 결과적으로 이경우 전체과정을 실행한 횟수는 3이된다. 이는 N을 1로 만드는 최소 횟수이다. N과 K가 주어질 때 N이 1이 될 때까지 1번 혹은 2번의 과정을 수행해야하는 최소 횟수를 구하는 프로그램을 작성하시오 입력조건 - 첫째줄에 N(2
프로그램(Program) 프로그램(Static Program)은 실행 가능한 코드의 모음으로, 디스크와 같은 저장 매체에 저장되어 있습니다. 이것은 정적인 상태로 존재하며, 사용자가 실행을 요청할 때까지 아무런 작업도 수행하지 않습니다. 프로그램은 명령어들과 함께 데이터와 메타데이터를 포함할 수 있습니다. 실행되기 위해서는 프로세스로 변환되어야 합니다. 프로세스(Process) 프로세스는 실행 중인 프로그램의 인스턴스입니다. 운영 시스템은 프로세스를 관리하여 CPU 시간, 메모리 공간 등의 자원을 할당합니다. 프로세스는 자신만의 주소 공간과 실행에 필요한 다양한 자원들(예: 파일 핸들, 네트워크 연결 등)을 가지며, 하나 이상의 쓰레드를 포함할 수 있습니다. 쓰레드(Thread) 쓰레드는 프로세스 내에서..
쿠버네티스 클러스터를 위한 가상 머신 설정 컨테이너화된 애플리케이션을 배포하기 위한 견고한 환경을 구축하기 위해, 한 개의 마스터 노드와 두 개의 워커 노드로 서비스할 총 세 개의 가상 머신을 Oracle VM VirtualBox를 사용하여 설정하였습니다. 이 가상 머신들의 상세 사양과 설정은 다음과 같습니다: 운영 체제 및 리소스 할당 OS: Ubuntu 22.04 CPU: 1코어 RAM: 8GB HDD: 50GB 각 가상 머신은 쿠버네티스 클러스터의 마스터 1개, 노드 2개로 구성되어 있으며, 이를 위해 위와 같은 사양으로 세 개의 머신이 실행됩니다. 쿠버네티스 클러스터를 위한 네트워크 설정 Bridge Adapter Bridge Adapter 모드는 VM이 호스트 PC와 동일한 네트워크에 속하게 하..