1. Elastic Search란? Apache Lucene에 구축되어 배포된 검색 및 분석 엔진이다. 현재 검색엔진을 넘어 보안, 로그분석, Full-text 분석 등 다양한 영역에서 사용되며, Kibana, Logstash, Beats들과 함께 사용된다. 오픈 소스 프로젝트로 활발히 개발되고 있으며, 유닉스, 자바의 기초지식 필요하다. Apache Lucene의 한계를 보완하기 위한 새로운 검색엔진 프로젝트로 시작되었고 Logstash, Kibana와 함께 사용되어 ELK Stack (ES, Logstash, Kibana)라고 불렸으나 2013년 Logstash, Kibana 프로젝트 정식 흡수되었다. 2. Elastic Stack이란? ES, Logstash, Kibana를 묶은 ELK 서비스이다...
1. REST란? REST란 Representational State Transfer의 약자로 자원을 이름으로 구분하여 자원의 상태를 주고받는 것을 의미한다. HTTP URI를 통해 자원을 명시하고 HTTP Method를 통해 행위를 적용한다. 1-1. REST 구성요소 자원(Resource) : HTTP URI - 서버는 고유한 리소스 식별자로 각 리소스를 식별 행위(Verb) : HTTP Method (GET, POST, PUT, DELETE) 내용(Representations) : HTTP Message Pay Load - 하나의 자원은 JSON,XML, TEST, RSS 등 여러 형태의 Representaion으로 나타내어질 수 있다. 1-2. REST의 특징 Stateless (무상태성) - 서..
1. PostgreSQL Function이란? SQL 함수는 임의의 SQL문들을 실행하고 마지막 쿼리의 결과를 반환한다. 단순한 형태의 함수는 마지막 쿼리의 첫 번째 row가 리턴된다. (order by 를 사용하지 않는 경우 다중 row의 첫 번째 행은 별도 정의되지 않기에 결과 row가 매번 다를 수 있다.) 마지막 쿼리가 row를 하나도 반환하지 않을 경우 null이 리턴된다. SQL 함수는 함수의 리턴 유형을 특정 타입의 집합 (SET)으로 선언하거나, 테이블로 선언하여 반환할 수 있다. 이 경우에는 마지막 쿼리의 모든 ROW가 리턴된다. SQL함수의 body는 세미콜론(;)으로 구분된 SQL구문의 집합이어야만 한다. 마지막 구문 뒤의 세미콜론(;)은 생략하여도된다. 함수가 void를 리턴하는 것..
1. 단위 테스트 하나의 모듈을 기준으로 독립적으로 진행되는 가장 작은 단위의 테스트이다. 통합 테스트의 경우 시스템을 구성하는 컴포넌트들이 커질수록 테스트 시간이 길어지지만, 단위 테스트의 경우 해당 부분만 독립적으로 테스트하기에 코드의 변경이 있어도 빠르게 문제 여부를 확인할 수 있다. CleanCode 책에 의하면 깨끗한 테스트 코드는 다음 5가지 규칙을 따라야 한다. Fast - 빠르게 동작하여 자주 돌릴 수 있어야 한다. Independent - 테스트는 독립적이며 서로 의존해서는 안된다. Repeatable - 어느 환경에서도 반복이 가능해야 한다. Self-validating - 테스트는 성공 또는 실패로 결과를 내어 자체 검증되어야 한다. Timely - 테스트는 적시에, 테스트하려는 실제..