본문 바로가기

개발공부/파이썬🍌

깔끔한 파이썬 - 탄탄한 백엔드 (1)

728x90

0. 환경 설정

- 파이썬 2와 파이썬 3은 서로 호환하지 않고, 현재 많은 프로그램이 파이썬 2로 작성되어있기 때문에 두 가지 모두 설치하는 것이 좋다.

 

일반적인 파이썬 가상 환경

1. 콘다 : 외부 개발 툴, 파이썬 패키지 매니저와 개발 환경 매니저 기능을 제공하는 개발 툴이다(pip과 venv의 기능을 동시에 제공한다), 아나콘다라는 파이썬 배포판에 포함되어 있다. 데이터 분석 및 사이언스에 특화되어 있다.

2. venv : 파이썬 3에 포함되어 있는 가상 환경

 

~ 책에서는 콘다를 사용한다 : 아나콘다 전체가 아닌 콘다만을 설치할 수 있다. => 미니 콘다

 

- 터미널 ~ 우분투 사용, 깃 설치

cf) 깃 관련 터미널 툴 :  TIG, Diff So Fancy

 

- 셸 설치 : Bash 또는 ZSH(Oh My Zsh)

1. 현대 웹 시스템 구조 및 아키텍처

- 1세대 : 웹 브라우저의 요청을 받으면 서버는 Full HTML로 응답

- 동적 기능 구현의 중요성이 증가하며 Js 중요도 증가 : Js를 통한 사용자와 서버의 상호작용 ~ ajax, XML 구조로 데이터의 송수신이 이루어졌다

- 자바 스크립트 주도 동적 웹 페이지의 등장, SPA 방식의 프론트엔드 개발(단일 페이지) ~ 사이트 페이지 렌더링에 필요한 코드는 최초 통신 시 모두 한 번에 받은 후 서버와 데이터만 주고받는다.

-> 프론트엔드 서버와 백엔드 서버의 분리 : 프론트엔드 서버는 렌더링에 필요한 HTML과 자바스크립트 파일을 전송, 백엔드 서버는 페이지에 필요한 데이터 생성 및 전송 담당 ~ 개발자의 역할 또한 분리됨 

- API 등장

- ETL 시스템의 등장

- ML과 AI의 발달

2. 첫 API 개발 시작

flask 프레임워크를 사용한 개발

- Flask 설치

- API 기초기능 구현(ping 엔드포인트 구현)

- API 실행

 

Flask : micro web framework, 파이썬 기반의 프레임워크에는 Django 등이 있으나 Flask보다 무겁다.

 

프레임워크 : 특정 시스템을 구현하기 위해 공통적으로 요구되는 기능들과 구조를 재사용이 가능하게 구현한 것 ~ 모든 웹 시스템은 소켓을 통해 네트워크와 연결하여 외부 시스템으로부터 통신을 주고받을 수 있어야한다. 모든 웹 시스템의 필수 사항이며, 이미 재사용 가능한 코드가 구현되어 있는 프레임워크를 사용해 개발자는 비즈니스 로직에만 집중할 수 있다.

vs

라이브러리 : 프레임워크와 목적은 같지만, 라이브러리는 개발자가 자신의 코드 안에서 재사용 가능한 코드를 실행하는 것이고 프레임워크는 프레임워크의 틀에 맞춰 개발자가 필요한 로직을 구현하는 것이다.

 

실습

conda create --name api python=3.10.10

파이썬 가상환경 설정

conda activate api

가상환경 활성화

conda env list

가상환경 목록 조회

pip install flask

flask 프레임워크 설치

>>>from flask import Flask
>>>app= Flask("test")

flask 설치 확인

 

728x90