티스토리 뷰

우리는 Back-end파트에 사용할 언어로 Python을 이용할거다. Python에서도 Flask라는 라이브러리를 이용해 서비스를 제공할 예정이다. 그래서 준비물을 챙기라고 했을때 Python을 설치하라고 했던거다.

 

이런 언어를 선택하거나 라이브러리를 선택하는 기준은 사실 프로젝트에서 요구되는 기술과 개발 방법론에 적합한 언어와 라이브러리를 선택하게 되는데 그것은 초급자에겐 조금 어려운 일이 될 수 있다.

이런 선택은 보통 아키텍쳐 역할을 하는 사람이 하게 되는데 이번 경우에는 글쓰는 내가 한다.

 

결정은 나의 것

 

우리는 Python과 Flask를 이용해 웹 서버를 만들거다!

 

암튼 프로젝트 셋팅을 해보도록 하겠다.

일단 Python으로 프로젝트를 만들 때 일반적으로 가상환경이라는 것을 만드는데 가상환경에 대한 설명을 잠깐 하자면 내가 프로젝트를 진행하면서 신나게 코딩을 했다고 가정해보자. 코딩을 다 마치고 내가 개발한 코드를 서버에 올려놓으려는데 서버의 환경과 내 개발환경이 서로 다를 수 있다.(보통은 꽤 많이 다르다. 일단 운영체제가 서로 다를 것이기 때문에) 그런 경우 서로 다른 환경을 맞춰주는 작업을 해야하는 상황이 발생하고, 이런 작업들 때문에 그래서 가상의 환경을 만들고 그 환경 안에서 코딩을 한 뒤에 우리가 코딩했던 가상환경을 통째로 함께 서버에 올리면 내가 개발했던 환경과 서버의 환경이 동일해지기 때문에 환경이 달라서 발생할 수 있는 문제들을 최소화 할 수 있다. 그래서 가상환경이라는 것을 거의 필수적으로 셋팅을 해준다. 그래서 오늘의 첫 작업은 가상환경 만들기다.

 

가상환경 만들기

가상환경을 만드는 방법은 의외로 간단하다. 다만 명령프롬프트(cmd) 환경에서 작업을 해야한다는 것만 빼고.

일단 명령 프롬프트에 대해서 잘 모르겠다면 "[짤방검색기] #2. 개발환경을 만들자(Front-end 파트)"을 다시 한번 읽어보도록 하자.

 

우리는 명령프롬프트 상에서 back-api 폴더에 접근한다.

 

이렇게 접근한 뒤에 아래의 명령을 입력할 거다.

$ python -m pip install pip --upgrade

Node.js에서는 npm을 통해 인터넷에 올라와 있는 패키지 파일을 설치했다면 Python은 pip을 통해 인터넷에 올라와 있는 패키지를 설치할 수 있다. 위 명령어는 이런 pip을 업그레이드 하여 최신버전으로 다시 설치하는 명령이다.

 

pip 업그레이드 완료

이제 가상환경을 만들어보자.

$ pip install virtualenv

가상환경을 만들어주는 virtualenv라는 패키지를 설치한다.

 

그리고 나서 아래의 명령어를 입력한다.

$ virtualenv .env

.env라는 폴더에 가상환경 정보를 구성해달라는 명령이다. 위의 명령어를 입력하면 아래의 이미지 처럼 가상환경 정보를 만들어주는 것을 볼 수 있다.

dir 명령으로 .env 폴더가 생긴 것을 확인 할 수 있다. 이 상태에서 아래와 같이 입력하면 가상환경으로 진입할 수 있게 된다.

 

$ .env\Scripts\activate

명령어에서 슬래쉬(/)가 아니라 역(易)슬래쉬(\) 라는 점에 유의해야한다.

암튼 저렇게 입력을 하면 명령을 입력하는 라인 앞 부분에 저렇게 (.env)라고 가상환경 안에서 동작하고 있다는 것을 알려준다. 가상환경 밖으로 나오는 방법은 아래와 같다.

