<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Symfony Archives - 1manfactory.com - Blog of Jürgen Schulze</title>
	<atom:link href="https://1manfactory.com/tag/symfony/feed/" rel="self" type="application/rss+xml" />
	<link>https://1manfactory.com/tag/symfony/</link>
	<description>Stack: Linux, Nginx, MySQL, PHP, Docker, Oracle VM VirtualBox</description>
	<lastBuildDate>Sun, 21 Jun 2026 09:27:49 +0000</lastBuildDate>
	<language>de</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://1manfactory.com/wp-content/uploads/2023/11/cropped-732ac31f-aa8a-4a90-a170-8c717de0966a-32x32.jpg</url>
	<title>Symfony Archives - 1manfactory.com - Blog of Jürgen Schulze</title>
	<link>https://1manfactory.com/tag/symfony/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Vom Match zur Maschine: Wie ich Tinder-Kontakte automatisiert importiere, ohne gleich den Autopiloten Amok fahren zu lassen</title>
		<link>https://1manfactory.com/vom-match-zur-maschine-wie-ich-tinder-kontakte-automatisiert-importiere-ohne-gleich-den-autopiloten-amok-fahren-zu-lassen/</link>
		
		<dc:creator><![CDATA[Juergen Schulze]]></dc:creator>
		<pubDate>Sun, 21 Jun 2026 08:57:00 +0000</pubDate>
				<category><![CDATA[Browser]]></category>
		<category><![CDATA[Chrome]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[KI]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programmierung]]></category>
		<category><![CDATA[Symfony]]></category>
		<category><![CDATA[API Design]]></category>
		<category><![CDATA[asynchrone Jobs]]></category>
		<category><![CDATA[Automatisierung mit Kontrolle]]></category>
		<category><![CDATA[Autopilot]]></category>
		<category><![CDATA[Backend Entwicklung]]></category>
		<category><![CDATA[Background Jobs]]></category>
		<category><![CDATA[Browserautomatisierung]]></category>
		<category><![CDATA[Chromium]]></category>
		<category><![CDATA[Datenimport]]></category>
		<category><![CDATA[Dating App Automatisierung]]></category>
		<category><![CDATA[Dating CRM]]></category>
		<category><![CDATA[Deduplizierung]]></category>
		<category><![CDATA[DOM Analyse]]></category>
		<category><![CDATA[DOM Scraping]]></category>
		<category><![CDATA[DTO]]></category>
		<category><![CDATA[externe IDs]]></category>
		<category><![CDATA[Frontend Entwicklung]]></category>
		<category><![CDATA[Hashing]]></category>
		<category><![CDATA[Idempotenz]]></category>
		<category><![CDATA[Job Queue]]></category>
		<category><![CDATA[KI Workflow]]></category>
		<category><![CDATA[Kontaktimport]]></category>
		<category><![CDATA[Messenger Queue]]></category>
		<category><![CDATA[Nachrichtenimport]]></category>
		<category><![CDATA[OpenAPI]]></category>
		<category><![CDATA[persistente Browser Session]]></category>
		<category><![CDATA[Playwright]]></category>
		<category><![CDATA[Read-only Automation]]></category>
		<category><![CDATA[Session Handling]]></category>
		<category><![CDATA[Social CRM]]></category>
		<category><![CDATA[Soft Delete]]></category>
		<category><![CDATA[softwareentwicklung]]></category>
		<category><![CDATA[Statusmaschine]]></category>
		<category><![CDATA[Symfony Messenger]]></category>
		<category><![CDATA[SyncJob]]></category>
		<category><![CDATA[Systemintegration]]></category>
		<category><![CDATA[technische Architektur]]></category>
		<category><![CDATA[Tinder Automatisierung]]></category>
		<category><![CDATA[UI Automation]]></category>
		<category><![CDATA[VNC]]></category>
		<category><![CDATA[vue]]></category>
		<category><![CDATA[Web Scraping]]></category>
		<category><![CDATA[Workflow Automatisierung]]></category>
		<guid isPermaLink="false">https://1manfactory.com/?p=3991</guid>

					<description><![CDATA[<p>Es gibt Programmierprojekte, die beginnen harmlos. Man möchte „nur mal eben“ ein paar Daten importieren. Danach möchte man „nur kurz“ die Nachrichten historisieren. Dann wäre es „eigentlich praktisch“, wenn neue Kontakte automatisch erkannt würden. Und irgendwann sitzt man vor einer Architektur aus Symfony, Messenger, Playwright, persistenten Browser-Profilen, VNC, DTOs, Statusmaschinen, Job-Queues und fragt sich: War [&#8230;]</p>
<p>Der Beitrag <a href="https://1manfactory.com/vom-match-zur-maschine-wie-ich-tinder-kontakte-automatisiert-importiere-ohne-gleich-den-autopiloten-amok-fahren-zu-lassen/">Vom Match zur Maschine: Wie ich Tinder-Kontakte automatisiert importiere, ohne gleich den Autopiloten Amok fahren zu lassen</a> erschien zuerst auf <a href="https://1manfactory.com">1manfactory.com - Blog of Jürgen Schulze</a>.</p>
]]></description>
		
		
		
			</item>
		<item>
		<title>Weniger Code, mehr Ursache: Mein Prompt gegen Codex-Overengineering in PHP und Symfony</title>
		<link>https://1manfactory.com/weniger-code-mehr-ursache-mein-prompt-gegen-codex-overengineering-in-php-und-symfony/</link>
		
		<dc:creator><![CDATA[Juergen Schulze]]></dc:creator>
		<pubDate>Wed, 08 Apr 2026 07:58:59 +0000</pubDate>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Agentensteuerung]]></category>
		<category><![CDATA[ai code review]]></category>
		<category><![CDATA[AI Coding Agents]]></category>
		<category><![CDATA[angebercode]]></category>
		<category><![CDATA[bugfixing]]></category>
		<category><![CDATA[Clean Code]]></category>
		<category><![CDATA[Code Review]]></category>
		<category><![CDATA[Codex]]></category>
		<category><![CDATA[codex prompt]]></category>
		<category><![CDATA[Coding Agents]]></category>
		<category><![CDATA[Debugging]]></category>
		<category><![CDATA[defensive programming]]></category>
		<category><![CDATA[early return]]></category>
		<category><![CDATA[enterprise php]]></category>
		<category><![CDATA[exception handling]]></category>
		<category><![CDATA[fail fast]]></category>
		<category><![CDATA[fail fast php]]></category>
		<category><![CDATA[fail fast symfony]]></category>
		<category><![CDATA[fail-fast]]></category>
		<category><![CDATA[guard clauses]]></category>
		<category><![CDATA[harte fehler]]></category>
		<category><![CDATA[keine defaults]]></category>
		<category><![CDATA[keine fallbacks]]></category>
		<category><![CDATA[minimal change]]></category>
		<category><![CDATA[minimal diff]]></category>
		<category><![CDATA[minimal invasive änderungen]]></category>
		<category><![CDATA[openai codex]]></category>
		<category><![CDATA[over engineering]]></category>
		<category><![CDATA[overengineering]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[php bugs]]></category>
		<category><![CDATA[php entwicklung]]></category>
		<category><![CDATA[phpstan]]></category>
		<category><![CDATA[pragmatische softwareentwicklung]]></category>
		<category><![CDATA[produktionscode]]></category>
		<category><![CDATA[prompt engineering]]></category>
		<category><![CDATA[prompt für coding agents]]></category>
		<category><![CDATA[refactoring]]></category>
		<category><![CDATA[robuste software]]></category>
		<category><![CDATA[root cause analyse]]></category>
		<category><![CDATA[root cause debugging]]></category>
		<category><![CDATA[root cause fix]]></category>
		<category><![CDATA[scope drift]]></category>
		<category><![CDATA[senior php entwickler]]></category>
		<category><![CDATA[software wartbarkeit]]></category>
		<category><![CDATA[Softwarearchitektur]]></category>
		<category><![CDATA[Symfony]]></category>
		<category><![CDATA[symfony best practices]]></category>
		<category><![CDATA[symfony bugs]]></category>
		<category><![CDATA[symfony entwicklung]]></category>
		<category><![CDATA[technische präzision]]></category>
		<category><![CDATA[technische Schulden]]></category>
		<category><![CDATA[ternäre hölle]]></category>
		<category><![CDATA[ternäre operatoren]]></category>
		<category><![CDATA[übermäßiges refactoring]]></category>
		<category><![CDATA[wartbarer code]]></category>
		<guid isPermaLink="false">https://1manfactory.com/?p=3850</guid>

					<description><![CDATA[<p>Wer heute mit Coding Agents arbeitet, kennt das Muster. Man meldet einen überschaubaren Fehler, etwa einen falsch gesetzten Regex, einen ungünstigen Vergleich oder einen fehlerhaften Sonderfall im Request-Handling, und bekommt als Antwort eine kleine Architektur-Offensive. Neue Services, neue Helper, neue Abstraktionen, zusätzliche Fallbacks, defensive Defaults, stilles „Reparieren“ ungültiger Zustände. Der eigentliche Fehler ist danach manchmal [&#8230;]</p>
<p>Der Beitrag <a href="https://1manfactory.com/weniger-code-mehr-ursache-mein-prompt-gegen-codex-overengineering-in-php-und-symfony/">Weniger Code, mehr Ursache: Mein Prompt gegen Codex-Overengineering in PHP und Symfony</a> erschien zuerst auf <a href="https://1manfactory.com">1manfactory.com - Blog of Jürgen Schulze</a>.</p>
]]></description>
		
		
		
			</item>
		<item>
		<title>Wie ich einen Translator mit Symfony gebaut habe (3/3)</title>
		<link>https://1manfactory.com/wie-ich-einen-translator-mit-symfony-gebaut-habe-3-3/</link>
		
		<dc:creator><![CDATA[Juergen Schulze]]></dc:creator>
		<pubDate>Mon, 29 Dec 2025 09:11:02 +0000</pubDate>
				<category><![CDATA[KI]]></category>
		<category><![CDATA[Symfony]]></category>
		<category><![CDATA[Asynchrone Verarbeitung]]></category>
		<category><![CDATA[Chunking]]></category>
		<category><![CDATA[Draft-Pipeline]]></category>
		<category><![CDATA[E-Book Verlag]]></category>
		<category><![CDATA[Japanisch Deutsch Übersetzung]]></category>
		<category><![CDATA[KI im Verlagswesen]]></category>
		<category><![CDATA[KI-Übersetzung]]></category>
		<category><![CDATA[KI-Workflow]]></category>
		<category><![CDATA[Literaturübersetzung]]></category>
		<category><![CDATA[Machine Translation]]></category>
		<category><![CDATA[Mehrstufige Übersetzung]]></category>
		<category><![CDATA[Null Papier Verlag]]></category>
		<category><![CDATA[PHP 8]]></category>
		<category><![CDATA[Produktionsreife Software]]></category>
		<category><![CDATA[Publishing Automation]]></category>
		<category><![CDATA[Symfony Messenger]]></category>
		<category><![CDATA[Translation Pipeline]]></category>
		<category><![CDATA[Übersetzer]]></category>
		<category><![CDATA[Zustandsbasierte Architektur]]></category>
		<guid isPermaLink="false">https://1manfactory.com/?p=3780</guid>

					<description><![CDATA[<p>Teil 3: Betrieb, Stabilität und Verlagstauglichkeit Worker-Betrieb im Alltag Die Worker laufen als systemd-Services: Mehrere Worker erhöhen Durchsatz, nicht Komplexität. Monitoring aus Verlagssicht Ich will keine Metriken um der Metriken willen. Relevant sind: Alles andere ist zweitrangig. Logging mit Kontext Jeder Logeintrag enthält: So kann ich auch Monate später nachvollziehen, warum ein bestimmtes Buch so [&#8230;]</p>
<p>Der Beitrag <a href="https://1manfactory.com/wie-ich-einen-translator-mit-symfony-gebaut-habe-3-3/">Wie ich einen Translator mit Symfony gebaut habe (3/3)</a> erschien zuerst auf <a href="https://1manfactory.com">1manfactory.com - Blog of Jürgen Schulze</a>.</p>
]]></description>
		
		
		
			</item>
		<item>
		<title>Wie ich einen Translator mit Symfony gebaut habe (2/3)</title>
		<link>https://1manfactory.com/wie-ich-einen-translator-mit-symfony-gebaut-habe-2-3/</link>
		
		<dc:creator><![CDATA[Juergen Schulze]]></dc:creator>
		<pubDate>Mon, 29 Dec 2025 09:09:59 +0000</pubDate>
				<category><![CDATA[KI]]></category>
		<category><![CDATA[Symfony]]></category>
		<category><![CDATA[Asynchrone Verarbeitung]]></category>
		<category><![CDATA[Chunking]]></category>
		<category><![CDATA[Draft-Pipeline]]></category>
		<category><![CDATA[E-Book Verlag]]></category>
		<category><![CDATA[Japanisch Deutsch Übersetzung]]></category>
		<category><![CDATA[KI im Verlagswesen]]></category>
		<category><![CDATA[KI-Übersetzung]]></category>
		<category><![CDATA[KI-Workflow]]></category>
		<category><![CDATA[Literaturübersetzung]]></category>
		<category><![CDATA[Machine Translation]]></category>
		<category><![CDATA[Mehrstufige Übersetzung]]></category>
		<category><![CDATA[Null Papier Verlag]]></category>
		<category><![CDATA[PHP 8]]></category>
		<category><![CDATA[Produktionsreife Software]]></category>
		<category><![CDATA[Publishing Automation]]></category>
		<category><![CDATA[Symfony Messenger]]></category>
		<category><![CDATA[Translation Pipeline]]></category>
		<category><![CDATA[Übersetzer]]></category>
		<category><![CDATA[Zustandsbasierte Architektur]]></category>
		<guid isPermaLink="false">https://1manfactory.com/?p=3778</guid>

					<description><![CDATA[<p>Teil 2: Mehrstufige Übersetzung statt Einmal-Magie Warum ein Durchlauf nicht reicht Gerade bei Sprachen wie Japanisch ist ein einzelner Übersetzungsschritt unbrauchbar. Grammatik, Satzstruktur und Stil weichen zu stark vom Deutschen ab. Ich arbeite deshalb bewusst mit mehreren Durchläufen: Jeder Schritt hat eine klar definierte Aufgabe. (In Produktion gibt es insgesamt aktuell 14 Schritte.) Chunking als [&#8230;]</p>
<p>Der Beitrag <a href="https://1manfactory.com/wie-ich-einen-translator-mit-symfony-gebaut-habe-2-3/">Wie ich einen Translator mit Symfony gebaut habe (2/3)</a> erschien zuerst auf <a href="https://1manfactory.com">1manfactory.com - Blog of Jürgen Schulze</a>.</p>
]]></description>
		
		
		
			</item>
		<item>
		<title>Wie ich einen Translator mit Symfony gebaut habe (1/3)</title>
		<link>https://1manfactory.com/wie-ich-einen-translator-mit-symfony-gebaut-habe/</link>
		
		<dc:creator><![CDATA[Juergen Schulze]]></dc:creator>
		<pubDate>Mon, 29 Dec 2025 09:08:19 +0000</pubDate>
				<category><![CDATA[KI]]></category>
		<category><![CDATA[Symfony]]></category>
		<category><![CDATA[Asynchrone Verarbeitung]]></category>
		<category><![CDATA[Chunking]]></category>
		<category><![CDATA[Draft-Pipeline]]></category>
		<category><![CDATA[E-Book Verlag]]></category>
		<category><![CDATA[Japanisch Deutsch Übersetzung]]></category>
		<category><![CDATA[KI im Verlagswesen]]></category>
		<category><![CDATA[KI-Übersetzung]]></category>
		<category><![CDATA[KI-Workflow]]></category>
		<category><![CDATA[Literaturübersetzung]]></category>
		<category><![CDATA[Machine Translation]]></category>
		<category><![CDATA[Mehrstufige Übersetzung]]></category>
		<category><![CDATA[Null Papier Verlag]]></category>
		<category><![CDATA[PHP 8]]></category>
		<category><![CDATA[Produktionsreife Software]]></category>
		<category><![CDATA[Publishing Automation]]></category>
		<category><![CDATA[Symfony Messenger]]></category>
		<category><![CDATA[Translation Pipeline]]></category>
		<category><![CDATA[Übersetzer]]></category>
		<category><![CDATA[Zustandsbasierte Architektur]]></category>
		<guid isPermaLink="false">https://1manfactory.com/?p=3775</guid>

					<description><![CDATA[<p>Architektur, Pipeline und Betrieb Teil 1 von 3 Ausgangspunkt Ich betreibe seit vielen Jahren den Null Papier Verlag. Der Schwerpunkt liegt auf gemeinfreien Texten, aber nicht nur im klassischen angelsächsischen Raum. Mich interessieren auch Werke aus Regionen, die im deutschsprachigen Markt unterrepräsentiert sind – etwa aus Japan, Lateinamerika oder kleineren europäischen Sprachräumen. Sehr schnell wurde [&#8230;]</p>
<p>Der Beitrag <a href="https://1manfactory.com/wie-ich-einen-translator-mit-symfony-gebaut-habe/">Wie ich einen Translator mit Symfony gebaut habe (1/3)</a> erschien zuerst auf <a href="https://1manfactory.com">1manfactory.com - Blog of Jürgen Schulze</a>.</p>
]]></description>
		
		
		
			</item>
	</channel>
</rss>
