<?xml version="1.0" encoding="utf-8"?>
<!-- generator="FeedCreator 1.7.2-ppt DokuWiki" -->
<?xml-stylesheet href="http://ramin-tavassoli.de/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="http://ramin-tavassoli.de/feed.php">
        <title>tawiki technology</title>
        <description></description>
        <link>http://ramin-tavassoli.de/</link>
        <image rdf:resource="http://ramin-tavassoli.de/lib/tpl/dokuwiki/images/favicon.ico" />
       <dc:date>2026-05-05T10:46:09+02:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="http://ramin-tavassoli.de/doku.php?id=technology:cqrs&amp;rev=1355929216&amp;do=diff"/>
                <rdf:li rdf:resource="http://ramin-tavassoli.de/doku.php?id=technology:csharp&amp;rev=1356011707&amp;do=diff"/>
                <rdf:li rdf:resource="http://ramin-tavassoli.de/doku.php?id=technology:datumswerte&amp;rev=1350821492&amp;do=diff"/>
                <rdf:li rdf:resource="http://ramin-tavassoli.de/doku.php?id=technology:domainmodel&amp;rev=1359634507&amp;do=diff"/>
                <rdf:li rdf:resource="http://ramin-tavassoli.de/doku.php?id=technology:dotnet&amp;rev=1423239186&amp;do=diff"/>
                <rdf:li rdf:resource="http://ramin-tavassoli.de/doku.php?id=technology:es&amp;rev=1358258996&amp;do=diff"/>
                <rdf:li rdf:resource="http://ramin-tavassoli.de/doku.php?id=technology:eventualconsistency&amp;rev=1358590799&amp;do=diff"/>
                <rdf:li rdf:resource="http://ramin-tavassoli.de/doku.php?id=technology:multiplecommandhandling&amp;rev=1349348268&amp;do=diff"/>
                <rdf:li rdf:resource="http://ramin-tavassoli.de/doku.php?id=technology:polling&amp;rev=1358532185&amp;do=diff"/>
                <rdf:li rdf:resource="http://ramin-tavassoli.de/doku.php?id=technology:reservationpattern&amp;rev=1362582439&amp;do=diff"/>
                <rdf:li rdf:resource="http://ramin-tavassoli.de/doku.php?id=technology:ssl&amp;rev=1371995832&amp;do=diff"/>
                <rdf:li rdf:resource="http://ramin-tavassoli.de/doku.php?id=technology:systemarchitecture&amp;rev=1384280283&amp;do=diff"/>
                <rdf:li rdf:resource="http://ramin-tavassoli.de/doku.php?id=technology:zeitzonen&amp;rev=1350810617&amp;do=diff"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="http://ramin-tavassoli.de/lib/tpl/dokuwiki/images/favicon.ico">
        <title>tawiki</title>
        <link>http://ramin-tavassoli.de/</link>
        <url>http://ramin-tavassoli.de/lib/tpl/dokuwiki/images/favicon.ico</url>
    </image>
    <item rdf:about="http://ramin-tavassoli.de/doku.php?id=technology:cqrs&amp;rev=1355929216&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2012-12-19T16:00:16+02:00</dc:date>
        <title>technology:cqrs</title>
        <link>http://ramin-tavassoli.de/doku.php?id=technology:cqrs&amp;rev=1355929216&amp;do=diff</link>
        <description>Command and Query Responsibility Segregation ist ein Konzept das auf CQS von Bertrand Mayer basiert, und von Greg Young entwickelt wurde. CQS trennt die Aufgaben eines Objektes in zweierlei. Entweder setzt eine Methode eines Objektes einen Befehl um, oder sie beantwortet eine Frage. Wenn sie einen Befehl umsetzt hat die Methode keinen Rückgabewert. Wenn sie eine Frage beantwortet bleibt das Objekt unverändert, so dass die Antwort auf die Frage  immer dieselbe bleibt.


