public class App : IHostedService {
private readonly ILogger _log;
private readonly IServiceProvider _sp;
public async Task StartAsync(CancellationToken ct)
{
var result = await _sp.GetRequiredService<IPipeline>()
.Map(ctx => ctx.Validate())
.Bind(ctx => ctx.Execute())
.Recover(err => Result.Fail(err));
_log.LogInformation("Pipeline: {Status}", result);
}
}
[AggregateRoot("Order")]
public partial class OrderAggregate
{
[Property] public string CustomerId { get; }
[Property] public OrderStatus Status { get; }
[Composition] public List<OrderLine> Lines { get; }
[Invariant]
public bool MustHaveLines() => Lines.Count > 0;
[DomainEvent]
public record OrderPlaced(string OrderId, DateTime At);
}
const render = async (md: string) => {
const { html, meta } = await marked.parse(md);
document.querySelector('#output').innerHTML = html;
await processMermaid(document.querySelector('#output'));
hljs.highlightAll();
};
<template>
<nav id="sidebar" role="navigation">
<div v-for="section in toc" :key="section.id">
<a :href="section.path">{{ section.title }}</a>
</div>
</nav>
</template>
apiVersion: apps/v1
kind: Deployment
metadata:
name: api-gateway
spec:
replicas: 3
selector:
matchLabels:
app: gateway
template:
spec:
containers:
- name: api
image: registry.local/api:latest
ports:
- containerPort: 8080
[MetaConcept("Entity")]
public abstract class EntityConcept
{
[MetaProperty] public string Name { get; }
[MetaReference] public AggregateConcept Root { get; }
[MetaConstraint]
public bool NameNotEmpty() => !string.IsNullOrEmpty(Name);
}
module.exports = {
entry: './src/index.ts',
output: { path: path.resolve(__dirname, 'dist') },
resolve: { extensions: ['.ts', '.js'] },
module: {
rules: [{ test: /\.ts$/, use: 'ts-loader' }]
}
};
$ cat loading...
█
Software Developer — 2007 – 2008 — Full-Time On-Site
AB Croisière is a selling company of cruising offers. Hired to redesign and automate some big parts of the information system. The company was sold to Promovacances-Karavel.
- Redesign of the tariff and availability systems by consuming SOAP services of all major cruise companies (MSC, Costa Croisière, etc.), with overall redesign of database, BackOffice and the selling details and list pages on the Front-office
- Use of XHR to make website pages and back office more responsive, with better SEO and searchability for Front-office
- Managing dev & prod environments scripting setup of development computers and developer experience
- Managing an IT farm of 50 lightweight clients using Microsoft Terminal Server
Bash LAMP HTML JS SOAP WS Windows Terminal Server Windows Server .NET VB 6 SOAP Bridge Eclipse PDT
My first big job and very first refactoring of a very complex database and workflows.