반응형

Python 21

[Python] 파이썬 Fast API 개발 환경 설정 및 Docker와 Github Action으로 CI/CD 구현하기

이번 포스팅에서는 제가 최근에 진행한 Python 개발 환경 설정과 Docker를 이용한 CI/CD 구축 과정에 대해 공유하려고 합니다.개인적으로 진행하는 프로젝트가 파이썬의 FastAPI를 사용하고 있어서 파이썬을 선택하게 되었습니다. macOS와 VSCode를 사용하고 있으며, 각 패키지를 Homebrew로 설치했습니다. 배포 환경은 AWS가 아닌 Oracle 인스턴스로, GitHub Actions를 사용하여 배포할 예정입니다.   1. Python 개발 환경 설정먼저 파이썬 개발 환경을 세팅하기 위해 pyenv, poetry, ruff, 그리고 mypy를 사용하였습니다. 이 과정에서 사용된 설정 방법을 공유하겠습니다.1.1 pyenv로 Python 버전 관리하기pyenv는 여러 파이썬 버전을 쉽게 ..

Programming/Python 2024.12.02

[자료구조] 큐(Queue)에 대해서 알아보자.

오늘은 큐(Queue)에 대해서 알아보는 시간을 갖도록 하겠다. Queue (1) 정의 - 선입선출(First In First Out - FIFO)의 자료구조이다. Queue라는 단어 자체가 표 같은 것을 구매하기 위해 줄서는 것을 의미한다. (2) 특징 - 가장 먼저 넣은 데이터를 가장 먼저 꺼낼 수 있는 구조이다. - FIFO(First In First out)로 스택과 꺼내는 순서가 반대이다.. - Enqueue() : 큐에서 데이터를 넣는 기능 - Dequeue() : 큐에서 데이터를 꺼내는 기능 (3) 활용 - 멀티 테스킹을 위한 프로세스 스케쥴링 방식을 구현하기 위해 많이 사용된다. (운영체제 참조) - 큐의 경우에는 장단점 보다는 (특별히 언급되는 장단점이 없음), 큐의 활용 예로 프로세스 ..

[Python] 파이썬 Comprehension 에 대해서 알아보자.

