본문 바로가기

분류 전체보기

(18)
크롤링 허용 여부 확인하기 : /robots.txt 크롤링을 하는 것은 불법일까? 일반적으로 크롤링이 위법행위인 것은 아니다. 하지만 특정 경우에 한해서 법적 제재를 받을 수는 있다. 해당 예시는 아래와 같은 경우들이다. 웹 페이지 운영자가 크롤링 행위를 막아놓은 데이터를 획득하는 경우 부당하게 긁어간 데이터를 사용하여 부당한 이득을 얻는 경우 그렇다면 내가 크롤링하고 싶은 웹페이지의 크롤링 허용 여부를 확인할 수 있는 방법은 없을까? 아주 간단한 방법이 있다. 주소창에 '크롤링할 웹 사이트 주소/robots.txt' 를 검색해보면 된다. 아래는 교보 문고 웹 사이트를 예시 크롤링 허용 여부를 확인해 본 결과이다. User-agent: * Allow: / 또는 User-agent: * Disallow: 위의 표시는 모든 접근을 허용한다는 뜻이다. Disa..
[Python] 교보 문고 크롤링 하기 with Selenium & BeautifulSoup 목차 동적 페이지 크롤링 Selenium & BeautifulSoup 크롤링 할 데이터 목록 초기 셋팅 코드 및 결과 1. 동적 페이지 크롤링 동적 웹페이지는 정적 웹페이지와 다르다. 정적 페이지는 html에 이미 모든 정보를 담고 있다. 인터넷에 접속하여 서버에 요청을 보내면 서버는 저장되어 있는 html 문서를 클라이언트에게 그대로 전송한다. 따라서 모든 사용자들에게 동일한 웹페이지가 보여진다. 블로그, 기업 정보 페이지, 포트폴리오 사이트 등을 예로 들 수 있다. 반면 동적 페이지의 경우, 사용자의 요청에 따라 데이터가 변경되고 화면에 보여지는 콘텐츠에도 변동이 적용된다. 오늘 크롤링 할 교보 문고 웹페이지도 동적 페이지에 해당한다. ※ 교보문고 홈페이지 : https://www.kyobobook...
[ 1과목/필기 ] 소프트웨어 설계 [ 2022년 1회 필기 ] : 개념 정리가 필요한 문제, 틀린 문제 위주로 정리 *SW 개발 과정 : 계획 → 분석 → 설계 → 구현 → Test → 유지운영 요구사항 분석 : 도출 → 분석 → 명세 → 확인 “도분명학” 오답 근거 : 3번의 소프트웨어 시스템이 사용되는 동안 발견되는 오류를 정리하는 단계는 Test 단계 이다. 객체지향 기법 5가지 Abstraction 추상화 - 공통 설질을 모음 Polymorphusm 다형성 - 오버로딩(인자≠) / 오버라이딩(상속.재정의) Encapsultaion 캡슐화 - private으로 감싸기 Inheritance 상속 - 부모자식 클래스 Information Hiding 정보은닉 - 숨기기 DFD > Data Dictionary DFD : 데이터가 소프트웨..
구름톤 유니브 2기 벚꽃톤을 마친 회고록 목차 서비스 소개 진행기간 팀구성 기술스택 구현기능 프로젝트 중 만났던 난제와 해결 과정 도전이 되었던 부분과 좋았던 점 성찰과 앞으로의 개선 방안 총평 약 2주간의 개발 기간과 1박 2일의 해커톤이 끝났다. 해커톤을 처음 해봐서 ‘이렇게 짧은 시간 안에 하나의 서비스 개발이 가능한가’ 라고 생각했지만 오히려 짧은 시간에 집중해서 하는 것이 내 성향과 잘 맞는다는 것을 알았다. 무엇보다 이번 해커톤에서는 팀원들을 너무 잘 만나서 모두들 재밌게 열심히 달려온 것 같다. 1.  서비스 소개 축제를 200% 즐기는 방법, Distance 우리가 이번 해커톤에서 만든 프로젝트 ‘Distance’는 대학생들을 대상으로 축제에서 이성을 매칭해주는 랜덤 채팅 어플이다. 위치 기반 거리 표시 기능을 통해 상대와 나..
STOMP란? WebSocket과의 차이 STOMP 란? STOMP는 Simple Text Oriented Messaging Protocol의 약자로 메시징 시스템 간에 데이터를 교환하기 위한 간단하면서도 유연한 텍스트 기반 프로토콜이다. 웹 소켓 기반으로 동작하며, 메시징 애플리케이션에서 표준 프로토콜로 채택되어 있다. [WebSocket에 대한 참고글] Web Socket 통신 방식이란? 목차 프로토콜이란 무엇인가 웹소켓(Web Socket) 프로토콜이란? HPPT 통신과의 차이점 웹소켓 통신 방법 1. 프로토콜이란 무엇인가 프로토콜은 쉽게 이야기하면 "통신을 위한 규칙"이다. 사전전 정의 sol-aftercoding.tistory.com Web Socket과의 차이점은 어떤 것이 있을까? 1. Pub/Sub 구조 STOMP는 WebSoc..
Web Socket 통신 방식이란? 목차 프로토콜이란 무엇인가 웹소켓(Web Socket) 프로토콜이란? HPPT 통신과의 차이점 웹소켓 통신 방법 1. 프로토콜이란 무엇인가 프로토콜은 쉽게 이야기하면 "통신을 위한 규칙"이다. 사전전 정의로는 컴퓨터나 장치 간에 통신하기 위한 규칙과 규약의 집합을 나타낸다. 프로토콜은 다양한 종류가 있는데 이러한 종류는 프로토콜이 하는 역할에 따라 분류된다. HTTP는 웹 프로토콜로서 클라이언트와 서버 간에 웹 데이터 통신을 담당한다. 웹 페이지를 열 때 https://URL 이러한 식으로 주소창에 주소가 뜨는데 여기서 https://가 웹 페이지를 로딩하기 위한 리소스를 서버에 요청하기 위한 통신 프로토콜인 것이다. HTTP에 S가 붙은 것은 http의 보안 버전으로 암호화된 통신을 제공하여 더 안전한..
React Ref 개념과 사용하는 방법 목차 Ref란 무엇인가 Ref 사용 시에 주의해야 하는 점 Ref는 언제 사용해야 할까 Ref 사용하는 방법 1. Ref란 무엇인가 Ref를 한 줄로 간단하게 설명하면 아래와 같이 이야기 할 수 있다. Ref는 render 메서드에서 생성된 DOM 노드나 React 엘리먼트에 직접 접근하는 방법 일반적은 React 데이터 플로우에서 데이터는 부모에서 자식으로만 전달 될 수 있다. 하지만 가끔 이러한 데이터 플로우에서 벗어나야 하는 경우가 있을 수 있다. 이럴 때 Ref를 사용하여 직접 DOM 앨리먼트나 컴포넌트의 인스턴스에 접근할 수 있다. DOM 노드나 엘리먼트에 직접 접근하려면 id를 사용하면 되지 않나? 생각할 수도 있다. 우리가 흔히 아는 document.getElementById($아이디 이름)..
CSS 라이브러리를 사용하는 이유 (css scope) 목차 Vanilla CSS 사용 시 발생하는 문제 스코프가 지정되지 않는 문제 해결하기 스타일 적용이 안 되고 줄이 그어져 있는 경우 Vanilla CSS 사용 시 발생하는 문제 Vanilla CSS로 코드를 작성할 때 주의해야 할 점이 있는데, 바로 Scope(범위) 문제이다. 다음의 코드를 살펴보면 scope 문제가 어떤 것인지 알 수 있다. // Button.css .big {width: 100px;} .small {width: 50px;} .button { height: 30px; background-color: #525252; } // Button.js import React from 'react' import './Button.css' export default function Button({..

반응형