본문 바로가기

파이썬/Django 프레임워크2

Django ORM 구조와 최적화 전략 1. ORM ORM(Object Relational Mapping)은 객체와 관계형 데이터베이스를 연결(매핑)해주는 것을 말한다. 객체 지향 프로그래밍은 클래스를 사용하고, 관계형 데이터베이스는 테이블을 사용 객체 모델과 관계형 모델 간에 불일치가 존재 ORM을 통해 SQL문을 자동으로 생성하여 불일치를 해결 장점 SQL 언어를 사용하지 않고도 데이터베이스를 조작 가능 DB를 바꾸더라도 ORM 코드는 그대로 이용이 가능하여 DBMS에 대한 종속성이 줄어든다. 유지보수의 편리성 단점 ORM만으로 복잡한 SQL문을 생성하는 데에 어려움이 있다. DB에 직접 쿼리를 보내는 것이 아니기 때문에 상대적으로 성능 저하가 발생 잘못된 사용은 N+1 Problem의 비효율을 야기 2. QuerySet Django OR.. 2022. 3. 17.
Django(장고) 웹 프레임워크 구조 참고 https://docs.djangoproject.com 장고는 웹 사이트를 설계할 때 애플리케이션 프로그램들이 모여서 프로젝트를 개발하는 개념이다. 우리가 흔히 아는 네이버, 당근 마켓 앱 등은 장고에서 프로젝트로 불릴 것이다. 프로젝트(Project): 웹 사이트 자체(당근마켓 App 그 자체) 애플리케이션(App): 프로젝트 내의 모듈화된 단위 프로그램(당근마켓 앱 내의 로그인 기능, 게시판 기능 등) MVT 패턴 웹 개발 시 언급되는 MVC패턴은 데이터(Model), 사용자 인터페이스(View), 데이터 처리 로직(Controller)에 대한 코딩을 분리해서 독립적으로 개발 할 수 있는 설계 방식이다. 장고 프레임워크에서 View는 Template, Controller는 View라고 표현하며,.. 2022. 1. 3.