https://github.com/search?q=user%3AKodrAus+topic%3Aexample
Any example repositories I put together should turn up with a user:KodrAus topic:example
GitHub search query.
A Mesosphere eCommerce platform
License: Apache License 2.0
https://github.com/search?q=user%3AKodrAus+topic%3Aexample
Any example repositories I put together should turn up with a user:KodrAus topic:example
GitHub search query.
Adjust the Process type definition as follows:
public class Process<TCommand1, TIn1, TOut1, TCommand2, TIn2, TOut2> : Process<TIn1, TOut1, TIn2, TOut2>, IProcess, IProcessStep<TIn1, TOut2>
where TCommnd1: IProcessStep<TIn1, TOut1>
where TIn1 : class, IProcessInput
where TOut1 : class, IProcessOutput
where TCommnd2: IProcessStep<TIn2, TOut2>
where TIn2 : class, IProcessInput
where TOut2 : class, IProcessOutput
So that we can specify the type of the command to handle the process steps, rather than just specifying the input and output args
Rather than using Func<>
for the threads in Process
, use Expression<Func<>>
instead and compile when necessary to run. This is so we can serialize the expression and pass along to another node to compile and execute
The current Product
definition is pretty nasty. This needs to be tidied up as follows:
IProduct
, leave property relationships between Product
and Variant
as coincidentalProduct
protectedProduct
depending on the kind of queryAdd a factory to convert entities to an appropriate aggregate representation:
public AggregateFactory()
{
Mapper.CreateMap<Product, ProductDetails>();
Mapper.CreateMap<Product, ProductSummary>();
}
public T AggregateFromProduct<T>(Product product)
where T : Product
{
return Mapper.Map<T>(product);
}
Could also use Mapper.DynamicMap<T>
. Will also need to verify that the AutoMapper 3.3.0
initialisation using BindingFlags will work on Mono:
Mapper.Initialize(cfg =>
{
cfg.BindingFlags = BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance;
});
Execute
methods return immediatelyUse a logger instead of just writing to Console so the logging debug info that's being added doesn't get wasted
Using the following Elasticsearch to support recursive variant matching:
POST products/_search
{
"query": {
"filtered": {
"query": {
"match_all": {}
},
"filter": {
"term": {
"_id": "fbe8b40e-0f3d-4dd9-bfc5-26389a1664a9"
}
}
}
},
"script_fields": {
"variants": {
"script": "variant = _source.variants.find { v -> v.id == match_id } \n variant",
"params": {
"match_id": "my id"
}
}
}
}
This needs to be adapted as follows:
match_id
should be an array of idsmatch_id
, and update the variant
property to be the result of finding the variant with that idAt the moment things are messy, code is duplicated.
Refactor so common logic is standard, and look into trying to make the design scalable to n steps
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.