Es ist endlich soweit: wir schreiben unser erstes eigenes Programm. Dabei handelt es sich um ein Fenster mit einer Schaltfläche sowie einem Eingabefeld, in welches wir beim Klick auf die Schaltfläche “Hello World” eintragen.
Unser erstes Programm
Wir beginnen erst einmal sehr oberflächlich. Später gehen wir tiefer ins Detail. Versuchen wir, die ersten Erfolge zu genießen.
Dieses Video zeigt in kurzer Weise, wie man mit QDebug einfache Ausgaben im Ausgabenfenster des QtCreators macht.
Kurze Einführung in QDebug
Wie man die anderen Dinge von QDebug benutzt und auch Debugging-Informationen umleitet, sei es in eine Datei, eine speziell formatierte Ausgabe, in eine Datenbank, uvm., werden wir in dieser Videoreihe später noch sehen.
Da ich jetzt ja mit YouTube begonnen und aufgrund meiner jetzigen Situation ein wenig Zeit habe, habe ich mir überlegt, an einem neuen privaten Projekt zu arbeiten, um nicht aus der Übung zu kommen. Und genau deswegen dachte ich: warum nicht aufzeichnen und auf YouTube veröffentlichen?
KooKooK.org
Genau das möchte ich jetzt mit KooKooK versuchen. Es hat mehrere Hintergründe. Ein Ziel ist es auf jeden Fall, mein Portfolio weiter auszubauen, denn ich bin ja auf Jobsuche. Dann dachte ich mir, ich kann sicher noch einiges dazulernen und du vielleicht auch.
Dabei gibt es aber folgende Vorstellung meinerseits. Ich werde die Videos nicht scripten. Ich werde einfach loslegen, Fehler bleiben drin, damit wir was daraus lernen, Versprecher ebenso und alles, was so schief geht. Weiterhin möchte ich mich bei den Videos aber auch nicht nur auf das Coding konzentrieren. Ich möchte euch bei allen Dingen mitnehmen. Natürlich wird ein großer Teil die Programmierung sein, aber ich zeige euch auch, was ich als Projektverwaltung benutze, wir richten die Website ein, scribbeln, malen/zeichnen und machen all das, was man ebenso macht, um eine kleine Software zu entwickeln.
Worum soll es gehen? Ich habe lange überlegt. Soll ich was mit Datenbanken machen? Soll ich was mit Netzwerkprogrammierung machen? Soll ich Websitekram machen? Soll ich ein Spiel programmieren? Die Antwort war einfach: Ja. Mein Ziel ist es, einen grafischen Chat zu entwickeln, der mit Avataren in einer künstlichen Welt funktioniert. Da haben wir Spieleentwicklung, Netzwerkentwicklung, Datenbankentwicklung, Protokollentwicklung, eine Website soll es auch geben, es wird spannend. Und da ich mir vor vielen Jahren bereits die Domain KooKooK.org gesichert habe, wird das Projekt jetzt einfach mal so heißen.
Welche Tools eingesetzt werden, kann ich jetzt noch nicht sagen. Es wird auf jeden Fall C++-lastig, wahrscheinlich Qt, weil ich auch mobile Plattformen wie iPhoneOS, iOS und Android unterstützen möchte. Den Code werde ich auf GitHub lagern, so dass ihr mit daran entwickeln könnt.
Und jetzt geht es los. Ich wünsche euch und auch mir viel Spaß dabei.
Im neuen Video geht es darum, wie ich meinen QtCreator eingestellt habe. Vor allem habe ich die Einrückungen im Texteditor eingestellt (Tabs statt Leerzeichen, bestimmte Einrückungen, uvm.).
Meine QtCreator-Einstellungen
Ich füge hier einmal die Screenshots der Einstellungen ein:
Ich hatte vor einer Weile ein wenig mit MSDOS in VirtualBox herumgespielt. Ich wollte TurboPascal darauf mal (wieder) ausprobieren. Dafür brauchte ich ein Floppy-Image. In diesem Video zeige ich, wie man das einfach und schnell machen kann.
Floppy Image auf macOS für DOS unter VirtualBox erstellen
Natürlich kannst du Qt auf Linux oftmals über deinen Paketmanager installieren. In diesem neuen Video zeige ich dir aber, wie du das Qt-Framework aus den offiziellen Quellen installieren kannst.
Ich benutze hier als Linux-Distribution Ubuntu Linux 21.10. Mit ein paar einfachen Schritten ist die Installation schnell erledigt.
Zumindest auf Ubuntu 21.10 benötigt man für die Qt-Entwicklug noch das Paket libgl1-mesa-dev (sudo apt install libgl1-mesa-dev). Dann lädt man sich von https://qt.io das Installationspaket herunter, gibt ihm Rechte zum Ausführen und installiert „Qt for desktop development“. Danach kann man direkt loslegen.
Ich dachte mir, ich mache mal ein Video zum Thema: wie installiere ich PostgreSQL auf FreeBSD. Hier ist der Link.
PostgreSQL auf FreeBSD installieren
In dieser Anleitung gehe ich davon aus, dass wir ein frisch installiertes FreeBSD 13 auf dem Rechner haben. Schauen wir uns erst einmal an, welche PostgreSQL-Versionen zur Verfügung stehen:
# pkg search postgresql | grep server
Neben Version 9.6 und 10 bis 13 gibt es bei mir in den Packages die Version 14. Genau diese möchten wir auch installieren:
# pkg install postgresql14-server
Wir bestätigen die Installation des Pakets sowie dessen Abhängigkeiten mit [y] gefolgt von [Enter]. Je nach Internetgeschwindigkeit kann das Herunterladen ein wenig dauern. Bei mir werden, auf einem frischen FreeBSD, 167MB heruntergeladen.
Nach der Installation fügen wir folgende Zeilen in die /etc/rc.conf ein:
Zeile 1 bedeutet, dass PostgreSQL beim Starten des Betriebssystems automatisch gestartet werden soll und sich auch mit „service“ und „start“ starten lässt (anstelle mit onestart).
Zeile 2 legt fest, wo im Dateisystem die Datenbanken liegen sollen. In meinem Fall lautet der Pfad „/server/database/postgresql“. Den müssen wir aber erst erstellen und ihm die richtigen Rechte zuweisen. Wenn du möchtest, dass deine Daten woanders liegen, musst du den Pfad anpassen:
Zeile 3 beinhaltet einige Flags für den Start von PostgreSQL (-s bedeutet „silent“, es werden nur Fehlermeldungen ausgegeben).
In Zeile 4 wird das Standardencoding auf Unicode 8 gestellt.
Ist das alles erledigt, muss zunächst die Datenbank initialisiert werden:
# service postgresql initdb
Wir möchten jetzt aber von außen z.B. mit unserer eigenen Software oder per pgAdmin4 oder mit anderen Datenbanktools auf die Datenbank zugreifen.
Zuerst müssen wir die Datei „/server/database/postgres/postgresql.conf“ bearbeiten und die Zeile mit „listen_addresses“ auf * setzen (oder auf die IP, auf die PostgreSQL lauschen soll).
Dann müssen wir die Datei „/server/database/postgres/pg_hba.conf“ bearbeiten und unter „IPv4 local connections“ eine Zeile anlegen:
Host all all 192.168.0.0/24 password
Hier liegt allerdings der Hund der Sicherheit begraben. Wir sagen damit, dass alle Hosts in dem Netzwerk 192.168.0.0/24 (ihr müsst eure IP natürlich dementsprechend anpassen) mit allen Benutzern auf alle Datenbanken zugreifen können. Das ist schlecht, deshalb überlegt euch ein vernünftiges Sicherheitskonzept! Darum geht es hier allerdings nicht.
Als nächstes können wir PostgreSQL schon starten:
# service postgresql start
Jetzt legen wir noch einen Benutzer an. Nennen wir ihn „Kalle“ und geben ihm auch als Kennwort „Kalle“. Er soll SuperUser sein und Datenbanken anlegen, aber auch löschen können.
# su – postgres
$ createuser -s -P Kalle
Jetzt könnt ihr euch auf euren PostgreSQL-Server verbinden. Achtet darauf, dass dazu der PostgreSQL-Port (Standard 5432) in eurer Firewall freigeschaltet sein muss.