일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 상관관계
- API
- session 유지
- Retry
- hadoop
- youtube data
- GenericGBQException
- tensorflow text
- Counterfactual Explanations
- correlation
- gather_nd
- API Gateway
- TensorFlow
- airflow subdag
- flask
- integrated gradient
- UDF
- spark udf
- grad-cam
- 유튜브 API
- chatGPT
- XAI
- BigQuery
- requests
- GCP
- subdag
- top_k
- Airflow
- 공분산
- login crawling
- Today
- Total
목록Python (37)
데이터과학 삼학년
Python Celery를 이용한 비동기 작업 처리1. 비동기 작업 처리의 필요성현대 웹 애플리케이션은 실시간으로 대량의 요청을 처리해야 함.오래 걸리는 작업(이메일 전송, 이미지 처리 등)은 응답 지연을 유발할 수 있음.이를 해결하기 위해 비동기 작업 처리가 필요하며, Python에서 이를 구현할 때 주로 Celery를 사용.2. Celery란?Python 기반 비동기 작업 큐(Task Queue) 라이브러리.큐에 작업을 넣으면 백그라운드에서 워커(worker)가 처리함.분산 시스템 및 확장성 있는 작업 처리가 가능하며, 실시간 작업 처리와 스케줄링 지원. 3. Celery의 주요 구성 요소Task: 백그라운드에서 실행되는 작업.Broker: 작업을 전달하는 중간 매개체 (Redis, RabbitMQ ..
파이썬은 정말 편한 언어다. 변수의 타입이나, 파라미터의 타입을 지정할 필요가 없다. 타입도 계속 바꿔서 사용할 수 있다. 그러나, 이런 타입을 지정해서 처리하는 방법도 있다. def example_function(param1: int = 0, param2: str = "default_value") -> str: # 함수 내용 result = f"{param1} - {param2}" return result # 함수 사용 예시 output = example_function(42, "custom_value") print(output) 숫자 덧셈 함수 def add_numbers(a: float, b: float) -> float: return a + b result = add_numbers(3.5, 2.7..
소개 - 싱글턴 패턴은 어플리케이션에서 클래스의 인스턴스가 단 하나만 생성되도록 하는 디자인 패턴 중 하나 - 즉, class를 통해 여러 인스턴스를 생성하더라도 생성한 인스턴스는 하나의 포인터만 바라보게 되는 개념 - 파이썬에서는 이를 다양한 방식으로 구현 가능 1. 모듈을 이용한 싱글턴 - 가장 간단한 싱글턴 구현 방법 중 하나는 모듈을 이용. - 파이썬에서 모듈은 한 번만 로드되기 때문에 모듈 내부에 상태를 저장하여 싱글턴을 구현 가능 # singleton_module.py class SingletonClass: _instance = None def __new__(cls): if not cls._instance: cls._instance = super().__new__(cls) return cls...
어트리뷰트 (Attribute) - 어트리뷰트는 파이썬 객체(object) 내에서 저장된 데이터(변수)나 메서드를 나타냄 - 객체의 속성(attribute)은 해당 객체의 상태나 동작을 나타내며, 객체의 내부 변수나 메서드 이름을 가리킴 - 어트리뷰트는 점(.)을 사용하여 객체의 이름 공간(namespace)에서 접근 가능 - 클래스의 멤버 변수나 메서드는 해당 클래스의 어트리뷰트 class MyClass: class_attribute = 42 # 클래스 어트리뷰트 def __init__(self): self.instance_attribute = 10 # 인스턴스 어트리뷰트 obj = MyClass() print(obj.instance_attribute) # 인스턴스 어트리뷰트 접근 print(MyCla..
파이썬에서는 실수를 표현하는 방법으로 부동소수점을 쓴다. >> 간단히 말해 0.1이 진짜 0.1이 아니다. 0.1 + 0.2 # 0.30000000000000004 파이썬의 0.1은 실제로 아래와 같이 0.1이 아닌 0.1에 가까운 값을 나타낸다. 0.1000000000000000055511151231257827021181583404541015625 따라서 0.1+02 = 0.3이 아니게 됨...(실제) 이렇기 때문에 계산할때 특히 금융데이터에서 유의해야함. 부동소수점 연산의 정확성 유지하기 부동소수점 연산에서 주의해야 할 몇 가지 일반적인 문제는 반올림 오차와 비교 연산의 부정확성 이를 방지하기 위해 파이썬에서는 Decimal 모듈을 제공 Decimal 모듈은 고정 소수점 연산을 수행하며, 정확한 결과..
SOLID Principles : improve Object-Oriented Design in Python SOLID 원칙 - oop ?! → 간단히 말해 pyhton의 class 기능 → 붕어빵 틀을 만들어 여러 붕어빵을 찍어내는 것과 같은 것 - 코드를 보다 효율적이고 유지보수하기 쉬우며, 효과적으로 작성하고자 만든 어떤 원칙이 있는데…대표적인 것이 SOLID 원칙 - SOLID 원칙별로 한글자씩 따서 만든 것으로 생각한 것 처럼 총 5가지 원칙이 있음 S**ingle-responsibility principle (SRP) O**pen–closed principle (OCP) L**iskov substitution principle (LSP) I**nterface segregation principl..
*와 **는 파이썬에서 여러 인자를 처리할 때 사용하는 연산자 *를 사용하면 리스트, 튜플, 세트 등의 iterable한 객체를 풀어서 함수의 인자로 전달 -> 이때 각 요소들이 함수의 인자로 전달 def foo(a, b, c): print(a, b, c) lst = [1, 2, 3] foo(*lst) # foo(1, 2, 3)과 동일 **를 사용하면 딕셔너리 객체를 풀어서 함수의 인자로 전달할 수 있습니다. 이때 각 키-값 쌍이 함수의 인자로 전달 def bar(x, y, z): print(x, y, z) dct = {'x': 1, 'y': 2, 'z': 3} bar(**dct) # bar(x=1, y=2, z=3)과 동일 따라서 *와 **를 이용해서 iterable한 객체나 딕셔너리 객체를 풀어서 함..
클린코드 - 클린 코드란 무엇일까? 공식적으로 지정한 디자인패턴을 잘 따른다던가, 파이썬의 경우 pep-8이라고 파이썬 개발을 하는데 있어 권장되는개발 스타일을 잘 따르는 것일까?? - 어떤 것보다 나는 Readable한 코드가 클린코드라고 생각한다. - Readable한 코드란 인간의 아이디어를 컴퓨터에 전달하는 것을 넘어, 나의 아이디어를 다른 개발자가 쉽게 확인하고 유지보수를 하기 쉽게 만드는 코드라고 생각한다. - 유지보수성 향상, 기술부채 감소, 애자일 개발을 통한 효과적인 작업을 위함 - 기술 부채 : 나쁜 결정이나 적당한 타협의 결과로 생긴 소프트웨어적 결함으로, 코드를 지금 당장 바꾸는 것보다 미래에 변경하는 것은 훨씬 어렵기 때문이고, 시간의 흐름에 따라 어려움이 가중되는 이자와 같은 개..