본문으로 바로가기

[12일차] #31. 수업을 마치며

category Develop/WEB2 - Python 2019. 1. 3. 21:20







11일차



수업소개

실습준비 - 설치 및 연동

문법 - 데이터 타입 - 숫자

문법 - 데이터 타입 - 문자열

활용 - 홈페이지를 CGI로 구현

활용 - URL query string을 가져오는 방법

활용 - CGI 소개

문법 - 제어문 소개

문법 - Boolean

문법 - 조건문

활용 - 조건에 반응하는 앱 만들기

활용 - 파일 기능을 이용해 본문 구현

문법 - Python 공식 문서 보는 법

문법 - list

문법 - 컨테이너들

문법 - 반복문 for

활용 - 반복문을 이용해서 글목록 구현

활용 - 생성 구현 1 - form

활용 - 생성 구현 2 - 전송한 정보의 처리

활용 - 수정 구현

활용 - 삭제 구현

문법 - 함수

활용 - 함수를 글목록 기능을 정리 정돈하기

문법 - 모듈

활용 - 모듈로 함수 정리 정돈

활용 - 보안(XSS)

활용 - Pypi와 패키지 매니저

API

수업을 마치며

부록 - Sound of coding





#31. 수업을 마치며








Framework


우리는 웹서버와 파이썬를 연동하기 위해서 CGI라는 기술을 통로로 사용했습니다.

안타깝게도 CGI는 느리기 때문에 오늘날은 거의 사용하지 않습니다.

좀 더 빠르게 연동하기 위해서 CGI의 후예라고 할 수 있는 FastCGI나

파이썬 전용 기술인 WSGI와 같은 것들이 있습니다.


그런데 CGI는 뿐 아니고, FastCGI, WSGI를 이용해서 직접 웹애플리케이션을 만드는 것을 여러가지 고충이 있습니다.

이런 고충을 극복할 수 있도록 도와주는 기술들을 Famework라고 합니다.


일군의 컴퓨터 공학자들은 웹개발 작업에서 공통적으로 필요한 작업들만을 예리하게 도려내서 프래임워크라는 것을 만들었습니다.

덕분에 공통적인 작업은 프래임워크에 맡기고 여러분은 하고자 하는 일에만 전념할 수 있습니다.


WEB Framework Rank 정도의 검색어로 검색해보시면 장고, 플라스크와 같이 인기있는 프래임웍을 찾아볼 수 있습니다.

통계에 기반해서 사용할 프래임워크를 선정해보세요.


 

Database


한편 우리는 정보를 파일에 저장하고 있습니다.

그런데 생각해보세요.

본문 외에 작성일이나, 작성자, 태그, 카테고리와 같은 기능을 구현하려고 하면 어떻께 해야할까요?

아마 방법이 잘 떠오르지 않을꺼에요.

1억개의 파일에 정보가 담겨 있는 상황에서 특정 정보를 검색하고 싶다면 하루가 걸릴수도 있습니다.

현대 사회에서 이렇게 느린 애플리케이션을 누가 사용하겠어요?


바로 이런 상황에서 우리를 구원해줄 도구가 데이터베이스입니다.

데이터베이스를 이용하면 복잡한 데이터를 편리하게 다룰 수 있습니다. 많은 데이터를 빠르게 검색할 수 있습니다.


파일을 읽고 쓰는 코드만 데이터베이스를 읽고 쓰는 코드로 바꾸면

우리의 웹애플리케이션은 천재적인 엔지니어들이 인생을 갈아서 만든 정보 시스템인 데이터베이스의 강력한 성능을 엔진으로 손쉽게 가질 수 있습니다.



Crawling


크롤링이라는 것도 있습니다.

잘 생각해보세요.

웹이 없었다면 검색엔진은 존재할 수 있었을까요?

검색엔진은 웹페이지의 내용을 분석해서 데이터베이스에 잘 정리정돈 해놨다가 검색이 들어왔을 때 미리 정리해둔 정보를 빠른 속도로 꺼내서 보여주는 기계입니다.


이런 기계를 만들기 위해서 우리에게 필요한 것은 웹페이지를 다운로드 하는 방법과 다운로드 한 웹페이지를 분석하는 기술입니다.


Urllib과 같은 라이브러리를 이용하면 파일을 다운로드 받을 수 있습니다.

Beautifulsoup와 같은 라이브러리를 이용하면 HTML을 손쉽게 분석할 수 있습니다.


인류가 만든 가장 거대한 정보의 그릇인 웹페이지를 분석할 수 있게 된다는 것은 정말 뷰티플한 일이 아닐까요?



스스로 공부하기


이 외에도 파이썬으로 할 수 있는 일은 너무나 많습니다.

이런 식으로 소개하면 끝이 없겠죠?

사물인터넷, 인공지능, 빅데이터 분석, 영상처리, 보안, 데이터 시각화 등등등 지금 이 순간에도 폭발적으로 늘어나고 있습니다.


차라리 인기있는 API를 살펴볼 수 있는 방법을 몇가지 알려드릴께요.


github는 전세계의 수 많은 오픈소스가 만들어지고 있는 온라인 공방입니다.

이곳에서 인기있는 프로젝트는 당연히 중요한 프로젝트입니다.

이 서비스에서는 인기있는 프로젝트를 소개하는데요. 이 통계를 통해서 주목해볼만한 API들을 찾아볼 수 있습니다.

https://github.com/trending/python


자동으로 통계를 분석하는 것이 아니라

사람이 한땀 한땀 목록을 관리하는 사례도 있습니다.

Awesome-python은 그 중의 하나입니다.

https://github.com/vinta/awesome-python


재미있는 것은 이런 목록들을 관리하는 더 큰 목록이 있습니다.

https://github.com/sindresorhus/awesome


 

작별인사


개발자는 거인의 어깨에 올라타서 멀리 보는 사람입니다.

이런 목록을 발견하는 일을 게을리 하면 안되겠습니다.


자 우리의 이번 여행은 여기까지 입니다.

할 이야기는 많지만 참겠습니다. ㅎㅎ

고생하셨습니다. 또 축하드립니다.



출처 : https://opentutorials.org/course/3256/19938