반응형 개발로그95 구글드라이브에서 API로 파일 탐색을 할 때, 어떻게 하는게 더 효율적일까? feat ChatGPT 문제: 구글시트에서 구글드라이브의 경로가 적힌 문자열을 읽어서 구글드라이브의 폴더를 찾고, 하위폴더 포함하여 mp3파일을 모두 검색한 뒤 랜덤으로 하나를 선택해야하는 조건. 이 동작은 경로를 바꿔가면서 계속 수행해야함. 즉 단일성 이벤트가 아닌 것을 고려. 스프레드시트에 있는 경로: '공유문서함/share/music/ost' 두가지 탐색 방법이 GPT와 대화해본 결과 ..나왔다. [ Google Drive 경로 문자열 기반 탐색]첫번째는 경로의 가장 하위( 위 예제에서 ost)의 폴더 아이디를 찾아 그 아이디로부터 하위 폴더를 탐색함. (*폴더 아이디는 주소표시줄에 있긴한데, API로도 얻을 수 있더라) 동작:share 폴더 검색 → ID 획득해당 ID 기준으로 music 폴더 검색 → ID 획득.. 2025. 3. 11. Pygame에서 나오는 모든 소리를 하나의 파일(wav)로 저장하는 방법 여러 소리를 동시에 나오게 하려다보니 pygame.mixer.Sound() 를 사용해야하고 , 다시 그 소리들을 하나의 파일로 저장해야할 때. 오디오 출력을 캡처하여 파일로 저장해야한다고 함. 오디오 출력을 캡처하기위한 sou nddevice와 numpy를 활용해서 시스템 오디오 출력을 녹음해보자. 필요한 라이브러리pip install sounddevice numpy scipy pygame 예제코드 (단일채널을 사용하는 경우)import pygameimport sounddevice as sdimport numpy as npimport scipy.io.wavfile as wavimport threadingimport time# 녹음 설정SAMPLE_RATE = 44100 # 표준 샘플링 레이트 .. 2025. 3. 10. threading.Event() 객체의 활용 예제 및 백그라운드 실행 정리 1. threading.Event() 객체의 사용 🎯 threading.Event()란?threading.Event()는 스레드 간의 동기화를 도와주는 객체 스레드가 특정 이벤트(신호)를 기다리도록 만들고, 다른 스레드가 신호를 보내서 진행을 제어할 수 있음.🎯 threading.Event()의 주요 기능event.set() → 이벤트 신호를 발생(켜기)event.clear() → 이벤트 신호를 리셋(끄기)event.wait() → 이벤트가 발생할 때까지 기다림🎯 threading.Event()를 사용할 때의 장점✅ 스레드 간 동기화✅ 불필요한 CPU 사용 방지 (while 루프 대신 wait() 사용)✅ 메인 프로세스가 특정 작업이 끝날 때까지 기다릴 수 있음 하나의 파일에서 여러 스레드를 컨.. 2025. 3. 9. FFmpeg 다운로드 및 설치 🚀 순서 FFmpeg 설치 & 환경 변수 추가ffplay -version으로 정상 작동 확인ffplay를 사용하여 직접 재생 테스트Python 코드에서 subprocess로 실행FFmpeg 없이 pygame 또는 pydub으로 재생도 가능 ✅ 1) FFmpeg 다운로드 및 설치FFmpeg 공식 웹사이트로 이동Windows용 FFmpeg 다운로드:Windows → Get packages & executable files 클릭Gyan.dev 또는 BtbN 사이트로 이동하여 "ffmpeg-release-full.zip" 다운로드다운로드한 .zip 파일을 압축 해제예: C:\ffmpeg 경로에 압축을 풀기✅ 2) 시스템 환경 변수에 FFmpeg 경로 추가FFmpeg가 어디서든 실행되도록 하기 위해 환경 변수를.. 2025. 3. 8. Google Drive에 있는 파일을 다운로드하는 세가지 방법 pip install google-api-python-client google-auth google-auth-oauthlib google-auth-httplib2요즘 하는 프로젝트에서 배운 3가지 다운로드 방법을 정리한다. 1. requests 로 다운로드2. gdown을 이용해서 다운로드3. Google drive api를 이용해서 다운로드 나는 mp3파일을 다운로드 해야했으므로, 파일이 중간에 깨지면 (스트림이 중단되면) 온전한 파일로 인식하지 못해 문제가 생겼다. 그래서 1->2>을 거쳐 3번 방법을 시도해보기에 이르렀다. 물론 wget 도 시도했지만 역시나 실패.. 1. requests먼저 requests로 다운로드 하는 방법이다. 필자는 mp3파일이라서 사용하지 못했지만 일반적인 파일에는 적용.. 2025. 3. 7. Vscode or Jupyter notebook conda 환경에서 실행되도록 설정하기 vscode 에서 conda환경에 구축된 프로젝트 코드를 실행할 때, 위 처럼 conda 환경에서 실행이 되지 않을때, ... -_- 🔹 확인 방법 (conda 환경에서 실행되도록 설정)✅ 1. 현재 사용 중인 conda 환경 확인아래 명령어를 실행하여 현재 어떤 conda 환경이 활성화되어 있는지 확인 bash conda info --envs * 표시된 것이 현재 활성화된 환경임, 만약 다른 환경을 사용하려면 conda activate [환경명]✅ 2. pygame을 Conda 환경에 설치먼저, conda 환경을 활성화하고 pygame을 설치해야 합니다.bash conda activate [환경명] 환경이 활성화 되었다면, 위 그림처럼 (좌측) 괄호안에 환경명이 표시됩니다.✅ 3. [터미널에서 ].. 2025. 3. 6. 머신러닝 과 딥러닝에 관한 단단한 요약 머신러닝이란 보유하고있는 데이터에서 다양한 통계적/비통계적 기법들을 활용하여, 유의미한 정보를 추출하는 방법 혹은 이론 = 데이터에서 다양한 판단 기준들을 최대한 모두 만족시키도록 반복학습하여, 사람보다 똑똑한 자동화 모델을 만드는 방법 = 데이터에서 다양한 Feature들을 최대한 모두 만족시키도록 학습하여, 데이터에 일반화 된 모델을 만드는 방법(단, 다양한 feature들은 그 분야, 데이터를 잘 아는 사람 즉 전문가에 의해서 주로 만들어야 함. 유의미한 Feature들을 추출하기 위해 복잡한 사전지식 필요) 딥러닝이란 보유한 데이터에서 복작한 사전지식 없이, 유의미한 정보로 변환하는 공식을 찾아주는 기법 = 데이터에서 다양한 판단기준들을 최대한 모두 만족시키도록 반복학습하여, 사람보다 똑똑한 자동.. 2023. 2. 20. ReactNative Animated Interpolation 예제 이전글 2023.01.31 - [개발로그/ReactNative] - react native Animated 를 사용할때 알아야할 절대 Rules! 2023.01.31 - [개발로그/ReactNative] - React Native Animated - 애니메이션 value 를 수정하기 위해 사용하는 것들. 예제 포함 2023.02.01 - [개발로그/ReactNative] - 에러가 있는 코드로부터 배운다. React Native Animated 에서의 Value 수정하기(useRef) Interpolation (공부중) inputRange의 데이터를 주면 ouputRange 데이터값들로 변환하여 반환해준다. const opacity = Y_POSITION.interpolate({ inputRange: [.. 2023. 2. 20. 이전 1 2 3 4 5 6 ··· 12 다음 반응형