일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- typescript
- JWT
- rebase
- docker
- CORS
- 노드
- pm2
- status code
- bcrypt
- 장고초기세팅
- westagram
- 실행 컨텍스트
- 트랜잭션
- OSI7계층
- crud2
- manytomanyfield
- on_delete
- wecode
- Django
- Jest
- 호이스팅
- 자바스크립트
- javascript
- async/await
- django westagram
- node
- 프로미스
- nodeJS
- TypeError: this.boardRepository.createBoard is not a function
- 스코프
- Today
- Total
목록프로젝트/wecode2차 : WnB (17)
될때까지

호스트가 집을 등록하려면 집 이미지도 첨부하게 된다. 첨부한 이미지 파일들은 어디에 저장해야할까? WnB 프로젝트에서는 AWS S3를 사용해서 저장했다. S3가 무엇이고 왜 사용하는지 간단하게 알아보자. S3란? Simple Storage Service의 약자로 인터넷용 스토리지 서비스를 말한다. 이미지 파일들을 저장할 수 있는 공간으로 버킷(bucket)이라는 최상위 디렉토리에 저장된다. S3의 버킷은 무한대의 객체(저장되는 데이터 단위를 일컫음)를 저장할 수 있기 때문에 확장 및 축소에 신경을 쓰지 않아도 되서 관리에 용이하다는 장점이 있다. 난 기존에 만들었던 버킷을 사용할것이기 때문에, 버킷 생성 관련 자료는 >>해당 유튜브 참고 클릭 views.py import boto3 class Regist..

# FLOW 호스트가 집을 등록하는 기능을 구현해보자. 이미지 파일 업로드는 일단 빼고 대략적인 flow를 그려보자. url : POST /hosts/rooms 집 등록 기능은 로그인한 유저 + 호스트 일때만 가능하다. header에 첨부된 토큰을 복호화하여 호스트 여부를 확인한다. 호스트가 아니라면, 403 에러를 반환한다. 집이름, 지역, 주소, 가격, 설명, 위도, 경도, 최대수용인원, 방, 화장실, 침대의 갯수, 카테고리, 룸타입, 기타시설의 정보를 body로 받는다. 외래키로 연결되는 카테고리, 룸타입, 기타시설 id는 존재유무를 확인한다. 집이름은 중복 불가능하다. 집을 등록한다. # 포스트맨에서 리스트로 데이터를 보내는 방법 포스트맨으로 여러개의 데이터를 리스트로 담아 요청하는 방법은 아래와..

# 일반 회원가입 1. 기존의 서비스는 카카오 소셜 로그인만 가능했다. DB의 users 테이블에서 kakao_id, kakao_profile_img 컬럼의 값을 NULL TRUE로 변경해줘야지 회원가입이 가능하다. # users > models.py from decimal import Decimal from django.db import models from core.models import TimeStampModel class User(TimeStampModel): ...생략... kakao_id = models.BigIntegerField(unique=True, null=True) kakao_profile_img = models.CharField(max_length = 500, null=True) ..

기존의 WnB는 미니콘다 가상환경을 사용했었다. 원티드 프리온보딩 코스를 참여하면서 poetry를 새롭게 배웠는데, npm과 비슷한 부분들이 많아서 더 편리했다. 해당 프로젝트로 poetry를 사용할 수 있게끔 세팅을 변경해야한다. 아래 명령어를 쉘에서 입력한다. poetry init 그럼 뭘 많이 물어보는데, 프로젝트에 맞게 적어주면 된다. 그다음 가상환경을 실행시킨다. poetry shell 프로젝트에 필요한 패키지를 설치한다(ex jwt, pymysql, boto3...) poetry add jwt poetry add Django==4.0.6 // 버전 지정도 가능 그다음 서버를 키면 잘 돌아가는 걸 확인할 수 있다. python manage.py runserver

