DevOps
[ DevOps ] - AWS 기반 대규모 아키텍트 설계 - (개발) 도메인 서비스 구현 - API 구동 테스트
이제 이제까지 짠 order, shop API가 잘 작동하는지 알아보겠습니다. GET /api/order 아직 아무것도 추가 안해주었으므로 빈 배열이 나타납니다. POST /api/shop GET /api/shop 다음과 같이 추가된 shop이 잘 확인됩니다. 그리고 만약에 잘못된 field를 넣게되면 어떻게 될까요? POST /api/shop 다음과 같이 json형태로 딱 떨어지게 오류가 표시됩니다. 그리고 pk를 통해 id=1인 가게를 가져와 보도록 하겠습니다. GET /api/shop/1 네 잘 작동합니다. 그리고 PUT을 통해 데이터 업데이트가 잘 동작하는지 확인해보도록 하겠습니다. PUT /api/shop/1 이도 잘 동작함을 확인할 수 있습니다. 마지막으로 삭제까지 잘 되는지 확인하겠습니다. ..
[ DevOps ] - AWS 기반 대규모 아키텍트 설계 - (개발) 도메인 서비스 구현 - Django, RestFramework - Viewsets
이제 RestFramework를 스피드하게 구현해 보도록 하겠습니다. 이번 포스팅의 새로운점이라고 하면 Viewsets를 사용한다는 점입니다. 전보다 더 깔끔한 코드와 체계적인 구조를 보실 수 있을겁니다. 바로 rest_framework의 viewsets를 통해 구조를 짜보겠습니다. /user_order/views.py from rest_framework import viewsets, status from .models import Shop, Order from .serializers import ShopSerializer, OrderSerializer from rest_framework.response import Response from rest_framework.parsers import JSONP..
[ DevOps ] - AWS 기반 대규모 아키텍트 설계 - (개발) 도메인 서비스 구현 - Django, Models
이번에 할 작업도 기존에 했던 작업과 많이 겹치는 작업입니다. 스피드하게 진행해 보도록 하겠습니다. /user_order/models.py from django.db import models class Shop(models.Model): shop_name = models.CharField(max_length=20) shop_address = models.CharField(max_length=40) class Order(models.Model): shop = models.ForeignKey(Shop, on_delete=models.CASCADE) order_date = models.DateTimeField('date ordered') address = models.CharField(max_length=40..
[ DevOps ] - AWS 기반 대규모 아키텍트 설계 - (개발) 도메인 서비스 구현 - Django, Mysql
우선 Django와 mysql을 직접 연결하는 과정을 진행해 보도록 하겠습니다. 우선 docker-compose.yml을 수정해 주도록 하겠습니다. /docker-compose.yml version: '3.8' services: backend: build: context: . dockerfile : Dockerfile ports: - 8000:8000 volumes: - .:/app depends_on: - db db: image: mysql:5.7.22 restart: always environment: MYSQL_DATABASE: admin MYSQL_USER: root MYSQL_PASSWORD: root MYSQL_ROOT_PASSWORD: root volumes: - .dbdata:/var/li..