일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 분당맛집
- CLASS
- ROS2
- ros
- 티스토리챌린지
- 오블완
- 맛집
- no space left on device
- string
- Torch
- openAI
- linux
- error
- opencv
- python
- 스팸
- pytorch
- GPT
- humble
- 판교
- 딥러닝
- timm
- ubuntu
- ChatGPT
- CUDA
- Android
- socketio
- TTS
- tensorflow
- 터미널
- Today
- Total
목록Study (73)
RoBoLoG
Python에서 디스크립터란 무엇인가? 파이썬에서 디스크립터(descriptor)는 객체의 어트리뷰트에 대한 접근을 커스텀 제어하는 메커니즘을 제공합니다. 디스크립터는, 간단히 말해, __get__, __set__, 또는 __delete__ 메서드를 구현한 클래스입니다. 이 메서드들은 어트리뷰트에 접근, 할당, 삭제할 때 호출됩니다. 디스크립터를 사용하는 주된 이유는 코드 재사용과 데이터 관리를 캡슐화하기 위해서입니다. 예를 들어, 특정 타입의 데이터를 갖는 어트리뷰트나 값의 범위를 검증하는 로직을 중복 없이 여러 클래스에 적용할 수 있습니다. 예시 예를 들어, 어떤 클래스의 특정 어트리뷰트가 항상 양수여야 한다고 가정해 보겠습니다. 이를 위해 디스크립터 클래스를 생성하여 __set__ 메서드에서 검증 ..
파이썬에서 "wrapper"는 일반적으로 두 가지 주요한 맥락에서 사용됩니다: 데코레이터(Decorator)와 래퍼 클래스(Wrapper Class)입니다. 각각의 맥락에서 wrapper의 기능은 다음과 같습니다: 1. 데코레이터에서의 Wrapper 데코레이터는 함수나 메서드의 기능을 수정하거나 확장할 때 사용됩니다. 이 경우, "wrapper"는 데코레이터 내부에 정의된 함수를 가리키며, 원래의 함수를 '감싸는(wrap)' 역할을 합니다. 기본적인 구조는 다음과 같습니다: def decorator(func): def wrapper(*args, **kwargs): # 여기서 추가적인 작업을 수행 result = func(*args, **kwargs) # 여기서 추가적인 작업을 수행 return resul..
super().__init__()를 사용하는 이유는 파이썬 클래스에서 상속을 다룰 때 중요합니다. super() 함수는 자식 클래스에서 부모 클래스의 메서드에 접근할 수 있게 해주며, 이는 특히 초기화 메서드 __init__에 자주 사용됩니다. 클래스 만들 때 super().__init__() 사용하는 이유 코드 재사용: 부모 클래스의 초기화 코드를 재사용하여 중복을 줄일 수 있습니다. 확장성: 부모 클래스의 초기화 과정이 변경되어도, 자식 클래스 코드를 수정할 필요가 없습니다. 다중 상속 지원: 여러 부모 클래스들의 __init__ 메서드를 호출할 때 super()를 사용하여 각각의 부모 클래스를 적절하게 초기화할 수 있습니다. 예시 class Animal: def __init__(self, name)..
클래스와 서브클래스 알아보기 파이썬에서 클래스와 서브클래스를 사용하는 것은 객체 지향 프로그래밍의 핵심 개념 중 하나입니다. 클래스는 객체의 청사진(blueprint)을 제공하며, 서브클래스는 부모 클래스로부터 속성과 메소드를 상속받아 확장하거나 수정할 수 있습니다. 다음은 파이썬에서 클래스와 서브클래스를 정의하고 사용하는 예시입니다: 기본 클래스: Vehicle class Vehicle: def __init__(self, brand, model): self.brand = brand self.model = model def display_info(self): return f"Brand: {self.brand}, Model: {self.model}" Vehicle 클래스는 차량의 기본적인 속성인 brand..
파이썬에서 클래스나 객체 내의 보호(protected) 속성은 일반적으로 언더스코어(_) 하나로 시작하는 이름을 사용하여 정의합니다. 이러한 네이밍 컨벤션은 해당 속성이 클래스 내부와 서브클래스에서만 사용될 것임을 나타내며, 외부에서의 직접적인 접근을 피하기 위한 것입니다. 다음은 보호 속성을 사용하는 간단한 클래스의 예시입니다. class Car: def __init__(self, make, model): self._make = make # 보호 속성 self._model = model # 보호 속성 def describe_car(self): return f"This is a {self._make} {self._model}." # 서브클래스 예시 class ElectricCar(Car): def __i..
이름을 정의하는 방식이 모듈, 클래스, 함수, 객체, 변수, 속성 등에 따라 차이가 있다. 변수 권장 명명 규칙 함수, 객체, 변수 이름의 첫 글자는 소문자를 사용한다. 예시: myFunction, userAge, dataFrame 클래스 이름의 첫 글자는 대문자를 사용한다. 예시: Car, UserAccount, DataProcessor 이름을 두 단어 이상으로 쓸 때는 두 번째 단어의 첫 글자를 대문자로 쓴다. 클래스의 예시: BankAccount, ElectricCar, FileReader 변수나 함수의 예시: calculateInterest, findUser, getFinalScore 클래스나 객체 내의 보호 속성을 정의할 때는 첫 글자를 밑줄(_)부터 시작한다. 예시: _protectedAttr..
프로그램이 죽으면 다시 시작하는 Python 코드 알 수 없는 오류로 프로그램은 계속 죽고 시연 날짜는 다가오고 쉽지 않은 하루가 이어지고 있습니다. 하지만 아래 코드를 통해 프로그램이 죽으면 다시 시작하도록 할 수 있습니다! import psutil # psutil 라이브러리를 임포트합니다. 이 라이브러리를 사용하여 프로세스를 관리합니다. import subprocess # subprocess 라이브러리를 임포트합니다. 이 라이브러리를 사용하여 외부 명령어를 실행합니다. import time # time 라이브러리를 임포트합니다. 이 라이브러리를 사용하여 시간 지연을 구현합니다. # 실행 중인 프로세스 중에서 특정 프로세스 이름이 있는지 확인하는 함수를 정의합니다. def is_process_runni..
Google Cloud Text-To-Speech를 사용해보자! 월간 무료 제공량이 많아서 개인적인 목적으로 사용하기에 참 괜찮은 것 같습니다. 더보기 Text-to-Speech 가격은 서비스로 전송되어 오디오로 합성되는 문자 수(영문 기준)를 기준으로 매월 책정됩니다. 매월 WaveNet 음성의 100만 자가 무료로 제공됩니다. 표준(WaveNet 이외) 음성의 경우 매월 400만 자가 무료로 제공됩니다. Text-to-Speech는 무료 등급 할당량에 도달한 후부터 처리되는 텍스트에 대해 100만 자 단위로 가격이 책정됩니다. Google Cloud Text-To-Speech API KEY를 발급받았다는 전제하에 진행합니다! 1. python 패키지 설치 pip install google-cloud-..
[Python] bing-image-downloader를 이용한 이미지 크롤링 bing-image-downloader 라이브러리를 사용하여 Bing 이미지 검색에서 이미지를 크롤링하는 방법은 간단합니다. 아래는 bing-image-downloader 라이브러리를 활용한 이미지 크롤링 예시입니다. 1. bing-image-downloader 라이브러리 설치하기 bing-image-downloader 라이브러리를 설치하기 위해 터미널 또는 명령 프롬프트에서 다음 명령을 실행합니다. pip install bing-image-downloader 2. 이미지 크롤링 코드 작성하기 from bing_image_downloader import downloader def download_images(keyword, l..
[JAVA] TextToSpeech (TTS) 안드로이드 TTS 한국어 목소리 바꾸기 Android에서 JAVA로 TextToSpeech를 보여주는 예시는 많지만 목소리를 바꿔주는 예시는 없어서 만들어보았습니다. TextToSpeech 객체 이름이 tts일 때 아래와 같이 목소리를 세팅해줄 수 있습니다. Set voices = tts.getVoices(); // 사용 가능한 목소리들 // ko-KR-language, ko-kr-x-ism-local, ko-kr-x-koc-local, ko-kr-x-kob-local, ko-kr-x-kod-local Voice voice = voices.stream() .filter(v -> v.getName().equals("ko-kr-x-ism-local")) .fin..