ComputerScience/Web, HTTP

    Flask 유저가 FastAPI를 접하며 느낀 점, 무엇인지 왜 사용하는 지 정리

    Flask로 처음 백엔드 프레임워크를 접한 내가 FastAPI를 공부하며 알게된 점 그리고 FastAPI가 무엇인지, 왜 사용하는 지에 대해 정리해보려고 한다. 첫인상은 FastAPI가 Flask의 영향을 많이 받았다던데, 정말 비슷하다? Flask()를 호출해서 앱을 인스턴스화 하고, 데코레이터를 애용해서 앤드포인트 만들기.. 아주 비슷한 느낌인데 그래도 차이를 정리해보자면 또 GET을 호출할 수 있는 앤드포인트는 flask 방식이라면 @app.route("/") 이런데, FastAPI는 @app.get("/") 이런식으로 작성해야한다. 실행결과는, http://localhost:8000에서, 또 자동 생성된 스웨거문서는 http://localhost:8000/docs에서 api테스트가능하다는장점있는 ..

    Scrapy, Selenium

    # 웹 크롤링과 웹 스크래핑 - 웹 스크래핑 : 웹사이트 상에서 원하는 부분에 위치한 정보를 자동으로 추출하여 수집하는 기술 웹 크롤러가 가져오는 하나의 웹 페이지가 있을 때, 추출하길 원하는 항목의 위치 지정해서 데이터로 가져오는 것! - 웹 크롤링 : 자동화 bot인 웹 크롤러가 정해진 규칙에 따라 복수 개의 웹 페이지를 브라우징하는 행위 링크를 따라 돌면서 연결된 페이지를 가져오는 과정 웹 크롤링 및 스크래핑을 위한 Python libarary : Scrapy 웹 사이트를 크롤링 및 스크래핑 통해 정보 추출하고 이를 데이터 셋 형태로 저장하는데 특화된 라이브러리로 기초적인 기능만 사용하면, 보고 있는 화면을 그대로 스크래핑할 수 없다. ex) 동적 웹페이지나, 쿠키를 함께 보내야하는 웹페이지의 경우..

    RESTful API

    RESTful API RESTful 시스템 규칙을 따라가는 api 좁은 의미로는 http method 네 개로 api 디자인하는 것이고, 넓은 의미로는 server software architecture를 디자인할 수 있는 style 또는 web service를 만들 때 지키면 좋은 가이드라인이다. 넓은 의미의 RESTful API의 6가지 조건 HTTP 프로토콜에서 자동으로 얻어가는 것 1. Statelessness : state(하나의 요청이 다른 요청과 연결되는 상태)가 없는 것을 유지해야 한다. 2. Cacheability : Cache가능하다면 Cache할 수 있도록 해야 한다. 자동으로 충족되지 않는 것 3. Client-server architecture : 서버는 클라이언트 종류(브라우저,..

    CORS

    CORS console창 보면 access to fetch at —- CORS 등이라는 에러 Client - page loading 되면 서버의 data 요청해서 출력한다. Cors 에러 원인 클라이언트 서버가 동일한 아이피 주소( 서버에서 )에서 동작하면 다른 제약 없이 resource를 주고받을 수 있지만, 서버와 다른 ip의 클라이언트는 원칙적으로 어떤 데이터도 주고받을 수 없다. (CORS(Cross-origin resource sharing) policy란? 브라우저에서만 가지고 있는 정책입니다) 데이터 주고 받기 위해서는, 서버에서 클라이언트에게 반응을 보낼 때, header에 (Access-Control-Allow-Origin)를 추가해주어야 한다.. 항상 미들웨어를 통해서, setHeade..