본문 바로가기

django/정리

(10)
[Django] NHN Cloud 휴대폰 sms 본인 인증 기능 먼저, 본인 인증에는 여러가지 방식이 있다.대부분의 서비스에서 사용되는 휴대폰 본인 인증 방식(통신사 인증, 카카오톡 인증, 나이스 등...)은 사업자 등록이 필요하다. 사용자의 개인정보를 다루기 때문!그만큼 강력한 보안을 보여주지만, 작은 프로젝트에서는 사용하기 힘들다.이번 프로젝트에서는 사업자 등록이 필요없는 단순한 문자 API를 활용하여 전화번호를 이용한 본인 인증을 이용하기로 했다.휴대폰인 본인 소유인지 확인할 수는 없지만, 빠른 본인 인증이 가능하다.SMS API를 제공하는 서비스도 다양하게 있다. 대표적으로 Twilio, Naver Cloud, AWS SNS 등을 많이 사용한다.이번에 내가 하게 된 건 NHN Cloud 서비스! 선택지가 없었따...이전 개발자가 남긴 흔적https://www...
[Django] 비동기식 데이터 전달/불러오기 - Redis&Celery (1) 멘토분께서 비동기식 처리&빠른 DB 접근을 위해 Redis를 공부하라 하심. TTS API를 돌릴 때 꽤 시간이 걸려서..할 수 있을까?# 이론 정리Redis란?redis란, 간단하게 말하면 그냥 DB이다. 키-밸류 형식으로 데이터를 저장할 수 있는 NoSQL(이것 말고도 다른 자료구조가 많지만 가장 많이 이용하는 것은 이런 dictionary형태)또한 데이터를 메모리에 직접 저장, 즉 In-memory로 저장하므로 데이터 정렬 및 조회가 일반 DB보다 빠르다.저장 공간 제약이 있어 주메모리로는 사용 X데이터의 지속성을 보장하기 위해 두가지의 데이터 백업 방식을 같이 사용한다.RDB : 한 순간을 포착하여 메모리에 있는 내용을 DISK로 옮겨 담는 방식 -> 유실 가능성 OAOF : 데이터 변경 이벤트(..
[Django] UML Diagram 자동생성 Django에서 모델 및 함수를 완성했다면 이를 바탕으로 UML Diagram을 자동으로 만들 수 있다 ~^^^^^ https://simpleit.rocks/python/django/generate-uml-class-diagrams-from-django-models/ Generate UML class diagrams from django models How to generate class diagrams pictures in a Django project from console simpleit.rocks 그대로 따라하면 됨. 하하
[Django] CEOS vote_project 정리 #개발 준비 bariBari23/django-vote-17th: 파트장/데모데이 투표 (github.com) GitHub - bariBari23/django-vote-17th: 파트장/데모데이 투표 파트장/데모데이 투표. Contribute to bariBari23/django-vote-17th development by creating an account on GitHub. github.com https://documenter.getpostman.com/view/25425757/2s93z9d3Md vote_project The Postman Documenter generates and maintains beautiful, live documentation for your collections. Neve..
AWS 배포(4) - SSH 연결 및 docker 관리 이건 필수는 아니지만... 어디에 문제가 있는지 확인하거나 지금 컨테이너 확인하거나...여러개 알아두면 좋다. 나도 문제를 여기서 확인하고 해결했다. # 서버 관리 나같은 경우에는 github action에서는 오류가 발견되지 않았는데, 서버가 작동하지 않았다. sudo docker ps로 확인해보니, web container가 돌아가지 않고 있음을 확인했다. 서버를 돌리기 위해 필요한 라이브러리가 설치가 안되있었다. 그러니 로컬에서는 돌아가지만 서버는 안돌아가지... 아무튼 이렇게 AWS 인스턴스에서 직접 연결할 수 있다. # SSH 터널링 SSH(Secure SHell)란 원격의 호스트 컴퓨터에 접속하기 위한 인터넷 프로토콜이다. ssh key페어(.pem)를 사용하는 암호화 방식이므로 보안이 강력하..
AWS 배포(3) - https, 도메인 이제 거의 다왔다!! http는 웹 브라우저와 서버 간 요청-응답 처리를 해주는 프로토콜이다. 여기에 보안을 더해준 것이 https이다. 보통 TLS, SSL 프로토콜을 사용해 암호화하여 보안을 지킨다. AWS ALB(Application Loas Balancer)를 이용해 https를 설정했다. # 도메인 구입 도메인을 구입하는 사이트는 여러 곳이 있다. 가비아, AWS, Freenom(무료) 등... 처음에는 내도메인.한국 - 한글 무료 도메인 등록센터 (xn--220b31d95hq8o.xn--3e0b707e) 이곳이 무료여서 사용했는데, 뭐가 문제인지 적용이 잘 안된다... 내도메인.한국 - 한글 무료 도메인 등록센터 한글 무료 도메인 내도메인.한국, 웹포워딩, DNS 등 무료 도메인 기능 제공 x..
AWS 배포(2) - EC2, RDS, github action 저번에 이어서 배포 준비하기~~ 로컬이 아닌 서버에서 돌아가는 파일은 github actions가 실행시켜준다. pr할때마다 action이 새로 실행된다. 수정한 코드를 쉽게 반영할 수 있어서 편리하다..! # deploy.yml .github/workflows/deploy.yml github actions가 실행시켜준다. name: Deploy to EC2 on: push: branches: - dev jobs: build: name: Build runs-on: ubuntu-latest steps: - name: checkout uses: actions/checkout@master - name: create env file run: | touch .env echo "${{ secrets.ENV_VARS..
AWS 배포(1) - Django, Nginx, Gunicorn 기본정리 나보다 잘 정리한 사람도 많고...그냥 이해한대로 최대한 정리해봤다. # 배포 아키텍처 WSGI(Web Server Gateway Interface) : Application Server를 호출하여 동적인 요청을 처리할 수 있는 서버 python은 Gunicorn을 사용한다. Django의 runserver와 같은 역할! NGINX : Client에게 받은 정적인 요청을 Gunicorn으로 전달하여 처리하는 Web Server. 즉, 이 프로젝트에서 NGINX는 정적인 요청은 알아서 처리하여 사용자에게 return하고, 동적인 요청을 처리하기 위해 Application Server를 불러올 수 있는 Gunicorn을 통해 처리한다. # Docker OS에 관계없이 내가 만든 프로젝트가 같은 환경..