Praktische Informatik Prof. Dr. Lutz Wegner

Slides:



Advertisements
Ähnliche Präsentationen
Blue J.
Advertisements

WWW World Wide Web.
Seminar Internetdienste Web 2.0 und Rich Internet Applications (RIA) JavaFX Rainer Scholz.
Datenbankzugriff im WWW (Kommerzielle Systeme)
Ruby on Rails im Überblick
Stefanie Selzer - Pascal Busch - Michael Kropiwoda
Java: Objektorientierte Programmierung
Java: Grundlagen der Sprache
DOM (Document Object Model)
Die Skriptsprache Lua Softwaretechnologie II.
Datenbankanbindung mit ASP Wilhelm-Schickard-Schule Tübingen
Brandenburgische Technische Universität Cottbus Program Profiling Andrzej Filipiak Übung Testen von Software SoSe 2006.
Web-Content-Management-System
Fli4l Der Ein-Disketten-Router von Sebastian Röhl von Sebastian Röhl.
DVG Klassen und Objekte
NetUSE Web Application Framework Kai Voigt NetUSE AG 28. Februar 2003.
Hänchen & Partner GmbH 1 Web-Anwendungen mit dem Jakarta Struts Framework 3.Juli 2003 Martin Burkhardt.
Tobias Högel & Dennis Böck,
Marcus Haller & René Schulze
Seite Common Gateway Interface. Konzepte. Übersicht 1Einleitung 2Was ist CGI? 3Wozu wird CGI verwendet? 4Geschichtlicher Überblick 5Grundvoraussetzungen.
Jetzt lernen wir.
Welche Funktion hat die php.ini? -Beinhaltet wichtige Einstellungen für PHP. Genannt seien hier u.a. der Speicherort von Cookies, Parameter der Kompilierung,
Aichinger Christian, Strasser Jürgen
Erste Schritte mit PHP 5 von Max Brandt, 22. September 2006.
University of Applied Sciences Übung Objektorientierte Programmierung II Dipl.-Inf. (FH) Markus Vogler.
Einführung in die Programmiersprache Java
Betriebssystem Linux Von Sofia & Yasemin WG 12/3.
Patrick Schmerlaib. Scriptsprachen: sind Programmiersprachen Verzichten auf Sprachelemente Vorteile: schnelle Erstellung kleiner Programme Flexible Sprache.
Einführung / Geschichte Einführung / Geschichte Motivation Motivation Beispiel Beispiel Architektur / Komponenten Architektur / Komponenten Konfiguration.
Projektarbeit PHP 5.3 / MySQL & Content Management Systems
Präsentation von Sonja Pathe
Aichinger Christian, Strasser Jürgen. Inhalt JSF EJB Praxis - Integration.
Typo3 Templates und TypoScript
Das Client/Server – Modell und die XAMPP-Distribution
Gliederung Was ist Linux? Desktop Environment Die Shell Tux His
HTML-Editoren Eine Präsentation von Erik Kulisch.
Seminar Internet Technologien
Wird ganz am Anfang der HTML-Datei geschrieben Doctype html public bedeutet, dass man sich auf die Öffentlichkeit der html-dtd bezieht Html ist die meist.
Bedeutung von Internet-Technologien
Your name Bedeutung von Internet- Technologien Gruppe 1 Andreas Feuerstein Philipp Hochratner Christian Weinzinger.
Dynamische Webseiten mit PHP [und Python]
Entwicklung verteilter Anwendungen II, SS 13 Prof. Dr. Herrad Schmidt SS 2013 Kapitel 5 Folie 2 Windows Communication Foundation (WCF) s.a.
Eine Präsentation von Peter Rasser
CGI (Common Gateway Interface)
PHP Basic.
Oliver Spritzendorfer Thomas Fekete
Dynamische Webseiten-Generierung
Einführung in PHP.
Einführung in PHP 5.
Eine Entwicklungsumgebung für Free-Pascal Peter G. Poloczek, M5543
PHP: Operatoren und Kontrollstrukturen
Dedizierte Systeme Typo3 Installation Dedizierte Systeme – Typo3 Installation – Christoph Stollwerk IT Zertifikat der Philosophischen Fakultät WS 2008/2009.
Vortrag: Frames & Javascript.
Einführung OpenSTA. Agenda - über OGVIT - Warum Lasttests - Was ist OpenSTA - Wie arbeitet OpenSTA - Skripte für OpenSTA - OpenSTA Collectors - Tests.
Paul, Morten, Yannick Blue J. Entwicklungsumgebung  versteht Java Programmcode  Für die Entwicklung eigener Software  Durch die Programmierung.
Herzlich Willkommen am Tag der offenen Tür!
CSS Cascading Style Sheets
prof. dr. dieter steinmannfachhochschule trier © prof. dr. dieter steinmann Folie 1 vom Montag, 30. März 2015.
Linux oder GNU/Linux WS 2013/2014.
TypoScript.
Webserver, Apache und XAMPP
Webserver Apache & Xampp Referenten: Elena, Luziano und Sükran
Geschichte - Entstehung - Was ist PHP? Einordnung - Allgemeines
Das Internet Ein Netzwerk, das viele Rechner miteinander verbindet
Seminar Internettechnologie Prof. Dr. Lutz Wegner Julia Mikov WS 06/07
Die Programmiersprache Ruby Seminarvortrag von Lia Schulze Dephoff 1.
JAVA - Einführung. © Übersicht Hintergrund und Geschichte Wie sieht ein JAVA Programm aus ? Was ist ein JAVA Programm ? Wie schreibt/übersetzt.
Das Entwurfsmuster Model-View-Controller
Virtualisierung von Web-Applikationen mit Docker
 Präsentation transkript:

