Software-Tool-Projekt gesucht

  • Servus,


    ich packe das Thema mal zur Sektion "Pimpen".


    Habe derzeit minimale Grundkenntnisse der Programmiersprache Python, die ich gern ausbauen würde. Dazu braucht es halbwegs spannende und sinnvolle Projekte. Mir selber fallen momentan nur welche ein, die mein Niveau derzeit noch überfordern würden. Daher wollte ich hier einmal fragen ob ihr interessante Ideen habt, bevorzugt zum Thema Brettspiele, höre mir aber auch andere Sachen gern an.


    In welche Richtung soll das gehen bzw. was könnte man sich da vorstellen?

    - Automatisierung eines (langweiligen) Prozesses, bspw. Kopieren, speichern, rechnen, auflisten, vergleichen

    - Möglichst etwas, was es nicht schon in nahezu perfekter Ausführung gibt

    - Automa eines Spiels digitalisieren

    - Ich möchte nichts in Richtung App-Entwicklung, bunter User-Interface-Gestaltung machen, sondern eher praktische Tools wie man heut so schön neudeutsch sagt.


    Weiß selbst noch nicht so genau was machbar wäre was nicht. Müsste man dann sehen.


    Viele Grüße

  • Irgendwas, wie man in einer mysql Datenbank schnell einen Eintrag aus sagen wir 10 - 15 vorgegebenen Einträgen für ein Attribut wie „Genre“ auswählen / setzen kann, wäre cool 😃


    (Ich hab davon so wenig Ahnung - keine Ahnung, ob das überhaupt zu python passt 😂 - Wenn nicht: sorry 😇)

    Top 10 (jeweils ohne Reihenfolge)

    2 Mal editiert, zuletzt von Harry2017 ()

  • Irgendwas in der Art viele Partien zu simulieren, um beim Design und testen voran zu kommen und Schwachstellen oder edge cases zu erkennen.

    Bisschen wie boardgame.io aber in Anwenderfreundlich.

  • Mike12

    Also Web Anwendungen (zB Django) wären möglich?


    Eine simple Website mit der ich meine Plays (aus BGG) auswerten und eintragen kann.

    Aber eher so was für einen Spieleabend, wo man mit X gleichen Personen ein Spiel oft spielt.

    Einfache Oberfläche zum eintragen, eine Liste wer nach Punkten vorne liegt bei welchem Spiel heute.


    Weiß nicht ob das für dich in die letzte Kategorie gehört, wären die Themen:

    WebRequests (um die API von BGG anzusprechen)

    HTTP allgemein

    Berechnung von Daten

    Minimal HTML und CSS


    Mehrwert wäre ein gutes Tool um Plays SCHNELL nebenbei einzutragen.

    BGG Stats ist da immer sehr fummelig. Und für eine schnelle Anzeige wer gerade vorne liegt ist es sehr klein.


    Ob das nun schon zu groß ist, musst du bewerten :)



    Grundsätzlich musst du natürlich etwas finden was dir Spaß macht zu programmieren.

  • Ich nehme mal den Bezug zu den Brettspielen raus und empfehle Advent of Code 2020


    Ansonsten musst du mal sagen, was dir vorschwebt.
    Aber ich gehe davon aus, dass deine Ideen den zu investierenden Zeitaufwand und wenn du Anfänger bist, wohl auch dein Können vermutlich übersteigen werden.


    Ansonsten könntest du diverse Siegespunkt Berechnungen automatisieren.
    Zusammen mit einem Webframework hast du damit schonmal was zu lernen.
    Wenn du Persistenz mit einbaust, auch die Anbindung an die Datenbank - Benutzerverwaltung wird aber unschön, ggfs. das Thema einfach überspringen (falls der Kram nicht online gehen soll).

  • Irgendwas, wie man in einer mysql Datenbank schnell einen Eintrag aus sagen wir 10 - 15 vorgegebenen Einträgen für ein Attribut wie „Genre“ auswählen / setzen kann, wäre cool 😃


    (Ich hab davon so wenig Ahnung - keine Ahnung, ob das überhaupt zu python passt 😂 - Wenn nicht: sorry 😇)

    Klingt interessant und machbar. MyQSL und Python harmonieren auch :-). Magst du das noch weiter ausführen, wie du dir das vorstellst?

    Irgendwas in der Art viele Partien zu simulieren, um beim Design und testen voran zu kommen und Schwachstellen oder edge cases zu erkennen.

    Bisschen wie boardgame.io aber in Anwenderfreundlich.

    Aktuell noch zu hoch :)

    Aktuell noch zu hoch :)

    Ich nehme mal den Bezug zu den Brettspielen raus und empfehle Advent of Code 2020


    Ansonsten musst du mal sagen, was dir vorschwebt.
    Aber ich gehe davon aus, dass deine Ideen den zu investierenden Zeitaufwand und wenn du Anfänger bist, wohl auch dein Können vermutlich übersteigen werden.


    Ansonsten könntest du diverse Siegespunkt Berechnungen automatisieren.
    Zusammen mit einem Webframework hast du damit schonmal was zu lernen.
    Wenn du Persistenz mit einbaust, auch die Anbindung an die Datenbank - Benutzerverwaltung wird aber unschön, ggfs. das Thema einfach überspringen (falls der Kram nicht online gehen soll).

    Siegpunktberechnung klingt gut und machbar. Mit irgendwelche Online-Verknüpfungen kenne ich mich bislang nicht aus. Schritt 1 wäre aus meiner Sicht, das ganze erstmal offline zu gestalten.

    Danke für den Link! Das schaut geil aus :) Langweilige Aufgaben spannend dargestellt 8|:)

  • Falls du die Python Challenge noch nicht kennst und gerne rätselst, ist die vielleicht auch etwas um schrittweise ein paar Aspekte von Python kennenzulernen: The Python Challenge


    Bei uns auf Arbeit eine beliebte Beschäftigung von Neulingen, die Python noch nicht kennen und noch nicht alle Zugangsberechtigungen haben um "richtig" zu arbeiten.

  • Ich habe in Python ein kleines Tool gegen die BGG-API geschrieben. Das laeuft auf meinem Webserver, zieht alle paar Stunden eine Liste der Spiele die ich in meiner Collection als "haette ich gerne" markiert habe. Dazu ein paar Bilder, daraus wird ein Cache. Aus den Daten mache ich eine HTML-Seite, die ist so geformt dass mein Wordpress-Blog sie als statischen Inhalt anzeigen kann (Wordpress sorgt also fuer das Aussehen).


    Wenn jemand ueberlegt womit er mir eine Freude machen kann -- manche tun das ;) -- gebe ich die URL dieses Wunschzettels an.

  • Also ehrlich gesagt hab ich da ja so wenig Ahnung von, dass ich das nur rudimentär beschreiben kann :D


    Ich hab meine ganzen alten DVDs mit Sachen, die es bei Netflix und Co nicht gibt (Raumschiff Orion, Matlock, Diagnose Mord, Roboter der Sterne, Cheech und Chong und so ein peinlicher 90er Kram :D ) auf mein Synology Nas gepackt und mit MrMc (Wie Kodi / XBMC nur ohne Addons) automatisch gescraped und eine MariaDb Mysql Datenbank erstellt. Dabei wird dann eine Text-Datei mit den aus dem Internet übernommenen Daten erzeugt und da u.a. das Genre eingetragen:


    Jetzt habe ich so Genres wie

    Scifi

    Sci-Fi

    Science Fiction

    usw...


    Ebenso bei Musik

    Psytrance

    Hardtrance

    Trance


    ....Mir würde Science Fiction / Trance und jeweils einige andere Genre-Oberbegriffe reichen...Ich könnte also entweder jede einzelne Text-Datei bearbeiten oder irgendwie nett die Mysql Datenbank bearbeiten oder sowas wie phpmyadmin nutzen - Damit komm ich nur nicht klar :D


    Aber wie man so etwas umsetzen kann: Keine Ahnung :D


    (Falls das jemand liest, der sich mit phpmyadmin auskennt - ich bin für jeden Tipp dankbar. Da sehe ich ja alle Genres - Ich würde die gerne zusammenlegen :) )

    Beispiel: Science Fiction und Science-Fiction bzw. Thriller und Krimi etc. zusammenlegen:

    Top 10 (jeweils ohne Reihenfolge)

    6 Mal editiert, zuletzt von Harry2017 ()

  • - Automa eines Spiels digitalisieren

    Vielleicht ist das was für Dich: Mitmachen | freiesMagazin Ich hab damals in freiesMagazin mehrere Jahre Programmierwettbewerbe gehalten. Es ging fast immer drum, eine Bot für ein Spiel zu erstellen. Im zweiten Wettbewerb ging es um Robo Rally. Im sechsten Wettbewerb ging es um die Verbotene Insel. Daneben gab es noch Wettbewerbe zu Tron, Bejeweled und ein generisches Zombiespiel.


    Ggf. kannst Du ja dafür auch 'nen Bot programmieren und dann gegen die jeweiligen Gewinnerbots antreten lassen. :)


    Gruß Dee

  • Coding Games and Programming Challenges to Code Better

    und viele weitere Seiten dieser Art können helfen...

    Aber wenn du wirklich was machen willst, schau dich auf Github nach phyton projekten um, lade sie herunter und erweiter sie nach deinen Vorstellungen... baue sie um, stell dir vor, was ein Kunde gerne dazu haben würde ... so bleibste Realitätsnah und verlässt den akademischen Pfad :D Und wer weiß, viellciht kommt ja was bei rum :D

  • Falls das jemand liest, der sich mit phpmyadmin auskennt - ich bin für jeden Tipp dankbar. Da sehe ich ja alle Genres - Ich würde die gerne zusammenlegen :) )

    Beispiel: Science Fiction und Science-Fiction bzw. Thriller und Krimi etc. zusammenlegen

    Ich versteh leider dein Problem nicht, bin mir jedenfalls nicht sicher.


    Mal auf die schnelle am Handy:

    Wenn du 1 Tabelle mit sich selbst verknüpfen möchtest, benötigst du (wenn du sauber arbeitest):

    1. Eine weitere Tabelle für die Referenz (die IDs die du verknüpfen möchtest)

    Genre_Genre

    id / genre_1_id / genre_2_id

    1 / 1 / 9 (Thriller / Action)

    2 / 1 / 6 (Thriller / Komödie [Wer kennt sie nicht?])


    Dann würdest du in SQL (SQL ist die Sprache, Phpmyadmin nur ein Programm zum verwalten einer MySQL / MariaDb Datenbank):


    2. Einen JOIN nutzen.

    Erklärung zum Beispiel hier (auf der und auf den weiteren Seiten sind grafische Darstellung was der dort beschriebene JOIN bewirkt, hilft beim Verstehen):

    SQL LEFT JOIN Keyword

    Oder hier ganz speziell, wenn du nur eine Tabelle nutzen möchtest:

    MySQL Self Join - Joining a Table to Itself


    Viel Spaß :)

    Einmal editiert, zuletzt von ibsi ()

  • Ich glaube eher das Harry2017 durch das automatische füllen der Daten jetzt unterschiedliche Schreibweisen des selben Genres hat. (Bsp. Einträge wie Sci-Fi, Science Fiction, SciFi u.s.w.) und das er das gerne vereinheitlicht hätte, sprich alle sagen Science-Fiction oder was auch immer.


    Ist doch ein netter Start für ne schöne kleine UPDATE Query für dich ibsi wenn du Projekte suchst :)

    Einmal editiert, zuletzt von Crimus ()

  • Danke - Da lese ich nochmal genauer nach :) Aber das was Du schreibst, da fangen schon meine böhmischen Dörfer an :D

    Hatte mich jetzt monatelang nicht mehr damit beschäftigt und jetzt, angespornt durch den Thread, doch mal etwas genauer eingelesen:


    Mit beispielsweise:

    UPDATE movie_view SET c14 = REPLACE(c14, "Science-Fiction", "Science Fiction") hab ich das Gröbste nun erstmal geschafft (hoffe ich).


    Aber, um zum Thread zurückzukommen: Ein kleines Tool, das jeden einzelnen Datensatz durchgeht und ich klicke / markiere / trage ein, welches Genre aus einer vorgefertigten Liste da nun genau reinsoll, wäre cool :) Kann auch im DOS / Commandline-look sein und ich würde dann die Einträge nacheinander manuell setzen (oder von mir aus auch komplett selbst schreiben) - Das könnte man sogar für mehrere Dinge verwenden:


    ———————-

    >>Eintrag 12 - Film-Name: Cheech und Chong im Dauerstess:

    Wähle: 1) Action 2) Scifi 3) Romantik 4) Comedy 5) Kinder 6) Musik.....

    >>4

    ———————

    >>Eintrag 13 - Film-Name: Ninja Kommando:

    Wähle: 1) Action 2) Scifi 3) Romantik 4) Comedy 5) Kinder 6) Musik.....

    >>1 + 4

    ———————-

    Hat nur nix mit Brettspielen zu tun :D Dachte es würde eine allgemeine Idee gesucht werden :saint:

    Top 10 (jeweils ohne Reihenfolge)

    Einmal editiert, zuletzt von Harry2017 ()

  • Oder:Ums einfacher zu machen:


    Das Programm fragt mich erstmal nach der entsprechenden Tabelle und nennt mir dann zur jeweiligen Zeile (Film):

    Spalte 1 (Name) + Spalte 2 (Inhaltsangabe) + Spalte 14 (Vorbelegtes Genre) und fragt mich dann, was in Spalte 14 schlussendlich gehört (und überschreibt das bisher dort eingetragene)

    -> springt danach zu Zeile 2 (Film 2) und wiederholt das ganze, bis man durch ist :)

    Top 10 (jeweils ohne Reihenfolge)

  • Harry2017

    das ich das richtig verstehe: du hast gaaaanz viele txt.-Dateien mit jeweils einer DVD oder einem CD-Titel und u.a. auch dem Genre enthalten, wobei das Genre nicht immer ausgefüllt ist und das würde du gerne füllen und zwar ohne, dass du jede einzelne txt.-Datei öffnen musst?

    Kannst du mir vllt. das was du derzeit hast (evtl. stark gekürzt) schicken?

  • Ich melde mich per PM 😃 Aber ich will hier nix einfordern. War nur schon lange ne Idee von mir und ist mir bei deiner Nachfrage eingefallen 😃)

    Top 10 (jeweils ohne Reihenfolge)

  • UPDATE movie_view SET c14 = REPLACE(c14, "Science-Fiction", "Science Fiction") hab ich das Gröbste nun erstmal geschafft (hoffe ich).

    UPDATE movie_view SET c14="Science Fiction" WHERE c14="Science-Fiction";


    Hat den Vorteil dass MySQL einfach die Datensaetze selektieren kann die "Science-Fiction" lauten, statt jeden einzenen durchlesen zu muessen. Wenn Deine DVD-Sammlung nicht _viel_ groesser ist als meine wirst Du keinen Unterschied merken, aber das ist performanter. Selektion geht ueber Indizes, das laeuft auch in extrem grossen Tabellen sehr schnell. Ausserdem, aber da fallen mir bei bei Filmgenres keine Beispiele ein, wuerde ein Replace auch Substrings ersetzen. Also wenn in dem Feld nicht nur der Suchbegriff steht sondern irgendwas was den Suchbegriff enthaelt. Je nach Daten kann das zu Chaos fuehren.


    Ich wuerde ohnehin aber auch auf das UPDATE verzichten (je nachdem was Du vorhast). Wenn Du einfach alle Filme finden willst die irgendeine Schreibweise von Science Fiction haben dann mach das so:


    SELECT * FROM movie_view WHERE c14 in ('Science Fiction', 'Science-Fiction');


    Auf die Weise funktioniert die Abfrage auch wenn Du die Daten neu importierst, oder wenn neue Filme dazu kommen. Ohne dass Du die Spalte wieder bereinigen musst.

  • Ich bin dann vorerst versorgt. Vor allem die Vorschläge von Tyrfing und wobo sind perfekt für mein Level und spannend aufbereitet. Danke dafür!


    Einzige Ausnahme: etwas mit Brettspielen wäre immer noch interessant. Da wär ich für Ideen offen. Zumindest ansehen würde ich es mir mal.

  • Einzige Ausnahme: etwas mit Brettspielen wäre immer noch interessant.

    Die Bot-Programmierung ist noch ein zu hohes Level? Ich glaube, auch mit wenig Knowhow. Du musst nur wissen, wie man Dateien einliest und speichert. Und wenn Du Robo Rally kennst, ist das von Vorteil. ;)

  • Harry2017

    meines Wissens ist es nicht nötig, Deine private IP, die wohl Dein Router vergibt zu schwärzen ;)

    Sagte der nette Typ mit dem zwielichtigen Foto 😬😂


    Du weißt ja garnicht, wieviele hier im Forum bereits in meinem WLAN zu Gast waren 😃

    Top 10 (jeweils ohne Reihenfolge)

  • Sagte der nette Typ mit dem zwielichtigen Foto 😬😂


    Du weißt ja garnicht, wieviele hier im Forum bereits in meinem WLAN zu Gast waren 😃

    Er hat aber recht ;)


    Und security through obscurity war nie gut. Wenn dir einer was böses will, reicht es auch wenn er in deinem WLAN ist. Der Findet Deine PC IP recht schnell.


    FritzBox? Dann 192.168.178.<2-50*>. ;)


    *Die wenigsten haben wohl mehr als 50 Geräte im Netz (die 1 ist die FritzBox selbst)

    Einmal editiert, zuletzt von ibsi ()

  • Dein Home-Computer? ;) (… aus einem Space-Shuttle geklaut …)


    Mike12 Falls du irgendwann wieder Kapazitäten frei haben solltest und auch das Verbessern eines bestehenden Tools eine Option wäre: BGGguildreport3 könnte einige Upgrades gebrauchen.