Das Computerspiel Sokoban lässt sich seit 1982 auf verschiedenen Computersystemen spielen. Seit neuestem auch auf Milchtüten. Eine Anleitung zum Basteln.
t2informatik Blog – Tipps und Tricks für Ihre Softwareentwicklung
Trojaner in der Praxis
Welche Formen von Trojanern gibt es? Wie können Sie einen Trojaner selbst bauen und warum ist bei Baukästen besondere Vorsicht geboten?
Cross-Cutting Concerns durch Muster lösen
Cross-Cutting Concerns betreffen Softwarearchitekturen und alle Dienste, die in einer Anwendung benötigt werden. Welche Muster helfen bei der Problemlösung?
Duales Studium Informatik – Ein Gespräch ein Jahr danach
Was erwartet Studierende während der Theorie- und Praxisphasen beim dualen Studium der Informatik? Und wie wichtig ist die Wahl des Arbeitgebers? Ein Gespräch.
Programmieren in der Schule lernen
Die Frage, ob Kinder bereits in der Schule programmieren lernen sollen, wird heiß diskutiert. Oft wird dabei ein Punkt übersehen: Wir brauchen eine Revolution!
IT Dienstleister Berlin
Der Wettbewerb für IT Dienstleister in Berlin ist groß. Viele Unternehmen stehen vor einer zentralen Herausforderung, für die es nur eine logische Antwort gibt.
Dokumentation im Code – Pro und Contra
Die Diskussion über die Dokumentation im Code ist nicht neu. Zeit für ein Pro und Contra, und Zeit für die Frage, was tatsächlich dokumentiert werden soll.
Kein Wunder, dass sich kein Softwareentwickler bei Ihnen bewirbt
Unternehmen tun sich schwer, Softwareentwickler zu finden. Häufig schalten sie Stellenanzeigen, doch die gewünschten Bewerber*innen bleiben fern. Kein Wunder.
Entwickler*innen 2020 – Motive und Zahlen
64.416 Entwickler*innen nahmen an der jährlichen Umfrage von Stack Overflow über Technologien, Tools, Jobs und Einstellungen teil. Eine Auswahl der Ergebnisse.
ExtendableEvents – erweiterbar in der Dimension „Zeit“
ExtendableEvents sind JavaScript-Events, die durch ServiceWorker in Progressive Web Apps genutzt werden. Wie funktionieren sie im Detail? Ein Beispiel mit Code.
Avalonia UI – Cross-Platform WPF Anwendungen mit .NET Core entwickeln
Avalonia UI ist ein Cross-Platform .NET Framework, inspiriert vom WPF. Wo liegen Vorteile und Unterschiede zur Arbeit mit WPF? Lohnt sich der Einsatz? Ein Erfahrungsbericht.
App-Entwicklung mit NativeScript
Wie funktioniert die Entwicklung einer App mittels NativeScript unter Verwendung der Angular-Integration? Wo liegen Vorteile und Grenzen?
Anforderungsanalyse, aber remote
Die Anforderungsanalyse kennt zahlreiche Methoden und Techniken. Welche Methoden davon funktionieren remote bzw. online? Und welche zusätzlichen Tipps gibt es?
Warum ich als Software-Architektin nicht überflüssig bin
Teams übernehmen heutzutage viele Aufgaben im Zuge von Entwicklungen. Das verändert auch die Rolle des Software-Architekten. Eine Meinung.
Warum ich bei Godot gelandet bin
Es gibt zahlreiche Engines zur Entwicklung von Spielen. Warum ist Godot Engine und Gdskript eine gute Wahl? Ein Reise von löve2D, über MonoGame, Unity, Unreal Engine zu Godot.
Eine Alternative zu Scrum bei Auftragsprojekten
Nicht alle IT-Verantwortlichen haben positive Erfahrungen mit Scrum bei Auftragsprojekten gemacht. Wie könnte eine Alternative im Kontext von Low-Code-Entwicklungen aussehen?
Smartphone-Anwendungen mit Flutter erstellen
Mit Flutter lassen sich mobile Anwendungen sowohl für Android als auch für iOS entwickeln. Ein Beispiel inklusive Implementierung einer Datenschicht und Aufruf eines Services.
Von der Idee zum Prototyp
Das schnelle Testen von Produktideen ist für viele Unternehmen sehr wichtig. Wie können Prototypen und insbesondere Klickdummys helfen? Und welches Vorgehen passt dazu?
30 Events für Software Developer in 2020
Sie wollen 2020 Ihr berufliches Netzwerk ausbauen, Veranstaltungen besuchen und sich mit Kollegen aus der IT austauschen? Hier finden Sie 30 Events für Software Developer in 2020.
WebApps in der Adresszeile des Browsers
Wie lässt sich eine WebApp programmieren, die so klein ist, dass sie in die Adresszeile des Browsers passt? Eine technische Spielerei mit konkretem Anwendungsfall.
Mehr Mut zum User Testing!
Es gibt viele Ausreden, warum Organisationen auf User Testing verzichten. Wieso ist User Testing wichtig und wie gelingt es mit wenig Aufwand?
Die eine Fähigkeit, die wir in der digitalen Zukunft brauchen
Immer lauter werden die Forderungen, Schulkindern frühzeitig das Programmieren beizubringen. Doch wie sinnvoll ist das und welche Fähigkeit wird in Zukunft noch wichtiger?
Was Computerhersteller von Landwirten lernen können
Können Sie sich vorstellen, dass Milch und Benzin in einem gemeinsamen Tank transportiert wird? Im übertragenen Sinn machen Computerhersteller genau dies und das hat Konsequenzen.
Vom Monolithen zu Microservices
Wie können Sie einen Monolithen zu einer Microservice-Technologie entwickeln? Ein Erfahrungsbericht über Stabilität, Performanz, Automatisierung, Testbarkeit, Pflegbarkeit.
Defizite der Computerarchitektur
Hacker nutzen konsequent Defizite in der Computerarchitektur aus. Welche Defizite gibt es und wie könnte eine Computerarchitektur der Zukunft aussehen?
Die Implementierung von Clean Code
Prinzipien und Praktiken professioneller Softwareentwicklung genügen nicht, um Clean Code zu implementieren. Wie lässt sich Clean Code entwickeln?
Agilität beginnt im Herzen
Viele Organisationen versuchen, agiler zu werden, doch der „Excellarator“, die „Statusrititis“ und der „General“ haben etwas dagegen. Hier sind Empathie und Herz gefragt.
Conways Einbahnstraße
Wenn eine Softwarearchitektur, die in einer Organisation entsteht, deren Struktur reproduziert, wie wirkt sich eine Anpassung der Organisation auf vorhandene Architekturen aus?
Agiles Requirements Engineering
Ersetzt agiles Requirements Engineering das traditionelle Requirements Engineering? Wo liegen Grenzen und wo ergibt der Einsatz von klassischen Techniken weiterhin Sinn?
Daten- oder Control-orientierte Programmierung
Was spricht für den Einsatz von Single Page Application (SPA) Frameworks? Warum bietet datenorientierte Programmierung Vorteile gegenüber einer Control-orientierten Programmierung?
Die Künstliche Intelligenz und unsere Zukunft
Ist Künstliche Intelligenz lediglich die Fortführung einer bekannten Entwicklung oder wird sie das Leben als solches revolutionieren? Eine Meinung.
Anforderungsmanagement mit Jira und Confluence
Wie lassen sich Jira und Confluence für ein integriertes Anforderungsmanagement nutzen? Welches Tool sollte für welche Aufgaben genutzt werden und wo liegen Grenzen?
Das interaktive Beacon
Interaktive Beacons könnten die Kommunikation zwischen Menschen und mit Maschinen revolutionieren. Welche Technologien und welche Anwendungsszenarien gibt es bereits?
Design Emergency
Design Emergency ist ein Phänomen, bei dem das Design einer Software über die Entwicklungsdauer immer schlechter wird. Was können Sie tun, um diesen Notstand zu beseitigen?
Tipps zu Spring Async – Teil 3
Wie funktioniert das Spring Async Konzept im Web beim Arbeiten mit Http-Requests? Dritter und letzter Teil der Reihe über die @Async-Annotation – wieder mit Codebeispielen.
Entwickler 2019 – Motive und Zahlen
88.883 Entwickler aus 179 Ländern haben an der jährlichen Umfrage von Stack Overflow zu Methoden, Technologien und ihrem Arbeitsumfeld teilgenommen. Eine Auswahl der Ergebnisse.
State Management im Frontend mit Observable Store
Das State Management im Frontend muss einfacher werden, doch viele Standardmuster sind komplex und nicht leicht zu verstehen. Wie sieht eine alternative Lösung aus?
Missverständnisse beim Requirements Engineering
Bei der Arbeit mit Fachabteilungen gibt es oftmals Missverständnisse. Wo liegen die Ursachen für diese Missverständnisse und wie lassen sie sich in der Praxis vermeiden?
Tipps zu Spring Async – Teil 2
Wie funktioniert das Exception Handling der @Async-Annotation in Spring Boot? Teil 2 der Reihe über die @Async-Annotation – wieder mit Codebeispielen.
Softwareentwicklung leicht gemacht
Gute Software macht Produkte lebendig. Erfahren Sie alles Wichtige zu hyperagilen Vorgehensweisen, Best Practices und den Top10 der modernen Softwareentwicklung. Eine Persiflage.
Tipps zu Spring Async – Teil 1
Spring Boot gilt als Allzweckwaffe in der Softwareentwicklung, doch trotz der Einfachheit lohnt es sich, einige Details wie bspw. die @Async-Annotation genauer zu kennen.
Die agile Dokumentation in der Softwareentwicklung
Der Sourcecode reicht als Dokumentation – so lautet eine nicht immer zutreffende Aussage von Entwicklern. Wie gelingt agile Dokumentation als Teil der Softwareentwicklung?
Fehlerbehandlung in Angular-Anwendungen
Wie lassen sich in Angular-Anwendungen Fehler loggen und persistieren, wie erfolgt eine Fehlermeldung und wie funktioniert der Export der Fehlerliste? Ein Vorschlag.
CI/CD Pipeline auf einem Raspberry Pi – Teil 4
Wie können Sie auf einem Raspberry Pi eine CI/CD Pipeline aufsetzen? In Teil 4 des Experiments geht es um das Deployment, den Test der Pipeline und ein Fazit.
CI/CD Pipeline auf einem Raspberry Pi – Teil 3
Wie können Sie auf einem Raspberry Pi eine CI/CD Pipeline aufsetzen? In Teil 3 des Experiments geht es um die Vorbereitung des Jenkins-Servers und ein erstes Build-Client-Projekt.
Zentral-IT versus Schatten-IT
Die Schatten-IT wächst in zahlreichen Unternehmen kontinuierlich. Für die Zentral-IT bietet dies Herausforderungen und Chancen. Wie gelingt die optimale Zusammenarbeit?
CI/CD Pipeline auf einem Raspberry Pi – Teil 2
Wie können Sie auf einem Raspberry Pi eine CI/CD Pipeline aufsetzen? In Teil 2 des Experiments geht es um die Einrichtung eines Build-Servers.
CI/CD Pipeline auf einem Raspberry Pi – Teil 1
Lässt sich auf einem Raspberry Pi eine Continuous Integration / Continuous Delivery (CI/CD) Pipeline aufsetzen? Welche Schritte sind in welcher Reihenfolge nötig? Ein Experiment.
Performance-Optimierung für WPF Anwendungen – Teil 2
Wie lässt sich die Performance einer WPF Anwendung optimieren? U.a. mit der Entfernung von Visuals, dem Verringern von ResourceDictionary Lookups und der Entlastung von UI-Threads.
Performance-Optimierung für WPF Anwendungen – Teil 1
Wie lässt sich die Performance einer WPF Anwendung optimieren? U.a. mit ObservableCollections in ItemsControl-basierten Views und der Reduzierung von Binding-Overheads.
Die größten Hindernisse im Requirements Engineering
In der Theorie klingt Requirements Engineering einfach, in der Praxis tauchen aber immer wieder Hindernisse auf. Wie können Sie diese identifizieren und überwinden?
Digital Designer – ein neuer IT-Beruf?
Die Digitalisierung fordert ein Umdenken in der Softwareentwicklung. Der Digital Designer soll sich um die Gestaltung der Software kümmern. Wie sinnvoll ist das?
Die 5 wesentlichen Vorteile von Angular und TypeScript
Angular und TypeScript bieten Entwicklungsteams eine Reihe von Vorteilen. Wie werden Konsistenz, Produktivität, Wartbarkeit, Modularität und Fehlererkennung unterstützt?
Vom Business Model Canvas zum Backlog
Aus dem Business Model Canvas lässt sich ein initiales Backlog ableiten. Wie ist der Aufbau und welche Informationen helfen einem Product Owner bei der Definition der Items?
Rapid Prototyping mit Lego Mindstorms
Lego Mindstorms ist ein Tool zum schnellen Erstellen von Prototypen und Modellen u.a. für den Roboter-, Fahrzeug- und Maschinenbaubereich. Wie gelingt ein Rapid Prototyping damit?
SAFe – Die nächste (R)Evolution unserer Arbeitswelt?
Was unterscheidet SAFe von anderen agilen Vorgehensmodellen? Welche Herausforderungen adressiert es und was muss bei einer Einführung beachtet werden?
Die Wahl der „richtigen“ JavaScript-Bibliothek
Wie entscheiden Sie, was die richtige JavaScript-Bibliothek oder das passende Framework für Ihre Anwendung ist? Welche Fragen helfen bei der Auswahl?
Kunden wissen nicht, was sie wollen
Stimmt es, dass Kunden nicht wissen was sie wollen? Liegt das Problem auf seinen des Kunden oder beim Dienstleister? Und was würde ein guter Dienstleister gegebenenfalls tun?
Sinn und Unsinn der Unittest Coverage
Coverage ist ein wichtiger Aspekt bei Unittests. Welche Arten und welche Probleme gibt es, wie wichtig ist ein Testkonzept und worauf sollten Organisationen unbedingt achten?
Wie gut ist Ihre Lösung?
Halten die entwickelten Lösungen, was Sie sich von ihnen erwartet haben? Und wie lassen sich Lösungen überhaupt bewerten? Die Antwort lautet: mit einer Solution Evaluation.
Scrumban in der Softwarewartung
Mit Scrumban können Organisationen die Vorteile von Scrum und Kanban kombinieren. Wie lässt sich mit Scrumban die Softwarewartung verbessern und wie gelingt die Einführung?
Embedded GIS: Gemeinsame Sach- und Geodatenverarbeitung
Die Integration von GIS-Produkten in individuell programmierte Fachanwendungen ist möglich, aber ineffizient und qualitativ wenig überzeugend. Welche Wege können Anbieter gehen?
How to rock your Sprint Retrospective
Die Sprint Retrospektive ist eine der wichtigsten Zeremonien, die es in agilen Prozessen gibt. Wie kann sie in schwierigen Situation helfen und wie sollte sie strukturiert werden?
Das Problem mit dem Stolz
„Stolz sagt man ja nicht.“ Dennoch kann Stolz etwas Positives und Wertvolles sein. Welche Wirkung kann Stolz auf die Leistung von Softwareteams und einzelnen Teammitglieder haben?
Die geplante Obsoleszenz
Güter zu produzieren, die eine absichtlich kurze Nutzungsdauer haben, wird als geplante Obsoleszenz bezeichnet. Welche Obsoleszenz-Strategien gibt es bspw. bei Smartphones?
Der Wert eines Unternehmens
Apple Inc. ist das teuerste Unternehmen aller Zeiten. Macht das den US-Konzern auch zum wertvollsten Unternehmen weltweit? Wann ist ein Unternehmen wertvoll? Und für wen?
Was verhindert Kreativität bei der Anforderungserhebung?
Bei der Migration von Technologien oder Systemen bieten sich kreative Chancen, die nicht immer genutzt werden. Ängste verhindern Kreativität – was lässt sich dagegen tun?
Microservices vs. Monolithische Architekturen
Welche Aspekte gilt es bei einer Entscheidung zwischen Microservices und monolithischen Architekturen zu berücksichtigen? Wie wichtig sind Wissen, Infrastruktur und Budget?
Low-Code-Plattformen in der dezentralen IT
In vielen Unternehmen gibt es eine Schatten-IT, die sich kaum eindämmen lässt. Low-Code-Plattformen werden on der Zentral-IT betrieben und können Licht in die Schatten-IT bringen.
Die Telemetrie bei VS Code deaktivieren
VS Code überträgt standardmäßig Nutzungsdaten und Absturzberichte an Microsoft. Wie können Sie diese als Telemetrie bezeichnete Datenübertragung deaktivieren?
Was sind Low-Code-Plattformen?
Wie funktionieren Low-Code-Plattformen, welche unterschiedlichen Konzepte gibt es, welche Vorteile bietet Low-Code und was ist ein Citizen Developer?
Microservices mit Spring Boot und Docker erstellen – Teil 2
Im zweiten Teil dieses Tutorials werden wir die Mitarbeiter-Suche inklusive weiterer Services erstellen und dann die Microservices mit Docker bereitstellen
Microservices mit Spring Boot und Docker erstellen – Teil 1
Microservices mithilfe von Spring Boot und seinen verschiedenen Komponenten erstellen und mit Docker-Containern bereitstellen – ein Tutorial.
Utopische Anforderungen
Utopische Anforderungen beschreiben Wunschbilder, die selten Wirklichkeit werden. Wie lassen sie sich durch Trennprinzipien näherungsweise lösen?
Das SWAT-Team in Scrum
Wie lassen sich die Weiterentwicklung einer Software mit Scrum bei gleichzeitigem Softwarebetrieb harmonisieren? Eine praktische Lösung ist der Einsatz eines SWAT-Teams.
Best Practices für Anforderungsworkshops
Welche Best Practices gibt es bei der Vorbereitung, Durchführung und Nachbereitung von Anforderungsworkshops? Welche W-Fragen helfen und wie gehen Sie mit Konflikten um?
5 Best Practices für REST-basierte Microservices
Welche 5 Best Practices gibt es, wenn Sie eine Microservice-Architektur entwicklerfreundlich gestalten und gleichzeitig mögliche Fehler leicht verwalten und nachvollziehen wollen?
Entwickler 2018 – Motive und Zahlen
101.592 Entwickler aus 183 Ländern haben an der jährlichen Umfrage von Stack Overflow zu Technologien, Methoden, Tools und Arbeitsumfeld teilgenommen. Eine Interpretation.
Software kaufen oder entwickeln lassen
Soll eine Software gekauft oder individuell entwickelt werden? Welche Argumente sprechen für eine Standard-Software, welche für eine individuelle Entwicklung? Ein Pro und Contra.
Anforderungen mit oder ohne Excel
MS Excel ist die am häufigsten genutzte Software im Anforderungsmanagement. Warum ist das so? Was spricht für den Einsatz von Excel und wann macht der Einsatz keinen Sinn?
Anforderungen eliminieren
Wie können Sie Anforderungen eliminieren, wenn die Anforderungsmenge zu groß ist? Welche Kriterien eignen sich für die Eliminierung von Anforderungen?