본문 바로가기

Data science/Python27

[5분 컷 이해] 코루틴, 메인루틴, 서브루틴 ! 요약 메인루틴(Main routine): 메인루틴은 보통 프로그램의 시작점이며, 프로그램의 주 흐름을 담당합니다. 메인루틴은 일련의 작업을 수행하고 다른 서브루틴이나 코루틴을 호출할 수 있습니다. 프로그램이 시작되는 메인코드라고 생각하면 됩니다. 서브루틴(subroutine): 메인루틴에서 호출되는 함수, 또는 서브루틴에서 호출되는 함수들을 의미합니다. 즉, 다른 루틴에서 호출되는 경우를 의미합니다. 코루틴(Coroutine): 메인루틴에서 호출되지만, 코루틴은 실행되는 도중에, 일시중단되어 다시 메인루틴으로 전환되었다가 다시 코루틴으러 전환될 수 있는 "제어흐름"이 가능한 루틴을 의미합니다. 코루틴, 메인루틴, 서브루틴은 프로그래밍에서 중요한 개념이며, 이를 이해하는 것은 프로그래밍의 성능을 향상시키는.. 2024. 3. 3.
FastAPI request body 로깅 요약 FastAPI middleware은 어플리케이션의 요청 및 응답처리과정중에 중간에 위치하여, 여러 작업을 수행할 수 있는 요청->동작 사이, 응답->동작사이에 여러 기능을 수행 주로 요청 및 응답을 변형하거나(예, 암호화), 인증, 로깅및 모니터링, 예외처리등을 수행. ASGI (Asynchronous Server Gateway Interface) 프로토콜을 따르는 웹 애플리케이션에서 비동기 요청을 처리하기 위해, request._receive속성에 설정하도록함 fastAPI의 미들웨어는 @app.middleware("http")와같이 함수위의 데코레이터로 사용가능합니다. async def set_body(request: Request, body: bytes) 함수는 원래 요청 객체에 바이트로 된 .. 2023. 10. 26.
[에러처리] conda: error: argument COMMAND: invalid choice: 'activate' conda 설치후 아래와 같은 에러가 발생 $ conda activate myenv usage: conda [-h] [--no-plugins] [-V] COMMAND ... conda: error: argument COMMAND: invalid choice: 'activate' (choose from 'clean', 'compare', 'config', 'create', 'info', 'init', 'install', 'list', 'notices', 'package', 'remove', 'uninstall', 'rename', 'run', 'search', 'update', 'upgrade', 'build', 'content-trust', 'convert', 'debug', 'develop', 'doc.. 2023. 10. 10.
jupyter-notebook 라이브러리 자동 갱신 %load_ext autoreload %autoreload 2 2023. 8. 26.
np.array() vs np.asarray() 차이 요약 np.array()와 np.asarray()는 NumPy에서 배열을 생성하는 함수입니다. 그러나 두 함수 사이에는 몇 가지 차이점이 있습니다. 데이터가 복사가 되는지 여부와, 데이터 유형이 변화되는지 여부의 차이가 있습니다. 차이점 비교 복사 여부 - np.array(): 기본적으로 배열의 복사본을 생성합니다. - np.asarray(): 배열의 복사본을 생성하지 않고, 가능한 경우에는 입력 배열의 뷰(view)를 반환합니다. 즉, 입력 배열과 반환된 배열이 메모리를 공유할 수 있습니다. 데이터 유형 변환: - np.array(): 입력된 데이터의 유형에 따라 새로운 배열의 데이터 유형이 결정됩니다. 필요에 따라 데이터 유형을 명시적으로 지정할 수도 있습니다. - np.asarray(): 입력된 배.. 2023. 5. 25.
문자열 조작: 애너그램 / 필린드롬 부문 문자 input = "abccbaz" # 필랜드롬인지 판정하는 함수 def is_palindrome(sub_str:str) -> str: return sub_str == sub_str[::-1] # 가장 긴 필랜드롬 def search_longest_palindrome(string:str) -> str: # 문자열의 길이가 2이하인데, 0번, 1번 문자열이 같은 경우 if len(string) str: # 문자열의 길이가 2이하인데, 0번, 1번 문자열이 같은 경우 if len(string) 2021. 11. 21.