Größeres Projekt einer Plattform

Alles, was nicht direkt mit Python-Problemen zu tun hat. Dies ist auch der perfekte Platz für Jobangebote.
Antworten
whitespace
User
Beiträge: 4
Registriert: Dienstag 2. Mai 2017, 11:01

Hallo!

Ich habe eine Idee für ein größeres Projekt, welches ich vorerst mal allein und für mich betreiben will. Darin geht es u.A. um eine Webseite ähnlich wie "Geizhals" aufzubauen. So, mein Problem ist, dass ich selbst nur Grundlagen von HTML&CSS beherrsche und dazu keine Ahnung habe wo ich anfangen soll...
Nebenbei bin ich Fan von Python und möchte auch hier Fuß fassen, da ich mir sicher bin, dass es für mein Projekt sicher hilfreich sein wird.

Meine Fragen sind nun:
1) Wie geht ihr für gewöhnlich Projekte an?
Also von der vorrausgehenden Planung, Überlegungen etc. holt ihr euch Feedback von anderen, oder arbeitet ihr mal drauf los?
2) Welche Sprachen sollte ich mir aufjedenfall ansehen?
Ich würde gern beim lernen effizient anfangen was die Werkzeuge angeht. Also wenn bei Codecademy als "Step by Step" der Schritt mit Javascritpt kommt und ich das eigentlich nicht brauche weil Python das ja übernehmen könnte, kann ich mir das anfangs ja sparen (oder?). Oder wenn ich im Endeffekt garkein PHP brauche, aber jemand empfiehlt es, ich setze mich dann ne Woche hin, lerne es und merke dann (oder im späteren Verlauf) ich hätte mir das sparen können.
3) Gibt es mittlerweile gute Einsteigerbücher für Python?

Ich würde mich über Feedback freuen!
Lg
sebastian0202
User
Beiträge: 168
Registriert: Montag 9. Mai 2016, 09:14
Wohnort: Berlin

Hallo,


vorneweg eine Frage:
Wie muss ich deine Aussage verstehen? Du brauchst kein Javascript weil du Python hast?


Dein Plan ist es doch alle günstigen Angebote aller Hardwareseiten auf deiner Seite anzuzeigen und das in Echtzeit?
Zumindest lese ich das so heraus.

Für diese Art Website kommst du um HTML / CSS und Javascript (unter anderem auch JQuery) nicht herum.
Den Webserver kannst du sicherlich mit Python fahren und die vielen Daten die aufkommen in einem SQL Server sichern.
Das ist ein sehr ambitioniertes Projekt für einen 'Anfänger'.

Zu 1.:
So ein großes Projekt würde ich erst einmal in viele Teilprobleme zerlegen.
Mir kämen dann solche groben Fragen in den Sinn:
  • Welchen Webserver betreibe ich?
    Wie programmiere ich die Echtzeitabfrage?
    In welcher Datenbank speichere ich die Daten?
    Wie sollte meine Seite aussehen und was für Informationen möchte ich bereitstellen?
    Reicht die Performance meines Server's überhaupt?
    Darf ich das rechtlich überhaupt?
BlackJack

Die letzte Frage würde ich ja als erstes klären, sofern das nicht nur ein privates Projekt sein soll. :-)
whitespace
User
Beiträge: 4
Registriert: Dienstag 2. Mai 2017, 11:01

Um es mal so zu erklären:
Das Projekt ist vorerst mein eigenes, privates Projekt. :) Um Dinge wie rechtliche Grundlagen und Kapazitäten wie Webserver mache ich mir Sorgen wenn es so weit ist und es auch wirklich realisierbar ist. Vorerst dient es für mich Ziele zu erreichen was Development in diese Richtung angeht.
Mir ist selbst klar, dass ich mir da viel aufgehalst habe, aber es gibt ja auch keine Deadline oder etwas ähnliches :)
Oder gibt es etwas rechtlich zu beachten wenn man so die üblichen Sprachen benutzt (HTML, CSS, Python, Javascript, PHP oder ähnliches? Fertige Codesnippets lass ich mal außen vor, da mir bewusst ist, dass da nicht alles frei ist)

Was das technische angeht, werde ich zuhause einen kleinen Raspberry mit Raspbian aufsetzen, der dann als Webserver dient, womit man dann herumtesten kann. Je größer das Ganze wird, kann man ja dann immer weiter auch auf größeres umsteigen, aber vorerst und auch nur im Heimnetz, wird der Zwerg hoffentlich reichen :) Was Linux angeht, kann ich ja schon ein bissl mehr (LFCS Besitzer).

Das mit der Echtzeitabfrage ist eben so ein Thema wieso ich hier nachfrage. Ich habe keine Ahnung wie ich soetwas angehen soll, bzw. ob es besser ist soetwas in Python zu schreiben oder Javascript, geschweigedenn ob das überhaupt geht.

Datenbank habe ich vor, dass ich mich an SQL halte. Ob das die Beste Option ist, keine Ahnung, das ist soziemlich die einzige die ich kenne :D


PS: Wäre es ratsam mit einem HTML5 Buch anzufangen?
Sirius3
User
Beiträge: 17737
Registriert: Sonntag 21. Oktober 2012, 17:20

