기술이 발달하면서 코딩이 점차 쉬워지고 있다. 과거에는 개인이 웹사이트를 만들기 위해 알고 준비해야 하는 것도 많았지만, 지금은 조금만 노력하면 쉽게(?) 웹사이트를 만들 수 있다.
필자도 난이도가 높지 않은 웹사이트를 만들고 싶다는 생각을 했었고, 이번에 파이썬을 이용해서 만들어 보았다. 오늘은 파이썬으로 웹사이트를 만들기 위해 알아야 하는 것들에 대해서 이야기 해보도록 하겠다.

 

 

파이썬 웹사이트 만들기



웹사이트를 만들기 위해서는 먼저 그 구조를 알아야 한다.

 

1. 프론트엔드 VS 백엔드

웹사이트는 크게 2가지로 구성되어 있다. 하나는 프론트엔드이고, 다른 하나는 백엔드이다. 프론트엔드는 우리 눈앞에 보이는 페이지를 의미한다. 보통 UI/UX 같은 것을 말한다. 백엔드는 우리 눈에는 보이지 않지만, 웹사이트를 처리하기 위해 뒤에서 작동하는 역영을 말한다. 요청을 처리하고, 프론트엔드에 데이터를 보내는 역할 등을 한다. 백엔드에는 서버, DB 등이 있다.

 

2. 각각 알아야 할 것

웹사이트는 프론트엔드만 있어도 만들 수 있다. 다만 이 때는 백엔드가 없기 때문에 간단한(?) 동작만 할 수 있는 웹사이트가 될 것이다. 프론트엔드 관련된 언어는 HTML, CSS, JAVA SCRIPT가 있다. 해당 언어들은 난이도가 높지 않기 때문에 쉽게 배울 수 있다. 필자는 이 언어들을 정식(?)으로 배운 적은 없지만, 어떤 것인지 대강 내용을 살펴본 후에 그때그때 필요한 것을 찾아가며 배웠다.

 

백엔드는 프로그래밍 언어를 알아야 한다. 여기서는 파이썬을 사용한다고 하자. 파이썬에서 필자와 같은 일반인이 서버에 필요한 모든 구성요소를 코딩하는 것은 불가능하다. 그래서 우리는 웹프레임워크을 사용한다. 여기에는 백엔드를 구성하기 위한 기능들이 모두 만들어져 있기 때문에, 필요한 기능들을 가져오고 잘 구성해서 서버를 만들 수 있다.

 

파이썬 웹프레임워크에는 장고, 플라스크가 가장 유명하다. 장고를 많이 사용하는 것 같지만, 배우는데 시간이 좀 필요하다. 그보다는 플라스크가 구조가 직관적이라 배우는데 많은 시간이 필요하지 않다. 그래서 필자는 플라스크로 작업을 하였다. 요즘에는 fastapi도 많이 사용하는 듯 하다.

DB는 어떤 DB를 사용해도 무방하나 보통 PostgreSQL을 많이 사용한다. 필자는 DB까지는 연결하지 않았다.

 

1) 프론트엔드 - HTML, CSS, JAVASCRIPT
2) 백엔드 - Python & Flask
3) Db -PostgreSQL

 

 

프론트엔드 언어

 

 

3. 웹사이트에 머신러닝 알고리즘 배포하기

지금은 아니지만 나중에 이런 서비스를 만들어 보고 싶은 생각이 있다. 웹사이트에 머신러닝 알고리즘을 배포하는 것은 모델을 어디에 넣느냐에 따라서 크게 2가지 방법이 있다. 하나는 프론트엔드에 넣는 것이고, 다른 하나는 백엔드 넣는 것이다.

 

프론트엔드에 모델을 넣으려면, 자바스크립트로 모델을 만들어야 한다. 하지만 말만 들어도 쉽지는 않을 것 같다. 조코딩 유투브에서는 구글의 서비스를 이용해 자바스크립트 모델을 만들어서 웹사이트를 만드는 모습을 볼 수 있다.

 

 

백엔드에 모델을 넣는 것이 더 일반적일 것 같은데, 플라스크로 웹서버를 만들어서 데이터를 받고 추론하여 결과를 회신하면 된다. '머신러닝 교과서'라는 도서에는 간단하게 텍스트를 입력받아 긍부정을 회신하는 웹사이트를 만드는 예제가 나와 있다. 관심 있다면 이 내용을 참고하는 것도 도움이 될 것 같다.

( 참조: Yes24, 머신러닝 교과서 도서 페이지 바로 가기 )


필자가 만든 웹사이트는 아래 주소를 방문해보기 바란다. 웹개발자가 아니기 때문에 복잡한 기능이 있는 것은 아니지만, 필자가 넣고 싶은 기능은 다 넣은 듯 하다. 댓글도 남겨주면 좋겠다.
( 참조: http://stock.infoking.site )


오늘은 이렇게 파이썬으로 웹사이트를 만들기 위해 알아야 하는 것들에 대해서 다뤄보았다. 그냥 배우는 것보다 무언가 서비스를 만든다는 것은 분명 더 의미있는 일이다. 시작이 어렵지 하다보면 뭐라도 나오게 된다. 당장 안 나오더라도 시간을 갖고 지내다보면 막히던 문제가 풀리게 되기도 한다. 필자도 이 사이트를 만들면 좋겠다는 생각을 한지 오래됐고, 그때그때 막히면 손을 놓기도 했다. 그러다 어느날 해결책이 떠오르면 이를 반영해보기도 했다. 웹사이트를 만드는 일에 관심이 많다면 한 번 도전해보기를 바란다. ㅎ

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기

댓글을 달아 주세요

">