파이썬 venv를 conda 처럼 사용

TL;DRUbuntu 기준 venv를 conda와 비슷하게 쓰는 스크립트를 작성.$HOME/~.venvs에 환경을 모아서 관리.venv_create venv_activate venv_deactivate  배경개인은 상관없지만, conda가 유료화되었다.  Pricing | AnacondaAnaconda is the birthplace of Python data science. We are a movement of data scientists, data-driven enterprises, and open source communities.www.anaconda.com이 참에 venv를 써보기로 하였으나, 왠지 불편해 conda처럼 사용하도록 스크립트를 생성(GPT)했다. 스크립트$HOME/.venvs/v..

프로그래밍 2024.07.01 0

파이썬 GIL : multithreading, multiprocessing

안녕하세요. 이 비디오에서는 Python에서 멀티프로세싱과 멀티스레딩을 비교해보겠습니다. 이제 Python의 멀티스레딩과 관련하여 두 가지 주장을 많이 듣습니다. 첫 번째는 Python이 멀티스레드를 지원한다는 것이고, 두 번째는 Python이 멀티스레드를 지원하지 않는다는 것입니다. 그렇다면 어느 것이 맞을까요? 제가 생각하기에는 정확한 표현은 Python이 멀티스레드를 지원하지만 동시에 여러 스레드가 실행될 수 없다는 것입니다. 즉, 두 개의 스레드가 동시에 실행될 수는 없습니다.그렇다면 스레드란 무엇일까요? 이를 이해하기 위해 먼저 프로세스가 무엇인지 알아야 합니다. 프로세스는 프로그램의 인스턴스입니다. 예를 들어, Firefox의 인스턴스나 여러 개의 Microsoft Word 인스턴스가 있을 수..

프로그래밍 2024.06.19 0

파이썬 비동기 프로그래밍

파이썬 Generator Generators - Python WikiGenerator functions allow you to declare a function that behaves like an iterator, i.e. it can be used in a for loop. Simplified Code The simplification of code is a result of generator function and generator expression support provided by Python. To illuswiki.python.org Coroutine 코루틴 - 위키백과, 우리 모두의 백과사전위키백과, 우리 모두의 백과사전. 코루틴(coroutine)은 루틴의 일종으로서, 협동 루틴이라 할..

프로그래밍 2024.06.18 0

Finagle & Thrift

RPC란?원격 프로시저 호출(remote procedure call, RPC)은 별도의 원격 제어를 위한 코딩 없이 다른 주소 공간에서 함수나 프로시저를 실행할 수 있게하는 프로세스 간 통신 기술이다. 다시 말해, 원격 프로시저 호출을 이용하면 프로그래머는 함수가 실행 프로그램에 로컬 위치에 있든 원격 위치에 있든 동일한 코드를 이용할 수 있다.객체 지향의 원칙을 사용하는 소프트웨어의 경우 원격 프로시저 호출을 원격 호출(remote invocation) 또는 원격 메소드 호출(remote method invocation)이라고 일컫는다.출처: 위키백과 RPC vs REST RPC와 REST 비교 - API 아키텍처 간의 차이점 - AWS원격 프로시저 호출(RPC)과 REST는 모두 인터넷 통신을 위해 ..

MLOps 2024.05.09 0

Kubernetes API 클라이언트 사용

최근 많은 팀원들이 서비스, 파이프라인 내에서 k8s 클러스터에서 정보를 얻어와야 하는 경우, 이미지 내에 kubectl을 설치하고 코드에서 kubectl 커맨드를 string으로 저장해 사용하거나(?) 심지어 token값을 string으로 박아 넣으려는(!) 시도를 하고 있음을 깨달았다. 이 부분을 바로 잡으며, 사람들에게 어떤 문의를 많이 받았는지를 바탕으로 정리해보고자 한다. kubectl을 이미지 내 설치한다(?) 사실 불가능한 방법은 아니다. 이미지 내 kubectl 바이너리를 설치해둔다. 서비스가 사용할 적절한 권한의 계정을 추가하고, kubeconfig를 생성한다. configmap으로 kubeconfig를 마운트한다. 이 경우, 코드 에서 시스템 커맨드를 실행하고 결과를 파싱해서 사용하게..

MLOps 2024.02.23 0

stern : 분산 처리 플랫폼 모니터링

Stern GitHub - stern/stern: ⎈ Multi pod and container log tailing for Kubernetes -- Friendly fork of https://github.com/wercker/ster ⎈ Multi pod and container log tailing for Kubernetes -- Friendly fork of https://github.com/wercker/stern - stern/stern github.com Stern은 여러 개의 Kubernetes 파드 및 파드 내의 여러 컨테이너를 추적할 수 있다. 각 결과는 빠른 디버깅을 위해 색으로 구분된다. 여러 개의 컴포넌트를 가진 서비스나, 분산 처리 플랫폼을 모니터링할 때 유용하게 사용할 수 있..

MLOps 2024.02.23 0

[k8s] `kubectl top`

`kubectl top` kubectl top pods -n spark kubectl top nodes 위 명령어로 한 눈에 파드별로 cpu, mem을 얼마나 사용하고 있는지 확인이 가능하며, 노드별로도 얼마나 자원이 사용중인지 확인이 가능하다. 클러스터에 경고나 장애가 나면, Grafana에 들어가지 않고 호다닥 터미널을켜 '누가 spark으로 자원을 얼마나 할당해 쓰고 있나'확인하는 데에 자주 사용하고 있다. Kubernetes Metrics API Resource metrics pipeline For Kubernetes, the Metrics API offers a basic set of metrics to support automatic scaling and similar use cases. T..

MLOps 2024.01.02 0