문제

저는 현재 Groovy 및 Grails와 함께 일하고 있습니다. Groovy는 기본적으로 Java이기 때문에 꽤 직접적이지만, 나는 성배를 움켜 쥐고 있다고 말할 수는 없습니다. 루비가 레일을 루비로 삼는 것처럼 그루비가 성배를하는 것이라는 것을 읽었지만 그 의미는 무엇입니까?

도움이 되었습니까?

해결책

은유와의 혼란을 해결하기 위해 (질문 아래서 다른 말로 대답되었지만) :

그루비는 루비가 레일을 루비로 삼기 때문에 성배를해야하지만 그 의미는 무엇입니까?

Grails는 Groovy 프로그래밍 언어를 구축 한 웹 프레임 워크로 Ruby (Ruby의 웹 프레임 워크)가 Ruby를 위해하는 Groovy와 동일한 일을하기 위해 작성했습니다.


"레일 온"이라는 것은 무엇을 의미합니까?

이에 대한 답은 이러한 웹 프레임 워크의 본질에 따릅니다.

이러한 웹 프레임 워크 (Grails & Rails)는 "구성에 대한 협약"전제에 기반을두고 있으며, 이는 일반적인 컨벤션을 사용하여 웹 응용 프로그램을 개발하면 생산성이 높아지고 유지 관리 가능한 응용 프로그램이 더 높아질 수 있음을 의미합니다 (이는 총 일반화입니다). 그리고 컨벤션을 정의하고이를 고수함으로써 응용 프로그램이 쉽게 생성 할 수 있고 빠르게 일어나고 실행할 수 있음을 알게 될 것입니다.

이것이 기차처럼 "레일 위"라는 의미입니다. 새로운 열차 경로가 개발되면 열차가 한 곳에서 다른 곳으로가는 방식을 재창조 할 걱정이 없으며, 수십 년 동안 단일 컨벤션에 의해 철도가 해결되었습니다. 기차 경로의 트랙이 두 위치에서 경로를 제한하는 것처럼 컨벤션 기반 웹 프레임 워크는 컨벤션을 사용하여 응용 프로그램 개발자의 유연성에 따라 응용 프로그램의 필수 비즈니스 문제에 집중할 수 있습니다.

웹 프레임 워크에 대한 컨벤션의 주요 장점 중 하나는 웹 프레임 워크가 이제 응용 프로그램의 특정 레이어가 어떻게 연결되는지에 대한 가정을 할 수 있다는 것입니다. 레일에서 일반적으로 데이터베이스 테이블에 복수 이름이 있으면 해당 테이블에 매핑 된 ActivereCord 클래스에 해당 단수 이름이 있다고 가정 할 수 있습니다. 결과적으로 Rails 코드 생성기는 데이터 맵핑 정보를 소비하여 동적 파인더, 마이그레이션, 게으른로드 연관 트래버스 등과 같은 데이터 액세스 코드를 생성 할 수 있습니다. 구성 기반 프레임 워크 의이 데이터 액세스 코드는 손으로 코드에 중점을두고 있습니다.

다른 팁

몇몇 사람들은 철도/성배를 만드는 기술에 대한 기술을 언급했습니다. 몇몇 사람들은 또한 "구성에 대한 협약"이 철도/성배의 "레일"이라고 언급했습니다. 이것은 진실에 더 가까워지고 있습니다. 그러나 이것은 더 넓은 철도의 특징 중 하나 일뿐입니다. 의견이 많은 소프트웨어.

의견이 많은 소프트웨어는 기술적 인 용어 만 설명 할 수 없습니다. 철학입니다. 정신; 태도. 좋아하거나 싫다, 저것 레일의 중심에있는 것입니다.

다음은 2005 년의 exceprt입니다 David Heinemeier Hansson과의 인터뷰, 레일 제작자 :

Rails는 의견이 많은 소프트웨어입니다. 그것은 소프트웨어의 오래된 이상을 주요 위치에 배치하는 것을 피합니다. 이러한 이상 중 하나는 유연성입니다. 가능한 한 많은 접근 방식을 수용하려고 노력해야한다는 개념은 다른 형태의 개발에 대한 판단을 다른 형태로 넘겨서는 안된다는 개념입니다. 글쎄, Rails는 그렇습니다. 저는 그것이 작동하는 이유라고 생각합니다.

