php.de

Zurück   php.de > php.de Intern > Off-Topic Diskussionen

Off-Topic Diskussionen Mach mal Pause vom Programmieren!

Antwort
 
LinkBack Themen-Optionen Bewertung: Bewertung: 2 Stimmen, 4,50 durchschnittlich.
Alt 30.07.2010, 22:08  
Moderator
 
Benutzerbild von Asipak
 
Registriert seit: 18.07.2005
Beiträge: 4.071
Asipak sorgt für eine eindrucksvolle AtmosphäreAsipak sorgt für eine eindrucksvolle Atmosphäre
Standard [Mitmachquiz] Gästebuch mit beliebiger Datenbank

Da ich einfach mal Bock habe und sehen möchte, was so passiert, eröffne ich hiermit das Mitmachquiz, über dessen Sinn und Nutzen weiterhin hier diskutiert werden kann: http://www.php.de/off-topic-diskussi...eser-site.html (Weiß nicht, ob das geht, wie wäre eine Rätselabteilung auf dieser Site?) .

Bei diesem Quiz kann jeder User von php.de mitmachen und eine eigene Lösung für das gestellte Problem entwickeln. Natürlich können sich auch mehrere User zusammenschließen und an einer gemeinsamen Lösung feilen, sollte das Know-How des Einzelnen für die Aufgabe noch nicht ausreichend genug sein.

Das Ziel dieser Übung soll sein, selbständig eine Lösung für ein gegebenes Problem zu entwickeln und umzusetzen.

Am Ende, nach Ablauf der Abgabefrist, würde ich mich über mehrere unterschiedliche Lösungen freuen, an denen man verschiedene Ansätze für ein und dasselbe Problem analysieren und bewerten kann.

[Aufgabenstellung]

Es soll ein Gästebuch für eine Webanwendung programmiert werden, das sich dadurch auszeichnet, dass es durch wenige Anpassungen eine beliebige andere Datenbank (MySQL-Datenbank, Textdateien, .xml-Dateien, .csv-Dateien, o.ä.) zur Speicherung der Einträge nutzen kann.
Für diese Aufgabe sind mindestens 2 verschiedene Datenquellen zu nutzen.


Gefordert sind pro Gästebucheintrag 2 Angaben, die über ein HTML-Formular von Besuchern der Website eingegeben werden müssen:
  • der Name des Autors
  • der Text/die Nachricht
Außerdem soll noch das Datum und die Uhrzeit des Eintrags abgespeichert werden. Ein Datensatz besteht also aus 3 Werten (bzw. 4, wenn man Datum und Uhrzeit voneinander getrennt betrachtet). Es soll nur das Schreiben der Daten in die Datenbank und das Auslesen implementiert werden. Eine Löschfunktion ist für diese Aufgabe nicht vorgesehen.

Die Austauschbarkeit der Datenbank sollte so einfach wie möglich für einen Programmierer ausführbar sein.
Betrachtet man eine Datenbank als ein Objekt, dass nicht im geringsten etwas über die eigentliche Anwendung weiß und lediglich Daten abspeichert und festhält, sollte es der Anwendung nicht viel ausmachen, wenn man ein Datenbankobjekt gegen ein Anderes austauscht. Lediglich das Auslesen und das Eintragen der Daten durch die Applikation unterscheidet sich von Datenbank zu Datenbank und sollte dazu angepasst werden müssen, da MySQL-Abfragen zum Beispiel bei einer Textdateien-Datenbank natürlich wenig Sinn machen.

Ein unvorteilhafter Ansatz nutzt Code zum Auslesen der Werte direkt an der Stelle, an der die Werte benötigt werden:
PHP-Code:
<?php
$sql 
"SELECT  
          `author`                                        , 
          `text`                                          , 
          DATE_FORMAT(`date`, '%d.%m.%Y') as `date_format` 
        FROM 
          `table` 
        ORDER BY 
          `date`"
;
$result mysql_query($sql) OR die (mysql_error());

while (
$row mysql_fetch_assoc($result)) {
  
?>
<p>
  <?php echo $row['author'] . ' - ' $row['date_format']; ?>
</p>
<p>
  <?php echo $row['text']; ?>
</p>
  <?php
}
Ein Austausch der MySQL-Datenbank mit z.B. einer .xml-Dateien-Datenbank hätte zur Folge, dass sämtliche Datenbankabfragen in sämtlichen Dateien entfernt und durch entsprechende Abfragen zum Auslesen der Daten aus einer XML-Datei ersetzt werden müssten. Damit erst mal genug zu den Vorüberlegungen!

Welche 2 Datenbanken für diese Aufgabe genutzt werden, bleibt euch überlassen.

In der Abgabe sollte deutlich werden, wie das Austauschen der Datenbank funktionieren soll, also an welchen Stellen der Programmierer beim Austausch erneut Hand anlegen müsste.

