python 7

Stable Diffusion 3 API 가지고 놀기

외부 API를 사용하는 방법을 연습해보자SD3(Stable Diffusion3)는 요즘 자주 사용되는 멀티모달 AI기술이다 프롬프트에 입력한 것을 이미지로 바꿔주는데 현재 https://stability.ai/ 위 사이트에 들어가면 api를 제공해 준다.Get Started with APIapi를 사용하기에 앞서 일단 회원가입을 해준다 google계정으로 만들면 간단하다회원가입은 api를 사용하기 위한 authoriztion 키를 얻기 위함이다. 위의 배너에서 get started with api 버튼을 클릭하자 아래로 내려가면  생성 업스케일 편집 등등 다양한 모델이 존재하는데 이중 generate의 모델 골라보자  how to use가 보이지만 외부 API를 처음 사용해본다면 당황할 수 있다 특히 오..

python 2024.09.27

[FastAPI] restapi를 위한 코드 순서

※ 프로젝트 구조 예시 fastapi_project/ # 프로젝트 root 디렉토리│├── app/ #fast api 관련 api모음 │ ├── __init__.py│ ├── main.py # 여기서 app= FastAPI()를 선언한다. web framework의 시작점│ ├── api/ │ │ ├── __init__.py│ │ ├── endpoints/ #endpoint로 crud의 명령어가 어느 url로 갈지 정한다. api/와 같은 트리 레벨에서 router로 사용되는 경우도 많다│ │ │ ├── __init__.py│ │ │ ├── items.py #예시│ │ │ └── users.py #예시│ ├── core/ #django에서 s..

python 2024.09.26

poetry add 혹은 pipenv install 무한로딩

venv를 통한 pip install은 정상 작동되지만  poetry 혹은 pipenv와 같은 패키지 매니저를 쓸때 패키지 설치가 안될때가 있다. 이때 keyring인증이 문제인 경우가 있다 poetry add -vvv 패키지이름 poetry의 경우 위 -vvv커맨드를 입력하면 상세 로그가 나온다이때 만약 keyring인증에서 넘어가고 있지 않다면export PYTHON_KEYRING_BACKEND=keyring.backends.null.Keyring 를 .bashrc 또는 .bashpofile에 등록하면 된다. 만약 위 방법으로 해결은 안되지만 검색이 필요할땐 다음 단어를 넣어 검색하는걸 추천한다. poetry add stuck / hang

python 2024.05.08

class 적응하기 2

자 지난번 Class 적응하기 1 에서 이어나가고자 한다. https://code-lib.tistory.com/8 class 적응하기 1 처음 프로그래밍을 시작한 학생에게 class는 왜 쓰는가에 대한 고민이 있을것이다. 초보가 혼자서 코드를 만들 땐 생각보다 class는 안쓰고 전부 하드 코딩과 함수로만 만드는 경향이 있다. 많은 code-lib.tistory.com 이전 글 요약 Class파이어뱃을 만들면 될까? 똑같이 class를 만들면 되지라고 생각할 것 이다. 그런데 마린이랑 파이어뱃의 차이가 뭘까? 위에서는 체력, 공격력, 방어력만 정의 했지만 실제에선 소형인지 중형인지 아니면 대형인지? 도트는 어떻게 되있는지, 목소리는? 생산될때 속도는? 전부 다르게 정의 할것이다. 하지만 움직이는것은 마린..

python 2024.01.30

class 적응하기 1

처음 프로그래밍을 시작한 학생에게 class는 왜 쓰는가에 대한 고민이 있을것이다. 초보가 혼자서 코드를 만들 땐 생각보다 class는 안쓰고 전부 하드 코딩과 함수로만 만드는 경향이 있다. 많은 책이 "class는 붕어빵 찍는 기계다" 라고 설명한다. 하지만 별로 와닿지 않는다 난 좀 더 친근하고 접근성 있게 민속놀이 스타크래프트로 접근해보고자 한다. 1. class로 찍어낼 것 정하기 스타크래프트의 모든 병력은 "유닛" 이라고 불린다. 하드 코딩으로 마린 유닛 1개와 움직이는 함수를 만들어 보자 # 1번 마린 marine_hp = 40 marine_attack = 5 marine_armor = 0 marine_location=[0,0] # 마린 이동 명령 def move(x,y, location): ..

python 2024.01.30

Class method vs Static method in python

메소드(method)에는 여러 종류가 있다. 그 중 오늘은 class method와 static method에 대해 알아보자! class method, static method 비슷하면서 목적이 다르다. class method 첫 인자로 cls를 갖는다 cls는 class를 뜻하며 일반적인 class 내부 method의 self의 역할에 해당한다. cls 인자의 의미는 "instance를 통해 method가 작용하지 않는다" 를 의미한다. class 변수에 접근할때 사용된다 factory method를 만들 때 주로 사용된다. static method 첫 인자로 cls, self 같은 인자를 받지 않는다. 일반 함수처럼 바로 인자를 받는다. instance를 통해 method가 작동하지 않는다 class..

python 2024.01.03

동기(sync)&비동기(async)

sync와 async의 차이는 무엇일까 동기적 코드 (Synchronous code)란? 일반적으로 작성하는 코드는 동기적인 코드다. 그럼 동기적인 코드는 무엇인가 순차적인 실행 Blocking 기반 실행 이렇게 2가지 특징을 가진 코드라 볼수있다. 순차적 실행이란 코드작성 순서대로 위에서 아래로 실행 된다는 의미이며 위의 코드가 실행이 완료되어야 밑에 코드가 실행된단 의미다. blocking이란 코드에서 함수가 작업에 들어갈 때 기존 코드의 흐름(thread)은 정지되고 함수내부의 흐름(thread)으로 진행되게 끔하는 방식이다. 예시 코드1) 동기적 코드이자 blocking 코드 def world(): print("hellow world") if __name__ == "__main__": world(..

python 2023.12.22