본문 바로가기

전체 글

(129)
[Spring Boot] Spring Initializr Option Spring Boot Version - SNAPSHOT : 아직 개발단계라는 의미 - GA (General Availability) - 테스트가 완료된 정식 릴리즈 버전으로 안정적으로 운영되어야 하는 프로젝트에서 사용 - RC (Release Candidate) - 베타 버전이다. 정식 릴리즈 버전은 아니므로 기능은 픽스되었으나, 안정적 동작은 보장할 수없다. - M (Milestone) - 테스트 버전이다. 아직 기능이 픽스되지 않아 구현될 때 마다 테스트 버전이 릴리즈 될 수 있다. Dependencies Spring Boot Dev Tools - Property Defaults : 개발 시점과 배포 시점에 다른 설정을 기본적으로 개발 단계에 맞춰 설정 - Automatic Restart : 파일 수..
[AWS] Amazon Web Service Amazon Web Servicedml 특징 - 보안 가용성 성능 확장성 유연성 1. CLOUD COMPUTING - 고정비용을 가변 비용으로 대체 - 운영 비용 절감 - 탄력적 운영 및 확장 - 속도 및 안정성 - 글로벌 확장 2. ON-PREMISE - 초기 비용이 높음 AWS GLOBAL INFRA AWS 리전 설계 - AWS 리전은 더 높은 가용성, 확장성, 내결함성을 위해서 다중의 가용영역으로 구성됩니다. 어플리케이션과 데이터는 다른 가용영역 간에 실시간 복제가 되며 일관성을 가집니다. AWS 가용 영역 (AZ) 설계 AWS 보안 : 책임 공유 모델 AWS NETWORK VPC 개요 - Virtual Private Cloud - 사용자가 정의한 가상의 네트워크 공간 - 완전한 네트워크 제어 가능..
[Spring] Spring Security 1. Spring Security의 의의 - Spring Security는 Spring 기반의 application의 보안(인증과 권한, 인가 등)을 담당하는 Spring 하위 Framework - '인증'과 '권한'에 대한 부분을 Filter 흐름에 따라 처리 - Filter는 Dispatcher Servlet으로 가기 전에 적용되므로 가장 먼저 URL 요청을 받지만, Interceptor는 Disapatcher와 Controller 사이에 위치한다는 점에서 적용 시기의 차이가 있다. - 보안과 관련하여 체계적으로 많은 옵션 제공 2. Spring Security Architecture 3. Authorization (인증)과 Authentication (인가) - Authorization (인증) :..
[AWS] AWS SQS 1. SQS의 의미 - Simple Queue Service는 AWS의 빠르고 안정적인 메세지 Queue(대기열) 서비스 - 분산 시스템을 구성할때 시스템간 메세지를 주고 받을 수 있는 대기열 - 전송, 수신, 삭제 3가지 기능 제공 2. SQS의 장점 1 ) 안정성 - SQS는 Amazon의 고가용성 데이터 센터에서 실행되며 애플리케이션에서 필요하면 언제든기 대기열을 사용할 수 있다. 또한, 메세지가 유실되거나 손상되지 않도록 모든 메세지는 여러 서버와 데이터 센터에 걸쳐 중복으로 저장된다. 2 ) 간편함 - 개발자는 5개의 APi만으로 Amazon SQS를 시작할 수 있으며, 고급 기능을 제공하는 추가 API도 사용할 수 있다. 3 ) 확장성 - SQS는 언제든 무제한의 메세지를 읽고 쓰도록 설계되었..
[Thymeleaf] 타임리프 1. Thymeleaf - 템플릿 엔진의 일종. html 태그에 속성을 추가해 페이지에 동적으로 값을 추가하거나 처리 가능 1) th: 속성 - th:OOO이 붙은 부분은 서버사이드에서 렌더링 되어 기존 내용을 대체 (th:OOO이 없으면 OOO 속성이 사용됨) 웹 브라우저는 th: 속성을 인식 못함 2. 템플릿 엔진 - 지정된 템플릿 양식과 데이터가 합쳐져 html 문서를 출력하는 소프트 웨어 1) 템플릿 엔진의 종류 1. 서버 템플릿 엔진 2. 클라이언트 템플릿 엔진 2) 템플릿 엔진의 장점 - 코드 리소스가 줄어듬 - 재사용성 향상 - 유지보수 용이 3) 서버 템플릿 엔진의 종류별 특징 - JSP : 스프링 부트에서 비권장 - Velocity : 스프링 부트에서 비권장 - Freemarker : 템..
[elasticsearch] elasticsearch 설치 1. elasticsearch란? - 속도와 확장성, 그리고 수많은 종류의 콘텐츠를 검색 속도 분산 다양한 기능 데이터 수집, 시각화, 보고 간소화 - 사용자는 이 데이터에 대해 복잡한 쿼리를 실행하고 집계를 사용해 데이터의 복잡한 요약을 검색가능 2. elasticsearch 설치 URL - https://www.elastic.co/downloads/elasticsearch Download Elasticsearch Download Elasticsearch or the complete Elastic Stack (formerly ELK stack) for free and start searching and analyzing in minutes with Elastic. www.elastic.co 설치 후 원..
[kafka] Burrow 설치 및 설정 1. Burrow란? Burrow는 카프카의 모니터링 툴로 Consumer의 LAG을 모니터링할 때 주로 사용된다. 모든 Consumer의 커밋 오프셋을 모니터링한다. 또한 필요할 때 Consumer의 상태를 계산한다. HTTP 엔드포인트를 통해 상태를 요청할 수 있으며, 다른 카프카 클러스터의 정보를 제공받을 수 있다. 이메일이나 HTTP 호출을 통해 다른 서비스로 상태를 보낼 수 있는 구성 가능한 알람 기능도 있다. 2. Burrow의 특징 NO THRESHOLDS! : Groups are evaluated over a sliding window. 여러 카프카 클러스터 지원 커밋된 오프셋을 사용하여 모든 Consumer를 자동으로 모니터링 Zookeeper 커밋 오프셋 지원 Storm 커밋 오프셋 지..
[Go] Golang 설치 및 환경설정 1. Go란? - 구글에서 개발한 언어이코 컴파일 방식으로 매우 높은 성능을 낼 수 있다. - 동적 타입의 인터프리트 언어처럼 느껴지는, 빠른 정적 타입의 컴파일 언어 - 배우기 용이하고 사용하기 간단하며 다른 개발자가 읽기 쉬운 언어를 목표로 설계 - C++와 같은 언어와 비교하면 기능이 그렇게 많지는 않다. - 구문은 C와 비슷해서 C 경험이 풍부한 개발자라면 비교적 쉽게 배울 수 있다. - 여러 기능, 특히 동시성과 함수형 프로그래밍 기능은 얼랭(Erlang)과 같은 언어를 연상시키기도 한다. - 다양한 크로스 플랫폼 엔터프라이즈 애플리케이션을 빌드하고 유지하기 위한 C 유사 언어인만큼 자바와도 공통점이 많다. - 어디서나 실행되는 코드를 신속하게 개발할 수 있게 해준다는 점은 파이썬과 비슷하다. ..