Computer/Web Programming12 DOM 이란 무엇일까? 얄팍한 코딩사전을 듣고 정리한 글. DOM(Document Object Model) MDN에서정의한 DOM: "HTML이나 XML 문서를 실체로 나타내는 API이다." HTML 문서를 브라우저라는 공장에 보내는 주문서라고 가정하면 이해하는 것이 편하다. HTML이라는 코드로 설계된 웹페이지가 브라우저 안에서 화면에 나타나고 이벤트에 반응하고 값을 받는 등의 기능들을 수행할 객체들로 실체화된 형태라고 이해하면 되는데, DOM은 자바스크립트로 조작할 수 있다. ( *중요한 점: DOM은 특정언어에 종속되지 않는다. 자바스크립트 객체가 아니다. ex) python의 BeautifulSoup로 조작하는거) 특징: →DOM은 API를 가지고 있어서 조작이 가능하다.(따라서 모든 브라우저에서 거의 같게 렌더링됨.) →DOM 내부에는 각종 node들이.. 2022. 2. 3. [javascript]axios, cheerio 에 대한 정리 크롤링을 하기전 우선 url의 뒷부분에 robots.txt를 붙여 해당 사이트의 크롤링 정책을 확인해봐야한다. 예를 들면 www.naver.com/robots.txt와 같이 말이다. 사이트 마다 다르겠지만 보통은 크롤링 정책을 정리해둔 사이트가 뜨거나 텍스트 파일로 다운로드가 될거다. 크롤링보다는 웹 스크래핑에 가깝겠지만 우선 웹 스크래핑에는 여러도구가 사용된다. selenium, beautifulsoup,axios,cheerio, puppeteer등 여러 도구가 있다. 오늘은 axios와 cheerio에 대해 간단히 포스팅하려 한다. 우선 npm을 이용해 해당 모듈을 설치해줘야한다. npm install axios 와 npm install cheerio 를 터미널창에 입력한다. 이후 axios를 이용해.. 2021. 6. 23. [Authentication] 인증 private한 api는 물론이고 public한 api역시 기본적인 인증을 요구한다. private api의 경우 접근 가능한 클라이언트를 제한해야함으로 당연히 인증 엔드포인트를 구현해야하지만, public의 경우 역시 접근 횟수 제한, 남용 방지, 통계등의 이유로 인증엔드포인트가 필요하다. 기본적으로 가입 시 사용자의 아이디를 그 대로 데이터베이스에 저장하지 않고 암호화 시켜서 저장한다. 이 때 주로 단방향 해시 함수를 사용하는데, 이렇게 암호화해서 저장하는데는 크게 두가지의 이유가 있다. 첫번째 실제 해커에게 데이터베이스가 해킹당할 경우 모든 사람의 개인정보 및 비밀번호가 유출되는데 사람들은 보통 여러 사이트의 비밀번호를 똑같은 것으로 설정해서 사용하기 때문에 더 큰 피해로 번질 가능성이 크다. 그렇.. 2021. 4. 13. Flask framework 사용하는 함수 정리 현재 작업중인 프로젝트에서 flask framework를 사용하는데 간단히 코드와 특징을 주석처리해보았다. from flask import Flask,jsonify,request,render_template, make_response from flask_login import LoginManager, current_user, login_required,login_user,logout_user from flask_cors import CORS from blog_view import blog_bp import os #추후 확장을 위한 임포트 #request argument를 받는데 사용함. #make_response http status를 받기 위해 #LoginManager:세션 관리 등록, current_.. 2021. 3. 30. [WEB]웹 이야기1 초기의 웹 시스템 1989년에 팀 버너스 리가 월드 와이드 웹을 발명하고 많은 서비스들이 웹을 통해 제공되었지만 초기 1세대의 웹 시스템들은 지금 웹 시스템보다 훨씬 단순한 형태였다. 단순히 text를 웹 브라우저를 통해 보는 수준이였음. 굉장히 간단한 구조였지만 정적인 페이지밖에 보여주지 못하는 구조였다. 사용자 인터렉션의 중요하게 됨 단순했던 웹 서비스들이 조금씩 복잡해지기 시작하면서 사용자인터렉션이 중요해지기 시작함. -> 자바스크립트의 역할이 커지기 시작한것임. 자바스크립트: 웹상에서 주로 동적인 기능을 제공하기 위해 사용된다. 웹서버가 html 뿐만 아니라 동적인 기능을 구현하는 자바스크립트 코드까지 같이 웹 브라우저에 전송하게 되면서 더 이상 전체 페이지를 로드하지 않아도 사용자의 인풋을 동적.. 2021. 3. 25. [web]flask error, logging 기초 정리 에러(error) 처리하는 법 errorhandler를 사용하여 HTTP 오류 코드가 나오는 페이지를 정의할 수 있음 return 의 두번째 인자로 에러코드를 넘겨주지 않으면 200을 default로 넘겨줘 성공으로 인지한다. 예시 from flask import Flask import requests app = Flask(__name__) @app.errorhandler(404) #errorhandler를 이용해 오류코드페이지 호출 def page_not_found(error): return "404 Error", 404 #return 값으로 에러 코드도 같이 입력함. template_render를 통해 다른 페이지 호출하는것도 가능하다. @app.route("/google") def get_googl.. 2021. 3. 12. 이전 1 2 다음