기타 정보/IT 용어: 46개의 글
크롤러를 만들기 전 알아야 할 사항 웹페이지의 내용을 가져 오는 것을 크롤링(Crawling) 또는 스크래핑(Scraping)이라고 합니다. 가져와야 할 페이지들이 많은 경우, 구글이나 네이버, 다음과 같은 검색 엔진 사이트들은 검색 속도를 높이기 위해 robot 이라는 프로그램을 만들어서 자동으로 웹 페이지들을 크롤링하는 방법을 사용합니다. 그런데 개인 정보가 들어있는 사이트들은 크롤링이 안 되도록 막고 싶을 수 있습니다. 그래서 무분별한 크롤링을 막고 제어하기 위해 1994년 6월에 로봇 배제 규약이 만들어졌습니다. 말 그대로 로봇이 수집을 못하게 막을 목적으로 만들어졌는데 로봇의 접근 관련 내용(크롤링 허가/불허의 여부)을 robots.txt라는 파일에 적어두는 방법입니다. 만약 크롤링하는 로봇 프..
RESTful API RESTful API - Roy. T. Fielding 이 만듬 WEB(1991) 어떻게 인터넷에서 정보를 공유할 것인가? 정보들을 하이퍼텍스트로 연결한다. 표현 형식 : HTML 식별자 : URI 전송방법 : HTTP Microsoft REST API Guidelines(2016) uri는 https://{serviceRoot}/{collection}/{id} 형식이어야 한다. GET, PUT, DELETE, POST, HEAD, PATCH, OPTIONS를 지원해야 한다. API 버저닝은 Major.minor로 하고, URI에 버전 정보를 포함시킨다… 등 –> Roy. T. Fielding said… “이것도 REST API 아님. 그냥 HTTP API 임.” “REST APIs..
저를 포함한 많은 분들이 blocking과 synchronous, non-blocking과 asynchronous의 차이점을 명확하게 알지 못하는 것 같아, 이번 글에서는 위 개념들에 대해 공부하면서 이해한 것들을 공유해보려고 합니다. (혹시나 잘못 설명하고 있는 점이 있다면 언제든 댓글 달아주세요.) 결론부터 말씀드리면, 두 개념(Blocking & Non-Blocking / Synchronous & Asynchronous)는 각각 제어권과 결과값을 초점으로 두고있습니다. 글만으로는 이해가 안될 것 같아 예제 코드를 가져와봤습니다. 예제 코드는 이름과 나이로 player를 찾고, (중복은 없다고 가정하겠습니다.) 해당 player가 성인이라면 player를 return하는 간단한 코드입니다. Block..
이번 글에서 parallelism과 concurrency에 대해 정리해보겠습니다. 먼저 각각의 개념의 정의는 다음과 같습니다. 병렬 컴퓨팅(parallel computing) 또는 병렬 연산은 동시에 많은 계산을 하는 연산의 한 방법이다. 병행성(concurrency)은 컴퓨터 과학에서 여러 계산을 동시에 수행하는 시스템의 특성 뭔가 차이는 있어보이지만 직관적이지는 않은 것 같습니다. 조금 더 명확하게 차이를 설명하기 위해 그림을 하나 가져왔습니다. 위 예시에서 우리는 두 가지 작업(task)을 수행합니다. 각각의 작업은 3 단계의 연산으로 이뤄져있습니다. concurrency에서는 하나의 core에서 작업의 관점에서는 두 작업을 동시에 수행하지만 연산의 관점에서는 두 연산을 번갈아 수행하는 것을 알 수..
버퍼 플러시는 데이터를 임시 저장소에서 영구적인 데이터 저장소로 전송하는 것을 말합니다. 출처: https://engkimbs.tistory.com/562?category=688962 [새로비]
분산 시스템은 단일 시스템에서 처리하기 불가능한 요구사항을 충족시키기 위해 독립적인 여러 컴퓨터를 네트워크로 묶어서 만든 시스템입니다. 이러한 분산시스템은 단일 노드로 처리하기 힘든 비즈니스 요구사항을 충족시키기 위해서 나온 개념입니다. 엄청나게 커져가는 데이터와 트래픽을 처리하려면 단일 컴퓨터에서는 스펙을 높여 컴퓨팅 파워를 높여야 합니다. 이를 스케일업(Scale-Up)이라고 합니다. 하지만 이러한 방식은 큰 문제점에 부딪치게 됩니다. 일단 스펙을 높이기 위한 가격이 어마어마 하게 높아집니다. 보통 수천만원 이상은 우습고 억 단위 이상까지 가는 경우가 비일비재하죠. 그리고 물리적으로도 큰 문제가 있을 수 밖에 없습니다. 슬롯이 다 채워지면? 하드웨어 아키텍처 상에서 한계에 도달하면? 이런 문제를 해결..
멀티미디어 또는 다중 매체는 Multum과 Medium을 합친 낱말이며, 여러 형식의 정보 컨텐츠와 정보 처리 방식을 사용하여 사용자에게 정보를 제공하고 즐거움을 주는 미디어를 뜻한다. 출처: https://engkimbs.tistory.com/453?category=688962 [새로비]
쿠키(Cookie)란 하이퍼텍스트 기록서(HTTP)의 일종으로 인터넷 사용자가 어떠한 웹사이트를 방문할 경우, 그 사이트가 사용하고 있는 서버에서 인터넷 사용자의 컴퓨터에 남기는 기록 정보 파일을 말합니다. HTTP 쿠기, 웹 쿠키, 브라우저 쿠키라고도 합니다. 이 기록 파일은 사용자가 같은 웹사이트에 방문할 때마다 읽히고 수시로 새로운 정보를 갱신합니다. 오늘날 많은 서버 및 웹사이트들이 브라우저의 신속성을 위해 즐겨 쓰고 있죠. 쿠키는 요청 및 응답하는 과정에 포함되는 텍스트 정보이고 쉽게 구현하여 사용할 수 있는 방법 중에 하나입니다. 일반적인 브라우저에서 최대 4KB의 텍스트 정보를 담을 수 있으며 하나의 사이트는 20개만 허용됩니다. 또한 모든 사이트를 통틀어서 300개로 제한되죠, 만약 이 범..
Web Template(웹 템플릿)이란 미리 디자인된 웹페이지 혹은HTML 웹페이지들의 모음으로서, 모든 웹사이트 유저가 그들 자신만의 텍스트, 이미지, 컨텐츠를 생성할 수 있는 웹페이지입니다. 출처: https://engkimbs.tistory.com/389?category=688962 [새로비]
1. 개념 RESTful API에서 나오는 REST의 개념은 Representational State Transfer라는 용어의 약자로서 로이 필딩의 박사학위 논문에서 최초로 공개된 개념입니다. HTTP의 장점을 최대한 활용하는 아키텍처죠. 2. REST 구성 1. 자원(Resource) - URI 2. 행위(Verb) - HTTP method 3. 표현(Representation) 3. REST 특징 1. Uniform : URI로 지정한 리소스에 대한 조작을 통일되고 한정적인 인터페이스로 수행 2. Stateless : 작업을 위한 상태정보를 따로 저장하지 않음(Session, Cookie 정보를 별도로 관리하지 않음), API 서버는 들어오는 요청만 간단하게 처리하면 됨 => 서비스의 자유도가 향상..