Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]4559[/thread]

Perl-Programmier-Kurs: Übungsaufgaben gefragt



<< >> 7 Einträge, 1 Seite
renee
 2006-02-21 07:10
#40972 #40972
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Auch wenn es gute Programmierer sind, sollten die Leute als erstes Mal etwas von den Datentypen in Perl hören. Das sind extrem wichtige Grundlagen ;) use strict und use warnings nicht vergessen. Denn das verkürzt die Fehlersuche...

DBI hast Du meiner Meinung nach vergessen. XML ist weniger wichtig als Datenbanken (zur Not könnte man auch die Formularkonfig mit einer Datenbank machen). Das hat nichts mit "gefällt mir besser" (auch wenn es so ist) zu tun, sondern ganz einfach damit, dass Datenbankzugriffe viel häufiger vorkommen als XML-Sachen.

Unser Wiki bietet ja schon die herrlichsten Grundlagen für Schulungsunterlagen...

CGI-Sicherheit
Warum 500er
use strict
Formulardaten holen
... (einfach mal durchblättern)...

Ich würde mir nicht zu viel vornehmen - 2 Monate ist nicht viel! Da kommt man schnell ins Schleudern.

Vielleicht auch anhand von den programmierten Sachen zeigen, wo potentielle Sicherheitslücken sind.

GUIs würde ich bei dem Rahmen weglassen. Das dürfte dann eher verwirren als nützen...

Sonstige wichtige Themen (meiner Meinung nach):
* CPAN was ist das? was nützt mir das? wie finde ich mich zurecht?
* Kurzüberblick Unterschiede UNIX RegEx -- Perl RegEx (wenn ihr UNIX RegEx hattet)
* Unit-Tests mit Perl (damit kann man auch CGI-Skripte auf Sicherheitslücken testen etc) -- Test::More
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
pq
 2006-02-21 10:38
#40973 #40973
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
ich finde es etwas zu CGI-lastig. bzw. würde ich nicht mit CGI anfangen.
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
pktm
 2006-02-21 04:50
#40974 #40974
User since
2003-08-07
2921 Artikel
BenutzerIn
[Homepage]
user image
Hallo!

Mein Projekt für das nächste Semester besteht darin 6 meiner Komolitonen zu gefestigten Perl-Programmierern zu machen. Das ist schon vom Professor abgesegnet und ich habe nun 2 Monate Zeit den Kurs zu konzipieren.

Ziel:
Ziel ist es einfach schnell zu viel Ergebnis zu kommen. Ich werde nicht im Detail auf Algorithmen eingehen (dafür ist das Algorithmen und Datenstrukturen-Seminar da, welches alle Teilnehmer besucht haben). Auch werde ich nicht viel (wirklich grundlegendes schon) über Softwaretechnik plaudern, allerdings werde ich wohl nicht an den Anspruch des Softwaretechnik-Seminares meines Professors heran kommen ;-)  An Modules werde ich das vorstellen, was ich auch selbst schon seit einigen Jahren benutze. Generell werde ich viel Wert auf die Programmierung mit Modulesn legen. Denn wenn sie später schon keine vorgefertigten Module benutzen (z.B. weil ein diktatorischer Systemadministrator sich weigert diese zu installieren [ich kenne das gut...]), dann sollen sie sich wenigstens welche selbst machen (können).

Umgebung:
Die Installation der Programmierungbenung ist schnell abgeschlossen, da ich aus Gründen der Übersicht und der garantierten Funktionalität auf ein ganz bestimmtes, mit Sicherheit funktionierendes System [Perl 5.8.6, Open Perl IDE als Editor] bestehe (andere Möglichkeiten gibt es an meiner Uni eigentlich auch nicht).

Umfang:
Angesetzt ist der Kurs mit 4 Wochenstunden (2 Sitzungen / Woche). 1 Sitzung Seminar, 1 Sitzung Praxis pur.

Voraussetzungen:
Da gute Programmierkenntnisse vorausgesetzt sind um den Fokus auf die Programmierung (mit Perl) legen zu können habe ich die nette Möglichkeit direkt mit Aufgaben anzufangen. Das ist auch Sinn und Zweck des Kurses. Nichts anderes.

Aufbau:
Dazu habe ich mir folgendes überlegt:

1) Beginnen würde ich gerne mit CGI. Ein einfaches Formular mit Input, Submit und Ausgabe aller Werte des Query und %ENV. Das erstmal nur mit CGI.pm.

2) Dann weiter zu CGI.pm + HTML::Template zur Erstellung von größeren Formularen. Dabei wird noch per Hand auf die Gültigkeit der Felder geprüft.

