Artikel in 2021
Gedanken zu Softwareentwicklung, Spielen, Design und den Dingen, die ich unterwegs lerne.
Erstellen einer Liste mit mehreren, unterschiedlichen Typen in C#
Grundsätzlich ist C# eine sehr stark typisierte Sprache und auch Listen erlauben meistens nur einen definierten Datentyp. Mittels ArrayList kann man diese Einschränkung allerdings ein Stück weit umgehen.
Screenshot in Unity aufnehmen
Screenshots lassen sich in Unity sehr einfach über die ScreenCapture-Klasse bzw. die CaptureScreenshot-Methode erstellen. Ihr könnt die unten beschriebene Klasse verwenden. Erstellt einfach ein neues Script CaptureScreenshot.cs und fügt den Code dort ein. Anschließend müsst Ihr das neue MonoBehaviour nur noch einem GameObject anfügen. Ihr könnt den Unterordner folder und die Taste key anschließend einfach über den Inspector auswählen. Screenshots werden in Eurem System-Ordner Bilder gespeichert.
Wie erstellt und nutzt man ein Singleton in Unity?
Ein Singleton in Unity zu erstellen ist ziemlich einfach. Es funktioniert im Grunde genommen relativ ähnlich zu dem Vorgehen in Vanilla-C#. Mit dem kleinen Unterschied, dass wir uns im Grunde genommen nicht um die Initialisierung Sorgen machen müssen (zumindest bei MonoBehaviours).
Wie man bösartige Schwachstellen-Scanner in Laravel mit Fail2ban stoppt
Jede Webseite wird täglich mit dutzenden ungewollten Anfragen bombardiert. Die Rede ist hier von sogenannten Schwachstellen-Scannern. Was es damit auf sich hat und wie man die ungebetenen Gäste bekämpfen kann, erfahrt Ihr in diesem Artikel.
Wie man 404-Seite-nicht-gefunden-Fehler in Laravel protokolliert
Das Loggen von Page Not Found Fehlern ist in Laravel ziemlich einfach. Jede Laravel-Installation hat einen Exceptions-Handler, der für die Anzeige von Fehlermeldungen verwendet wird. Du kannst einfach die Render-Methode dieser Klasse bearbeiten und eine Protokollnachricht für 404-Statuscodes hinzufügen.
Runtime Storage in C#
Manchmal möchte man einfach nur mal eben einen Wert abspeichern. Dafür habe ich die RuntimeStorage-Klasse geschrieben. Sie dient mir in einigen Spielen als naiver Zwischenspeicher für ein paar weniger wichtige Werte.
Wie erstellt und nutzt man ein Singleton in C#?
Ein Singleton zu erstellen ist relativ simpel. Zunächst erstellen wir eine statische Variable _instance. Zusätzlich eine Property Instance. Diese nutzen wir später, um auf das Singleton zugreifen zu können. Zusätzlich wird dort eine neue Instanz der Klasse erstellt, sollte noch keine vorhanden sein. So gewährleisten wir auch, dass das Singleton genau im richtigen Moment initialisiert wird. Nämlich nur dann, wenn wir ihn auch brauchen.
Persistente Daten in Unity speichern
Die PlayerPrefs-Klasse bietet eine einfache Möglichkeit skalare Daten in Unity persistent abzuspeichern. Ich nutze an dieser Stelle gerne einen eigenen Abstraktions-Layer, falls ich die Speichermethodik irgendwann einmal ändern möchte. Auch harmoniert der Layer sehr gut mit der von mir entwickelten RuntimeStorage-Klasse.
Zuweisen einer statischen IP-Adresse in einem lokalen Netzwerk
Du kannst die zugewiesene IP Adresse Deines Rechners umstellen, indem Du die Datei /etc/network/interfaces editierst. Suche dort nach Deinem primären Ethernet-Controller (in der Regel eth0). Ändere den Wert von dhcp auf static. Dann kannst Du address (IP-Adresse) und Gateway (in der Regel Dein Router) angeben. Anschließend Netzwerk oder Rechner neu starten. Getestet unter Ubuntu und Rasbperry Pi OS.
Erstellen einer neuen MySQL-Datenbank mit einem zugewiesenen Benutzer
Um einen Benutzer und eine Datenbank in MySQL zu erstellen, braucht es nicht viele Befehle. Zunächst einmal muss die Datenbank erstellt.
Wie man DDEV auf einem Apple M1 Mac installiert
Es passiert nicht oft, dass ich zu den Early Adopters gehöre. Nach der Ankündigung des neuen Silicon-Prozessors von Apple wollte ich diesmal aber vorne mit dabei sein. Zu Beginn gab es natürlich noch kaum kompatible Software. Darum musste ich für die Arbeit auf MAMP und lokale PHP-Installation zurückgreifen – furchtbar unflexibel. Nun habe ich es aber endlich geschafft Docker und DDEV zum Laufen zu bekommen.
Aureola optimieren: Fazit
In den letzten Artikeln dieser Serie habe ich Euch gezeigt, wie ich meinen Blog optimiert habe. Nicht nur konnte ich dabei die Größe der Webseite verringern, auch die Antwortzeit hat sich teils deutlich verbessert. Zeit uns das Ergebnis einmal anzuschauen und ein Fazit zu ziehen.