$ .env\Scripts\deactivate.bat

이렇게 입력을 하면 다시 정상환경으로 돌아올 수 있다.

 

자, 이 가상환경안에서 Flask를 설치하자.

$ .env\Script\activate
(.env) $ pip install flask

Flask가 설치된 것을 확인할 수 있다. 그럼 간단한 코드를 작성해볼까.

"code ." 명령을 입력하자. 조금 기다리면 Visual Studio Code 가 실행되는 것을 볼 수 있다.

 

일단 우리는 확장 프로그램을 설치해야 한다. 확장 프로그램을 설치하지 않으면 Visual Studio Code는 그냥 조금 멋진 메모장에 불과하다. 왼쪽에 있는 네모 모양의 버튼을 클릭한다.

 

그런 다음 Python을 검색한다.

검색을 하고 제일 위에 나오는 녀석을 클릭한 뒤 지금 보이는 스크린 샷에는 "사용 안 함"이라고 나와있지만 처음 설치하는 당신들은 "설치" 라고 녹색 버튼이 있을 거다. 그거 클릭하면 된다. 그러면 알아서 설치하고 재시작하라고 하는데 하면 된다.

 

그리고 두번째로 설치해야할 확장 프로그램은 Flask다.

Flask 검색해서 flask-snippets 를 설치하면 되겠다. 나는 이미 설치를 한 확장프로그램이라서 저렇게 나오는거다. 신경쓰지 말 것.

 

암튼 이렇게 확장프로그램을 설치했다면 이제 [Ctrl + Shift + P] 을 입력한 뒤 "python: select interpreter"를 입력한 뒤 검색된 결과를 클릭한다.

저걸 클릭하면 아래의 이미지 처럼 뭐가 막 나올거다.

작은 글씨로 우리가 가상환경을 만들어놓은 ".env" 폴더가 써있는것을 확인할 수 있다.저  항목을 클릭할 것. 그러면 갑자기 왼쪽 "탐색기"영역에 ".vscode"라는 폴더가 생기면서 settings.json 파일이 생긴 것을 확인할 수 있다.

 

settings.json 파일을 클릭해보고 아래의 이미치처럼 내용이 적혀져 있으면  정상이다.

 

자 이제 실행환경을 만들어 줄건데 왼쪽에 벌레를 금지하는 모양의 버튼을 클릭해 보자.

저걸 클릭하면 탐색기의 모양이 바뀌는데 상단에 "구성없음"을 클릭하고 "구성추가.."를 클릭하자.

 

"구성추가"를 선택하면 갑자기 "환경 선택"을 하라면서 위와 같이 메뉴들이 나오는데 나의 경우엔 이것저것 많이 작업을 한 탓에 메뉴가 많지만 처음 설치해서 실행해본 사람들은 메뉴가 별로 없을 거다. 그 중에서 "Python"을 골라서 클릭해준다.

(참고로 이 단계에서 메뉴의 전환이나 등장이 늦을 수도 있으니 인내심을 갖고 기다리면 메뉴가 등장할 거다.)

그러면 Debug configuration을 선택하라고 하는데 우리는 Flask로 개발할 거니까 "Flask"를 선택하도록 하자.

그러면 어플리케이션 경로를 입력하라는데 그냥 app.py 로 만들면 된다. 맘에 안들면 나중에 수정할 수 있으니까 걱정 하지않아도 된다.

 

암튼 여기까지 작업을 하면 아래와 같이 자동으로 설정된 내용들이 코드로 나타날 거다.

저 빨강 사각형을 "1"로 바꿔준 뒤에 저장한다. 저게 Debug 모드를 활성화 할건지 안할 건지 결정하는건데 0이면 비활성화 된다. 우리는 활성화할거다.

 