3) Als Dritten Punkt würde ich gerne auf CGI.pm, H::T und Data::FormValidator eingehen. Dann ist die Basis für kleinere CGI-Scripten m.E. geschaffen und es kann zum ersten halbwegs richtigen Projekt übergehen.

4) Je nach Leistungsstand wird entweder das Kontaktformular wieder aufgegriffen oder ein Gästebuch geschrieben. Letzteres ist etwas neues und führt wahrscheinlich eher zu der Frage der Administration. Dass könnte ich nutzen um

5) auf Sessions einzugehen. Htaccess miteinbezogen wird ein Admin-Script für das K.F. oder das G.B. geschrieben.

6) Um das Wissen etwas zu vertiefen und um dem Trend der Arbeit mit XML ein wenig entgegen zu kommen wird nun ein Kontaktformular mit Admin-Teil gebastelt, welches dem Administrator erlaubt die Felder des Formulares (fast) beliebig zu ändern, zu erweitern oder welche hinzuzufügen / zu entfernen. XML deint dabei als Struktur, aus der das Formular schließlich erzeugt wird.

7) Um die Geschichte dann abzurunden habe ich mir überlegt CGI::Application einzuführen und damit eine Bildergallerie mit Admin-Dingens dran zu erstellen. CAP, weil ich die anderen Frameworks noch nicht benutzt habe. Später steht schließlich auch jedem frei das Framework zu nehmen, welches er möchte, aber um die Sache zu erklären ist es wohl sinnvoll, das zu nehmen, was man auch kann.

8) Abschlussprojekt: Forum. Na welches wohl... :-)

9*) Wenn noch *Zeit bleibt gibt es noch einen Abstecher in die grafische Programmierung im Sinne von Tk & Wx.

Was haltet ihr davon? Würdet ihr andere Sachen bevorzugen? Wieso? (der Grund sollte schon etwas her geben, da ich mich dann mit der potentiell mir unbekannten Sache beschäftigen müsste. Soll bedeuten: "das gefällt mir besser" ist kein Grund :-) ).

Ideen? Was habe ich nicht berücksichtigt?

Grüße, pktm
http://www.intergastro-service.de (mein erstes CMS :) )
ptk
 2006-02-21 09:44
#40975 #40975
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
Wie wäre es mit einem Ausflug in die klassischen Anwendungsgebiete von Perl, Textbearbeitung und systemadministrative Skripte? Also Sachen, die man sonst mit grep, sed, awk, cut ... lösen würde, aber heute oft nur manuell und dementsprechend fehlerträchtig gemacht werden.
renee
 2006-02-21 10:43
#40976 #40976
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
ohhhjaaaa, Schwarzsche Transformation. Da kann man gut map und grep verstehen lernen ;)

Als Vorlage koennten da Strats "legendaeren" Perl-Einzeiler dienen (die man auch gut als
"richtige" Programme schreiben kann)...
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
pktm
 2006-05-29 14:31
#40977 #40977
User since
2003-08-07
2921 Artikel
BenutzerIn
[Homepage]
user image
Ja, so mittlerweile bin ich dann auch bei der sechsten Sitzung angekommen.
Defakto komme ich erst jetzt zur richtigen CGI-Programmierung. Bislang gabs Datenstrukturen, Datentypen, Kontrollstrukturen, strict, warnings, Methoden, RegEx und ein bischen Konsole.

Das erste lauffähige Programm ist ein trivialer Taschenrechner. Es gibt 3 Varianten. Einmal mit Konsoleneingabe und if-else-zeugs, einmal ohne Konsoleneingabe und if-else-zeugs und einmal mit Hash und anonymen Subs als switch ohne if-else-zeugs und Konsolen-Eingabe. Die hätte ich ohnehin lieber außen vor gelassen, aber eine Teilnehmerin weigerte sich partout eine Abfrage zu schreiben, die prüft welcher Operator vor liegt, wenn sie doch selbst zwei Zeilen darüber hingeschrieben hatte, welcher es ist (allein auf diese Begründung muss man erst einmal kommen).
http://www.intergastro-service.de (mein erstes CMS :) )
lichtkind
 2006-05-29 18:44
#40978 #40978
User since
2004-03-22
5679 Artikel
ModeratorIn + EditorIn
[Homepage]
user image
schade das das perl5lernen tut noch in windeln liegt bin aber neugierig auf deine erfahrungen die mir vielleicht wichtige hinweise dafür geben könnten.
Wiki:Tutorien in der Wiki, mein zeug:
kephra, baumhaus, garten, gezwitscher

Es beginnt immer mit einer Entscheidung.
<< >> 7 Einträge, 1 Seite



View all threads created 2006-02-21 07:10.