본문 바로가기

728x90
반응형

개발 공부

(5)
[FastAPI] FastAPI를 적용하며 적용한 이유나 장단점이 뭐였어? Fastapi로 바꾸게 된 이유? 백엔드 개발에 도움을 주는 프레임워크는 언어별로 정말 많이 존재하고 정말 각자의 장,단점이 존재한다고 생각한다. 기존에는 Sanic을 사용했었지만, Python 버전이 업되면서 생태계가 활발하고 Swagger가 기본으로 제공되는 Fastapi로 전환을 위한 공부를 하고 있다. 퍼포먼스적인 측면보다는 별도의 문서 관리를 줄이기 위함이 컸다. (퍼포먼스는 거기서 거기) Fastapi 장단점은 개인적으로 느낀 Fastapi의 장단점은 다음과 같다. 장점 Swagger가 기본으로 지원되고, Pydantic 지원을 통해 타입 처리에 용이하다 starlette 기반이라 처리 속도가 준수하고, 비동기 처리를 지원한다. 트렌디한 프레임워크라 레퍼런스가 ..
[Python] Memory Leak 이해 Python Memory Leak 이해 Checkbox Date @2023년 1월 11일 오후 1:44 요약 Python은 몇 가지 알고리즘을 통해 GC를 돌리고, 메모리를 회수한다. Tracemalloc을 통한 Core Dump 프로파일링 Python 오브젝트가 어디서 메모리 할당이 되었는 지 알 수 있다 각 파일 이름과 라인 번호에 따라 메모리 블록 할당의 통계를 알 수 있다. 메모리릭을 확인하기 위해 스냅샷 끼리 비교를 할 수 있다. Tracemalloc 구조 python memory operations api를 오버라이드 했고, 해당 콜을 트레이스 할 수 있게 만든 라이브러리 내용 파이썬 메모리 관리 방법 (Cpython-2016 자료 기준) 파이썬 오브젝트는 메모리에 NAME → Referenc..
JS 타이머 작동 방식 인트로 친구로 부터 JS에서 Timer를 여러 번 동작 시키면 왜 초가 빨라지지? 라는 질문을 받고 타이머를 한번 정리해보는 것이 좋을 것 같아 정리를 시작했다. (고맙다 친구야.. 일거리를 만들어줘서...) 함수 간단 정리 타이머를 구성하는 함수는 크게 4가지가 있다. setTimeout(fn , delay) setInterval(fn, delay) clearInterval(id) clearTimeout(id) - setTimeout( fn, delay ) let id = setTimeout(fn , delay); 지연 후 지정된 기능을 호출 하는 단일 타이머를 시작한다. 이 함수는 나중에 타이머를 취소 할 수 있는 고유 ID를 반환 한다. - setInterval ( fn, delay ) let id..
[Python] Python 리스트 사용법 정리 목표 1.PYTHON의 리스트 사용 방법을 정리한다. 1. 리스트 list.append(x) 리스트 끝에 x 값 추가 a[len(a):]=[x]와 동등한 내용 list.extend(iterable) 리스트 끝에 이터러블의 항목을 덧붙여서 확장 a[len(a):]=iterable list.insert(i,x) 주어진 위치 i에 x 항목을 삽입 a.insert(0,x)는 리스트 첫 번째에 x 값 삽입 a.insert(len(a), x) 리스트의 마지막에 x 값 삽입 = a.append(x)와 동일한 내용 list.remove(x) 리스트에서 값이 x와 같은 첫번째 항목을 삭제합니다. 리스트에 그런 항목이 없으면 ValueError을 일으킵니다. list.pop([i]) 리스트에서 주어진 위치에 있는 항목을 ..
파이썬 개인 공부 정리 2. 파이썬 자료형 - type(a) 함수로 변수 a의 자료형 확인 가능 - 자료형 변환시 str(a) , int(a) 등으로 형변환 시킴 (기초 입력[input]은 str 형으로 들어옴) a-1. 숫자 자료형 종류 1. 정수형 int 2. 실수형 float 3. 복소수 complex a-2. 숫자 연산자 종류 ## 숫자 연산 a=1 b=2 # +, -, * , / : 기본 사칙 연산 print(a+b) print(a-b) print(a*b) print(a/b) # a의 b 제곱 print(a**b) # a를 b로 나눈 몫 print(a//b) # a를 b로 나눈 나머지 print(a%b) # 반올림 : round(a , 소수 b 번째 짜리까지 보이게) print(round(3.33,1)) # 제곱 : ..

728x90
반응형