Einträge tagged mit “jruby”

JRuby 1.5.1 erschienen

Nach dem Major-Release 1.5 erschien nun ein kleineres Bugfix Release. JRuby 1.5.1 behebt einige Fehler, wie z.B. die Classpath-Probleme mit JDBC-Treibern. Alle Bugfixes findet man auf der JRuby Seite zu 1.5.1JRuby.org Homepage
JRuby Downloadseite

RailsWayCon 2010 - Tag 3

Tag 3 - 02.06.2010

Der letzte Konferenztag ist angebrochen. Heute stehen noch einige interesante Vorträge auf der Agenda. Hier schon mal die Auflistung aller heutigen RailsWayCon Vorträge.

"Establishing an integrated JRuby/Rails - Stack in a Legacy environment" - Rubén Parés-Selders

"The State of RESTful Rails" - Stefan Tilkov

"Rails/Ruby Coding Dojo" - Jens-Christian Fischer, Michael Mahlberg

"Ruby and Redis - Simple meets Awesome" - Mathias Meyer

"Holy Code. Holy Shit! - Designer-Developer-Hölle" - Gerrit van Aaken, Daniela Feuersinger, Stefan Nitzsche

"Using jQuery with Rails" - Yehuda Katz
Endlich! Rails 3 nutzt Markups zur Kommunikation mit Javascript. Dadurch entfällt der in Rails 2.X generierte JS Quellcode in den html Dateien.
# HTML Aufruf
Update
# JS-Driver Function
$("a[data-remote]").live("click, function () {
 $.get($this).attr("href"));
});
Yehuda erläuterte auch, wie einfach das Wechseln der Javascript Libs in Rails 3 wird. Prototyp ist nicht mehr festverankert, sondern man nutzt JS-Driver. Den JQuery-Driver findet man unter jquery-ujs

"Deliver Software with MacRuby" - Thilo Utke

"The Anatomy of Ruby I18n: Overview of the Gem's architecture and advanced features" - Sven Fuchs
Cool in der Version 0.4.0 von I18n kann man sein Backend mühelos auswechseln oder sogar per Chainbackend mehrere definieren. In seinem Vortrag erläuterte Sven sehr gut die Neuerungen und Ansätze von I18n, wie Pluralization, Fallbacks, Gettext, Cache und Chained backend.

Slides:
von Mathias Meyer: Ruby and Redis - Simple meets Awesome
von Stefan Tilkov: The State of RESTful Rails
von Jens-Christian Fischer und Michael Mahlberg: Rails/Ruby Coding Dojo
von Thilo Utke: Deliver Software with MacRuby

Websites:
von Rubén Parés-Selders: Establishing an integrated JRuby/Rails - Stack in a Legacy environment
von Yehuda Katz: http://yehudakatz.com/
von Sven Fuchs: The Anatomy of Ruby I18n

RailsWayCon 2010 - Tag 2

Tag 2 - 01.06.2010

Der Tag began mit einem super Vortrag "Rails 3: Dashing to the Finish" von Yehuda Katz über Rails 3 und die Anpassungen zu Rails 2.3.X. Da kann man sich schon auf das nächste Projekt mit Rails 3 freuen.

Thilo Utke berichtete über seine Erfahrungen beim Schreiben von gutem Testcode "A Testing Survival Guide" Beispiele für gutes Testen. Seine wichtiger Grundsatz "Haltet die Tests einfach!" trifft sich mit gut mit unserem Motto "simple is beautiful". Desweiteren nannte er einige Tools, die ihn beim Testen unterstützen: Spork, Bundler, Factories (Machinist, Factory Girl), Hydra/Parallel Spec, Capybara, Webmocks/SHAM_RACK

"Rails in the Cloud - Lessons learned from building a platform on EC2" war das heutige Thema von Jonathan Weiss. Die Folien des Vortrages sind unten verlinkt.

Ein sehr cooler Vortrag war "10 fun projects to improve your coding skills"" von Jan Krutisch. Er stellte 10 Fun-Projekte vor, welche uns etwas von der täglichen Arbeit ablenken sollen, aber trotzdem unsere Skills fördern und verbessern können. Mehr auch auf seiner Webseite Ten fun projects

Oleg Shpynov und Dennis Ushakov von JetBrains stellten in Ihrem Vortrag Neuigkeiten der RubyMine IDE vor - "Productive Rails development with RubyMine".

