Aktuelle Blogbeiträge:

Multithreading

Multithreading (auch Nebenläufigkeit oder Mehrsträngigkeit) bezeichnet das parallele Abarbeiten mehrerer Ausführungsstränge, sogenannter Threads, innerhalb eines Prozesses. Dadurch kann ein System schneller auf Ereignisse reagieren und die zur Verfügung stehende Hardware besser ausnutzen. Insbesondere durch die wachsenden Anforderungen an Software und immer leistungsstärkere Hardware gewinnt Multithreading in der modernen Softwareentwicklung an Bedeutung. Dementsprechend gibt es mittlerweile einige unterschiedliche Möglichkeiten, wie Multithreading in der Praxis umgesetzt werden kann. 

Hier weiterlesen!

Machine Learning

Maschinelles Lernen (engl. Machine Learning) ist ein aktuelles Thema. Viele große Unternehmen von Google über Amazon bis Netflix setzen auf Machine Learning-Systeme, um ihre Daten besser zu verstehen, Empfehlungen zu generieren oder Betrug aufzudecken. Auch in anderen Branchen, wie der Automobilindustrie oder Medizin, ist Machine Learning vielversprechend. 

Grundsätzlich handelt es sich um ein Teilgebiet der künstlichen Intelligenz, das auch Algorithmik und Statistik einschließt. Es geht darum, künstlich bzw. automatisiert Wissen aus Erfahrung zu generieren. Bei einem klassischen Algorithmus ist von Anfang an festgelegt, was bei einer bestimmten Eingabe passieren soll.


Hier weiterlesen!

Software-Entwurfsmuster

Entwurfsmuster, im englischen Design oder Software Patterns genannt, sind Lösungsschablonen für häufig auftretende Probleme in der Softwareentwicklung, insbesondere im Design einer Softwarearchitektur. Sie ermöglichen es, flexible und stabile Software zu entwickeln, indem bewährte Strategien und Ansätze generisch und wiederverwendbar definiert werden. Jedes Pattern ist dabei auf einen oder zwei Aspekte der Software spezialisiert, die unabhängig beleuchtet werden.

Hier weiterlesen!

Was ist NodeJS?

Webanwendungen spielen in der Softwareentwicklung eine immer größere Rolle. Klassischerweise wird dazu ein Frontend (die Nutzeroberfläche) gesondert vom Backend (dem dahinterliegenden Server) entwickelt. Für die Gestaltung der Oberfläche haben sich seit Jahren HTML bzw. HTML5 und CSS bewährt. Um Logik auch im Frontend zu implementieren, wird gerne auf die Skriptsprache JavaScript zurückgegriffen. Im Backend hingegen kommen vor allem Sprachen wie Python, Ruby oder PHP zum Einsatz.

Das hat mittlerweile allerdings einige Nachteile ...

Hier weiterlesen!

Interaktive Grafiken mit HTML5 erstellen

Grafikdesign ist fester Bestandteil heutiger digitaler Medien. Visuelle Darstellungen lockern dabei nicht nur trockene Texte auf. Sachverhalte lassen sich durch Grafiken oftmals schneller vermitteln als durch reinen Text, zu dem sich der Leser erst eine visuelle Vorstellung bilden muss. Über statische Grafiken hinaus bieten bewegte Bilder deutlich mehr Möglichkeiten zur Veranschaulichung von Abläufen und Prozessen. Am weitesten geht die Königsdiziplin der Visualisierung: interaktive Grafiken. Der Anwender erhält eine lebendige Vorstellung eines dynamischen Systems, indem er in die Abläufe eines Modells eingreifen kann und den sich wandelnden Zustand visuell verfolgen kann.

Interaktive Grafiken eignen sich nicht nur weitreichend für zum Beispiel Konzeptvisualisierung und eLearning, sondern auch für animierte Clips und Spiele.

Hier weiterlesen!

Gästebuch programmieren: Teil 2 PHP und MySQL

Im ersten Teil dieser Blogserie entstand die Struktur für ein Gästebuch-Formular, in das die Benutzer ihren Namen, ihre E-Mail Adresse und einen Kommentar eintragen konnten. Dieses HTML-Formular wurde mit CSS formatiert.

Erstellen einer Datenbank zum Speichern der Einträge

Die Einträge aus dem Gästebuch müssen nun jedoch noch gespeichert werden. Dabei findet MySQL Anwendung.

