Grundlagen

Der Buildserver, dein Freund und Helfer

Der Buildserver, dein Freund und Helfer

Ein Buildserver ist praktisch im Alltag. Doch was macht ihn aus und welche Vorteile werden geboten? In diesem Artikel gebe ich einen ersten Einblick. Einleitung zu Buildservern Ein Buildserver ist, wie der Name schon sagt, ein Server, welcher dazu da ist, etwas zu bauen. In der Regel wird unter „bauen“ das Erstellen bzw. Kompilieren von Programmcode verstanden. Das Ergebnis kann anschließend weiterverarbeitet werden. In der einfachsten Variante besteht ein Buildserver aus einem Skript, das regelmäßig ausgeführt wird.
Nuget-Projekt mit Visual Studio erstellen

Nuget-Projekt mit Visual Studio erstellen

Wir haben in anderen Artikeln bereits über NuGet gesprochen. Dieser Artikel stellt NuGet etwas genauer vor und erklärt, wie wir eigene Pakete erstellen und diese auf NuGet hochladen. Was ist NuGet? NuGet[1] ist prinzipiell ein Verzeichnis für Code-Bibliotheken. Nuget stellt nur Bibliotheken im .NET-Umfeld bereit. Darunter fallen beispielsweise das .NET Framework, .NET Core, Xamarin und Mono. Mit dieser Bibliothek können Pakete inklusive Abhängigkeiten sehr einfach Verwaltet und in einem Projekt installiert werden.
Grundlagen für gutes API-Design

Grundlagen für gutes API-Design

In diesem Artikel behandeln wir gutes API-Design. Wie können wir den Entwickler an die Hand nehmen und den Einstieg mit einer Bibliothek vereinfachen? Dieser Artikel liefert einige Aspekte. Vorab: Dieser Artikel erhebt keinen Anspruch auf Vollständigkeit. Aufgrund meiner aktuellen Erfahrung mit einem NuGet-package möchte ich vor allem anregen, den Konsumenten einer API bzw. Softwarebibliothek zu unterstützen. Es gibt nichts frustrierenderes als mehrere Stunden mit einer Bibliothek beschäftigt zu sein, um irgendwie zu erfahren, dass man es anders machen muss.
Gleiche Begriffe, unterschiedliches Verständnis

Gleiche Begriffe, unterschiedliches Verständnis

Ich habe in einem vorherigen Beitrag über Code-Guidelines geschrieben. Guidelines sind super, doch was machen wir, wenn wir keine einheitliche Sprache sprechen? Was ist passiert? Es ging um die Modularisierung von einem Projekt und ob es bestimmte Dienste gibt, welche Informationen für diese Module (bzw. die Endanwendung) bereitstellen. Manche dieser Module wurden als Service bezeichnet. Ein Service für Benutzerverwaltung, ein Service zur Berichterstellung, ein Service für Dateiaustausch, ein Service zur Verwaltung der Konfiguration.
Tabellen durch Entity-Attribute-Values dynamisieren

Tabellen durch Entity-Attribute-Values dynamisieren

Dieser Artikel behandelt die Grundlagen von Entity-Attribute-Values. Mit Hilfe dieser Tabellen können Datensätze dynamisch erweiter werden. Aufbau und Struktur Entity-Attribute-Values (im Folgenden EAV) sind im Prinzip Key-Value-Tabellen, die mit einer bestehenden Tabelle verknüpft sind. Hierdurch lassen sich zu einzelnen Datensätzen weitere Eigenschaften ergänzen. Gehen wir davon aus, wir haben eine einfache Personen-Tabelle: Tabelle 1: Personen ID Vorname Nachname 1 Max Müller In dieser Tabelle sind nur bestimmte Felder vorhanden. Aufgrund der Übersichtlichkeit habe ich Elemente wie Adresse etc.
Operatoren für eigene Klassen in C#

Operatoren für eigene Klassen in C#

In diesem Artikel zeige ich euch, wie ihr eigene Operatoren für eure Klassen in C# erstellt. Die Operatoren sind für die einfachen Typen wie String, Integer und Boolean definiert. Eine eigene Klasse kann meist nicht durch einen Operator mit einer anderen Klasse verbunden werden. Dieser Artikel bezieht sich auf die Sprache C# und kann ggfs. von anderen Sprachen abweichend sein. Was sind Operatoren? Mit Operatoren sind Funktionen wie plus, minus, mal und geteilt gemeint.
Code-Guidelines, um Fehler einfacher zu erkennen

Code-Guidelines, um Fehler einfacher zu erkennen

Ich bin über folgenden Artikel von Joel Spolsky gestoßen: Making Wrong Code Look Wrong . Der Artikel ist schon einige Jahre alt aber, wie ich finde, immernoch aktuell. Wir Entwickler lieben es, lesbaren Code zu schreiben und immer positiv zu bleiben 😉 Verschiedene Kriterien wie Wartbarkeit, Erweiterbarkeit usw. sind bekannt. Leider kommt es manchmal dazu, dass wir unsauberen Code schreiben. Vor allem, wenn es sich ein Provisorium zur einmaligen Ausführung handelt (welche erfahrungsgemäß am längsten im Einsatz sind).
Entwicklung eines Chats III - Entwicklung des Clients

Entwicklung eines Chats III - Entwicklung des Clients

Dieser Artikel bildet den Abschluss unseres Chat-Clients. Nachdem wir ein Konzept erarbeitet haben und der Server entwickelt wurde, brauchen wir nun einen Client. Dieser stellt eine Verbindung mit dem Server her. Anschließend kann mit allen angemeldeten Personen gechattet werden. Teil I – Grundlagen und Konzept Teil II – Entwicklung eines Servers Teil III – Entwicklung eines Clients(dieser Artikel) Aufgaben des Clients Da der Server den größten Teil der Funktionslogik besitzt (und die Datenhaltung organisiert) muss der Client im Grunde nur den Nachrichtenaustausch bewältigen.
Entwicklung eines Chats II - Entwicklung des Servers

Entwicklung eines Chats II - Entwicklung des Servers

Nach der etwas längeren Osterpause geht es nun weiter mit meinen Artikeln. Im ersten Teil haben wir uns mit einem kurzen Konzept auseinandergesetzt. Dieser Artikel beschreibt, wie wir einen Chatserver aufsetzten können. Teil I – Grundlagen und Konzept Teil II – Entwicklung eines Servers (dieser Artikel) Teil III – Entwicklung eines Clients Sockets – TCP oder UDP Mit Sockets wird eine Verbindung zwischen netzwerkfähigen Geräten hergestellt. Als Protokolle zur Datenübertragung stehen UDP und TCP zur Verfügung.
Datenbanken 03 - Datenbank und Tabellen erzeugen

Datenbanken 03 - Datenbank und Tabellen erzeugen

Dieser Artikel bietet eine Einführung in SQL und praktische Beispiele. Wir sehen uns an, wie wir Datenbanken und Tabellen erstellen und löschen. Vorbereitung des Systems Als Grundlage verwende ich XAMPP/MAMP. Das sind Komplettpakete, welche eine fertige Umgebung zur Entwicklung von Webseiten mit PHP bereitstellen. Sie enthalten u.a. einen Webserver (Apache/NGINX), die PHP Laufzeitumgebung und einen SQL-Server (MySQL/MariaDB). XAMPP ist die Variante für Windows. MAMP ist prinzipiell das Gegenstück für Mac OS.