전체 글 373

2주차 - 2 [웹/웹 스크래핑(크롤링)] 고려할 점과 requests 라이브러리

두괄식 요약 1. 웹 크롤링은 URL을 타고 다니며 반복적으로 데이터를 가져오는 과정, 웹 스크래핑은 특정한 목적을 갖고 특정 웹 페이지에서 데이터를 추출하는 과정 2. 막대한 데이터를 빠르게 얻을 수 있다는 강점이 있지만.. 웹 스크래핑 이전에 고민해봐야 할 지점이 있다. 타인이 오랫동안 고생해서 얻은 데이터들을 무상으로, 그것도 서버에 부담까지 주면서 '약탈'해가고 심지어 이를 활용해 상업적으로 이용해 기존의 시장 점유율까지 침식해가는 것은 명백하게 비윤리적인 행위 3. 웹 페이지들이 저마다 공시한 REP(Robot Exclusion Protocol)를 준수해 스크래핑을 진행하자. 4. DOM에 대한 기초 이해와 이렇게 만들어진 트리들의 노드에 접근하는 것이 웹 스크래핑의 핵심 브라우저는 웹 문서를 ..

데브코스 TIL 2023.10.24

requests 라이브러리

In [1]: from IPython.core.interactiveshell import InteractiveShell InteractiveShell.ast_node_interactivity="all" 정보를 달라고 요청하기, GET¶ In [6]: import requests res = requests.get("https://www.naver.com") res # HTTP 응답이 담겨 있다. Out[6]: In [7]: # Header를 확인해보자: .headers res.headers Out[7]: {'Server': 'NWS', 'Date': 'Tue, 24 Oct 2023 03:26:22 GMT', 'Content-Type':..

2주차 - 1 [웹/웹 스크래핑(크롤링)] 웹과 HTML

두괄식 요약 1. 웹 스크래핑을 위한 웹과 HTML에 대한 강의가 오늘의 내용 2. HTML 부분은 기본적인 태그들과 간단한 실습 3. 웹은 이론 위주로 흔히 말하는 CS지식 공부에 가까웠다. 강의 내용들은 분량상 더 쉬운 조회와 수정을 위해 링크로 대체 웹의 기초 개념 클라이언트와 서버 - 우리는 왜 HTTP에 대해 알아야 할까 웹 페이지와 HTML, 브라우저의 역할은?

데브코스 TIL 2023.10.23

웹 페이지와 HTML

웹 페이지와 웹 사이트의 차이는? 당장 네이버에 접속해 보이는 네이버 메인 화면은 웹페이지일까 웹사이트일까 정답은 웹페이지이다. 웹 속에 있는 우리가 현재 보고 있는 문서(네이버 메인) 하나는 웹 페이지이고 이런 웹 페이지의 모음은(네이버의 서비스들) 웹 사이트를 이룬다. 웹(Web) - 클라이언트와 서버, HTTP 위에서 웹에서 클라이언트와 서버의 통신 방법에 대해 얘기 했었다. 컴퓨터들 간의 요청과 응답에서 오가는 정보의 내용은 웹 브라우저 상에서 웹페이지 형태로 나타낼 수 있는 형식으로 전달 되는데 이를 HTTP의 바디(Body)라고 했었다. 더 풀어서 얘기하면 바디는 사실 우리가 보는 예쁘게 정돈된 화면이 아닌 수많은 줄의 HTML 코드들로 전달 되는데 사용자 입장에서는 자각할 수 없지만 웹 브라..

웹 (Web) 2023.10.23

웹(Web) - 클라이언트와 서버, HTTP

그렇다면 Web에서는 정보를 어떻게 주고 받을까? 클라이언트(Client) & 서버(Server) 네트워크로 연결된 두 대의 컴퓨터를 가정하자 컴퓨터1이 컴퓨터2에게 정보를 요청하고 컴퓨터2가 이에 맞춰 응답을 한다. 결과는 둘중 하나일 것이다. 컴퓨터2: 요청하신 정보가 있네요! or 요청하신 정보가 없네요.. 이 때 정보를 요청한 컴퓨터1은 클라이언트(Client), 정보를 제공하는 컴퓨터2는 서버(Server)가 된다. 우리가 흔히 말하던 (특히 게임에서!) 클라이언트와 서버의 개념과 크게 다르지 않다. 아니 같다. 즉 웹서핑에서 인터넷 쇼핑과 게임에 이르기까지 우리가 인터넷 네트워크를 이용한 전반적인 모든 행위는 클라이언트와 서버의 응답과 요청의 연속이었던 것 문제는 막연하게 정보를 요청하고 무질..

웹 (Web) 2023.10.23

네트워크(Network), 인터넷(Internet), 웹(Web)의 기초 개념

