Django

    [파이썬] OSError: [Errno 98] Address already in use

    문제 장고(Django) 개발 중 발생한 에러. 사용하려는 포트가 비정상적으로 점령당해 쓸 수 없는 상황이다. OSError: [Errno 98] Address already in use 해결 방법 포트를 점령하고 있는 process를 강제로 kill 하면 된다. 1. PID 확인 PID를 확인하기 위해 열려진 socket 파일들을 보여주는 lsof (=list open files) 명령어를 사용한다. $ lsof -i :8089 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME locust 31838 joftware 3u IPv6 294686 0t0 TCP *:8089 (LISTEN) 2. KILL kill 명령어로 -SIGKILL(-9) 을 PID에 전달 $ ..

    [백엔드 기초] 3. Django REST Framework

    REST API란? REST : Representational State Transfer API : Application Programming Interface HTTP의 URL과 HTTP method(GET, POST, PUT, DELETE)를 사용하여 API 사용 가독성을 높인 구조화된 시스템 아키텍쳐(프레임워크) REST API를 통해 REST 서버는 API를 제공, 클라이언트는 사용자 인증이나 세션/로그인 정보 등을 직접 관리하는 구조로 각각의 역할이 확실히 구분되기 때문에 클라이언트와 서버에서 개발해야 할 내용이 명확해지고 서로 간 의존성이 줄어들게 됨. 데이터베이스 내부의 자료를 직접 전송하는 것이 아니라 HTML, XML, JSON와 같은 데이터 형태를 통해 제공하게 되고, 사용자들이 접근할..

    Django - Locust를 이용한 로드 테스트(Load test)

    로드 테스트: 시스템이 얼마만큼의 부하를 견뎌낼 수 있는 가에 대해 파악하기 위해 진행하는 테스트 What is Locust? - Locust 1.5.1 documentation If you want your users to loop, perform some conditional behaviour or do some calculations, you just use the regular programming constructs provided by Python. Locust runs every user inside its own greenlet (a lightweight process/coroutine). This enables you to write your tests like normal (blocki..

    [백엔드 기초] 2-1. Django

    Django: 파이썬 기반 웹 프레임워크 MVC(MTV) : 디자인 패턴 Model 데이터를 입력하고 전송받으면 데이터베이스 서버에 저장되는데 이것을 다루는 것이 모델. 안전하게 데이터를 저장함. View 데이터를 적절하게 가공/처리 후 템플릿으로 넘겨 유저에게 보여줌. 유저가 원하는 형태의 데이터로 전송. Controller (Template in Django) 사용자에게 보여지는 부분. 사용자의 입력과 이벤트에 반응하여 Model과 View를 업데이트. Project & App 하나의 프로젝트가 하나의 웹사이트 역할.(각종 앱+설정들) 프로젝트 안에 다양한 기능이 있으며, 의미있는 특정 기능을 app으로 관리함. 작동 원리 WSGI(wsgi.py)웹 서버와 장고를 적절히 결합시켜 주는 역할. URL ..