"Evolutionary programming with Ruby" - Julian Fischer

"Improved performance with client side optimization" - Patrick Hüsler

"Culerity: Full stack Rails testing with Cucumber and Celerity" - Patrick Hüsler

"SOLID Rails, SOLID Ruby - practical patterns applied" - Jens-Christian Fischer, Michael Mahlberg

Slides:
von Jonathan Weiss: Rails in the Cloud - Lessons learned from building a platform on EC2
von Yehuda Katz: Rails 3: Dashing to the Finish
von Oleg Shpynov, Dennis Ushakov(JetBrains): Productive Rails development with RubyMine
von Thilo Utke: A Testing Survival Guide
von Jan Krutisch: 10 fun projects to improve your coding skills
von Jens-Christian Fischer, Michael Mahlberg: SOLID Rails, SOLID Ruby - practical patterns applied

RailsWayCon 2010 - Tag 1

Tag 1 - 31.05.2010

Der erste Konferenz-Tag ist vorüber und die ersten Eindrücke sind verarbeitet. Neben dem Treffen mit alten Bekannten waren wir auch wieder aktiv beim Besuchen der Vorträge. Da wir aktuell zu dritt auf der RailsWayCon unterwegs sind, konnten wir auch alle Vorträge besuchen.

"Dynamic Language VMs: Ruby 1.9" und "Command your Domain" (beide von Lourens Naudé) bildeten den Start- und Endpunkt des heutigen Tages.

Jonathan Weiss und Jan Krutisch berichteten beide von Ihren Erfahrungen mit dokumentenorientierte Datenbanken und Rails. Jonathan von CouchDB und Jan von MongoDB.

Martin Kleppmann berichtete über "Cross-browser testing in the real world". Techniken wie Selenium, Webdriver, Cucumber/RSpec, Culerity und Celerity wurden genannt und an einigen Beispielen erläutert. Sehr interessant war seine Top 10 der Dinge, die beim Cross-browser Testing zu beachten sind.

"Push it to the limit - An intro to Websockets and Rails applications" und "Be Authentic - Get into LDAP, Users and Roles" waren die Themen von Michael Johann.

"Ruby on Rails Security Updated" - Heiko Webers zeigte die Rails 3 Security Anpassungen. Viele Infos findet man auch auf seinem Blog "Ruby on Rails Security Project"

"Small is Sexy - We need Components in Rails!" - Nick Sutterer berichtete von seinem Cell-Gem und Apotomo - Widgets in Rails. Beides waren auch schon Themen im RailsWay Magazin.

Wir sind gespannt wie weitergeht und hoffen das in den morgigen Konferenzräumen mehr Sitzplätze vorhanden sind. Ok, enges Beisamenstehen fördert auch die Kommunikation.

Slides:
von Martin Kleppmann: Cross-browser testing in the real world
von Jonathan Weiss: CouchDB
von Lourens Naudé: Dynamic Language VMs Command your Domain
von Jan Krutisch: mongodb and mongomapper 4 real!

RailsWayCon 2010 hat begonnen

RailsWayConf 2010Der Startschuß ist gefallen. Zum zweiten Mal treffen sich auf der RailsWayCon in Berlin (J)Ruby on Rails Experten und Enthusiasten zum Erfahrungsaustausch.
Wir sind mit vor Ort und berichten!

JRuby 1.5.0 Release ist fertig

Die JRuby-Version 1.5.0 ist erschienen. Die Entwicklung hat diesmal etwas länger gedauert, dafür sollen auch viel mehr Bugs gefixt und Features eingebaut worden sein. Einige Neuerungen sind der Native-Launcher für UNIX-basierte Plattformen, die Unterstützung des Ant Build-Systems, Updates für RubyGems, RubyDebug und RSpec, erneute Verbesserungen beim Windows-Support, Performance-Verbesserungen, viele Fixes für Rails 3, Verbesserung der Startzeit und vieles mehr. Eine genaue Auflistung findet man unter JRuby 1.5.0 ReleasedJRuby.org Homepage
JRuby Downloadseite

PDF und HTML mit acts_as_flying_saucer

Nutzer lieben Webanwendungen, die PDF-Dateien erzeugen. PDFs sind wie sauber ausgefüllte Papierformulare und Nutzer können sie ausdrucken, abheften, mit in ein Meeting nehmen, ... Kurz: Nutzer können weiter so arbeiten wie vor der Webanwendung, nur irgendwie moderner. Und genau das lieben sie.