Bei MySQL handelt es sich um ein Datenbankmanagementsystem (DBMS), das in der Lage ist Informationen in tabellarischer Form in Datenbanken zu speichern und über die Datenbanksprache SQL (Structured Query Language) gesteuert werden kann.

Hier weiterlesen!

Gästebuch programmieren: Teil 1 HTML und CSS

Ein Gästebuch gibt Besuchern die Möglichkeit, ihre Gedanken zu hinterlassen und sorgt für wertvolles Feedback. Außerdem ist es in der Lage einen Austausch zwischen den Benutzern zu ermöglichen.

Aufbau einer ebsite

Für das Programmieren eines Gästebuchs werden vier verschiedene Dinge verwendet. Dabei handelt es sich um HTML, CSS, PHP und MySQL.

HTML ist eine textbasierte Sprache, die den grundlegenden Aufbau von Websites festlegt. Sie strukturiert aus welchen Elementen und Inhalten die Seite besteht. HTML legt also eine fixe Struktur der Seite fest, ist aber nicht in der Lage diese zu formatieren oder diese als Reaktion auf Ereignisse zu verändern.

CSS ist eine Stylesheet-Sprache für die Formatierung von Websites. Sie erzeugt Gestaltungsanweisungen für die mit HTML festgelegten Elemente.

Hier weiterlesen!

Überblick: Welche verschiedenen Programmiersprachen gibt es?

Wer Programmieren lernen will, der muss sich nicht nur für ein Projekt, sondern auch für eine passende Programmiersprache entscheiden. Obwohl man die Sprache während des Lernens natürlich jederzeit wechseln kann, sollte man sich vorerst auf eine Sprache konzentrieren, um die grundlegenden Konzepte des Programmierens besser zu verstehen. Je mehr Erfahrung man dann gesammelt hat, umso leichter wird schließlich der Wechsel zwischen den Sprachen fallen. Die Frage ist nur: Welche Sprache ist wann am besten geeignet? 

Hier weiterlesen!

Was ist Docker?

Docker ist, vereinfacht gesagt, eine Software, die dazu dient, auf dem Betriebssystem Linux basierende Container zu erstellen beziehungsweise zu virtualisieren. Um Docker verstehen und anwenden zu können, ist es zunächst sinnvoll, einen kurzen Abstecher in die Welt des freien Betriebssystems Linux zu unternehmen.  Linux ist ein quelloffenes, von dem, in den USA lebenden, Finnen Linus Torvalds entwickeltes Computer-Betriebssystem, das grundsätzlich für jedermann kostenlos und ...

Hier weiterlesen!

Programmcode testen

Die besten Lösungen für alle Anforderungen in einem vorgegebenen Anwendungsbereich: Softwareentwickler verfolgen hochgesteckte Ziele. Ob sie ihrem Anspruch gerecht werden, ist in der Regel nicht auf den ersten Blick ersichtlich. Erst konsequente Überprüfung fördert die wahren Eigenschaften von Softwareprodukten zutage. Dabei lässt sich Qualität am besten dadurch beweisen, dass man sie hinterfragt. Die technischen Mittel dazu liefern systematische Testverfahren.

Hier weiterlesen!

Clean Code

Schlechten Code gibt es in fast überall – und auch wenn er funktioniert, sollte man ihn beseitigen. Denn damit der Code weiterhin funktioniert, ist viel Zeit und Wartungsarbeit nötig, was die Produktivität reduziert. Zudem ist unsauberer Code demotivierend für andere Entwickler, die sich mit dem Code auseinandersetzen müssen, anfällig für Fehler und nur sehr schwer auf neue Anforderungen anzupassen. Die Ursache für unleserliche Methoden und obskure Implementierungen sind neben externen Faktoren wie Zeitdruck vor allem fehlende Coding-Standards oder mangelnde Kenntnisse über Entwurfsmuster. Dabei sollte das heutzutage eigentlich kein Problem mehr sein. Mächtige Entwicklungsumgebungen, neue Sprachfeatures und schlichtweg Erfahrungswerte, die bestimmte Standards und Herangehensweisen etabliert haben, ermöglichen es, einfacher besseren Code zu schreiben. Ein guter Einstieg in die Welt der "sauberen" Programmierung ist Clean Code, eine Sammlung von bewährten Prinzipien und Praktiken, die Entwickler schrittweise zu einem guten Programmierstil leiten....

Hier weiterlesen!