WnB프로젝트는 끝났다. 하지만 추후 리팩토링이나 뭐 새로운 기술을 추가하면서 프로젝트를 업그레이드하고 싶었다. 하지만 해당 프로젝트는 현재 다른 레포지토리에 올라가있고 팀원들과 연결이 되어있다. 이미 프로젝트가 종료되었으니 내가 어떤 작업을 하든 팀 멤버들에게 영향을 주고싶지않았다. 그래서 구글링을 했고, 내 개인 레포지토리로 옮겨서 프로젝트를 이어갈 수 있는 방법을 정리해보도록 하자. 1. 클론받기 먼저 프로젝트를 다운받을 폴더로 이동한다. 그다음 clone할 레포지토리의 소스코드들을 가져온다. git clone 팀프로젝트레포지토리주소 2. 내 레포지토리 만들기 깃허브에 텅 비어있는 새 레포지토리를 만든다. 3. 둘이 연결하기 클론받은 프로젝트 폴더로 이동한다. cd 프로젝트폴더 연결된 레포지토리를 ..

🏨 시연영상 🏨 담당했던 기능 카카오 소셜 회원가입 로그인 로그인 데코레이터 회원 정보 수정 호스트 집 등록하기 API 소셜 로그인 unit test 🏨 아쉬웠던 점 2주라는 시간은 정말 너무 짧다. 해보고 싶은 기능이 너무 많았는데 다 못한 점이 아쉽다(리뷰/결제/상품 필터). 프로젝트 발표 하루 전에 다급하게 프론트와 백엔드를 연결해서 테스트하다보니 예상치 못한 에러가 계속 나타났고, 시간을 많이 뺏겼다. E2E 테스트 시 문제 원인을 빠르게 파악하지 못해 나 자신에게 너무 화가 났다. 내가 조금 더 많이 알고 잘했다면 훨씬 빠르게 , 그리고 더 완벽한 프로젝트 영상을 찍었을텐데 열심히 한 만큼 다 담지 못한 게 아쉽다. 🏨 잘한 점 프론트를 잘 만났다. 프론트 분들이 모두 능력자여서 사이트가 너무 ..
S3 계정 생성 방법 및 IAM Rom 테이블 Image 테이블 import boto3 import uuid from django.views import View from django.db import IntegrityError from django.http import JsonResponse from core.utils import signin_decorator from hosts.models import Host from rooms.models import Category, Room, Facility, RoomFacility, RoomType, Image from my_settings import AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, IMAGE_URL, AWS_B..
담당했던 기능은 모두 구현이 끝난 상황. 1차 프로젝트때 추가사항을 진행하지 않고 개인공부를 진행했더니 아쉬움이 많이 남았었다. 그래서 이번에는 AWS S3를 이용해 숙소에 관한 CRUD를 구현해보기로 했다. 우선 WnB의 Room 객체를 생성하기 위해서는 많은 컬럼값들이 필요한데 그 중에서 여러개의 값을 어떻게 받을까.. 예를 들어 하나의 숙소에는 여러가지의 편의시설이 존재한다.(와이파이, 에어컨, 온수, 세탁기 등) 그리고 하나의 편의시설은 여러개의 숙소에 존재한다.(방1, 방2, 방3 모두 와이파이가 가능한 경우) 그래서 모델링할 때 다대다의 중간 테이블을 생성했었다. 휴 새삼 다시 느끼는 모델링의 중요성 안그랬으면 모델링 다 뒤집어야했.... 😱 방을 등록하려면 해당 방의 편의시설도 등록을 해야하..
class KakaoOauthView(View): def get(self, request): token = request.META.get('HTTP_AUTHORIZATION') KAKAO_URL = 'https://kapi.kakao.com/v2/user/me' HEADER = {'Authorization': token} user_info = requests.get(KAKAO_URL,headers=HEADER).json() kakao_id = user_info['id'] kakao_profile_img = user_info['kakao_account']['profile']['profile_image_url'] email = user_info['kakao_account']['email'] user, cre..
TestCase : unittest 프레임 워크의 테스트 조직의 기본 단위 Fixture : 테스트를 진행할 때 필요한 테스트용 데이터 혹은 설정 등을 말한다. 주로 테스트가 실행되기전이나 후에 생긴다. assertion : unittest에서 테스트하는 부분이 제대로 됐는지를 확인한다. Django에서 제공하는 테스트는 TestCase를 임포트해서 사용하고, 항상 TestCase객체를 상속받아 테스트 클래스를 생성해야한다. from django.test import TestCase 테스트 코드 실행 명령어는 다음과 같다. python manage.py test . test는 각각의 함수를 직접 호출하는 게 아니고, Client()객체를 이용해서 우리가 설정한 엔드포인트 경로를 통해 함수를 호출해야한다...