Schlagwort: Software-Design

  • PHP Microservices ohne Frameworks

    PHP Microservices ohne Frameworks

    Beim Erstellen von PHP Microservices ohne Frameworks wird eine Anwendung in kleinere, unabhängige Dienste aufgeteilt, die über ein Netzwerk kommunizieren. Hier ist eine allgemeine Anleitung, wie Sie PHP Microservices ohne Frameworks angehen können: 1. Überblick über die Architektur 2. Projektstruktur 3. HTTP-Kommunikation mit PHP Verwenden Sie die integrierten Funktionen von PHP (oder cURL für erweiterte…

  • DDD verursacht Komplexität

    Beim Software-Engineering geht es darum, Systeme zu entwickeln, die durch die Zusammenarbeit ihrer verschiedenen Komponenten klar definierte Ziele erreichen. Diese Zusammenarbeit impliziert Wechselwirkungen, um Grenzen zu überschreiten, die das System unterteilen. Ein gutes Design dieser Grenzen macht Interaktionen effizient und stellt sicher, dass sie die angegebenen Geschäftsanforderungen erfüllen. Dies wollen wir hier im Beitrag DDD…

  • CORS einfach erklärt

    CORS einfach erklärt

    Haben Sie das oben schon einmal gesehen? Wahrscheinlich… und wahrscheinlich eine ganze Menge… Es gibt Millionen von Artikeln, in denen erklärt wird, wie der obige Fehler behoben werden kann, aber was genau ist dieses „Cross-Origin Resource Sharing“ (CORS)-Ding und warum gibt es es überhaupt? Warum? Beginnen wir damit, zunächst die Frage nach dem Warum durch…

  • Task vs. ValueTask in C#

    Task vs. ValueTask in C#

    In der modernen Anwendungsentwicklung ist Reaktionsfähigkeit der Schlüssel, und der Aufbau reaktionsfähiger Anwendungen hängt stark von der asynchronen Programmierung ab, insbesondere wenn es um E/A-gebundene Aufgaben geht. Ganz gleich, ob Sie Datenbankabfragen verarbeiten, auf Dateien zugreifen oder API-Aufrufe tätigen, die asynchrone Programmierung sorgt dafür, dass Ihre Anwendung schnell und benutzerfreundlich bleibt. Wenn Sie mit async/await…

  • Okta Bcrypt-Vorfall: Was wir lernen können

    Okta Bcrypt-Vorfall: Was wir lernen können

    Hallo! Wenn Sie Tech-News verfolgen, haben Sie vielleicht schon von dem Okta Bcrypt-Vorfall (Quelle) gehört, der am 1. November gemeldet wurde. Die TLDR des Vorfalls lautete wie folgt: Der Bcrypt-Algorithmus wurde verwendet, um den Cache-Schlüssel zu generieren, bei dem wir eine kombinierte Zeichenfolge aus Benutzer-ID + Benutzername + Passwort hashen. Unter bestimmten Bedingungen, die unten aufgeführt sind,…

  • LLM mit 2 Milliarden Parametern: Erstellen mit Python

    Schnelle Notiz (der Beitrag wurde aus dem englischen übersetzt): Wir werden ein LLM mit 2 Milliarden Parametern von Grund auf mit dem The Pile-Datensatz trainieren. Als Ergebnis erhalten wir ein LLM, das perfekte Grammatik und Zeichensetzung in den Antworten ausgibt, wobei kürzere Kontexte sinnvoll sind, aber nicht die gesamte Antwort. Zuvor habe ich einen Artikel…

  • Clean Code: Der Mythos in der Frontend-Entwicklung

    Jeder Entwickler hat das Wort „Clean Code“ schon einmal gehört. Es ist der heilige Gral der Softwareentwicklung, oder? Schreiben Sie sauberen Code, und alles andere wird sich von selbst ergeben. Zumindest wird uns das gesagt. Aber in der chaotischen Welt der Frontend-Entwicklung kann die Besessenheit von sauberem Code manchmal mehr schaden als nützen. Lassen Sie uns untersuchen, warum dies nicht immer…

  • Value Objects in PHP können Sie vor schlechten Daten schützen

    Value Objects in PHP können Sie vor schlechten Daten schützen

    Eines der Dinge, auf die wir bei der Arbeit mit objektorientierter Programmierung (OOP) achten müssen, ist, dass die Daten, mit denen wir arbeiten, jederzeit gültig sind. Dies kann erreicht werden, indem wir alle Validierungen hinzufügen, die wir im Konstruktor der Objekte benötigen, die wir bearbeiten werden. Die Prämisse ist einfach: Wenn die Daten gültig sind, erhalten Sie das…

  • API-Schlüssel vs. Token

    API-Schlüssel vs. Token

    Auth ist schon schwer genug. Stellen Sie sicher, dass Sie den Unterschied zwischen zwei primären Authentifizierungsmodi verstehen: API-Schlüssel und Token. Sie sagen, dass die beiden schwierigsten Probleme in der Informatik die Invalidierung von Caches und die Benennung von Dingen sind. Ehrlich gesagt, ist das nicht falsch. Die sind super schwer. Was die Benennung schwierig macht,…

  • Else: Raus aus dem Code

    Else: Raus aus dem Code

    Eine Änderung, die einen großen Unterschied in der Lesbarkeit und Wartbarkeit von Code machen kann, ist die Vermeidung des Schlüsselworts Else. Dies mag für Junior-Entwickler ungewöhnlich erscheinen, aber durch das Entfernen von wird der Code einfacher zu lesen und zu verwalten. Nun stellt sich die Frage: Warum else vermeiden? Die Verwendung führt oft zu unnötigen Verschachtelungen,…

  • 10 Python-Funktionen, die verwirrend erscheinen

    10 Python-Funktionen, die verwirrend erscheinen

    Wenn Sie Python schon eine Weile lernen, sind Sie wahrscheinlich auf Funktionen gestoßen, bei denen Sie sich am Kopf kratzen. Sie wirken einschüchternd, wirken unnötig komplex oder fühlen sich einfach so an, als gehörten sie in einen geheimen „fortgeschrittenen Python„-Club. Die Wahrheit? Diese Funktionen sind brillante Tools, die Ihren Code sauberer, effizienter und geradezu elegant machen…

  • 3 einfache API-Optimierungen, die unterschätzt werden

    Während meiner Karriere, in der ich APIs für verschiedene Projekte gearbeitet und entworfen habe, habe ich mir verschiedene Optimierungstechniken angeeignet. Die meisten sind theoretisch (in Bezug auf das Entwerfen von Systemen), aber ich habe meine 3 einfache API-Optimierungen der praktischen Strategien extrahiert, die die Leistung und die Benutzererfahrung verbessern. Für jeden Tipp schauen wir uns…

  • Erste Schritte auf dem Weg zum Softwarearchitekten

    Eine der am häufigsten gestellten Fragen der Entwickler, mit denen ich zusammengearbeitet habe, lautet: Wie wird man Softwarearchitekt? und damit verbunden die Erste Schritte zum Softwarearchitekten. Darauf eine gute Antwort zu geben, ist nicht simple. Dies lag zum Teil an der bekannten Schwierigkeit, eindeutig zu definieren, was ein Softwarearchitekt tut. Ein weiterer Teil ist, dass…

  • Warum Sie Utility-Klassen in Ihren Projekten vermeiden sollten

    Warum Sie Utility-Klassen in Ihren Projekten vermeiden sollten

    In der Softwareentwicklung stehen Entwickler häufig vor der Herausforderung, wieder verwendbare Lösungen für häufig auftretende Probleme zu finden. Eine weit verbreitete Methode, diese zu lösen, sind sogenannte Utility-Klassen, die eine Sammlung statischer Methoden enthalten. Diese Klassen bieten einfache Funktionen, wie etwa die Validierung von Eingabewerten oder mathematische Berechnungen. Doch obwohl sie auf den ersten Blick…

  • Swark: Automatische Architekturdiagramme aus Code

    Swark: Automatische Architekturdiagramme aus Code

    Es ist schwierig, die richtige Softwarearchitektur zu finden. Falsch ausgerichtete Teams, unklare Diagramme und zeitaufwändige Prozesse führen oft zu Frustration und suboptimalen Designentscheidungen. Wenn sich Entwicklungsteams für einen dezentralen, kollaborativen Architekturansatz entscheiden, wird der Einsatz noch größer. In dem Versuch, die automatische Architekturdiagramme ein wenig einfacher zu machen, ausgestattet mit den neuen Funktionen, die KI…