Pointer waren mir zwar ein Begriff, allerdings ist die Verwendung in Go an bestimmten Stellen doch etwas spezieller (zumindest für mich). Normalerweise werden in Go Parameter als Werte (AsValue) übergeben (und nicht als Referenz/Pointer (AsReference)). Eine Ausnahme hierfür stellen folgende vier Typen: Diese vier Typen werden immer als Pointer übergeben, ohne dass explizit ein * […]
Channels sind eines dieser Dinge, die mir in Go besonders gefallen. Wenn man die handvoll Konzepte, die dazugehören, verstanden hat, dann lässt sich damit die Synchronisation und Kommunikation zwischen Goroutinen super einfach und performant behandeln. Das Erstellen eines Channels passiert mit make. Zusätzlich wird der Typ angegeben, der im Channel kommuniziert wird. Die letzte Entscheidung […]
SQLite ist eine kleine (leichtgewichtige) SQL-Datenbank-Engine, die ohne einen Datenbankserver auskommt. Die Datenbank ist in C geschrieben und bekannt für ihre Einfachheit und Portabilität. Die komplette Datenbank (Schema, Daten) ist in einer einzigen Datei gespeichert. Diese Datei kann bis 281 TB groß sein. Sprich hier wird eher die Hardware zum Problem werden, bevor SQLite an seine […]
Ein Prozess hat ein oder mehrere Threads. Das Betriebssystem plant und verteilt Threads auf verfügbare CPU-Kerne. Wenn der Thread im Wartemodus oder blockiert ist, dann kann ein anderer Thread diesen CPU-Kern verwenden. Das Erzeugen und Löschen von Threads ist recht aufwendig. Daher hat .NET einen Thread-Pool, aus dem sich die Anwendung aus einem begrenzten Pool […]
Passend zum letzten Beitrag über EF Core, hier eine kurze Zusammenfassung zu Dapper. Dapper ist ein leichtgewichtiges Micro-ORM, das sich primär auf das schnelle Laden von Daten aus der Datenbank und Mappen der Ergebnisse in Objekte konzentriert. Im Vergleich zu anderen ORMs wie bspw. EF Core müssen bei Dapper die SQL-Statements von Hand geschrieben werden. […]
Entity Framework Core (kurz EF Core) ist ein ORM-Framework (Object-Relational Mapping) von Microsoft. Es ermöglicht .NET-Entwicklern, Datenbankoperationen über .NET-Objekte durchzuführen, ohne direkt SQL-Abfragen zu schreiben. Es werden unterschiedlichste Datenbankanbieter unterstützt (Microsoft SQL Server, Oracle, SQLite, PostgreSQL, …) und es bietet Unterstützung für LINQ-Abfragen, Change-Tracking, Migration und vieles mehr. Installation .NET EF Tools Mit Hilfe der […]
Pakete, die mit pip installiert werden, werden standardmäßig global installiert. Dies hat den Nachteil, dass immer nur eine Version des Pakets verfügbar ist, was bei unterschiedlichen Anwendungen zu Problemen führen kann. Daher wird empfohlen, für Anwendungen sogenannte „Virtual Environments“ zu erstellen. Dies wird wie folgt gemacht: Dadurch wird im aktuellen Verzeichnis ein Unterordner „env“ erstellt. […]
Dezente 3D-Animationen haben was, finde ich 😀. Mit Hilfe von CSS sind diese auch relativ einfach und mit wenig Code machbar. Dennoch gibt es ein paar Kleinigkeiten, die es zu berücksichtigen gilt. Ich verwende in meinen Beispielen so gut es geht Tailwind und nur für die Spezialitäten klassisches CSS. Da Tailwind per heute keine speziellen […]
In CSS können mithilfe von Animation/Keyframes mittlerweile Animationen recht einfach erstellt werden. Sollen aber mehrere Animationen z. B. für unterschiedliche Elemente in Reihe geschaltet werden, kann dies relativ schnell komplex werden. Und hier kommt u. a. GSAP ins Spiel. Dabei handelt es sich um eine umfangreiche Bibliothek, die schon über 10 Jahre existiert und sogar Animationen im […]
Gleich vorweg, es geht um Berechtigungen – mein Lieblingsthema (Sarkasmus aus…). Und zwar geht es im Konkreten darum, dass eine Single-Page Application, die auf der Domäne A liegt, auf Endpunkte eines ASP.NET Core Web API Projektes zugreifen soll, die auf der Domäne B liegen. Der Fall ist mMn durchaus realistisch, da bspw. die SPA in […]