일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 튜플
- Props
- wetube
- SAA
- MongoDB
- async
- flask
- dict
- 파이썬
- 카톡
- 채팅
- TypeScript
- S3
- Vue
- socket io
- AWS
- pandas
- SSA
- crud
- 중급파이썬
- Class
- git
- react
- lambda
- EC2
- NeXT
- docker
- RDS
- merge
- node
- Today
- Total
목록전체 글 (420)
초보 개발자
Delete edit room에서 photo를 지우려고한다. urls.py에 name을 delete_photo라고 지어준 곳으로 이동시키는데, 그 뒤에 인자를 순서대로 room.pk와 photo.pk를 보낸다는 뜻이다. 아래는 url이다. 받아온 인자를 room_pk, photo_pk로 받아온다. 받아와서 이 delete_photo에게 전달해주는데 이게 조금 복잡해보일 수 있다. 먼저 user를 받아온 뒤에 room과 photo가 있는지 확인을 한다. get으로 확인하는 경우에는 찾지 못할경우 에러가 나기에 try except문으로 만들어주었다. 그래서 room이 없는 경우에는 그냥 home으로 보내버리고, photo가 없는 경우에는 현재 장소로 보낸다. 이 경우 검은색으로 글씨가 처리되어 넘어가지 않는..
로드 밸런스를 먼저 설치를해주자 Application Load Balancer를 사용하려고 한다. 대상그룹을 지정해주어야 하는데, 이건 어떤 인스턴스를 elb안에 넣을 것이냐를 의미하는 것이다. 이 대상그룹과 elb를 연결하고, 만약 트래픽이 과도하게 몰리면, 대상그룹에 ec2인스턴스를 추가해서 사용할 수 있도록, 반대로 트래픽이 줄어들면 대상그룹의 ec2 인스턴스를 삭제하고 이런식으로 조절할 수 있도록 대상 그룹을 지정하는 것이다. 대상그룹의 port는 8000으로 해주었다. 이건 elb에서 사용자가 접속하면 80번포트로 트래픽을 받고 어디로 전달해 줄 것이냐를 정해주는 것이다. 우리는 8000번 포트를 개방할 것이기 때문에 이렇게 적었다.
ec는 elastic computing의 약자이다. 기본적인 서비스이며, 서버를 하나 빌린다고 볼 수도 있다. 따라서 RAM,CPU등을 설정할 수도 있다. 먼저 인스턴스를 생성해보자 ubuntu 20.04버전과 프리티어, 새 키페어를 생성했다. 이 키페어를 통해서 서버와 ssh방식으로 통신할 수 있는 것이다. 서버는 공개키를 나는 개인 키를 가지게 되고, 공개키에서 생성한 암호를 개인키에서 풀어서 접속하는 관계, 공개키에서 생성한 암호는 개인키에서밖에 풀 수 없다고 한다. 최초 접속시에는 이렇게 비대칭키(서버는 공개키를 가지고, 유저는 개인키를 가지기에)를 사용하지만, 그 이후에는 같은 키를 공유하여 정보를 암호화, 해독을 한다고 한다 (대칭키 형식) SSH 명칭부터 접속까지 한 번에 이해하기 1 | 가..
ec2를 사용하려면 처음부터 다 설치해주어야 하는 불편함이 있지만 eb라고 불리우는 것을 사용하면 기본적으로 ec2를 자동적으로 생성해준다. 두개는 다르지 않다 elastic beanstalk는 ec2를 만드는 단축기일 뿐이다. 그리고 코드를 매우 쉽게 배포할 수 있게 해준다. 그리고 테스트용 인스턴스를 만들 수 있게도 해준다. 먼저 aws cli를 설치해주어야 한다. pipenv install awsebcli --dev 그런 뒤 db를 치면 커맨드 들이 떠야 정상적으로 설치된 것이다. 다음 eb init 을 하면 region을 고르는 화면이 나올텐데 seoul을 찾아 번호를 적자 (10) 그다음엔 aws-access-id를 생성해야한다. 왜냐면 현재 아마존은 우리가 누군지 모르는 상태이다. AWS에서 ..
먼저 저번에 했던 것과 마찬가지로 UpdateView를 상속한 View에서 아래를 정의해주어야 한다. model template_name fields 그리고 update view는 똑똑해서 url에서 pk값을 받고 위의 model에 정의한 model에서 pk값에 해당하는 data를 반환하고 그 반환하는 데이터는 form에 담기는데 그 form에는 우리가 위에서 지정한 fields가 담겨져 있다. 그리고 그 form을 template_name에 정의해놓은 html파일에서 {{ form }}을 사용하여 접근할 수 있는 것이다. 전에 user의 profile을 edit하는 경우에 자신만! 바꿀 수 있어야했다. 내가 다른사람의 profile을 바꾸는건 있을 수 없기 때문이다. 저번에는 어떤 방식을 사용했냐면 U..
여러 mixin클래스가 있다. 로그인 되어있는 유저인지. 로그인 되어있지 않은 유저인지 혹은 소셜로그인으로 되어있는지 등을 확인하는 절차가 필요하다. 그에 따라 접근할 수 있는 페이지가 다르기 때문.. 그걸 해결할 수 있는 것이 CBV에서는 mixin을 사용하면 되는 것이다. from django.contrib.auth.mixins import LoginRequiredMixin from django.contrib.auth.mixins import UserPassesTestMixin 위의 mixin중 LoginRequiredMixin은 로그인이 되어있는지 확인을 해주고 로그인이 되어있지 않다면 로그인 url로 보내는 기능을 한다. users.py안에 mixins.py를 만들고 거기안에 custom mixi..
django를 사용해서 password change 기능을 만들어 보려고한다. 기본적으로 django는 form과 view에서 기능을 제공해주고있다. 나도 쓰는 방법을 잘 모르지만, 먼저 기본적으로 Form을 만들어 주었다. from django.contrib.auth.forms import PasswordChangeForm class PasswordForm(PasswordChangeForm): old_password = forms.CharField( widget=forms.PasswordInput( attrs={"placeholder": "Present Password"}, ) ) new_password1 = forms.CharField( widget=forms.PasswordInput(attrs={"..
user의 edit page를 만들어보자 이번에는 UpdateView를 사용해보려고한다. 기본적으로 UpdateView는 pk를 인자로 받는다. 그리고 지정한 모델의 pk에 해당하는 data를 html에 form으로 보내준다. 하지만 edit profile을 잘 생각해보면, 내가 남의 profile은 수정을 할 수가 없다. 오직 나의 profile만 수정을 할 수가 있다. 따라서 pk를 인자로 주지 않으려고한다. 그 대신 get_object라는 메서드를 만들어 줌으로써 해결이 가능하다. return 값으로 현재의 유저를 보내주면 된다. 그리고 form에서 바꿀 내용을 fields안에 넣어주면 html안에 fields에 적어놓은 내용들이 다 들어있다. 이렇게 반복문을 돌려주면 된다. 기본적으로 templa..