CQRS geht einen Schritt we…</description>
    </item>
    <item rdf:about="http://ramin-tavassoli.de/doku.php?id=technology:csharp&amp;rev=1356011707&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2012-12-20T14:55:07+02:00</dc:date>
        <title>technology:csharp</title>
        <link>http://ramin-tavassoli.de/doku.php?id=technology:csharp&amp;rev=1356011707&amp;do=diff</link>
        <description>Tipps und Tricks

	*  WCF
	*  Threading
	*  Windows Forms
	*  ASP.NET</description>
    </item>
    <item rdf:about="http://ramin-tavassoli.de/doku.php?id=technology:datumswerte&amp;rev=1350821492&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2012-10-21T14:11:32+02:00</dc:date>
        <title>technology:datumswerte</title>
        <link>http://ramin-tavassoli.de/doku.php?id=technology:datumswerte&amp;rev=1350821492&amp;do=diff</link>
        <description>Datums und Zeitwerte werden intern als Gleitkommazahl gespeichert. Das Problem ist, dass solch ein Gleitkommawert einen Bezug haben muss und zudem in unterschiedlichen Zeitzonen was anderes bedeuten kann. Hinzu kommt, dass die unterschiedliche Bedeutung sich ändern kann wenn sich die Regeln ändern. Wenn ich z.B. einen Termin im April 2024 für 08:00 eingetragen habe, und sich die Sommerzeitregelung ändern sollte, kann das zu Problemen führen.</description>
    </item>
    <item rdf:about="http://ramin-tavassoli.de/doku.php?id=technology:domainmodel&amp;rev=1359634507&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2013-01-31T13:15:07+02:00</dc:date>
        <title>technology:domainmodel</title>
        <link>http://ramin-tavassoli.de/doku.php?id=technology:domainmodel&amp;rev=1359634507&amp;do=diff</link>
        <description>Domain Driven Design ist eine konzeptuelle Herangehensweise um Business Logik zu implementieren. Die Domäne ist der Kern dieses Entwicklungskonzeptes. Man muss Domänenexperten in den Prozess integrieren, eine gemeinsame Sprache finden, und die Domäne in verdaubare Kontexte aufteleilen, in denen der Sprachgebrauch der Begriffe jeweils eindeutig ist. DDD verwendet diverse Muster, von denen die wichtigsten die folgenden sind</description>
    </item>
    <item rdf:about="http://ramin-tavassoli.de/doku.php?id=technology:dotnet&amp;rev=1423239186&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2015-02-06T17:13:06+02:00</dc:date>
        <title>technology:dotnet</title>
        <link>http://ramin-tavassoli.de/doku.php?id=technology:dotnet&amp;rev=1423239186&amp;do=diff</link>
        <description>In .Net kann man in unterschiedlichen Sprachen programmieren. Ich habe mich für C# enschieden, es hätte aber genau so gut VB.Net werden können. Alles was C# wird dort beschrieben. Alles was .Net betrifft  hier.  
Ein wichtiger Aspekt ist die Verteilung der fertigen Anwendungen über ein Setup.</description>
    </item>
    <item rdf:about="http://ramin-tavassoli.de/doku.php?id=technology:es&amp;rev=1358258996&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2013-01-15T15:09:56+02:00</dc:date>
        <title>technology:es</title>
        <link>http://ramin-tavassoli.de/doku.php?id=technology:es&amp;rev=1358258996&amp;do=diff</link>
        <description>In Event Sourcing wird der Zustand der Anwendung darüber gespeichert, indem die Ereignisse, die in der Domäne passiert sind, gespeichert werden. Dafür werden sinnvolle und sprechende Ereignisse definiert, und zwar in der Sprache der Domäne. Wenn man die INSERT, UPDATE und DELETE Befehle in der Datenbank loggt, hat man zwar pro Tabelle eine Historie über das, was passiert ist, aber man weiß nicht warum. Ein oft genanntes Beispiel ist ein Adresswechsel. Im UPDATE Befehl steht nicht drin, warum die…</description>
    </item>
    <item rdf:about="http://ramin-tavassoli.de/doku.php?id=technology:eventualconsistency&amp;rev=1358590799&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2013-01-19T11:19:59+02:00</dc:date>
        <title>technology:eventualconsistency</title>
        <link>http://ramin-tavassoli.de/doku.php?id=technology:eventualconsistency&amp;rev=1358590799&amp;do=diff</link>
        <description>Die Denormalisierer, die aus den Ereignissen, die vom Event Sourcing geliefert werden, die Projektionen bauen, greifen veröffentlichte und gespeicherte Ereignisse ab, und erstellen daraus Sichten die effizient abzufragen sind. Es kann beliebig viele solcher Denormalisierer geben. Manch komplexe Liste kann aufwendig zu bauen sein. Damit das Speichern von Ereignissen am Ende eines Befehlsaufrufs nicht durch die Denormalisierer verlangsamt wird, werden erst die Ereignisse gespeichert, und dann in e…</description>
    </item>
    <item rdf:about="http://ramin-tavassoli.de/doku.php?id=technology:multiplecommandhandling&amp;rev=1349348268&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2012-10-04T12:57:48+02:00</dc:date>
        <title>technology:multiplecommandhandling</title>
        <link>http://ramin-tavassoli.de/doku.php?id=technology:multiplecommandhandling&amp;rev=1349348268&amp;do=diff</link>
        <description>Multiple Command Handling ist nichts anderes als die Ausführung mehrerer Befehle innerhalb einer einzelnen Transaktion. Die Remote Facade hat dafür neben der Methode

