본문 바로가기

전체 글

(75)
python @decorator에 대해서 데코레이터는 실행하려는 함수의 구조를 수정하지 않고 기존 객체에 새로운 기능을 추가 할 수 있도록 하는 기능이다. def decorator(func): def wrapper(*args, **kwargs): print('전처리') print(func(*args, **kwargs)) print('후처리') return wrapper @decorator def myFunc(): return 'decorator test' # 결과 # 전처리 # decorator test # 후처리 decorator 함수명이 꼭 decorator 일 필요는 없다. 여러개의 decorator 함수를 생성하여 각각 다른 함수에 사용할 수 있다. 그럼 이제 decorator에 대해 알았다면 ..
DRF ModelSerializer 근데 serializer를 매번 model 처럼 속성을 길게 적어줘야하는 노가다를 해야하나? 아니다. 더 간단하게 해줄 수 있다. ModelSerializer를 사용하게 되면 더 간단하게 사용할 수 있다. 아래 코드를 보자 from rest_framework import serializers from .model import User class UserSerializer(serializers.ModelSerializer): class Meta: model = User fields = ("name", "phone", "birthday", "friend") 일반 Serializer를 사용했을때와 지금을 보자 어떤가? 훨씬 간단하게 작성이 되어졌다. 이렇게 수정하고 runserver를 통해서 확인해보자 Ser..
DRF serializer 그러면 이제 url과 view를 작성하는 법은 대충 알았다. 이제는 로직을 작성해볼건데 작성하기전 serializer에 대해 좀 알고 있어야한다. (위 두줄 제거 생각해보기) view의 내용은 api_view의 DRF 함수형뷰 api view 에서 이어진다. 간단히 설명하자면 serializer는 기본적으로 데이터가 보여야 하는 방식을 설명해주는 녀석이다. django에선 필요 model을 검증하고 JSON 객체로 변환해준다. 일단 코드를 작성해본다. # file을 새로 생성해준다. # users/serializers.py from rest_framework import serializers class UserSerializer(seiralizers.Serializer): """ models.py에서 a..
DRF 함수형 뷰 (@api_view) users/urls.py from django.urls import path from . import views app_name = 'users' urlpatterns = [ path("list/", views.list_users), ] 다음으로 view를 작성해보는데 함수형 뷰를 처음으로 작성해볼것이다. (물론 클래스형 뷰에 대해서도 알아 볼 것이다.) # users/views.py from rest_framework.decorators import api_view from rest_framework.response import Response @api_view(["GET"]) def list_user(request): return Response() 데코레이터를 이용해서 api_view..
django rest framework에 대해서 django 방식의 API DRF(Django Rest Framework)의 흐름에 대해서 보면 url의 경로를 따라 view에서 로직이 진행이 되는걸 확인 할 수 있다. django install pip install djangorestframwork 를 터미널에서 입력하고 설치한다. 설치가 다 되었으면 설치된 애플리케이션 안에 REST Framework를 설치해준다. # settings.py INSTALLED_APPS = [ ... 'rest_framework', ]config/urls.py from django.urls import path, include urlpatterns = [ ... paht("api/v1/users/", include('users.urls'))..
버블정렬 - 스터디- 무엇인가? 순서 없이 정렬된 리스트를 하나하나 비교해가며 순서대로 정렬하는 기법이다. (오름 차순으로 정렬하는걸 정리함) 공부 방법 노트에 직접 상황들을 적어가며 공부함 길이가 긴 리스트여도 흐름을 파악할때까지 리스트의 길이를 늘림 다행히 길이가 4까지만 해도 이해가 되었다. 생각한 내용 적어보기 처음 생각한대로 내용 적고 코딩한 결과 list1 = [5, 3, 4, 1, 2] for i in range(len(list1)): for j in range(len(list1)-1): if list1[j] > list1[j+1]: list1[j+1], list1[j] = list1[j], list1[j+1] print(list1) 첫 for문에서 list1의 길이를 체크해서 그 횟수만큼 돌고 j가 포함되어있는..
REST API REST의 구성 자원(resource) - URI 행위(Verb) - HTTP METHOD 표현(Representations) REST API REST 기반으로 서비스 API를 구현한 것 대표적으로 상태 전달이고 아래 설명이 자세한 내용 REST API는 웹상에서 사용되는 여러 리소스를 HTTP URI로 표현하고, 해당 리소스에 대한 행위를 HTTP Method로 정의하는 방식 리소스 (HTTP URI로 정의됨)를 어떻게 하겠다(HTTP Method + payload)를 구조적으로 깔끔하게 표현하는 방법입니다. 특징 사내 시스템들도 REST 기반으로 시스템을 분산해 확장성과 재사용성을 높여 유지보수 및 운용을 편리하게 할 수 있다. REST는 HTTP 표준을 기반으로 구현하므로, HTTP를 지원하는 프로..
API란? API이란 무엇인가? 지금 까지 그냥 검색으로만 알아왔다면 이젠 정확하게 알고 어느정도 기억은 해보자란 차원에서 비유하며 알아보는게 나을 것 같습니다. 학교에 반장 그리고 학생, 선생님이 있는데 선생님이 학생한테 반장 좀 불러와라 라고 시켰습니다. 이때 API로 비유하자면 선생님 -> 학생 -> 반장 순으로 전달이 되는걸 알 수 있습니다. 쉽게 선생님이 요청(request)을 하고 반장이 응답(response)하는 작용에 중간에 학생이 필요하다는걸 알 수 있습니다. 다시 돌아와 API의 뜻을 보면 API는 응용 프로그램(애플리케이션)에서 운영 체제나 프로그래밍 언어가 제공하는 기능을 제어 할 수 있게 만든 인터페이스를 뜻한다. 주로 파일 제어, 창 제어, 화상 처리, 문자 제어 등을 위한 인터페이스를 제..