Basics에 해당하는 글 96

  1. 보안 2021.06.24

    오염된 정보가 들어올 때 생길 수 있는 문제 어떻게 위험한가? 예를들어 주소 뒤에 /?id=../password.js 등을 치면? → .. = 현재 디렉토리, data 디렉토리의 부모 디렉토리의 데이터를 가져올 수 있다. ..을 더 많이 치면 보다 상위 디렉토리의 데이터를 가져올 수 있게 된다. 어떻게 막을 수 있을까? 참고 링크 path.parse()를 이용해서 디렉토리, 확장자, 파일 이름 등을 알 수 있다. path.parse().base 를 이용하면 경로를 탐색해나갈 수 있는 정보를 세탁할 수 있다. 오염된 정보, 문제의 소지가 있는 정보를 걸러내는것 = filter 오염된 정보가 나갈 때 생길 수 있는 문제 만약 이런 글을 게시하면... 이런 글이 뜨게 된다. 스크립트 태그 내부에 locatio..


  2. 모듈 2021.06.24

    코드를 작성하는 과정에서 코드가 늘어나면 정리하는 과정이 필요하다. (ex. 객체, 배열, 함수 등..) 이러한 정리수단인 객체가 늘어나면 더 큰 틀의 정리 수단이 필요하다. → 모듈(Module) 모듈 : 특정한 기능을 하는 함수나 변수들의 집합 모듈은 파일로 쪼개서 밖으로 내보낼 수 있음 = 모듈로 만들면 여러 프로그램에서 재사용 가능 코드가 길다 싶으면 파일로 잘게 쪼개서 관리하기 쉽게 만들 수 있다는 것~ var M = { v: "v", f: function() { console.log(this.v); }, }; //아래 명령어는 약속이다. module.exports = M; //기능들 중에서 M이 가리키는 객체를 모듈 밖에서 사용할 수 있도록 내보내겠다. → 다른 파일에서 쓰고 싶은 변수들을 m..


  3. 동기와 비동기 2021.06.21

    동기(synchronous) : 하나의 일을 마칠 때까지 기다렸다가 그 일이 끝나면 순서대로 다음 일을 처리하는 것 비동기(asynchronous) : 기다리지 않고 다른 일을 동시에 진행하면서 순서대로 처리하는 것(=효율적이고 복잡하다) https://nodejs.org/dist/latest-v14.x/docs/api/fs.html#fs_fs_readfilesync_path_options 예시로, readFile을 살펴보자. readFile과 readFileSync가 있다. Sync는 callback이 없다. node js는 비동기적으로 처리하는 것을 선호한다. → 동기적 처리를 따로 명령어를 만들어놨으니... fs.readFileSync(path[,options]) //readFileSync cons..


  4. Javascript 함수의 기본 문법 2021.06.20

    Function? 수학에서의 함수와 프로그래밍에서의 함수는 동일하다. 반복적이지만 규칙적이지 않은 코드가 중복되면 코드의 유지보수 및 관리가 힘들게 된다. → 이러한 부분은 이름을 붙여서 함수로 지정할 수 있다. f123() console.log("A") console.log("B") console.log("C") f123() console.log("D") console.log("E") console.log("F") f123() function f123() { console.log(1) console.log(2) console.log(3) } 이렇게! 입력값에 따라서 함수를 다르게 하려면? 함수에는 입력과 출력이 있다. 입력에 따라 다르게 동작하고, 출력에 따라 다양하게 사용하는 방법을 알아보자. 예를들..


  5. Boolean, 비교연산자, 조건문 2021.06.16

    Boolean datatype Comparison operator(비교연산자) Conditional statement(조건문) 이 세가지는 서로 밀접한 관계를 가지고 있다. Boolean ? true와 false 두개의 데이터로 이루어져 있다. True와 False는 Boolean의 데이터로 약속되어 있기 때문에 변수의 이름으로 지정할 수 없다. Comparison operator? + - * / : 이항연산자. 왼쪽과 오른쪽에 있는 값을 처리해서 하나의 값으로 표시한다. == : 좌항과 우항의 값이 같으면 true, 다르면 false를 만들어준다.(2개!!) == 같냐 / === 정확하게 같냐 / = 대입연산자임 > , < : 좌항과 우항의 값을 비교한다. Program = 시간의 순서에 따라 실행되어..


  6. URL로 입력된 값 사용하기 2021.06.15

    URL이 뭔지부터 알아보자. 참고 링크 http://opentutorials.org:3000/main?id=HTML&page=12 http → 프로토콜(통신 규칙,HyperTextTransferProtocol) 사용자가 서버에 접속할 때 어떤 방식으로 통신할 것인가에 대한 구분 웹브라우저와 웹 서버가 서로 데이터를 주고 받기 위해 만들어진 통신 규칙 Host(Domain) → 인터넷에 접속되어 있는 각각의 컴퓨터 = 호스트. 특정한 인터넷에 연결되어 있는 컴퓨터를 가리키는 주소. port → 포트 번호. 한 대의 컴퓨터 안에 여러 대의 서버가 있을 수 있다. 클라이언트가 접속했을 때 어떤 서버와 통신할 것인가? 접속할 때 정해주면 해당 번호의 포트와 연결되어 있는 서버와 통신하게 된다. 포트번호는 80...