49 Days of Ruby: Day 41 -- 웹 프레임워크: Hanami

2646 단어 ruby
루비의 49일 중 41일째에 오신 것을 환영합니다! 🎉

어제, 우리는 인기 있는 Ruby 웹 프레임워크 중 일부를 간단히 살펴보는 며칠 간의 여정을 시작했습니다. 우리는 Sinatra를 조사하는 것으로 시작했고, 오늘 우리는 Hanami를 탐험할 것입니다.

Hanami은 모든 기능을 갖춘 웹 응용 프로그램입니다. Models, Views 및 Controllers를 나타내는 MVC 접근 방식을 기반으로 합니다. 내일 Ruby on Rails를 볼 때 MVC의 또 다른 예를 보게 될 것입니다.

MVC 란 무엇입니까?



MVC 접근 방식은 웹 애플리케이션의 작업을 고유한 범주로 구성하는 방법입니다. 응용 프로그램을 정신적으로 구성할 수 있는 기회를 제공합니다. 이는 복잡성이 증가함에 따라 도움이 될 수 있으며 또한 증가하는 파일의 양을 문자 그대로 구성할 수 있는 기회를 제공합니다.

분해해 봅시다.

모델은 애플리케이션에 있는 데이터 개체의 표현입니다. 논리와 해당 데이터를 관리하는 규칙을 제어합니다. 예를 들어 데이터베이스에 사용자 테이블이 있는 경우 해당 데이터 개체를 관리하기 위해 User 모델이 필요합니다.

보기는 애플리케이션의 프레젠테이션 계층입니다. 그것은 방문자가 상호 작용하는 것입니다.

컨트롤러는 입력(예: 사용자 입력)과 모델 및 보기 간의 흐름을 관리합니다.

MVC는 웹 개발 디자인의 믿을 수 없을 정도로 널리 퍼진 형태입니다. 프로그래밍 언어 커뮤니티에서 반복되는 패턴을 찾을 수 있습니다.

하나미는 MVC를 어떻게 합니까?

하나미의 MVC



Hanami는 코드의 각 부분이 가능한 한 그 역할만 수행하도록 노력합니다. 각 클래스와 확장하여 각 파일은 단일 책임을 고수해야 합니다.

다음 예는 Hanami Getting Started Guide 에서 직접 가져온 것입니다.

Hanami의 모델은 Ruby gem 코드의 주요 부분이 lib 안에 있는 것처럼 앱의 lib 폴더 안에 있습니다. 다음은 Bookshelf라는 모델의 예입니다.

lib
├── bookshelf
│   ├── entities
│   ├── mailers
│   │   └── templates
│   └── repositories
└── bookshelf.rb

entities 폴더는 모델 코드가 들어갈 곳이고 repositories 폴더는 실제 데이터베이스 테이블과 상호작용하는 로직이 들어갈 곳입니다.

Hanami의 보기는 apps 폴더 안에 있습니다. 기본 하위 폴더는 web 이지만 다른 하위 폴더 아래에 고유한 웹 보기 구조를 원하는 만큼 가질 수 있습니다.

다음은 apps/web 폴더에 대한 파일 구조의 예입니다.

apps/web
├── application.rb
├── assets
│   ├── favicon.ico
│   ├── images
│   ├── javascripts
│   └── stylesheets
├── config
│   └── routes.rb
├── controllers
├── templates
│   └── application.html.erb
└── views
    └── application_layout.rb


위와 같이 앱의 모든 설정이 들어가는 파일application.rb이 있습니다. 컨트롤러는 controllers 폴더로 이동하고 보기는 views 폴더로 이동합니다. 사용자가 앱에 액세스할 수 있는 다양한 웹 경로와 해당하는 컨트롤러 작업을 설명하는 config/routes.rb도 있습니다.

내일 우리는 Ruby on Rails에서 MVC가 어떻게 보이는지 볼 것이며 구조가 얼마나 다른지 알게 될 것입니다.

오늘 남은 시간 동안 Get Started Guide !

49 Days of Ruby의 다음 편으로 내일 다시 오세요! 해시태그와 함께 Twitter에서 대화에 참여할 수 있습니다.

좋은 웹페이지 즐겨찾기