Apply(Command cmd)

 eine weitere Methode 

ApplyAllOrNone(IList&lt;Command&gt; cmds)

Die Remote Facade baut nun nicht eine Transaktion um jeden Befehl, sondern um alle. Sie startet eine Transaktion und ruft dann die entsprechenden Command Handler für alle Befehle auf, und beendet die Transaktion nachdem alle Befehle erfolgreich ausgefü…</description>
    </item>
    <item rdf:about="http://ramin-tavassoli.de/doku.php?id=technology:polling&amp;rev=1358532185&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2013-01-18T19:03:05+02:00</dc:date>
        <title>technology:polling</title>
        <link>http://ramin-tavassoli.de/doku.php?id=technology:polling&amp;rev=1358532185&amp;do=diff</link>
        <description>Pollen ist das regelmäßige Anfragen nach Daten, so lange, bis das gewünschte Ergebnis da ist oder man sich entscheidet, das Pollen abzubrechen. Pollen ist im Zusammenhang mit Eventual Consistency sehr nützlich. Wenn ich einen Befehl abschicke, weiß ich auch nach einem ACK nicht, ob das Ergebnis in den Sichten, die ich mir angucken kann, bereits vorhanden ist.



Wenn mir somit der Empfang oder die Durchführung eines Befehls bestätigt wird, habe ich im Grunde lediglich die Möglichkeit danach zu p…</description>
    </item>
    <item rdf:about="http://ramin-tavassoli.de/doku.php?id=technology:reservationpattern&amp;rev=1362582439&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2013-03-06T16:07:19+02:00</dc:date>
        <title>technology:reservationpattern</title>
        <link>http://ramin-tavassoli.de/doku.php?id=technology:reservationpattern&amp;rev=1362582439&amp;do=diff</link>
        <description>Das Reservation Pattern ist relativ einfach. Man reserviert etwas für eine bestimmte Zeit, innerhalb der man die Reservierung bestätigen oder stornieren kann, in dem Wissen, dass das Bestätigen innerhalb des Reservierungszeitraums funktionieren wird.



Man kann das Reservierungsmuster im Grunde wie das 2PC einer verteilten Transaktion verwenden. Nur ist der Sprachgebrauch nicht technisch, sondern Domänen bezogen. Wenn man also davon spricht, einen Mietwagen zu reservieren, zusammen mit einem Ho…</description>
    </item>
    <item rdf:about="http://ramin-tavassoli.de/doku.php?id=technology:ssl&amp;rev=1371995832&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2013-06-23T15:57:12+02:00</dc:date>
        <title>technology:ssl</title>
        <link>http://ramin-tavassoli.de/doku.php?id=technology:ssl&amp;rev=1371995832&amp;do=diff</link>
        <description>IIS Manager

OBTAIN A CERTIFICATE

Select the server node in the treeview and double-click the Server Certificates feature in the listview:


Click Create Self-Signed Certificate... in the Actions pane.


Enter a friendly name for the new certificate and click OK.</description>
    </item>
    <item rdf:about="http://ramin-tavassoli.de/doku.php?id=technology:systemarchitecture&amp;rev=1384280283&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2013-11-12T19:18:03+02:00</dc:date>
        <title>technology:systemarchitecture</title>
        <link>http://ramin-tavassoli.de/doku.php?id=technology:systemarchitecture&amp;rev=1384280283&amp;do=diff</link>
        <description></description>
    </item>
    <item rdf:about="http://ramin-tavassoli.de/doku.php?id=technology:zeitzonen&amp;rev=1350810617&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2012-10-21T11:10:17+02:00</dc:date>
        <title>technology:zeitzonen</title>
        <link>http://ramin-tavassoli.de/doku.php?id=technology:zeitzonen&amp;rev=1350810617&amp;do=diff</link>
        <description>Bisher

Bisher wurde das Thema vollständig ignoriert. Wir sind davon ausgegangen, dass alle sich immer in derselben Zeitzone befinden. Das funktioniert auch sehr gut, es muss nichts umgerechnet werden und die Angaben sind eindeutig. Egal wo ich bin, ob in Deutschland, den USA oder Neuseeland, alle meine Datumsangaben sind in der Zeitzone meines Unternehmens, werden so angezeigt und auch so gespeichert.</description>
    </item>
</rdf:RDF>
