728x90 반응형 SMALL App Programming255 [Web Crawler] HTML 기본 동작 원리 HTML5 HTML5는 "Hyper Text Markup Language" 5의 약자로 HTML 4.01, XHTML 1.1 등을 대체하는 차세대 웹표준으로 확정되었다. 기존의 HTML의 경우, 텍스트와 하이퍼링크만 표시하였지만, HTML5는 오디오, 비디오, 그래픽 처리 등의 다양한 기능을 제공하여 웹 자체에서 처리할 수 있는 기능이 향상되었다. 기본 구조 HTML 5 구조를 공부합시다. : HTML5를 사용함을 브라우저에 선언하는 역할을 합니다. : 전체 html 문서를 감싸는 태그입니다. 하나만 존재해야 하고 html 바깥에 DOCTYPE을 제외한 다른 태그가 있으면 안 됩니다. : html 문서에 대한 정보를 나타내는 부분입니다. 하나만 존재해야하고, html 바로 아래에 있어야합니다. : hea.. 2022. 2. 8. 웹 크롤러 (Web Crawler) 웹 크롤러 (Web Crawler) 웹 크롤러 (web crawler)는 조직적, 자동화된 방법으로 월드 와이드 웹을 탐색하는 컴퓨터 프로그램이다. 웹 크롤러가 하는 작업을 '웹 크롤링'(web crawling) 혹은 '스파이더링'(spidering)이라 부른다. 검색 엔진과 같은 여러 사이트에서는 데이터의 최신 상태 유지를 위해 웹 크롤링한다. 웹 크롤러는 대체로 방문한 사이트의 모든 페이지의 복사본을 생성하는 데 사용되며, 검색 엔진은 이렇게 생성된 페이지를 보다 빠른 검색을 위해 인덱싱한다. 또한 크롤러는 링크 체크나 HTML 코드 검증과 같은 웹 사이트의 자동 유지 관리 작업을 위해 사용되기도 하며, 자동 이메일 수집과 같은 웹 페이지의 특정 형태의 정보를 수집하는 데도 사용된다. 웹 크롤러는 봇.. 2022. 2. 6. [FastAPI] API 만들기 main.py from typing import Optional from fastapi import FastAPI app = FastAPI() @app.get("/") def read_root(): return {"Hello": "World"} @app.get("/items/{item_id}") def read_item(item_id: int, q: Optional[str] = None): return {"item_id": item_id, "q": q} 실행하기 uvicorn main:app --reload 대화형 API 문서 http://127.0.0.1:8000/docs로 이동하면 자동 대화형 API 문서를 볼 수 있다 (Swagger UI 제공). 대안 API 문서 http://127.0.0.1:8.. 2022. 1. 18. python flask error :[Errno 48] Address already in use 연결되어 있는 포트 확인 ps -fA | grep python 필요없는 포트를 지워서 다시 연결 kill 7200 2022. 1. 18. FastAPI FastAPI FastAPI는 현대적이고, 빠르며 (고성능), 파이썬 표준 타입 힌트에 기초한 Python3.6+의 API를 빌드하기 위한 웹 프레임워크이다. 빠름 : (Starlette과 Pydantic 덕분에) NodeJS 및 Go와 대등할 정도로 매우 높은 성능. 사용 가능한 가장 빠른 파이썬 프레임워크 중 하나. 빠른 코드 작성 : 약 200%에서 300%까지 기능 개발 속도 증가. * 적은 버그 : 사람 (개발자)에 의한 에러 약 40% 감소. * 직관적 : 훌륭한 편집기 지원. 모든 곳에서 자동완성. 적은 디버깅 시간. 쉬움 : 쉽게 사용하고 배우도록 설계. 적은 문서 읽기 시간. 짧음 : 코드 중복 최소화. 각 매개변수 선언의 여러 기능. 적은 버그. 견고함 : 준비된 프로덕션용 코드 표준 .. 2022. 1. 18. API API 라이브러리는 함수들의 집합이라 할 수 있는데 미리 만든 함수를 모아 놓은 곳을 말한다. 도서관에서 필요한 책을 빌리듯 라이브러리에서 필요한 함수를 찾아 쓸 수 있다. 프로그래밍을 하다 보면 반복되는 부분을 함수로 만들 때가 있다. 이런 경우 똑같은 함수를 다시 만들 필요 없이 원하는 기능의 라이브러리 함수를 사용함으로써 보다 효율적인 프로그래밍이 가능하다. 라이브러리에 접근하기 위한 규칙들을 정의한 것을 API라고 하는데 Application Program Interface 즉, 프로그래머가 라이브러리가 제공하는 여러 함수를 이용하여 프로그램을 작성할 때 해당 함수의 내부 구조는 알 필요없이 단순히 API에 정의된 입력 값을 주고 결과 값을 사용할 수 있게 해준다. 2022. 1. 18. 변경 이력의 충돌 (Conflict) 해결하기 변경 이력의 충돌 (Conflict) 해결하기 merge는 Git에서 변경한 부분을 자동으로 통합해 주는 기능이다. 그러나 경우에 따라 자동으로 병합할 수 없는 경우도 있다. 그것은 원격 저장소와 로컬 저장소 양쪽에서 파일의 동일한 부분을 변경한 경우이다. 이 경우 두 변경 내용중 어느 쪽을 저장할 것인지 자동으로 판단 할 수 없기 때문에 충돌 (Conflict)이 발생한다. Git은 conflict이 발생한 파일 내용을 표시해주며 이 부분을 우리가 직접 수정해 주어야 한다. 2021. 12. 10. 변경 이력 병합 (Merge)하기 변경 이력 병합 (Merge)하기 master 외의 branch에서 수정된 내용이 생겼으므로 풀 요청(Pull Request)을 할 수 있다. pull request는 깃허브에서 협업의 핵심이다. pull request를 통해 수정한 내용을 제안하고, 다른 사람의 리뷰를 요청하여 다른 사람들이 수정된 내용을 그들의 branch에 병합 (Merge)하도록 한다. pull request는 두 branch로부터 다른 점을 보여주는데, 수정된 것과 추가된 것, 그리고 빠진것들이 녹색과 빨간색으로 보여진다. commit을 하면 바로 pull request를 열어서 토의를 시작할 수 있다. 깃허브의 멘션시스템을 사용하여, 특정 사람이나 팀에게 피드백을 요청할 수 있다. 마지막으로 readme-edits branch.. 2021. 12. 10. 원격 저장소 복제 (Clone)하기 원격 저장소 복제 (Clone)하기 누군가의 변경 이력이 적용된 원격 저장소가 있으면, 그걸 웹에서 통째로 복제해와 내 PC에서 직접 작업할 수 있다. 원격 저장소를 복제하려면, 클론(Clone)이라는 조작을 수행한다. 복제란 원격 저장소의 내용을 통째로 다운로드하는 것을 말한다. 복제한 저장소를 다른 PC에서 로컬 저장소로 사용할 수 있게 된다. 2021. 12. 10. 원격 저장소에서 풀 (Pull)해오기 원격 저장소에서 풀 (Pull)해오기 다른 사람이 원격 저장소에 올려놓은(Push) 변경 내용을 내 로컬 저장소에도 적용 (Pull)할 필요가 있다. 원격 저장소에서 로컬 저장소로 업데이트하려면 pull을 실행한다. pull 을 실행하면, 원격 저장소에서 최신 변경 이력을 다운로드하여 로컬 저장소에 그 내용을 적용한다. 2021. 12. 10. 이전 1 ··· 22 23 24 25 26 다음 728x90 반응형 LIST