<turbo-stream action="append" target="posts_list"><template>    <div class="postbit" id="11001" data-post-id="11001">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="sasajuric" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/sasajuric/120/991_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  sasajuric
                  </h3>
		          </div>
						
			          <div class="user-title">
									<span>Author of Elixir In Action</span>
			          </div>
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote no-group" data-username="anders" data-post="11" data-topic="519">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/anders/48/2345_2.png" class="avatar"> anders:</div>
<blockquote>
<p>In fact I think that the running Todo example from “Elixir in Action” by <a class="mention" href="/u/sasajuric" rel="nofollow">@sasajuric</a> looks a lot like DDD and CQRS-light even though the terminology from Evans book is not used “strictly”.</p>
</blockquote>
</aside>
<p>It’s certainly not intentional <img src="https://forum.elixirforum.com/images/emoji/apple/slight_smile.png?v=15" title=":slight_smile:" class="emoji" alt=":slight_smile:" loading="lazy" width="20" height="20"><br>
That said, I’ve read the Evans book a long time (~ 10 years) ago, so it’s possible that some ideas got stuck in my subconsciousness and are still present in my coding style <img src="https://forum.elixirforum.com/images/emoji/apple/slight_smile.png?v=15" title=":slight_smile:" class="emoji" alt=":slight_smile:" loading="lazy" width="20" height="20"></p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="11001" data-batch-url="/posts/batch_likers">
                        5
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/ddd-cqrs-es-nosql-and-functional-programming/519/12">Post #11</a>
	                </div>
	            </div>
              <div id="likers-container-11001" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="11001"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #11"></div>
  </section>
</div>
    <div class="postbit" id="11013" data-post-id="11013">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="josevalim" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/josevalim/120/1787_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  josevalim
                  </h3>
		          </div>
						
			          <div class="user-title">
									<span>Creator of Elixir</span>
			          </div>
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote no-group" data-username="hubertlepicki" data-post="2" data-topic="519">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/hubertlepicki/48/6822_2.png" class="avatar"> hubertlepicki:</div>
<blockquote>
<p>public MyApp.LogIn<br>
public MyApp.Register<br>
private MyApp.CreatePost<br>
private MyApp.DeletePost</p>
</blockquote>
</aside>
<p>When Chris and I we were discussing the changes upcoming to Phoenix 1.3 generators, we both agreed that we wouldn’t want to force commands/operations at the module level. Your commands should be functions. So I would rather attempt something such as:</p>
<pre data-code-wrap="elixir"><code class="lang-elixir">public &amp;MyApp.Accounts.login/2
public &amp;MyApp.Accounts.register/2
private &amp;MyApp.Posts.create/2
private &amp;MyApp.Posts.delete/2
</code></pre>
<p>I can easily see functionality being shared between those commands. For example, both create and delete command for posts likely share similar authorization rules. So breaking it at the module level seems to impose the wrong level of granularity.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="11013" data-batch-url="/posts/batch_likers">
                        2
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/ddd-cqrs-es-nosql-and-functional-programming/519/13">Post #12</a>
	                </div>
	            </div>
              <div id="likers-container-11013" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="11013"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #12"></div>
  </section>
</div>
    <div class="postbit" id="11015" data-post-id="11015">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="hubertlepicki" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/hubertlepicki/120/6822_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  hubertlepicki
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>OK <a class="mention" href="/u/josevalim" rel="nofollow">@josevalim</a>, I think there is some definitions mismatch. In DDD/CQRS we have a command, which has a name, data, possibly also ID and timestamp (depending on implementation), and a <em>command handler</em>.</p>
<p>So a command, quite naturally fit into a module and could be:</p>
<p>%TransferMoney{from: “SOME IBAN”, to: “SOME IBAN”, amount: 1234)</p>
<p>and the command handler will be a function.</p>
<p>BTW: Have a look at this project on GitHub: <a href="https://github.com/slashdotdash/commanded" class="inline-onebox" rel="noopener nofollow ugc">GitHub - commanded/commanded: Use Commanded to build Elixir CQRS/ES applications · GitHub</a> that is pretty young but I did give it a shot yesterday and it seems to work surprisingly well and has some advanced features.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="11015" data-batch-url="/posts/batch_likers">
                        4
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/ddd-cqrs-es-nosql-and-functional-programming/519/14">Post #13</a>
	                </div>
	            </div>
              <div id="likers-container-11015" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="11015"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #13"></div>
  </section>