Entwickler lieben Einfachheit und wollen Aufwände gern gering halten. Mit CSS muss man sich ja in jedem Falle auseinandersetzen. Wie wäre es, auch PDFs über CSS zu gestalten, nur eben mit Seitenzahlen, Kopf- und Fusszeile, ...

In unserem Artikel JRuby on Rails PDF Generierung haben wir schon vorgestellt, wie man einzelne Partials in PDFs bringen kann. Nun zeigen wir, wie eine normale Rails-Action einfach statt Anwendungs-HTML eine PDF-Datei erzeugt.

JRuby, Rails3 und RailsWayCon 2010

JRuby

Die meisten JRuby-Nutzer kommen bekanntlich aus dem Java-Umfeld. Sie nutzen die Agilität der Scriptsprache Ruby mit der ausgereiften Infrastruktur und einer Unmenge an Bibliotheken der Java-Welt. Daher werden die meisten auch Ant kennen. In der Ruby-Welt heißt Ant Rake!

Thomas Enebo zeigt nun in seinem Blogeintrag wie man
  • Ant-Tasks mit Rake aufruft
  • Rake mittels Ant nutzt
  • Rake-Tasks als aufrufbare Ant-Targets importiert (und umgekehrt)

Ein weiterer interessanter Artikel von Charles Nutter gibt Tipps um eine bessere JRuby-Startzeit zu erreichen. Im Artikel JRuby Startup Time Tips zeigt er, wie man mittels JVM Java_OPTS die Startperformance beschleunigen kann.

Ruby on Rails 3

Die Rails 3 Beta ist nun schon eine Weile zum Ausprobieren freigegeben. Falls Euch vor dem geplanten Update eurer Rails 2.3.x Anwendung Fragen wie
  • Was muss man beim Update beachten?
  • Wo finde ich Anleitungen zur Rails 3 Umstellung?
  • Welche Plugins und Gems laufen schon mit Rails 3?
durch den Kopf gehen, hier ein paar interessante Links zu Rails 3.

Auf rubyonrails.de gibt es eine super Sammlung von Tutorials, Screencasts und Blogeinträgen.

Die Webanwendung http://railsplugins.org/ bietet eine gute Übersicht, welche Plugins schon für Rails 3 bereit sind. Diese Liste kann von allen aktiv erweitert und aktualisiert werden. Des Weiteren wird zu jedem Plugin angegeben, ob es threadsicher ist, mit Ruby 1.9 und/oder JRuby läuft.

RailsWayCon 2010

RailsWayConf 2010Wer sich lieber selbst ein Bild von der aktuellen JRuby/Rails-Entwicklung machen will, findet sicherlich wieder viele interessante Vorträge auf der diesjährigen RailsWayCon vom 31. Mai bis zum 2. Juni in Berlin.

GlassFish-Gem 1.0.0

Das GlassFish-Gem von Vivek Pandey ist in der Version 1.0.0 erschienen.

Neuerungen sind neben einigen BugFixes:
  1. die Implementierung mittels des neu erschienen Glassfish v3 Servers
  2. die Startzeit wurde um ca. 15% verbessert
  3. die Unterstützung von Rack (Ruby Webserver Interface) ist komplett
  4. es ist möglich, Glassfish mittels eines Codeblockes auszuführen
    GlassFish::Server.start(:address=>"127.0.0.1", :port=>4000) do
     use Rack::CommonLogger
     use Rack::ShowExceptions
     map "/hello" do
     use Rack::Lint
     run Proc.new {[200, {"Content-Type" => "text/html"}, "Hello"]}
     end
    end
    
  5. der Sinatra-Support wurde verbessert
  6. auf der Kommandozeile kann die IP Adresse mitgegeben werden
  7. die Konfiguration von Grizzly (NIO based HTTP Lib) kann mittels der glassfish.yml festgelegt werden
  8. man findet es nun auch bei GemCutter
Was ist eigentlich das GlassFish-Gem?

JRuby 1.4 Release ist fertig

