Skip to main content

Luca Nerlich -- Tech Documentation

Practical guides and reference documentation for Adobe Experience Manager, Java, JavaScript, and software design patterns. Every page focuses on real-world examples, common pitfalls, and patterns you can apply immediately.


Documentation

AEM

Comprehensive Adobe Experience Manager documentation covering the full stack -- from architecture and components to Dispatcher, security, and AEM as a Cloud Service.

  • Architecture -- How Sling, JCR, and OSGi fit together in the AEM request processing pipeline
  • Component Dialogs -- Copy-paste reference for the most useful Granite UI dialog widgets
  • Custom Component Guide -- Step-by-step walkthrough: Sling Model, dialog, HTL template, and clientlib
  • HTL Templates -- Sightly syntax, block elements, expression language, and XSS protection
  • Sling Models -- Annotations, injectors, exporters, testing, and best practices
  • Client Libraries -- Clientlib categories, dependencies, embedding, and the HTML Library Manager
  • Groovy Console -- Interactive scripting for content operations, migrations, and debugging
  • Workflows -- Business process mapping, custom process steps, and launchers

Java

Core Java language guides independent of any framework -- practical examples, pitfall tables, and patterns you can apply immediately.

  • Streams and Collectors -- Stream pipelines, groupingBy, partitioningBy, and parallel streams
  • Modern Java Features -- Records, sealed classes, pattern matching, and a Java 11-to-21 feature table
  • Concurrency -- Threads, ExecutorService, CompletableFuture, and Virtual Threads
  • Generics -- Bounded types, wildcards, the PECS principle, and type erasure
  • Testing -- JUnit 5, Mockito mocking, AssertJ assertions, and parameterised tests
  • Error Handling -- Checked vs unchecked exceptions, try-with-resources, and the Result pattern

JavaScript

Practical JavaScript and TypeScript topics with code examples and browser compatibility notes.

  • Intl API Formatting -- Locale-aware number, date, currency, and relative time formatting
  • Async/Await Patterns -- Promises, error handling, concurrency control, and common pitfalls
  • Error Handling -- Custom error classes, global handlers, and structured error reporting

Content Modeling

CMS-agnostic guide to architecting content models -- content types, field selection, relations, performance pitfalls, complexity traps, and a practical blog example. Applies to AEM, Strapi, and any headless CMS.

Git

Practical Git reference -- branching strategies (trunk-based, Git Flow, GitHub Flow), merge vs rebase vs squash, interactive rebase, staging and stashing, undoing mistakes with reset/revert/reflog, cherry-pick, bisect, tags, aliases, and commit message conventions.

Web Performance

Core Web Vitals (LCP, INP, CLS), measuring performance with Lighthouse and field data, image and font optimization, JavaScript and CSS strategies, HTTP caching, CDN patterns, resource hints, performance budgets, and common anti-patterns.

Semantic HTML

What semantic HTML is, why it matters for accessibility and SEO, and a practical reference for every relevant element -- document structure, headings, text, inline semantics, lists, tables, forms, media, interactive elements, and common anti-patterns.

Design Patterns

GoF design patterns explained with Java and TypeScript examples: creational, structural, and behavioural patterns, plus a dedicated section on anti-patterns and common misuse.

Other

Shell and terminal setup, Docusaurus tips, a comprehensive Mermaid diagram guide, useful link collections, and practical Strapi CMS guides.


A selection of the most useful pages across all categories:


Projects

Professional

Hobby

  • Steam5 -- Steam review guessing game. Spring Boot, Next.js, React, PostgreSQL
  • RSS-Analyzer -- Audio RSS feed parser with aggregated release stats. Java, Next.js, React
  • EZ-Budget -- Monthly and yearly budget tracker. Next.js, React, Bootstrap CSS
  • Mindestens 10 Zeichen -- Community gaming and media blog. Docusaurus 3

All projects are self-hosted on a Hetzner VPS using Coolify and Docker. Lightweight, GDPR-friendly analytics via self-hosted Umami.


Contact

Questions, corrections, or content requests? Open a GitHub Issue or reach out at luca.nerlich@gmail.com.