자 이제 왼쪽 버튼 중에 제일 위에 있는 버튼을 클릭해서 "탐색기" 창을 활성화 하자.

그리고 저 빨간 사각형으로 표시한 버튼을 클릭하고 app.py라고 입력한 뒤 엔터를 눌러주자.

 

그리고 오른쪽 화면을 보면 app.py 라는 파일이 자동으로 열리게 될거다. 이제 아주 간단한 코딩을 할 거다.

from flask import Flask

app = Flask(__name__)

@app.route("/")
def hello():
    return "hello, world!"

이렇게 입력한 뒤에 코드를 저장하고 F5 키를 입력해보자.

갑자기 아래에 "터미널"이라는 창이 등장하더니 알아서 명령어를 막 입력하고는 저렇게 텍스트가 표시되더니 가만히 있을 거다. 저기 빨간색 줄을 보면 "http://127.0.0.1:5000/"에서 Running 중이라고 하는데 브라우저에 접속해보면

이렇게 우리가 방금 입력했던 "hello, world!" 메시지가 등장하면 개발 환경 셋팅이 마무리 되었다고 생각하면 된다.

 

아 오늘 포스팅이 길어서 읽기 힘들었을텐데 수고했다.

이제 내일부터 본격적으로 코딩을 위한 DB도 셋팅해보도록 하겠다. 오늘은 이만. 안녕!

 

 

※ "code ."으로 Visual Studio Code가 실행안되는 사람은 아래의 순서를 따라하셈

 

윈도우 키를 누른 다음 "visual studio code"를 입력하면 Visual Studio Code 프로그램을 실행할 수 있다.

 

Visual Studio Code를 실행하고 [파일 > 폴더 열기]를 클릭한다.

우리 작업 폴더로 이동한 뒤에 "폴더 선택"을 클릭하면 끝.

 

 

 

※ 내가 개발한 개발 코드를 서버에 업로드하는 이유를 물어보시는 분이 생겨서 설명을 추가합니다.

 

내가 개발한 코드를 서버에 올리지 않고 다른 사람이 내 웹페이지를 접속하기 위해서는 일단 내 PC에 여러가지 셋팅을 해야한다. 그리고 하루종일 켜놔야한다.

다른 사람들이 접속하기 시작한 그 PC는 이제 다른 용도로 사용하기는 힘들거다. 왜냐하면 다른 사람들이 들어와서 보고 있는데 내가 게임을 돌리겠다고, 혹은 밀린 예능을 보겠다고, 인터넷을 좀 하겠다고 이리저리 프로그램을 실행하다가 실수로 동작하고 있던 내 코드를 종료되면 다른 사람들이 서비스를 이용할 수 없을 테니까.

그리고 다른 응용 프로그램을 실행하느라고 컴퓨터의 자원을 사용해버리면 우리 짤방 검색기의 성능이 떨어질테니까. "내 컴퓨터는 3백만원짜리라서 괜찮은데요? 게다가 기가 인터넷인데요?"라고 하시는 분들 계실지 모르겠지만 디도스(DDos) 공격같은거 받아버리면 3백만원짜리가 아니라 3천만원짜리 서버도 죽어버린다. 이래서 IDC(Internet Data Center)라고 하는 곳에 인터넷 서비스를 위해 특화되어있는 컴퓨터를 임대하거나 구입해 놓고 서버로 운용하는 것이 보통이다. IDC에는 일반적으로 DDos 공격이나 외부에서 들어오는 기본적인 해커의 공격들을 막아줄 뿐만 아니라 초고속 네트워크로 보다 많은 사람들에게 서비스를 제공할 수 있게한다.

하지만 이런 서버를 운용하는데에는 비용이 발생하기 때문에 일단 본인의 PC에서 최대한 작업을 진행하고 완성된 소스를 서버에 배포하여 서비스를 이용할 수 있도록 하는 것을 추천한다.

TAG
,
댓글
댓글쓰기 폼