본문 바로가기

IT Tech

Ruby On rails 이란? / Wanna Be 컴잘알

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의 장점

  1. 배우기 쉽다.
    코드가 간단하고, 배우기 쉽기 때문에 누구나 금방 배울 수 있습니다.

  2. MVC 모델이 거의 완벽히 구현되어 있다.
    추가적인 작업 없이 폴더 내에 파일명만 맞추면거의 완벽하게 MVC 모델이 구현됩니다. 이것은 레일즈 자체가 완전히 MVC 모델에 맞추어 만든 프레임워크이기 때문입니다.

  3. 확장성과 이식성이 높다.
    확장성이란 시스템(HW/SW)의 용량을 변경해도 그 기능이 계속 잘 동작할 수 있는 능력을 의미하며, 이식성이란 하나 이상의 운영체계에서 사용될 수 있는 여부를 의미합니다. 그래서 루비를 지원하는 OS라면 추가 작업 없이 프로그램이 실행될 수 있습니다. 이는 유지보수에 쓰이는 비용과 시간을 절약해주며, 파이썬이나 JavaScript 등 다른 언어로 개발된 라이브러리를 Ruby 위에 쉽게 구현 가능함을 의미하기도 합니다. 

 

Ruby의 단점

  1. 속도가 느리다.
    서버에서 고객들에게 전체 메일을 보낸다고 하면(C, Python, Ruby 기준), C로 보낸 메일이 가장 빨리 도착하고, 그 다음이 Python, 그리고 가장 느린 것이 Ruby 입니다.

  2. 어중간하다.
    대규모 서비스에서 이용하기에 실행 속도 측면이 걸리기 때문에 이용이 어려우며, 협업이 필요한 대형 프로젝트에서는 Ruby가 쓰이기에 부적합하다고 합니다.

  3. 국내 사용률이 저조하다.
    우리나라에서는 Ruby를 많이 이용하고 있지 않아서 다른 언어에 비해 관련 서적이나 자료를 찾기 어렵습니다.

 

728x90