Die JRuby-Version 1.4 ist seit dem 2. November erhältlich. Einige Neuerungen sind die Ruby 1.8.7 Unterstützung (1.8.7 patchlevel 174), weitere Verbesserungen für Ruby 1.9 und die *.bat Scripte für Windowsnutzer. Die Java-Integration wurde durch neue Java- Methoden erweitert, der Windows-Installer erneuert, es gibt einen neuen YAML-Parser und vieles mehr.

Alle Neuerungen und die über 300 Bugfixes kann man sich auf der JRuby.org News Seite anschauen oder sich im Engine Yard Blogeintrag 5 Things to Look for in JRuby 1.4 noch ausführlicher und mit Beispielen erläutert durchlesen. JRuby.org Homepage
JRuby 1.4 Downloadseite
5 Things to Look for in JRuby 1.4

JRuby und Ruby interpretieren Erb-Kommentare unterschiedlich

Erst neulich berichteten wir von Kommentaren in Erb-Files, die das Layout zerstören. Heute haben wir eine unserer Anwendungen testweise auf reinem Ruby laufen lassen und mussten hier folgenden Unterschied feststellen. Wenn man in einem Erb-File einen einzeiligen Kommentar mit
<% # comment %> oder <%- #comment %>
schreibt, geht das unter JRuby - unter Ruby aber nicht. Dort werden in merkwürdiger Weise Teile von nachfolgenden Statements abgeschnitten, sodass dann Teile des HTML-Quellcodes auf der Webseite landen. Hier sollte also nur die korrekte Form <%# comment%> verwendet werden.

JRuby 1.4.0RC1 ist da

Die erste 1.4 JRuby Version liegt als Releasekandidat vor. Unter http://jruby.org/news werden die Neuerungen und über 200 Bugfixes seit Version 1.3.1 ausführlich beschrieben.

Vorschau auf JRuby 1.4

Die JRuby-Entwicklung geht trotz oder gerade wegen des Arbeitgeberwechsels (JRuby-Team verlässt Sun) unaufhaltsam weiter.

Gerade wurden, neben den üblichen Bugfixes, 5 Hauptthemen der neuen Version JRuby 1.4 angekündigt.
  1. JRuby 1.4 wird kompatibel zu Ruby 1.8.7

  2. Weitere Verbesserungen der Ruby 1.9 Unterstützung.

  3. Ein neuer YAML-Parser wird enthalten sein. (geschrieben von Ola Bini)

  4. Die Java-Integration wird verbessert.

    Genauer gesagt soll es möglich sein, präziser zu bestimmen, welche Java-Methoden angesprochen werden sollen.
    Zur Zeit gibt es nämlich das Problem, dass, wenn man z.B. die Methode use() bei dieser Java-Klasse
    public class Overloaded {
     public static void use(int i) { /* ... */ }
     public static void use(long l) { /* ... */ }
    }
    
    mit JRuby aufruft,
     
    Java::Overloaded.use 10
     
    
    die Methode public static void use(long l) genutzt wird. Das jetzige JRuby-Verhalten erzwingt eine Umwandlung von Ruby-Fixnum in einen long-Wert in Java. Daher kann nie die Java-Methode mit dem int-Argument aufgerufen werden.

  5. Die Generierung von echten Java-Klassen aus Ruby wird "experimentell" enthalten sein.

    Zum Beispiel wird aus:
    require 'java'
    require 'jruby/core_ext'
    class SimpleTest
     def equals
     raise "not equal" unless 1.0 == 1
     end
    end
    SimpleTest.add_method_signature("equals", [java.lang.Void::TYPE])
    SimpleTest.add_method_annotation("equals", org.junit.Test => {})
    SimpleTest.become_java!
    
    package ruby;
    import org.junit.Test;
    public class SimpleTest {
     @Test
     public void equals() {
     // dispatch back to Ruby code here
     }
    }
    
Ausführlicher kann man sich die Punkte und Beispiele im Engine Yard Blog durchlesen. www.jruby.org
5 Things to Look for in JRuby 1.4
JRuby Ruby-to-Java Compiler

JRuby Anwendungen kundenspezifisch anpassen

Branding und Customizing einer JRuby on Rails Anwendung

