Programming/JavaScript(12)
-
[정보보안] nodeJS의 crypto module로 알아보는 Hash
Hash 데이터를 관리하고, 유지하는 자료구조이다. 리소스를 이용한 속도를 중시한!! 자료구조. 해쉬를 한마디로 요약하면 동일한 input -> 동일한 output 이라고 할 수 있다. 보안측면에서의 해시 해시함수란, 임의의 길이의 문자열을 받아 고정 문자열로 바꾸어주는 함수이다. 일정한 규칙이 존재한다. 동일한 input -> 동일한 output input 이 살짝 변경되어도 -> output은 어마무시하게 바뀜 항상 H(x)만 작동. H() 의 Inverse 불가능 Rainbow Table Attack 레인보우 테이블(해쉬값, 입력값 연결해놓은 테이블. 동일 input -> 동일 output의 취약점을 찾기위함) 에서 찾아보면 input을 찾을 수 있다는 발상에서 나온 공격법이다. Salt 그 Rai..
2020.04.23 -
npx이란 무엇인가?
npx란? 저번글에서 Node.js, npm, nvm에 대하여 다시한번 정리를 해보았다. Node.js, npm, nvm이란 무엇인가 위 원문은 요약하면, Node.js는 자바스크립트 런타임 환경, npm은 자바스크립트 코드로 Node.js 패키지 매니저, nvm은 위 Node.js의 버전 관리 도구였다. 그렇다면 npx는 무엇일까? 우선, 이 npx를 처음만났을 때로 거슬러가보자. 리액트로 프로젝트를 처음 시작할 때 create-react-app패키지를 인스톨하기위해 npm이 아닌 npx를 사용해야했다. npm crate-react-app my-app npx란 자바스크립트 패키지 관리 모듈인 npm@5.2.0 버전부터 새로 추가된 도구로, 쉽게말하면 npm으로 귀찮았던 과정들이 단순화되어 편해졌다고 볼..
2020.01.25 -
node.js, nvm, npm이란 무엇인가
node.js, nvm, npm이란 무엇인가 contents node.js란 무엇인가 자바스크립트란? 자바스크립트 엔진? 자바스크립트 런타임? npm이란 무엇인가 nvm이란 무엇인가 웹을 공부하면서 node나 npm을 사용하면서도 정작 node.js는 무엇인지 nvm, npm이 무엇인지에 대해서는 깊게 생각하지 않았던 것 같다. 그래서, 한번 정리해보는 시간을 갖도록 해보기로 했다. 📍 1. node.js란 무엇인가? 위키백과 : Node.js는 확장성 있는 네트워크 애플리케이션 개발에 사용되는 소프트웨어 플랫폼이다. org : Node.js®는 Chrome V8 JavaScript 엔진으로 빌드된 JavaScript 런타임입니다. ??? 이게 바로 무슨소리일까. V8이 무엇일까.. V8은 C ++로 작..
2020.01.24 -
자바스크립트의 다중프로세스 아키텍처, 렌더러, DOM, 컴포지터
DOM 웹페이지는 일종의 document이다. 이 문서가 웹브라우저를 통해 그 내용이 화면에 나타나거나, 그저 html 소스 자체로 나타나기도 한다. 이 웹브라우저와 관련된 집합을 브라우저 객체모델(BOM : Browser Object Model) 이라고 부른다. 이 BOM을 이용하여 브라우저와 관련된 기능으 ㄹ구성하는데, DOM은 BOM의 여러종류 중 하나다. BOM의 최상위 객체는 window라는 객체로, DOM은 window객체의 하위객체이기도 하다. 그렇다면 DOM은, Document Object Model으로, 문서 객체 모델이다.,같은 html 문서의 태그를 자바스크립트가 이용가능한 객체로 만들면!! 그것이 DOM이 되는 것이다! 풀어서 말해서 이렇지, 한마디로 웹 브라우저가 HTML코드를 인..
2019.11.22 -
javascript URL parser구현(tokenizer, laxer, parser)
URL 파서 Protocol ^(https?):\/\/ ^(문자열) : 문자열의 시작과 일치 할 때 ? : 바로앞에오는 문자가 존재할수도, 존재하지 않을 수도 있음. (https, http를 모두 가져오기 위함) \/ : \가 메타문자를 문자열에서 찾고싶을 때 사용! \/ == \ Domain ([^:\/\s]+) // 그냥 모든 문자열을 찾음 ., -을 비롯한 문자들로만 구성된다. ^ : 대괄호 안에 존재할때는 부정, 대괄호 밖에서는 문자의 시작을 표현. 여기서는 대괄호 안에 존재하므로 http(protocol) 다음을 보니까, port 번호가 나오기 전까지를 체크한다. + : 앞에 존재하는 문자가 1번 이상 반복될 때! \s : 공백문자 또는 영문 PORT (:([^\/]*))? pathFile ((..
2019.11.21 -
자바스크립트의 Prototype, 객체, this
자바스크립트의 Prototype Object란? 자바스크립트는 객체기반의 스크립트 언어이고, key :value로 구성된 property들의 집합이다. 그리고 객체는, 데이터를 의미하는 Property와 데이터를 참조하고 조작할수있는 동작을 의미하는 Method(Property값이 함수인 경우)로 구성된 집합이다. 자바스크립트 객체는 객체지향의 상속을 구현하기 위해 prototype이라고 불리는 객체의 프로퍼티, 메소드를 상속받을 수 있다. 객체 리터럴 let student = { name: 'pong', score: 100, sayHello: function () { console.log('hello' + this.name)} } student.sayHello(); 사실 자바스크립트 엔진은 객체 리터럴..
2019.11.20