บางครั้งรู้สึกว่า บริษัท ของฉันเป็น บริษัท เดียวในโลกที่ใช้ Ruby แต่ไม่ใช่ Ruby on Rails จนถึงจุดที่ Rails เกือบจะกลายเป็นคำพ้องความหมายกับ Ruby
ฉันแน่ใจว่านี่ไม่ใช่เรื่องจริง แต่มันก็สนุกดีที่ได้ฟังเรื่องราวเกี่ยวกับการใช้งานรูบี้ที่ไม่ใช่ Rails
บางครั้งรู้สึกว่า บริษัท ของฉันเป็น บริษัท เดียวในโลกที่ใช้ Ruby แต่ไม่ใช่ Ruby on Rails จนถึงจุดที่ Rails เกือบจะกลายเป็นคำพ้องความหมายกับ Ruby
ฉันแน่ใจว่านี่ไม่ใช่เรื่องจริง แต่มันก็สนุกดีที่ได้ฟังเรื่องราวเกี่ยวกับการใช้งานรูบี้ที่ไม่ใช่ Rails
คำตอบ:
ข้อดีอย่างหนึ่งของ Ruby คือความสามารถในการสร้าง DSL ได้อย่างง่ายดาย Ruby ช่วยให้คุณสร้าง "กฎทางธุรกิจ" ด้วยภาษาที่เป็นธรรมชาติซึ่งโดยปกติแล้วจะง่ายพอสำหรับนักวิเคราะห์ธุรกิจที่จะใช้ แอป Ruby มากมายที่อยู่นอกการพัฒนาเว็บมีไว้เพื่อจุดประสงค์นี้
ฉันขอแนะนำ Googling "ruby dsl" สำหรับการอ่านที่ยอดเยี่ยม แต่ฉันอยากจะฝากคุณไว้ในโพสต์หนึ่งโดยเฉพาะ รัสโอลเซ่นเขียนบล็อกโพสต์สองส่วนบนDSLs ฉันเห็นเขานำเสนอเกี่ยวกับ DSL และมันดีมาก ฉันขอแนะนำให้อ่านโพสต์เหล่านี้
ฉันยังพบนี้นำเสนอที่ดีในการมี DSL ทับทิมโดยเฟอร์นันเดโอบี ขอแนะนำให้อ่าน!
ฉันใช้ Ruby อย่างกว้างขวางในงานของฉันและไม่มีการใช้ Rails (หรือแม้แต่เว็บ)
โดเมนของฉันมักเป็นแอปพลิเคชันWindowsฝั่งไคลเอ็นต์(wxRuby GUI) และสคริปต์การทำงานอัตโนมัติของ Excel, Internet Explorer, การสืบค้น SQL Server และการสร้างรายงาน (win32ole COM Automation) ฉันยังใช้ไลบรารี sqlite, pdf-writer และ gruff สำหรับการรวบรวมข้อมูลและงานสร้างกราฟต่างๆ
ความสำเร็จของ Rails นั้นยอดเยี่ยมสำหรับ Ruby แต่ฉันยอมรับว่า Rails ได้รับความสนใจอย่างมากจนมักจะมองข้ามคุณค่าของ Ruby ที่อยู่นอกเหนือจากเว็บ
เราเป็นร้านค้า C ++ เป็นหลัก แต่เราพบหลายพื้นที่ที่ Ruby พิสูจน์แล้วว่ามีประโยชน์มาก นี่คือบางส่วน:
Ruby เป็นเครื่องมือที่ฉันใช้ไปเพื่อที่มันสมเหตุสมผล และมันก็สมเหตุสมผลในหลาย ๆ ที่
Ruby ที่มีส่วนขยาย homebrew ที่เขียนด้วย C ++ ทำให้พิกเซลหนักทั้งหมดผลักดันสำหรับการประมวลผลภาพถ่ายของฉัน ฉันใช้ Python + numpy แต่เมื่อทำสิ่งที่มีศิลปะ Ruby ก็สนุกกว่า นอกจากนี้การที่ไลบรารีประมวลผลภาพที่ดีขาดญาติหรือมีวุฒิภาวะน้อยลงก็ทำให้ฉันรู้สึกไม่ค่อยเหมือนกำลังสร้างล้อใหม่ ฉันไม่รู้เกี่ยวกับ Rails นอกเหนือจากที่ฉันเคยได้ยินมีความคิดที่คลุมเครือว่ามันคืออะไรและมีหนังสืออยู่บนนั้นจริงๆ (ยังไม่ได้เปิด)
ลองใช้Shoes API ง่ายๆสำหรับสร้าง GUI ใน Ruby ที่มุ่งเป้าไปที่โปรแกรมเมอร์มือใหม่
หรือคุณสามารถใช้ Ruby เพื่อสร้างเพลง Archeopteryx ของ Giles Bowkett นี้นำเสนอโดยไจลส์เกี่ยวกับอาร์คีออปเทอริก ซ์ เป็นหนึ่งในการนำเสนอผลงานที่ดีที่สุดเท่าที่เคย ฉันขอแนะนำอย่างยิ่ง
RubyCocoa และ MacRuby เป็นไปได้ที่จะสร้างแอป GUI ที่ใช้โกโก้แบบเต็มโดยไม่ต้องใช้ Rails จากนั้นคุณจะได้ใช้ Interface Builder ด้วย
ฉันทำงานในโครงการพิพิธภัณฑ์เมื่อปีที่แล้วซึ่งใช้ทับทิมจำนวนมาก ( http: // http: //ourspace.tepapa.com/home )
ส่วนที่ฉันใช้เวลาส่วนใหญ่คือแผนที่ชั้นแบบโต้ตอบ แผนที่บนพื้นมีเซ็นเซอร์ดังนั้นเมื่อมีคนเดินไปมาจะมีการเปิดไฟและแสดงภาพหรือวิดีโอและแทร็กเสียงในการแสดงบนผนัง
รหัสควบคุมทั้งหมดสำหรับส่วนจัดแสดงนี้คือทับทิม ฉันเขียนอินเทอร์เฟซ C กับกระดาษห่อทับทิมเพื่อสื่อสารกับเซ็นเซอร์พื้นและตัวควบคุมแสง ระบบจะสอบถามฐานข้อมูล MYSQL สำหรับไฟล์มีเดียที่จะแสดงจากนั้นบอกให้คอมพิวเตอร์ในผนังเล่นสื่อผ่าน UDP
เป็นส่วนที่น่าเชื่อถือที่สุดของการจัดแสดงทั้งหมด
ทับทิมถูกใช้สำหรับส่วนอื่น ๆ ของการจัดแสดงกำแพงแม้ว่าฉันจะไม่ได้เกี่ยวข้องกับสิ่งนั้นมากนัก กราฟิกส่วนใหญ่ได้รับการสร้างต้นแบบด้วยทับทิมโดยใช้อินเทอร์เฟซสำหรับ OpenGL, โกโก้และไลบรารีฟิสิกส์ก่อนที่จะถูกย้ายไปยัง Obj-C ที่บริสุทธิ์
ฉันไม่เห็นการพูดถึงหุ่นเชิดหรือเชฟใน 30 คำตอบก่อนการมาถึงของฉัน Ruby ดูเหมือนจะครองงานปัจจุบันในระบบคลาวด์อัตโนมัติและเป็นพื้นฐานส่วนขยายและภาษาแม่แบบของผู้เล่นรายใหญ่ทั้งสองนี้ ส่วนใหญ่จะใช้เพื่อแจกจ่ายข้อมูลการกำหนดค่าระบบและแอปพลิเคชันสำหรับอาร์เรย์เซิร์ฟเวอร์และสำหรับการจัดการไอทีเวิร์กสเตชันทั่วไป
DevOpsฟิลด์ค่อนข้างทับทิมทราบ วันนี้ Perl มีคู่แข่ง แม้ว่าสคริปต์ที่เรียบง่ายจริงๆอาจยังคงถูกเขียนโดยตรงสำหรับsh(1),
งานที่ซับซ้อนตอนนี้อาจทำได้ใน Ruby แทนที่จะเป็น Perl
เว็บไซต์เดียวที่ฉันได้ทำกับทับทิมในที่ทำงานคือการใช้ Rails แต่ผมอยากจะลองMerb
นอกเหนือจากนั้นฉันมีโปรแกรมยูทิลิตี้เล็ก ๆ น้อย ๆ มากมายใน Ruby เช่นแอพที่อ่านฟีด RSS และนำเข้าโพสต์ใหม่ลงใน dabase
มันสนุกดีดังนั้นฉันจึงเขียนเรื่องโง่ ๆ เพราะมันเร็วมาก เมื่อวานนี้ฉันเขียนแอปเพื่อเล่นปัญหา Monty Hall 100,000 ครั้งเพื่อช่วยให้เพื่อนคนหนึ่งโน้มน้าวศาสตราจารย์ของเธอว่าการสลับเป็นกลยุทธ์ที่ถูกต้อง
ฉันเกือบจะดูถูกว่าทับทิมเป็นของราง เหมือนย้อนกลับไปเมื่อ CGI เป็นเทรนด์ล่าสุดและทุกคนก็คิดว่าถ้าคุณรู้ว่า perl คุณต้องทำมันเพราะคุณตั้งโปรแกรมแอพ CGI ไว้เท่านั้น Ruby เป็นเพียงภาษาสคริปต์สำหรับฉันแม้ว่าจะไม่โตเต็มที่เท่า python ดังนั้นฉันค่อนข้างเสียใจที่ต้องกระโดดข้ามห่วงและการเปลี่ยนแปลงล่าสุด แต่ฉันก็ยังชอบและใช้มัน แม้ว่าฉันจะทำงานในร้าน java ดังนั้น groovy จึงเป็นตัวเลือกที่ดีที่สุดสำหรับภาษาสคริปต์ แต่ฉันก็ยังใช้ทับทิมที่บ้านและทิ้งสคริปต์ที่ไม่จำเป็นต้องแชร์ในที่ทำงาน
ผมได้รับการพิจารณารับเข้ารจากทั่วทุกฉวัดเฉวียนและวิธีการที่รวดเร็วง่าย / มันเป็น แต่หลังจากที่มองผ่านรางผมไม่ได้เห็นอะไรเลยที่เป็นที่น่าตื่นตาตื่นใจหรือแม้กระทั่งบิตอย่างน้อยนวัตกรรมหรืออย่างรวดเร็วเกี่ยวกับการพัฒนาอย่างรวดเร็วเมื่อเทียบกับใด ๆอื่น ๆ กรอบ. ประโยชน์เพียงอย่างเดียวที่ฉันเห็นคือฉันสามารถเขียนโค้ดในทับทิมได้ซึ่งน่าจะดี แต่การตั้งค่าเริ่มต้นการบำรุงรักษาเซิร์ฟเวอร์และการปรับขนาดทำได้ยากกว่าดังนั้นจึงชดเชยความพึงพอใจในการเข้ารหัสทับทิมอีกครั้ง
ฉันสร้างงานนำเสนอ - ชื่อ Off The Rails โดยบังเอิญ - เพื่อหารือเกี่ยวกับแอปพลิเคชันเว็บบนชั้นวาง:
https://github.com/alexch/Off-The-Rails
git repo ประกอบด้วยสไลด์ในรูปแบบ Markdown และโค้ดตัวอย่าง (ในรูปแบบของแอปพลิเคชันที่ใช้งานและมิดเดิลแวร์) นี่คือบทคัดย่อ:
Ruby on Rails เป็นเว็บแอปพลิเคชันเฟรมเวิร์กยอดนิยมสำหรับ Ruby แต่ไม่ใช่คนเดียว! หากคุณคิดว่า Rails ใหญ่เกินไปหรือมีความคิดเห็นเกินไปหรืออะไรก็ได้คุณอาจยินดีที่จะเรียนรู้เกี่ยวกับไมโครเฟรมเวิร์ครุ่นใหม่ที่สร้างขึ้นบนแร็ค และเนื่องจาก Rails 3 เป็นแอป Rack คุณจึงไม่จำเป็นต้องยอมแพ้ Rails เพื่อรับประโยชน์จากเส้นทาง Sinatra หรือ Grape API
และนี่คือข้อมูลอ้างอิงบางส่วน:
หวังว่าจะเป็นประโยชน์!
ฉันส่วนใหญ่เป็นนักพัฒนาเว็บและฉันเรียนรู้ Ruby เพื่อใช้ Rails แต่ฉันชอบภาษามากจนเริ่มพัฒนาแอปพลิเคชัน Swing บนเดสก์ท็อปใน Ruby โดยใช้ JRuby และ Monkeybars ฉันมีความสามารถใน Java แต่ไม่ค่อยชอบใช้งานและ Swing API ก็น่ากลัวดังนั้นการวาง Ruby ไว้ด้านบนจึงเป็นชัยชนะที่ยิ่งใหญ่
เราใช้รางเป็นหลัก แต่เรามีทับทิมอื่น ๆ ที่ไม่ใช่ราง - ตัวอย่างเช่นภูตการพิสูจน์ตัวตนแบบสแตนด์อโลนสำหรับการตรวจสอบผู้ใช้แบบรวมศูนย์และ 'เซิร์ฟเวอร์ประมวลผลภาพ' ซึ่งเรียกใช้กระบวนการทับทิมจำนวนมากเพื่อประมวลผลภาพแบบขนาน
โอ้และอย่าลืม Rake เก่าที่ดี :-)
Ruby ยังใช้สำหรับแอปพลิเคชันเดสก์ท็อป โดยเฉพาะอย่างยิ่งการใช้ JRuby เพื่อพัฒนาแอปพลิเคชัน Swing desktop
ฉันใช้ Ruby ในที่ทำงานสำหรับ
เราใช้ Ruby เพื่อติดตั้งซอฟต์แวร์ทดสอบอัตโนมัติของเรา ซึ่งรวมถึงกรอบการทดสอบและรหัสไดรเวอร์สำหรับ Selenium RC, WATIR และ AutoIT
Ruby มีประสิทธิภาพเพียงพอที่จะสร้างแอปพลิเคชันที่ครอบคลุมซึ่งสามารถเชื่อมต่อกับเครื่องมือทดสอบเช่น Selenium หรือ WATIR ในขณะเดียวกันก็อ่านจากไฟล์ข้อมูลโต้ตอบกับ Windows UI ระยะไกลและดำเนินการสื่อสารผ่านเครือข่ายแบบโปร่งใส ทั้งหมดในขณะที่ทำงานบน Windows หรือ Linux
ไวยากรณ์ที่ไม่กระจายทำให้เหมาะสำหรับโปรแกรมเมอร์มือใหม่และไม่มีประสบการณ์ในการอ่าน ในขณะที่ลักษณะ OO ทั้งหมดทำให้โปรแกรมเมอร์คนเดียวกันนี้สามารถใช้เทคนิค OO ที่ดี (เพิ่งเรียนรู้เมื่อเร็ว ๆ นี้) ได้ง่ายตั้งแต่เริ่มต้น
ลักษณะที่ยืดหยุ่นของไวยากรณ์ของ Ruby ยังช่วยให้การใช้และการสร้าง DSL ง่ายขึ้นมาก สิ่งนี้ช่วยให้ผู้ที่มีเทคนิคน้อยสามารถเรียกอ่านและอาจสร้างการทดสอบขึ้นเองได้
ฉันใช้ Ruby เพื่อสร้างโค้ดของ C # และ T-SQL โพรซีเดอร์ที่เก็บไว้ในโปรเจ็กต์ที่มีข้อกำหนดที่ไม่เสถียร โมเดลข้อมูลถูกเข้ารหัสในไฟล์ YAML และใช้เทมเพลต. erb สำหรับคลาสและโพรซีเดอร์ที่จัดเก็บ นอกจากนี้ยังอนุญาตให้ใช้โซลูชัน DRY ได้มากกว่าที่จะเป็นไปได้ด้วย C # แบบตรงเนื่องจากโค้ดซ้ำสามารถแยกออกเป็นวิธีเดียวในตัวสร้างโค้ด
ที่ที่ฉันทำงานเราใช้ Ruby เพื่อทำงานแบทช์ประเภทที่แตกต่างกันจำนวนหนึ่ง ตัวอย่างหนึ่งคืองานที่โต้ตอบกับบริการ S3 ของ Amazon ในเวลานั้นไลบรารี Ruby S3 น่าจะเป็นไลบรารีที่ง่ายที่สุดสำหรับเราในการเริ่มต้นใช้งานในระยะเวลาอันสั้น
ฉันเขียนระบบผู้เชี่ยวชาญด้านการประมวลผลคำสั่งซื้อ (ดูคำตอบ DSL เช่นกัน) แปลง perl เฉพาะลูกค้า 100k บรรทัดเป็นทับทิมประมาณ 10,000 เส้นที่รองรับลูกค้าหลายสิบราย ไม่มีส่วนประกอบของเว็บเลยไม่มี Rails
ฉันเป็นผู้ใช้ Webdriver webdriver ใช้ทับทิมเพื่อทำให้กระบวนการสร้างเป็นไปโดยอัตโนมัติด้วยคราด ดูรายละเอียดที่ http://code.google.com/p/webdriver/
เฮ้คำถามที่ดี
ฉันใช้ Ruby เพื่อแปลงข้อมูลสิ่งอำนวยความสะดวกในสนามบินสเปรดชีต Excel เป็น sqlite3 สำหรับแพลตฟอร์มโทรศัพท์ Android ในขณะที่สร้างแอปสำหรับนักบิน
ฉันใช้ Ruby กับ Sinatra ซึ่งง่ายกว่า Rails มาก ฉันใช้ Rails แต่เพิ่งพบว่ามันกลายเป็นสัตว์ประหลาดไปหน่อยแม้ว่า Rails จะยังคงน่าทึ่งเมื่อเทียบกับเว็บเฟรมเวิร์กสำหรับ Java
คุณลักษณะหลักของ Ruby ที่ฉันชอบคือ "eval" และ "method_missing" ซึ่ง Rails ใช้เป็นตัวอย่างใน ActiveRecord เพื่อให้คุณสามารถใช้คำค้นหา "find_by-field-name-" ที่น่าทึ่งได้
ฉันใช้ Ruby สำหรับโค้ดแบ็คเอนด์จำนวนมากเพียงเพราะฉันเป็นคนเดียวที่ได้รับมอบหมายให้ทำและต้องการภาษาที่ดีสะอาดซึ่งทำให้ฉันสามารถทำงานได้อย่างมีประสิทธิภาพและเขียนโค้ดที่ดูแลรักษาง่ายได้ง่าย ฉันพบว่า Ruby ช่วยให้ฉันทำสิ่งนั้นได้ง่ายกว่า Perl และ Python ไมล์สะสมของคนอื่นอาจแตกต่างกันไป แต่ก็ใช้ได้ดีสำหรับฉัน
นอกจากนั้นฉันชอบวิธีการทำงานของ Sequel และ Nokogiri ฉันยังใช้ ActiveRecord มาระยะหนึ่งแยกจาก Rails
เราใช้ Ruby บางส่วนในการจัดการไฟล์ แต่ยังไม่สามารถรวมรางได้
ฉันใช้ Ruby อย่างมืออาชีพมากสำหรับสคริปต์ด่วนสำหรับสิ่งต่างๆเช่นการสับไฟล์รอบ ๆ ฉันใช้วิธีเดียวกับที่ฉันใช้ Ruby ก่อนก่อนที่จะแตะ Rails เลย
ใน Boulder มีกลุ่มผู้ใช้ Ruby ที่ยอดเยี่ยมที่พบกันทุกเดือน จุดนี้ถูกสร้างขึ้น - ที่ Ruby มีอยู่ข้างการใช้งานใน Rails มีผู้ใช้ Ruby ธรรมดากำลังขอความสนใจมีสิ่งของที่ต้องแสดงและสามารถพบกันได้ในการประชุมกลุ่มผู้ใช้
พวกเขายังมีพิซซ่าที่ดีกว่ากลุ่ม Python ซึ่งพบกันในวันเดียวกันของเดือน เลือกได้เพียงหนึ่ง ...
ในขณะที่เรามีแอป Rails หลายตัวในที่ทำงานเรายังใช้ Ruby สำหรับเนื้อหาที่ไม่ใช่เว็บที่ค่อนข้างเข้มข้น
เรามีภูตการส่ง SMS ซึ่งดึงข้อความจากคิวแล้วส่งให้และภูตประมวลผลบัตรเครดิตซึ่งแอปอื่น ๆ สามารถโทรออกได้ซึ่งทำให้แน่ใจว่ามีเส้นทางการตรวจสอบส่วนกลาง