내용 복습 (44) 썸네일형 리스트형 FastAPI 공부 2일차 1. 인증 및 인가웹 인증방법과 도구는 다양하다유저아이디/비밀번호: 전통적인 HTTP 기본 및 다이제스트 인증API 키: 비밀정보가 담긴 임의의 긴 문자열OAuth2: 인증 및 인가를 위한 일련의 표준JSON 웹 토큰(JWT): 암호로 서명된 유저 정보 인코딩 방식# HTTP 기본 인증을 사용해 유저 정보 가져오기: auth.pyimport uvicornfrom fastapu import Depends, FastAPIfrom fastapi.security import HTTPBasic, HTTPBasicCredentialsapp = FastAPI()basic = HTTPBasic()@app.get("/who")def get_user( creds: HTTPBasicCredentials = Depends(.. FastAPI 공부내용 1일차 1. 모던 파이썬1.1 가상환경파이썬은 가상환경을 지원하는데, pip가 다운로드한 패키지를 저장하기 위한 디렉터리다. 가상환경을 활성화하면 쉘은 파이썬 모듈을 로드할 때 이곳을 먼저 확인한다.가상환경을 설정할 때는 venv라는 모듈을 활용하며 독립된 프로그램으로도, 파이썬 모듈로도 실행가능하다.- venv를 파이썬 모듈로 실행하는 명령어python -m venv venv1- 생성한 가상환경을 실행하는 쉘 명령어source venv1/bin/activate 위 명령어를 실행하여 가상환경에 진입하면 앞으로 pip install 명령을 수행할 때마다 venv1 디렉터리 하위에 패키지를 설치한다. 그리고 파이썬 프로그램을 실행하면 venv1에 있는 파이썬 인터프리터와 모듈이 실행된다.1.2 Poetrypip와 .. 데이터 공부 with 파이썬 2일차 데이터베이스 접근 권한이 업격히 관리되거나, 민감한 개인정보가 있거나 아예 네트워크가 분리되어 물리적인 접근이 불가능할 수도 있다. 이럴 때 인증된 URL만 있으면 언제든지 필요한 데이터에 편리하게 접근할 수 있는 방식이 있다. 이럴때 API를 사용해 접근하면 되고 웹 기반의 API가 널리 쓰인다. API를 만드는 것은 프로그래머의 몫이고 데이터분석가는 API를 사용하는 법을 아는 게 중요하다. 1. 데이터 형식 다루기데이터분석가는 웹 기반 API에서 HTML 대신 CSV나 JSON, XML을 사용한다. 특히, CSV는 항목의 개수가 정확하게 맞지 않으면 읽을 수 없고 복잡한 데이터구조를 표현하기 어렵기에 JSON이 선호된다.JSON은 마치 파이썬의 딕셔너리와 리스트를 중첩해놓은 것과 비슷하다. 키와 값.. 데이터분석 with 파이썬 1 1. 데이터 분석에 사용되는 패키지넘파이(Numpy) : 고성능 과학 계산과 다차원 배열(array)을 위한 패치지. 대부분의 데이터 분석 패키지는 데이터를 다룰 때 넘파이 배열을 사용한다.판다스(pandas) : 마이크로소프트 엑셀의 시트처럼 숫자와 문자를 섞어서 표 형태로 저장할 수 있는 데이터프레임(DataFrame)을 사용. 넘파이가 과학 계산에 초첨을 맞추고 있다면, 판다스는 편리한 데이터 처리와 분석작업을 위해 많은 기능을 제공한다. 다양한 그래프 출력기능도 갖추고 있어 넘파이와 함께 자주 사용된다.맷플롯립(Matplotlib) : 데이터 시각화를 위한 기본 패키지이다. 정적/동적인 그래프를 그릴 수 있고, 고품질의 다양한 그래프가 제공됨다. 또한 다른 과학 패키지와 호환성이 높고 파이썬에서는.. Error response from daemon: mkdir /var/lib/docker/overlay2/...-init: no space left on device ec2 인스턴스에 오랜만에 ssh로 접속하여 서버를 띄우려 했더니 위의 에러가 발생했다. 분명 보름전에 띄웠을 땐 접속이 잘 되었는데, 어디가 문제인지 몰라서 구글링해보니 ec2 용량이 없다는 것이다. 보는 강의나 책마다 이미지와 컨테이너 관리를 왜 그렇게 신경쓰나 했더니 이렇게 금방 용량이 다 차는 모양이다. 프리티어로 t2.micro이니 그럴만도 한데, 해결을 하려니 막막했다. 하긴 ec2에 프로메테우스와 jenkins, grafana까지 모두 띄워놨으니 로그만해도 엄청날 것이라 생각이 들었다. 1. sudo apt-get autoremove일단 구글링으로 찾은 이 명령어는 apt-get한 패키지를 삭제하는 것인데, nginx를 띄우기 위해 무분별하게 설치했던 것이 떠올라 실행해봤다. 하지만 아래의.. Jest 공부 3일차 1. TDD란테스트 주도개발(Test Driven Developmen)의 약자로 핵심 규칙중 하나는 먼저 테스트를 작성하고 그 다음 구현하는 것이다. 테스트 코드를 작성하면서 요구사항을 정확하게 인식하는 장점이 있다. 물론 대규모 프로젝트에 TDD를 적용한다고 해서 대규모의 테스트코드를 전부 작성하고 구현하는 코드를 작성하진 않는다. 기본적으로 작동하는 데 필요한 코드만 작성하고 테스트를 작성하는 방식으로 진행한다. 작동 상태를 먼저 구현하게 되면 어떤 기술, 디자인패턴을 사용할 지 아이디어가 생기고 나아가 무엇을 테스트 할지에 대한 개념이 생긴다. 프로젝트의 작동 상태가 확보되면 TDD 스타일로 코드를 작성할 수 있다. 즉, 테스트 주도 개발은 프로젝트의 기본 단계에서 시작하는 것이 아니라 이미 작동하.. Jest 공부 2일차 1. FIRST principalFast(빠름): 테스트가 빠르면 피드백을 신속하게 받을 수 있습니다. 특히 한개의 모음이 수천 개의 테스트로 이루어진 경우, 개발 속도를 위해 빠른 테스트는 필수적이다.Independent(독립성): 단위테스트는 다른 테스트에 영향받지 않고 독립적으로 시행되어야 한다.Repeatable(반복 가능): 동일한 입력에 대해 항상 같은 결과를 반환해야 합니다. 랜덤 값이나 날짜 값을 사용하는 테스트는 이 원칙을 지키기 어려울 수 있으며, 이 경우 모킹(mocking)을 사용할 수 있습니다.Self-validating(자기 검증): 개발자가 일일히 sout를 해보면서 값을 확인하는게 아니라 단위 테스트는 스스로 검증할 수 있어야 합니다.Thorough(철저함): 테스트는 가능한.. Jest 학습 1일차 이번에 jest 강의를 듣게 되었는데, 영문 강의라 번역을 다시 하는 불상사가 없도록 강의내용을 정리해보려 한다. 1. Jest를 왜 써야하는가?소프트웨어 테스트는 단순히 다른 코드를 실행하는 코드이고 소프트웨어 테스트는 단순히 다른 코드를 실행하고 어설션 또는 검사를 수행하는 코드입니다. 여기서 어설션이란 테스트를 위해 가정한 논리식으로 개발자가 참이어야 테스트를 통과하도록 지정한 식을 말한다.단일 테스트와 단위 테스트에 대한 가장 좋은 정의는 요구사항이나 명세서의 역할을 한다는 것이다.유닛테스트는 가장 작은 단위로 볼 수도 있겠지만, 메소드, 클래스, 모듈이라고 생각할 수도 있다. 따라서 단위는 별개가 아닌 함께 테스트 할 수 있는 작은 단위의 조합으로 볼 수 있다.가장 큰 장점은 테스트를 진행하면서.. 이전 1 2 3 4 ··· 6 다음