태그: javascript

JSONWebToken

JSONWebToken(JWT)?예전에는 사용자(client)의 정보를 쿠키에 담아 저장했었습니다.쿠키에 저장하는 방식은 쿠키를 변조하여 쉽게 정보를 바꿀 수 있기 때문에 보안에 취약했습니다.JWT는 유저가 로그인하면 서버는 유저의 정보를 토큰에 담아 전달하게 됩니다.서버는 클라이언트의 요청받을때마다 유효한 토큰인지 검증합니다. JWT의 형태JWT는

bcrypt

bcrypt?가끔 뉴스를 보면 커뮤니티사이트가 해킹되었지만 어느 사이트는 바로 비밀번호를 바꾸라고 권장하고 어느사이트는 걱정하지 않아도 된다고 합니다. bcrypt는 암호화 하는 과정에 salt를 이용하여 매번 결과가 다르게 출력됩니다.하지만 md5 hash 암호화는 같은 password라는 단어를 암호화 하게 되면 항상 5f4dcc3b5aa765d61d8

passport-naver

네이버를 통한 로그인2017년 현재 네이버 점유율이 50%가 무너졌다고 해도 아직까지 네이버를 사용하는 사용자가 많습니다.따라서 앱에서 네이버를 통한 로그인을 구현하면 사용자가 앱 가입이 수월할 것입니다. naver 설정NAVER Developers경로를 통하여 페이지 이동 후 오픈 API 이용 신청을 선택합니다.네이버 아이디를 통한 로그인 구현을 위하

passport-facebook

OAuth?OAuth를 사용하면 사용자의 아이디와 암호가 노출되지 않도록 하면서도 애플리케이션에 API 접근 권한을 안전하게 위임할 수 있습니다.유명한 소셜 네트워크나 API 제공자들은 대부분 OAuth 2.0을 지원하고 있습니다.OAuth는 직접 구현하기는 너무나 어렵기 때문에 대부분의 SNS는 npm에 미리 준비되어 있는 Passport strategy

CSURF

데이터 해킹 3가지 XSS SQL Injection CSRF CSRF크로스 사이트 요청 위조(Cross-site request forgery)의 약어로 사용자가 자신의 의지와는 무관하게 공격자가 의도한 행위(수정, 삭제, 등록 등)를 특정 웹사이트에 요청하게 하는 공격을 말한다.유명 경매사이트인 옥션에서 발생한 개인정보 유출 사건에서 사용된 공격 방식 중

Tree

Tree Tree는 비선형이고 계층을 갖고있는 자료구조입니다. 나무와 유사하게 계층적 구조를 갖고 있는 것을 의미합니다. 트리의 주된 목적은 탐색이며, 검색엔진, 댓글 구현 등 매우 다양한 곳에서 응용이 되고 있습니다. Binary Tree Structure(이진 트리)최대 2개의 자식을 갖는 트리 구조입니다. 이진트리의 탐색 전위 순회(pre-order

Linked List

Linked List란?Linked List는 Array List와는 다르게 엘리먼트와 엘리먼트 간의 연결(link)을 이용해서 리스트를 구현한 것을 의미합니다.각 element에는 data와 다음 element의 주소를 갖고있습니다.마지막 element의 주소는 null입니다. Array vs Linked ListArray는 메모리를 순서대로 할당합니다.

Queue

Queue란?위 파이프 사진처럼 Queue는 순서대로 들어오고 순서대로 나간다고 생각하면 됩니다. Queue (DFS, 너비탐색) Queue는 FIFO (First Input First Out) 구조를 갖습니다. 들어오는 순서대로 인덱스를 지정해서 순서대로 실행 할 수 있도록 만들어진 구조입니다. 일반적으로 javascript는 Stack의 구조를 갖는데

Stack

Stack이란?위 사진과 같이 서류는 순서대로 쌓여지고 맨 위 서류부터 읽는다고 생각하면 스택을 이해하기 쉽습니다. Stack (BFS, 깊이탐색) Stack은 LIFO(Last In First Out) 구조를 갖습니다. Stack은 축약 자료형이고 push와 pop을 사용합니다. push로 데이터를 넣어주고 pop을 이용하여 데이터를 뽑아옵니다. 가장 나

level 3. 다음 큰 숫자 (Javascript)

다음 큰 숫자문제어떤 수 N(1≤N≤1,000,000) 이 주어졌을 때, N의 다음 큰 숫자는 다음과 같습니다. N의 다음 큰 숫자는 N을 2진수로 바꾸었을 때의 1의 개수와 같은 개수로 이루어진 수입니다. 1번째 조건을 만족하는 숫자들 중 N보다 큰 수 중에서 가장 작은 숫자를 찾아야 합니다.예를 들어, 78을 2진수로 바꾸면 1001110 이며,