오늘은 파이썬 Comprehension 에 대해서 알아보는 시간을 갖도록 하겠다. Comprehension의 개념을 알면 List, Set, Dictionary에서 보다 간결하게 데이터를 가져올 수 있다. (1) 정의 - 다른 Sequence로 부터 새로운 Sequence (Iterable Object)를 만들 수 있는 기능. - 단, if 조건식에서 다중 조건은 and만 가능하다. (or은 불가) (2) 종류 ① List Comprehension - List Comprehension은 입력 Sequence로부터 지정된 표현식에 따라 새로운 리스트 컬렉션을 빌드하는것이다. - [if 조건식] 에서 [ ] 은 리스트 괄호가 아니라, 옵션의 뜻을 나타낸다. 즉, 조건이 있을때만 넣으면 된다. [ 출력표현식 ..

Programming/Python 2021.10.18

[Python] 파이썬 예외 종류에 대해서 알아보자.

오늘은 파이썬 예외 종류에 대해서 알아보는 시간을 갖겠다. 1. 예외 종류 - 문법적으로는 에러가 없지만, 코드 실행(런타임) 프로세스에서 발생하는 예외 - 크게 8가지로 볼 수 있겠다. (1) NameError : 참조변수 없음 a = 10 b = 5 print(c) # c가 존재하지 않음 Result NameError: name 'c' is not defined (2) ZeroDivisionError : 숫자값을 0으로 나눴을 때 발생 print(100 / 0) Result ZeroDivisionError: division by zero (3) IndexError : 인덱스 범위 오버 (보통 배열 및 리스트) x = [10, 20, 30] print(x[5]) # 5는 없는 인덱스 Result Ind..

Programming/Python 2021.08.19

[Python] 파이썬 모듈과 패키지에 대해서 알아보자.

오늘은 파이썬에서 모듈과 패키지를 활용하는 방법에 대해서 알아보는 시간을 갖겠다. 1. 클래스 pkg/arithmetic.py class Arithmetic: def __init__(self, title="Arithmetic"): self.title = title def sum(endNum): return (endNum * (endNum + 1)) / 2 def sumPrint(endNum): sum = (endNum * (endNum + 1)) / 2 print('sum => ', sum) 예시1. - 콤마(,)를 사용해서 가져올 수 있다. from pkg.arithmetic import Arithmetic sum = Arithmetic.sum(10) print('sum : ', sum) Arithme..

Programming/Python 2021.07.31

[Python] 파이썬 클래스 상속에 대해서 알아보자.

오늘은 파이썬에서 클래스의 특징인 상속에 대해서 알아보는 시간을 갖도록 하겠다. 예제1. - 부모클래스(슈퍼클래스)를 상속받으면 슈퍼클래스 및 서브클래스의 모든 속성, 메소드 사용 가능 class Car: """Parent Class""" def __init__(self, tp, color): self.type = tp self.color = color def show(self): return 'Car Class "Shor Method!"' # 상속받을 슈퍼클래스를 인자로 넣어주면 상속 class BmwCar(Car): """Sub Class""" def __init__(self, car_name, tp, color): # 슈퍼클래스를 초기화 해줘야 한다. super().__init__(tp, color..

Programming/Python 2021.07.26

[Python] 파이썬 클래스(class)에 대해서 알아보자.

오늘은 객체 지향언어의 가장 큰 특징인 클래스(class)의 기본 특징에 대해서 알아보는 시간을 갖겠다. 1. 클래스 (1) 예제1 - 초기화는 __init__ 메서드를 사용한다. - 아무것도 없는 클래스에서는 pass가 없으면 애러가 난다. class UserInfo: def __init__(self, name): self.name = name def user_info_p(self): print("초기화 : ", self.name) # 네임스페이스 user1 = UserInfo("Yun") print(user1.name) user1.user_info_p() user2 = UserInfo("Park") print(user2.name) user2.user_info_p() # 메모리 주소가 다르다 -> 다른..

Programming/Python 2021.07.25

[Python] 파이썬 람다(Lambda)에 대해서 알아보자.

오늘은 파이썬에서 사용되는 람다(Lambda)에 대해서 알아보는 시간을 갖겠다. 1. 람다(Lambda) - 특징 : 메모리 절약, 가독성 향상, 코드 간결 - 함수는 객체 생성 -> 리소스(메모리) 할당 - 람다는 즉시 실행(Heap 초기화) -> 메모리 초기화 (1) 일반적인 함수 - 일반 적인 함수는 메모리에 할당이 된다. def mul_10(num : int) -> int: return num * 10 var_func = mul_10 print(var_func) print(type(var_func)) print(var_func(10)) Result 100 (2) 람다_1 lambda_mul_10 = lambda num: num * 10 print('>>>', lambda_mul_10(10)) Re..

Programming/Python 2021.06.20

[Python] 파이썬 함수에 대해서 알아보자.

오늘은 파이썬의 함수에 대해서 알아보는 시간을 갖도록 하겠다. 1. 함수 (1) 함수 선언 def hello(world): print("Hello", world) (2) 함수 호출 hello("Python!") hello(7777) Result Hello Python! Hello 7777 (3) 리턴 함수 선언 및 호출 def hello_return(world): val = "Hello" + str(world) return val str = hello_return("Python!!!!") print(str) Result HelloPython!!!! (4) 다중 리턴 함수 def func_mul(x): y1 = x * 100 y2 = x * 200 y3 = x * 300 return y1, y2, y3 v..

Programming/Python 2021.06.20

[Python] 파이썬 반복문에 대해서 알아보자. (for문)

이번 시간에는 파이썬의 반복문 대해서 알아보는 시간을 갖겠다. 1. for 문 - for문에 사용가능한 자료형 : 문자열, 리스트, 튜플, 집합, 사전 - for문에 사용가능한 함수 : range, reversed, enumerate, filter, map, zip 기본 예제 1 for a1 in range(5): print("a1 is :", a1) Result a1 is : 0 a1 is : 1 a1 is : 2 a1 is : 3 a1 is : 4 기본 예제 2 for a2 in range(1, 6): print("a2 is :", a2) Result a2 is : 1 a2 is : 2 a2 is : 3 a2 is : 4 a2 is : 5 기본 예제 3 for a3 in range(1, 6, 2): ..

Programming/Python 2021.06.03
반응형