Django
, NodeJS
의 Express
를 사용해보았지만 Ruby on Rails
라는 웹 프레임워크는 생소했습니다. 하지만 유명 스타트업들에서 많이 사용된다고 들었습니다. 트위치
, 깃헙
킥스타터
등 해외에서 유명한 기업들과 국내에서 유명한 당근마켓
카카오T
왓챠
에서 사용된다고 합니다.
이번 포스트에서는 Ruby on Rails
가 왜 쓰이는지와 설치 방법을 알아보겠습니다.
한국의 많은 기업에서는 Spring
Django
Express
가 대표적으로 사용되는 웹 프레임워크들입니다. Ruby on Rails
가 어떤 차별성이 있길래 각 분야의 대표 기업들은 Ruby on Rails
를 사용할까요?
Ruby on Rails
는 개발 생산성이 다른 웹 프레임워크보다 높다고 합니다. 즉, 같은 기능을 구현할 때도 월등히 빠른 속도로 개발하기 때문에 큰 리스크 없이 기술적 시도를 해볼 수 있다고 합니다. 이러한 특성이 비즈너스의 성공 확률을 높여줍니다.
Ruby on Rails
는 라이브러리 생태계가 잘되어 있어 필요한 기능을 추가하기 위해서는 메뉴얼을 읽은 후에 몇 줄만 추가하면 된다고 합니다. 다른 프레임워크에서는 기능 추가를 위해 여러 파일을 수정하고 많은 코드를 추가해야 하므로 유지보수 해야하는 범위가 늘어나지만 Ruby on Rails
는 그렇지 않습니다.
개발이 빠르면 인건비가 줄어 동일한 인건비로 더 많은 기능을 개발할 수 있어 비즈니스적으로 이점이 많습니다.
저는 RVM
을 사용해서 Ruby를 설치했습니다. RVM
은 Ruby Version Manager
의 약자로 여러 버전의 루비를 쉽게 관리할 수 있게 해줍니다. RVM
은 macos
에서는 터미널에 간단한 명령어 하나로 설치가 가능합니다.
\curl -sSL https://get.rvm.io | bash
Ruby
는 지금까지 3.01
까지 나왔지만 저는 2.7.2
버전을 사용했습니다. RVM
이 설치가 완료되었으면 Ruby
를 설치해주면 됩니다.
rvm install 2.7.2
rvm list
를 통해 설치가 되었는지 확인 가능합니다.
그후에 Ruby
의 CLI 툴인 ri
(ruby index) document를 설치해줘야 합니다.
rvm generate-ri
rvm generate
만 실행하면 ri
와 rdoc
모두 설치하게 됩니다. 모두 설치하면 속도가 느려진다는 단점이 있다는 것 같습니다.
이제는 설치한 Ruby
를 적용해야 합니다. 하지만 Ruby
에는 gem
이라는 개념이 존재합니다. 파이썬에서는 패키지 관리를 하기 위해서 가상환경을 만들어 가상환경마다 다른 패키지를 사용했습니다.
Ruby
에서는 비슷하게 gem
이라는 패키지들을 관리하기 위해 gemset
이 존재합니다. 아래와 같이 gemset
을 만들어 관리해줍시다.
rvm use ruby 2.7.2@rails-api --create
처음 생성할 때는--create
를 사용해줍니다. 이후에는--create
생략.
rvm gemset list
위의 명령어를 통해rvm list
처럼gemset
이 제대로 생성되었는지 확인 가능합니다.
마지막으로 rails
를 설치해야합니다. 지금까지의 과정을 문제 없이 따라왔다면 rails
는 문제없이 설치될 것입니다.
gem install rails
다음 포스트에서는 postgreSQL
과 연결하는 방법과 TDD
방법론을 위해 필요한 gem
들을 다루어보겠습니다.