Rails를 사용하면 인프라 수준에서 유연성을 거래하여 응용 프로그램 수준에서 유연성을 얻습니다. 내가 레일에 포함 된 황금 길을 따라 일하게되어 기쁘다면, 당신은 당신이 응용 프로그램 수준에서 더 빨리, 더 빨리, 더 잘 할 수있는 생산성 측면에서 엄청난 보상을 얻습니다.

나중에 인터뷰가 더 있습니다 주제를 탐구합니다.

따라서 'Rails on Rails'는 '의견'이라는 은유이므로 그 이름이 그대로 명명됩니다. 그와 "Ruby on Rails"가 Alliteratve라는 사실은 모든 언론인이나 작가가 당신에게 말할 수있는 Alliteratve입니다.

"Rails-kike"가되기 위해 노력하는 프레임 워크는 여러 가지를 말합니다.

  • 모델 레벨 : AR 패턴 ORM (데이터 퍼스가 아닌), 마이그레이션 또는 일부 자동 스키마 및 모델 레이어 관리, 응용 프로그램의 외래 키 처리 (데이터베이스 스키마가 아님, 저장된 절차 또는 순수한 DBMS 로직을 사용하지 않음)

  • TDD 장려 : 단위 테스트를위한 자동으로 골격,

  • 데이터베이스 테이블 이름 및 모델 이름, 컨트롤러 및 조회수 및 HTML 템플릿 연결 컨벤션 이름 지정

  • 간소화 된 경로 인식 및 경로 생성 체계

  • 휴식 아키텍처에 중점을 둡니다

  • Ajax Libs와의 통합 : RJS, 프로토 타입 및 스크립트

울타리 데이터베이스 백엔드를 사용하여 웹 응용 프로그램을 개발하기위한 프레임 워크입니다. 나는 그 이름이 원래 단어에 대한 연극이라고 생각합니다. 기차는 당신을 어딘가에 데려 갈 수 있습니다 진짜 빠르지 만 레일이가는 곳에 만.

레일에 있다는 것은 어디로 가고 있는지 제어 할 수 없다는 것을 의미합니다. 그것은 당신이 레일이 놓인 곳에 만 갈 수 있음을 의미합니다. 레일을 놓은 사람들이 당신이 가기를 기대하지 않은 곳으로 가려고 시도하면 좌절감이 생길 것입니다.

자동차 표현입니다. 자동차가 예외적으로 잘 처리되면 "레일을 운전하는 것과 같은 코너"라고합니다 (즉, 탁월한 제어 기능을 제공합니다).

레일 사람들이 그 이름을 얻은 곳인지는 모르겠지만 그것이 내가 해석 한 방법입니다.

정말 짧고 간단한 답변 : 구성에 대한 협약.

위에서 말했듯이 레일과 성배는 웹 애플리케이션 개발을위한 규칙을 제공합니다. 이는 조각을 특정 방식으로 명명하고 올바른 장소에 넣으면 추가 구성없이 응용 프로그램이 기본적으로 작동합니다. 컨벤션에서 벗어나려면 그 길을 구성 할 수 있습니다.

루비와 그루비는 언어입니다.

Ruby on Rails는 획기적인 WebApp 프레임 워크입니다. 위의 의견이있는 소프트웨어에 대한 훌륭한 답변을 참조하십시오.

역사의 문제로 Groovy WebApp 프레임 워크의 작업 제목은 레일에 그루비. 그러나 ROR 커뮤니티는 반대했다. 팀이 선택했습니다 성배 대신에.

그것은 은유이며, 거의 설명해야한다고 말합니다. 어쨌든, 그것은 Ruby on Rails가하는 일에 대한 매우 좋은 은유입니다. 일반적인 작업, 즉 테스트, 검증, 배포, MVC를 매우 쉽게 수행 할 수 있습니다.

나는 "Rails는 구성에 대한 협약에 관한 철학"등의 다른 의견에 동의하지 않습니다.

Rails는 이러한 철학을 준수하지만 "Ruby on Rails"는 웹 프레임 워크의 이름입니다. 더 이상 아무것도 없습니다. 그것은 그것에 대해 특정한 "온 레일"을 언급하는 것이 아니라 맥도날드가 브랜드 이름 인 것과 같은 방식으로 브랜드 이름 일뿐입니다.

다른 사람이 다른 프레임 워크를 작성하고 "레일의 Python"이라고 부르면 다른 브랜드 이름이 있습니다. 그렇지 않다면 "XYZ on Rails"는 사람들이 혼란스러워하고 있음을 의미합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top