- [ Python/기초문법 ][Python] Decorator(데코레이터)2024-02-09 17:33:35안녕하세요 오랜만에 글을 작성하게 되었습니다 이번 글에서는 파이썬의 기초 문법 중 하나인 데코레이터 패턴에 대해 다뤄보도록 하겠습니다 ! 1. Decorator(데코레이터)란? Python의 데코레이터는 함수나 메서드의 변형을 위해 사용하는 디자인 패턴입니다. 데코레이터는 다른 함수를 감싸는 함수로, 감싸진 함수의 동작을 수정하거나 확장할 수 있습니다. 데코레이터는 코드의 재사용성과 가독성을 향상시키며, 유지보수에 도움을 줍니다. 2. Decorator(데코레이터)의 사용 데코레이터는 여러 상황에서 유용하게 사용할 수 있으며 아래 내용은 주로 데코레이터를 사용하는 예입니다. 1. 로깅: 함수의 실행에 대한 로그를 남기고 싶은 경우 2. 권한 검증: 사용자의 권한을 확인하는데 사용하는 경우 3. 성능 측..
- [ Python/django ][Django] SSLCertificationError macos2024-01-25 22:10:30구글 계정을 통해 SSL 키를 발급하여 email API를 호출하는 과정에서 아래와 같은 문제가 발생했는데요, 다른 mac 사용자들에게는 일어나지 않는 문제가 왜 일어나지 하고 당황했습니다 .. 먼저 실행중인 서버를 종료한 후 혹시나 python 버전의 충돌로 인해 문제가 발생했나 확인하기 위해 터미널 상에서 python 버전을 출력해보았습니다. django 프로젝트가 진행되는 python 버전은 3.12.1 인데 3.10 버전의 SSL인증 에러가 발생하여 python이 설치된 경로를 찾아 버전을 확인해보기로 했습니다. django 프로젝트의 python 버전 확인 python이 설치되어 있는 경로 확인 python이 설치된 경로를 확인했으니 cd 명령어를 통해 해당 디렉토리로 이동하도록 하겠습니다. p..
- [ Python/기초문법 ][Python] list comprehension vs generator expression2024-01-22 10:16:20list comprehension(리스트 컴프리헨션) 리스트 컴프리헨션은 결과 리스트를 메모리에 한 번에 저장한다. 모든 요소를 계산하여 메모리에 저장하는 데 시간이 소요된다. 데이터 크기가 클 때는 상당한 메모리를 사용하고, 초기 생성 시간이 더 걸릴 수 있다. 리스트 컴프리헨션의 기본 구조 [expression for item in iterable if condition] expression : 각 아이템에 대해 실행될 표현식 for item in iterable: 반복할 수 있는 객체(iterable)에 대한 반복문 item : 반복 중 현재 아이템 iterable : 반복할 대상(예: 리스트, 튜플, 문자열 등) if condition (optional): if 조건을 만족하는 아이템에 대해서만 ..
- [ Python/django ][Django] MVT Architecture2024-01-19 18:41:14안녕하세요 이번 글에서는 Django의 MVT(Model-View-Template) Architecture에 대해서 알아보도록 하겠습니다. MVT(Model-View-Template) Django의 웹 애플리케이션 개발을 위한 디자인 패턴입니다. MVC(Model-View-Controller) 아키텍처의 변형으로, 웹 애플리케이션을 구성하는 세 가지 주요 구성 요소로 나뉩니다: Model (모델) 모델은 Django와 DB를 연결시켜주는 코드이며 데이터 형태를 나타냅니다. 일반적으로 각각의 모델은 데이터베이스의 "테이블"과 매핑됩니다. 즉, 데이터베이스의 각 테이블은 Django 모델로 표현되며, 모델은 Python 클래스로 작성합니다. 파일명은 기본값으로 models.py를 사용합니다. class Dj..
- [ Python/django ][Django] macos 프로젝트 구조 만들기2024-01-18 21:00:34안녕하세요 이번 글에서는 macos에서 Django 개발환경 구축하는 방법에 대해 알아보도록 하겠습니다. Django 파이썬으로 작성된 웹 프레임워크 프레임 워크 : 반복적으로 사용되는 기술을 모아 놓은 코드 집합 장고는 파이썬으로 작성된 웹 개발 프레임워크입니다. 파이썬으로 작성되었기 때문에 파이썬 라이브러리를 자유자재로 사용할 수 있다는 엄청난 장점이 있습니다. 1. Python 설치 먼저 django가 python으로 작성되었다고 말씀들렸는데요, 이로 인해 python이 설치가 되어있어야 합니다. 아래 링크는 python 설치 링크로 설치가 안되신 분들은 링크를 통해 설치해주시면 되겠습니다. https://www.python.org/downloads/ Download Python The offici..
- [ Python/기초문법 ][Python] Anaconda 가상환경 구축(macos)2024-01-02 19:46:53가상환경 ? 독립된 공간에서 Python 프로젝트와 의존성들을 관리하기 위해 사용 가상환경을 사용하는 이유 1. 의존성 관리 : 프로젝트마다 다른 버전의 라이브러리를 사용할 수 있음 2. 환경 분리 : 프로젝트간 충돌을 방지 3. 배포 용이성 : 프로젝트의 의존성을 파일로 쉽게 내보내고 다른 환경에서 실행할 수 있도록 함 주요 가상환경 및 도구 Anaconda virtualenv pycharm Anaconda(conda) 설치링크 : https://www.anaconda.com/download Free Download | Anaconda Anaconda's open-source Distribution is the easiest way to perform Python/R data science and ma..
- [ Python/기초문법 ][Python] 딕셔너리(사전) 자료형2023-12-30 18:14:20Dictionary(사전) 자료형 Dictionary : 영어 및 국어 사전 구성 : key - value, keyword(=key), 결괏값(=value) 문자열, 리스트, tuple : 데이터 조회시 인덱싱 또는 슬라이싱 딕셔너리에서 값을 조회하는 방법은 key 값을 통해서 값을 조회 기존의 key에 대한 값 수정하기 딕셔너리[기존 키] = 수정할 값으로 기존 값 수정 새로운 key - value 쌍 추가하기 딕셔너리[새 키] = 할당할 값으로 새로운 쌍 추가 위에서 정의한 변수인 country_capital에 '미국' : '워싱턴 D.C.'가 추가된 것을 확인할 수 있다 key 값은 숫자형태도 가능하며 주의해야 할 점은 '인덱스'로 접근하는게 아니라는 점이다 딕셔너리 자료형은 'key' value로..
- [ Python/기초문법 ][Python] 클래스 선언과 객체 생성2023-12-30 15:03:19클래스(class) "함수"의 확장 사물의 "설계도" Ex) 차량의 설계도 속성(Attribute)과 메소드(Method)를 가짐 Ex) 속성(성질, 상태) : 핸들, 문, 브랜드, 모델명, 연식 등 Ex) 메소드(기능, 동작) : 전진, 후진, 정지 등 클래스 생성 방법 class '클래스 이름' Ex) class Car: 객체(object) 클래스('설계도')로 부터 만들어낸 사물 객체는 속성과 메소드를 가질 수 있음 Attribute(속성) : brand, model, year Method(메소드) : init(초기화 메소드), start, stop, __str__ def __init__(self, ~) 초기화 메소드로 객체를 생성하면 처음으로 실행된다 def start(self) 차량의 움직이고 ..