Intro Elasticsearch는 Apache Lucene(아파치 루씬) 기반의 Java 오픈소스 분산, RESTful API 기반의 검색엔진 입니다. Elasticsearch를 통해 루씬 라이브러리를 단독으로 사용할 수 있게 되었으며, 방대한 양의 데이터를 신속하게, 거의 실시간( NRT, Near Real Time )으로 저장, 검색, 분석할 수 있습니다. 목차 0. 용어 정리 1. Get Elasticsearch up and running 2. Index some documents 3. Start searching 4. Analyze results with aggregations 5. 자료 참고 용어정리 해당 문서를 읽기전에 앞서, 우리에게 낯이 익는 단어들(document, index, sha..
Serializer은 json 형식을 자동으로 정리해 주면서, 그와 동시에 타 Model(table)과 연계되는 데이터가 존재할 경우, 자동으로 json 형식으로 정리해 주는 Gem 입니다. 사실 Rails 내에서도 역시 기본적으로 제공되는 render :json 문법을 통해 json response를 만들어 줄 수 있긴 하나, 이 과정이 조금 귀찮은 방법입니다. Serializer은 기본적으로 이를 편리하게 해줍니다. 또한 json 출력 구문 작성에 있어서도, serializers에는 개발자들 사이에 평균적으로 표현되는 json 양식을 보여주다 보니, json 출력물 설계에 있어서도 덜 신경쓰게 해주기도 합니다. 서버 API 통신 : request/response 결과물 확인을 위한 방법 1. requ..
이 글은 Github 문서 기준으로 작성됩니다. https://github.com/omniti-labs/jsend JSend JSend는 Application level의 통신을 위한 단순하고 간단한 JSON 기반 형식의 사양입니다. 1. What? JSend는 웹 서버의 JSON 응답 형식을 지정하는 방법에 대한 몇 가지 규칙을 규정 한 사양입니다. JSend는 protocol-level 또는 transport-level과 달리 Application-level message에 중점을 두어 REST 스타일 Application 및 API에서 사용하기에 이상적입니다. 2. Why? JSON 데이터를 제공하는 많은 웹 서비스가 있으며, 각각 고유 한 형식의 응답 형식이 있습니다. 그런데, 개발자들은 과연 J..
이 글은 Rails 5.0 Guide 기준으로 작성됩니다. https://guides.rubyonrails.org/v5.0/debugging_rails_applications.html Debugging Rails Applications Intro 이 안내서는 Ruby on Rails 애플리케이션 디버깅 기술을 소개합니다. View helpers for Debugging One common task is to inspect the contents of a variable. Rails provides three different ways to do this: 일반적인 작업 중 하나는 변수의 내용을 검사하는 것입니다. Rails는 이를위한 세 가지 방법을 제공합니다. debug to_yaml inspect 1..
이 글은 Rails 5.0 Guide 기준으로 작성됩니다. https://guides.rubyonrails.org/v5.0/api_app.html Testing Rails Applications Intro Application 테스트를 위한 Rails의 내장 메커니즘을 다룹니다. 이를 통해 우리는 다음 3가지의 과정을 배워나갈 겁니다 : Rails 테스트 용어 응용 프로그램에 대한 단위, 기능 및 통합 테스트를 작성하는 방법 다른 인기있는 테스트 방식 및 플러그인 Why Write Tests for your Rails Applications? Rails를 통해 테스트를 매우 쉽게 작성할 수 있습니다. Model 및 Controller가 생성될 때 기본 테스트 코드를 생성하는 것으로 시작됩니다. Rails..
이 글은 Rails 5.0 Guide 기준으로 작성됩니다. https://guides.rubyonrails.org/v5.0/api_app.html Using Rails for API-only Applications Intro Ruby on Rails에는 API 역할만을 위한 Application이 생성되게 할 수 있습니다. 브라우저 기능을 배제한 채, middleware 설정 및 controller와 module 설정법에 대해 알아보겠습니다. What is an API Application? Rails를 "API"로 사용한다고 할 때, 웹 Application과 함께 프로그래밍 방식으로 액세스 가능한 API를 제공해야했습니다. 예를 들어 GitHub는 클라이언트에서 사용할 수 있는 API를 제공합니다. ..
이 글은 Rails 5.0 Guide 기준으로 작성됩니다. https://guides.rubyonrails.org/v5.0/routing.html Rails Routing from the Outside In Intro Rails 라우팅을 사용하면서 다루게 될 대면 기능을 서술합니다. The Purpose of the Rails Router Rails 라우터는 URL을 인식하고, 이를 컨트롤러의 동작으로 발송합니다. 또한 View에서 문자열을 하드 코딩 할 필요없이 path와 URL을 생성 할 수 있습니다. 1. Connecting URLs to Code 만약 외부로부터 아래와 같은 URL에 접속 시(혹은 request 할 경우) GET /patients/17 아래 요청과 매칭됩니다. get '/patie..
이 글은 Rails 5.0 Guide 기준으로 작성됩니다. https://guides.rubyonrails.org/v5.0/action_controller_overview.html Action Controller Overview intro 컨트롤러의 작동 방식과 컨트롤러가 애플리케이션의 요청주기에 어떻게 적용되는지 배웁니다. What Does a Controller Do? Action Controller는 MVC 패턴 중 C를 지칭합니다. 라우팅이 요청에 사용할 컨트롤러를 결정한 후, 컨트롤러는 요청을 이해한 후 적절한 출력을 생성합니다. 대부분의 Restful 어플리케이션에서는 컨틀로러가 요청을 받고, 데이터를 처리 후 HTML 페이지 렌더링을 통해 결과를 보여줍니다. 만약 컨트롤러의 작동 방식이 조금..