728x90 반응형 Python4 [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. #2. Docker 로 ubuntu python 환경 구축하기 Image 이미지는 개발자가 정의한 환경을 구축하기 위한 명령어 집합이라고 생각할 수 있다. "운영체제는 뭐를 설치해주시고 python은 몇 버전을 사용해주시고 pytorch 버전은 이거를 사용해주시고 ..." 를 템플릿화 시켜놓은 것이다. 실습 실생활에서 도커 없이 여러사람이 동시에 동일한(진짜로 똑같은) 환경에서 작업하는 것은 매우 힘들다. 아주 간단한 예시로 ubuntu 20.04 환경에 python 3.9 버전을 설치하여 공유해보자. 1. Google "How to install python 3.9 on ubuntu 20.04?" 대충 여러 사이트가 나온다. https://linuxize.com/post/how-to-install-python-3-9-on-ubuntu-20-04/이렇게 하라고 나온.. 지식/Kubernetes 2023. 1. 14. 이전 1 다음 728x90 반응형