본문 바로가기

▶ Back-End/개념 요약25

HTTP1.1과 HTTP2 차이점 HTTP1.1과 HTTP2의 간단한 주요 기능 차이*자세한 설명 생략  ▷ HTTP/1.1*현재까지 가장 널리 사용되는 HTTP 프로토콜*요청/응답 모델을 사용(클라이언트가 서버에 요청, 서버가 클라이언트에 응답) - 각 요청마다 별도의 TCP 연결 필요- 여러 개의 요청을 처리하기 위해 다중 TCP 연결 사용*연결 설정과 해제에 따른 오버헤드 발생- 매 요청마다 중복되는 헤더들이 반복 전송*대역폭 낭비- 응답이 완료돼야 다음 요청을 보낼 수 있으므로 블로킹 현상 발생   ▷ HTTP/2*HTTP1.1의 단점을 보안하고 성능을 개선하기 위해 개발된 프로토콜*성능이 향상되고, 더 효율적*일반적으로 TLS를 설정한다는 것은 HTTPS를 구성한다는 것과 같은 의미*TLS프로토콜을 사용하여 안전한 통신(인증서,.. 2024. 4. 29.
OpenSearch Dashboard 란? Amazon OpenSearch Dashboard Sevice 간단한 소개 *자세한 설명 생략 ▷ OpenSearch Dashboard 란? - 데이터 시각화(다양한 차트) 및 탐색 - OpenSearch 데이터 쿼리 및 필터링 - OpenSearch Cluster 관리 - OpenSearch의 Kibana 역할 ▷ 참고 OpenSearch와 OpenSearch 대시보드란 무엇인가? OpenSearch와 Elasticsearch는 동일하지 않습니다. OpenSearch 및 Elasticsearch와 OpenSearch 대시보드 및 Kibana의 차이점에 대해 알아보세요.... www.elastic.co ▷ 관련 글 OpenSearch 란? Amazon OpenSearch Service 간단한 소개 *자세.. 2024. 4. 22.
OpenSearch 란? Amazon OpenSearch Service 간단한 소개 *자세한 설명 생략 ▷ Opensearch 란? - Elasticsearch 기반 파생된 오픈 소스 검색 엔진 솔루션 - 검색 및 분석을 위한 강력한 도구를 제공하며, 확장성과 유연성이 높음 *Elasticsearch는 더 적은 리소스를 사용하며 40%~140% 더 뛰어난 성능을 발휘 *OpenSearch는 Elasticsearch의 여러 기능을 사용할 수 없다 Announcing Amazon OpenSearch Service which Supports OpenSearch 1.0 | Amazon Web Services Developers embrace open-source software for many reasons. One of the mos.. 2024. 4. 18.
Swagger 란? 시간 소요가 많고 관리하기 번거롭던 API 명세서 작성 작업을 Swagger를 통해 간단하게 해결 *자세한 설명 생략 ▷ Swagger 란? *OAS : Open API Specification API의 명세(Spec)를 문서화하여 관리하기 위한 프로젝트 API의 명세(Spec) 수정 시 문서 자동 갱신 Spring / Spring Boot Project에서 사용 가능 대표적인 라이브러리 : Springdoc, Springfox *차이점이 있고 Springdoc 선호 ▷ Swagger 특징 Annotation을 통해 API를 빠르게 명세 Swagger-UI를 통해 API를 시각화한 화면 제공 Swagger-UI를 통해 API 테스트 진행 가능 ▷ Swagger 사용 이유 엑셀로 관리하던 인터페이스 설계서.. 2023. 10. 18.
Cassandra 기본 개념 Apache Cassandra의 기본 개념을 간단히 소개 *자세한 설명 생략 ▷ Cassandra 란? *현재 Facebook과 twitter 등 에서 사용 - Apache Cassandra는 대용량 데이터를 관리하기 위해 설계된 시스템으로 분산형 오픈소스 NoSQL Database ▷ Cassandra 특징 - CQL ( Cassandra Query Language ) *SQL과 유사한 Query Interface - 대용량 데이터가 여러 서버에 분산되고 분산된 데이터를 여러 서버에 복제 *Master less *Cluster 중단 없이 수평 확장/축소 가능 - 데이터 모델링은 query-driven 방식을 사용 *Cassandra 사용 시 가장 중요한 부분 *WHERE 조건은 Key 만 사용 가능 -.. 2023. 8. 10.
Tomcat 이란? 동적인 웹을 만들기 위한 서블릿 컨테이너 *자세한 설명 생략 ▷ Tomcat 이란? - Tomcat(WAS)은 Web Server(Apache)와 통신하여 JSP와 Servlet이 작동하는 환경을 제공 *Tomcat은 내부 WebServer를 포함하여 독립적으로 사용 가능 - Tomcat은 여러 Connector(HTTP/1.1", "AJP/1.3", SSL ...)와 Connector interface를 제공 *HTTP/1.1 과 HTTP/2 Connector는 Tomcat이 독립적으로 동작하거나 다른 web server의 요청을 받아 WAS의 역할을 수행하도록 지원 *AJP Connector는 Apache HTTP Web server의 요청을 처리하기 위한 특수한 Protocol을 처리 *Tomcat.. 2023. 8. 4.
Lombok이란? 간편한 코드 작성, 가독성, 유지보수를 편리하게 해주는 Lombok *자세한 설명 생략 ▷ Lombok 이란? Java의 라이브러리로 반복되는 메소드를 Annotation을 사용해서 자동으로 작성해 주는 라이브러리 *Annotation(@) : 작성한 코드에 대해 추가적인 정보를 제공하여 기능을 실행 *Annotation 종류 : - 표준 어노테이션(Java에서 기본적으로 제공) - 메타 어노테이션 (Annotation을 정의하는데 사용) - 사용자 정의 어노테이션(사용자가 직접 정의) Lombok을 이용해서 작성한 코드는 컴파일 과정에서 Annotation을 이용해 코드를 생성 후 자동 컴파일 ▷ 참고 [자바] 자주 사용되는 Lombok 어노테이션 Engineering Blog by Dale Seo w.. 2023. 7. 25.
Docker 란? 애플리케이션을 신속하게 구축, 테스트 및 배포할 수 있는 소프트웨어 플랫폼 *자세한 설명 생략 ▷ Docker 란? Container 기반의 오픈소스 가상화 플랫폼 하나의 Host OS위에 Docker를 설치하여 다수의 Container를 생성하고 관리 *Container : 리눅스 자체 기능을 사용한 프로세스 단위의 독립된 환경 안의 가상공간 *Container에 필요한 커널은 Host OS의 커널을 공유하여 사용 (애플리케이션을 구동하는데 필요한 패키지만 있으면 Container 구동) *커널 : 컴퓨터 자원을 관리하는 OS의 핵심 부분(쉘 : 사용자와 커널 사이의 인터페이스) VM보다 가볍고 빠르고 효율적 확장성과 이식성이 뛰어남 Docker가 설치돼 있다면 Image를 통해 Container 실행.. 2023. 7. 24.
TDD, BDD, DDD란? 다양한 개발 방법론 중 TDD, BDD, DDD의 기본 개념을 간단히 소개 *자세한 설명 생략 ▷ TDD(Test Driven Development) - 테스트 주도 개발 *코드 양 증가(테스트 코드들의 관리 이슈)로 빠른 생산성이 요구되는 시점에는 적용이 어려움 테스트 코드를 먼저 작성(단위 테스트) 짧은 개발 서클을 반복하는 개발 방식 요구사항에 따른 테스트 케이스를 설정 해당 코드를 리팩토링 하는 과정으로 프로그래밍을 진행 작동하는 깔끔한 코드를 작성 새로운 기능 추가 시 기존 기능들과 성능 평가 ▷ BDD(Behavior Driven Development) - 행동 주도 개발 TDD에서 파생 테스트 코드 자체가 요구사항이 되도록 개발하는 방식(통합 테스트) 코드가 수행할 행위에 대한 명세를 먼저 .. 2023. 7. 23.
728x90
728x90