c3d2-wiki/Ruby-Geekend.mw

112 lines
3.8 KiB
Plaintext
Raw Normal View History

2006-12-21 18:04:32 +01:00
[[Kategorie:Wissen]][[Kategorie:2006]]
2006-02-11 13:38:50 +01:00
[[Benutzer:Astro|Astro]] und [[Benutzer:Sven|Sven]] wollen den [http://www.c3le.de/ C3LE] und andere am 1. April-Wochenende von Ruby begeistern.
2006-03-07 17:57:17 +01:00
=Themenabend Ruby=
2006-03-13 22:16:59 +01:00
==Ankündigung==
2006-03-07 17:57:17 +01:00
''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>
----
2006-09-21 13:05:08 +02:00
Für neugierige: svn://svn.c3d2.de/ruby-speed-metal-coding/ruby-ta
2006-03-07 17:57:17 +01:00
2006-03-13 22:16:59 +01:00
==Propaganda==
2006-01-02 17:01:02 +01:00
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)
2006-03-13 22:16:59 +01:00
==Basics==
2006-01-02 16:45:54 +01:00
Demonstration in VNC?
*Ein bisschen nach [http://www.rubycentral.com/book/ Programming Ruby] richten, mehr braucht man ja eigentlich nicht
*''irb'' vorführen (mit Readline-Support)
*''ri'' zeigen
2006-01-02 17:01:02 +01:00
*''printf-Debugging'' mit '''p'''
*Introspektion
2006-01-02 16:47:09 +01:00
*Standardklassen: String, Array, Hash, Fixnum, TrueClass, FalseClass, NilClass, Class
2006-01-02 17:01:02 +01:00
*Regexps sind auch Objekte
2006-01-02 16:45:54 +01:00
*Methoden, Klassen, Module
2006-01-02 16:49:20 +01:00
*Blöcke sind auch nur Parameter (''def myfunction(&block)'')
2006-01-02 16:45:54 +01:00
*Rückgabewerte von Methoden müssen nicht mit ''return'' übergeben werden
*Instanzmethoden, Klassenmethoden, Konstruktor
2006-01-08 13:21:56 +01:00
*Klassen erweitern/Methoden überschreiben, zum Beispiel:
2006-01-02 16:45:54 +01:00
class String
def to_b
self == "true"
end
end
*Exceptions
2006-01-02 17:01:02 +01:00
**Auch Syntaxfehler sind Exceptions
**Wir fangen eine Exception und schicken die Details per Jabber
2006-01-02 16:45:54 +01:00
*Threads
2006-01-08 13:21:56 +01:00
2006-03-13 22:16:59 +01:00
===Rails===
2006-02-11 13:37:40 +01:00
2006-02-11 13:40:06 +01:00
*nach [http://pragmaticprogrammer.com/titles/rails/index.html Agile Web Development with Rails] richten
2006-02-11 23:40:14 +01:00
*Model/View/Controller
2006-02-11 13:37:40 +01:00
*Scaffolding
2006-02-11 13:49:47 +01:00
*ActiveRecord
2006-02-11 13:59:19 +01:00
*Filter
2006-02-11 13:37:40 +01:00
*Routing
2006-02-11 14:02:02 +01:00
*AJAX/Prototype
2006-02-11 13:49:47 +01:00
*Rails Anwendungen debuggen
2006-02-11 13:37:40 +01:00
2006-03-13 22:16:59 +01:00
==Code-Walkthroughs==
2006-01-02 16:45:54 +01:00
*[[Ruby-MediaWiki]] als Beispiel für ein kleines, gut strukturiertes Projekt?
2006-01-02 16:47:58 +01:00
*XML-Verarbeitung mit REXML
*Serialisierung mit YAML
2006-01-02 17:01:02 +01:00
*Verteilte Anwendungen mit Distributed Ruby
*Tests
2006-03-13 22:16:59 +01:00
==Kleinprojekte==
2006-01-02 16:45:54 +01:00
''Mal-schnell-was-coden'' ist mit Ruby möglich!
*Mate-Bot für Jabber? ([[Benutzer:Astro|Astro]])
*Eine tolle Website mit Rails? ([[Benutzer:Sven|Sven]])
2006-03-13 22:19:50 +01:00
=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.
2006-03-26 21:10:19 +02:00
==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]].
2006-03-13 22:19:50 +01:00
2006-03-13 22:16:59 +01:00
[[Kategorie:Ruby]]
{{Rübÿ Spëëd Mëtäl Cödïng}}