반응형

전체 글 456

FastAPI get, post, patch, delete 예제 코드 정리

파이썬의 대표 백엔드 모듈인 FastAPI에서 get, post, patch, delete 메소드를 구현하는 방법을 간단한 예제를 통하여 정리해보도록 하겠습니다. get 메소드 예시 간단한 유저 데이터를 저장하는 상황을 가정해보고, 먼저 전체 유저의 정보를 가져오는 코드를 작성해보도록 하겠습니다. from fastapi import FastAPI, HTTPException from pydantic import BaseModel from typing import List app = FastAPI() # 데이터베이스 역할을 할 간단한 딕셔너리 db = {} # 데이터 모델 정의 class User(BaseModel): id: int username: str email: str # 전체 유저의 정보들을 리스트..

Python/Backend 2024.04.24

JavaScript에서 ChatGPT API 호출 방법 코드 예제

자바스크립트에서 GPT 등의 openai 모델에 대한 API를 호출하는 방법을 간략한 코드 예제로 쉽게 정리해보도록 하겠습니다. 1. 프롬프트 준비 우선, 프롬프트 목록에 대한 리스트를 아래와 같은 양식으로 준비해 줍시다. const messages = [ { role: 'system', content: "답변은 항상 한국어로 해주세요."} { role: 'user', content: "Who is the first president of USA?"} ] 2. GPT 호출 파라미터 준비 이후, openai api 호출을 위한 json input 양식을 준비해줍시다. 예시는 다음과 같습니다.(위에서 정의한 messages 변수를 사용합니다.) const gptInput = { model: 'gpt-3.5-..

파이썬 redis 유효 시간 ttl 설정 방법 예제

Python에서 redis 데이터베이스를 활용할 때, 특정 key에 대한 유효 시간인 ttl을 설정하는 방법을 간략한 예제를 통하여 다루어보도록 하겠습니다. 다음 예시는 redis 데이터베이스의 유효 시간을 1분으로 설정하는 예시입니다. import redis # redis 데이터베이스 연결 r = redis.Redis(host='localhost', port=6379, db=0) r.set('my_key', 'my_value') # my_key - my_value를 쌍으로 가지는 데이터 저장 r.expire('my_key', 60) # 키 'my_key'의 TTL을 1분으로 설정(초 단위) 위의 예제처럼 데이터베이스의 expire 메소드를 통하여 해당 key에 대해서 원하는 유효 시간을 초 단위로 설정..

Python/Utils 2024.04.16

[React] 페이지 이동 기능 useNavigate 훅 사용 방법 정리

리액트에서 페이지 이동을 구현하는 과정에서 useNavigate는 매우 유용하게 사용됩니다. 상세한 이해를 위하여 해당 훅의 사용 방법에 대하여 간략하게 요약해보도록 하겠습니다. 1. 설치 및 임포트 방법 useNavigate는 react-router-dom 라이브러리에 포함된 훅으로, 해당 라이브러리가 설치되지 않은 경우, 먼저 설치를 진행해주셔야 합니다. // npm을 사용하는 경우 npm install react-router-dom // yarn을 사용하는 경우 yarn add react-router-dom 임포트 및 훅 사용을 위하여 객체를 선언하는 코드 예시는 다음과 같습니다. import { useNavigate } from 'react-router-dom'; const navigate = u..

poetry 환경 내에서 fasttext 설치 오류 해결 방법

오류 개요 poetry로 관리하는 패키지의 의존성으로 fasttext 모듈을 설치하는 과정에서 다음과 같은 오류가 발생하였습니다. Using version ^0.9.2 for fasttext Updating dependencies Resolving dependencies... (0.6s) Package operations: 1 install, 0 updates, 0 removals - Installing fasttext (0.9.2): Failed ChefBuildError Backend subprocess exited when trying to invoke get_requires_for_build_wheel /tmp/tmpp1lp42ow/.venv/bin/python: No module named pi..

Python/Debugging 2024.04.08

파이썬 가상 환경 도구 poetry 특징 및 명령어 정리

파이썬 프로젝트마다 별도의 환경이 필요하고, conda 환경으로 관리하는 경우가 많지만, poetry로 가상 환경을 다루는 것도 큰 이점을 가져다주는 경우가 많습니다. 이번 글에서는 간단하고 명료하게 poetry의 특징과 장점 및 기본적인 명령어 예시를 정리해보도록 하겠습니다. Poetry 특징 및 장점 디렉토리마다 가상 환경을 별도로 두는 것이 특징입니다. 이 특징은 pipenv와도 유사합니다. 모듈의 버전 간 종속성을 자동으로 해결하고 관리해주는 것이 가장 큰 장점입니다. 예를 들어, 모듈 설치 시 기존 모듈의 버전과 호환이 되지 않으면 이를 해결할 수 있도록 안내해주며, 기존 모듈들끼리 호환이 되는 범위 내에서 버전을 자동으로 골라줍니다. 개발용 버전에서만 필요한 의존성을 별도로 두고 관리할 수 있..

Python/Utils 2024.04.04

discord.py에서 앱 버튼(Context Menu) 구현 방법

파이썬으로 디스코드 앱을 구현할 때, 아래와 같은 이미지의 앱 버튼을 구현하는 방법을 간략하게 정리해보도록 하겠습니다. Python Discord API Context Menu 구현 예제 discord bot 선언 후에, 다음과 같이 context_menu 데코레이터를 활용하면 위와 같은 앱 버튼 형태를 구현할 수 있습니다. import discord from discord.ext import commands # 봇 선언 부분 예시 intents = discord.Intents.all() intents.messages = True intents.message_content = True bot = commands.Bot(command_prefix="!", intents=intents) # 앱 버튼 생성에 ..

Python/Discord API 2024.03.30

자바스크립트 Promise 객체, async 및 await 개념 정리 예제

javascript에서 비동기 처리를 하는 과정에서 필수적인 개념인 Promise 객체, async 및 await의 개념들을 간단한 예시를 통하여 이해를 해보는 시간을 가져보도록 하겠습니다. Promise 객체 Promise는 자바스크립트에서 비동기 작업을 표현하는 객체입니다. 비동기 작업이 완료된 후에 요청이 성공하면 결과값을 반환해주고, 실패한 경우에는 이유를 처리할 수 있는 방법을 제공하는 원리입니다. 해당 객체는 세 가지 상태를 가질 수 있는데요. 아직 요청을 처리하고 있는 중이라면 pending, 요청의 결과값을 성공적으로 받았다면 fulfilled, 요청이 실패하였다면 rejected의 상태를 가지게 됩니다. Promise 객체의 선언 방식은 다음과 같이 정리할 수 있습니다. const pro..

파이썬 API 호출 동시에 여러 번 수행 방법(aiohttp 비동기 호출 응용)

Python에서 API를 수십 번 이상 동시 호출된 결과를 한 번에 모아서 실제로 1~2번 호출에 가까운 시간에 전체 결과를 받을 수 있는 방법에 대하여 간략하게 정리해보도록 하겠습니다. 여기서는 aiohttp 모듈의 비동기 호출을 사용하게 되는데요. 이에 대한 기본적인 내용은 아래 링크의 이전 포스팅을 참고하시면 도움이 됩니다. 파이썬 requests 비동기로 요청하기(aiohttp 및 asyncio 활용) Python에서 requests 모듈로 get, post 등의 요청을 진행하는 경우가 종종 있는데요. 이번 글에서는 이러한 종류의 요청을 aiohttp 모듈을 통하여 async로 처리하는 방법을 간략하게 정리해보도록 하겠습 jimmy-ai.tistory.com 비동기 API 호출 결과 모으기 예제 ..

Python/Utils 2024.03.19

파이썬 코드 포맷터 black 사용하는 이유 / 사용 방법

Python의 대표 Code Formatter인 black에 대하여 사용하면 좋은 점과 간단한 사용법 예시를 정리해보도록 하겠습니다. black 사용 장점/이유 개발자 간에 협업을 할 때, 코드 스타일이 다를 수 있는데 다른 스타일의 코드가 뒤죽박죽 섞이게 되면 가독성이 떨어져 코드 리뷰, 디버깅 등의 과정에서 어려움을 겪을 수 있습니다. 따라서, 코드 스타일을 통일하기 위하여 이를 중재해주는 코드 포맷터가 큰 프로젝트일수록 더 중요한 역할을 하게 되고, Python에서는 black이 대표 포맷터 종류로 자리잡은 것입니다. 예시로, black에서 중재해주는 코드 스타일 양식의 예시는 다음과 같습니다. ### 포맷팅 전 ### def some_function(arg1,arg2):return arg1+arg..

Python/Utils 2024.03.13
반응형