답변:
Ruby의 큰 장점 중 하나는 DSL을 매우 쉽게 만들 수 있다는 것입니다. Ruby를 사용하면 일반적으로 비즈니스 분석가가 사용하기에 충분히 쉬운 자연어 방식으로 "비즈니스 규칙"을 만들 수 있습니다. 웹 개발 이외의 많은 Ruby 앱이 이러한 목적으로 존재합니다.
나는 훌륭한 읽기를 위해 인터넷 검색 "ruby dsl"을 강력히 추천하지만, 특히 하나의 포스트를 남기고 싶습니다. Russ Olsen은 DSL 에 대해 두 부분으로 된 블로그 게시물 을 작성했습니다 . 나는 그가 DSL에 대한 프레젠테이션을하는 것을 보았고 그것은 매우 좋았다. 이 게시물을 읽는 것이 좋습니다.
또한 Obie Fernandez의 Ruby DSL에 대한 이 훌륭한 프레젠테이션을 발견했습니다 . 적극 추천하는 독서!
나는 내 작업에서 Ruby를 광범위하게 사용하고 있으며 Rails (또는 웹) 기반이 아닙니다.
내 도메인은 일반적으로 클라이언트 측 Windows 응용 프로그램 (wxRuby GUI) 및 스크립트이며 Excel, Internet Explorer, SQL Server 쿼리 및 보고서 생성 (win32ole COM 자동화)을 자동화합니다. 또한 다양한 데이터 정리 및 그래프 생성 작업을 위해 sqlite, pdf-writer 및 gruff 라이브러리를 사용합니다.
Rails의 성공은 Ruby에게 큰 도움이되었지만, Rails가 웹을 넘어선 Ruby의 가치가 종종 간과 될 정도로 많은 관심을 받았다는 데 동의합니다.
우리는 주로 C ++ 상점이지만 Ruby가 매우 유용한 것으로 입증 된 여러 영역을 발견했습니다. 다음은 몇 가지입니다.
Ruby는 기본적으로 그것이 의미있는 곳을위한 도구입니다. 그리고 그것은 많은 곳에서 의미가 있습니다.
또는 Ruby를 사용하여 Giles Bowkett의 Archaeopteryx 음악을 만들 수 있습니다. 시조새에 대한 Giles 의이 프레젠테이션 은 최고의 프레젠테이션 중 하나입니다. 나는 그것을 적극 추천합니다.
작년에 루비를 많이 사용하는 박물관 프로젝트에 참여했습니다. ( http : // http : //ourspace.tepapa.com/home )
제가 대부분의 시간을 보냈던 부분은 인터랙티브 플로어 맵이었습니다. 바닥에있는지도에는 센서가있어 사람들이 걸을 때 조명이 켜지고 벽에있는 디스플레이에 이미지 나 비디오 및 오디오 트랙이 표시됩니다.
전시회의이 부분에 대한 모든 제어 코드는 루비입니다. 바닥 센서 및 조명 컨트롤러와 통신하기 위해 루비 래퍼로 C 인터페이스를 작성했습니다. 시스템은 표시 할 미디어 파일을 MYSQL 데이터베이스에 쿼리 한 다음 벽에있는 컴퓨터에 UDP를 통해 미디어를 재생하도록 지시합니다.
전체 전시회에서 가장 신뢰할 수있는 부분입니다.
Ruby는 전시회의 다른 주요 부분 인 Wall에 사용되었지만 그와 관련이별로 없었습니다. 대부분의 그래픽은 순수 Obj-C로 이식되기 전에 OpenGL, 약간의 Cocoa 및 물리 라이브러리에 대한 인터페이스를 사용하여 루비로 프로토 타입되었습니다.
꼭두각시 또는 요리사에 대한 언급을 보지 못했습니다. 도착하기 전 30 개의 답변에서 에 . Ruby는 클라우드 자동화의 현재 작업을 지배하는 것으로 보이며이 두 대기업의 기본, 확장 및 템플릿 언어입니다. 주로 서버 어레이 및 일반 IT 워크 스테이션 관리를위한 시스템 및 응용 프로그램 구성 정보를 배포하는 데 사용됩니다.
개발 운영의 필드는 매우 루비 알고있다. 오늘날 Perl에는 경쟁자가 있습니다. 정말 간단한 스크립트는 종종 sh(1),
복잡한 작업을 위해 직접 작성 될 수 있지만 이제는 Perl이 아닌 Ruby로 수행 될 수 있습니다.
Ruby로 작업 한 유일한 사이트는 Rails를 사용하는 것 입니다. 하지만 Merb 를 사용해보고 싶습니다 .
그 외에는 Ruby에서 많은 작은 유틸리티 프로그램을 수행합니다. 예를 들어 RSS 피드를 읽고 새 게시물을 dabase로 가져 오는 앱입니다.
재미있어서 너무 빠르기 때문에 멍청한 글도 써요. 어제 플레이 할 앱을 썼어요 몬티 홀 문제를 10 만 번 친구가 전환이 올바른 전략이라고 교수를 설득하도록 돕습니다.
나는 루비가 가로장이라는 것을 거의 모욕한다. CGI가 최신 트렌드 였고 모두가 Perl을 안다면 CGI 앱을 프로그래밍했기 때문에 그렇게해야한다고 생각했던 것과 같습니다. Ruby는 저에게 스크립팅 언어 일뿐입니다. 비록 파이썬만큼 성숙하지는 않았기 때문에 몇 가지 후프와 최근 변경 사항을 건너 뛰어야하는 것을 다소 후회하지만 여전히 좋아하고 사용합니다. 내가 자바 상점에서 일하기 때문에 그루비는 스크립팅 언어에 이상적인 선택이지만, 여전히 집에서 루비를 사용하고 직장에서 공유 할 필요가없는 스크립트를 버리는 데 사용합니다.
나는 모든 버즈와 그것이 얼마나 빠르고 / 간단한 지에서 RoR에 들어가는 것을 고려하고 있었지만 레일을 살펴본 후에는 다른 어떤 것에 비해 그 개발에 대해 놀랍거나 혁신적이거나 빠른 속도를 전혀 보지 못했습니다. 뼈대. 내가 본 유일한 이점은 루비로 코딩 할 수 있다는 것이 었는데, 이는 좋겠지 만 초기 설정, 서버 유지 관리 및 확장이 더 어렵 기 때문에 루비 코딩의 즐거움을 다시 상쇄했습니다.
저는 랙 기반 웹 애플리케이션을 논의하기 위해 우연히 Off The Rails라는 프레젠테이션을 만들었습니다.
https://github.com/alexch/Off-The-Rails
git repo에는 Markdown 형식의 슬라이드와 샘플 코드 (실행중인 애플리케이션 및 미들웨어 형태)가 포함되어 있습니다. 초록은 다음과 같습니다.
Ruby on Rails는 가장 널리 사용되는 Ruby 용 웹 애플리케이션 프레임 워크입니다. 그러나 그것은 유일한 것이 아닙니다! Rails가 너무 크거나 너무 독단적이라고 생각한다면 Rack에 구축 된 차세대 마이크로 프레임 워크에 대해 기뻐할 것입니다. 그리고 Rails 3는 자체적으로 Rack 앱이기 때문에 Sinatra 경로 또는 Grape API의 이점을 얻기 위해 Rails를 포기할 필요가 없습니다.
다음은 몇 가지 참고 자료입니다.
도움이 되었기를 바랍니다.
저는 주로 웹 개발자이고 Ruby를 사용하여 Rails를 사용하는 방법을 배웠지 만 언어가 너무 좋아서 JRuby와 Monkeybars를 사용하여 Ruby로 데스크톱 Swing 애플리케이션을 개발하기 시작했습니다. 저는 Java에 능숙하지만 사용하는 것을별로 좋아하지 않으며 Swing API가 끔찍하기 때문에 Ruby를 맨 위에 놓는 것이 큰 승리였습니다.
테스트 자동화 소프트웨어를 구현하기 위해 Ruby를 사용합니다. 여기에는 Selenium RC, WATIR 및 AutoIT에 대한 테스트 프레임 워크 및 드라이버 코드가 포함됩니다.
Ruby는 Selenium 또는 WATIR과 같은 테스트 도구와 인터페이스 할 수있는 포괄적 인 응용 프로그램을 만들 수있을만큼 강력하며 동시에 데이터 파일에서 읽고 원격 Windows UI와 상호 작용하며 거의 투명한 네트워크 통신을 수행합니다. Windows 또는 Linux에서 실행되는 동안 모두 가능합니다.
깔끔한 구문은 새롭고 경험이없는 프로그래머가 읽기에 이상적입니다. 완전히 OO 특성으로 인해 동일한 프로그래머가 처음부터 좋은 (최근에 배운) OO 기술을 쉽게 적용 할 수 있습니다.
Ruby 구문의 유연한 특성으로 인해 DSL을 훨씬 쉽게 사용하고 만들 수 있습니다. 이를 통해 기술 수준이 낮은 사람들이 자신의 테스트를 호출하고 읽고 만들 수 있습니다.
저는 웹 드라이버 사용자입니다. ruby는 rake 덕분에 빌드 프로세스를 자동화하기 위해 webdriver에서 사용됩니다. 자세한 내용은 http://code.google.com/p/webdriver/ 를 참조하세요.
헤, 좋은 질문입니다.
저는 Ruby를 사용하여 Excel 스프레드 시트 공항 시설 데이터를 Android 전화 플랫폼 용 sqlite3로 변환하면서 조종 사용 앱을 만들었습니다.
저는 Rails보다 훨씬 간단한 Sinatra와 함께 Ruby를 사용합니다. Rails를 사용했지만 Rails는 Java에서 사용할 수있는 웹 프레임 워크에 비해 여전히 놀랍지 만 약간 괴물로 변했다는 것을 알았습니다.
그러나 내가 좋아하는 Ruby의 주요 기능은 "eval"및 "method_missing"입니다. Rails는 실제로 예를 들어 ActiveRecord에서 사용하여 놀라운 "find_by-field-name-"쿼리를 사용할 수 있습니다.
파일 조작을 위해 일부 Ruby를 사용하지만 아직 레일을 통합 할 수 없습니다.
Boulder에는 매달 만난 훌륭한 Ruby 사용자 그룹이있었습니다. 이 요점은 Ruby가 Rails에서 사용하는 것 외에 존재한다는 것입니다. 평범한 루비 사용자는 존재하고, 관심을 구걸하고, 깔끔한 것을 보여주고, 사용자 그룹 회의에서 서로를 찾을 수 있습니다.
그들은 또한 같은 날에 만난 파이썬 그룹보다 더 좋은 피자를 먹었습니다. 하나만 고를 수 있습니다 ...