๐ป(155)
-
ํ์ด์ฌ 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 -
Youtube ์์์ ํ ์คํธ๋ก ๋ณํ
How to transform YouTube videos into Searchable Text using LLM and PythonThis article delves into the exciting world of audio processing and information retrieval using Python. It outlines a step-by-step guide…danielsepulvedaestay.medium.com
2024.06.19 -
ํ์ด์ฌ GIL : multithreading, multiprocessing
์๋ ํ์ธ์. ์ด ๋น๋์ค์์๋ Python์์ ๋ฉํฐํ๋ก์ธ์ฑ๊ณผ ๋ฉํฐ์ค๋ ๋ฉ์ ๋น๊ตํด๋ณด๊ฒ ์ต๋๋ค. ์ด์ Python์ ๋ฉํฐ์ค๋ ๋ฉ๊ณผ ๊ด๋ จํ์ฌ ๋ ๊ฐ์ง ์ฃผ์ฅ์ ๋ง์ด ๋ฃ์ต๋๋ค. ์ฒซ ๋ฒ์งธ๋ Python์ด ๋ฉํฐ์ค๋ ๋๋ฅผ ์ง์ํ๋ค๋ ๊ฒ์ด๊ณ , ๋ ๋ฒ์งธ๋ Python์ด ๋ฉํฐ์ค๋ ๋๋ฅผ ์ง์ํ์ง ์๋๋ค๋ ๊ฒ์ ๋๋ค. ๊ทธ๋ ๋ค๋ฉด ์ด๋ ๊ฒ์ด ๋ง์๊น์? ์ ๊ฐ ์๊ฐํ๊ธฐ์๋ ์ ํํ ํํ์ Python์ด ๋ฉํฐ์ค๋ ๋๋ฅผ ์ง์ํ์ง๋ง ๋์์ ์ฌ๋ฌ ์ค๋ ๋๊ฐ ์คํ๋ ์ ์๋ค๋ ๊ฒ์ ๋๋ค. ์ฆ, ๋ ๊ฐ์ ์ค๋ ๋๊ฐ ๋์์ ์คํ๋ ์๋ ์์ต๋๋ค.๊ทธ๋ ๋ค๋ฉด ์ค๋ ๋๋ ๋ฌด์์ผ๊น์? ์ด๋ฅผ ์ดํดํ๊ธฐ ์ํด ๋จผ์ ํ๋ก์ธ์ค๊ฐ ๋ฌด์์ธ์ง ์์์ผ ํฉ๋๋ค. ํ๋ก์ธ์ค๋ ํ๋ก๊ทธ๋จ์ ์ธ์คํด์ค์ ๋๋ค. ์๋ฅผ ๋ค์ด, Firefox์ ์ธ์คํด์ค๋ ์ฌ๋ฌ ๊ฐ์ Microsoft Word ์ธ์คํด์ค๊ฐ ์์ ์..
2024.06.19 -
ํ์ด์ฌ ๋น๋๊ธฐ ํ๋ก๊ทธ๋๋ฐ
ํ์ด์ฌ 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 -
Finagle & Thrift
RPC๋?์๊ฒฉ ํ๋ก์์ ํธ์ถ(remote procedure call, RPC)์ ๋ณ๋์ ์๊ฒฉ ์ ์ด๋ฅผ ์ํ ์ฝ๋ฉ ์์ด ๋ค๋ฅธ ์ฃผ์ ๊ณต๊ฐ์์ ํจ์๋ ํ๋ก์์ ๋ฅผ ์คํํ ์ ์๊ฒํ๋ ํ๋ก์ธ์ค ๊ฐ ํต์ ๊ธฐ์ ์ด๋ค. ๋ค์ ๋งํด, ์๊ฒฉ ํ๋ก์์ ํธ์ถ์ ์ด์ฉํ๋ฉด ํ๋ก๊ทธ๋๋จธ๋ ํจ์๊ฐ ์คํ ํ๋ก๊ทธ๋จ์ ๋ก์ปฌ ์์น์ ์๋ ์๊ฒฉ ์์น์ ์๋ ๋์ผํ ์ฝ๋๋ฅผ ์ด์ฉํ ์ ์๋ค.๊ฐ์ฒด ์งํฅ์ ์์น์ ์ฌ์ฉํ๋ ์ํํธ์จ์ด์ ๊ฒฝ์ฐ ์๊ฒฉ ํ๋ก์์ ํธ์ถ์ ์๊ฒฉ ํธ์ถ(remote invocation) ๋๋ ์๊ฒฉ ๋ฉ์๋ ํธ์ถ(remote method invocation)์ด๋ผ๊ณ ์ผ์ปซ๋๋ค.์ถ์ฒ: ์ํค๋ฐฑ๊ณผ RPC vs REST RPC์ REST ๋น๊ต - API ์ํคํ ์ฒ ๊ฐ์ ์ฐจ์ด์ - AWS์๊ฒฉ ํ๋ก์์ ํธ์ถ(RPC)๊ณผ REST๋ ๋ชจ๋ ์ธํฐ๋ท ํต์ ์ ์ํด ..
2024.05.09 -
Kubernetes API ํด๋ผ์ด์ธํธ ์ฌ์ฉ
์ต๊ทผ ๋ง์ ํ์๋ค์ด ์๋น์ค, ํ์ดํ๋ผ์ธ ๋ด์์ k8s ํด๋ฌ์คํฐ์์ ์ ๋ณด๋ฅผ ์ป์ด์์ผ ํ๋ ๊ฒฝ์ฐ, ์ด๋ฏธ์ง ๋ด์ kubectl์ ์ค์นํ๊ณ ์ฝ๋์์ kubectl ์ปค๋งจ๋๋ฅผ string์ผ๋ก ์ ์ฅํด ์ฌ์ฉํ๊ฑฐ๋(?) ์ฌ์ง์ด token๊ฐ์ string์ผ๋ก ๋ฐ์ ๋ฃ์ผ๋ ค๋(!) ์๋๋ฅผ ํ๊ณ ์์์ ๊นจ๋ฌ์๋ค. ์ด ๋ถ๋ถ์ ๋ฐ๋ก ์ก์ผ๋ฉฐ, ์ฌ๋๋ค์๊ฒ ์ด๋ค ๋ฌธ์๋ฅผ ๋ง์ด ๋ฐ์๋์ง๋ฅผ ๋ฐํ์ผ๋ก ์ ๋ฆฌํด๋ณด๊ณ ์ ํ๋ค. kubectl์ ์ด๋ฏธ์ง ๋ด ์ค์นํ๋ค(?) ์ฌ์ค ๋ถ๊ฐ๋ฅํ ๋ฐฉ๋ฒ์ ์๋๋ค. ์ด๋ฏธ์ง ๋ด kubectl ๋ฐ์ด๋๋ฆฌ๋ฅผ ์ค์นํด๋๋ค. ์๋น์ค๊ฐ ์ฌ์ฉํ ์ ์ ํ ๊ถํ์ ๊ณ์ ์ ์ถ๊ฐํ๊ณ , kubeconfig๋ฅผ ์์ฑํ๋ค. configmap์ผ๋ก kubeconfig๋ฅผ ๋ง์ดํธํ๋ค. ์ด ๊ฒฝ์ฐ, ์ฝ๋ ์์ ์์คํ ์ปค๋งจ๋๋ฅผ ์คํํ๊ณ ๊ฒฐ๊ณผ๋ฅผ ํ์ฑํด์ ์ฌ์ฉํ๊ฒ..
2024.02.23