Der Sinn dieser Aufgabe besteht darin, für das Thema Schichtenarchitektur einer Softwareanwendung sensibilisiert zu werden. Die Datenschicht soll größtmöglich von der Präsentationsschicht (dem Front-End) und der Logikschicht entkoppelt werden, um einen einfachen Austausch der Datenbank zu ermöglichen. Das muss kein objektorientierter Ansatz sein.

[Der Ablauf]

Ich habe leider keine Erfahrung, wie viel Zeit für die Bearbeitung einer solchen Aufgabe sinnvoll sein könnte, daher will ich einfach mal einen Zeitraum von 1 Monat angeben, in der die Aufgabe gelöst sein muss. Die Abgaben können direkt hier in diesem Thread eingereicht werden, eine andere Möglichkeit sehe ich im Moment nicht. Allerdings sollte die Lösung frühestens 1 Woche vor Ablauf der Frist hier gepostet werden. Im eigenen Interesse sollten andere User diese Lösungen dann nicht einfach abkupfern, sondern so fair sein (auch sich selbst gegenüber) und auf copy & paste verzichten.

Während des Quiz' können natürlich grundsätzliche Fragen zum Thema gestellt werden. Fragen nach Fehlern im Code oder Teillösungen möchte ich aber bitte nicht in diesem Thread finden. Es geht hierbei um Eigenleistung (ob alleine oder wie gesagt in einer kleinen Gruppe), Programmfehler sind also selbst zu lösen. Wer sicht nicht motiviert fühlt, ein Problem ohne Hilfe aus den Programmierforen lösen zu wollen, ist hier falsch und sollte auf eine Teilnahme verzichten.

Standardquellen für aufkommende Fragen sind:
PHP: Hypertext Preprocessor
Wikipedia – Die freie Enzyklopädie
Google

Auch sollten die Programmierforen nicht dazu missbraucht werden, Fragen zu dieser Aufgabe zu stellen. Sämtliche Fragen also bitte ausschließlich und direkt in diesem Thema stellen.

Abgabefrist: 31.08.2010 (frühester Zeitpunkt für die Abgabe: 24.08.2010)

Bei Verbesserungshinweisen zur Aufgabenstellung, Unklarheiten o.ä. bitte einfach posten. Sollte die Abgabefrist zu kurz oder zu lang sein, bitte ebenfalls hier beschweren.

Hinweis: User, die teilnehmen möchten, sollten sich mit einem kurzen Posting hier melden, damit man einen Überblick über die Nachfrage erhält und weitere User sich einfacher mit bereits teilnehmenden Usern zusammenschließen können.

[verspätetes Update]

Zitat:
Mit dem Einverständnis der Moderatoren gilt nun für alle Teilnehmer: Für die Abgabe erstellt ihr bitte ein eigenes Thema im Forum OffTopic mit dem Threadtitel-Präfix [Abgabe:Mitmachquiz]
[Alle Abgaben auf einen Blick]
__________________
HalloPHP

Geändert von Asipak (12.09.2010 um 15:26 Uhr).
Asipak ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 31.07.2010, 14:40  
Moderator und Wett-König
 
Benutzerbild von dr.e.
 
Registriert seit: 21.05.2008
Beiträge: 3.633
PHP-Kenntnisse:
Fortgeschritten
dr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblick
dr.e. eine Nachricht über Skype™ schicken
Standard

Und was ist der Hauptgewinn?
__________________
Viele Grüße,
Dr.E.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. Think about software design before you start to write code!
2. Discuss and review it together with experts!
3. Choose good tools (-> Adventure PHP Framework (APF))!
4. Write clean and reusable software only!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dr.e. ist offline   Mit Zitat antworten
Alt 31.07.2010, 16:08  
Erfahrener Benutzer
 
Registriert seit: 27.06.2009
Beiträge: 498
PHP-Kenntnisse:
Anfänger
cetalian sorgt für eine eindrucksvolle Atmosphärecetalian sorgt für eine eindrucksvolle Atmosphäre
Standard

Bin dabei!
cetalian ist offline   Mit Zitat antworten
Alt 31.07.2010, 20:38  
Moderator
 
Benutzerbild von Asipak
 
Registriert seit: 18.07.2005
Beiträge: 4.071
Asipak sorgt für eine eindrucksvolle AtmosphäreAsipak sorgt für eine eindrucksvolle Atmosphäre
Standard

Zitat:
Und was ist der Hauptgewinn?
Der Gewinner darf sich selbst auf die Schultern klopfen. Aber nur 2 mal.
Zitat:
Bin dabei!
Freut mich.
__________________
HalloPHP
Asipak ist offline   Mit Zitat antworten
Alt 31.07.2010, 20:40  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 34.255
PHP-Kenntnisse:
Fortgeschritten
nikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz sein
Standard

Zitat:
Und was ist der Hauptgewinn?
Ein Praktikum beim Wettkönig
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Alt 31.07.2010, 20:57  
Erfahrener Benutzer
 
