Web application 개발
- 인터넷을 통해 사용자에게 제공되는 소프트웨어 프로그램을 구축하는 과정
- 다양한 디바이스에서 웹 브라우저를 통해 접근하고 사용할 수 있음
클라이언트와 서버
웹의 동작 방식

출처
- Client
- 서비스를 요청하는 주체
- 웹 사용자의 인터넷이 연결된 장치, 웹 브라우저
- Server
Front-end & Back-end
Frontend(프론트 엔드)
- 사용자 인터페이스(UI)를 구성하고, 사용자가 애플리케이션과 상호작용할 수 있도록 함
- HTML, CSS, JavaScript, 프론트엔드 프레임워크 등
Backend(백엔드)
- 서버 측에서 동작하며, 클라이언트의 요청에 대한 처리와 데이터베이스와의 상호작용 등을 담당
- 서버 언어(Python, Java 등) 및 백엔드 프레임 워크, 데이터베이스, API, 보안 등
Framework
Web Framework
- 웹 애플리케이션을 빠르게 개발할 수 있도록 도와주는 도구
- 개발에 필요한 기본구조, 규칙, 라이브러리 등을 제공
Django framework 장점
- 다양성
- Python 기반으로 소셜 미디어 및 빅데이터 관리 등 광범위한 서비스 개발에 적합
- 확장성
- 대량의 데이터에 대해 빠르고 유연하게 확장할 수 있는 기능을 제공
- 보안
- 취약점으로부터 보호하는 보안 기능이 기본적으로 내장되어 있음
- 커뮤니티 지원
- 개발자를 위한 지원, 문서 및 업데이트를 제공하는 활성화 된 커뮤니티
가상환경
- Python 애플리케이션과 그에 따른 패키지들을 격리하여 관리할 수 있는 독립적인 실행 환경

출처
의존성 패키지 관리의 중요성
- 개발환경에서는 각각의 프로젝트가 사용하는 패키지와 그 버전을 정확히 관리하는 것이 중요
가상환경을 사용하는 이유
- 의존성 관리
- 라이브러리 및 패키지를 각 프로젝트마다 독립적으로 사용가능
- 팀 프로젝트 협업
- 모든 팀원이 동일 환경과 의존성 위에서 작업하여 버전간 충돌을 방지
가상환경 생성순서
-
- 가상환경 venv 생성
python -m venv venv
-
- 가상 환경 활성화
source venv/Scripts/activate
-
- Django 설치
pip install django
-
- 의존성 패키지 목록 생성
pip freeze > requirements.txt
Django 프로젝트 생성
django-admin startproject firstpjt .
Django 서버 실행
python manage.py runserver
Django Design Pattern
디자인 패턴
- 소프트웨어 설계에서 발생하는 문제를 해결하기 위한 일반적인 해결책
MVC 디자인 패턴
- 애플리케이션을 구조화하는 대표적인 패턴
- Model, View, Controller
MTV 디자인 패턴
- Django에서 애플리케이션을 구조화하는 패턴
- Model, Template, View
Django project
Django application
- 독립적으로 작동하는 기능 단위 모듈
- 각자 특정한 기능을 담당하며 다른 앱들과 함께 하나의 프로젝트를 구성
앱생성
python manage.py startapp articles
잘 보고 갑니다. 서버 설명 부분에 오타 있어요 선생님