본문 바로가기

Python73

[Python] 파이썬에서 쓰레드 사용하기 멀티스레딩은 파이썬에서 동시에 여러 작업을 수행할 수 있는 효과적인 방법 중 하나입니다. 이 글에서는 파이썬의 `threading` 모듈을 사용한 기본적인 쓰레드 사용법과 예제를 소개하겠습니다. 이를 통해 독자들은 파이썬에서 멀티스레딩을 어떻게 활용할 수 있는지 이해하고, 자신의 프로젝트에 적용할 수 있을 것입니다. #### 1. 쓰레드란 무엇인가? 쓰레드는 가장 기본적인 소프트웨어 실행의 단위입니다. 하나의 프로세스 내에서 동작하는 여러 실행 흐름을 만들 때 사용되며, 이를 통해 멀티태스킹을 구현할 수 있습니다.  #### 2. `threading` 모듈 소개 파이썬의 `threading` 모듈은 스레드를 생성하고 관리하는 데 필요한 도구를 제공합니다. 이 모듈을 사용하면 간단하게 스레드를 만들고 .. 2024. 4. 25.
[Python] getattr() 활용하기 Python의 `getattr()` 함수는 객체의 속성 값에 동적으로 접근할 때 굉장히 유용합니다. 이 글에서는 `getattr()`의 기본 사용법부터 시작해, 실제 개발 상황에서 어떻게 활용될 수 있는지 살펴보겠습니다. `getattr()` 기본 사용법 `getattr()` 함수는 기본적으로 객체와 속성 이름을 인자로 받습니다. 존재하지 않는 속성에 접근하려 할 때는, 선택적으로 기본값을 제공할 수 있습니다. class Person: def __init__(self, name, age): self.name = name self.age = age person = Person("Jane Doe", 28) # 속성 접근 print(getattr(person, 'name')) # 출력: Jane Doe pri.. 2024. 4. 16.
[Python] 상속을 이용한 추가적인 기능들 파이썬에서 클래스 상속을 통해 사용할 수 있는 추가적인 기능들은 객체 지향 프로그래밍의 깊은 이해와 유연성을 제공합니다.오늘은 상속을 활용할 수 있는 몇 가지 주요 기능들을 소개합니다 클래스를 생성하고 상속을 하는 방법은 다음 포스팅을 참조 하세요 https://stickode.tistory.com/1147 1. 메서드 오버라이딩 (Method Overriding) 상속받은 자식 클래스에서 부모 클래스의 메서드를 재정의하여 사용할 수 있습니다. 이를 통해 자식 클래스는 상속받은 메서드의 기능을 확장하거나 변경할 수 있습니다. class Parent: def greet(self): print("Hello from the Parent class.") class Child(Parent): def greet(s.. 2024. 4. 7.
[Python]파이썬에서 클래스 만들기와 상속하기 파이썬은 객체 지향 프로그래밍(OOP)을 지원하는 강력한 프로그래밍 언어입니다. 클래스와 상속은 OOP의 핵심 개념으로, 코드의 재사용성, 유지 보수성, 그리고 모듈성을 높여줍니다. 이 글에서는 파이썬에서 클래스를 정의하는 방법과 클래스 상속을 사용하는 방법을 소개하겠습니다. 클래스 정의하기 클래스는 객체의 설계도와 같습니다. 이를 통해 데이터와 메서드(클래스 내의 함수)를 하나의 캡슐화된 유닛으로 묶을 수 있습니다. 파이썬에서 클래스를 정의하는 기본 구조는 다음과 같습니다 class ClassName: def __init__(self, parameters): # 초기화 메서드, 객체 생성 시 호출됩니다. self.attribute = parameters def method_name(self, param.. 2024. 3. 29.
[Python] 페이지네이션으로 업비트에서 비트코인의 모든 1분봉 가져오기 업비트 정책 상 한 번에 가져올 수 있는 1분봉의 최대 개수는 200개입니다. 더 이전의 기록을 가져오고 싶다면 페이지네이션을 활용해야하는데요. 아래는 그 예제입니다. 예제에서 사용할 테이블을 생성하는 쿼리는 아래와 같습니다. CREATE TABLE upbit_bitcoin_candle_minute ( market VARCHAR(10), candle_date_time_utc DATETIME, candle_date_time_kst DATETIME, opening_price DECIMAL(20, 8), high_price DECIMAL(20, 8), low_price DECIMAL(20, 8), trade_price DECIMAL(20, 8), timestamp BIGINT, candle_acc_trade_.. 2024. 3. 13.
[Python] FastAPI를 사용해서 서버 만들기 https://stickode.tistory.com/1051 https://stickode.tistory.com/1062 저번 시간에 이어서, 오늘은 DB에 저장해둔 데이터를 시각화해보겠습니다. 코드에서 user와 password는 본인의 DB 설정에 맞게 변경하셔야합니다. MariaDB에는 다음과 같은 테이블을 추가하시면 됩니다. CREATE TABLE trades ( type VARCHAR(50), code VARCHAR(20), timestamp BIGINT, trade_date DATE, trade_time TIME, trade_timestamp BIGINT, trade_price DECIMAL(20, 4), trade_volume DECIMAL(20, 8), ask_bid VARCHAR(10),.. 2024. 3. 3.
[Python]파이썬의 가변 인자: *args와 **kwargs 이해하기 파이썬은 그 유연성과 사용의 용이성으로 유명합니다. 이 중 하나의 강력한 기능은 함수의 인자로 `*args`와 `**kwargs`를 사용하는 것입니다. 이 두 표현은 파이썬에서 가변 인자를 처리하는 방법을 제공합니다. 이번 포스트에서는 이들의 사용법과 작동 원리를 자세히 살펴보겠습니다. `*args` - 위치 인자의 가변성 `*args`는 함수가 임의의 개수의 위치 인자를 받을 수 있도록 해줍니다. 이를 사용하면 함수 호출 시 제공하는 인자의 수가 고정되어 있지 않아도 됩니다. 함수 내부에서 `args`는 튜플로 처리되며, 전달된 모든 위치 인자를 포함합니다. def print_args(*args): for arg in args: print(arg) print_args('Hello', 'Python', .. 2024. 3. 2.
[Python] 수집한 데이터 시각화하기 https://stickode.tistory.com/1051 저번 시간에 이어서, 오늘은 DB에 저장해둔 데이터를 시각화해보겠습니다. 코드에서 user와 password는 본인의 DB 설정에 맞게 변경하셔야합니다. import pandas as pd import matplotlib.pyplot as plt import pymysql import matplotlib.dates as mdates # 데이터베이스 연결 설정 db = pymysql.connect(host='localhost', user='root', password='root', db='stickode_231204_upbit', charset='utf8mb4') cursor = db.cursor() # SQL 쿼리를 사용하여 데이터 추출 que.. 2024. 2. 23.
[Python] FastAPI에서 CORS 정책 적용하기 이번 시간에는 서버를 구축할때 신경써야할 CORS 정책을 FastAPI 서버에서 적용해보겠습니다. 1. CORS 정책이란? CORS는 Cross-Origin Resource Sharing의 약자로, 웹 페이지에서 다른 도메인의 리소스에 접근할 때 발생하는 보안 정책입니다. 웹 브라우저는 기본적으로 동일 출처 정책(Same-Origin Policy)을 따르는데, 이는 웹 페이지가 동일한 출처에서만 리소스를 요청할 수 있다는 원칙입니다. 출처는 프로토콜, 호스트, 포트가 동일한 경우에 해당합니다. CORS를 적용하지 않고 다른 도메인의 리소스를 요청할 경우 아래와 같은 에러가 발생합니다. 이를 해결하기 위해서는 서버에 접근하는 도메인을 허용하도록 만들어야 합니다. FastAPI 서버에서 진행해보겠습니다. 2.. 2024. 2. 15.