woncoding/TIL

    TIL | 2.15.수 [WSGI / ASGI]

    WSGI와 ASGI CGI WSGI와 ASGI에 대해 알아가기 전, CGI에 대해 먼저 알아보자면 CGI란 Common Gateway Interface 이다. 우리가 서버와 사용자간의 정보를 주고 받을때 사용자의 요청을 서버는 보여주면 된다. 다만, 동적인 요청이 들어온다면 그 요청에 맞는 결과값을 리턴 해줘야 한다. (로그인을 예를들어보면 로그인 정보가 맞는 회원에 대한 정보가 각각의 사용자에 맞게 보여줘야 한다.) 하지만 이럴때 만약, 서버마다 애플리케이션 언어마다 다른 형태를 가진다면 매우 번거로운 일이기 때문에, 가능한 공통의 표준 인터페이스를 제공해주어야하는데 이 인터페이스를 CGI라고 한다. 이런 CGI의 큰 단점은, 요청이 들어올 때마다 애플리케이션 프로세스를 다시 실행해야 한다는 점이다. ..

    TIL | 2.14.화 [Django ↔️ PostgreSQL]

    Django와 PostgreSQL PostgreSQL 란? PostgreSQL이란 확장 가능성 및 표준 준수를 강조하는 객체-관계형 데이터베이스 관리 시스템(ORDBMS)중 하나 입니다. 또한, 오픈소스 DBMS로 무료로 쉽게 사용할 수 있고, 높은 신뢰성과 안정성을 가지고 있다. 데이터베이스 서버로서 주요 기능은 데이터를 안전하게 저장하고 다른 응용 소프트웨어로부터의 요청에 응답할 때 데이터를 반환한다. 그리고 소규모의 단일 머신 애플리케이션에서부터 수 많은 동시 접속 사용자가 있는 대형의 인터넷 애플리케이션에 이르기까지 여러 부하를 관리 할 수 있으며 macOS서버는 기본이 PostgreSQL이다. PostgreSQL 주요 기능 SQL(관계형) 및 JSON(비 관계형)쿼리 지원 사용자 정의 데이터 유..

    TIL | 2.13.월 [Open API]

    Open API - Open API 사용 방법 (in Python) Python에서 REST API 데이터를 가져와야 할 경우가 있다. 이때, Request Package를 사용하여 데이터를 쉽게 가져올 수 있다. - Open API 메커니즘 1. request 패키지를 설치해준다. (받을 데이터가 JSON 형식일 경우, json package도 함께 설치한다.) pip install requests pip install json 1-1. 이후 설치한 패키지를 import 해준다. import requests import json 2. GET Data REST-GET 방식으로 불러올 경우 requests.get 을 사용하면 결과값을 변수로 받을 수 있다. # 1. URL로만 DATA를 불러오는 경우 im..

    TIL | 2.10.금 [CI/CD]

    CI/CD CI 란? "CI"는 개발자를 위한 자동화 프로세스인 지속적인 통합(Continuous Integration)을 의미한다. 지속적인 통합이 제대로 구현되면 애플리케이션 코드의 새로운 변경 사항이 정기적으로 빌드 및 테스트를 거쳐 공유 리포지토리에 병합 할 수 있고, 또한 여러 명의 개발자가 동시에 애플리케이션 개발과 관련된 코드 작업을 할 경우 서로 충돌하는 문제가 있어도 이 방법으로 해결할 수 있습니다. CD 란? "CD"는 지속적인 서비스 제공(Continuous Delivery) 및/또는 지속적인 배포(Continuous Deployment)를 의미한다. 지속적인 제공이란 : 개발자들이 애플리케이션에 적용한 변경 사항이 버그 테스트를 거쳐 리포지토리(예: GitHub 또는 컨테이너 레지스..

    TIL | 2.9.목 [Django User Model vs DRF Custom User Model]

    Django User - Django User Model 란? Django에서는 기본적으로 제공하는 User 모델이다. 이 User 모델은 django.contrib.auth.models.User에 다음과 같이 정의되어 있다. class User(AbstractUser): class Meta(AbstractUser.Meta): swappable = 'AUTH_USER_MODEL' 표준 User 모델은 AbstractUser를 상속받고 있는 것을 알 수 있다. 또한 표준 User 모델에서는 다음과 같은 칼럼이 정의되어 있다. 👉 하지만 Django User Model은 username으로만 로그인이 가능하며 이외의 필드들이 필요할 때 자유롭게 쓰지 못하는 단점들이 있다. 이 단점을 보완하고 실제 서비스에서..

    TIL | 2.8.수 [TDD | Test Code]

    TDD | Test Code - TDD 란? TDD(Test Driven Development) 즉, 테스트 주도 개발이다. 테스트가 개발을 이끌어가는 방법론이다. 테스트가 개발보다 선행하게 된다. 개발해야 하는 사항을 미리 정의하고, 각 기능의 입/출력을 미리 정한 뒤, 기능을 구현하는 프로세스는 아주 일반적인 개발 과정이다. 이때 TDD 방식으로 개발하게 된다면, 테스트 코드를 먼저 작성함으로써 개발사항과 각 기능의 입/출력 요구사항을 코드로 문서화한 후 기능을 개발하게 된다. 이를 통해, 실제 코드에 대해 기대되는 바를 보다 명확하게 정의함으로써 불필요한 설계를 피할 수 있고, 정확한 요구 사항에 집중할 수 있다. 테스트를 먼저 작성한다. 테스트할 대상은 아직 구현되지 않았으므로, 테스트는 실패한다..