네트워크 두 컴퓨터를 연결한 망 혹은 간선을 네트워크라고 한다. 그런데 연결할 컴퓨터가 두 대보다 많아지면? 랜 (Local Area Network, LAN) 더 많은 컴퓨터들이 더 촘촘히 엮여 랜이 탄생한다. 예시) 학교나 회사의 컴퓨터들끼리(만) 통신할 수 있는 근거리망 그런데 학교나 회사와 같은 집단을 넘어 더 많은 이들과 통신하고 싶다면? 인터넷 (Internet) 범지구적(Inter)으로 연결된 네트워크(Network) - 인터넷(Internet)이 탄생 웹 Web 인터넷에서 정보를 교환할 수 있는 환경, 혹은 플랫폼 WWW(World Wide Web)

웹 (Web) 2023.10.23

1주차 - 5 [특강] ChatGPT 활용하기

두괄식 요약 1. 핫한 신기술이라는 타이틀에 홀려 쫓기듯이 공부하지 말고 자신의 일상에 자연스럽게 녹여낼 것 2. ChatGPT는 도구이자 무기, 즉 사용자의 역량이 중요하다. 질문을 어떻게 했느냐, 파라미터를 무엇을 제공했느냐, 소위 말하는 AI의 Illusion을 피하기 위한 테스트 케이스 구성, 답변에 대한 팩트 체크와 검토 등 GPT의 효용성은 사용자의 성실성에 비례해 극대화 된다. 3. 개발자라고해서 ChatGPT를 향해 러다이트 운동을 펼치고, 붉은 깃발법을 지지할 필요가 없다. 궁극적으로 인류에게 새로운 산업과 편익, 부 등 새로운 기회를 제공한 증기기관과 자동차처럼 ChatGPT 역시 개발자에게는 커리어라는 여정을 함께할 동반자이자 성공을 위한 기회. 걱정하고 겁먹고 경계하지 말 것 구체적..

데브코스 TIL 2023.10.20

1주차 - 4 [자료구조/알고리즘] 기초 알고리즘 문제

두괄식 요약 1. 지금까지 배운 자료구조를 활용한 기초 알고리즘 문제 풀이가 오늘의 강의 내용 2. 프로그래머스 기준 lv1~lv2, 백준 기준으로는 브론즈1~실버3 정도 되는 것 같다. 3. 오늘 강의의 요지는 문제에서 제공하는 입력의 최대 크기와 제한 사항을 근거로 사용할 자료구조를 잘 선택하는 것 4. 아이디어를 캐치하는 것 만큼 이를 구현하는 것도 만만치 않다는 점에 주의 강의 외적으로 복기할 점 1. 학습 진행률 당일 100% 달성을 목적으로 열심히 들었지만 반대급부로 블로그 내용 정리가 그만큼 미흡 당연히 강의를 '듣는 것'과 이를 '익히는 것'은 전혀 별개의 문제, 기껏 공부하고 잊지 않게 블로그 정리에 더 신경쓸 것 2. 평소에 혼자서 알고리즘 문제를 풀듯이 한 문제에 몰입해 너무 많은 시..

데브코스 TIL 2023.10.19

힙 (Heaps)

힙 (Heaps) 트리, 그 중에서도 이진트리의 한 종류 1. 루트 노드가 언제나 최대값 또는 최소값을 가지는데 대개 파이썬의 경우는 최소힙 heapq에 마이너스 - 를 붙여 최대힙으로 구현한다. 2. 완전 이진 트리여야 한다. 완전 이진 트리 (Complete Binary Tree) 높이가 k인 완전 이진 트리는 레벨 k-2까지는 모든 노드가 2개의 자식을 가진 포화 이진 트리면서 레벨 k-1에서는 왼쪽부터 노드가 순차적으로 채워져 있는 이진 트리를 말한다. 조건을 지키며 정상적으로 구현된 힙이라면 어떤 노드를 루트로 하는 서브트리라도 모두 최대힙이 보장된다. 이진 탐색 트리와의 비교 이진 탐색 트리는 왼쪽 자식은 루트 노드보다 작고 오른쪽 자식은 루트 노드보다 크기 때문에 왼쪽과 오른쪽의 관계가 정의..

1주차 - 3 [자료구조/알고리즘] 큐와 트리

두괄식 요약 1. 2일차와 마찬 가지로 클래스 구현으로 자료구조를 배우는 방향으로 강의가 진행 2. 파이썬에서 제공하는 queue(), heap(), bisect() 등을 활용한 문제풀이 보다는 기본 작동 원리에 대한 이해가 주된 내용 3. 큐는 순차적인 업무 처리에 적합하지만 스택의 OverFlow와 마찬가지로 담길 데이터의 최대량에 대한 주의가 필요 4. 트리는 깊이 우선, 너비 우선으로 데이터에 상황에 따라 유연한 접근이 가능하고 시간 복잡도상 유리하지만 공간복잡도에서 불리하다. 단, 컴퓨팅의 속도보다 메모리 환경 개선이 더 빠른 현대 컴퓨터 과학 기술의 특성상 점점 더 중요해지는 자료 구조 어려웠던 점 1. 강의와 문제 난이도는 2일차 보다 아주 조금 더 수월했지만 강의와 연습문제량이 갑자기 확 ..

데브코스 TIL 2023.10.18