Django

    API 서버와 REST

    API 서버 앱/웹 서비스를 만드는 개발자들이 이용하는 데이터 위주의 서비스로, 주로 JSON 포맷을 사용한다. 앱은 유저들이 사용하는 버전이 다양하기 때문에 API에 버전 개념이 존재하며, 버전 간의 호환성을 유지해야 한다. 반면에 웹 서비스를 이용하는 유저는 항상 최신 버전을 사용하게 된다. HTTP 클라이언트 프로그램 유저가 웹 브라우저를 통해 웹페이지 간 이동 웹 프론트엔드에서 JavaScript를 통해 호출 Android/iOS 앱 코드를 통한 호출 웹 요청 개발 프로그램을 통한 호출 GUI: Postmat CLI: cURL, HTTPie 라이브러리: requests REST 아키텍처 스타일로 프로토콜에 독립적이며, 일반적인 REST 구현에는 HTTP를 사용한다. RESTful API 디자인 원..

    MTV 패턴과 적용

    디자인 패턴 만약 하나의 스크립트에 서버에서 처리해야하는 로직과 프론트로 전달되어야 하는 HTML 코드를 함께 작성하게 되면, 프론트만 수정해야 할 때도 로직이 들어있는 스크립트를 열어보아야 하고 잘못하면 로직 코드에 문제가 발생하게 된다. 따라서 이러한 문제들을 해결하기 위해 화면 출력을 위한 HTML 코드를 별도의 파일로 분리하고, 서버쪽 코드는 다시 DB 구조를 위한 파일과 기능을 위한 파일을 분리하는 디자인 패턴을 사용하기 시작했다. 웹 프로그래밍에서 자주 사용되는 디자인 패턴은 MVC로, Model View Controller의 약자이다. MTV 패턴 MTV는 Model Template View의 약자로 각각의 기능은 아래와 같다. Model DB의 구조를 결정하며, 테이블의 이름과 각 칼럼의 ..

    장고 개발 환경 세팅

    Django 장고는 파이썬으로 프로그래밍하기 위한 웹 프레임워크로, 웹 서비스를 만들 때 필요한 대부분의 기능을 미리 정형화된 형태로 준비해두어 생산성이 좋다. 특징 기본적으로 회원 관리 기능과 관리자 페이지를 제공한다. 데이터베이스와의 통신을 위한 다양한 드라이버를 지원하고, ORM 방식을 통해 데이터베이스를 다룰 수 있다. CRUD 기능을 제네릭 뷰라는 형태로 미리 만들어놓았기 때문에, 뷰를 상속받기만 하면 바로 기능을 구현할 수 있다. 다양한 기본 미들웨어를 사용해 웹 애플리케이션 보안성이 높다. 설정파일을 개발 환경과 배포 환경을 구분해서 사용할 수 있기 때문에, 클라우드 서비스에서 자동 배포를 활용할 수 있다. 가상 환경 가상 환경은 다양한 파이썬 버전과 모듈 버전을 사용할 때, 각각의 버전 별..