목록개발자 (20)
WinGyu_coder
from rest_framework.views import APIView from rest_framework.exceptions import NotAuthenticated from rest_framework.permissions import IsAuthenticated from django.shortcuts import redirect class PageAPIView(APIView): permission_classes = [IsAuthenticated] def handle_exception(self, exc): if isinstance(exc, NotAuthenticated): return redirect('login_url') return super().handle_exception(exc) 아주 간편..
오늘 리눅스에 용량이 없어 도커가 실행이 어려운 상황에 놓였다. 그래서 도커에 실행 경로를 바꿧다,. == GPT 작성 == 도커 데이터를 다른 드라이브나 파티션에 저장하려면 도커 데몬의 설정을 변경해야 합니다. 현재 `/dev/sda4`에서 사용 가능한 공간이 없고, `/dev/sdc1`에 더 많은 공간이 있는 것으로 보입니다. 도커가 `/dev/sdc1`을 사용하도록 설정할 수 있습니다. 다음 단계를 따라 도커의 저장 위치를 변경할 수 있습니다: 1. **도커 서비스 중지**: ```bash sudo systemctl stop docker ``` 2. **기존 도커 데이터 이동**: 도커의 기본 데이터 경로(`/var/lib/docker`)를 `/dev/sdc1` 드라이브(예: `/DATA/docke..
Python 개발자로 일을 하다가 보니, 영상 분석쪽 업무를 하게 되었는데 분석한 영상을 스트리밍으로 구현을 해야 했다. 그러기 위해 Cloudflare CDN 서버를 사용했는데, 나쁘지 않게 구현이 가능해서 글을 적어본다. 간단한 구성은 아래와 같다. 설명해보자면 우선 우분투 리눅스로 서버를 구성하였다. 사용자가 영상 분석을 요청하면 HTTP, HTTPS 요청을 서버가 받아서 영상 분석을 시작한다. 들어온 요청 만큼 파이썬이 FFmpeg 프로세서 명령어를 실행해 영상을 RTMP 를 통해 CDN 서버인 Cloudflare에 보낸다. 아무래도 실시간 스트리밍이기 때문에 실시간 영상 분석 속도가 관건이다. (전송속도 및 영상 재생 속도가 문제 있을시 FPS 및 해상도를 조절해보자, 영상 코덱, 전송 통신, ..
오늘은 Django 장고 프레임 워크를 통해 csv, json 파일 다운로드를 구현할려고 한다. 우선 각각 라이브러리 및 프레임워크를 가져온다. from django.http import HttpResponse # 이건 이제 데이터를 가져올려고 임포트 했다, 가져올 데이터마다 # 예시용 from .models improt CarModel import json import csv 유저가 요청했을때 DB에 있는 데이터를 꺼낼 수 있고, 웹에서 가져온 데이터를 보낼 수 있고, 그건 개발하는 사람 마다 다르기 때문에 필자는 예시용으로 CarModel을 가져왔다. 소스 코드는 아래와 같다 Json 다운로드 예제 코드 1 def download_json_file(request, pk): try: car = CarM..
이전 포스트 Python, Django 장고로 모의투자 서비스 제작하기 (3) - Docker 로 Mysql DB 생성하기 https://wingyu-story.tistory.com/132 Python, Django 장고로 모의투자 서비스 제작하기 (3) - Docker 로 Mysql DB 생성하기 이전 포스트 Python, Django 장고로 모의투자 서비스 제작하기 (2) - 주식 종목 코드, 섹터 코드, 표준산업코드 가져오기 https://wingyu-story.tistory.com/131 Python, Django 장고로 모의투자 서비스 제작하기 (2) - wingyu-story.tistory.com 깃허브 https://github.com/decembaek/auto_stock_django Git..
이 에러 메시지는 git pull 명령어를 사용하여 원격 저장소의 변경사항을 로컬 저장소에 병합하려 할 때 나타납니다. 여기서 문제는 로컬 저장소에 변경된 파일들이 있고, 이 변경사항들이 원격 저장소에서 가져오려는 변경사항들과 충돌하기 때문에 발생합니다. 이 문제를 해결하기 위해서는 다음과 같은 방법들을 사용할 수 있습니다: 변경사항 커밋하기: 로컬에서 변경한 파일들을 커밋하여 이를 저장소에 확정짓습니다. 이후에 git pull을 다시 실행하여 원격 저장소의 변경사항을 가져올 수 있습니다. git add . git commit -m "커밋 메시지" git pull origin main 변경사항 스태시하기: 만약 현재의 변경사항을 임시로 보관하고 싶다면, 스태시(stash) 기능을 사용할 수 있습니다. 이..
Flutter에서 dispose 메서드는 StatefulWidget의 상태 객체 (State)에서 사용되며, 위젯이 영구적으로 제거될 때 호출됩니다. 이 메서드는 리소스를 정리하거나, 리스너를 해제하거나, 애니메이션 컨트롤러를 중지하는 등의 작업에 사용됩니다. dispose는 Flutter의 위젯 수명 주기의 일부로, 메모리 누수를 방지하고 앱의 성능을 향상시키는 데 중요한 역할을 합니다. dispose 사용법: 리스너 해제: 위젯이 더 이상 사용되지 않을 때, 예를 들어 TextEditingController 또는 다른 종류의 리스너를 해제해야 할 때 dispose를 사용합니다. 애니메이션 컨트롤러 정리: AnimationController와 같은 애니메이션 리소스가 있을 경우, 위젯이 제거될 때 이를..
회사에서 영상을 프레임 단위로 받아 딥러닝으로 만든 모델로 보내는 작업을 하였다. 이 부분은 정리하면 좋을거 같아서 정리를 해둔다 . 우선 이미지를 받을 서버는 Django REST Framework로 구현하였다. Django API 서버쪽에 받는 코드는 이렇게 된다. 우선 DRF에 APIView를 가져오고 POST를 구현한다. # 서버 코드 from rest_framework.views import APIView from rest_framework.response import Response import requests import numpy as np import cv2 import base64 class DeeplearningModelAPI(APIView): def post(self, request..