Praktische Informatik Prof. Dr. Lutz Wegner Seminar Internet-Technologie (Skriptsprachen) Thema: Ruby (on Rails) Mohamed El Bahri (Sommersemester 2009) 27.03.2017 1

Inhalt Geschichte, Eigenschaften Anwendungsbereiche, Plattformen Sprachgrundlagen Vorteile und Nachteile Ruby on Rails Versionen und Philosophie Das Modell-View-Controller(MVC) E-Mail-Validierung 27.03.2017 2

Was ist Ruby ? Ruby ist eine sehr mächtige objektorientierte Skriptsprache mit einer einfachen Syntax. Die Sprache ist sehr vielseitig einsetzbar: von einfachen Skripten zum Filtern von Textdateien bis zum objektorientierten Programme, von grafischen bis zu Webanwendungen. Ruby Programme werden nicht (wie z.B. in Java) in ein Binärformat übersetzt, sondern direkt von einem Interpreter verarbeitet. Ruby-Programme werden in Dateien mit der Endung .rb gespeichert. 27.03.2017

Geschichte Der Japanische Programmierer Yukihiro Matsumoto hat die Sprache entwickelt und wurde im Jahr 1995 veröffentlicht. Sie steht unter der GNU General Public License (GPL). Als das erste englischsprachige Buch im Jahr 2000 erschienen, wurde die Sprache international verbreitet. Erst in den zwei letzten Jahren wurde die Sprache populär, da das Framework Ruby on Rails die schnelle Entwicklung robuster und sicherer Webanwendungen ermöglicht. Ruby wird immer weiterentwickelt. Eine Gruppe, die über die ganze Welt verteilt, arbeitet an Erweiterungen und an der Dokumentation. Die aktuelle Version ist 1.9.1 27.03.2017 4

Eigenschaften von Ruby Ruby besitzt die folgenden Eigenschaften: Konsequent: Eine kleine Menge von Regeln sollten die ganze Sprache definieren. Kompakt: Es gibt keine überflüssigen Sprachelemente. Flexibel: Eine Sprache sollte genug Spielraum bieten, so dass man alles mit ihr machen kann. Anpassungsfähig: Programmiersprachen sollen Menschen helfen, sich auf das Problem zu konzentrieren und nicht mit der Sprache zu kämpfen. 27.03.2017

Anwendungsbereiche Ruby wird in vielen Bereichen gesetzt: Prototyping Webanwendungen (Online-Systeme, Wikis, Foren) auch grafische Systeme (z. B. mit Tk, GTK, Fox) Datenverarbeitung/-Analyse Client-Server-Systeme 27.03.2017

Plattformen Im Unix-Bereich werden folgende Betriebssysteme unterstützt: Linux(alle Distributionen und viele liefern sogar eine Version mit) Mac OS X(enthält Ruby ebenfalls ab Werk) FreeBSD, OpenBSD und NetBSD Sun Solaris und viele andere Unix-Varianten Ruby ist für folgende Nicht-Unix-Plattformen verfügbar: Alle Windows-Versionen ab Windows 95 und NT 4.0 MS-DOS, und damit auch die klassischen Windows-Versionen bis 3.11 Klassisches Mac OS bis Version 9 IBM OS/2 27.03.2017

