Ruby-Geekend: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Sven (Diskussion | Beiträge) (→Rails: +Ajax/Prototype) |
Sven (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
(8 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
[[Kategorie:Wissen]][[Kategorie:2006]] | |||
[[Benutzer:Astro|Astro]] und [[Benutzer:Sven|Sven]] wollen den [http://www.c3le.de/ C3LE] und andere am 1. April-Wochenende von Ruby begeistern. | [[Benutzer:Astro|Astro]] und [[Benutzer:Sven|Sven]] wollen den [http://www.c3le.de/ C3LE] und andere am 1. April-Wochenende von Ruby begeistern. | ||
=Propaganda= | |||
=Themenabend Ruby= | |||
==Ankündigung== | |||
''Der CCC Dresden lädt ein:'' | |||
'''* * * Themenabend Ruby & Ruby on Rails * * *''' | |||
;Termin | |||
:10. März 2006, 19:00 Uhr | |||
;Ort: | |||
:Berufsakademie Dresden | |||
:Raum G3 | |||
:Heideparkstr. 8 | |||
:01099 Dresden | |||
<pre>Ruby ist eine Sprache, in der sich sehr schnell kleine Aufgaben | |||
realisieren lassen, wie es eben für eine Skriptsprache typisch ist. Da | |||
Ruby jedoch vollständig objektorientiert ist, bietet sie Möglichkeiten | |||
auch große Projekte entsprechend zu strukturieren und umzusetzen. | |||
Nach einer ausführlichen Einführung in die Konzepte der Sprache wollen | |||
wir einen Rundgang durch die kleine Bibliothek Ruby-MediaWiki als | |||
Beispiel für eine objektorientiertes und wiederverwendbares Codeprojekt | |||
durchführen. Ruby-MediaWiki ist ein im CCC Dresden entstandenes Projekt | |||
zur automatisierten Veränderung von Artikeln in MediaWiki, der Software | |||
die von Wikipedia eingesetzt wird. | |||
Danach wird es eine Einführung in das bekannte Web Application Framework | |||
Ruby on Rails geben. Hier soll als Beispiel das Erstellen eines Wikis | |||
mit Rails vorgeführt werden. | |||
Je nach Zeitfortschritt und Publikumswunsch kann später noch gezeigt | |||
werden, wie man mit Ruby XML verarbeitet und mit der Bibliothek XMPP4R | |||
das freie Instant Messaging- Protokoll Jabber verwendet.</pre> | |||
---- | |||
Für neugierige: svn://svn.c3d2.de/ruby-speed-metal-coding/ruby-ta | |||
==Propaganda== | |||
Angehen der Sprache mit ein paar Sachen im Hinterkopf: | Angehen der Sprache mit ein paar Sachen im Hinterkopf: | ||
*Im Gegensatz zu Perl eine angenehme Syntax mit wenigen Sonderzeichen | *Im Gegensatz zu Perl eine angenehme Syntax mit wenigen Sonderzeichen | ||
Zeile 6: | Zeile 48: | ||
*Alles ist ein Objekt, alles hat Methoden | *Alles ist ein Objekt, alles hat Methoden | ||
*Selbst Klassenmethoden sind Instanzmethoden der Klasse (aber nicht des Objekts) | *Selbst Klassenmethoden sind Instanzmethoden der Klasse (aber nicht des Objekts) | ||
=Basics= | ==Basics== | ||
Demonstration in VNC? | Demonstration in VNC? | ||
*Ein bisschen nach [http://www.rubycentral.com/book/ Programming Ruby] richten, mehr braucht man ja eigentlich nicht | *Ein bisschen nach [http://www.rubycentral.com/book/ Programming Ruby] richten, mehr braucht man ja eigentlich nicht | ||
Zeile 30: | Zeile 72: | ||
*Threads | *Threads | ||
=Rails= | ===Rails=== | ||
*nach [http://pragmaticprogrammer.com/titles/rails/index.html Agile Web Development with Rails] richten | *nach [http://pragmaticprogrammer.com/titles/rails/index.html Agile Web Development with Rails] richten | ||
*Model/View/Controller | |||
*Scaffolding | *Scaffolding | ||
*ActiveRecord | *ActiveRecord | ||
Zeile 40: | Zeile 83: | ||
*Rails Anwendungen debuggen | *Rails Anwendungen debuggen | ||
=Code-Walkthroughs= | ==Code-Walkthroughs== | ||
*[[Ruby-MediaWiki]] als Beispiel für ein kleines, gut strukturiertes Projekt? | *[[Ruby-MediaWiki]] als Beispiel für ein kleines, gut strukturiertes Projekt? | ||
*XML-Verarbeitung mit REXML | *XML-Verarbeitung mit REXML | ||
Zeile 46: | Zeile 89: | ||
*Verteilte Anwendungen mit Distributed Ruby | *Verteilte Anwendungen mit Distributed Ruby | ||
*Tests | *Tests | ||
=Kleinprojekte= | ==Kleinprojekte== | ||
''Mal-schnell-was-coden'' ist mit Ruby möglich! | ''Mal-schnell-was-coden'' ist mit Ruby möglich! | ||
*Mate-Bot für Jabber? ([[Benutzer:Astro|Astro]]) | *Mate-Bot für Jabber? ([[Benutzer:Astro|Astro]]) | ||
*Eine tolle Website mit Rails? ([[Benutzer:Sven|Sven]]) | *Eine tolle Website mit Rails? ([[Benutzer:Sven|Sven]]) | ||
[[ | |||
=Ideen fürs Geekend= | |||
==Jabber-Programmierung== | |||
[[Benutzer:Astro|Astro]] ist Maintainer von [http://home.gna.org/xmpp4r/ xmpp4r]. Da er leider keine Ahnung von Softwaretechnologie und API-Design hat, wäre er über Feedback von Menschen, die das erste Mal damit programmieren dankbar. | |||
==Ruby-SILC weiterentwickeln== | |||
Bisher ziemlich scheußliches C zur Verwendung von libsilcclient in Ruby. Soll mal zu einem ''richtig coolen'' [[Link]]-Ersatz werden. SVN-Repository existiert. Siehe [[Benutzer:Astro#Ruby-SILC|Ruby-SILC]]. | |||
[[Kategorie:Ruby]] | |||
{{Rübÿ Spëëd Mëtäl Cödïng}} | {{Rübÿ Spëëd Mëtäl Cödïng}} |
Aktuelle Version vom 21. Dezember 2006, 17:04 Uhr
Astro und Sven wollen den C3LE und andere am 1. April-Wochenende von Ruby begeistern.
Themenabend Ruby
Ankündigung
Der CCC Dresden lädt ein:
* * * Themenabend Ruby & Ruby on Rails * * *
- Termin
- 10. März 2006, 19:00 Uhr
- Ort
- Berufsakademie Dresden
- Raum G3
- Heideparkstr. 8
- 01099 Dresden
Ruby ist eine Sprache, in der sich sehr schnell kleine Aufgaben realisieren lassen, wie es eben für eine Skriptsprache typisch ist. Da Ruby jedoch vollständig objektorientiert ist, bietet sie Möglichkeiten auch große Projekte entsprechend zu strukturieren und umzusetzen. Nach einer ausführlichen Einführung in die Konzepte der Sprache wollen wir einen Rundgang durch die kleine Bibliothek Ruby-MediaWiki als Beispiel für eine objektorientiertes und wiederverwendbares Codeprojekt durchführen. Ruby-MediaWiki ist ein im CCC Dresden entstandenes Projekt zur automatisierten Veränderung von Artikeln in MediaWiki, der Software die von Wikipedia eingesetzt wird. Danach wird es eine Einführung in das bekannte Web Application Framework Ruby on Rails geben. Hier soll als Beispiel das Erstellen eines Wikis mit Rails vorgeführt werden. Je nach Zeitfortschritt und Publikumswunsch kann später noch gezeigt werden, wie man mit Ruby XML verarbeitet und mit der Bibliothek XMPP4R das freie Instant Messaging- Protokoll Jabber verwendet.
Für neugierige: svn://svn.c3d2.de/ruby-speed-metal-coding/ruby-ta
Propaganda
Angehen der Sprache mit ein paar Sachen im Hinterkopf:
- Im Gegensatz zu Perl eine angenehme Syntax mit wenigen Sonderzeichen
- Blöcke sind Argumente, obj.each { |e| ... } ist viel intuitiver als for e in obj
- Alles ist ein Objekt, alles hat Methoden
- Selbst Klassenmethoden sind Instanzmethoden der Klasse (aber nicht des Objekts)
Basics
Demonstration in VNC?
- Ein bisschen nach Programming Ruby richten, mehr braucht man ja eigentlich nicht
- irb vorführen (mit Readline-Support)
- ri zeigen
- printf-Debugging mit p
- Introspektion
- Standardklassen: String, Array, Hash, Fixnum, TrueClass, FalseClass, NilClass, Class
- Regexps sind auch Objekte
- Methoden, Klassen, Module
- Blöcke sind auch nur Parameter (def myfunction(&block))
- Rückgabewerte von Methoden müssen nicht mit return übergeben werden
- Instanzmethoden, Klassenmethoden, Konstruktor
- Klassen erweitern/Methoden überschreiben, zum Beispiel:
class String def to_b self == "true" end end
- Exceptions
- Auch Syntaxfehler sind Exceptions
- Wir fangen eine Exception und schicken die Details per Jabber
- Threads
Rails
- nach Agile Web Development with Rails richten
- Model/View/Controller
- Scaffolding
- ActiveRecord
- Filter
- Routing
- AJAX/Prototype
- Rails Anwendungen debuggen
Code-Walkthroughs
- Ruby-MediaWiki als Beispiel für ein kleines, gut strukturiertes Projekt?
- XML-Verarbeitung mit REXML
- Serialisierung mit YAML
- Verteilte Anwendungen mit Distributed Ruby
- Tests
Kleinprojekte
Mal-schnell-was-coden ist mit Ruby möglich!
Ideen fürs Geekend
Jabber-Programmierung
Astro ist Maintainer von xmpp4r. Da er leider keine Ahnung von Softwaretechnologie und API-Design hat, wäre er über Feedback von Menschen, die das erste Mal damit programmieren dankbar.
Ruby-SILC weiterentwickeln
Bisher ziemlich scheußliches C zur Verwendung von libsilcclient in Ruby. Soll mal zu einem richtig coolen Link-Ersatz werden. SVN-Repository existiert. Siehe Ruby-SILC.
Rübÿ Spëëd Mëtäl Cödïng
Projects: CacaANSICam | Date Determinator | DVB-Scraping | Filmnächte-Scraping | GeeKal | Gruntmaster | Harvester | Hirn | Irb | Jargon-File | Ruby-MediaWiki | Miniwebserver | Momomoto | Pentabarf | Podcast-fetching | Ruby | Ruby-Geekend | Ruby und Ruby on Rails | Sedusa | VDS-Badges | Xmotoctl | Youtube-Scraping