이 글은 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를 제공합니다. ..
매번 개발을 주제로 한 블로그 이야기만 써오다, 이번에 아주 오랜만에 개인적인 이야기를 써나가볼까 합니다. 얼마 전 저는 드디어 취업을 성공하게 되었습니다! 🎉 심지어 제가 바라던 Ruby on Rails 기술 스택을 쓰는 회사에 입사하게 되었고, 이 회사에서 첫 실무경험으로서 입지를 다져나가 보게 될겁니다. 그런데 회사생활을 하면서 동료분들이 '취미생활'에 대한 질문이 은근 나오곤 했는데.. 생각해보니 저는 취미에 대해서는 바로 이 전 까지는 '개발' 이라고 여겼고, 본능적으로 개발 이라고 답 해왔습니다. (실제로 저는 진짜 코딩에 미쳐가며, 주말을 버리거나 밤을 새가면서까지 개발을 해왔고, 이를 취미로 여겨왔습니다..) 그런데 개발.. 과연 취미생활료 여겨도 되는가 싶기도 하더라고요.. 일단 첫 번째..
이 글은 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 페이지 렌더링을 통해 결과를 보여줍니다. 만약 컨트롤러의 작동 방식이 조금..
이 글은 Rails 5.0 Guide 기준으로 작성됩니다. https://guides.rubyonrails.org/v5.0/active_record_querying.html Active Record Query Interface Intro 기존의 SQL을 사용하여 데이터베이스 레코드를 찾는 데 익숙하다면 일반적으로 Rails에서 동일한 작업을 수행하는 더 좋은 방법이 있다는 것을 알게 될 것입니다. Active Record는 대부분의 경우 SQL을 사용하지 않아도됩니다. 이 글의 전체 코드 예제는 다음 모델 중 하나 이상을 참조합니다. 참고 다음의 모든 모델의 기본키는 따로 지정하지 않는 한 id를 기본키로 사용합니다. class Client < ApplicationRecord has_one :addres..
이 글은 Rails 5.0 Guide 기준으로 작성됩니다. https://guides.rubyonrails.org/v5.0/association_basics.html Active Record Associations Intro 게시글-댓글 관계에 있어 사람은 당연히 이 둘이 연관관계가 있다는 것을 '상식'으로 알고있습니다. 하지만 컴퓨터는 그런 상식 조차도 생각하지 않다 보니 따로 명시를 해둬야 할 필요가 있습니다. 이번 시간에는 두개 이상의 Model(테이블) 간 관계 정의법에 대해 살펴보겠습니다. Why Associations? Rails에서 연결은 두 개의 Active Record Model간의 연결입니다. '그런데 왜 모델 사이에 연관이 필요할까요?' 이는 코드에서 작업을 더 간단하고 쉽게 할 수 ..
이 글은 Rails 5.0 Guide 기준으로 작성됩니다. https://guides.rubyonrails.org/v5.0/active_record_callbacks.html Active Record Callbacks Active Record 객체 내부 동작에 있어 콜백이 무엇이고, 콜백이 어떻게 돌아가는지 알아보겠습니다. The Object Life Cycle Rails Application이 정상적으로 작동된다면 객체의 생성, 업데이트, 삭제가 됩니다. Active Record는 객체 내부에 life cycle라는게 돌아가는데, life cycle이 중간에 트리거로서(생성/수정/삭제/Load) 어느 이벤트가 발생 전(before) 혹은 후(after)에 콜백을 제어할 수 있습니다. Callbacks ..
이 글은 Rails 5.0 Guide 기준으로 작성됩니다. https://guides.rubyonrails.org/v5.0/active_record_validations.html Active Record Validations Intro 데이터베이스에 데이터가 저장되기 전, Active Record를 통해 유효성 검사를 하는 과정을 알아보겠습니다. Validations Overview class Bulletin true Bulletin.create(title: '').valid? # => false Bulletin.create(t..