Beispiel (Hello) puts "Hallo Welt!" jetzt = Time.new puts "Es ist jetzt #{jetzt}." puts "wie heissen Sie?" name = gets name.chomp! puts "Hallo #{name}!" 27.03.2017

Sprachgrundlagen Kommentare: wenn eine Zeile mit (#) beginnen, gilt diese als Kommentar und wird von Ruby-Interpreter ignoriert. Wenn längere Erklärungspassagen eingefügt werden soll, die ebenfalls vom Interpreter ignoriert werden sollen, können diese zwischen =begin und =end platzieren. Variablen: In Ruby wird eine Variable ganz einfach erzeugt, indem der Variable einen Anfangswert zugewiesen wird. Bsp. A = 1 oder zahl = 7 * 3. Soll eine Variable unabhängig von allen Gültigkeitsbereichen im gesamten Skript gelten, wird vor dem Namen ein Dollarzeichen ($) gesetzt. Konstanten: wenn ein Bezeichner aus Großbuchstaben (und Ziffern) besteht, wird keine Variable definiert, sondern eine Konstante. Bsp. DM = 1,95583 Arrays: Ein Array enthält beliebig viele Werte beliebiger Typen, die über den Variablennamen angesprochen wird. 27.03.2017

Sprachgrundlagen Reguläre Ausdrücke. Arithmetische Operationen: + , - , * , / , % Vergleichsoperationen: == , != , < , > , <= , >= Logische Operationen: ││ , && , ! Methoden: können vordefinierte Methoden sein als auch selbst geschriebenen. Kontrollstrukturen: if…else case-when while until loop do for-Schleife 27.03.2017

Vorteile und Nachteile Ruby hat die folgende Vorteile im Vergleich mit den anderen Skriptsprachen: vergleichsweise einfach und schnell zu erlernen gut lesbarer, verständlicher Code und Plattform-unabhängig großer Funktionsumfang: Threads, reguläre Ausdrücke, Design Patterns, ... große Bibliothek: XML, HTTP, GTK, OpenSSL, Datenbanken, ... gute, umfangreiche Dokumentation , hilfsbereite Community Wird bis heute an der Sprache weiterentwickelt Ruby hat die folgende Nachteile: als interpretierte Sprache natürlich etwas langsamer Fehler (ohne Testen) erst zur Ausführungszeit erkennbar 27.03.2017

Ruby on Rails Ruby on Rails, kurz Rails, früher auch oft kurz RoR. David Heinemeier Hansson hat die Sprache entwickelt. Es wurde im Juli 2004 zum ersten Mal der Öffentlichkeit vorgestellt. Rails ist ein in der Programmiersprache Ruby geschriebenes Framework, das die Entwicklung, Verbreitung und Wartung von Web-Anwendungen vereinfacht. Ruby on Rails setzt das Model-View-Controller (MVC) für das Web um. Rails-Anwendungen werden in Ruby geschrieben. 27.03.2017

Versionen Version 1.0 Ursprünglich wurde Rails für eine Webapplikation namens Basecamp entwickelt. Im Juli 2004 wurde zum ersten Mal der Öffentlichkeit vorgestellt. Die Version 1.0 wurde am 13. Dezember 2005 fertiggestellt. Version 1.1 Schon am 28. März 2006 folgte die Version 1.1. Neu war: RJS (Ruby on Rails JavaScript Templates) ermöglicht Tamplates für JavaScript zu erstellen. Die Performance wurde verbessert. Version 1.2 Am 19. Januar 2007 erschien die Version 1.2. Routing nach MIME-Type und ein Interface zur sicheren Behandlung von UTF-8-Strings. 27.03.2017

Versionen Version 2.0 Am 7. Dezember 2007 erschien die Version 2.0. Am 1. Juni 2008 erschien die Version 2.1. Version 2.2 Die Version 2.2 erschien am 21. November 2008. Rails ist ab dieser Version kompatibel zu Ruby 1.9 und Jruby. Version 2.3 Die Version 2.3 erschien am 15. März 2009. Planung für Version 3 Am 23. Dezember 2008 kündigte David Heinemeier Hansson an, dass für die Version 3.0 geplant sei. 27.03.2017

Rails-Philosophie Als Grundprinzipien von Rails gelten „Don’t repeat yourself“ (Wiederhole dich nicht) und „Convention over configuration“ (Konvention über Konfiguration). Wiederhole dich nicht: Jede Information sollte nur ein einziges Mal vorhanden sein. So reicht es in Rails beispielsweise dank ActiveRecord, die Spalten einer Tabelle in der Datenbank festzulegen. Anstatt diese Informationen noch ein zweites mal im Quellcode oder einer Konfigurationsdatei kodiert zu verlangen, liest ActiveRecord diese Informationen direkt aus der Datenbank. Konvention über Konfiguration: Ein klarer Satz von Konventionen bestimmt die meisten Beziehungen zwischen Modell, View und Controller. 27.03.2017

Das Modell-View-Controller(MVC) Die MVC-Idee wurde ursprünglich im Zusammenhang mit Smalltalk für lokale Anwendungen mit graphischer Oberfläche geprägt. Die Anwendungen werden nach dem Modell in die folgenden drei Komponenten auf: Das Model Die View Der Controller 27.03.2017

Das Model Das Model (auf Deutsch Modell) enthält die Datenstrukturen. Es sind nicht nur ein Paar Strings, Zahlen oder Arrays, sondern die Softwaretechnische Abbildung der Daten für Geschäftsabläufe und andere Transaktionen. Da die konkreten Daten einer Instanz jedoch nur so lange existieren, wie ein Programm läuft, müssen sie irgendwo dauerhaft gespeichert werden. Ruby on Rails verwendet daher einen cleveren Trick: Die Klassenstruktur wird vollautomatisch mit passenden Datenbanktabellen verknüpft. Wenn beispielsweise ein Rabatt nicht auf Bestellungen mit einem Wert unter 20 Euro angewendet werden soll, dann sorgt das Modell für die Einhaltung dieser Einschränkung. 27.03.2017

Die View und der Controller Die View (Ansicht, Präsentation) bildet die Benutzeroberfläche der Anwendung. Sie präsentiert die Daten des Modells in frei wählbarer Form und stellt die Steuerelemente zum Hinzufügen, Ändern oder Entfernen bereit. Rails muss in der Regel HTML-basierte Views mit Variablen Daten erzeugen und verwendet e-Ruby-Vorlagedateien (.rhtml) als Templates. Der Controller (Steuerung) bildet die programmierte Verbindung zwischen Modell und View. Er enthält beispielsweise Methoden zum Durchsuchen und zur Filterung der Daten aus dem Model. Er nimmt auch Befehle aus den Steuerelementen der Benutzeroberfläche entgegen und setzt sie als Änderungen im Datenbestand des Modells um. 27.03.2017

Verzeichnisstruktur app controllers helpers models views components config environments public images javascripts stylesheets script performance process test fixtures function integration mocks development unit 27.03.2017

Verzeichnisstruktur app : enthält die Komponenten der Eigentlichen Anwendung. Unterteilt sich in models, views und controllers. config: enthält Konfigurationsdateien script: enthält einige vorgefertigte Hilfsskripten, die bei der Entwicklung helfen sollen. public: enthält eine CGI-Konfiguration. Mit ihrer Hilfe kann die Ruby on Rails- Anwendungen praktisch von jedem CGI-fähigen Webserver bereitgestellt werden. test: ein beliebtes Mittel zum automatisierten testen objektorientierter Programme. 27.03.2017

E-Mail-Adresse Validierung 27.03.2017

Ressourcen www.rubyonrails.com Auf dieser offiziellen Rails-Webseite finden Sie Erfahrungsberichte, Dokumentation, community-Seiten. Für Anfänger sind auch Filme, in denen die Programmierung von Rails-Anwendungen vorgeführt wird. www.ruby-lang.org/en/ Die Ruby-Homepage. Hier wird die neuste Version zum Download angeboten. www.rubyforen.de/ umfangreiches deutschsprachiges Diskussionsforum zu den verschiedensten Ruby- Themen. 27.03.2017

Quellen Praxiswissen Ruby, von Sascha Kersken Webanwendungen mit Ruby on Rails, von Ramon Wartala und Jan Krutisch Agile Webentwicklung mit Rails, von Dave Thomas und David Heinemeier Hansson http://www.approximity.com/rubybuch2/ http://de.wikipedia.org/wiki/Ruby_(Programmiersprache) http://de.wikipedia.org/wiki/Ruby_on_Rails 27.03.2017

Danke für eure Aufmerksamkeit Fragen??? 27.03.2017