서버 기반 인증 (Session, Cookie) HTTP 프로토콜은 요청에 따른 응답을 받으면 연결이 끊어지고(connectionless) 통신이 종료되면 어떠한 상태 정보도 남지 않는다.(stateless) 따라서 로그인 후 다시 웹페이지에 접근하면 로그인 상태가 유지되지 않는다는 문제점이 있다. HTTP 프로토콜의 인증 문제를 해결하기 위해 사용하는 방법으로 세션과 쿠키를 사용한다. ① 사용자가 로그인 한다. (로그인 정보를 서버로 request) ② 서버는 request가 들어오면 DB를 쿼리 하여 사용자를 검증하고 유효할 경우 사용자의 고유한 ID값을 부여하여 세션 저장소에 저장한 후, 이와 연결되는 세션 ID를 생성하여 response header에 포함시켜 반환한다. ③ 사용자는 서버에서 해당..
Boilerplate 최소한의 변경으로 반복해서 사용할 수 있도록 미리 만들어 놓은 코드 개발을 쉽게 시작할 수 있도록 만들어놓은 template javaScript나 html에서는 크로스 브라우징과 호환성을 위한 Modernizr, polyfill, Normalize 등이 적용되어 있는 템플릿 같은 형태로 많이 사용된다 보일러 플레이트 모아놓은 사이트 http://www.boilrplate.com/ Find your starter kit! A curated directory of boilerplates to help you start your projects! www.boilrplate.com node.js boilerplate 1. sahat node.js 웹 애플리케이션용 보일러 플레이트 https..
Singleton pattern 전체 시스템에서 하나의 인스턴스만 존재하도록 보장하는 객체 생성 패턴 클래스 함수의 인스턴스를 한 개만 유지한다. 여러 객체를 생성하더라도 최초 생성된 객체를 사용한다. 객체에 대한 접근자(비공개 멤버:클로저)를 사용하여 해당 객체를 공유한다. 규모가 큰 라이브러리에서는 흔히 외부에서 접근할 수 없는 비공개 멤버를 가지고 있다. 자바스크립트에서 비공개 멤버가 필요하다면 먼저 클로저(closure)를 염두에 두어야 한다. 즉, 비공개 멤버를 가진 싱글톤 객체를 생성하려면 클로저를 이용해야 한다. Javascript Singleton 예제 코드에서 비공개 함수 init()의 return 값으로 반환하는 객체가 싱글톤 객체이다. 내부 변수에 접근하여 객체를 반환하는 클로저(Cl..
Rendering 렌더링 엔진이 요청받은 내용을 브라우저 화면에 표시하는 작업 SSR(Server Side Rendering) 보편적인 웹 애플리케이션 렌더링 방식으로 웹페이지에 접근하면 서버에 해당 페이지를 요청하고 서버에서는 HTML과 같은 리소스를 해석하고 렌더링 한다. 요청 시마다 새로고침이 일어나며 서버에 새로운 페이지에 대한 요청을 하는 방식이다. 서버에서 view를 렌더링해서 가져오기 때문에 화면 로딩이 빠르다.(JS가 적용되기 전까지는 인터렉션 불가) view 변경 시 서버에 계속 요청하므로 서버에 부담이 된다. 세션(Session) 사용 CSR(Client Side Rendering) 최초 요청에 대해서만 서버가 전체 페이지를 로딩하여 보여주고 이후에는 요청이 있을 때마다 클라이언트의 스..