[FastAPI] 동기와 비동기, 코루틴 개념 정리
·
Minding's Programming/FastAPI
FastAPI를 본격적으로 사용해보기에 앞서 알아보아야 할 개념인 동기와 비동기의 차이, 그리고 코루틴 함수에 대해서 공부해보았다. 동기와 비동기 - 동기(sync) '코드가 동기적으로 동작한다'라는 말의 뜻은 '코드가 반드시 작성된 순서로 실행된다.'라는 뜻과 동일하다고 생각하면 된다. A,B,C의 순서로 코드가 작성되어 있다면, A 함수가 실행되고 끝나면 B가 실행되는 플로우로 진행된다. import time def delivery(name, mealtime): print(f"{name}에게 배달완료!") time.sleep(mealtime) # n초 대기 print(f"{name} 식사완료, {mealtime}시간 소요...") print(f"{name} 그릇 수거 완료") def main(): d..
[FastAPI] FastAPI 특장, 설치 방법
·
Minding's Programming/FastAPI
Python을 기반으로 하는 웹 프레임워크 중 최근(이라고 하기도 좀 뭐하지만)에 각광받고 있는 FastAPI를 한번 배워보려고 한다. 본격적으로 나만의 '무언가'를 만들어 보려고 하는데, 가장 일반적이고 내가 원하는 바를 표현해낼 수 있는 것이 웹이라고 생각되었다. html과 css 등의 프론트엔드는 그나마 찍먹 정도는 해봤기 때문에 백엔드 포지션이라고 할 수 있는 웹 프레임워크부터 배워보기로 했다. FastAPI의 특징은? 이름에서부터 알 수 있듯이 FastAPI는 API를 만드는데 특화된 웹 프레임워크이며, 빠른 속도를 자랑한다. 이는 Python의 async와 await을 이용해 비동기 프로그래밍을 지원해 동시성을 높일 수 있었기 때문이다. Python 3.8 기준의 API를 빌드를 목적으로 하고..
[Python] OpenCV를 이용해 자동 카톡 메시지 보내기
·
Minding's Programming/Knowledge
살다보면 한번 쯤 여러 사람, 여러 그룹에 같은 메시지를 보내야 할 때가 있다(청첩장이라던가... 마케팅 일을 한다던가..). 그러나 그 양이 만만치 않다면 메시지를 복사 붙여넣기 하는 것마저 부담스러운 일이 된다. 이런 일을 대비해 같은 내용의 메시지를 여러 채팅방에 자동으로 보내주는 프로그램을 만들어보기로 했다. 업무자동화의 대표주자인 Python과 화면 인식에 능한 OpenCV 등을 이용하면 어렵지 않게 만들 수 있다. 필요한 라이브러리 opencv-python == 4.5.3.56 (다른 버전을 써도 무관하다.) pyperclip pyautogui 모두 pip install 명령어를 통해 설치하면 된다. pip install opencv-python pip install pyperclip pip ..
[LLAMA2] LLAMA2 Custom Data로 학습시켜보기 (무료 Colab 사용)
·
Minding's Programming/Knowledge
Meta의 대규모 언어 모델인 LLAMA2를 Custom Data로 학습시키는 쉬운 방법이 있다고 해서 따라해봤다. LLAMA2 fine tuning을 위한 패키지 다운로드 https://github.com/huggingface/autotrain-advanced GitHub - huggingface/autotrain-advanced: 🤗 AutoTrain Advanced 🤗 AutoTrain Advanced. Contribute to huggingface/autotrain-advanced development by creating an account on GitHub. github.com autotrain-advanced 패키지를 통해 딥러닝 모델을 쉽게 학습시킬 수 있다. 코드 한 줄로도 가능하다! #..
챗지피티 API (ChatGPT API) 사용 방법, 가격 알아보기
·
Minding's Programming/Knowledge
OpenAI의 대규모 언어 모델 ChatGPT의 API를 활용해 더 다양하게 활용해보고자 한다. ChatGPT의 API는 어떻게 사용할 수 있을까? 1. API키 발급 / 엔드포인트 설정하기 OpenAI 웹사이트 로그인 및 API 발급 OpenAI의 홈페이지(링크)에 접속해 로그인하자. 로그인하고 나면 세 가지 항목을 선택할 수 있는데, 제일 오른쪽에 있는 'API'버튼을 누르면 된다. 이후 오른쪽 상단에 내 계정을 누르면, 퀵메뉴가 나온다. 그 중 'View API keys' 메뉴를 선택한다. 이후 'Create new secret key'를 선택해 새로운 API key를 만들거나, 기존 API key를 살펴볼 수 있다. API 코드를 발급 받았다면, 아래 코드를 이용해 chat gpt api를 활용해..
Python 프로그래밍 중 가장 많이 발생하는 5가지 에러코드 정리
·
Minding's Programming/에러 코드
Python을 몇 년 동안 사용해왔음에도 멍 때리며 코드를 작성하다 보면 실수로 에러코드를 화면에 띄우기도 한다. 이 참에 Python 프로그래밍 중 보통 사람들이 가장 많이 실수하는(물론 나도 마찬가지다.) 에러코드를 정리해보면서 코드 작성시 유의해보려고 한다. 1. SyntaxError (구문 오류) 이 에러는 코드가 파이썬 문법에 맞지 않을 때 발생한다. 주로 쉼표, 괄호, 콜론 등을 잘못 사용할 때 발생할 수 있다. # SyntaxError 예시 print("Hello World" # 올바른 코드 print("Hello World") 해결방법: 코드를 정확하게 다듬고 문법을 검토하여 올바른 구문을 사용하면 된다. 앞 뒤를 잘 살펴보자. 2. IndentationError (들여쓰기 오류) 거의 대..
OpenAI 공식 ChatGPT 앱 출시, 사용방법, 기능, 유료버전(GPT4)
·
Minding's Programming/Knowledge
그 동안 ChatGPT api 등을 활용한 어플리케이션은 많았지만, 정작 ChatGPT를 개발한 OpenAI의 공식 어플리케이션은 존재하지 않았다. 하지만 7월 26일, OpenAI가 공식 ChatGPT앱을 출시했다는 소식을 알려왔다. 공식 ChatGPT는 어떤 환경을 가지고 있고, 어떤 기능과 편의성을 가지고 있는지 살펴보았다. 설치 Google 플레이 스토어 또는 Apple 앱 스토어에서 ChatGPT를 검색하거나, 아래 링크를 통해 다운로드 받을 수 있다. Google 플레이 스토어 링크 https://play.google.com/store/apps/datasafety?id=com.openai.chatgpt Apple 앱 스토어 링크 https://apps.apple.com/us/app/chatgp..
[NYPC] 청소년들의 프로그래밍 축제, NYPC 알아보기
·
Minding's Programming/Knowledge
공교롭게도 다시 취업해 다니고 있는 회사가 게임 회사다. 연이어 게임 회사에 다니고 있다 보니 자연스럽게 게임 회사들이 하는 행사에 눈길이 가게됐는데, 굉장히 흥미로운 행사가 열린다는 소식을 듣고 글을 쓴다. 게임 개발에도 관심이 생겨 Pygame을 공부해보기도 했던 나지만, 이런 대회가 열리고 있었다는 건 알지 못했다. 사실 여기에 참가할 수도 없긴하다. 참가 자격이 2005년 ~ 2012년생의 프로그래밍에 관심있는 청소년이기 때문이다. 그래도 최근 코딩 열풍이 불며 많은 청소년들이 놀라운 코딩 실력을 보여주고 있다고 하니, 이 대회에서 어떤 창의력 넘치는 작품, 문제풀이가 나올지 기대가 많이 된다. 그래서 NYPC가 뭐하는건데? NEXON Youth Programming Chanllenge, 넥슨 청..