ETC는 라틴어 et cetera의 준말로, and other thing의 의미로 ex가 아니라 et인게 포인트이다.\-> 한국어로 '기타 등등'의 의미가 된다.어떤 일을 요청하고, 작업이 끝날때까지 다른 일을 할 수 없다.어떤 일을 요청하고, 작업이 끝날때까지 다른
\-> 클라이언트( 사용자 )가 웹 브라우저에 요청을 보내면 웹 서버에서 요청을 받아 정적 컨텐츠( HTML, CSS, JS 등.. )를 제공하는 서버이다.대표적인 웹서버 : Apache\-> 웹 서버와 웹 컨테이너가 합쳐진 형태로, 웹 서버 단독으로 처리할 수 없는
모놀리식 구조라고 불리는 Monolithic Architecture는 하나의 구조로 단단히 이루어진 이란 뜻을 갖고 있다.위의 그림처럼 Business Logic과 Data Access Layer와 UI가 묶여 제공되는 구조이다.작은 규모의 프로젝트 개발에 효율적이다.
Apache 와 NginX 는 웹서버를 운영 할 수 있는 오픈 소스 서버 기술을 제공한다.프로젝트를 진행할 시, 어느 것으로 사이트를 최대한 효율적으로 운영할 수 있는지 필요에 가장 적합한 서버 유형을 선택하는 것이 중요하다.이벤트 중심 접근 방식으로 하나의 스레드 내
컴퓨터 네트워크 기술로 둘이나 셋 이상의 중앙처리장치나 저장장치 등 퓨터 자원들에게 부하( Load )를 나누는 것을 의미한다.\-> 한 서버가 일을 다 처리하면 부담스러우니 여러 서버에게 일을 분산하겠다.쉽게 여러 서버가 분산 처리하는 것을 로드 밸런싱이라고 하는데,
프록시란 '대리'라는 의미로, 보안 분야에서는 주로 보안상의 이유로 직접 통신할 수 없는 두 점 사이에서 통신을 할 경우 그 사이에 있어서 중계기로서 대리로 통신을 수행하는 기능을 가리켜 '프록시', 중계 기능을 하는 것을 프록시 서버라고 부른다.우리가 생각하는 '프록
콘텐츠 전송 네트워크는 데이터 사용량이 많은 애플리케이션의 웹 페이지 로드 속도를 높이는 서버 네트워크로, 사용자가 서버에서 멀리 떨어져 있는 경우 동영상 또는 웹 사이트 이미지와 같은 대용량 파일을 로드하는데 시간이 오래 걸려서 웹 사이트 콘텐츠를 지리적으로 사용자와
캐시란 자주 사용하는 데이터나 값을 미리 복사해 놓은 임시 장소를 가리킨다.아래 그림과 같이 캐시는 저장공간이 작고 비용이 비싼 대신 빠른 성능을 제공한다.접근 시간에 비해 원래 데이터를 접근하는 시간이 오래 걸리는 경우( 서버의 균일한 API 데이터 )반복적으로 동일
ETag( entity Tag )는 월드 와이드 웹 프로토콜인 HTTP의 일부로, HTTP가 웹 캐시 유효성 검사를 위해 제공하는 몇 가지 매커니즘 중 하나이다.ETag( entity Tag )는 웹 서버가 주어진 URL의 콘텐츠가 변경되었는지 알려주고, 이것을 반환하
성능 테스트는 애플리케이션의 안정성과 속도, 확장성 및 반응성이 어떻게 유지되는지를 판별하는 비기능적 소프트웨어 테스트 기법이다.성능 테스트의 목표에는 애플리케이션 결과 평가, 처리 속도, 데이터 전송 속도, 네트워크 대역폭 사용량, 최대 동시 사용자 수, 메모리 이용
운영중인 애플리케이션에 문제가 발생했을 경우, 문제의 원인을 파악하기 위해 적절한 로그를 남겨주는 것이다.Trace : debug보다 세분화된 정보Debug : 디버깅하는데 유용한 세분화된 정보Info : 진행상황 같은 일반 정보Warn : 오류는 아니지만 잠재적인 오
RabbitMq는 AMQP를 따르는 오픈소스 메세지 브로커로 메세지를 많은 사용자에게 전달하거나, 요청에 대한 처리 시간이 길 때, 해당 요청을 다른 API에게 위임하고 빠른 응답을 할 때 많이 사용한다.메세지는 Message Queue를 통해 원하는 사용자에게 전달할
ActiveMq는 가장 대중적인 메세지 브로커로, 빠르고 다양한 언어 간 클라이언트 및 프로토콜을 지원한다.보통 MOM( 메세지 지향 미들웨어 )으로 사용하며 클라이언트 간 메세지를 송수신할 수 있는 오픈 소스 브로커이다.JMS는 자바 기반의 MOM( 메세지 지향 미들
Kafka는 분산 로그를 기반으로 디스크에 보존된 로그의 끝에 메세지가 기록되고 클라이언트가 해당 로그에서 읽기 시작하는 위치를 선택할 수 있다.Kafka 클러스터에도 여러 서버에 분산 및 클러스팅하여 가용성을 높일 수 있으며, 개발자 중심의 설계로 구성되어 비동기식이
ELK Stack은 로그 수집기술로 분석 및 저장을 담당하는 ElasticSearch, 수집 기능을 담당하는 Logstash, 시각화 하는 도구인 Kibana의 3가지 기술로 구성되어있다.ELK Stack은 기술 접근성과 사용성에서 기존의 기술들보다 편하다는 강점이 있
Redis는 개방형 소스( BSD 라이선스 ), 메모리 내 데이터 구조 저장소로 데이터베이스, 캐시 및 메세지 브로커로 사용된다.Redis는 시스템 메모리를 사용하는 Key - Value 데이터 스토어로 인메모리 상태에서 데이터를 처리함으로써 흔히 사용하는 관계형 데이
Docker는 애플리케이션을 신속하게 구축, 테스트 및 배포할 수 있는 소프트웨어 플랫폼으로 컨테이너라는 표준화된 유닛으로 패키징하며, 이 컨테이너에는 라이브러리, 시스템 도구, 코드, 런타임 등 소프트웨어를 실행하는 데 필요한 것이 포함되어 있다.\-> 컨테이너는 애
쿠버네티스는 컨테이너화된 워크로드와 서비스를 관리하기 위한 이식성이 있고, 확장가능한 오픈소스 플랫폼이다.쿠버네티스는 선언적 구성과 자동화를 모두 용이하게 해주고, 쿠버네티스를 통해 클러스터를 효율적으로 관리할 수 있고, 이 클러스터는 퍼블릭 클라우드, 프라이빗 클라우
프로메테우스는 시계열 데이터를 처리하는 것이 주 목적인 Time-Series DB이다.프로메테우스는 주로 CPU, 메모리 사용량과 같은 Metrics 데이터에 대한 APM 구축을 목적으로 해서 MSA 형태의 컨테이너 서비스, 대규모 서버 클라스터 모니터링에 사용하는 것
그라파나는 오픈소스 매트릭 데이터 시각화 도구로 매트릭 분석 플랫폼을 지향하고 있다.그라파나와 비슷하게 시각화 툴에는 ELK의 Kibana도 있지만 Kibana는 ELK Stack에 최적화이기때문에 어떤 프로그램을 사용하는지에 따라 각자 고민해 볼 필요가 있다.Graf
코틀린은 자바 플랫폼에서 돌아가는 새로운 프로그래밍 언어로 자바가 사용되고 있는 플랫폼에 적합하면서도 간결하고, 생산적인 안전한 언어를 제공한다.또한, 자바 코드와의 상호운용성을 중시하고, 서버 개발 및 안드로이드 앱 개발 분야에서 사용한다.Kotlin/JVM : 자바
MQTT( Message Queueing Telemetry Transport )는 메세지 발행-구독하는 방법으로 통신하는 메세지 기반의 송수신 프로토콜이다.MQTT는 TCP/IP 프로토콜 위에서 동작하며, Wifi나 인터넷에 연결하여 통신한다.MQTT 서버는 Faceb
Node.js는 Chrome V8 Javascript 엔진으로 빌드된 Javascrpit 런타임이다.노드를 통해 다양한 자바스크립트 애플리케이션을 실행할 수 있으며, 서버를 실행하는데 제일 많이 사용한다.구글 V8 자바스크립트 엔진고성능 네트워크 서버단일 쓰레드( Si
개발을 하며 코드가 잘 동작하는지, 버그는 없는지 파악하는 것이 테스트 하는 과정을 중요하다.그에 따른 테스트 방법을 범위에 따라 분류하면 유닛, 통합, 기능 테스트 3가지로 나누어 볼 수 있다유닛 테스트는 단위 테스트라고도하며 하나의 모듈을 기준으로 독립적으로 진행되