Code Monkey home page Code Monkey logo

advanced-back's Introduction

2학기 심화세미나 백엔드 레포지토리


백엔드 심화 세미나의 목적

  • 백엔드 서버를 빠르게 구축하는 기초를 배우기
  • 우리가 구축한 시스템의 품질 관리와 운영에 대한 생각을 시작하기

주차별 구성

1주차 (평재)

  • 상속, 믹스인
  • DRF

2주차 (인규, 나영)

  • EC2 배포-1

3주차 (인규, 나영)

  • EC2 배포-2
  • 네트워크

4주차 (혜민, 평재)

  • CI/CD
  • Docker
  • Code Testing

1주차 과제

과제 개요

  • 이전에 우리는 이미 몇가지 API 구성 방식을 활용해보았습니다. 또한 drf에서 제공하는 클래스들을 활용해보기도 했습니다.
  • 1주차 세미나에서는 이를 이용해 API를 구현하는 방법을 알려주기 보다는 각 방법이 어떻게 동작하는지와 개발자로서 이를 취사선택할 때 어떤 것들을 고려해야하는지 살펴볼 예정입니다.
  • 이를 위해 여러분에게 미리 drf에서 제공하는 빠르고 편한 api 구성 방식에 대한 힌트를 알려드리고, 이를 Todo 앱 내의 View들에 적용하여 기존 코드를 개선하는 과제를 내드리고자 합니다.

과제 상세

  1. Todo 앱 내에 serializers.py 파일을 만들고, todo 모델에 대한 serializer 클래스를 다음 두 가지 클래스 중 하나를 상속받아 구성하기
  • rest_framework의 serializers 모듈이 제공하는 Serializer 클래스
  • 동일 모듈의 ModelSerializer 클래스
  1. Todo 앱 내에 views.py에 미리 구성해놓은 view 클래스들을 다음 네가지 방식 중 취향껏 선택하여 재구성해보기
  • rest_framework의 views 모듈이 제공하는 APIView 클래스를 상속받아 재구성
  • rest_framework의 mixins 모듈이 제공하는 믹스인 모듈과 generics 모듈이 제공하는 GenericAPIView 클래스다중 상속 받아 재구성
  • rest_framework의 generics 모듈 내의 9가지 특수 APIView 클래스를 상속 받아 재구성
  • rest_framework의 viewsets 모듈이 제공하는 ModelViewSet 클래스를 상속 받아 재구성
  1. 상속 받은 rest_framework 라이브러리 클래스들의 내부 로직을 살펴보면서 우리가 상속 받아 사용하는 클래스의 내부가 어떻게 구현되어있는지 살펴보기 (선택 과제)
  2. 기존 기능 이외에도 위의 네가지 방식 중 하나를 사용하여 새로운 기능을 가진 api를 작성해보거나, 기존 api 기능을 확장해보기 (선택 과제)

과제 구현 시 참고하면 좋은 레퍼런스

위 과제가 아무리 살펴봐도 너무 힘들다... 라고 하신다면 아래 링크의 DRF 튜토리얼을 한 번 쭉 진행해보고 오시기를 적극 권장드립니다.


1주차 과제 제출 방법

  • 본 레포지토리(upstream)를 fork 해주세요
  • fork한 개인 레포지토리(origin)을 로컬에서 clone 받아주세요
  • 본인 이름으로 미리 구성된 브랜치에서 과제를 수행해주세요
  • 과제 수행 후, 변경 사항을 origin에 푸시하고 upstream의 동일 브랜치로 pr을 날려주세요

advanced-back's People

Contributors

hyemmie avatar pyungjae9492 avatar pyungjae-park avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.