Django | Introduction

celeste·2022년 4월 5일
0

Django Basics

목록 보기
1/7
post-thumbnail

웹 시스템의 발전 역사

초기의 웹 시스템 - 정적인 웹

  • 1세대 웹의 가장 큰 특징 - 정적. HTML, CSS
  • 2세대 자바스크립트 추가되어서 동적 but 아직 프론트, 웹 구분이 없음
  • 3세대 프론트/백 서버 나눠짐. SPA방식 등장
  • 4세대 (최근) 서버만 담당하는 서버, 유저 인증만 관리하는 서버 이렇게 나눠서. API gateway가 어떤 요청이 왔을때 어떤 서버로 보낼 수 있을지 담당한다.
    • 문제: 1) 동시 접속자 수 증가 2) 데이터의 양 증가

백엔드 개발자 Roadmap

🔓
API란? Application Programming Interface
프론트가 화면을 그린다 ➔ 필요한 데이터는 데이터베이스에 있음 ➔ 그걸 가져다 쓸 수 있게끔 자리를 만들어주는게 API
🔓
RESTful API - 자격조건
🔓
git - version 관리
github - 여러 버전들을 공유하게 해주는 곳
🔓
Testing

  • End to End testing: 프론트, 백 다 완성되었을때
  • Integration Testing: 한쪽만 완성되기만 하면 됨
  • Unit Test: 코드를 테스트. 비중이 가장 큼

"API를 짜는 시간과 테스트 코드를 짜는 시간이 똑같아야 한다" -송은우
🔓
예전에는 서버를 직접 가지고 있었는데 요즘은 클라우드 사용 (AWS, 네이버 등)
🔓
AWS가 배포할 수 있게 도와주는 환경이라면, 그 환경에서 도커를 이용해서 실행할 수 있게끔 도와줌 - 서비스를 실행했다가 죽이는 시간이 매우 빠름
🔓
JSON - 파이썬 입장에서 보면 dictionary처럼 생김. 프론트랑 백이랑 데이터를 주고받을때 주고받는 형식이 JSON형식임

부족한 언어는 하루 1-2시간씩 매꾸기...

API 개발 (Django Web Framework, Django)

스타벅스 페이지 → 상세정보 보기
= Web client → front에서 event 발생 → 상세정보 달라고 백한테 요청

왼쪽 2세대
오른쪽 현재
화면 필요없으니 View 랑 Model만

<통신부터 데이터 처리까지>
우리의 client는 프론트엔드라고 할때,
URL conf = 요청분석. 지금 온 요청이 어떤 요청인지, 할 수 있는건지 판단
VIEW = 요청에 대한 로직처리. 로직 처리 하기위한 데이터를 Model(로직을 처리하기 위한 데이터가 정의되어 있는 곳)에서 DB와 연관된 작업파일이 있기 때문에 가져와서 가공하고 프론트로 응답을 해준다

Django tutorial Assignment

콘다를 실행한 상태로 과제 하기!
파이썬 패키지를 각각 분리해서 관리해줌.
버전마다 충돌하는 경우를 방지해줌

콘다 환경 만들어주기
conda create -n project이름 "python=3.9파이썬 버전"
y
설치만 하고 실행은 안한것임

확인하기
conda emv list

실행
conda activate 프로젝트이름

base환경이 바뀐걸 볼 수 있음

🚩터미널을 새로 키면 가상환경을 다시 켜줘야함
리눅스의 특징으로 멀티태스킹이 된다는건 새롭게 접근한다는 것이기 때문에
다시 켜줘야 함

그리고 나서 장고 설치부터 시작하면 된다!

pip install django

  • pip: 파이썬과 관련된 패키지 설치하게 하는것

pip freeze

  • django 생긴걸 볼 수 있음 - test_32th 라는 가상환경에 깔린 것

django-admin startproject crud_test

다른 가상환경에서 실행하게 되면 안되는것을 볼 수 있다

0개의 댓글