분류 전체보기(13)
-
[ETC] JWT(Json Web Token)
오늘은 JWT 라는 녀석을 알아 보려고 한다. HTTP 통신은 비연결성 (Connectionless), 무상태성(Stateless) 이라는 특징을 가지고 있기에 통신의 상태는 저장되지 않는다. 그럼 생각을 해보자. 메일을 예로 들자면.. 네이버 메일을 확인하기 위해 로그인을 하여 메일 리스트가 노출된다. 메일 리스트 중 내가 원하는 메일을 클릭하면 서버는 내 요청이 누가 보낸 요청인지 알수없다. 그렇다면 다시 로그인을 해야하고, 매번 새로운 요청에 로그인이 필요한 요청일때마다 로그인을 해야하는 번거롭고 끔찍한 일이 발생한다. 이러한 문제를 해결하기 위해 대표적인 Session, Token 이 존재한다. 그렇다면 세션 과 토큰을 접목하여 다시 얘기해보겠다. 네이버 메일로 접속하여 로그인을 한다.(요청) 서..
2022.01.29 -
[ETC] Web Server & WAS(Web Application Server
오늘도 반성하는 마음으로 블로그 포스팅을 하려고 한다 :( Web Server?? WAS?? 는 그만하고 정확하게 짚고 기본기 부터.. 라는 생각을 가지며.. Web Server | Apache, Nginx 웹 브라우저 즉 클라이언트 로 부터 HTTP 요청을 받아와 정적 컨텐츠를 제공하는 프로그램을 뜻한다. 정적 컨텐츠 : 요청 인자 값에 상관없이 달라지지 않는 컨텐츠이며 쉽게 말해 어느 사용자 요청이든 항상 동일한 컨텐츠를 의미 한다. ex) html, css, image, javaScript ... 기능 - 클라이언트로부터 HTTP 요청을 받을수 있다. 이때 정적 컨텐츠 일 경우, 컨텐츠를 바로 제공 동적 컨텐츠 일 경우 WAS(Web Application Server) 에게 전달하여 처리한 결과를 ..
2022.01.25 -
[ETC] 동기(Sync)/비동기(Async), 블로킹(Blocking)/논블로킹(Non-Blocking)
평소 동기/비동기 와 블로킹/논블로킹 개념 차이에 많이 헷갈려서 결국.. 포스팅을 결정하게 되었다.. 동기(Synchronous) - 작업을 동시에 수행하거나, 동시에 끝나거나, 끝나는 동시에 시작함을 의미한다. 비동기(Asynchronous) - 시작, 종료가 일치하지 않으며, 끝나는 동시에 시작을 하지 않음을 의미한다. 동기와 비동기의 핵심은 순서와 결과를 신경 쓰는 것에 대한 차이이다. Blocking - 자신의 작업을 진행하다가 다른 주체의 작업이 시작되면 다른 작업이 끝날 때까지 작업을 기다리고 자신의 작업을 시작하는 것을 말한다. Non-Blocking - 다른 주체의 작업에 관련 없이 자신의 작업을 하는 것을 말한다. Blocking의 핵심은 제어권의 유무이다 참고 https://www.yo..
2022.01.21 -
[JavaScript] 함수(Function), 함수 호이스팅(Function Hoisting)
내용에 들어가기 앞서 자바스크립트는 점점 더 강력해지고 많은 프레임워크(Vue.js, React.js, Node.js)에 등장으로 자바스크립트 기본기 부터! 라는 생각으로 포스팅을 하게 되었습니다. 오늘 포스팅에 주제는 함수(Function) 입니다. 함수의 생성 방식에 함수 선언문(function statement) 함수 선언문 방식은 반드시 함수명이 정의되어 있어야 합니다. 함수 표현식(function expression) 함수를 생성하고 이를 변수에 할당해 함수를 생성하는것을 함수 표현식 이라고 합니다. Function() 생성자 함수 Function() 생성자 함수를 사용하여 함수를 생성하는것을 Function() 생성자 함수 라고 합니다. 함수 호이스팅(Function Hoisting) 함수안에..
2021.07.25 -
[JAVA] 추상 클래스(Abstract Class)
추상 클래스(abstract Class)? 상속을 목적으로상위 클래스에 하위 클래스 공통점을 모아두는 목적으로 설계된 클래스이다. 추상 클래스 특징 위에서 언급했듯 상속을 목적으로 둔 클래스이다. 추상 클래스를 틀이라고 생각하면 이해가 빠를 것이다. 예를 들어, 사람의 정보를 클래스 화 시키면 사람에게는 누구나 성별, 이름, 나이 가 있을 것이다. 이런 공통점들을 상위 클래스 인 추상 클래스에 모아 두고 하위 클래스에서 오버 라이딩(재정의) 할 수 있게 한다. 중복 코드를 줄일 수 있으며 코드에 통일성과 유지 보수성이 뛰어나다.(시간 절약) 추상 클래스 예제 1. 추상 클래스 인 Shapes, 추상 메서드 Area(넓이) 선언 이때 클래스 앞에 abstract, 메서드는 중괄호 없이 선언하면 된다. 추상..
2020.05.18