</div>
    <div class="postbit" id="11017" data-post-id="11017">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="josevalim" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/josevalim/120/1787_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  josevalim
                  </h3>
		          </div>
						
			          <div class="user-title">
									<span>Creator of Elixir</span>
			          </div>
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote no-group" data-username="hubertlepicki" data-post="14" data-topic="519">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/hubertlepicki/48/6822_2.png" class="avatar"> hubertlepicki:</div>
<blockquote>
<p>So a command, quite naturally fit into a module and could be:</p>
<p>%TransferMoney{from: “SOME IBAN”, to: “SOME IBAN”, amount: 1234)</p>
<p>and the command handler will be a function.</p>
</blockquote>
</aside>
<p>That clarifies it, thank you!</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="11017" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/ddd-cqrs-es-nosql-and-functional-programming/519/15">Post #14</a>
	                </div>
	            </div>
              <div id="likers-container-11017" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="11017"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #14"></div>
  </section>
</div>
    <div class="postbit" id="12545" data-post-id="12545">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="mkunikow" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/mkunikow/120/235_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  mkunikow
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>###<a class="hashtag-cooked" href="/tag/cqrs/1132" data-type="tag" data-slug="cqrs" data-id="1132" data-style-type="icon" data-icon="tag" rel="nofollow"><span class="hashtag-icon-placeholder"><svg class="fa d-icon d-icon-square-full svg-icon svg-node"><use href="#square-full"></use></svg></span><span>cqrs</span></a> - Apache Kafka</p>
<p><a href="http://www.confluent.io/blog/making-sense-of-stream-processing/" rel="noopener nofollow ugc">Stream processing, Event sourcing, Reactive, CEP… and making sense of it all</a><br>
<a href="http://www.confluent.io/blog/event-sourcing-cqrs-stream-processing-apache-kafka-whats-connection/" rel="noopener nofollow ugc">Event sourcing, CQRS, stream processing and Apache Kafka: What’s the connection?</a></p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="12545" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/ddd-cqrs-es-nosql-and-functional-programming/519/16">Post #15</a>
	                </div>
	            </div>
              <div id="likers-container-12545" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="12545"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #15"></div>
  </section>
</div>
    <div class="postbit" id="12554" data-post-id="12554">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="kraades" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/kraades/120/957_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  kraades
                    <span class="op-star" title="Thread Starter">
                      <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                    </span>
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p><em>“Actor frameworks such as Akka, Orleans and Erlang OTP are also based on streams of immutable events. However, they are primarily a mechanism for concurrency, less a mechanism for data management. Some actor frameworks do have a distributed component, so you could build a distributed stream processing framework on top of actors. However, it’s worth looking carefully at the fault-tolerance guarantees and failure modes of these systems: many don’t provide durability, for example.”</em></p>
<p>True for Erlang/Elixir?</p>
<p>Some Erlang/Elixir libraries for Apache Kafka…<br>
<a href="https://github.com/kafkaex/kafka_ex" class="onebox" target="_blank" rel="noopener nofollow ugc">https://github.com/kafkaex/kafka_ex</a><br>
<a href="https://cwiki.apache.org/confluence/display/KAFKA/Clients#Clients-Erlang" class="inline-onebox" rel="noopener nofollow ugc">Clients - Apache Kafka - Apache Software Foundation</a> → <a href="https://github.com/klarna/brod" class="inline-onebox" rel="noopener nofollow ugc">GitHub - kafka4beam/brod: Apache Kafka client library for Erlang/Elixir · GitHub</a></p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="12554" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/ddd-cqrs-es-nosql-and-functional-programming/519/17">Post #16</a>
	                </div>
	            </div>
              <div id="likers-container-12554" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="12554"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #16"></div>
  </section>
</div>
    <div class="postbit" id="12557" data-post-id="12557">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="mkunikow" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/mkunikow/120/235_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  mkunikow
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>I would agree that Actor model is type of concurrency model. The higher abstract level are stream processing models.</p>
<p>In Scala word there is streaming frameworks like <a href="http://doc.akka.io/docs/akka-stream-and-http-experimental/1.0-M2/scala.html" rel="noopener nofollow ugc">Akka Streams</a>. There are some discussion that actor model is low level and does not compose well and better is using streaming model.<br>
<a href="https://tech.zalando.com/blog/comparing-akka-streams-actors-and-plain-futures/" rel="noopener nofollow ugc">Which shoe fits you? Comparing Akka Streams, Actors, and Plain Futures</a>.<br>
<a href="https://twitter.com/joescii/status/786276233168326658" rel="noopener nofollow ugc">Actor message passing is the GOTO of concurrency. Compose with futures instead. </a></p>
<p>For elixir I would say something equivalent is <a href="https://hexdocs.pm/gen_stage/Experimental.GenStage.html" rel="noopener nofollow ugc">GenStage and Flow</a><br>
But I have not using it, so maybe somebody can confirm if we can comprare GenStage to stream processing.</p>
<p>PS<br>
I don’t want start any holy war <img src="https://forum.elixirforum.com/images/emoji/apple/slight_smile.png?v=15" title=":slight_smile:" class="emoji" alt=":slight_smile:" loading="lazy" width="20" height="20"></p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="12557" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/ddd-cqrs-es-nosql-and-functional-programming/519/18">Post #17</a>
	                </div>
	            </div>
              <div id="likers-container-12557" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="12557"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #17"></div>
  </section>
