0312
오늘 한 일
- RDS DB 도커랑 연결
- Production 버전 연결
- EB 설명 및 cli 사용
오늘 할 일
-
수업 내용 복습하기
psql --host=fc7th.c9mdrx6yjpj9.ap- northeast-2.rds.amazonaws.com --user=kahee --port=5432 postgres
AWS Elastic Beanstalk
Browser -> EB -> EB-Nginx -> (proxy) -> Docker container
-> DockerApp-Nginx -> DockerApp-uWSGI -> DockerApp-Django
- EXPOSE : 도커파일에 expose해서 항상 열려있는 포트
- eb init -> eb create -> dockerfile /dockerfile:base -> eb deploy -> eb pen
- eb ssh -> sudo docker ps (우리가 설정한 Dockerfile)
- docker tag / docker id-password /docker push
-
.ebignore
EB CLI가 디렉터리의 특정 파일을 무시하도록 명령, 이 파일이 있는 경우는 .gitignore를 읽지 않는다. -
디렉토리 root지정 안해줬을 땐 지정하고나서 pycharm 종료후에 다시하기
0313
오늘 한 일
- members에 User ninckname 추가
index.html
추가 (views, url)- eb deploy할 때, .gitignore 사용 : .ebignore를 사용하는 경우, gitignore의 모든 내용이 무시되기 때문에 문제가 발생. -> deploy할때는 .secrets를 올려주는 코드
- aws container 이용해서, 배포 후 설정 코드 실행
- django RSET framework
주의 항상 git commit하고 나서 배포하자
오늘의 교훈
.gitignore
잘 확인하자,.secrets
입력을 안해서 AWS 키가 올라가는 일이 발생했었다. 이 경우 github와 AWS에서 이메일이 날라오고 무엇을 하라고 알려주므로 침착하게 해결할것 그전에 다시 이런일이 일어나지 않도록 조심 또 조심!
내일 할일
-
DjangoRestfull 튜토리얼 6까지 직접 해보기 </s - 복습
aws command
- 소스코드가 있기 전에
aws container
- 소스가 있는 후에 실행이 되는 것을 의미함
- leader_only https://docs.aws.amazon.com/ko_kr/elasticbeanstalk/latest/dg/customize-containers-ec2.html?shortFooter=true#linux-container-commands
Rest framework
http://raccoonyy.github.io/drf3-tutorial-1/ http://raccoonyy.github.io/drf3-tutorial-6/
0314
오늘 한 일
- REST Django tutorial(4) 까지
- 탐욕 알고리즘 공부
내일 할 일
- EB 복습하기
정리해야할 것이라고 쓰고 공부한 것이라고 말한다...
- REACT
- Serializer : 직렬화(DICT->JSON)와 역직렬화(JSON->DICT) JSONRender (), JSONParser() ,
- CRUD
- Restful
0315
오늘 한 일
- container_commands와 file을 이용
- static 파일 S3에서 가져오는게 아니라 EC2에서 가져오게끔 설정 (Storage 설정)
- melon 프로젝트 aritst views 분리 ()
오늘의 교훈
cat /var/log/eb-activity.log
이 로그를 잘 확인하자!!!- S3Strorage 부분 잘 모르는 것 같으므로 다시 복습!
오늘의 과제
-
manager 모델에 to_json() 함수로 구현해오기
Container_commands
문제
새로 생성된 컨테이너에 적용이 되는 것이 아니라 지난번 배포했던 것에 적용이 되서 정상작동이 된 것. 원래의 목적은 새로 생성된 컨테이너에 이 명령어를 실행시키려고 한 것이기 때문에 다른 방식으로 바꿔야 한다.
플랫폼 후크
- 시그널과 비슷하지만, 시그널을 사용하면 코드가 어떻게 작동하는지 모르는게 단점!
- 특정 디렉토리에 스크립트를 넣으면 특정 시점에 이 스크립트를 실행
- appdeploy – 애플리케이션을 배포할 때 실행되는 스크립트입니다. 새 인스턴스가 시작될 때와 클라이언트에서 새 배포 버전을 초기화했을 때 Elastic Beanstalk가 애플리케이션 배포를 수행합니다.(우리가 사용하는 것)
S3 - RDS
- 코드 수정된 부분
S3 RDS \ / Django | uWSGI | Nginx | --------------> 정적 파일처리를 여기서만 하는 걸로.... EC2
python http 연결
python -m http.server 3000
직렬화 - 시리얼라이즈
- 전송이 가능한 형태로 저장하는 것을 시리얼라이즈 python pickle 파이썬내에서 교환이 가능하나, 버전에 따른 영향이 크다. (버전이 다르면 해석이 불가능)
- JSON
CORS
- 두번 요청을 하게 됨
- request -> MiddleWare -> view(controller) -> MiddleWare -> response
- 미들웨어에 항상 이 요청을 넣어서 보내야한다.
- Django cors headers https://github.com/ottoyiu/django-cors-headers
0316
오늘 배운 것
- model_to_dict
- APIView
내일 해야할 일
- EC2 S3Strorage
- EB Docker
과제
- TDD GOT 6장까지 1.12
과제 리뷰
- values() 는 다른 데이터베이스가져오는게 불가능함 그래서 특정 요소들은 언급을 해야한다.
model_to_dict()
APIView
- class basic view = APIView
- as.view() 함수를 반환해줌 (클래스를 반환해주기 때문에)
- 브라우저 상에서 없을때는 settings.py installapp 확인할 것
실수
get , post request 항상 넣어주자- 400 : 내가 잘못햇어 500: 서버가 이상해
-
form-data parse
- 쿼리 포멧
- partial_update(부분 업데이트) / update (전체 업데이트)