HTTP란? 웹 상에서 정보를 주고받기 위한 약속 HTTP 요청 (Request) 클라이언트에서 서버로 정보를 요청하는 것 HTTP 응답 (Response) 요청된 정보에 대해 서버가 클라이언트에게 응답하는 것 HTTP 구조 웹 페이지의 모음 - 웹 사이트 웹 스크래핑: 특정한 목적으로 특정 웹 페이지에서 데이터를 추출하는 것 - 데이터 추출 ex. 날씨 데이터 가져오기, 주식 데이터 가져오기, ... 웹 크롤링: url을 타고다니며 반복적으로 데이터를 가져오는 과정 - 데이터 색인 ex. 검색 엔진의 웹 크롤러
HTML이란? (=Hyper Text Markup Language) 웹 브라우저가 이해할 수 있는 '언어' 즉, HyperText(웹 페이지에서 다른 페이지로 이동할 수 있도록 하는 것) 기능을 가진 문서를 만드는 언어 HTML 용어 엘리먼트(element): 요소 open tag: 여는 태그 close tag: 닫는 태그 여는 태그와 닫는 태그가 있는 이유는 콘텐츠를 감싸기 위함 닫는 태그(close tag)가 없는 HTML 요소 : 콘텐츠를 감싸지 않아 비어있다는 의미 애트리뷰트(attribute): 속성 벨류(value): 값 CSS란? 문서를 예쁘게 '꾸미는' 언어 javascript 문서에 '기능'을 만들어주는 언어
chatGPT 를 학습에 어떻게 쓰일 수 있는가? language model 이란? 문장의 일부를 보고 비어있는 단어를 확률적으로 맞추는 모델 LLM: Large Language Model GPT에서 Temperature 개념: - 0과 100 사이의 값 - 100에 가까울수록 조금 더 랜덤해짐 Language Model 훈련 1. 모델 훈련 - 웹상에서 존재하는 문서들이 모델의 훈련 데이터가 됨 -- 품질이 중요하기에 위키피디아가 가장 많이 사용됨 -- 이를 코드에 적용 가능하며 이 경우 github이 훈련용 데이터가 됨 -- unsupervised learning - context window의 크기가 결국 모델의 메모리를 결정 language model: word to vector - 언어 모델에 ..
문제를 만났을 때 첫인상이 굉장히 중요! -> 어떤 알고리즘을 적용할지, 어떤 제약이 존재하는지, 문제의 지문으로부터 찾을 수 있어야 함 자료구조(와 알고리즘)의 선택 만약 이름 대신 번호가 주어졌다면? -> 선형 배열 (linear array) 번호 말고 다른 것(ex. 문자열)으로 접근할 수 잇는 좋은 자료 구조는 없는가? 해시 (Hash) 임의의 크기를 가진 데이터(key)를 고정된 크기의 데이터(value)로 변화시켜 저장하는 것 키에 대한 해시값을 사용하여 값을 저장하고 키-값 쌍의 갯수에 따라 동적으로 크기가 증가하는 associate array 키에 대한 해시값을 구하는 과정을 hashing(해싱)이라고 하며 이 때 사용하는 함수를 해시함수라 함 해시값 자체를 index로 사용하기 때문에 평..
큐(Queues) 란? 먼저 집어넣은 데이터가 가장 먼저 나오는 FIFO(First In First Out)의 구조로 데이터를 저장하는 형식 큐의 추상적 자료구조 구현 1. 배열(array)을 이용하여 구현 - python 리스트와 메서드들을 이용 2. 연결 리스트(linked list)를 이용하여 구현 - 이전 강의에서 마련한 양방향 연결 리스트 이용 연산의 정의 size() - 현재 큐에 들어 있는 데이터 원소의 수를 구함 (복잡도: O(1)) isEmpty() - 현재 큐가 비어 있는지를 판단 (복잡도: O(1)) enqueue(x) - 데이터 원소 x를 큐에 추가 (복잡도: O(1)) dequeue() - 큐의 맨 앞에 저장된 데이터 원소를 제거 (또한, 반환) (복잡도: O(n)) peak() ..