본문 바로가기

반응형

Programming

(38)
[AWS EC2] 포트 개방 기본 (맨날 헷갈려서 메모) 최근 MQ 부하 확인을 위한 서버를 개방하던 중 알고 있지만 맨날 헷갈리던 부분,간단하게 짚고 넘어가기 위해 기록.  A서버에서 B서버로 데이터를 전송하기 위해 인스턴스를 생성했어요.(A서버 : pub, B서버 : Broker)  B서버 보안 설정의 인바운드 규칙에서 1. A서버의 퍼블릭IP와2. 접근하려는 포트를 입력하면!  A서버에서 B서버로 접근 할 수 있다.
[Airflow] Airflow 예제를 통한 DAG 구조 확인 및 실행 참고도서 : Apache Airflow 기반의 데이터 파이프라인 가장 기본이 되는 예제를 연습해보았습니다. 환경 : Vscode, WSL2 (Ubuntu 20.04), anaconda(python 3.10) 1. 환경설정 airflow 설치를 위해 아나콘다에서 가상환경을 생성합니다. conda create -n airflow python=3.10 conda activate airflow 가상환경에서 airflow와 virtualenv를 설치합니다. # airflow 설치 pip install apache-airflow # virtualenv 설치 pip install virtualenv # 설치하지 않은 경우 web ui에서 다음과 같은 에러로그를 출력하였음. #Broken DAG: [/home/kwan..
[GCP] VSCode SSH 원격 제어 원격 제어 환경 : Vscode, Windows 11 vscode 환경에서 gcp 서버에 붙어 작업할 수 있도록 하기 위해 작성 1. GCP에서 사용할 VM을 생성합니다. 2. 로컬 환경으로 돌아와서 cmd를 실행한 후 윈도우에 지정된 .ssh 폴더에 ssh 키 쌍을 생성합니다. ssh-keygen -t rsa -f C:\Users\[windows 사용자이름]\.ssh\[키이름] -C [gmail계정] -b 2048 3. 해당 경로에 키이름과 키이름.pub 파일이 생성되며, pub 키파일을 메모장으로 열고 내용을 복사합니다. 4. GCP로 돌아와서, 생성한 VM 인스턴스를 클릭하고 수정 버튼을 누른 후 SSH 키 항목 추가를 클릭하고, pub파일에서 복사한 내용을 붙여넣기 한 후 저장합니다. 5. vsc..
[FastAPI] 3. pydantic 모델을 사용한 요청 바디 검증 개발환경 : WSL2 (Ubuntu 20.04), Python 3.10 (anaconda 가상환경) pydantic 모델을 사용한 요청 바디 검증 FastAPI에서는 정의된 데이터만 전송되도록 요청 바디를 검증할 수 있음. (매우 중요한 기능!!) 다음은 model.py 작성 코드이다. from pydantic import BaseModel class Todo(BaseModel): id: int item: str 이 코드는 다음 두 개의 필드만 허용하는 pydantic 모델을 만든다. 정수형(int)인 id 문자열형(str)인 item 이 모델을 POST 라우트에 사용해보자. todo.py 파일에 다음과 같이 모델을 임포트 한다. from fastapi import APIRouter from model ..
[FastAPI] 2. 라우팅(Routing) 개발환경 : WSL2 (Ubuntu 20.04), Python 3.10 (anaconda 가상환경) 라우팅(Routing) 웹 애플리케이션을 구축하는 데 있어 핵심적인 부분 클라이언트가 서버로 보내는 HTTP 요청을 처리하는 프로세스 HTTP 요청이 지정한 라우트로 전송되면 미리 정의된 로직이 해당 요청을 처리해서 반환(응답) 이번 포스팅에서는 여러 함수를 사용하는 연속적인 라우트 처리를 FastAPI 클래스를 통해 구현해보자. APIRouter 클래스를 사용한 라우팅 APIRouter 클래스는 다중 라우팅을 위한 경로 처리 클래스로, fastapi 패키지에 포함돼있음. 라우팅 메서드는 다음과 같이 APIRouter() 인스턴스를 사용해 생성한다. todo.py라는 새로운 파일을 작성 from fasta..
[FastAPI] 1. FastAPI 시작하기 (환경 구축) 개발환경 : WSL2 (Ubuntu 20.04), Python 3.10 (anaconda 가상환경) 처음은 간단한 애플리케이션을 구축해보면서 FastAPI를 경험해보는 시간. 1. 라이브러리 설치 및 소스코드 작성 애플리케이션 개발에 필요한 라이브러리와 패키지를 설치 pip install fastapi uvicorn 이제 api.py라는 파일을 만들어 FastAPI의 새 인스턴스를 생성함. from fastapi import FastAPI app = FastAPI() app 변수에 FastAPI를 초기화해서 라우트를 생성할 수 있다. 웰컴 라우트를 만들어보자. 우선 데코레이터를 사용해 처리 유형을 정의하고 라우트가 호출됐을 때 실행할 처리를 함수로 작성함. 다음 코드는 GET 유형의 요청을 받아서 환영 ..
[Django] 장고 개인 프로젝트 https://github.com/brain4652/Django_project GitHub - brain4652/Django_project: 장고입문 장고입문. Contribute to brain4652/Django_project development by creating an account on GitHub. github.com
[Python] 큐(Queue) 구현 1. 개발 환경 : Python 3.8.10, WSL2, VSCODE 2. 큐(Queue) 2.1. 큐의 개념 줄을 서는 행위와 유사 가장 먼저 넣은 데이터를 가장 먼저 꺼낼 수 있는 구조 (FIFO, First In First Out) 스택과 꺼내는 순서가 반대입니다. (스택은 LIFO) Enqueue : 큐에 데이터를 넣는 기능 Dequeue : 큐에서 데이터를 꺼내는 기능 Front : 데이터를 꺼내는 쪽 Rear : 데이터를 넣는 쪽 2.2. 파이썬 큐(queue) 라이브러리 import queue 하여 사용할 수 있습니다. Queue() : 일반적인 큐 자료구조 >> queue.Queue() LifoQueue() : 나중에 입력된 데이터가 먼저 출력 (스택구조) >> queue.LifoQueue..

반응형