WEB
-
[WEB] Message Queue란?WEB 2020. 9. 17. 21:43
메시지 기반의 미들웨어로 메시지를 이용하여 여러 애플리케이션, 시스템, 서비스들을 연결해줌 MOM(Message Oriented Middleware)를 구현한 시스템으로 비동기 메시지를 사용하는 서비스들 사이에서 데이터를 교환해주는 역할 Producer가 메시지를 큐에 전송하면 Consumer가 처리하는 방식 대표적인 메시지큐로는 Apache ActiveMQ, Rabbit MQ, Kafka 등이 있음 장점 Asynchronous Decoupling : 애플리케이션과 분리 가능 Resilience : 일부가 실패시 전체에 영향을 받지 않음 Redundacy : 실패할 경우 재실행 가능 Guarantees : 작업이 처리된걸 확인할 수 있음 Scalable : 다수의 프로세스들이 큐에 메시지를 보낼 수 있음..
-
[WEB] MSA(Microservices Architecture)란?WEB 2020. 9. 1. 09:16
Micro Services Architecture의 약어로 소프트웨어 개발 기법 중 하나 AWS, GCP, Azure, OCI 등의 클라우드 시스템으 제공하는 기업들에서 출시되는 애플리케이션은 거의 MSA를 위해 맞춰가고 있음 Monolithic Architectrue 소프트웨어의 모든 구성요소가 한 프로젝트에 통합되어있는 형태로 유지보수가 용이 문제점 프로젝트가 커지면 커질수록 영향도 파악 및 전체 시스템 구조의 파악이 어려움 프로젝트가 커지면 빌드 시간 및 테스트 시간, 배포 시간이 기하급수적으로 늘어남 서비스를 부분적으로 scale out하기 어려움 부분적인 장애가 전체 서비스의 장애로 이어질 수 있음 Monolitic Architecture의 문제점을 해결하기 위해 MSA 도입 MSA란? 전체 서..
-
[WEB] Elasticsearch 란?WEB 2020. 8. 26. 21:51
Apache Lucene 기반의 오픈소스 분산형 검색 및 분석 엔진 방대한 양의 데이터를 실시간으로 신속하게 저장, 검색, 분석할 수 있음 검색을 위해 단독으로 사용되기도 하고 ELK(Elasticsearch / Logstash / Kibana) 스택으로 사용되기도함 특징 Scale out Shard를 통해 규모가 수평적으로 늘어남 High Availability Replica를 통해 데이터의 안전성을 보장 Schema Free JSON 문서를 통해 데이터 검색을 수행하므로 스키마 개념이 없음 RESTful 데이터 CRUD 작업은 HTTP RESTful API를 통해 수행 ELK Stack Logstash 다양한 소스(e.g. DB, csv ...)의 로그 또는 트랜잭션 데이터를 수집, 집계, 파싱하여 ..
-
[WEB] JWT란?WEB 2020. 8. 25. 21:38
JSON Web Token의 약어 JSON 포맷을 이용하여 사용자에 대한 속성을 저장하는 Claim기반의 Web Token으로 RFC-7519 표준 토큰 자체를 정보로 사용하는 Self-Contained 방식으로 정보를 전달 구조 Header typ와 alg 두 가지 정보로 구성됨 typ : 토큰의 타입 지정 alg : Signature를 만드는 해시 암호화 알고리즘 지정 Payload 토큰에 담을 Claim 정보를 포함(key-value 쌍으로 이루어짐) Registered, Public, Private의 3가지 유형으로 나뉨 만료일시, 발급일시, 발급자, 권한정보 등이 포함 Signature Payload가 위변조되지 않았다는 사실을 증명하는 문자열 Header, Payload, Secret Key를..
-
[Web] IaaS PaaS SaaS란?WEB 2020. 8. 20. 10:26
Packaged Software 직접 인프라, 플랫폼, 애플리케이션을 관리하는 모델 많은 비용이 소모되고 유지 보수 또한 쉽지 않음 IaaS(Infrastructure as a Service) Infrastructure 레벨을 제공하는 서비스를 의미 OS 부터 상위의 모든 플랫폼이나 애플리케이션을 사용자가 직접 올릴 수 있음 PaaS(Platform as a Service) 개발자들이 애플리케이션을 개발, 서비스하기위해 사용가능한 서비스와 기능들이 제공되는 클라우드 서비스 개발자들이 Low Level의 Infra Structrue에 대해 신경 쓰지 않고 개발하고 테스트 할 수 있음 SaaS(Software as a Service) 애플리케이션을 조직이나 개인에게 쉽게 제공되는 IT 서비스 방식 서비스를 ..
-
함수형 프로그래밍이란?WEB 2020. 8. 9. 14:14
명령형 프로그래밍과 선언형 프로그래밍의 차이 명령형 프로그래밍 - 프로그래밍의 상태와 상태를 변경시키는 구문의 관점에서 연산을 설명 - 절차지향 프로그래밍 - 수행되어야 할 연속적인 계산 과정을 포함하는 방식(C, C++ ...) - 객체 지향 프로그래밍 - 객체들의 집합으로 프로그램의 상호작용을 표현(Java, C++, C# ...) 선언형 프로그래밍 - 어떻게(How)보다는 무엇(What)과 같은지를 설명하는 방식 - 함수형 프로그래밍 - 순수 함수를 조합하고 소프트웨어를 만드는 방식(LISP, Haskell, Closure ...) 차이점 명령형 프로그래밍 : 알고리즘을 명시하고 목표는 명시 안함 선언형 프로그래밍 : 알고리즘을 명시하지 않고 목표는 명시 OOP와 FP의 차이점 OOP(Object ..
-
[Web] Forwad와 Redirect의 차이WEB 2020. 8. 2. 14:32
Forward Web Continter 차원에서 페이지의 이동 실제로 웹 브라우저는 다른 페이지로 이동했는지 알 수 없음 웹 브라우저는 최초 호출한 URL만 표시하고 이동한 페이지의 URL 정보는 볼 수 없음 동일한 Web Container에 있는 페이지로만 이동 가능 현재 실행중인 페이지와 Forawd에 의해 호출될 페이지는 request, response 객체를 공유 Redirect Web Containter는 redirect명령이 들어오면 웹 브라우저에게 다른 페이지로 이동하라는 명령을 내림 웹 브라우저는 URL을 지시된 주소로 변경하고 그 주소로 이동 다른 Web Container에 있는 주소로 이동 가능 새로운 페이지에서는 request, response 객체가 새로 생성됨
-
서버 사이드 렌더링(SSR)과 클라이언트 사이드 렌더링(CSR)WEB 2020. 6. 23. 21:53
SSR이란? Server Side Rendering의 약어 서버에서 렌더링함 요청시 서버에서 처리하여 새로고침으로 페이지 응답 MPA(Multi Page Application) CSR이란? Client Side Rendering의 약어 클라이언트에서 Javascript를 통해서 렌더링 하는 방식 SPA(Single Page Application) CSR의 장단점 장점 트래픽 감소 처음에 렌더링된 후 필요한 데이터만 받아오면 되기 때문에 상대적으로 서버 요청이 적음 사용자 경험 새로고침이 발생하지 않아 사용자가 네이티브앱과 비슷한 경험을 할 수 있음 단점 초기 렌더링 때 많은 JS 번들을 받아오기 때문에 초기 렌더링 속도가 SSR에 비해 느림 검색엔진 어플리케이션의 소스를 확인하면 내용이 비어있어 검색엔진..