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…

Modernes C++

Im Rahmen meiner Robotik-Experimente bin ich wieder in Kontakt mit der Programmiersprache C++ gekommen. Ich habe aktiv als Entwickler von 2005-2009 Komponenten in C++ implementiert. Hatte dann noch mal einen kurzen Kontakt in der Qualitätssicherung aus der Tester-Perspektive mit der Programmiersprache. Wir haben unter anderen JNA-Wrapper für eine C-Library gebaut. Ich hatte immer eine gewisse…

Lambdas in 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 Lambdas an. Beispiel sort Angenommen, wir wollen einen std::vector sortieren, dann können wir das folgendermaßen machen: std::vector<float> numbers = { -3.5, 1.0, -2.0, -11.0}; std::sort(numbers.begin(), numbers.end()); Der Vector wird hier inplace…

Autarke Skripte in Python

Szenario Du entwickelst ein kleines Python-Skript, das externe Abhängigkeiten verwendet (z. B. requests, pandas oder andere Pakete aus PyPI). Möchtest du dieses Skript weitergeben, müssen Empfänger die erforderlichen Dependencies manuell installieren. Das ist nicht besonders benutzerfreundlich. Ein naheliegender Ansatz wäre es, das Skript mit pyinstaller in ein ausführbares Binary zu verpacken – allerdings ist das für…