SW개발

    [Django]Django ORM과 QuerySet의 특징 (LazyLoading, Caching, EagerLoading)

    이번 포스팅에서는 장고를 사용하게되면 필연적으로 접할 수 밖에 없는 Django의 ORM과 QuerySet의 특징에 대해 알아보려고 한다. 그 중에서도 LazyLoading, Caching, EagerLoading에 대해 알아볼 것이다. 이를 위해서 ORM이 무엇이고 왜 사용하는지에 대해 간략하게 알아보고 넘어갈 것이다. ORM 이란? Object Relational Mapping (객체-관계 매핑) 객체와 관계형 데이터베이스를 자동으로 매핑(연결) 해줌 데이터베이스 ↔ Object (객체를 통해 데이터베이스의 필드를 다룸) ORM을 사용하는 이유 ORM은 위에서 설명한 것과 같이 객체를 통해 데이터 베이스를 다룰 수 있는 기술을 의미한다. ORM을 사용함으로써 얻을 수 있는 장점과 단점들은 아래와 같다..

    [HAProxy]HAProxy 란?

    HAProxy 란? HAProxy는 기존의 하드웨어 스위치를 대체하는 소프트웨어 로드 밸런서로, 네트워크 스위치에서 제공하는 L4, L7 기능 및 로드 밸런서 기능을 제공한다. 설치가 쉽고 빠르기에 서비스 이중화(HA- High Availability)를 구성하는데 주로 사용한다. 로드 밸런싱이란? HAProxy 기술을 알기전에 먼저 Load Balancing 이라는 기술을 알아야 한다. Load Balancing 이란 부하 분산을 위해서 가상 IP를 통해 여러 대의 서버에 접속을 분배하는 기능을 말한다. 로드 밸런서를 사용해야 하는 이유 클라이언트의 수가 많아짐에 따라 요청의 수가 늘어나게 되면 서버에는 부하가 걸리게 된다. 이를 해결하기 위해선 크게 두가지의 방법이 존재한다. Scale-up : 서버..

    [Django]Django REST Framework 튜토리얼 6 (ViewSets & Routers)

    이번 포스팅에서는 DRF의 ViewSets & Routers 공식 문서를 공부하면서 번역해보려고 한다. 해석에 틀린 내용이 있을 수 있으니 이해가 안가는 부분은 아래의 공식문서를 참조하기 바란다. DRF ViewSets & Routers 공식 Documentation 6 - Viewsets and routers - Django REST framework REST framework includes an abstraction for dealing with ViewSets, that allows the developer to concentrate on modeling the state and interactions of the API, and leave the URL construction to be hand..

    [Vue]라이프 사이클 알아보기

    Vue 에서는 인스턴스나 컴포넌트가 생성될 때 라이프사이클(lifecycle) 이라고 정의된 몇 단계의 과정을 거친다. 즉, 인스턴스가 생성되면서 보여지고 사라지는 일련의 과정을 일컫는 말이다. 라이프 사이클은 Vue 공식 문서 에서 확인할 수 있다. Vue 인스턴스는 다음과 같은 4가지의 과정을 거치면서 진행된다. Create(생성) Mount(부착) Update(업데이트) Destroy(제거) 이 각각의 단계에서 Vue는 Hook(훅)을 할 수 있도록 여러 개의 API를 제공한다. 아래와 같은 Hook이 존재한다. beforeCreate, created beforeMount, mounted beforeUpdate, updated beforeDestroy, destroyed beforeCreate va..

    [Django]Django REST Framework 튜토리얼 5 (Relationships & Hyperlinked APIs)

    이번 포스팅에서는 DRF의 Authentication & PermissionsRelationships & Hyperlinked APIs 공식 문서를 공부하면서 번역해보려고 한다. 해석에 틀린 내용이 있을 수 있으니 이해가 안가는 부분은 아래의 공식문서를 참조하기 바란다. DRF Relationships & Hyperlinked APIs 공식 Documentation 5 - Relationships and hyperlinked APIs - Django REST framework At the moment relationships within our API are represented by using primary keys. In this part of the tutorial we'll improve the ..

    [Django]Django REST Framework 튜토리얼 4 (Authentication & Permissions)

    이번 포스팅에서는 DRF의 Authentication & Permissions 공식 문서를 공부하면서 번역해보려고 한다. 해석에 틀린 내용이 있을 수 있으니 이해가 안가는 부분은 아래의 공식문서를 참조하기 바란다. DRF Authentication & Permissions tutorial 공식 Documentation 4 - Authentication and permissions - Django REST framework Currently our API doesn't have any restrictions on who can edit or delete code snippets. We'd like to have some more advanced behavior in order to make sure tha..

    [Django]Django REST Framework 튜토리얼 3 (Class-based Views)

    이번 포스팅에서는 DRF의 Class-based Views 공식 문서를 공부하면서 번역해보려고 한다. 해석에 틀린 내용이 있을 수 있으니 이해가 안가는 부분은 아래의 공식문서를 참조하기 바란다. DRF Class-based Views tutorial 공식 Documentation 3 - Class based views - Django REST framework We can also write our API views using class-based views, rather than function based views. As we'll see this is a powerful pattern that allows us to reuse common functionality, and helps us keep ..

    [Django]Django REST Framework 튜토리얼 2 (Requests and Responses)

    이번 포스팅에서는 DRF의 Requests and Responses 공식 문서를 공부하면서 번역해보려고 한다. 해석에 틀린 내용이 있을 수 있으니 이해가 안가는 부분은 아래의 공식문서를 참조하기 바란다. DRF Requests and Responses tutorial 공식 Documentation 이번 파트에서는 REST Framwork의 핵심을 다룰 것이다. 몇가지 필수적인 구성요소를 소개할 것이다. Request objects REST framework의 Request 객체는 HttpRequest 객체를 상속 받아 만들어 졌으며 보다 유용한 request parsing 기능을 제공한다. Request 객체의 핵심 기능은 request.data 속성으로 request.POST와 비슷하지만 Web API..

    [Django]Django REST Framework 튜토리얼 1 (Serialization)

    이번 포스팅에서는 DRF의 Serialization 공식 문서를 공부하면서 번역해보려고 한다. 해석에 틀린 내용이 있을 수 있으니 이해가 안가는 부분은 아래의 공식문서를 참조하기 바란다. DRF Serialization tutorial 공식 Documentation Introduction 이 튜토리얼에서는 pastebin 같이 code를 highlighting 할 수 있는 간단한 Web API를 만드는 방법을 다룬다. 그 과정에서 REST framework를 구성하는 다양한 컴포넌트들을 소개하고, 모든 것들이 어떻게 결합되는지에 대한 포괄적인 이해를 도울 것 이다. 이 튜토리얼은 상당히 심층적이므로 시작하기 전에 간단한 맥주와 쿠키를 가져와야 한다! 만약 quick overview를 원한다면 quicks..

    [Django]Django REST Framework 튜토리얼 (Quickstart)

    DRF를 사용해보기에 앞서 간단하게 API를 만들어볼 수 있는 DRF 공식 튜토리얼을 번역하면서 따라해볼 것이다. 학습하면서 진행하는 것이기에 해석에 오류가 있을 수 있다. 헷갈리는 부분은 아래의 공식 Documentation을 참고하자. DRF Tutorial 공식 Documentation Quickstart 우리는 관리자가 시스템에서 사용자와 그룹을 보고 편집할 수 있는 기능을하는 간단한 API를 만들 것이다. Project setup 장고 프로젝트의 이름을 tutorial, app의 이름을 quick start로 생성하자. # 프로젝트 디렉토리 생성 mkdir tutorial cd tutorial # 패키지 의존성을 독립적으로 사용하기 위한 파이썬 가상환경 생성 python3 -m venv env ..