Ruby on Rails의 개요 및 특징
Rails는 Ruby 기반의 오픈 소스 웹 애플리케이션 프레임워크로, MVC(Model-View-Controller) 아키텍처를 완벽하게 구현합니다. 컨트롤러와 뷰를 위한 Action Pack, 모델을 위한 Active Record를 제공합니다. 다른 프레임워크와 달리 XML 설정 없이 리플렉션과 런타임 확장을 활용하여 ‘Don’t Repeat Yourself(DRY)’ 원칙을 준수하며, 개발자가 더 적은 코드로 실제 애플리케이션을 빠르게 구축할 수 있게 합니다. Basecamp가 단 두 달 만에 개발된 사례는 Rails의 높은 생산성을 입증합니다. 모든 계층을 Ruby라는 단일 언어로 개발할 수 있는 풀 스택 프레임워크로서 효율성을 극대화합니다.
Active Record
Active Record는 비즈니스 객체와 데이터베이스 테이블을 연결하는 ORM(Object-Relational Mapping) 패턴의 구현체입니다. 데이터베이스 접근을 캡슐화하고 도메인 로직을 추가하며, 기존 Active Record 패턴의 문제점이었던 연관 관계와 상속 문제를 매크로와 단일 테이블 상속 패턴을 통해 효과적으로 해결합니다.
Action Pack
Action Pack은 웹 요청을 컨트롤러(로직)와 뷰(템플릿)로 분리하는 역할을 합니다. 이 액션들은 모델에 대한 CRUD(Create, Read, Update, Delete) 작업을 수행하며, Action Controllers와 Action Views를 통해 구현됩니다. Action View 템플릿은 HTML 내에 임베디드 Ruby 태그를 사용하여 작성되며, 헬퍼 클래스를 통해 템플릿의 가독성과 재사용성을 높입니다.