web study/JavaScript
-
[JavaScript] JWT와 Sessionweb study/JavaScript 2021. 7. 16. 17:47
자바 스크립트의 기본적인 보안을 위한 토큰과 세션에 대해 포스팅 해보자! Session이란 웹 사이트의 여러 페이지에 걸쳐 사용되는 사용자 정보를 저장하는 방법을 뜻한다. 사용자가 브라우저를 닫아 서버와의 연결을 끝내는 시점까지를 세션이라고 한다. 세션은 다른 보안 수단과 달리 서버 측에 데이터를 저장하고 세션의 키 값을 클라이언트에 저장하는 방식을 사용한다. Session 동작 순서 Session은 session을 생성하는 요청-응답 처리와 이후 이 세션을 가지고 요청과 응답을 처리하는 2가지 방법으로 구성된다. 클라이언트에서 서버에 요청을 보낸다. 서버는 클라이언트를 식별하는 session id를 생성한다. 서버는 session id로 key와 value를 저장하는 Httpsession을 생성하고, ..
-
[JavaScript] this와 Execution Contextweb study/JavaScript 2021. 7. 16. 15:22
javascript의 this는 신기한 친구다. 환경에 따라 가리키는 대상이 달라지기 때문인데 오늘은 this와 실행 컨텍스트에 대해 포스팅 하고자 한다. this란 this는 일반적으로 메소드를 호출한 객체가 저장되어 있는 속성이다. this는 함수를 호출하는 방법에 의해 결정되는데 이게 무슨말이냐면 실행하는 동안의 할당에 의해 설정될 수 없고 함수가 호출될 때 마다 다를 수 있다는 뜻이다. this는 크게 4가지의 경우에서 각각 가리키는 객체가 다르게 설정된다. 기본 바인딩 암시적 바인딩 명시적 바인딩 new 바인딩 기본 바인딩 일반적으로 함수 내부에서 this를 사용할 경우 이 this는 javascirpt의 실행 환경의 전역 객체인 window를 가리킨다. function testCode(){ c..
-
[javascript] 자바스크립트 작동 원리web study/JavaScript 2021. 7. 13. 21:47
기본적인 문법 사용 외에 자바스크립트가 가진 작동 원리와 특징에 대해 알아봄으로써 개발 실력을 기르기 위한 발판으로 삼고자 블로그 정리를 시작하려 한다. 자바스크립트 작동 원리를 이해하기 위해선 아래의 이미지에서 제공하는 4가지 키워드에 대해 알아야 한다. 자바스크립트 엔진 자바스크립트 엔진은 자바스크립트 코드를 실행하는 프로그램 혹은 인터프리터(컴파일러와 대비되는 개념으로 소스 코드를 바로 실행하는 컴퓨터 프로그램 또는 환경)를 말한다. 대표적인 자바스크립트 엔진 v8이 있으며 이외에도 다양한 엔진들이 존재한다. V8 : 구글에서 개발된 엔진으로 크롬, node.js의 런타임 환경을 제공한다. Rhino : 모질라파운데이션에서 관리, 오픈소스, 전체가 자바로 개발됨 SpiderMonkey : 최초의 자..
-
[server] express 미들웨어 함수web study/JavaScript 2021. 3. 27. 15:41
서버 공부를 하던 중간에 미들웨어 함수라는 용어를 듣고 이게 뭔가 싶어서 한 번 파봐야 겠다는 생각이 들었다. 처음 미들웨어 함수를 봤을 때 이걸 어디에 쓸까 하다가 로그인 인증이나 보안 관련된 일들을 하겠거니 생각했는데 실제로도 보안관련된 일에도 쓰이며, 코드를 작성하다보면 하나의 함수 안에 너무 많은 일들을 처리하면 가독성이 떨어지는 문제도 발생하는데 요청에 대한 응답을 보내기 전에 미들웨어 함수를 이용함으로써 이를 해결하는데에도 사용한다고 한다. 1. 미들웨어 함수란? 간단하게 요약하면 서버에서 응답하기 이전에 실행되는 함수라고 할 수 있다. 이 미들웨어는 직접 작성하는 방법 외에 다른 개발자들이 작성해둔 미들웨어들을 가져와서 사용이 가능하다. 대표적으로 Morgan, Body-parser와 같은 ..