[ruby-on-rails] 레이크는 정확히 무엇입니까?

간단히 말해서 Rake는 무엇을합니까? 목적은 무엇입니까? 나는 그것이 빌드 도구라는 것을 이해하지만 조금 더 자세히 찾고 있습니다. (멍청이를 위해.)



답변

자세한 내용은 Rake에 대한 Martin Fowler의 기사를 참조하십시오.

http://martinfowler.com/articles/rake.html

그의 서문은 다음과 같습니다.

Rake는 make와 ant의 목적이 비슷한 빌드 언어입니다. make 및 ant와 마찬가지로 도메인 특정 언어이고, 두 가지와 달리 Ruby 언어로 프로그래밍 된 내부 DSL입니다. 이 기사에서는 rake를 소개하고이 웹 사이트를 구축하기 위해 rake를 사용하면서 나온 몇 가지 흥미로운 것들을 설명합니다 : 종속성 모델, 합성 된 작업, 사용자 지정 빌드 루틴 및 빌드 스크립트 디버깅.

프로젝트 홈 페이지에서 사용 가능하거나 링크 된 추가 정보도 있습니다.

http://rake.rubyforge.org/


답변

이 답변은 DSL이 무엇인지 알고 있거나 Make 또는 Ant에 익숙하다고 가정합니다. 그렇지 않은 경우 다음은 (아마도 지나치게 단순화 된 대답 일 것입니다) :

RakeRuby 프로젝트에서 사용할 수있는 도구 입니다. 루비 코드를 사용하여 명령 줄에서 실행할 수있는 “작업”을 정의 할 수 있습니다.

Rake는 루비 보석으로 루비 프로젝트에 다운로드하여 포함 할 수 있습니다 .

일단 설치되면 프로젝트에 추가하는 ” Rakefile ” 이라는 파일에 작업을 정의합니다 .

Rake에는 파일 작업 ( 파일 생성, 삭제, 이름 변경 및 이동), FTP 를 통한 사이트 게시 와 같이 빌드 / 배포 프로세스 중에 일반적인 작업을 쉽게 수행 할 수있는 일부 라이브러리가 포함되어 있기 때문에이를 “빌드 도구”라고합니다. / SSH테스트 실행 .

자세한 내용은 다음 프로젝트 문서를 참조하십시오. http://rake.rubyforge.org/


답변

레이크는 의 구현입니다 의존성 기반의 선언적 프로그래밍 에서 루비 프로그래밍 언어 . 기본적으로 Rake는 Ruby에게 Make 가 C에 대한 것입니다. 주목할만한 차이점은 Make가 외부 DSL 이고 Rake가 내부 DSL이라는 점입니다.


답변

Rake를 사용하면 멋진 네임 스페이스 API를 통해 Ruby 코드를 실행할 수 있습니다. 예를 들면 rake db : migrate입니다. 다른 작업 전후에 자동으로 작업을 실행할 수 있습니다. 그게 다입니다.


답변