목록CS 정리 (8)
Just Do IT!

Remote Dictionary Server의 약자로,빠른 오픈 소스 인 메모리 키 값 데이터 구조 스토어이다. 키(key) - 값(value) 쌍의 해시 맵과 같은 구조를 가진 비관계형(NoSQL) 데이터베이스 관리 시스템(DBMS)이며, 오픈 소스 기반으로 인-메모리 데이터 구조 저장소로 메모리에 데이터를 저장한다. 기존 DB가 있는데 Redis를 왜 사용하는가?DB는 매번 디스크에 접근해야 하기 때문에 사용자가 많아질수록 부하가 많아져서 느려질 수 있어 캐시 서버를 도입하여 사용하는 것이 좋다. 이 캐시 서버로 이용할 수 있는 것이 바로 Redis이다. 같은 요청이 여러 번 들어올 때 Redis를 사용함으로써 매번 DB를 거치지 않고 캐시 서버에서 저장했던 값을 바로 가져와 DB의 부..

지난 면접을 복기하다가, GET과 POST의 차이점이 무엇인지 물어보는 질문을 받았던 게 생각나서 블로그에도 올려본다. 백엔드와 협업을 하면서 http method에 대해 더 공부를 해야 했는데, 정리하는 계기가 될 것 같다. HTTP란? 웹상에서 클라이언트와 서버 간에 요청/응답으로 데이터를 주고 받을 수 있는 프로토콜이다. 클라이언트가 HTTP 프로토콜을 통해 서버에게 요청을 보내면 서버는 요청에 맞는 응답을 클라이언트에게 전송한다. 이 때, HTTP 요청에 포함되는 HTTP 메소드는 서버가 요청을 수행하기 위해 해야할 행동을 표시하는 용도로 사용한다. (더 알아보기: https://www.w3schools.com/tags/ref_httpmethods.asp) 여러 method가 있지만 그 중 GET..
cookie와 web storage의 차이 web storage HTML5에 포함되어 있는 스펙으로 웹의 데이터를 클라이언트에 저장할 수 있는 새로운 자료구조이다 key-value 쌍으로 데이터를 저장하고 key를 기반으로 데이터를 조회할 수 있다 local storage와 session storage로 구성되어 있다 기존에 사용되던 쿠키의 단점을 개선한 스펙이다 웹사이트에서 쿠키를 설정하면 이후 모든 요청은 쿠키 정보를 포함하여 서버로 전송되기 때문에 불필요한 트래픽을 발생시킬 수 있다 webstorage는 데이터가 클라이언트에 저장이 되어있을 뿐 서버로의 전송은 이루어지지 않는다 web storage는 객체 정보를 저장할 수 있다. -> 개발 편의성적인 측면으로 쿠키보다 편리하다 각 브라우저 별로 지..
캐시(Cache)란? 컴퓨터 과학에서 자주 사용하는 데이터나 값을 미리 복사해 놓은 임시 장소를 말한다 데이터나 작업의 결과를 임시로 저장해두는 것을 의미힌다 캐시를 통해 성능을 향상시키고 빠른 속도로 결과를 반환할 수 있다. 캐시의 장점 성능 향상 캐시를 데이터에 저장해두면 해당 데이터를 요청할 때마다 작업을 수행할 필요가 없어 속도가 빨라진다 서버 부하 감소 캐시를 사용하면 서버가 처리해야 할 요청 수를 줄일 수 있어서 서버 부하가 감소한다 데이터 일관성 유지 캐시는 데이터를 중복으로 저장하지 않기 때문에 데이터 일관성을 유지할 수 있다 접근 시간에 비해 원래 데이터에 접근하는 시간이 오래 걸리는 경우, 혹은 값을 다시 계산하는 시간을 절약하고자 하는 경우에 사용할 수 있다 캐시의 단점 캐시 불일치 ..

프레임워크(Framework) 애플리케이션 개발 시 필수적인 코드, 알고리즘, DB 커넥션 등의 기능들을 위해 뼈대(구조)를 제공 이러한 뼈대 위에서 개발자들이 코드를 작성해 원하는 애플리케이션을 개발할 수 있다. 소프트웨어적으로 정의하면, 소프트웨어의 구체적인 부분에 해당하는 설계와 구현을 재사용이 가능하게끔 상호 협력하는 클래스와 인터페이스의 집합이다 통제권은 사용자가 아닌 프레임워크가 쥐고 있다. = 프레임워크 내에서 코드를 작성할 수 있다 (예) Java - Spring / Python - Django / 안드로이드 앱개발 - Android / JavaScript - Node.js 등 프레임워크의 특징 특정 개념들의 추상화를 제공하는 여러 클래스나 컴포넌트로 구성되어 있다 추상적인 개념들이 문제를..

REST란? Representational State Transfer의 약자 자원을 이름으로 구분하여 해당 자원의 상태(정보)를 주고 받는 모든 것을 의미한다 자원(resource)의 표현(representation)에 의한 상태 전달 자원 : 해당 소프트웨어가 관리하는 모든 것 문서, 그림, 데이터, 해당 소프트웨어 자체 등 자원의 표현 : 그 자원을 표현하기 위한 이름 DB의 이름이 자원일 때, 'name'을 자원의 표현으로 지정 REST의 정의 HTTP URI(Uniform Resource Identifier)를 통해 자원(Resource)을 명시하고, HTTP Method(POST, GET, PUT, DELETE, PATCH 등)를 통해 해당 자원(URI)에 대한 CRUD Operation을 적용..

브라우저란? 우리가 흔히 사용하는 크롬, 사파리, 파이어폭스 등을 의미한다. 브라우저는 유저가 선택한 자원을 서버로 부터 받아와서 유저에게 보여준다. 자원은 html 문서, pdf, 이미지 등 다양한 형태를 띌 수 있으며 자원의 주소는 URL(Uniform Resource Identifier)에 의해 정해진다. 렌더링이란? 개발자가 작성한 문서(html, css, javascript)를 브라우저에서 그래픽 형태로 출력하는 것 브라우저 렌더링 과정 1. 서버로부터 넘겨받은 html, css 파일 다운로드 2. Parsing : DOM / CSSOM 생성 Parsing 단계는 HTML 파일을 해석하여 DOM(Document Object Model) Tree를 구성하는 단계이다 연산과 관리가 용이하도록 Obj..

WSL(Windows Subsystem for Linux) WSL이란, 윈도우 리눅스 서브시스템이다. 설치 후에는 윈도우 위에서 리눅스를 사용할 수 있게 해준다. (선택사항) windows terminal 설치 윈도우에서 기본으로 지원하는 cmd(명령 프롬포트)는 리눅스와 명령어가 다른 부분이 있다. 그래서 windows terminal을 설치한 뒤에 사용하는 것이 더 편하다. 1. 터미널을 관리자 권한으로 실행 $ wsl --install 위의 명령어 입력 시 따로 Ubuntu를 설치하지 않아도 wsl을 설치 가능하다. (Ubuntu : 리눅스를 사용하기 위한 리눅스 배포판) 설치 후 재부팅하면 Ubuntu가 자동으로 실행된다. +) 다른 방법 [제어판] > [모든 제어판 항목] > [프로그램 및 기능..