Welcome. This site supports keyboard navigation and screen readers.
Press ? at any time for keyboard shortcuts. Press [ to focus the sidebar, ] to focus the content.
High-contrast themes are available via the toolbar.
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...
β
- TypeScript, Node.js, vanilla ES6+
- HTML5, CSS3, responsive design, CSS custom properties
- Requirements as Code in TypeScript β typed feature tracking with compile-time verification
- Custom Node.js build pipeline: Markdown β HTML with SEO, JSON-LD, sitemap (this website)
- marked.js (rendering), Mermaid (diagrams), highlight.js (syntax highlighting)
- CSS/JS bundling, minification (Terser), pre-rendered Mermaid SVGs (dark + light themes)
- Vitest β unit tests with 100% coverage
- Playwright β E2E, visual regression baselines (4 themes Γ multiple viewports), smoke mode
- axe + pa11y β accessibility audits on every page
- jQuery, Flash/Flex (previous roles)