Registriert seit: 27.06.2009
Beiträge: 498
PHP-Kenntnisse:
Anfänger
cetalian sorgt für eine eindrucksvolle Atmosphärecetalian sorgt für eine eindrucksvolle Atmosphäre
Standard

Bin aber dank Klausuren bis zum 11.08 mindestens beschäftigt. We'll see.
cetalian ist offline   Mit Zitat antworten
Alt 01.08.2010, 12:32  
Benutzer
 
Registriert seit: 06.07.2010
Beiträge: 74
PHP-Kenntnisse:
Anfänger
UdoDirk ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Sieht hübsch aus - die Aufgabe - mal sehn, ob ich noch soviel Wissen aneignen kann, da mitzuspielen - aber es ist ein Ansporn, es zumindest zu versuchen, um zu sehen, wie weit man kommt.
UdoDirk ist offline   Mit Zitat antworten
Alt 01.08.2010, 14:29  
¯\_(ツ)_/¯
 
Benutzerbild von Flor1an
 
Registriert seit: 18.06.2008
Beiträge: 8.814
PHP-Kenntnisse:
Fortgeschritten
Flor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer Anblick
Standard

@Asipak: Vlt. wäre es super wenn du noch ein paar Dummywerte liefern würdest. Heißt nen Dump für MySQL, Textdatei, XML und CSV. So wirds für dich später angenehmer zu testen weil alle auf der selben Struktur arbeiten.
__________________
▇█▓▒░◕‿‿◕░▒▓█▇
Flor1an ist offline   Mit Zitat antworten
Alt 01.08.2010, 14:50  
Moderator
 
Benutzerbild von Asipak
 
Registriert seit: 18.07.2005
Beiträge: 4.071
Asipak sorgt für eine eindrucksvolle AtmosphäreAsipak sorgt für eine eindrucksvolle Atmosphäre
Standard

Hmm, naja, das schränkt die Aufgabe zu sehr ein, finde ich. Welche Struktur man für die Geeignetste hält, muss man sich ja als Entwickler auch selbst überlegen. Außerdem würde es mich interessieren, ob sich einige User überlegen, wie sie die Trennung der Datensätze zum Beispiel in Textdateien realisieren. Wird ein bestimmtes Trennzeichen verwendet, muss man zusehen, dass man diese aus der Benutzereingabe wegradiert oder man lässt sich etwas anderes einfallen.
Gerade das macht so eine Aufgabe ja aus, finde ich, dass es verschiedene Lösungen gibt und man dann über Vor- und Nachteile jeder Lösung diskutieren kann.

Gruß
__________________
HalloPHP
Asipak ist offline   Mit Zitat antworten
Alt 02.08.2010, 11:16  
Neuer Benutzer
 
Benutzerbild von Skamander
 
Registriert seit: 21.07.2010
Beiträge: 14
PHP-Kenntnisse:
Anfänger
Skamander befindet sich auf einem aufstrebenden Ast
Standard

Die Idee gefällt mir. Bin dabei.
Skamander ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Allgemein Werte in Datenbank updaten chunky PHP Tipps 2010 1 08.04.2010 22:35
Datenbank richtig aufgebaut? bageleudi Datenbanken 2 31.03.2010 21:01
Datenbank austauschbar machen durch Trennung von konkreter Implementierung Asipak PHP-Fortgeschrittene 10 04.09.2009 00:11
[Erledigt] Im- / Export einer MySQL Datenbank amaier161 Datenbanken 5 19.07.2009 00:42
Hilfe: datenbank mappen und kopieren M*I*B Datenbanken 24 16.07.2009 15:28
Gästebuch & Spam francis-braun PHP Tipps 2009 3 23.03.2009 19:20
Gästebuch bzw. Shoutbox ohne Datenbank delphicoder PHP Tipps 2009 7 21.01.2009 15:46
Mehrere Anwendungen eine Datenbank... Datenbanken 5 15.08.2005 11:22
mysql datenbank anlegen...aber WIE??? Datenbanken 0 05.08.2005 19:33
[Erledigt] mysql datenbank anlegen...aber WIE??? PHP Tipps 2005-2 0 05.08.2005 19:33
mysql datenbank anlegen...aber WIE??? Datenbanken 0 05.08.2005 19:32
[Erledigt] mysql datenbank anlegen...aber WIE??? Datenbanken 0 05.08.2005 19:31
[Erledigt] mysql datenbank anlegen...aber WIE??? Datenbanken 0 05.08.2005 19:31
[Erledigt] mysql datenbank anlegen...aber WIE??? Datenbanken 0 05.08.2005 19:29
[Erledigt] mysql datenbank anlegen...aber WIE??? Datenbanken 0 05.08.2005 19:29

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
gästebuch mit datenbank, datenbank für gästebuch, zwei gästebücher in einer datenbank, gästebuch datenbank, mitmachquiz, php.de quiz, braun, user

Alle Zeitangaben in WEZ +1. Es ist jetzt 20:19 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum