728x90
Ruby on Rails는 Ruby로 작성된 MVC 패턴을 이용하는 오픈 소스 웹 프레임워크이고 줄여서 레일즈라 불리기도 합니다. 덴마크의 데이비드 하이네마이어 한슨 에 의해 시작되어 오픈 소스로 개발되고 있습니다.
그렇다면 Ruby는 무엇일까?
Ruby는 순수 객체 지향 언어입니다. 즉, Ruby에서의 정수나 문자열 등을 포함한 데이터 형식 등 모든 것이 객체입니다.
Ruby의 모듈화 예제 코드를 보면서 어떤 느낌인지 보는게 더 좋을 것 같습니다.
def welcome()
return 'Hello world'
end
print welcome()
위의 코드는 실행에 문제는 없지만 welcome() 이란 함수를 다른 곳에서 자주 사용한다면 재사용성과 비용적인 측면에서 비효율적인 모습을 보이게 될 것 입니다.
Test.rb
#Test.rb
module Test
def Test.welcome()
return 'Ruby Test'
end
end
이를 이렇게 모듈화를 시키고
main.rb의 내용을 다음과 같이 변경합니다.
main.rb
require './Test'
puts Test.welcome()
require는 모듈을 로드할 때 사용하는 명령으로 main.rb에 Test.rb에 있는 Test.welcome() 모듈을 호출합니다.
Ruby의 장점
- 배우기 쉽다.
코드가 간단하고, 배우기 쉽기 때문에 누구나 금방 배울 수 있습니다. - MVC 모델이 거의 완벽히 구현되어 있다.
추가적인 작업 없이 폴더 내에 파일명만 맞추면거의 완벽하게 MVC 모델이 구현됩니다. 이것은 레일즈 자체가 완전히 MVC 모델에 맞추어 만든 프레임워크이기 때문입니다. - 확장성과 이식성이 높다.
확장성이란 시스템(HW/SW)의 용량을 변경해도 그 기능이 계속 잘 동작할 수 있는 능력을 의미하며, 이식성이란 하나 이상의 운영체계에서 사용될 수 있는 여부를 의미합니다. 그래서 루비를 지원하는 OS라면 추가 작업 없이 프로그램이 실행될 수 있습니다. 이는 유지보수에 쓰이는 비용과 시간을 절약해주며, 파이썬이나 JavaScript 등 다른 언어로 개발된 라이브러리를 Ruby 위에 쉽게 구현 가능함을 의미하기도 합니다.
Ruby의 단점
- 속도가 느리다.
서버에서 고객들에게 전체 메일을 보낸다고 하면(C, Python, Ruby 기준), C로 보낸 메일이 가장 빨리 도착하고, 그 다음이 Python, 그리고 가장 느린 것이 Ruby 입니다. - 어중간하다.
대규모 서비스에서 이용하기에 실행 속도 측면이 걸리기 때문에 이용이 어려우며, 협업이 필요한 대형 프로젝트에서는 Ruby가 쓰이기에 부적합하다고 합니다. - 국내 사용률이 저조하다.
우리나라에서는 Ruby를 많이 이용하고 있지 않아서 다른 언어에 비해 관련 서적이나 자료를 찾기 어렵습니다.
728x90
'IT Tech' 카테고리의 다른 글
Elastic Search 개념 / Wanna Be 컴잘알 (0) | 2021.03.15 |
---|---|
AWS EC2 Amazon Linux AMI에 Git, node.js 설치 / WannaBe컴잘알 (0) | 2021.03.15 |
디자인 패턴(Design Pattern)정리 / Wanna Be 컴잘알 (0) | 2021.03.14 |
RestAPI 란? / WannaBe 컴잘알 (0) | 2021.03.14 |
Elastic Search 개념 /Wanna Be 컴잘알 (0) | 2020.06.10 |