Python Advanced(1) - Context Manager(1) Keyword - Contextlib, enter, exit, exception 가장 대표적인 with 구문 이해 원하는 시점에 리소스 할당 및 회수 정확한 이해 후 사용 프로그래밍 개발 중요(문제 발생 요소) Ex1 # No use with. file = open('./testfile1.txt', 'w') try: file.write('Context Manager Test1.\nContextlib Test1.') finally: file.close() 예전에는 이런 식으로 많이 사용 Ex2 # Use with.` with open('testfile2.txt', 'w&#..
Python Advanced(1) - Lambda, Reduce, Map, Filter Functions Keyword - lambda, map, filter, reduce lambda 장점 : 익명, 힙 영역 사용 즉시 소멸, pythonic?, 파이썬 가비지 컬렉션(Count = 0) 일반함수 : 재사용성 위해 메모리 저장 시퀀스형 전처리에 Reduce, Map, Filter 자주 사용 Ex1-lamda cul = lambda a, b, c: a * b + c print('Ex1 >', cul(10, 15, 20)) -> lamda는 쉽게말해 함수를 간단하게 사용 가능하게 함 -> def로 선언한 함수와 다르게 람다 함수는 힙 영역에서 곧바로 사라져 카비지 컬렉션에서 처리할 필요가 없어 메모리 효율에..
Python Advanced(1) - Python Variable Scope Keyword - scope, global, nonlocal, locals, globals.. 전역변수는 주로 변하지 않는 고정 값에 사용 지역변수 사용 이유 지역변수는 함수 내에 로직 해결에 국한, 소멸주기 함수 실행 해제 시 전역변수를 지역내에서 수정되는 것은 권장X Ex1 a = 10 # Global variable def foo(): # Read global variable print('Ex1 > ', a) foo() # Read global variable print('Ex1 > ', a) -> 전역변수는 지역에서 읽을 수 있음 Ex2 b = 20 def bar(): b = 30 # Loca..
OT 결과만 뚝딱으로 만족만 하지 않고 중간의 과정을 어느정도 숙지하고 있으면 나중에 협업이나 유지 보수에 있어 이런 한 가지 언어의 깊은 지식을 갖고 있다면 가장 큰 장점이 된다. 사용하기 편리 vs 배우기 쉬운 파이썬은 가장 빠르게 결과 값을 낼 수 있음 쉬운 만큼 차이점을 가지려면 low level의 지식을 가지자 파이썬 메타 프로그래밍의 중요성 메타클래스 → 클래스의 동작(정의, 인스턴스화, 액세스) 깊이 수정 차차 자세히 알아보자 환경설정 이미 vscode나 파이썬 같은건 다 세팅이 되어있음 가상환경 설정법만 간단히 정리하고 넘어가자 가상환경을 사용하는 이유 의존관계가 있는 패키지들을 그 프로젝트마다 독립적으로 사용 할 수 있기 때문에 한 컴퓨터에 여러 프로젝트 파일이 있는데 각 프로젝트마다 다..
디자인 패턴이란? 디자인 패턴은 소프트웨어 디자인 과정에서 자주 발생하는 문제들에 대한 전형적인 해결책이다. 이는 코드에서 반복되는 디자인 문제들을 해결하기 위해 맞춤화할 수 있는 미리 만들어진청사진과 비슷하다. 청사진(靑寫眞) 또는 블루프린트(영어: blueprint)는 아키텍처 또는 공학 설계를 문서화한 기술 도면을 인화로 복사하거나 복사한 도면을 말한다. 은유적으로 "청사진"이라는 용어는 어떠한 자세한 계획을 일컫는 데에 쓰인다. -위키백과- 표준화된 라이브러리들이나 함수들을 복사해 사용하는 것처럼 패턴들을 붙여넣기 식으로는 사용할 수는 없다. 왜냐하면 패턴은 재사용할 수 있는 코드 조각이 아니라 특정 문제를 해결하는 방식을 알려주는 일반적인 개념이기 때문이다. 패턴은 알고리즘과 자주 혼동된다. 두..
Smart Parking Project 프로젝트를 진행 중 나중에 유용하다 싶은 내용을 기록합니다. 환경 세팅pip install super-gradients pip install opencv-python 라이브러리 및 GPU 설정 - (GPU 사용이 불가할 경우 CPU로 우회)import cv2 import torch from super_gradients.training import models device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu") print(device) use_cuda = torch.cuda.is_available() print(use_cuda) if use_cuda: print(torch.cuda.get_d..
Tistory API 사용법 가이드 Tistory API는 Tistory 블로그와 상호작용하며 글 작성, 수정, 삭제 등 다양한 작업을 수행할 수 있는 강력한 도구입니다. 이번 포스팅에서는 Tistory API를 사용하는 방법을 자세히 알아보겠습니다. 1. Tistory API 등록 및 인증 Tistory API를 사용하려면 먼저 Tistory 개발자 사이트에서 애플리케이션을 등록하고 인증 정보를 받아야 합니다. 다음 단계를 따라 진행하세요. Tistory 개발자 사이트에 로그인하고 애플리케이션을 등록합니다. 등록한 애플리케이션에서 발급받은 클라이언트 아이디와 시크릿 키를 얻습니다. OAuth 인증을 통해 액세스 토큰을 발급받아 API 요청에 사용합니다. 2. Tistory API 요청 예제 다음은 파이..