</div>
    <div class="postbit" id="12925" data-post-id="12925">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="mkunikow" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/mkunikow/120/235_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  mkunikow
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="onebox allowlistedgeneric" data-onebox-src="https://www.youtube.com/channel/UChUrUs_xAW2YiSV7iBWkzhw">
  <header class="source">
      <img src="https://www.youtube.com/s/desktop/6740ecb6/img/favicon.ico" class="site-icon" alt="" width="48" height="48">

      <a href="https://www.youtube.com/channel/UChUrUs_xAW2YiSV7iBWkzhw" target="_blank" rel="noopener nofollow ugc">YouTube</a>
  </header>

  <article class="onebox-body">
    <img width="690" height="690" src="https://yt3.googleusercontent.com/ytc/AIdro_n_jFZjLMlmYh6FKmYCf7uflAvnIWLXFVZgn6MZdru-Uw=s900-c-k-c0x00ffffff-no-rj" class="thumbnail onebox-avatar" alt="">

<h3><a href="https://www.youtube.com/channel/UChUrUs_xAW2YiSV7iBWkzhw" target="_blank" rel="noopener nofollow ugc">Reactive Summit</a></h3>

  <p>Learn about CQRS, Event-Sourcing, Serverless, Cloud Native App Design, and more on this channel. 

For information regarding how you can participate in Reactive Summit 2022, please email events@linuxfoundation.org.</p>


  </article>

  <div class="onebox-metadata">
    
    
  </div>

  <div style="clear: both"></div>
</aside>
 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="12925" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/ddd-cqrs-es-nosql-and-functional-programming/519/19">Post #18</a>
	                </div>
	            </div>
              <div id="likers-container-12925" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="12925"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #18"></div>
  </section>
</div>
    <div class="postbit" id="13328" data-post-id="13328">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="henry-hz" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/henry-hz/120/1318_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  henry-hz
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Based on this video and the code posted by the presenter, I published a small boilerplate: <a href="https://github.com/work-capital/elixir-cqrs-eventsourcing" class="inline-onebox" rel="noopener nofollow ugc">GitHub - work-capital/workflow: Functional CQRS Eventsourcing Engine · GitHub</a> , but I admit that the approach used by <a href="https://github.com/slashdotdash/commanded" class="inline-onebox" rel="noopener nofollow ugc">GitHub - commanded/commanded: Use Commanded to build Elixir CQRS/ES applications · GitHub</a> is more clear and easier to debug and test. My question is Postgre VS Eventstore.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="13328" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/ddd-cqrs-es-nosql-and-functional-programming/519/20">Post #19</a>
	                </div>
	            </div>
              <div id="likers-container-13328" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="13328"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #19"></div>
  </section>
</div>
    <div class="postbit" id="14663" data-post-id="14663">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="peerreynders" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/peerreynders/120/5826_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  peerreynders
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p><a href="http://fby.by/2015/" rel="noopener nofollow ugc">f(by) - Conference on Functional Programming 2015-11-28 (Belarus 17:30-18:30)</a></p>
<h2><a name="p-14663-event-sourcing-is-actually-just-functional-code-1" class="anchor" href="#p-14663-event-sourcing-is-actually-just-functional-code-1" aria-label="Heading link" rel="nofollow"></a>Event Sourcing is actually just functional code</h2>
<p>by Greg Young</p>
<p>            <img class="youtube-thumbnail onebox" style="display: none;" src="https://img.youtube.com/vi/kZL41SMXWdM/maxresdefault.jpg" width="" height="">
            <iframe src="https://www.youtube.com/embed/kZL41SMXWdM?feature=oembed&amp;wmode=opaque" width="480" height="360" frameborder="0" allowfullscreen="" class="youtube-onebox" seamless="seamless" sandbox="allow-same-origin allow-scripts allow-forms allow-popups allow-popups-to-escape-sandbox allow-presentation"></iframe>
</p>
<blockquote>
<p>This talk will go through the concept of event sourcing and show that at its core its really just functional code. You can implement an event sourced system in Object Oriented code but its really hiding what is happening. Have you seen the logo for event store or the cute little dragon? By the end of this talk you will also understand what they mean.</p>
</blockquote> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="14663" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/ddd-cqrs-es-nosql-and-functional-programming/519/21">Post #20</a>
	                </div>
	            </div>
              <div id="likers-container-14663" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="14663"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #20"></div>
  </section>
</div>
</template></turbo-stream><turbo-stream action="replace" target="load-more-container"><template><div id="load-more-container" class="load-more-container">
    <a class="load-more-button" data-turbo-stream="true" href="/topics/519/load_more?page=3">Load more posts (18 remaining)</a>
</div></template></turbo-stream>