JR Uby on Rails vs.루비 온 레일즈, 뭐가 달라요?
저는 레일즈에서 JR유비와 JR유비를 시험해 보려고 합니다.JRuby on Rails와 Ruby on Rails의 차이점에 대한 정보를 찾는 데 어려움을 겪고 있습니다.
제가 주의해야 할 차이점은 무엇입니까?
JRuby는 JVM에서 실행되는 Ruby 구현인 반면 Matz의 Ruby는 C 구현입니다.
주목해야 할 주요 기능은 다음과 같습니다.
- JRuby는 Java VM에서 실행되며 컴파일되거나 Java 바이트 코드로 해석됩니다.
- JRuby는 Java 코드와 통합할 수 있습니다.Java 클래스 라이브러리(.jar)가 있으면 Ruby 코드 내에서 JRuby와 함께 참조하여 사용할 수 있습니다.다른 방향에서는 Java 내에서 코드로 JRu를 호출할 수도 있습니다.JRuby는 JVM 및 애플리케이션 서버 기능도 사용할 수 있습니다.
- JRuby는 일반적으로 Sun의 GlassFish 또는 Tomcat 웹 서버와 같은 Java 애플리케이션 서버 내에서 호스팅됩니다.
- 기본 루비 보석을 JRuby와 함께 사용할 수는 없지만 대부분의 인기 있는 루비 라이브러리에 대한 JRuby 구현이 있습니다.
JRu by Wiki에 나열된 다른 차이점은 다음과 같습니다.
GIL과 관련된 이 질문에 대한 모든 대답에 중요한 것이 빠져 있다는 것이 놀랍습니다.
당신이 신경써야 할 중요한 차이점은 특히 그렇습니다.Rails로 구축된 웹 애플리케이션과 같은 웹 애플리케이션에서는 진정한 동시성("Global Interpreter Lock" 무료)이 제공됩니다.두 개의 스레드가 JRuby와 함께 실행될 때(예: 두 개의 사용자 요청 제공) 단일 프로세스 내에서 동시에 실행될 수 있는 반면, MRI에는 Ruby 코드를 병렬로 실행하지 않는 GIL이 있습니다.
애플리케이션 개발자에게 있어서 이것은 JRuby를 고려할 때 가장 먼저 염두에 두어야 할 것입니다. 왜냐하면 그것은 정말로 빛나기 때문입니다.config.threadsafe!
그러나 코드(및 보석 코드)가 스레드 안전한지 확인해야 합니다.
제가 틀릴 수도 있지만, 저는 당신이 일반적인 RoR로는 할 수 없는 방식으로 JRuby on Rails 앱을 패키지화할 수 있다고 생각합니다 - Mingle 또는 유사한 것을 보세요.바지를 떨어뜨리거나 코모노를 열지 않고도 판매가 가능합니다.
그렇긴 하지만, 저는 RoR 포장에 익숙하지 않으니, 저를 붙잡지 마세요 :)
대부분 동일하게 작동해야 합니다.jRoR에서는 RoR에는 없는 것에 액세스할 수 있습니다.일반적으로 이 문제는 주로 전개 문제는 다음과 같습니다.
그러나 RoR 앱이 JVM에서 실행되는 것과 동등한 것이 없는 기본 라이브러리를 사용하는 경우에는 문제가 될 수 있습니다.하지만 대부분의 립스는 네이티브 버전이 아닙니다(적어도 제가 접한 인기 있는 립스).
여기에 이미 몇 가지 훌륭한 답이 있습니다.
이브슨은 이미 기본을 다루었고, 카레스(자신!)는 JRuby에게 GIL이 없다고 말했습니다.
좀 더 실용적인 관점에서 덧붙이자면, 저는 Ruby on Rails에서 앱을 실행한 다음 성능상의 이유로 JRuby로 마이그레이션했습니다.
두 가지 주요 성능 이점이 있었습니다. JRuby는 단순히 Ruby보다 빠르거나 빨랐으며, 두 번째는 Global Interpreter Lockkares가 언급한 부족함으로 인해 멀티스레딩을 수행할 수 있었지만 까다로운 성능 이점의 순서는 해제되었습니다.
매우 큰 루비 온 레일즈가 앱을 설치하여 1시간 만에 실행했습니다. 보석 등입니다.유일한 실제 결함은 Java의 정규식이 Ruby의 정규식과 약간 다르다는 것입니다.그것은 JRuby 측에서 기념비적인 성과입니다.
언급URL : https://stackoverflow.com/questions/151595/jruby-on-rails-vs-ruby-on-rails-whats-difference
'programing' 카테고리의 다른 글
아이패드와 아이폰의 애플터치 아이콘.png은 어떤 크기여야 합니까? (0) | 2023.05.31 |
---|---|
신속한 선택적 이스케이프 클로저 매개변수 (0) | 2023.05.31 |
입력 텍스트 요소에서 테두리 강조 표시를 제거하는 방법 (0) | 2023.05.31 |
Windows 배치: 줄 바꿈 없이 에코 (0) | 2023.05.31 |
Git 사용 시 "Error: bad index – Fatal: index file corrupt" 해결 방법 (0) | 2023.05.31 |