Skip to content
StackPractices

Mathias Paulenko

Software Engineer & Founder of StackPractices

Mathias Paulenko

Mathias Paulenko

Software Engineer

Software engineer with 12+ years of experience building production systems across Python, JavaScript, React, and DevOps. I have contributed to enterprise projects spanning CI/CD pipelines, API design, cloud infrastructure, and full-stack development.

StackPractices is my personal project, born from a simple belief: great documentation should be copy-paste ready. Every recipe, pattern, and guide on this site is designed to save you time and help you ship faster.

Published Works (1032)

intermediate

Extract Data from HTML Pages with Python and BeautifulSoup

Parse HTML and extract data using BeautifulSoup. Covers CSS selectors, navigation, tables, pagination, and respectful scraping with rate...

intermediate

Node.js Caching with Redis: Cache-Aside and TTL Patterns

Cache API responses in Node.js with Redis using cache-aside and TTL patterns

intermediate

Docker Compose Dev/Prod Split: Separate Environments

Separate development and production Docker Compose configs with overrides

intermediate

Scan Docker Images for CVEs with Trivy and Grype

Scan Docker images for vulnerabilities before deployment using Trivy and Grype. Covers CI integration, severity filtering, SBOM, and...

intermediate

Centralize Container Logs with Fluentd and Docker

Collect, filter, and forward Docker container logs to Elasticsearch, S3, or stdout using Fluentd as a logging driver or sidecar.

intermediate

Docker Multi-Stage Build Optimization for Smaller Images

Reduce Docker image size with multi-stage builds and proper layering

intermediate

Docker Network Isolation and Inter-Container Security

Secure inter-container communication with custom Docker networks, network segmentation, and access control policies.

intermediate

Docker Secrets Management Without Hardcoding Credentials

Inject secrets into containers using Docker secrets, env files, and external secret managers without hardcoding them in images.

intermediate

Clean Git Commit History with Interactive Rebase

Squash, reorder, edit, and split commits with git rebase interactive. Covers pick, squash, fixup, reword, drop, and conflict resolution.

intermediate

Expose Custom Application Metrics with Python and Prometheus

Build a custom Prometheus metrics exporter in Python using prometheus_client for counters, gauges, histograms, and summaries.

advanced

a Custom Terraform Provider with Python and

Extend Terraform with a custom provider using Python and the terraform-plugin-framework to manage external resources.

intermediate

JavaScript Drag and Drop File Upload with HTML5 API

Implement native HTML5 drag and drop file upload in JavaScript

intermediate

Node.js File Upload Validation: Type, Size, and Content

Validate file uploads in Node.js with multer for type, size, and content

intermediate

Stream Process Large Files in Node.js Without Memory Issues

Process GB-sized files in Node.js using streams. Covers readline, transform streams, pipeline, backpressure, and chunk processing.

beginner

JavaScript Clipboard Copy and Paste

Copy text to clipboard programmatically in JavaScript with fallback

intermediate

Debounce and Throttle Functions in JavaScript

Control function execution rate with debounce and throttle. Covers leading/trailing edge, cancelable timers, and real-world use cases.

intermediate

JavaScript Infinite Scroll Pagination with

Implement scroll-based data loading in JavaScript with IntersectionObserver

beginner

JavaScript LocalStorage with TTL Expiration

Store data with TTL expiration in browser localStorage

intermediate

JavaScript Service Worker Offline Caching for PWA

Cache assets for offline PWA support with Service Workers and Cache API

intermediate

Custom GraphQL Scalar Types for Dates, Emails, and JSON

Define custom GraphQL scalars for Date, Email, URL, and JSON fields with serialization, parsing, and validation logic

intermediate

Batch and Cache Database Queries with GraphQL DataLoader

Use DataLoader to coalesce individual load requests into batched database calls, solving the N+1 query problem in GraphQL resolvers

intermediate

Structured GraphQL Errors with Extension Codes

Implement structured error handling in GraphQL with custom error classes, extension codes, and consistent error formatting for clients

advanced

Set Up a GraphQL Federation Gateway with Apollo

Compose multiple GraphQL services into a single federated supergraph using Apollo Federation and a gateway that routes queries across...