가장 빠른 풀스택을 위한 Flask & FastAPI - 예스24

가장 빠른 웹 개발과 풀스택을 위한 Flask와 FastAPI파이썬 기반 웹 프레임워크는 자바(Java)로의 복잡한 구현에 버금가는 좋은 성능의 결과물을 도출하면서도 개발 기간을 획기적으로 단축시킬 수

www.yes24.com

 

개인/회사 프로젝트의 백엔드 개발에 대한 대안으로 여러 프레임워크를 살펴보는 중인데, 구현 언어로 빠른 검증용 단계에서 파이썬을 고려중입니다.  파이썬은 문법도 간결하고, 라이브러리도 많죠.

파이썬에서 백엔드를 개발한다고 하면 3대장을 뽑을 수 있을 겁니다. 장고(django), 플라스크(flask), 그리고 신예 FastAPI. 

저는 FastAPI 전에는 장고보다는 플라스크와 같은 방식을 선호했습니다. 장고가 나쁘다기 보다는 그냥 API구현만 하고 통합하는 형태를 원했기 때문에 관리툴 all-in-one 스타일의 장고보다는 플라스크가 좋았습니다.

그런데 FastAPI를 만나고 나서 생각이 많이 바뀌었어요. 일단 첫 느낌은 플라스크와 비슷했기 때문에 개념에서 큰 차이는 없었고, 간단한 수준의 구현에서는 다른 학습이 없을 정도였죠. 그러다가 점점 FastAPI를 제대로 파악해보고 싶다는 생각이 들었던 차에 이 둘을 모두 다루는 이 책을 접하게 된 것입니다.

 

이 책은 파이썬 웹 프레임워크 3대장 중 2개를 다루고 있습니다. 총 520쪽인데, 대략 220쪽은 플라스크, 300쪽은 FastAPI를 다루고 있습니다. 파이썬의 기본 문법을 알고 있다면 쉽게 이해할 수 있도록 구성되어 있습니다.

이 책은 바이블보다는 입문서 성격이라 생각합니다.  파이썬 기본 문법을 배웠고, 이를 활용하여 백엔드 API나 웹 애플리케이션을 만들어 보고 싶은 사용자들에게 적절한 책입니다. 유튜브를 통해 온라인 강의가 있는 것 같은데 살펴보진 않았습니다. 쉽게 이해할 수 있는 수준입니다. 데이터베이스, 캐시, 템플릿 등을 개략적으로 잘 소개하고 있습니다.

처음 웹 앱을 만드시는 분들이라면 괜찮다고 생각하는데, 저는 FastAPI입장에서 플라스크의 차이점이 궁금했는데, 그런 부분은 부실하다고 생각합니다. 그래서 입문서적으로 기획된 책이라 생각합니다.

 

아쉬운 점은 뭔가 설명과 예제 코드가 공식 홈페이지와 크게 차이가 나지 않는 것 같은 느낌이었습니다. 저자분이 좀 더 쉽게 설명하려는 고유의 콘텐츠가 있으면 좋겠습니다. FastAPI는 공식 홈페이지가 한글화도 잘 되어 있어서.. 차별점이 크게 없다고 생각 들었습니다.  예를 들어  클라우드 환경에서 여러 대로 API를 구현했을 때에는 이런 방식으로 세션을 해결한다든지 하는 가이드나 이 책을 읽고 난 이후 입문자 분들이 이렇게 공부하면 좋겠다는 가이드(로드맵)가 보강되면 좋겠습니다.  

편집은 조금 많이 아쉽습니다. 우선 이렇게 명확히 구분된다면 두권으로 따로 내든지, 아니면 분권을 쉽게 할 수 있는 제본이 좋지 않을까 생각됩니다. 종이질은 개인적으로 좋아하는 스타일입니다.

제일 불만족 스러운 부분은 글자 크기 때문인 것은 알겠지만, 파이썬 코드 한줄이 두줄로 이어지는 부분이 너무 많아서 파이썬의 간결함이 책에서는 반감되는 느낌도 들었고, 줄바꿈이 적절하지 않아서 입문자들은 실수할 수도 있겠다는 생각이 들었습니다.

 

여하튼 파이썬 문법을 익힌 다음 빠른 시간내에 파이썬 웹 프레임워크의 현황과 전체적인 구조를 맛보고 싶은 독자라면 이 책이 괜찮습니다. 

그래서 총 평점은 입문자에게는 3.5 정도로 생각합니다.  

 

도움이 되시길.

 

반응형

데이터분석을 위한 거미줄 가져오기 - 사내 도서관에서 빌려읽기

기대가 컸던 탓일까? 조금 많이 아쉬운 책이다. 기본적인 웹 크롤링 기법을 소개하긴 하지만 깊이가 입문에 그친 느낌이다.  하지만 저자의 의도가 정확히 반영된 책이라는 생각이다. 나야 오래전 검색엔진을 개발하면서 크롤링을 C++로 구현했던 경험도 있었고, 그 뒤에도 파이썬과 BS(BeautifulSoup)을 이용하여 크롤러를 구현해 본 적이 있기 때문에 내용이 쉽게  느껴졌다.

 

이 책은 총 3편으로 구성된다. 파이썬을 사용할 줄 안다면 1편은 넘어갈 수 있다. 웹의 동작원리를 안다면 3장은 그냥 넘어가도 된다. 파이썬으로 웹을 크롤링할 때 중요한 모듈이 requests와 BeautifulSoup이다. 이 두 모듈을 이용한 다음 직접 HTTP 호출을 통해 크롤링하는 방법, 동적 웹사이트를 위해 웹드라이버를 이용하여 셀레니엄으로 크롤링하는 방법, 데이터 제공자가 API를 제공해 줄 경우 사용하는 방법을 소개한다.  3편은 데이터 분석이었는데, pandas와 matplotlib의 기본적인 사용법을 다룬다. 사실 mysql 데이터베이스로 저장하는 것은 살짝 애매하다고 생각한다.  매번 데이터베이스로 갱신하는 방법도 좋지만 CSV를 mysql로 직접 importing하는 방법도 좋지 않을까?

 

 

1편은 총 2개 장에 걸쳐 파이썬의 기본적인 문법을 설명한다. 

1장은 파이썬 소개, 아나콘다 설치하고 가상환경 설치하는 내용

2장은 파이썬 자료구조, 연산자, 반복문, 예외처리, 함수, 패키지, 클래스 

 

2편은 웹 크롤링의 기본적인 내용으로 4개의 장으로 구성된다.

3장부터 크롤링, HTML, CSS, BS 소개,셀레니엄 소개, API로 데이터 얻기를 소개한다.

 

3편은 데이터 분석 부분인데, CSV로 만들고, 데이터를 그래프로 그리는 방법 정도를 소개한다.

7장에서 pandas로 CSV와 엑셀 파일 처리, matplotlib으로 데이터 시각화 8장은 mysql 데이터베이스로 수집한 데이터 넣는 내용.

 

웹 크롤링에 파이썬을 사용하기로 했다면 크롤링 관련 프로젝트들이 많다. 예를 들어 scrapy 같은 프레임워크가 이미 잘 나와있는데, 이런 부분에 대한 소개가 약한 느낌이 들었다. 하긴 입문자들에게는 이런 프레임워크를 처음부터 사용하면 프레임워크의 기능 제약사항에 갇히게 될 것이니, 기본 바탕을 익히는 정도로 이 책을 살펴보면 좋을 것 같다.

 

 

 

 

 

반응형

+ Recent posts