본문 바로가기
반응형

Development297

[Azure] Storage 생성 및 권한 연결 이번에  Azure 의 Storage 를 연결해볼 일이 있어서 실제 생성하고 권한 연결했던 내용들을 정리해 보고자 한다. 도큐먼트가 잘 되어있긴 하지만 GCP나 AWS 에서 사용하던 절차와 달라서(특히 용어가..) 많이 헷갈렸다. 최종 목표는 파이썬 코드로 Azure 에 파일을 업로드 하고 다운로드, 목록 을 가져오는 코드를 만들기 위함이다. 1. 스토리지 계정 생성Azure 에서 우선 스토리지 계정을 생성을 해야 한다. GCP 나 AWS 에서는 바로  Storage 를 생성했던것 같은데 이부분에서 좀 차이가 있었다. 계정 생성시 기억해야 할 항목은 리소스 그룹 이름이다. 마지막에 역할 할당시 다시 나온다. 기본 정보들만 입력을 하고 검토+만들기 버튼을 클릭한다. 검토가 끝나면 만들기 버튼이 나오는데 그.. 2024. 7. 12.
python 으로 Azure blob storage 연결 Azure 의 Blob Storage 에 파일을 업로드 하고 목록을 조회하는 코드를 작성해자. 만약 Azure 의 설정관련 내용을 보고 싶다면 다음 글을 참고하면 된다.2024.07.12 - [Development/Cloud] - [Azure] Storage 생성 및 권한 연결import osfrom unittest import TestCasefrom azure.identity import DefaultAzureCredentialfrom azure.storage.blob import BlobServiceClientos.environ["AZURE_CLIENT_ID"] = ''os.environ["AZURE_TENANT_ID"] = ''os.environ["AZURE_CLIENT_SECRET"] = ''cl.. 2024. 7. 12.
poetry 사용시 패키지 추가 하기 파이썬 가상환경을 사용할 경우 poetry 를 사용할수 있다. poetry add 명령어를 이용해서 패키지를 추가 할수 있다. 추가된 패키지는 pyproject.toml 파일에 기록이 된다. 이 명령어를 사용하면 패키지가 프로젝트의 종속성으로 추가되고 프로젝트를 실행할 때 해당 패키지가 자동으로 설치된다.poetry run pip install프로젝트의 종속성으로 추가되지 않고 단순히 현재 활성화된 가상 환경에 패키지를 설치한다. 이 명령어는 프로젝트의 종속성으로 추가되지 않은 패키지를 설치할 때 사용한다. 2024. 7. 11.
파이썬 requests 의 multipart/form-data 활용 FastAPI 로 아래와 같이 코드를 작성 했다.@router.post( "/v1/file", name="Upload File",)def upload_file( name: Annotated[str, Form()], language: Annotated[str, Form()], file: Annotated[UploadFile, Form()]):그리고 이 API 를 호출 하기위해 Test 코드를 작성했는데 아래와 같이 작성을 했다.def test_file_upload(self): file: UploadFile = open("./테스트.txt", "rb") # curl 명령에 필요한 헤더 설정 headers = { "token": "XXXXXXXX", ".. 2024. 6. 27.
파이썬 문법 - 클래스 정의 (ABCMeta, object) ABCMetaPython에서 클래스를 정의할 때, metaclass=ABCMeta 옵션을 사용하면 해당 클래스를 추상 클래스(abstract class)로 만들 수 있다. 추상 클래스는 일반 클래스와 달리 인스턴스화 될 수 없고, 추상 메서드만을 가질 수 있다.추상 클래스는 ABCMeta라는 내장 클래스를 사용하여 구현된다. ABCMeta는 Python 표준 라이브러리의 abc 모듈에 포함되어 있으며, 추상 클래스 및 추상 메서드를 지원하기 위한 메터 클래스이다. from abc import ABCMeta, abstractmethodclass MyAbstractClass(metaclass=ABCMeta): @abstractmethod def my_abstract_method(self): .. 2024. 5. 30.
[VS Code extension] Rest Client API https://marketplace.visualstudio.com/items?itemName=donebd.rest-client-api REST Client Api - Visual Studio MarketplaceExtension for Visual Studio Code - REST Client for Visual Studio Codemarketplace.visualstudio.com Postman 처럼 Rest api 를 호출할수 있게 해주는 툴인데 응답에 대한 내용을 저장해서 사용할수 있어서 최근 자주 사용하고 있다. 기본 사용방법은 도큐먼트에 잘 나와있기 때문에 생략하고 그중에서 내가 자주 사용하는 기능만 기술해보겠다. 변수 할당### Hello World# @name hello-worldGET {{.. 2024. 4. 29.
[Pycharm] Find in Files 검색시 venv 파일 제외 시키기 Pycharm 을 사용할때 가끔 Find in Files 로 검색을 했을때 venv 폴더 하위의 내용까지 검색이 되서 불편함이 있었다. 어떻게 하면 제외 시킬수 있을지 찾다가 방법을 찾았다.먼저 session 이란 키워드로 검색을 해봤다. 이 키워드는 많이 사용되는 키워드 이기 때문에 라이브러리 안에서도 많이 발견이 된다. 정작 내가 직접 작성한 코드에는 어떻게 되어있는지 찾기가 힘들다.우선 첫번째 방법으로 .venv 폴더를 선택한후 나오는 콘텍스트 메뉴에서 Mark Directory As 메뉴로 가서 .venv 를 exclude 해준다.그리고 나서 검색을 해보면 아래와 같이 내가 작성한 파일들에서만 검색이 된다.두번째 방법으로는 Settings > Project > Project Struc.. 2024. 4. 24.
[FastAPI] request body의 필수값 존재 여부에 따른 응답 FastAPI 와 Pydantic 을 이용해서 API 작성을 하면서 request body로 들어오는 값의 존재 유무에 따라서 어떻게 세팅 되는지 확인이 필요했다. from typing import Union from fastapi import FastAPI from pydantic import BaseModel app = FastAPI() class Item(BaseModel): name: str price: float is_offer: bool | None = True address: str = "seoul" address1: str | None = None @app.post("/items") def insert_item(item: Item): return item 아주 간단한 API 이다. name.. 2024. 3. 20.
xargs 명령어 리눅스에서 명령어를 사용하다 보면 결과 값을 다른 명령어로 전달하고 싶은 때가 있다. 내 경우에는 k8s pod 이름을 다른 명령어로 전달 하고 싶었다. 찾아보니 xargs 라는 명령어가 있었다. xargs = eXtended ARGuments - 사용 방법 : xargs [options][command][arguments] - 옵션 : 여러가지가 있는데 내가 사용해본 옵션만 적겠다. -i : 원하는 위치에 인자 입력하기 - 인자를 입력하고 싶은 위치에 {} 를 입력하여 지정할수 있다. -v : 실행된 명령어 확인하기 k get pod -o=custom-columns='DATA:metadata.name' | grep test-[0-9] | xargs -i -t kubectl get po {} kubect.. 2024. 1. 17.
git cherry pick 특정 브랜치에 있는 지정된 commit 내용을 가져오려고 할때 cherry pick 을 사용한다. 내가 주로 사용하는 경우는 다음과 같은 경우이다. 1. 현재 메인 브랜치 : develop 2. 운영 태그 : release-tag-2024 보통 개발을 하면 develop 브랜치 기준으로 브랜치를 만들어서 feature 브랜치를 만들고 개발을 한다. 그런데 가끔 운영에 급히 반영을 하거나 버그 픽스를 해야 할 경우가 있다. 이때에 이런 순서로 작업을 했다. 1. 운영태그 기준으로 hotfix 브랜치 생성 2. hotfix 브랜치에서 수정을 한 후 운영에 반영 3. 운영 반영 후에 hotfix 브랜치에 있는 commit 내용들을 develop 브랜치로 이동 -----> 이때 cherry-pick 을 사용한다.. 2024. 1. 5.
맥(Mac)에서 아나콘다(Anaconda) 제거하기 1. 아나콘다 설치 경로 확인하기 ➜ ~ conda info active environment : None shell level : 0 user config file : /Users/sanghyunkim/.condarc populated config files : conda version : 23.3.1 conda-build version : 3.23.3 python version : 3.10.10.final.0 virtual packages : __archspec=1=x86_64 __osx=10.16=0 __unix=0=0 base environment : /usr/local/anaconda3 (writable) conda av data dir : /usr/local/anaconda3/etc/conda.. 2023. 8. 11.
머신러닝 관련 용어 지도학습 회귀(Regression) : 정답이 연속형 변수 분류(Classification) : 정답이 비연속형(범주형) 변수 비지도 학습 군집분석(Clustering) : 주어진 데이터가 어떻게 구성되어있는지. 강화학습(Reinforcement Learning) : 행동에 따른 보상을 최대화 시키는 방법 선형회귀(Linear Regression) 예측값을 직선으로 표현하는 모델 실제 값을 잘 예측하는것을 목표로 한다. Classification 과 Clustering 의 차이 Classification 은 새로운 데이터를 알고있는 레이블에 포함시키는것. 정해진 그룹의 데이터를 파악하여 특징을 찾아 새로운 데이터를 정해진 그룹에 포함시키는것. Clustering 은 데이터의 패턴을 찾아 그룹을 만들어 내.. 2023. 6. 12.
728x90
반응형