- CQRS Journey: Free ebook from Microsoft (Print book available for purchase)
- Functional and Reactive Domain Modeling: A high level overview of how to build up domain models using free monads and interpreters.
- Reactive Microservices Architecture: Free booklet from Lagom and O'Reilly
- Reactive Messaging Patterns with the Actor Model: Applications and Integration in Scala and Akka
- Domain-Driven Design: Tackling Complexity in the Heart of Software
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
namespace Application2 | |
open WebSharper | |
open WebSharper.JavaScript | |
open WebSharper.UI.Next | |
open WebSharper.UI.Next.Client | |
open WebSharper.UI.Next.Html | |
open WebSharper.JQuery | |
open WebSharper.Amplify |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
namespace Amplify | |
open WebSharper | |
open WebSharper.JavaScript | |
open WebSharper.InterfaceGenerator | |
open WebSharper.JQuery | |
module Definition = | |
let DefineRequestType = |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
module Actors = | |
type MailBox = Eventsourced<GameCommand, obj, State> | |
let Logger = Serilog.Log.Logger | |
let update state (evnt : obj) = state | |
type Apply = MailBox -> State -> obj -> State | |
let apply : Apply = fun m s e -> s //(mailbox : MailBox) (state : State) (evnt : obj) = state | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
let filter (game : Game) = game.Status = GameStatus.Refunded || game.Status = GameStatus.Completed | |
games | |
|> toSeq | |
|> Seq.filter(fun(k,v) -> filter v) | |
|> Seq.map(fun(k,v) -> v) | |
|> Seq.sortByDescending(fun(v) -> v.DrawingAt) | |
|> Seq.map (fun(v) -> toPreviousGame v) | |
|> Seq.toArray |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="utf-8" ?> | |
<configuration> | |
<configSections> | |
<section name="akka" type="Akka.Configuration.Hocon.AkkaConfigurationSection, Akka" /> | |
</configSections> | |
<akka> | |
<hocon> | |
<![CDATA[ | |
akka { |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
let initGames() = | |
let table = new Database.dbo.Tables.Game() | |
table.Clear() | |
table.AcceptChanges() | |
table.AddRow("My First Game", DateTime.UtcNow.AddHours(-1.00), DateTime.UtcNow.AddHours(1.00), DateTime.UtcNow.AddHours(2.00), Some(10000L)) | |
table.AcceptChanges() | |
table.Dispose() |> ignore | |
ignore |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
let something = | |
1 + 1 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
let findOk result item = | |
result | |
|> successTee (fun (obj, msgs) -> | |
let found = msgs |> List.toSeq |> Seq.tryFind (fun(m) -> m = item) | |
match found with | |
| Some msg -> msg |> should be (sameAs item) | |
| None -> failwith(sprintf "%s not found" item) | |
) | |
let findFailure result item = |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
ddddddd |
NewerOlder