Python 9

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

Clean-architecture 계층 Use Case layer

프로그램에서 가장 중요한 영역 use case1. 어떤 내용이 들어갈까?use case 계층은 프로그램(프로젝트) 혹은 앱에 있어 가장 중요한 부분이다.비즈니스 룰이 바로 이 계층에 들어간다.사용하는 진짜 데이터를 가공하는 부분이 비즈니스 룰의 역할이다. 예를 들어 사용자 로그인, 특정필터를 사용한 검색수행 그리고 은행의 트랜잭션 작업이 이에 해당한다.※ 비즈니스 룰이란 시스템의 가장 코어한 부분의 내용이다 2. User Case계층의 특징이 계층은 최대한 작으면 작을수록 좋다.작은 기능을 하나씩 고립 시키는 것(수정하거나 고칠때 이부분만 고치면 된다는 의미다.)작은 기능 하나씩 독립적으로 만들어 테스트하기 좋고 유지보수하기 좋게 만들어야한다.use case를 통해 entities에 접근할수 있어야 하며..

architecture 2024.04.29

Clean-architecture 계층 entities layer

clean architecture의 가장 안쪽의 있는 계층Entities layer에 대해 정리한다. 1. 어떤 내용이 들어갈까?이 계층은 도메인 모델의 구현체가 들어가게 된다.간단히 말하자면 앱을 만들때 상호작용하는 특정한 구현체들이 들어간다 보면된다. ※ 단, String 같은 파이썬에서 전반적이고 일반적인 사용되는 모델이 들어가는게 아니라, 앱 기준으로 특징을 기준으로 고립시켜 사용할 모델을 넣는다.ex) 예약 플랫폼에서 delux Room, suite room  책 clean-architectures-in-python에서는 다음과 같이 말하고 있다.If your project was a tool to analyse medieval manuscripts, however, you might need ..

architecture 2024.04.29

클린 아키텍쳐 파이썬- django

Clean- Architecture란 무엇일까?  clean- architecture가 2021년 유럽 장고콘에서 다뤼졌다.기존의 django 구조에는 어떤 문제가 있었길래 이런 clean architecture가 소개 된걸까? 기존 Django Architecture의 문제점은?※ 비즈니스 로직을 어디에 두어야 할까?Views → 읽기 힘들다, 다시쓰기 힘들다Models → 모델의 dependency를 너무 복잡하게 생성한다. (즉, 수정하기 힘들다 능동적 db대응 힘듬)Forms → 이건 UI에 묶여있는 로직이라 불가하다- 위의 모든 파트는 unit test하기 힘들고 share하기도 힘들다. 해결책은 무엇일까?특정한 layer에 고립된 비즈니스 로직을 만들자이런 layer들을 use cases la..

architecture 2024.04.25

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

동기(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