일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- 충북
- selenium
- 알고리즘
- 단축어
- 아이폰
- 그리디 알고리즘
- 유튜브
- 리스트
- venv
- 링크
- DB
- 장고
- G-Suite
- 탐욕 알고리즘
- flask
- 깃허브
- 구글 드라이브
- MongoDB
- 코딩
- python
- 추천 영상
- nocookie
- List
- Django
- docker-compose
- Google Drive
- 파이썬
- pymongo
- 바로학교
- gpu 병렬처리
- Today
- Total
목록파이썬 (17)
SSAMKO의 개발 이야기
회사에서 AI모듈 패키징을 하며, 여러 대의 GPU를 효율적으로 사용하는 방법에 대한 고민이 있었다. 각각의 아이템들에 특정 gpu index를 부여해서, 해당 gpu에서 작업하도록 하는 방법을 사용중이었는데, (Round Robin Load Balancing Algorithm과 유사) 이 방법은 놀고 있는 gpu가 있어도 특정 gpu에 업무가 몰릴 수 있다는 단점이 있었다. 그래서 각 아이템에 gpu_index를 부여하는 대신, 아이템이 업로드 되면 대기중인 gpu를 찾아서 해당 아이템의 처리를 하게 하는 방식으로 로직을 다시 작성할 필요가 있었다. (Least Connections Load Balancing Algorithm과 유사) (물론, 이 방법을 처음부터 생각하지 못한 것은 아니었지만, 구현이..
한국어 처리기 knolpy를 import할 때, jpype._jvmfinder.JVMNotFoundException: No JVM shared library file (libjvm.so) found. Try setting up the JAVA_HOME environment variable properly. 위와 같은 메세지가 발생할 경우, JAVA설치가 안되어있거나, 환경변수에 등록이 안되어있는 것인데, 보통은(최신버전의 JAVA 혹은 ubuntu) JAVA를 설치해주면 이 문제가 해결된다. ubuntu20.04에서 JAVA는 아래의 커맨드로 설치할 수 있다. sudo apt install default-jdk 위 JAVA 설치를 docker에 추가하고 싶다면, Dockerfile내에 RUN sudo a..
python을 새 서버에서 운영해야 할 때, 버전관련한 이슈가 생기지 않도록, 개발할 때의 파이썬 버전을 필요로 할 때가 있다. 이럴때, 단순히 기존의 python을 제거하고, python old version을 받아서 설치하는 방법도 있지만, pyenv를 이용해 좀 더 세련되게 관리하는 방법에 대해 알아보자. pyenv의 공식 github는 github.com/pyenv/pyenv 이다. 자세한 내용은 여기서 확인이 가능하고, 해당 포스팅의 내용은 이곳에 나와있는 것을 초보자를 위해 꼭 필요한 부분만 한글로 번역해 안내함을 알린다. pyenv의 원리를 간단하게 나타내면, python이라는 명령어에 해당하는 환경변수(PATH)를 그때그때 변경해주는 것이다. 무슨 말이지 몰라도 괜찮다. pyenv자동 설치..
대용량 파일을 local DB가 아닌 GCS나 AWS S3에 저장하기 위해, 혹은 mongodb같은 써드파티 DB를 사용하는 서버에서, 파일을 단순히 업로드 받아 처리해야할 경우가 있다. 그럴경우엔 forms.py나 model.py 작성없이 바로 views.py에서 작성 가능하다. from django.http import HttpResponse from django.views.decorators.csrf import csrf_exempt from django.views.decorators.http import require_POST from .. import FileManager as fm @csrf_exempt @require_POST def recommend_user_prod(request): fm..
Django를 이용해 백엔드 서버를 구성할 때, 큰 장점 중 하나인 테스트 코드 작성에 대해 알아보겠습니다. 테스트 코드를 작성하면, 사람이 손으로 직접 테스트를 하는 것보다 훨씬 빠르고, 정확하게 테스트를 진행할 수 있습니다. django에서는 이 작업을 편리하게 도와주는 Test도구들이 있습니다. 이 중에서 TestCase를 사용해 간단히 API Test를 위한 코드를 작성해보겠습니다. 먼저, django app을 만들면 자동 생성되는 tests.py를 삭제하거나 이름을 변경해줍니다. model, form, views 등을 각각 테스트할 수 있도록, test_model, test_form, test_views 처럼 각각의 파일을 만들어줍니다. 이는 각각의 테스트 코드를 별도로 작성하고, 진행할 수 있..
python에서 다른 폴더, 특히 상위폴더에 작성한 module 혹은 pacakge를 import할 때, 경로 문제가 자주 발생한다. 해당 스크립트를 직접 실행시킬때, package를 아래처럼 import해줄 수 있다. if __name__ == '__main__': if __package__ is None: import sys from os import path sys.path.append(path.dirname(path.dirname(path.abspath(__file__)))) from airtrack_banner import Banner else: from ..airtrack_banner import Banner
python으로 손쉽게 API서버를 만들기 위해서 주로 flask를 많이 사용합니다. 플라스크 (웹 프레임워크) - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. ko.wikipedia.org 좀 더 큰 규모의 백엔드 서버를 위해서는 당연 django를 사용해야겠지만, 가벼운 API 몇 개만 운영하고자 할 때는 flask처럼 간편한 framework가 없습니다. 장고 (웹 프레임워크) - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. 다른 뜻에 대해서는 장고 문서를 참조하십시오. 장고(Django, FAQ 발음으로는 "쟁고"(IPA: [ˈdʒæŋgoʊ])[2])는 파이썬으로 작성된 오픈 소스 웹 프레임워크로, 모델- ko.wikipedia.org flask를 API..
vue.js - node.js 에 django 끼워넣기 1. Django에서 socket-io[client] 연결 2. Django - DB서버(mariaDB) 연결 3. Django - GCS(Google-Cloud-Storage) 연결 4. node.js(javascript) 와 django(python) JSON response 통일시키기 5. API cors(csrf) 설정 시작 현재 회사에서 Backend(node.js) - Frontend(vue.js) 로 만들어진 웹사이트에 새로운 기능을 런칭하면서, 해당 기능을 django로 제공하고자 했다. 그래서 vue.js로 만들어진 페이지에 백엔드는 node.js, django 두 가지 서버가 운영되게 되었는데 내가 django서버 개발을 담당했다...