@whitespace: solche Seiten durchsuchen ja nicht wild alle möglichen Verkaufsplatformen, sondern umgekehrt, müssen sich die Verkäufer mit "Geizhals" einen Vertrag schließen und eine API anbieten, mit der der Vergleichseitenbetreiber die Preise abfragen und seine Provisionen kassieren kann. Als Privat-Mensch wirst Du da Schwierigkeiten haben, wenn die Seite nicht von sich aus eine öffentliche API anbietet. In der einfachsten Ausbaustufe reicht statisches HTML, eine Datenbank und etwas Python, am besten eines der vielen Django-Tutorien, die fast alles andecken, was Web-Server und HTML-Seiten betrifft.
whitespace
User
Beiträge: 4
Registriert: Dienstag 2. Mai 2017, 11:01

Naja, dafür hat man ja Freunde, die Dummyfirmen machen können Muss ja keine aufwändige Seite dahinter stehen, sondern grade soviel, dass man es testen kann. Darübermach ich mir aber Sorgen wenn es soweit ist. :D Übrigens war mir das mit der API klar. Woher soll Geizhals sonst wissen ob der Händler etwas auf Lager hat oder nicht?
BlackJack

@whitespace: Ad 1) Wenn es ein privates Projekt ist, ohne festen Zeitrahmen, um etwas neues zu lernen, dann kann die Planung am Anfang auch kürzer ausfallen und man kann eher explorativ arbeiten. Das heisst ja nicht planlos, sondern dass man während der Entwicklung schaut wo man steht und den nächsten Schritt plant. Also zum Beispiel das man ein Ziel skizziert, einen Schritt/Milestone versucht dem näher zu kommen, und dann zu schauen ob man dem Ziel näher gekommen ist, oder ob der Weg nicht ganz so zielführend war. Dann kann man entweder eine Kurskorrekur vornehmen, oder eventuell auch überlegen das Ziel zu verschieben. Denn der Weg ist das Ziel. Man lernt dabei.

Rückmeldung kann man sich natürlich vorher schon einholen, aber auch wenn man Prototypen oder erste vorzeigbare Ergebnisse hat. Ich versuche möglichst immer ein funktionierendes Stück Software zu haben, also nicht zwei Monate Programmieren und dann schauen ob's läuft, sondern Schritt für Schritt etwas lauffähiges erweitern.

Ad 2) Effizient lernen im Sinne von „Ich will nur das lernen was ich wirklich brauche“ funktioniert nicht, denn Du weisst ja vorher gar nicht was Du letztendlich wirklich brauchst und feststzustellen, hey das brauch(te) ich ja gar nicht, ist auch ein wichtiger Lernprozess. Eine Sprache die man sich zum Beispiel anschauen kann ist Haskell. Das habe ich noch nie praktisch eingesetzt — werde ich wahrscheinlich auch nicht — aber ich habe da sehr viel bei gelernt was mich zu einem besseren Programmierer gemacht hat. Die Sprache hatte deutlichen Einfluss darauf wie ich heute in Python und auch anderen Sprachen, beispielsweise C, programmiere und über Probleme nachdenke.

Was man sich bei Webanwendungen anschauen sollte ist JavaScript, denn das ist *die* Sprache auf Clientseite. Wobei es mittlerweile auch eine Menge Sprachen gibt die zu JavaScript übersetzt werden können. CoffeeScript und Dart zum Beispiel. Da die meisten aber die Semantik von JavaScript übernehmen, sollte man das auf jeden Fall vorher lernen.

HTML(5) und CSS braucht man, wobei ich bei CSS auch nicht alles selbst machen würde. Bootstrap ist ein CSS-Rahmenwerk das recht komplett ist, und zumindest den Prototp einer Webanwendung ohne viel eigenes CSS ermöglichen sollte.

Für die Serverseite kann man dann beispielsweise Python verwenden. Da müsste man sich dann noch ein Webrahmenwerk anschauen. Django ist hier die eierlegende Wollmilchsau. Naja fast. :-) SQL-Datenbank ist damit in der Grundausstattung auch ”festgelegt”, denn Django brint auch ein ORM mit.
whitespace
User
Beiträge: 4
Registriert: Dienstag 2. Mai 2017, 11:01

Danke für das große Feedback! :)

Ich hab mir Gestern mal ein Buch für HTML5, CSS3 und Javascript geholt, was mir von einem Freund empfohlen wurde. Hier geht es auch um ECMASkrip, Objektorientierung, Ajax, Websockets und responsive Design.
https://www.rheinwerk-verlag.de/schrodi ... ript_4196/
Ich hab gerade die ersten 200 Seiten durch und zugegeben, es ist etwas "kindlich" aufgebaut, aber sehr nett zu lesen. Was mir im Gegensatz zu codecademy.com auffällt ist, dass im Buch auf viele Dinge viel genauer eingegangen wird. Bei Vererbungen in CSS z.B.

Alles in allem, werde ich einmal das Buch durcharbeiten und auf den Rat einmal wo anzufangen und danach zu entscheiden ob es brauchbar ist zu hören.

Danke euch! :)
Antworten