Softwareentwicklung – die besten Beiträge

Clean Code und (vs?) Strukturierte Programmierung?

Als Anwendungsentwickler kenne ich natürlich beide Begrifflichkeiten. Mir ist allerdings aufgefallen, besonders auch in Bezug eines Clean-Code-Seminars, dass anscheinend innerhalb von Clean-Code das Thema strukturierte Programmierung keine Erwähnung zu finden scheint. Noch schlimmer sogar, der Dozent zeigte ein Beispiel einer Swtich-Anweisung, bei der jede Fallunterscheidung in ein return (also fluchtartiges Verlassen der Routine) mit irgendeinem Wert mündete und meinte, das sei Clean-Code :-D.

Bei früheren Arbeitgebern in den letzten 10 Jahren habe ich u.a. fluchtartiges Verlassen von Schleifen (break), Rücksprünge zum Anfang der Schleifen (continue) und nicht zuletzt auch frühzeitiges Verlassen von Routinen (return) gesehen(, erlebt und dabei den Kopf geschüttelt)! Eine externe Fachkraft adelte die letzte Stilform mit "early Return" und hielt das für besonders pfiffig.

Bei meinem letzten Arbeitgeber waren die Kollegen sehr an Clean-Code interessiert und lernten das fleißig auf einschlägigen Seiten. Aber auch sie bevorzugten gerne, so wie ich es nenne "Mittendrin-Returns". Das ging sogar so weit, dass innerhalb von Catch-Blöcken gerne mal Returns formuliert wurden, was den eigentlichen Sinn und Zweck vom Exception-Handling in der Sprache Java ad absurdum führt.

Ist in den Bildungsstätten die Strukturierte Programmierung völlig abhanden gekommen, oder gilt diese mittlerweile als überholt? Habe ich die Stelle wo in den Clean-Code-Regeln, in der auf strukturierte Programmierung eingegangen wird nur übersehen, oder hat man das Thema da, aus meiner Sicht bedauerlicherweise, ausgespart oder gar ignoriert?

Software, programmieren, Softwareentwickler, Softwareentwicklung, Programmcode

Hintertür in xz gefunden - Kann man überhaupt noch einer Software vertrauen, die man nicht selbst geschrieben hat?

