728x90 반응형 지식/Python3 [Database] Transaction Transaction 이란 하나 또는 그 이상의 database operations 의 묶음을 의미한다. 이 묶음은 하나의 작업으로 수행된다. Transaction 은 operation 들이 한번에 일관적으로 수행되는 것을 보장하고 error 가 났을 때 operation 하나하나의 결과 상태가 아닌 transaction 수행 전의 상태로 돌아갈 수 있도록 rollback 할 수 있다. 4 가지 주요 원칙이 있는데 앞글자를 따서 ACID 라고 부른다. Atomicity: 여러 명령들이 나눠질 수 없는 하나의 작업으로 취급된다. 성공하면 모든 것이 성공하는 것이고 실패한다면 모든 것이 실패하는 것이다. Consistency: 모든 데이터는 정의된 규칙에 의해 일관적이어야 한다. Isolation: 한 tr.. 지식/Python 2023. 8. 24. [python] Factory Pattern 개요 메이플스토리에 나오는 주황버섯 클래스를 만들어보자. class OrangeMushroom: def __init__(self): self.max_hp: int = 50 self.hp: int = self.max_hp def hit(self, damage: int): self.hp -= damage def is_dead(self) -> bool: return self.hp bool: return self.hp bool: return self.hp int: return self.w * self.h def aspect_ratio(self) -> float: return self.h / self.w xywh 를 인자로 받고 area, aspect_ratio 메소드가 구현되어 있다. 근데 만약에 내가 가지고 .. 지식/Python 2023. 2. 26. [python] 시간, 타입 체크 데코레이터 개요 파이썬에는 데코레이터라(decorator)는 것이 있다. 직역하면 꾸미다 라는 뜻인데 말그대로 함수를 꾸미는 것이다. 만약 함수의 시간을 체크 하고 싶다고 해보자. 그럼 이렇게 할 것 이다. import time import random def func(): time.sleep(random.random() * 1) start = time.time() func() ellapsed_time = time.time() - start print(f"Ellapsed Time: {ellapsed_time:.2f} seconds") # Ellapsed Time: 0.55 seconds 시간을 재는 곳마다 저런 구조로 코드를 짜야한다면 매우 더러울 것이다. 시간을 재는 함수를 짜보자. def func(): time.. 지식/Python 2023. 2. 26. 이전 1 다음 728x90 반응형