Es war sehr lohnend, in letzter Zeit wieder in die C-Programmierung einzutauchen, und der Schwerpunkt lag dabei auf meinem kleinen Projekt „csend“. Es handelt sich um eine Peer-to-Peer-Chat-Anwendung, an der ich herumtüftelte. Die große Idee ist, sie auf verschiedenen Systemen reibungslos zum Laufen zu bringen, insbesondere auf modernen POSIX-Plattformen wie Linux und – als kleine Retro-Herausforderung – auf klassischem Mac OS.
Zurück zur C-Programmierung
Nachdem ich die Kernfunktionen von Willow CMS fertiggestellt hatte, dachte ich darüber nach, ein zweites Nebenprojekt zu starten. Ich bastelte an meinem Mac SE und fragte mich, wie es wäre, darauf Software zu schreiben. Es ist ungefähr 25 Jahre her, dass ich CodeWarror auf einem Power Macintosh 7500 zum letzten Mal gestartet und mit C/C++ herumgebastelt habe, und ungefähr 20 Jahre, seit ich es das letzte Mal an der Universität studiert habe. Ich beschloss, es zu versuchen und eine Peer-to-Peer-Chat-Anwendung zu schreiben. Ich werde sie zunächst auf Ubuntu, dann auf modernem macOS und hoffentlich in nicht allzu ferner Zukunft auf System 6 mit der Think C IDE zum Laufen bringen.
Das CakePHP Queue Plugin und die Jobs verstehen
In diesem Beitrag sehen wir uns an, wie man mit dem Queue-Plugin von CakePHP Hintergrundaufgaben effizient verwalten und ausführen kann. Wir untersuchen die Struktur, Implementierung und Vorteile dieses Ansatzes, wobei wir uns auf das Verzeichnis `src/Job` und verwandte Komponenten von Willow CMS konzentrieren.
Erstellen von „MarkItLikeItsHot“: Ein FastAPI-Wrapper für die MarkItDown-Konvertierungs-Engine von Microsoft
Dieser Beitrag beschreibt die Entwicklung eines Python-Mikrodienstes namens „MarkItLikeItsHot“, der die Inhaltskonvertierung in Markdown innerhalb von Willow CMS optimieren soll. Dieser Mikrodienst verwendet einen FastAPI-Wrapper um die leistungsstarke MarkItDown-Bibliothek von Microsoft und ermöglicht so die nahtlose Konvertierung von Dateien, URLs und Rohtext in sauberes, formatiertes Markdown. Wir werden die zugrunde liegenden Technologien untersuchen, uns mit der Codestruktur befassen und wichtige Aspekte wie Docker-Bereitstellung, -Tests und -Konfiguration hervorheben.
Refactoring des Modellebenencodes in Willow CMS mit CakePHP-Verhalten
Dieser Beitrag behandelt die Code-Refaktorierung im Zusammenhang mit dem CakePHP-Baumverhalten und den Slugs in Willow CMS. Ursprünglich hatten sowohl Artikel als auch Tags doppelten Code für Baumoperationen. Dieser wurde in OrderableBehavior umgestaltet, wodurch der Code wiederverwendbar und testbar wurde. Ebenso wurde die Slug-Verwaltung, die zuvor über mehrere Standorte verstreut war, in das neue SlugBehavior konsolidiert. Dieses Verhalten behandelt die Slug-Generierung, Validierung und den Verlauf, vereinfacht die Klassen ArticlesTable und TagsTable und fügt Funktionen wie die automatische Slug-Generierung aus Titeln, benutzerdefinierte Slugs und Slug-Verlaufsverfolgung für eine bessere SEO hinzu. Diese Umgestaltung reduzierte die Code-Duplikation erheblich und verbesserte die Wartbarkeit und Testbarkeit.
Migrationen in CakePHP
Migrationen sind ein Tool in CakePHP zum Verwalten von Datenbankschemaänderungen. Sie bieten eine versionskontrollierte Möglichkeit, Ihre Datenbankstruktur zu ändern, wodurch es einfacher wird, Änderungen in verschiedenen Umgebungen oder Installationen Ihrer Anwendung zu verfolgen, freizugeben und bereitzustellen. CakePHP verfügt über Tools zum Generieren von Snapshots Ihrer Datenbankstruktur und Migrationen zwischen ihnen. Da Migrationen auch Abfragesprachenanweisungen für Ihre Datenbank ausführen können, können sie auch zum Ändern von Daten verwendet werden. Willow CMS hat seit der Veröffentlichung für diese Site mehrere Versionen durchlaufen, wobei einige dieser Versionen Änderungen am Datenbankschema und an den Daten erforderten. In diesem Beitrag erkläre ich Ihnen anhand einiger praktischer Beispiele, wie ich damit umgegangen bin.