A graphical user interface for the QEMU virtual machine emulator, showing a window with various controls and information related to the virtual machine.

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.


A vintage Apple Macintosh SE personal computer with a CRT display and a beige, boxy design.

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.


A large crowd of people dressed in medieval-style clothing, including robes, cloaks, and hats, walking in a procession through an ornate, dimly lit cathedral-like structure with arched ceilings and sunlight streaming through the windows.

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.


A bearded chef in a rustic kitchen carefully preparing a beef wellington dish, with pastry dough, herbs, and other ingredients visible on the counter.

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.


An elderly wizard with a long white beard and pointed hat sits at a desk, surrounded by books and candles, intently studying ancient scrolls and manuscripts.

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.


An elderly wizard with a long white beard sits at a desk in a dimly lit library, writing in an ancient tome by candlelight. The room is adorned with ornate, gilded frames and shelves filled with books.

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.


Seite 1 von 2, zeigt 6 Datensatz(e) von 11 insgesamt

Um

Willkommen bei willowcms.app. Diese Site verwendet Willow – ein Content-Management-System, das ich im Freien entwickle. Hier finden Sie Entwicklungsupdates, Feature-Highlights und Anleitungen zur Verwendung von Willow für Ihre eigenen Sites.

Ausgewählte Beiträge

Anderswo

  1. GitHub

Feeds

  1. RSS Feed