Das große Git-Tutorial

Motivation Jeder kennt und nutzt Git. Es gibt bis auf Ausnahmen (ich schaue dich an, Perforce) keine ernstzunehmenden Alternativen mehr. Ich lasse Azubis ab der ersten Woche schon mit Git arbeiten, allerdings zunächst im Kontext einer IDE, damit sie ihren Code entspannt versionieren können. Im zweiten Lehrjahr gibt es dann den Blick hinter die Kulissen,…

Lerne neue Programmiersprachen schneller mit diesen Coding Challenges

Motivation Motivation Das Erlernen einer Programmiersprache kann herausfordernd sein. Es gibt zwar unzählige Artikel und Tutorials, doch echtes Verständnis entsteht vor allem durch regelmäßige Wiederholung und praktische Anwendung. Wer Konzepte immer wieder in kleinen Übungen, Katas und realen Problemen einsetzt, entwickelt mit der Zeit eine Art Muscle Memory fürs Programmieren. Genau diese Routine hilft dabei,…

Was ist Software Engineering? Eine verständliche Einführung

Software Engineering ist die systematische Entwicklung von Software: von der Idee über die Umsetzung bis zum Betrieb. Programmieren gehört natürlich dazu, ist aber interessanterweise oft nur ein kleiner Teil des Ganzen. Disclaimer Die folgende Unterteilung in Programmierung, Entwicklung und Engineering ist ein Versuch einer Einordnung von Prozessen, Methoden und Tools. Ich habe dieses Modell entwickelt,…

Alles, was Du über SCRUM wissen musst

Motivation SCRUM wurde von Ken Schwaber und Jeff Sutherland entwickelt und ist ein agiles Framework für die Softwareentwicklung. Es hilft Teams, komplexe Projekte zu managen und schnell auf Veränderungen zu reagieren. SCRUM fördert die Zusammenarbeit, Transparenz und kontinuierliche Verbesserung. Werte Commitment, Focus, Openness, Respect, and Courage Vorgehensmodell Interativ & Inkrementell Entwicklungszeitraum wird in Sprints unterteilt…

Linux Shell Kommandos Cheatsheet

Motivation In Robotik-Projekten wird in den meisten Fällen mit einer Linux-Distribution wie Ubuntu gearbeitet, deswegen ist es von Vorteil, sich auch auf der Linux-Konsole aka shell auszukennen. Die Standard-Shell ist meistens Bash (Bourne Again Shell). Viele ROS-Tools erwarten explizit Bash: source /opt/ros/humble/setup.bash Informationen über Kommandos Mit dem Kommando man kann man sich Infos zu den…

Pytest Tutorial

Motivation Tests sind ein zentraler Bestandteil moderner Entwicklung. Das Framework pytest macht das Schreiben, Organisieren und Ausführen von Tests einfach, flexibel und leistungsfähig. Tests schreiben und ausführen Installation Zuerst installierst du pytest mit: pip install pytest pytest ist kompatibel mit unittest-Tests und erfordert keine Testklassen. Namenskonventionen Damit pytest Tests automatisch findet, müssen Dateien und Funktionen…

So verwendest Du den std::vector – Modernes C++

Motivation Auf meiner Lernreise in die Welt der Robotik ist eines meiner Ziele, mein angestaubtes C++-Wissen aufzubessern. Heute schauen wir uns den std::vector an. Der std::vector ist ein praktisches Hilfsmittel, um in C++ Daten zu verwalten. Man kann ihn mit der Liste in Python vergleichen. Im Gegensatz zum std::array ist der std::vector eine dynamische Datenstruktur,…

So verwendest du std::array – Modernes C++

Motivation Auf meiner Lernreise in die Welt der Robotik ist eines meiner Ziele, mein angestaubtes C++-Wissen aufzubessern. Heute schauen wir uns das Konzept von std::array an. Wie war es früher? Vor C++11 musste man C-Style-Arrays benutzen: TEST(ArrayTest, CStyleArray) { int my_int_array[3] = {1, 2, 3}; EXPECT_EQ(my_int_array[0], 1); EXPECT_EQ(my_int_array[1], 2); EXPECT_EQ(my_int_array[2], 3); } Das hat natürlich…