Ruby on Rails-소개
루비 란?
Rails를 타기 전에 Rails의 기반 인 Ruby의 몇 가지 요점을 요약 해 보겠습니다.
Ruby는 다음의 성공적인 조합입니다.
- 스몰 토크의 개념적 우아함,
- Python의 사용 및 학습 용이성 및
- Perl의 실용주의.
루비는-
- 고급 프로그래밍 언어.
- Perl, Python, Tcl / TK와 같이 해석됩니다.
- Smalltalk, Eiffel, Ada, Java와 같은 객체 지향.
왜 루비인가?
루비는 일본에서 시작되었으며 현재 미국과 유럽에서도 인기를 얻고 있습니다. 다음 요소가 인기에 기여합니다-
- 배우기 쉬움
- 오픈 소스 (매우 자유로운 라이선스)
- 풍부한 라이브러리
- 확장하기 매우 쉬움
- 진정한 객체 지향
- 적은 버그로 적은 코딩
- 유용한 커뮤니티
Ruby를 사용해야하는 이유는 많지만 Ruby를 구현하기 전에 고려해야 할 몇 가지 단점도 있습니다.
Performance Issues − Perl 및 Python과 경쟁하지만 여전히 해석 언어이며 C 또는 C ++와 같은 고급 프로그래밍 언어와 비교할 수 없습니다.
Threading model− Ruby는 네이티브 스레드를 사용하지 않습니다. Ruby 스레드는 네이티브 OS 스레드로 실행되지 않고 VM에서 시뮬레이션됩니다.
샘플 Ruby 코드
다음은 "Hello Ruby"를 인쇄하는 샘플 Ruby 코드입니다.
# The Hello Class
class Hello
def initialize( name )
@name = name.capitalize
end
def salute
puts "Hello #{@name}!"
end
end
# Create a new object
h = Hello.new("Ruby")
# Output "Hello Ruby!"
h.salute
Output − 다음과 같은 결과가 생성됩니다 −
Hello Ruby!
임베디드 루비
Ruby는 Seki Masatoshi가 작성한 ERB (Embedded Ruby)라는 프로그램을 제공합니다 . ERB를 사용하면 HTML 파일에 Ruby 코드를 넣을 수 있습니다. ERB는 한 마디 씩 읽고 문서에 포함 된 Ruby 코드를 발견하면 Ruby 코드를 실행하기 시작합니다.
ERB 문서를 준비하려면 두 가지만 알면됩니다.
Ruby 코드를 실행하려면 <% 과 %>.
코드 실행 결과를 출력의 일부로 인쇄하려면 코드를 <%= 과 %>.
여기에 예가 있습니다. erbdemo.rb 파일에 코드를 저장합니다. Ruby 파일의 확장자는.rb −
<% page_title = "Demonstration of ERB" %>
<% salutation = "Dear programmer," %>
<html>
<head>
<title><%= page_title %></title>
</head>
<body>
<p><%= salutation %></p>
<p>This is an example of how ERB fills out a template.</p>
</body>
</html>
이제 명령 줄 유틸리티를 사용하여 프로그램을 실행합니다. erb.
tp> erb erbdemo.rb
이것은 다음 결과를 생성합니다-
<html>
<head>
<title>Demonstration of ERb</title>
</head>
<body>
<p>Dear programmer,</p>
<p>This is an example of how ERb fills out a template.</p>
</body>
</html>
Rails는 무엇입니까?
매우 생산적인 웹 애플리케이션 프레임 워크입니다.
David Heinemeier Hansson이 Ruby로 작성했습니다.
Rails를 사용하면 일반적인 Java 프레임 워크보다 최소 10 배 빠르게 웹 애플리케이션을 개발할 수 있습니다.
데이터베이스 기반 웹 애플리케이션 개발을위한 오픈 소스 Ruby 프레임 워크입니다.
데이터베이스 스키마로 코드를 구성하십시오.
컴파일 단계가 필요하지 않습니다.
풀 스택 프레임 워크
Model-View-Controller 패턴을 사용하여 데이터베이스 기반 웹 애플리케이션을 만드는 데 필요한 모든 것을 포함합니다.
풀 스택 프레임 워크라는 것은 모든 계층이 적은 코드로 원활하게 작동하도록 구축되었음을 의미합니다.
다른 프레임 워크보다 적은 코드 라인이 필요합니다.
구성보다 관례
Rails는 규칙, 리플렉션 및 동적 런타임 확장을 위해 구성 파일을 사용하지 않습니다.
애플리케이션 코드와 실행중인 데이터베이스에는 Rails가 알아야하는 모든 것이 포함되어 있습니다!
Rails 강점
Rails는 생산성을 높이는 기능으로 가득 차 있으며 다음 기능 중 많은 부분이 서로를 기반으로 구축됩니다.
메타 프로그래밍
다른 프레임 워크가 처음부터 광범위한 코드 생성을 사용하는 반면, Rail 프레임 워크는 메타 프로그래밍 기술을 사용하여 프로그램을 작성합니다. Ruby는 메타 프로그래밍을위한 최고의 언어 중 하나이며 Rails는이 기능을 잘 사용합니다. Rails는 또한 코드 생성을 사용하지만 무거운 작업을 위해 메타 프로그래밍에 훨씬 더 많이 의존합니다.
액티브 레코드
Rails는 개체를 데이터베이스에 저장하는 Active Record 프레임 워크를 도입했습니다. Rails 버전의 Active Record는 데이터베이스 스키마에서 열을 발견하고 메타 프로그래밍을 사용하여 자동으로 도메인 개체에 연결합니다.
구성보다 관례
대부분의 .NET 또는 Java 용 웹 개발 프레임 워크에서는 구성 코드 페이지를 작성해야합니다. 제안 된 명명 규칙을 따르면 Rails는 많은 구성이 필요하지 않습니다.
발판
응용 프로그램을 빠르게 시작하고 주요 구성 요소가 어떻게 함께 작동하는지 확인하기 위해 개발 초기 단계에서 임시 코드를 만드는 경우가 많습니다. Rails는 필요한 많은 비계를 자동으로 생성합니다.
내장 테스트
Rails는 확장 할 수있는 간단한 자동화 테스트를 생성합니다. Rails는 테스트 케이스를 더 쉽게 작성하고 실행할 수 있도록하는 하네스 및 픽스처라는 지원 코드도 제공합니다. 그런 다음 Ruby는 rake 유틸리티를 사용하여 모든 자동화 된 테스트를 실행할 수 있습니다.
세 가지 환경
Rails는 개발, 테스트 및 프로덕션의 세 가지 기본 환경을 제공합니다. 각각은 약간 다르게 작동하므로 전체 소프트웨어 개발주기가 더 쉬워집니다. 예를 들어, Rails는 각 테스트 실행에 대해 테스트 데이터베이스의 새로운 사본을 생성합니다.