본문 바로가기
반응형

전체 글123

늦은 node.js basic-server 만들기... 기본설정 expressjs.com/ko/starter/hello-world.html const http = require('http'); const { report } = require('process'); const PORT = 5000; const ip = 'localhost'; 서버설정 ( 라우팅, CORS, 에러 ) request.on()에서 'data', 'end' 처럼 이벤트에 콜백함수가 붙은것은 모두 비동기로 처리된다. const server = http.createServer((request, response) => { console.log( `http request method is ${request.method}, url is ${request.url}` ); //request 객체의 .. 2020. 11. 18.
express 웹 애플리케이션 프레임워크 과제 프로젝트에서 작성한 내용 기준으로 작성함 설치 npm install express --save express 설치는 --save 옵션을 붙여서 해당 프로젝트에만(로컬) 설치 되도록 한다. 기본설정 const express = require('express'); const app = express(); const port = 3000; app.listen(port, () => { // console.log(`Example app listening at http://localhost:${port}`) }) 위 코드가 기본 설정이다. express객체를 생성해서 사용한다. listen(port, ()=>{})메서드를 사용해서 localhost의 해당 포트로 오는 요청을 받을 수 있도록 설정한다. ----.. 2020. 11. 18.
module.exports vs exports module.exports 2020. 11. 16.
XSS CSRF CORS XSS (Cross-Site Scripting) 웹사이트 관리자가 아닌 이가 웹 페이지에 악성 스크립트를 삽입할 수 있는 취약점 서버에 문자열이 아니라 script 태그와 함수를 보내서 비정상적인 데이터를 서버에 전달하여, 권한이 없더라도 script를 통해 공격하는 방법. 예방 웹 애플리케이션에서 사용자로부터 입력받은 입력값을 제대로 검사하거나, 서버에서 입력 값 필터링을 통해 공격을 예방할 수 있다. 주로 다른 웹사이트와 정보를 교환하는 식으로 작동하므로 Cross-Site Scripting이라 한다. CSRF (XSRF) 인증정보 탈취 사용자는 인증정보를 가진 채(로그인한 상태)로 해커의 링크를 누르면 해커는 인증(로그인) 정보를 가로채서 이를 이용해 사용자가 요청한 것 처럼 위조된(공격) 요청을 .. 2020. 11. 14.
HTTP's methods XHR vs fetch HTTP 속성 2가지 stateless HTTP의 요청은 모두 독립적이다. 첫번째 요청이 두번째 요청에 영향을 주지 않는다. connectionless 한번의 요청에 한번의 응답만이 존재. 요청에 대한 응답이 이루어지면 연결은 끊긴다. 브라우저의 기본 구조 사용자 인터페이스 - 주소 표시줄, 이전/다음 버튼, 북마크 메뉴 등. 요청한 페이지를 보여주는 창을 제외한 나머지 모든 부분이다. 브라우저 엔진 - 사용자 인터페이스와 렌더링 엔진 사이의 동작을 제어. 렌더링 엔진 - 요청한 콘텐츠를 표시. 예를 들어 HTML을 요청하면 HTML과 CSS를 파싱하여 화면에 표시함. (크롬은 웹킷 (Webkit) 엔진 사용) 동작과정) DOM 트리 구축위한 HTML 파싱 - 렌더트리 구축 - 렌더 트리 배치 - 렌더 .. 2020. 11. 14.
arr.every() (부분집합 구하기) const isBelowThreshold = (currentValue) => currentValue < 40; const array1 = [1, 30, 39, 29, 10, 13]; console.log(array1.every(isBelowThreshold)); // expected output: true 배열의 모든 요소가 콜백함수에서 true를 리턴하는지 여부를 리턴한다. 요소 하나라도 콜백함수에서 false를 리턴한다면 false 를 리턴. * .includes()메서드와 함께 사용하면 배열의 부분 집합인지 여부를 구할 수 있다. 2020. 11. 14.
간단한 트리 DFS 깊이우선탐색 구현 let dfs = function (node) { // TODO: 여기에 코드를 작성합니다. let values = [node.value]; node.children.forEach((n) => { values = values.concat(dfs(n)); }); return values; }; 이문제의 핵심은 아래 라인. values = values.concat(dfs(n)); 리턴된 values를 지속해서 하나의 배열에 붙인다. 백트래킹은 구현하지 않았다. 2020. 11. 10.
TIL 1109 Promise async&await JSON.parse Promise 객체 Promise.. 그것은 약속이다. 어떤약속이냐 웹에서 데이터를 얻어서 보내주거나 얻지 못한다면 (에러발생시) 이유와 함께 에러를 발생시키도록한 약속! .then() 은 Promise 객체 내에서 resolve()에 전달된 데이터를 받는다. .catch() 는 Promise 객체 내에서 에러 발생시 reject()에 전달된 데이터를 받는다. Promise의 3가지 상태 Pending (대기) Fulfilled (완료) Rejected (거부) 순서도 pending 1-1 -resolve-> 2. fulfilled (settled) 1-2 -rejec-> 2. pending (settled) Promise 객체는 이벤트 루프에서 대기상태를 유지하다가 실행순서가 되면 비동기적으로 실행되고.. 2020. 11. 10.
JavaScript 문법 특징 (오답노트) 보호되어 있는 글 입니다. 2020. 11. 5.
반응형