ACHO.pk devlog

[멋쟁이사자처럼10기] Django와 친해지기 본문

멋쟁이사자처럼

[멋쟁이사자처럼10기] Django와 친해지기

Acho 2022. 5. 21. 21:56

백엔드랑 프론트엔드를 어떻게 연결해야하며, 백엔드는 어떻게 공부를 해야할 지 막막했는데, 멋사 덕분에 계속해서 공부하고 성장하면서 배움의 부족을 채울 수 있게 되었다.
웹 서비스를 쉽게 만들어주는 웹 프레임워크에 대해 깊이 배우고 활용하는 시간을 갖을 수 있다는 점에서 혼자 학습할 때 어려워했던 부분을 조금씩 해소할 수 있으리라 믿는다.
일단, 우리가 구현할 프로젝트를 그림으로 그리고, 필요한 기능은 Django 핵심 개념을 학습하면서 익혀보자.
시도부터 하자!



python에서 예외처리 다루기
Python의 오류
-문법 에러(파싱 에러) : 실행 자체에 영향을 주는 치명적인 오류
-예외 : 프로그램 실행 자체를 멈추지는 않는 오류, 실행 중 감지되는 오류
이런 예외적인 상황을 코드로 Handling하는 방법을 알아야 한다.
프로그램을 멈춤 없이 실행시킬 수 있다는 이유 때문에 예외처리를 한다.
추가 학습 : https://docs.python.org/ko/3/tutorial/errors.html

try:
	#일단 시도해볼 것
	#오류가 생길 여지가 있는 코드
    
except 발생오류:
	#오류가 발생했을 경우 실행할 코드   
except:		
	#어떤 오류가 생기는지 상관없이 오류가 발생하면 실행된다.
	#오류가 발생했을 경우 실행할 코드
    
finally:
	#예외가 발생했든 안 했든 최종적으로 무조건 실행할 코드


객체지향 프로그래밍-객체와 클래스
객체지향 프로그래밍 : 변수와 함수로 상태와 동작을 여러 개 만들며, 한 번에 여러 개 정의할 수 있다.
class을 이용하여 class 안에 변수와 함수를 설계하고, 틀을 만든다. 즉, 변수와 함수로 class을 만들고, 객체를 여러 개 만들어 낸다.

class 클래스 명():
	
    def 함수명():
    	설정
    def 함수명():
    	설정


모듈, 패키지, 라이브러리
모듈 : 파이썬으로 정의된 파일
서로 다른 모듈에서 원하는 모듈을 쓰고 싶을 때

<a.py>
def sum(a,b):
    return a+b
    
<b.py>
import a
a.sum(1,3)


패키지 : 모듈의 집합, 모듈의 계층 단위
여러 개의 파이썬 파일을 감싸고 있음.

import 패키지명.모듈이름


라이브러리 : 쓸 만한 기능들을 미리 모듈/패키지로 만들어 놓은 것
-Python Standard Library : 파이썬이 기본적으로 제공
-Pypi : 사람들이 만들어서 업로드 해놓은 것

pip : 패키지 관리자

pip install 패키지명 	#패키지 설치
pip search 패키지명 	#패키지 검색
pip install 패키지명 == 버전 	  #특정 버전 지정하여 설치
pip uninstall 패키지명 		#패키지 제거
pip freeze 		# 현재 내 프로젝트에 설치된 패키지 조회


Web Service란 무엇인가
World Wide Web (www) : 다양한 형태의 데이터와 정보에 접근할 수 있도록 해 주는 인터넷 서비스
Web : 정보와 정보, 여러 가지의 자원이 그물처럼 얽힌 정보의 구조
URL : 정보 자원이 어디 있는지를 나타내는 표식, 위치를 알아냄
HTTP : 정보 자원으로 접근하고 통신하게 해주는 약속
HTTP요청
-GET : 서버로부터 정보를 검색
-POST : 웹 서버가 요청 메시지의 본문에 감싸있는 데이터를 받아들일 것을 요청
HTML : 응답으로서의 정보 자원 자체, 다른 정보 자원과 연결 매개체
Server : 정보를 URL로 미리 가지고 있으며, 경우에 따라 미리 HTML도 준비하고 있다. HTTP요청이 들어올 경우 응답을 해준다.
Web browser: HTTP 통신, HTML를 보기 좋은 화면으로 보이게 한다.
Web Service : 사용자가 원할만한 정보와 위치를 각각 HTML과 URL로 준비해 놓고, 사용자 요청에 대한 응답을 보낼 수 있는 프로그램

Web Framework란 무엇인가
소프트웨어 프레임워크 : 복잡한 문제를 해결하거나 서술하는 데 사용되는 기본 개념 구조
웹 프레임워크 : 정형화되어 있는 웹 개발을 효율적으로 하기 위해 미리 만들어 놓은 웹 개발의 기능 단위, 설계 단위의 집합

디자인 패턴 MVC, MTV
<설계 원칙 : 디자인 패턴>
1. DB와 상호작용하는 부분
2. 사용자들 눈에 보이는 부분
3. 내부 동작의 논리를 담당하는 부분

MVC 패턴(Model View Controller) : 데이터베이스와 상호작용하는 부분(M), 사용자 인터페이스 담당(V), 웹 서비스 내부의 논리 담당(C)

MTV 패턴(Model Template View) : Django의 디자인 패턴, 데이터 베이스와 상호작용 담당(M), 사용자 인터페이스 담당(T), 웹 서비스 내부의 논리 담당(V)

이외에도 MWM, MVP 등의 패턴들이 있다.



Comments