익스프레스에서 사용하는 요청(req-Request) 객체와 응답(res-Response) 객체는 http 모듈에서 사용하는 객체들과 같지만, 몇 가지 메소드를 더 추가할 수 있다. 응답 객체 주요 메소드 메소드 이름 설명 send([body]) 클라이언트에 응답 데이터를 보낸다. 전달할 수 있는 데이터엔 HTML 문자열, Buffer 객체, JSON 객체, JSON 배열 등이 있다. status(code) HTTP 상태 코드를 반환한다. 상태 코드는 end()나 send() 같은 전송 메소드를 추가로 호출해야 전송할 수 있다. sendStatus(statusCode) HTTP 상태 코드를 반환한다. 상태 코드는 상태 메시지와 함께 전송된다. redirect([status,] path) 웹 페이지 경로를 ..
익스프레스 공식 사이트에 들어가면 다음과 같은 예제를 확인할 수 있다. const express = require('express') const app = express() const port = 3000 app.get('/', (req, res) => { res.send('Hello World!') }) app.listen(port, () => { console.log(`Example app listening at http://localhost:${port}`) }) 코드에서 반복적으로 등장하는 app 객체는 express() 메소드 호출로 생성되는 익스프레스 서버 객체를 의미한다. 그리고 이 서버 객체는 다음과 같은 주요 메소드들을 지니고 있다. 메소드 이름 설명 set(name, value) 서버 ..
실습 목표 사용자로부터 이름을 입력받아서 인사하는 간단한 웹 애플리케이션을 만들어보자. 시작하기에 앞서 장고 프로젝트에서 앱을 만들어야 한다. 앱(App)이란? 하나의 장고 프로젝트를 기능별로 나눈 것 유지/보수가 용이해짐 앱 만들기 $ python manage.py startapp [앱 이름] 현재 프로젝트 구조 프로젝트 폴더(myproject) - 프로젝트 설정 폴더(myproject) - 앱(app1) - manage.py 단순히 앱을 생성한 것으로는 앱이 프로젝트에 연결되지 않는다. 프로젝트 설정 폴더/settings.py에 들어가서 INSTALLED_APPS 리스트에 '앱이름'을 추가해준다. 코드 작성하기 기본적인 준비는 끝났다. 장고로 만든 웹서버가 사용자의 요청을 받아 처리하는 과정은 다음과..
장고는 MVC패턴에 대응되는 MTV패턴을 따른다. 이번 포스팅에선 MTV패턴에 대해 상세하게 다루진 않는다. 다음에 기회가 된다면 조금 더 구체적으로 포스팅할 예정이다. Model View에서 주고받는 데이터 형식을 정의, DataBase(DB) Template 사용자에게 보이는 영역 - HTML, CSS, JS, 템플릿 언어 등이 이에 해당 View 데이터를 처리하는 영역, MTV중에서 핵심 MTV패턴의 구조와 동작 방식에 대한 자세한 설명은 아래 링크에서 확인할 수 있다. towardsdatascience.com/working-structure-of-django-mtv-architecture-a741c8c64082 Working Structure of Django MTV Architecture MTV..
1. Django란? Python 기반 웹 프레임워크 프레임워크 개발을 할 때 자주 사용하고 반복되는 기능들을 미리 만들어놓은 틀 프레임워크는 라이브러리에 비해 구조면에서 이미 잘 잡혀있기 때문에 개발 속도가 빠르다. 한 프로젝트 안에 라이브러리와 프레임워크는 함께 사용된다. VSCode 터미널 세팅(Windows) Windows 사용자는 VSCode 기본 터미널을 cmd에서 Git Bash로 변경시켜줘야 한다. 기본 셀 선택(Select Default Shell) - Git Bash 클릭 2. 가상환경(Virtual Environment) 개발에 앞서 가상환경을 켜준다 개발을 하는데 필요한 소프트웨어의 버전과 종류가 다르기 때문에 각종 충돌이 일어날 수 있다. 따라서 각각의 독립된 개발환경을 만들어서 ..