xz ist ein unter Linux weit verbreitetes Datenkompressionsformat. Ein Entwickler der Referenzimplementierung xz-utils (https://github.com/tukaani-project/xz) hat vor kurzem eine Hintertür (CVE-2024-3094) eingebaut, mit der in manchen Linux Distributionen sshd kompromittiert werden kann. Bisher wurde noch kein CVE Score zugewiesen, aber ich schätze diese Hintertür als sehr kritisch ein. Bestimmt werden in den nächsten Tagen Heise, Golem, etc. darüber berichten, und vielleicht sogar die Mainstream Medien.

Die Hintertür wurde gefunden, weil der Schadcode Performanceprobleme in sshd verursacht hat. Glücklicherweise sind die betroffenen xz Versionen noch nicht weit verbreitet, da Pakete in vielen Distributionen nur sehr langsam aktualisiert werden. In Arch Linux wurde bereits eine betroffene xz Version ausgeliefert, aber da sshd in Arch Linux kein gz verwendet, ist ein Angriff in diesem Fall nicht möglich.

Dennoch ist dieser Vorfall äußerst besorgniserregend, da die Hintertür von einem xz Entwickler eingebaut wurde, der bereits mehrere Jahre am Projekt beteiligt war und als vertrauenswürdig galt.

Grundsätzlich galt Open Source Software als weniger anfällig für Hintertüren als Closed Source Software. Man ging davon aus, dass Hintertüren in Open Source Software gefunden werden, bevor sie überhaupt veröffentlicht werden, da der Code von vielen unabhängigen Experten überprüft wird. Ein häufig genanntes Beispiel, das diese These untermauern soll, ist ein 2003 gescheiterter Versuch, eine Hintertür in den Linux Kernel einzubauen.

Der aktuelle Vorfall zeigt, dass es sehrwohl möglich ist, Schadcode unentdeckt in weit verbreitete Open Source Software einzubauen. Dies wirft die Frage auf, inwieweit man fremder Software überhaupt noch vertrauen kann.

Seid ihr selbst von dieser Hintertür betroffen? Wie schützt ihr euch? Habt ihr Zweifel an der Sicherheit von Open Source Software? Denkt ihr, dass dieser Vorfall zu einem Umdenken bei der Vertrauenswürdigkeit von Open Source Entwicklern führen wird?

Weitere Informationen
  • https://lwn.net/Articles/967180/
  • https://lwn.net/ml/oss-security/20240329155126.kjjfduxw2yrlxgzm@awork3.anarazel.de/
  • https://www.cisa.gov/news-events/alerts/2024/03/29/reported-supply-chain-compromise-affecting-xz-utils-data-compression-library-cve-2024-3094
  • https://archlinux.org/news/the-xz-package-has-been-backdoored/
  • https://arstechnica.com/security/2024/03/backdoor-found-in-widely-used-linux-utility-breaks-encrypted-ssh-connections/
  • https://gist.github.com/thesamesam/223949d5a074ebc3dce9ee78baad9e27
Computer, Software, Linux, Sicherheit, IT, Backdoor, Code, Hacker, Hackerangriff, Informatik, IT-Sicherheit, Open Source, Softwareentwicklung, ssh, Vertrauen, Vertrauensbruch, Exploit, Exploits, IT-Sicherheitsexperte, Schwachstellen, vertrauenswürdig, sshd

Benötige dringend Hilfe -Outlook und Authenticator App?

Hallo,

ich möchte mich am PC in Personio anmelden. Soweit passt auch alles nur komme ich da nicht in mein Profil rein weil zuletzt ein Sicherheitstoken gefordert wird.

Dieses Token wird laut Personio an meine Firmenemail (Microsoft, Outlook) gesendet. Aber in meinem Postfach befindet sich nichts.

Nun habe ich Outlook auf meinem Smartphone deinstalliert und nochmal neu installiert. Beim Versuch mich anzumelden erscheint folgendes:

,, Öffnen Sie die Authenticator-App und geben Sie die angezeigte Nummer ein, um sich anzumelden"

Es wird eine 2-stellige Nummer angezeigt. Diese Nummer würde ich wie verlangt gerne in der Authenticator einfügen. Leider ist da nichts zu finden in der App. Ich habe ebenfalls versucht meine Firmenmail (Outlook) hinzuzufügen, weil da steht das man eben ein Konto hinzufügen kann/muss.

Die Anmeldung funktioniert hier ebenfalls nur erscheint wieder folgende Meldung:

,, Öffnen Sie die Authenticator-App und geben Sie die angezeigte Nummer ein, um sich anzumelden"

Letzten Endes hab ich aufm Handy nun Outlook und die Microsoft Authenticator-App offen und bei beiden wird mir diese Meldung angezeigt mit der 2-stelligen Nummer...

Weiß jemand was ich hier falsch mache?

LG Anja

PC, Computer, Internet, Datenschutz, Microsoft, App, Betriebssystem, Smartphone, Applikation, E-Mail, IT, Passwort, Arbeitgeber, Antivirus, Datensicherheit, Firewall, Gaming PC, Informatik, Informatiker, Informationstechnik, IT-Sicherheit, PC bauen, PC-Problem, Softwareentwicklung, Microsoft Outlook, Informatikstudium, token

Mit Bachelor in Game Design Möglichkeit in der Softwareentwicklung zu arbeiten?

Hallo, Ich bin 21 und im 4. Semester im Bachelor Game Design und Management und bin am überlegen, da es in meinem Kreis sehr wenige Jobs als Spiel-Programmierer gibt und Ich langfristig in meiner Stadt bleiben will, wie gut meine Chancen sind mit diesen Bachelor einen Job in der reinen IT zu bekommen.
Davor habe Ich auch zwei Semester Informatik studiert wo Ich auch Java gelernt habe, jedoch habe Ich mich unentschieden, da es doch zu theoretisch war und Ich viel mehr programmieren wollte, da es mich sehr begeistert.

Bisher habe Ich für mein Studium vier Spiele programmiert, insbesondere in C# mit Unity, ab diesem Semester dann im C++ mit Unreal 5.

Ich bin immer noch begeistert für die Spielentwicklung, aber wie gesagt zum einen wegen der Lage und zum anderen für die durchschnittlich schlechteren Arbeitsbedingungen in der Spiele-Branche, überlege Ich doch in die Software Entwicklung zu gehen und nur nebenbei Spiele zu entwickeln.

Diese Zweifel kamen auf, als Ich auf der Suche nach einem Werkstudenten-Job in der IT war und nur absagen bekommen habe, da Ich nicht Informatik studiere.

Ich bin gerade dabei Portfolio Projekte für bessere Chancen zu programmieren, deswegen lag es vielleicht auch an meinen Qualifikationen oder Projekten, jedoch kamen diese Zweifel trotzdem und ich möchte nicht, dass es nach dem Studium genauso ist und Ich kein Job in der IT bekomme.

Deswegen frage ich; Wie gut sind meine Wahrscheinlichkeiten mit einem Bachelor in Game Design einen Job in der Softwareentwicklung zu bekommen?

Sollte Ich vielleicht lieber eine Ausbildung zum Fachinformatiker für Anwendungsentwicklung machen?

Game Design, Informatik, Softwareentwicklung, Spielentwickler

Wie gehe ich meinem Projektleiter, der zu viel erwartet?

Ich arbeite in einer IT-Firma und wir arbeiten in einer Machine Learning Gruppe, weil wir sonst keine Projekte haben (bin sonst backend Entwickler, aber es gibt nichts zu tun derzeit, weil wir im Projektgeschäft sind). Mein Projektleiter hat dauernd irgendwelche Ideen, was wir umsetzen können, Problem ist aber:

1) Außer mir hat noch keiner ein Model trainiert oder längere Erfahrung mit LLMs.

2) Wir sind 2-3 Entwickler, die wenig Erfahrung haben.

3) Das Produkt soll für gerade mal ein paar tausender verkauft werden.

Ich sehe nicht wie man das erfüllen soll und wir haben es der Geschäftsleitung schon vorgerechnet, demonstriert etc. trotzdem will man anscheinend nicht aufgeben.

Problem ist: Ich fühle mich, als verschwende ich meine Zeit.

Und nein wir wurden nicht für den Bereich eingestellt, wir sind keine Data Scientist. Zumindest außer mir hat damit keine große Erfahrung.

Die erwarten halt auch, dass wir das innerhalb von n paar Wochen oder Monaten produktiv fähig machen.

Es zieht mich mega runter, ich komme demotiviert auf die Arbeit und es gab auch schon ein unschönes Gespräch mit der Geschäftsleitung wo man andeutete, dass wir ja einfach keine Lust hätten.

Ich werde die Leitung eh nicht überzeugen können, aber daher meine Frage wie geht man damit persönlich um? Wie gibt man sich in Gesprächen? Ich muss ja trotzdem Professionalität bewahren.

Arbeit, Beruf, Job, Angst, Stress, IT, programmieren, Management, Psychologie, Chef, Entwickler, künstliche Intelligenz, projektarbeit, Projektmanagement, Softwareentwicklung, LLM, Machine Learning

Meistgelesene Beiträge zum Thema Softwareentwicklung