Wie ihr vielleicht vor kurzem gelesen habt, habe ich mir einige Kurse auf udemy.com gekauft, um Programmieren zu lernen. Ich bin der Meinung, dass sich jeder erfolgreich die Fähigkeit des Programmierens aneignen kann, wenn der Wille und das Ziel vorhanden sind. So könnte ein Ziel beispielsweise sein, nützliche Anwendungen auf oder für die Blockchain zu entwickeln. Alleine dadurch, dass die Blockchain quasi alle Daten öffentlich zugänglich macht, lassen sich damit viele interessante Sachen anstellen. Ein Ziel könnte auch sein sich Fähigkeiten für einen späteren Beruf anzueignen. Programmierer sind gefragt!
Dies ist nun der Start einer Serie, in der ich euch zeige wie ich das Programmieren lerne, welche nützlichen Anwendungen ich ins Leben rufe und wie ihr das auch machen könnt.
Los geht's mit Python
Ausgesucht habe ich mir Python, da ich diese Sprache für eine der interessantesten Sprachen halte. Python findet Anwendung in der Auswertung von Daten, Bots, Hacking, Spiele und bestimmt noch vielen weiteren Dingen, die ich noch nicht weiß. Mich interessiert da besonders die Auswertung von Daten und Bots. Zum Beispiel würde ich gerne Daten bestimmter Dapps auf der Steem Blockchain auswerten. So könnte ich 100% verlässlich erfahren wieviel Steem Spieler bei Magic Dice am Tag verspielen. Oder ich entwickle mir einen Bot, der automatisch den ganzen Tag Magic Dice spielt (das würde ich allerdings eher nicht empfehlen).
Nebenbei lerne ich übrigens mit PHP. Sie ist noch komplette Anfängerin und mir hilft es vielleicht auch was Neues zu lernen und mein Wissen zu festigen. Zu ihren Erlebnissen auf dem Weg der Profi-Programmiererin (:D) hat sie auch eine coole Serie gestartet!
Meine Ziele
Mein Hauptziel ist es nützliche Dinge mit der Steem Blockchain zu erstellen. Dazu habe ich mir erstmal ein paar Zwischenziele gesetzt:
- Datenauswertung von Steemmonsters Karten (Wertveränderung, Häufigkeit in Spielen, Effizienz etc.)
- Datenauswertung von Magic Dice (Volumen, Gewinn/Verlust etc.)
- Bot der möglichst effizient Steemmonsters spielt indem er alle bereits stattgefunden Spiele für jede Regel analysiert und so das beste Deck aus den vorhanden Karten baut. (Ich bin kein Fan von solchen Bots, will es aber einfach als "große" Übung schaffen)
Fernere Ziele:
- C# lernen
- 2D Anwendungen erstellen
Was ich bereits kann
Vor etwa 10 Jahren habe ich das erste mal begonnen PHP zu lernen. Genutzt habe ich dabei einen Kurs in Textform. Ich habe seit dem immer mal wieder PHP genutzt, bin aber kein Profi. Irgendwie habe ich es dann verpasst mich in diesem Gebiet weiter zu bilden. Erst durch die Blockchain ist das Verlangen nach weiteren Programmiersprachen gewachsen.
(PHP ist eine Programmiersprache für Internetseiten)
Ich habe also etwas Vorwissen, was es mir leichter macht.
LOS geht's!
Vor 6 Tagen habe ich mit dem Kurs begonnen. Dazu nutze ich derzeit folgenden Kurs bei Udemy:
https://www.udemy.com/python-bootcamp/
Der Kurs gefällt mir bisher sehr gut, ab und zu erklärt der Ersteller der Videos etwas zu ausführlich, aber das ist womöglich nur meine Wahrnehmung. Alles in allem lerne ich dadurch sehr schnell.
Ich habe mich nun schon durch die folgenden Bereiche durchgearbeitet:
- Grundlagen (if Abfragen, Schleifen, Variablen)
- Listen
- Dateien öffnen, Infos speichern und ausgeben (Textdateien)
- Funktionen
- Objektorientierung
Im Grunde beherrsche ich damit die erweiterten Grundlagen und habe alle Werkzeuge um (fast) alles anzustellen. Glaube ich zumindet. Genau mit dem erlangtem Wissen habe ich auch schon das erste kleinere SINVOLLE Projekt für mich programmiert. Und zwar einen Webcrawler.
Mein erstes fertiges Projekt - ein Webcrawler
Da ich selber Internetseiten besitze ist es für mich interessant ständig das Ranking bestimmter Suchbegriffe bei Google zu überprüfen. Ich kann nun beispielsweise prüfen lassen, auf welchem Rang die steemit.com Seite für den Suchbegriff "Steem" in Deutschland rankt. Und genau das habe ich programmiert. Keyword und Seite lassen sich jederzeit austauschen, um was anderes zu prüfen. Wenn ich das Programm jetzt einige Monate laufen lassen würde, könnt ich nachvollziehen ob sich die Steemit Seite eher verbessert oder verschlechtert, zumindest was die Sichtbarkeit bei Google für dieses eine Keyword betrifft.
Hier mein Code:
INFO ZUM CODE: Das ist der Code, der die Internetseite von Google abruft, die Daten auswertet und dann das Ranking mit der aktuellen Zeitangabe in ein Textdokument speichert.
INFO ZUM CODE: Das ist der Code, der die Textdatei öffnet und die Rankings in einem Graph wiedergibt. Leider ist der Graph bei mir nur eine Linie, da das Ranking aktuell immer gleichbleibend war.
Fazit zum ersten Lernen
Die ersten sechs Tage haben richtig viel Spaß gemacht. Ich habe sehr viel gelernt und es ist einfach schön, wenn man Sachen zum Laufen bringt, vor allem wenn sie etwas richtig sinnvolles machen, wie mein Webcrawler.
Ich freue mich jetzt schon auf die nächsten Tage, weil ich dann langsam versuchen will auf die Daten der Steem Blockchain zuzugreifen und diese zu verarbeiten. Ich habe allerdings noch so gut wie 0 Ahnung wie ich das machen kann.
Falls mir jemand einen Tipp geben will, wie man am besten auf die Blockchain Daten zugreift, dann würde ich mich sehr freuen :)