프로그래밍(Basic)/이론

    [바미] Ajax 통신을 알아보자!

    [목표] 모던웹 구현에 필요한 Ajax 개념알기 Ajax 직접 구현해보는 것 마음먹기 [먼저 보면 좋은 게시글] 1) HTTP 프로토콜 자세히 알기 2) 싱글쓰레드 자바스크립트 엔진은 비동기처리를 어떻게 하는가 [Ajax란] 자바스크립트를 이용해서 비동기적으로 브라우저와 서버가 데이터를 주고 받는 방식을 말함 새로운 언어나 프레임워크, 라이브러리가 아님, 네트워크 통신 방식을 말함 Asynchronous Javascript and XML : 자바스크립트로 비동기 통신을 하고, XML 형식으로 데이터 리턴을 받는다는 뜻 XML 데이터보다 JSON 데이터 포맷을 훨씬 더 많이 사용함 자바스크립트를 통해서 서버에 요청을 하고, 서버로부터 데이터를 리턴받음 DOM을 제어해서 서버로부터 리턴받은 데이터를 가지고 ..

    [바미] JAM Stack이란 무엇일까?

    JAM Stack 개념 정리하기 SSR 도입위해 NextJS 를 검토하던중 JAM Stack 개념을 알게되어 이를 정리 해보고자 한다. JAMstack WTF JAM stack 은 Javascript, Api, Markup Stack 의 약자이다. 약자에서 알수 있듯 Javascript 와 API 그리고 Markup(HTML) 만으로 이루어진 웹의 구성을 이야기하는 것인데, 우리가 알고 있는 SPA 과는 비슷하지만 다르다. SPA (Single Page Application) 와 CSR (Client Side Rendering) 웹은 보통 완성된 Static HTML 와 CSS 를 네트워크로 전달 받아서, 화면을 보여준다. 서버가 동적으로 HTML을 생성할 수 있게 되면서 Server Side Rende..

    [바미] Web Socket에 대해 알아보자!

    WebSocket이란 WebSocket은 컴퓨터 네트워크용 통신 규약의 하나이다. ( ws:// ) 인터넷의 표준화 단체인 W3C(World Wide Web Consortium) 와 IETF(Internet Engineering Task Force) 가 Web server 와 Web browser 간의 통신을 위한 규정을 정의한 쌍방향통신(Duplex)용 기술 규약이다. API는 W3C가 책정을 맡고 있고, WebSocket 프로토콜은 IETF가 책정을 맡고 있다. WebSocket의 등장 배경 초기 웹의 탄생 목적은 문서 전달과 하이퍼링크를 통한 문서 연결이었다. 웹을 위한 HTTP 프로토콜은 이러한 목적에 매우 부 합하는 모델이다. 그러나 시대가 변하고 환경이 발전할 수록 웹이 더 이상 문서공유에만 ..

    [바미] JMT이 아닌 JWT에 대해 알아보자!

    세션 기반 인증 방식 옛날에 토큰 기반 인증이 없었을 때 서버 세션을 사용해 인증을 했습니다. 클라이언트가 로그인 성공하면 서버가 유저 세션을 만들고 메모리나 데이터베이스에 저장한다. 서버가 클라이언트에게 세션 ID를 보낸다. 클라이언트의 브라우저에 세션의 ID만 쿠키에 저장하게 한다. 세션 데이터가 서버의 메모리에 저장되므로, 확장 시 모든 서버가 접근할 수 있도록 별도의 중앙 세션 관리 시스템이 필요합니다. 세션 기반 인증 방식 단점 중앙 세션 관리 시스템이 없으면, 시스템 확장에 어려움이 생깁니다. 중앙 세션 관리 시스템이 장애가 일어나면, 시스템 전체가 문제가 생깁니다. 만약 메모리에 세션 정보가 들어있다면, 메모리가 많이 사용될 수 있습니다. 규모 확장이 필요없는 소규모 프로그램 작성에서는 세션..