본문 바로가기

Node js

(6)
HashBang 오늘은 HashBang(해쉬뱅)에 대해 작성해보겠습니다. 해시뱅은 #(hash) + !(bang) 인데요. 해시뱅을 사용하는 이슈는 SPA(Single Page Application)으로 웹 어플리케이션을 구성하기 위해서입니다. 전체 페이지를 로딩하는 대신에 페이지 하나만 두고 자바스크립트만으로 모든 메뉴를 다루는 것입니다. 이를 구현하기 위해선 URL변경 없이 구현해야하는데, 이를 위해 해시뱅을 사용합니다. # 뒤에 붙은 부분을 fragment identifier 라고 부릅니다. 정확하게 사용하기 위해서 아래 작동 원리를 살펴보겠습니다. 작동 원리 1) 사용자가 https://127.0.0.1/#!/device 요청 2) 브라우저가 # 뒤의 !/device를 로컬에 저장 후 https://127.0.0..
암호화 로그인, 비밀번호 수정 기능 구현에 앞서 암호화 알고리즘에 대해서 정리해보도록 하겠습니다. 1) SHA-256 SHA-256 은 동일한 문자열에 대해 동일한 다이제스트를 출력합니다. 다른 문자열인 경우 다른 다이제스트를 출력하게됩니다. 이때, 동일한 문자열을 누군가 입력해서 비교하게 되면 해킹이 가능하므로 서버단에서 원본 문자열에 "특정문자열"을 추가하여 암호화를 하게 되면 더 안전하게 됩니다. 이 "특정문자열"을 salt라고 합니다. Node js 에서 이 기법을 적용하기 위해선 bkfd2Password 라이브러리를 사용하면 됩니다. 작성 예시는 아래와 같습니다. var hasher = bkfd2Password(); hasher({password:password},function(err,pass,sal..
openldap with ldapjs openldap을 이용해서 인증을 구현한 프로젝트를 진행중입니다. 진행하면서 ldapjs 를 이용해서 ldap서버와 connect, bind, modify 등등을 수행했습니다. 오늘 글에서는 ldapjs 를 이용하여 사용자를 찾고, 비밀번호 수정하는 방법에 대해 작성하겠습니다. Modify modify를 하기 위해선 ldapadmin 계정으로 ldap 서버에 접속해야합니다. 이렇게 하지 않으려면 각 사용자 계정으로 접속해야하는데, 아직 이 방법은 찾지 못했습니다..ㅠㅠ 저는 admin으로 접속해서 modify를 수행했습니다. 이때 생각해야할 것은 암호화 방식입니다. 제가 생각할때, 암호화는 node js 즉, backend 단에서 이뤄지고 나서 openldap 서버로 전송되어 저장되는게 맞다고 생각하는데..
node js 특징 Asynchronous 일이 처리할 때 하나의 일이 끝날 때 까지 기다렸다가 일을 처리하는 것이 synchronous 라고 합니다. 그와 다르게 여러가지 일을 동시에 수행하며 일을 처리하는 것이 asynchronous 라고 합니다. asynchronous가 synchronous에 비해 효율적이지만 매우 복잡하므로 잘 이해할 수 있도록 정리해보겠습니다. 우선, node js 문서 사이트로 이동합니다. https://nodejs.org/dist/latest-v12.x/docs/api/fs.html File System | Node.js v12.16.1 Documentation nodejs.org 위 사이트로 이동하면 node js 에서 많이 사용하는 file system과 관련된 문서를 볼 수 있습니다. 이..
node js 01 오늘은 node js 의 기본적인 지식에 대해 작성하겠습니다. visual studio code 를 통해 node js 코드를 작성했습니다. url var url = require('url') 을 통해 url 과 관련된 노드를 불러올 수 있습니다. http 요청에 의한 url 을 _url 이라고 했을 때 parse 를 통해 이를 분석할 수 있습니다. 자세한 내용은 아래 코드를 참고하시기 바랍니다. 이렇게 작성했을 때 콘솔에 찍히는 값은 아래와 같습니다. 세부적인 내용은 다르더라도 기본적으로 보이는 값은 위와 같습니다. 이때 pathName 은 기본적인 path이고 path는 쿼리를 포함한 path입니다. function 함수를 정의내릴 때에는 기본적인 형식은 아래와 같은 방식으로 합니다. f123 이라는..
Node js 설치 및 Eclipse plugin 설치 Node js 설치를 위해선 다음 사이트로 이동합니다. https://nodejs.org/ko/download/ 다운로드 | Node.js Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine. nodejs.org 본인의 운영체제에 맞는 설치파일을 다운로드한 뒤 아래와 같은 순서로 설치해줍니다. 위 사진을 참고하여 next 버튼을 누른 뒤 install을 완료합니다. 설치가 완료된 후 cmd 창에서 설치여부 확인을 진행합니다. node -v를 통해 설치된 node의 버전을 확인한 후 간단한 명령을 실행한 모습입니다. 여기까지 진행을 완료했다면 node js 의 설치가 완료된 것입니다. Eclipse 와 연동 Help > Eclip..