본문 바로가기
728x90
반응형
SMALL

App Programming182

AWS (Amazon Web Service) AWS (Amazon Web Service) Amazon Web Services (AWS)는 전 세계적으로 분포한 데이터 센터에서 200개가 넘는 완벽한 기능의 서비스를 제공하는, 세계적으로 가장 포괄적이며, 널리 채택 되고 있는 클라우드 플랫폼이다. 빠르게 성장하는 스타트업, 가장 큰 규모의 엔터프라이즈, 주요 정부 기관을 포함 하여 수백만 명의 고객이 AWS를 사용하여 비용을 절감하고, 민첩성을 향상시키고 더 빠르게 혁신하고 있다. 클라우드 컴퓨팅의 장점 자본 비용을 가변 비용으로 대체 규모의 경제로 얻게 되는 이점 용량 추정 불필요 속도 및 민첩성 개선 중요한 문제에 집중 짧은 시간으로 전 세계에 배포 가능 AWS 아키텍처 가용 영역 (Availability Zone)은 region 내부의 격리된 .. 2023. 9. 14.
[FastAPI] 객체 탐지하기 FastAPI 서버 구축 GET 요청을 수락하고 localhost:8000에서 사용자가 이미지를 업로드한다. 그 다음 yolo 모델을 선택하고 POST를 통해 해당 데이터를 제출한다. POST 요청을 수락하고 입력 이미지에서 yolo 모델을 실행하고 JSON 출력을 반환한다. from fastapi import FastAPI, Request, Form, File, UploadFile from fastapi.responses import HTMLResponse from PIL import Image from io import BytesIO import torch app = FastAPI() @app.get("/") def read_root(): return "FastAPI" @app.post("/predi.. 2023. 7. 25.
[FastAPI] 그래프 그리기 from fastapi import FastAPI, Response import matplotlib.pyplot as plt import io app = FastAPI() @app.get("/plot/") async def get_plot(): # 데이터 생성 x = [1, 2, 3, 4, 5] y = [10, 5, 7, 3, 8] fig, ax = plt.subplots() ax.plot(x, y) ax.set_xlabel('X-axis') ax.set_ylabel('Y-axis') ax.set_title('Sample Plot') ax.grid(True) # 그래프를 이미지로 저장 buffer = io.BytesIO() fig.savefig(buffer, format="png") buffer.seek.. 2023. 7. 21.
어플리케이션 배포 환경 (2) 클라우드 네이티브 클라우드 네이티브는 클라우드의 장점을 최대한 활용할 수 있도록 어플리케이션을 개발, 구축, 실행하는 방식이다. 클라우드 네이티브 어플리케이션의 방법론 데브옵스 (DevOps) 어플리케이션 운영 구조 마이크로서비스 어플리케이션 운영 인프라 컨테이너 어플리케이션을 더욱 짧은 주기로 고객에게 제공하는 자동화 프로세스 지속적인 통합 / 배포 (CI / CD) 데브옵스 (DevOps) 모델 데브옵스 (DevOps)는 소프트웨어 개발과 IT 운영을 결합한 합성어이다. 기존의 분리된 소프트웨어 개발팀과 IT 운영팀의 협업으로 전체 라이프 사이클을 함께 관리할 수 있는 모델이다. 소프트웨어 개발팀과 IT팀이 더 빠르고 안정적으로 소프트웨어를 빌드, 릴리즈할 수 있도록 두 팀간의 프로세스를 자동화하는 .. 2023. 7. 12.
어플리케이션 배포 환경 (1) 어플리케이션 배포 환경 어플리케이션 배포 환경은 지난 몇 년 동안 크게 변화했다. 과거에는 어플리케이션을 온프레미스 (On-premise)서버에 직접 배포하는 것이 일반적이었지만, 최근에는 가상 머신과 컨테이너를 사용하는 배포 환경이 점점 더 대중화되고 있다. 온프레미스 배포는 기업이 자체적으로 서버를 구축하고 운영하는 방식이다. 온프레미스 배포는 기업이 애플리케이션에 대한 완전한 제어권을 갖는다는 장점이 있지만, 서버 구축과 운영에 대한 비용이 많이 드는 단점이 있다. 가상 머신 배포는 하나의 물리적 서버에 여러 개의 가상 서버를 생성하여 어플리케이션을 배포하는 방식이다. 가상 머신 배포는 온프레미스 배포에 비해 비용이 저렴하고 관리가 간편하다는 장점이 있다. 컨테이너 배포는 애플리케이션의 모든 종속성.. 2023. 7. 12.
쿠버네티스 (Kubernetes) 쿠버네티스 (Kubernetes) 쿠버네티스는 컨테이너화된 워크로드와 서비스를 관리하기 위한 이식성이 있고, 확장가능한 오픈소스 플랫폼이다. 쿠버네티스란 명칭은 키잡이 (helmsman)나 파일럿을 뜻하는 그리스어에서 유래했다. 구글이 2014년에 쿠버네티스 프로젝트를 오픈소스화했다. 쿠버네티스는 원래 Google 엔지니어들이 개발하고 설계한 오픈 소스 컨테이너 오케스트레이션 툴이다. 2015년에 Google은 새로 설립된 클라우드 네이티브 컴퓨팅 재단 (Cloud Native Computing Foundation)에 쿠버네티스 프로젝트를 기부했다. K8s라는 표기는 "K"와 "s"와 그 사이에 있는 8글자를 나타내는 약식 표기이다. 쿠버네티스는 프로덕션 워크로드를 대규모로 운영하는 15년 이상의 구글 .. 2023. 7. 11.
[Django] 북마크 앱 만들기 (1) 프로젝트 생성 django-admin startproject mysite . settings.py ALLOWED_HOSTS = [ 'localhost', '127.0.0.1', ] TEMPLATES = [ { "BACKEND": "django.template.backends.django.DjangoTemplates", "DIRS": [ os.path.join(BASE_DIR, 'templates'), ], "APP_DIRS": True, "OPTIONS": { "context_processors": [ "django.template.context_processors.debug", "django.template.context_processors.request", "django.contrib.auth.con.. 2023. 6. 28.
[Django] 웹 서버 연동 원리 wsgi.py 장고는 runserver 명령을 사용하여 자체 웹 서버를 실행할 수 있다. 하지만 이 서버는 개발용으로만 사용하도록 설계되었으며 배포 환경에서 사용해서는 안된다. 따라서, 배포 환경에 사용하려면 Apache 또는 Nginx와 같은 웹 서버를 사용해야 한다. 이러한 웹 서버에 연결하려면 wsgi.py 파일을 만들어야 한다. 장고의 wsgi.py 파일에는 application 객체가 다음과 같이 정의되어 있다. application = get_wsgi_application() 웹 서버는 이 application 객체를 호출하여 장고 어플리케이션을 실행한다. 호출 전에 설정 정보를 로드해야 하며, 이 설정 정보는 mysite/wsgi.py 파일에 다음과 같이 지정된다. import os os.e.. 2023. 6. 28.
[Django] Books 어플리케이션 (2) URLconf books 앱 폴더에 urls.py 파일을 만들고 각 페이지에 맞는 URL을 매치한다. from django.urls import path from . import views app_name = 'books' urlpatterns = [ path('', views.BooksModelView.as_view(), name='index'), path('book/', views.BookList.as_view(), name='book_list'), path('author/', views.AuthorList.as_view(), name='author_list'), path('publisher/', views.PublisherList.as_view(), name='publisher_list'), ] 클.. 2023. 6. 27.
[Django] Books 어플리케이션 (1) 프로젝트에 books 앱 추가 python manage.py startapp books setting.py : 어플리케이션 등록 (서버에 반영) INSTALLED_APPS = [ "books.apps.BooksConfig", # 새로 만든 앱 추가 "polls.apps.PollsConfig", "django.contrib.admin", "django.contrib.auth", "django.contrib.contenttypes", "django.contrib.sessions", "django.contrib.messages", "django.contrib.staticfiles", ] models.py 데이터베이스에 사용할 데이터들의 형태를 정리하기 위해 books 폴더의 models.py를 다음과 같이 수.. 2023. 6. 27.
728x90
반응형
LIST