일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- snmp
- 정규식 활용
- 정규식 컴파일
- c3 축 없애기
- influxdb 설치
- g++ 업데이트
- subporcess path
- grafana dashboard
- c3 second
- 1697
- regex_search
- linux시간으로 변경
- c3 step graph
- gcc regex
- semanage
- gcc 업데이트
- telegraf
- c++ 정규식
- python popen
- 백준
- python os
- selinux port 등록
- c3 축 가리기
- InfluxDB
- c3 초
- snmp test
- centos pyhon 설치
- 정규식 문자열 출력
- CentOS7
- python subprocess
- Today
- Total
목록프로젝트 (36)
리셋 되지 말자
AMI 준비 amazon linux를 만들고 docker, docker-compose 만 설치된 상태의 AMI를 생성 sudo amazon-linux-extras install docker sudo systemctl start docker sudo systemctl enable docker sudo usermod -aG docker ec2-user sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose IAM 계정 생성 아래..
기존 아키텍처 링크로 접속하면 api를 사용할 수 있다. 그리고 잘 동작한다. 이미지 한 장을 처리하는데 16~18초 정도가 필요하다. 비동기 task 큐를 사용해서 이미지가 처리되는 동안 무중단으로 잘 동작한다. 하지만 이미지 처리 시간 및 트래픽이 많아졌을 경우 확장하기가 매우 힘들다. 이유는 다음과 같다. 업로드된 이미지, 처리된 이미지가 서버에 직접 저장된다. 서버가 2대로 확장되었을 때, 1번 서버의 이미지를 2번 서버가 가지고 있지 않는다면 문제가된다. 그래서 이미지를 공유할 수 있는 방법이 필요하다. 모든 서비스가 public ip를 갖는 server에 올라가다 보니 보안상으로도 좋지 않다. 트래픽에 따라 서비스가 확장되어야 하는데, server 자체를 확장하면 부하가 심하지 않은 서비스도 ..
Python 설치 및 boto3 설치 - 가상환경 확인 (venv) [vagrant@servera boto-test]$ python --version Python 3.8.8 - pip upgrade (venv) [vagrant@servera boto-test]$ pip install --upgrade pip - boto3 설치 (venv) [vagrant@servera boto-test]$ pip install boto3 환경변수 설정 export ACCESS_KEY='ACCESSKEY' export SECRET_KEY='SECRETKEY' 이미지 파일 준비 - wget 으로 이미지 파일 다운로드 (venv) [vagrant@servera boto-test]$ wget https://github.com/..
우선 os를 ubuntu 에서 centos 로 변경. 기존에는 이미지 처리를 위한 opencv 설치를 위해 libgl1-mesa-dev 위 패키지를 apt 로 설치해 줬었는데, centos 에선 yum install mesa-libGL 위 패키지를 설치해주면 된다. 이슈 celery 에 작업을 던지는 host 에 tensorflow 같은 무거운 패키지가 필요한가? 매우 고민이 많았다. 그래서 해결을 위해 celery task를 경량화(?) 하는 작업을 진행 중이다. Django 와 연동은 안했는데, host 에서 rabbitmq 로 메시지를 던졌는데 celery worker 에서 작업을 실행하지 않는 이슈가 있었다. 이에 대한 이슈는 아직 확실히 파악하지는 못했지만 해결 방법은 링크와 같았다. First..
Separated Image model 이미지 처리가 된 이미지 모델을 추가한다. Origin Image 와 1:1 관계로써 존재하게 된다. csapi/models.py 에 model 추가 from django.db import models from django.contrib.auth.models import User class OriginImage(models.Model): auth_user = models.ForeignKey(User, on_delete=models.CASCADE) origin_image = models.ImageField(upload_to = 'origin_images/') class SeparatedImage(models.Model): origin_image = models.For..
Origin Image model 먼저 image 파일을 업로드할 수 있도록 model 을 추가하고, django admin 페이지에서 확인한다. Dockerfile 에서 pillow 패키지를 설치하도록 수정 FROM python:3.7-slim WORKDIR /csapi ENV PYTHONUNBUFFERED 0 RUN apt update -y RUN apt install -y python3-dev default-libmysqlclient-dev build-essential RUN pip install django mysqlclient pillow COPY . . RUN python manage.py makemigrations RUN python manage.py migrate --run-syncdb C..
이미지를 고려한 DB 스키마 설계 login, logout, signup 기능을 구현했으니 이제 본격적으로 api 개발을 시작. 현재 DB 상태 - auth_user 만 있다 구현할 DB 상태 - 원본 이미지와, 후처리된 이미지가 존재한다. 한 명의 사용자가 여러 개의 origin_image 를 가질 수 있으며, 후처리된 이미지인 separated_image 는 origin_image 와 1:1 로 매핑되어 존재하게 된다. 이때, image 에 대한 data 자체를 DB에 저장하는 것이 아니라 image 파일의 경로가 origin_image 테이블과 separated_image 테이블에 저장되게 된다. 위의 테이블들과 관계가 100% 옳다고는 할 수 없다. 옳은지 아닌지는 개발을 해가면서 검증한다.
Django 의 model 회원가입 기능 구현을 하기 전에, 잠시 복기 auth app의 기본 model - mariadb 의 auth_user 테이블 확인 +----+-----------+----------------------------+--------------+----------+------------+-----------+---------------------+----------+-----------+----------------------------+ | id | password | last_login | is_superuser | username | first_name | last_name | email | is_staff | is_active | date_joined | +----+----..