Wenn man Rails-Anwendungen für Kunden betreibt, muss man frühzeitig an kundenspezifische Anpassungen denken. Neben dem kundenspezifischen Design (Farben und Logos aus dem Corporate Design, "Branding") spielen dabei auch konfigurierbare Feature-Sets ("Customizing") eine wichtige Rolle. Natürlich wird jeder Kunde sowohl seine eigene Datenbank bekommen als auch seinen eigenen Rails-Server: Sicherheit geht vor!
ObjectTime Branding BlueObjectTime Branding Orange
Jedoch will man als Entwickler nicht deswegen mehrere Kopien des Quelltextes auf dem aktuellen Stand halten müssen. In diesem Artikel wollen wir unser Branding-Konzept am Beispiel unserer Zeiterfassung ObjectTime vorstellen. An den Stellen, wo wir es einsetzen, hat es sich bereits ausgezahlt.

Erste JRuby Konferenz - Kostenlos!

JRubyConf 22. November 2009 in San Francisco

Nach drei Jahren JRuby Entwicklung ist es soweit die erste reine JRuby Konferenz steht an und das kostenlos! Ok sie findet nicht in Europa statt, sondern in San Francisco. Aber sicherlich wird es auch bald bei uns JRuby Konferenzen geben.

Auf www.jrubyconf.com findet man weitere Infos über die Konferenz und Registrierung. Sie wird von Engine Yard präsentiert, der Firma, bei der seit Neustem der Großteil der JRuby Kernentwickler arbeitet. www.jruby.org
www.jrubyconf.com
Announcing JRubyConf 2009

Cache-Probleme bei nicht-migrierter DB

Vor einiger Zeit berichteten wir über eine Möglichkeit, Datenbank-Aktualisierungen auch unter JRuby einfach nach dem Deployment durchzuführen, indem man die Migration über den Browser anstößt.
Wir haben das nun schon eine Weile - auch produktiv - im Einsatz und sind sehr zufrieden damit. Es gibt aber einen Punkt, den man bei der Anwendungsentwicklung im Blick haben muss.

JRuby-Team verlässt Sun

Wie auf PC World zu lesen war, verlassen die JRuby-Entwickler Nick Sieger, Charles Nutter und Thomas Enebo ihren bisherigen Arbeitgeber Sun Microsystems. Der Grund ist offenbar die Unsicherheit, die bzgl. JRuby mit der Übernahme Suns durch Oracle entstand. Ihr neuer Arbeitgeber Engine Yard ist ein "Ruby on Rails"-Hoster, der aufgrund der gestiegenen Bedeutung die Entwicklung von JRuby vorran treiben möchte. Auf ihrem Blog kann man auch von den Plänen zu kommerziellem Support lesen.


weiterführende Links und Quellen
Webseite von Engine Yard
Blog-Eintrag bei Engine Yard
News bei PC World
Interview mit Charles Nutter auf entwickler.de

JRuby.org im neuen Glanz mit JRuby 1.3.1

Die JRuby Jungs haben nicht nur die neue 1.3.1 Version herausgebracht, sondern auch begonnen, Ihre Webseite aufzupeppen. http://www.jruby.org erstrahlt seit Kurzem in neuem Glanz und lädt zum Testen von JRuby ein.

In der JRuby-Version 1.3.1 wurden kleinere Bugs behoben. JRuby Release InformationJRuby Wiki
http://www.jruby.org/

JRuby 1.3.0

Wie Ola Bini schon auf der RailsWayCon letzte Woche angekündigt hatte, ist jetzt die neue JRuby Version 1.3.0 erschienen. Sie kann wie immer unter http://jruby.codehaus.org/ heruntergeladen werden. Die wichtigste Neuerung ist die Anpassung an die Google App Engine, sowie weitere Performance Verbesserungen bei z.B. der Nutzung von Java Arrays.

jruby.org
jruby.de
JRuby on Rails on Google App Engine
JRuby Nailgun Support in 1.3.0

Is it JRuby?

Jeder der schon mit JRuby entwickelt hat, wird schon das eine oder andere mal beim Installieren eines Gems gefragt haben - Funktioniert dieses Gem mit JRuby?
Is it JRuby Carl Mercier hat aus diesem Grund die Webseite IsItJruby.com ins Leben gerufen, auf der die Gem Kompatibilität zu JRuby erläutert wird.

Zu jeden Gem wird eine URL für weiter Infos gezeigt und jeder ist eingeladen mittels Kommentar seine Erfahrungen mit dem Gem mitzuteilen. Ein sehr nützlicher Service, der manche Suche nach kompatiblen Gems vereinfacht.
2