Redis란? 키-밸류(Key-Value) 데이터 구조에 기반해 데이터들을 저장하고 관리하기 위한 오픈소스 기반의 비관계형 데이터베이스 관리 시스템이다. 다양한 메모리 구조 집합을 제공하여 데이터 저장 뿐만 아니라 다양한 목적으로 사용할 수 있다. 장점은 빠른 처리 속도, 단점은 저장 공간의 제약 레디스는 메모리에 데이터를 저장하기 때문에 빠른 처리 속도가 장점이지만 저장 공간에 제약이 있다. 이 단점 때문에 주로 보조 데이터 저장소로 사용한다. 레디스 클러스트 기능을 사용하여 저장 공간을 확장할 수 있다. 또한 저장된 데이터를 영구적으로 디스크에 저장할 수 있는 백업 기능도 제공한다. Redis 데이터 백업 방식 메모리에 데이터를 관리하므로 매우 빠른 속도로 데이터를 저장 및 조회할 수 있다. 하지만 ..
분류 전체보기
직렬화란? 직렬화(Serialize)란 Object 또는 Data를 파일 또는 네트워크를 통해서 스트림(송수신)이 가능하도록 바이트 형태의 연속적인(serial) 데이터로 변환하는 기술입니다. 시스템적으로 살펴보면, JVM의 힙(heap) 혹은 스택(stack) 메모리에 상주하고 있는 객체 데이터를 직렬화를 통해 바이트 형태로 변환하여 데이터베이스나 파일과 같은 외부 저장소에 저장해두고, 다른 컴퓨터에서 이 파일을 가져와 자바 객체로 변환해서 JVM 메모리에 적재하는 것으로 보면 됩니다. 직렬화의 장점은? 자바에서의 직렬화는 외부 파일이나 네트워크를 통해 클라이언트 간에 객체 데이터를 주고 받을 때 사용됩니다. 그런데 문득 이런 의문이 들 수 있습니다. CSV나 JSON과 같은 훌륭한 데이터 포맷이 있는..
리액트를 사용하여 애플리케이션의 인터페이스를 설계할 때 사용자가 볼 수 있는 요소는 여러 가지 컴포넌트로 구성되어 있습니다. 컴포넌트의 기능은 단순한 템플릿 이상입니다. 데이터가 주어졌을 때 이에 맞추어 UI를 만들어 주는 것은 물론이고, 라이프사이클 API를 이용하여 컴포넌트가 화면에서 나타날 때, 사라질 때, 변화가 일어날 때 주어진 작업들을 처리할 수 있으며, 임의 메서드를 만들어 특별한 기능을 붙여줄 수 있습니다. 함수형 컴포넌트와 클래스형 컴포넌트 import './App.css'; function App() { const name = 'react'; return {name} } export default App; import { Component } from 'react'; class App ..
JSX란? JSX(JavaScript XML)는 Javascript에 XML을 추가한 확장한 문법입니다. function App() { return ( Hello react ); } 이런 형식으로 작성한 코드는 브라우저에서 실행되기 전에 코드가 번들링되는 과정에서 바벨을 사용하여 일반 자바스크립트 형태의 코드로 다음과 같이 변환됩니다. function App() { return React.createElement("div", null, "Hello", React.createElement("b", null, "react")); } JSX를 사용하면 매우 편하게 UI를 렌더링할 수 있습니다. 두 가지 코드를 비교해 보았을때 JSX를 사용하는 편이 가독성이 높고 HTML 코드를 작성하는 것과 비슷해 쉽다고 느..