npm uses Semantic Versioning.
MAJOR.MINOR.PATCH[-PRERELEASE][+BUILD]
| Part | Meaning |
|---|
| # GitHub Copilot Instructions for React and Next.js Projects | |
| This file provides guidelines for GitHub Copilot to ensure consistent, clean, and performant code generation for React and Next.js applications. | |
| ## General Principles | |
| - **Clean Code:** Prioritize **readability, maintainability, and reusability**. | |
| - **Conciseness:** Aim for concise and expressive code. | |
| - **Descriptive Naming:** Use clear and descriptive names for variables, functions, components, and files (e.g., `getUserProfile`, `ProductCard`, `useAuth`). | |
| - **DRY (Don't Repeat Yourself):** Extract reusable logic into functions, custom hooks, or components. |
| # Keycloak containers doesn't come with curl or wget in it, this forces the users to use alternative mechanisms to realise | |
| # health check for the keycloak standard containers. This example leverages the capability of modern Java to dynamically | |
| # compile a *.java source file and execute it on the fly using the `java` command. The HealthCheck class uses | |
| # java.net.URL to open a connection to the `health/live` endpoint of keycloak and exits the process with a non-zero status | |
| # if the http status is not `Ok` | |
| version: '3' | |
| services: | |
| ############################ | |
| # Keycloak service | |
| ############################ |
npm uses Semantic Versioning.
MAJOR.MINOR.PATCH[-PRERELEASE][+BUILD]
| Part | Meaning |
|---|
This is a short and simple example on how to build a proper Keycloak cluster, using JDBC_PING as discovery protocol and an NGINX server as reverse proxy.
As this is for legacy Keycloak version (Wildfly based, up until version 17), you can find an example for more current and uptodate versions at this gist here: https://gist.github.com/dasniko/3a57913047af3ca1b6b0a83b294dc1a1
Please see also my video about Keycloak Clustering: http://www.youtube.com/watch?v=P96VQkBBNxU
Docker allows storing configurations outside docker images and running containers. This feature, named configs, eliminates the need to use volumes, bind-mount, or environment variables to pass configurations to containers.
The configs have the following characteristics:
You can use this diagram as a template to create your own git branching diagrams. Here's how:
https://gist.githubusercontent.com/bryanbraun/8c93e154a93a08794291df1fcdce6918/raw/bf563eb36c3623bb9e7e1faae349c5da802f9fed/template-data.xml| { | |
| "meta": { | |
| "theme": "professional", | |
| "lastModified": "2026-03-12T00:00:00.000Z" | |
| }, | |
| "basics": { | |
| "name": "Thomas Davis", | |
| "phone": "0411021021", | |
| "label": "Full Stack Developer & AI Engineer", | |
| "image": "https://avatars0.githubusercontent.com/u/416209?s=460&u=38f220a2c9c658141804f881c334c594eb1642ac&v=4", |
| # Cache sudo password | |
| sudo -v | |
| # Enable installation of 32-bit packages | |
| sudo dpkg --add-architecture i386 | |
| # Enable the Ubuntu partner repository (this doesn't seem to be necessary for 20.04) | |
| if [ $(lsb_release -r | awk '{print $2}') == '18.04' ]; then | |
| sudo sed -i 's/^# deb http:\/\/archive.canonical.com\/ubuntu/deb http:\/\/archive.canonical.com\/ubuntu/' /etc/apt/sources.list | |
| sudo apt update |