data science/python 28

(Colab) Youtube 영상을 mp3 화일로 다운로드

Youtube 뮤직 동영상이나 유용한 동영상의 음성부분만 mp3 로 다운로드하고 플때 google 에서 "youtube to mp3"  로 검색하면 여러 사이트가 나오지만 이상한 음란 광고들이 나오기 때문에 꺼리게 되고 사이트 이동이 귀찮다.그래서 아래와 같이 직접 python으로 google colab에서 실행하면 아주 간단하게 다운로드 받을 수 있도록 하자. 사전 준비물: google account google 에 접속에 google 드라이브를 선택내 드라이브에서 마우스 오른쪽 클릭 메뉴에서 Google Colaboratory 를 선택 「+ Code」로 아래와 같이 코드 작성 ( 세션이 종료되면 설치된 패키지가 사라지니  Colab 접속시에 실행 ) !pip install pytubefix 「+ Co..

data science/python 2025.02.01

lambda, map, filter, reduce

lambda 함수를 고정으로 정의해 놓지 않고 필요시에 간단한 형식으로 실행하는 무명함수lambda 파라미터1, 파라미터2, ... : 연산 (파라미터1....)def adder(a, b):     return a + badder_lambda = lambda a, b: a + bdef to_upper(s):      return s.upper()to_upper_lambda = lambda s: s.upper() 프로그래밍을 편의를 위해 미리 정의해 둔 함수들 (map, filter, reduce)map map(function_to_apply, list_of_inputs)입력값의 수 = 처리후의 값의 수items = [1, 2, 3, 4, 5] squared = []for i in items:     sq..

data science/python 2025.01.25

Redis Pub/Sub

사용용도: 인터 PC간 통신, 인터 프로세스 통신, 인터 쓰레드 의 한방향 리얼타임 메세지 통신  ※  Redis :  메모리상의 데이터 구조체로서 퍼포먼스와 다양성으로 유명일본 모TV방송사의  PGA일본투어 생방송에 영어 선수명, 순위정보등의 Telop을 리얼타임으로 일본어로 변환하는 프로젝트에 사용. pip install redis Publisher (제공자) import redis # Connect to local Redis instance redis_client = redis.StrictRedis(host=''localhost'', port=6379, db=0) channel = ''my_channel'' while True:     message = input("Enter a message: "..

data science/python 2024.09.09

Thread vs ThreadPool vs ThreadPoolExecutor

ThreadPoolThreadPool ThreadPoolExecutor생성쓰레드 수수동 Thread 1 = Task 1개파라미터로 지정가능디폴트=(논리CPU수 + 4)파라미터로 지정가능디폴트=(논리CPU수 + 4)최적의 용도적은 수로 동시에 실행이 필요한 경우모든 쓰레드가 동시에 실행되지는 않고 비어 있거나 I/O 등의 기다림이 있어 양보된 쓰레드에 실행되게 된다.같은 태스크 내용으로 파라미터만 달리하여 많은 수의 쓰레드를 실행하는 경우.모든 쓰레드가 동시에 실행되지는 않고 비어 있거나 I/O 등의 기다림이 있어 양보된 쓰레드에 실행되게 된다. 같은 태스크 내용으로 파라미터만 달리하여 많은 수의 쓰레드를 실행하는 경우.결과의 리턴불가능가능가능취소기능불가능불가능실행되기 전의 태스크에 한해가능※ Thread..

data science/python 2024.05.11

threading / multiprocessing / asyncio

wikipedia에서 랜덤 100 페이지의 타이틀을 화일로 저장하는 샘플로서 multiprocessing과 async 를 이용하여 처리속도의 향상을 보여주고 있다.multiprcessing : 계산등의 CPU 의존적인 처리에 유리 async : 화일 I/O, 네트워크 I/O 등의 Blocking처리에 유리위의 둘을 이용하여 처리속도를 향상import asyncio                                         # Gives us async/await import concurrent.futures                        # Allows creating new processes import time from math import floor               ..

data science/python 2024.05.02

image byte 데이터 <-> numpy string

인터넷 스트림으로 이미지를 전송할 경우 이미지 데이터는 string 형식으로 변환해야 한다.import numpy as np import base64 import sys def base64_encode_image(a):     # base64 encode the input NumPy array     return base64.b64encode(a).decode("utf-8") def base64_decode_image(a, dtype, shape):     # if this is Python 3, we need the extra step of encoding the     # serialized NumPy string as a byte object     if sys.version_info.major =..

data science/python 2024.04.29

문자열 리스트 조작

my_list = [ 'I', 'am', 'a', 'boy' ] 스페이스를 넣어 붙이기 my_list_str = ' '.join(my_list) -> 'I am a boy' 인덱스로 뽑아내기 # list 에 있어서 범위밖의 인덱스를 지정하면 예외 발생 my_str = my_list[10]    (x) # 레인지지정시 범위밖이라도 예외는 발생하지 않는다. my_str = my_list[6: ] ->  공백  my_list = [1, 2, 3, 4, 5] 숫자 리스트를 문자열로 변환 my_lst_str = ''.join(map(str, my_lst)) -> 12345

data science/python 2024.02.02