Engineering

Encoding

https://www.joelonsoftware.com/2003/10/08/the-absolute-minimum-every-software-developer-absolutely-positively-must-know-about-unicode-and-character-sets-no-e...

Integrations

REST Should be used when you want an anwer of success or failure right away. It is a synchronous call and the client waits for the answer.

Builder Pattern Java

This creates an immutable object which can only be created via a builder object. This is nicer than put everything into a constructor.

Observer Pattern Csharp

https://learn.microsoft.com/en-us/dotnet/standard/events/how-to-raise-and-consume-events#example-2

Software Patterns

Builder If you want to instantiate a specific class with a lot of constructor parameters, or the class should be immutable, the builder pattern encapsulates...

Solid

SOLID Single Responsibility principle Open closed principle Liksov substitution principle Interface segregation Dependency inversion principle

Testing

Test comments Include these comments to structure the testcase. //given //when //then

Software General

Coding style Indentation 1TBS One true brace style is a style where the opening brace is placed on the same line as the statement. The closing brace is plac...

Azure App service

App service plan If multiple apps are in the same App Service plan, they all share the same VM instances. If you have multiple deployment slots for an app, ...

Azure cli

Get help Online reference: https://docs.microsoft.com/en-us/cli/azure/

Azure container instances

Azure container instances Top-level resource is a container group. This is similar to a kubernetes pod. It is a collection of containers on the same host-mac...

Azure insights

Azure data logs Kusto syntax I once had the problem that the request logs couldn’t be retrieved because the url value contained characters which lead to malf...

Azure networking

Connectivity Azure resources communicate over one of these channels: VNets, VNet service endpoints and VNet peering.

Azure storage

Azure storage Locally redundant storage (LRS) replicates your data three times within a single data center in the primary region. LRS provides at least 11 ni...

Azure

connectivity troubleshooting

Dynamics 365

Dynamics 365 Apps Sind modellgesteuerte Power-Apps und basieren auf common data service.

Application Gateway

Processes traffic to webapps where the webapps running on multiple webservers: load balancing Inspecting traffic and acting as web application firewall ...

Azure data factory

What is it Azure Data Factory is a cloud-based ETL (Transform and Load) and data integration service

Azure Eventhub

Overview Azure eventhub is used to stream events from publishers to consumers.

Ms Sql Server

Fresh installation To work with MS SQL database locally, the easiest way is to run SQL Server 2019 Express or SQL Server 2019 Developer edition locally. The ...

Mssqlms

Run When you select at least one character and press F5, only the selection is run.

Oracle No Sql

Export import a table into json and vice versa Export get table -name member -file fulldata.member.json;

Sqllite

Persist data Its is normal for a small project to start with an in-memory storage. The next evolution-step would be persist the data. But instead of using ...

Azure Devops

Pipeline runs: pull requests can require (via branch policy: Build Validation) builds to happen before they can be merged.

Docker Cheatsheet

Advantages The big advantage of containers is the non existing virtualisation layer. The running application within a docker container actually runs directly...

Rancher

Switch kubernetes context kubectl config get-contexts

Kafka

what is kafka? It is realtime event-streaming platform.

Renovate

Run renovate locally cd into the directory where config.js is located and run: ```

C Sharp

DotNet SDK The even version-numbers are the LTS(long term support) versions. For big projects its good to stick to the latest even .Net version. Only opt fo...

Entity Framework

Setup After you defined your DB context you can run these commands:

Linq

Get first match List<int> numbers = new List<int> { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; int result = numbers.FirstOrDefault(n => n > 5);

Sample Code

Get random strings of length between min and max ```` public static string GenerateRandomString(int minLength, int maxLength) { var random = ...

Enums

Check if your variable is part of enum values Stream.of(MyEnum.values()).anyMatch(v -> v.name().equals(strValue))

Java Collections

general construct String dataScopes = stream(InstructionType.values()) .filter(party::getInstruction) .map(Enum::name) ...

Java Concurrency

Runnable Represents a task to run on a thread. It is a functional interface with one void run() method. Can be run with Thread class or ExecutorService.

Java Profiling

VisualVM Download VisualVM (doesn’t need to be installed) and run it. Run the java application In VisualVM, you should see started application under “...

Java

Create Test via IntelliJ First you need declare the test-folder as Test Sources Root

Spring

Spring basic 3 tier pattern You can split your application into 3 layers:

React

React-scripts If you have a username with spaces on windows, you will have a hardtime to setup a react-script project.

Authentication

SAML 2.0 Open standard for passing authentication and authorization information between three actors: the principal the service provider the identity ...

Dns

CNAME and A DNS entries An A (Address) record maps a domain name to an IP address. A CNAME (Canonical Name) record maps a domain name to another domain name....

Https

TLS facts Even if you don’t understand how it really works, you can assume following points are true:

Troubleshooting

Who the internet see me Useful website to test local area network from outside (does port forwarding works?): https://canyouseeme.org/

Cwe 80

To prevent Cross-Site Scripting attacks on outbound: https://docs.veracode.com/r/Supported_Java_Cleansing_Functions

Ssl Inspection

SSL Inspection SSL inspection (Man in the middle) is a technique used to intercept and analyze encrypted SSL/TLS traffic between a client and a server. This...

Veracode

VeraCode static scan Order a veracode profile and some credentials to access it Build a pipeline to build your app and send it to veracode Trigger a f...

Jq

Count elements with certain criteria

Safe

Enterprise strategy

Scrum

Estimation This is a helpful table for estimate stories. If you don’t have a reference story, or other strategy to estimate a story just go through this tabl...

Avro

Backward compatibility Allows the consumer code to use a new version of a schema and process messages with an old version of the schema. Allows the followin...

Azure Cli

Use az in a company with SSL inspection If you see this:

Bash

variables STR="Hello World!" echo $STR echo ${STR}

Cmd

Set and read variables Set: set variablename=thatsaname Read: %variablename%

Backup Restore

Backup Mount same filesystem on every node Add a repository path on every node by put this into every elasticsearch.yml file: # Specifies the root ...

Elastic Search

Scaling One of the purpose of elasticsearch is to make lucene scalable. The environment where you run elasticsearch should naturally be scalable. Never let ...

Kibana

Search in Kibana You can type into the search bar something like: log.level: "ERROR" and not message: "Self registration failed"

Rolling Restart

Make a backup of the cluster stop non-essential indexing (if possible) disable shard allocation stop and update one node start the node re-enabl...

Scrolling On Es

Option - Scroll Search a. Takes a snapshot of results b. statefull c. use scroll-ID & TTL of scroll. d. Best practice is to delete the scroll and not...

Excel

Using regex in Excel Only available in preview. https://techcommunity.microsoft.com/blog/microsoft365insiderblog/new-regular-expression-regex-functions-in-e...

Git

Git branching strategies

Gitlog

Shows git stats git log --numstat --since 01-01-2019

Gource

gource is a nice tool to visualize git history.

Pre Commit

How to install Either run pip install pre-commit Or download pyz file from https://github.com/pre-commit/pre-commit/releases and run: python %homedrive%%home...

Jekyll

Steps I did to use Jekyll on this GitHub pages following this manual:

Intellij

Quicklists To create a quicklist go to File -> settings -> Appearance & Behaviour -> Quick-Lists. Here you can create a new Quicklist like: Git ...

Rider

Skip auto format // @formatter:off some custom formatted code that should be kept as is. // @formatter:on

Jmeter

get env variable ${__BeanShell(System.getenv("customer-preference-url"))}

Linux Cheatsheet

Gives info about the file system df -h . Lists all disks any their usages. Give a great overview about your used diskspace

Openstreet Map

OpenStreetMap editors I am using Vespucci on my android and ID for browser. I am still not sure if I should go the JOSM path as it looks like a very complica...

Outlook

Search Press F4 to search within an email in front of you. Ctrl+f is reserved for forwarding the mail.

Postman

Collections The Highest logical container for grouping stuff. You can share/import/export a collection.

Soap Ui

Troubleshooting Import open api specification into SOAPUI If you don’t see the Project -> Import swagger menu: The soapui-swagger-plugin-2.2-dist.jar is s...

Swagger Diff

Java Swagger-Diff To compare different swagger files. This tool loads the swagger file and compares the interpreted content rather than just do a file-diff.

Virtualization

Containers are like next stage of virtualization of hardware. They virtualize the operating system. Its kinda what a VM running on a physical computer is con...

Windows

Paths To get the absolute path of a file you need to shift-right click on a file and click on getPath:

Yaml

YAML is case-sensitive. Files should have the .yml extension. Spaces are used for indentation and not tabs. Comments are attributed using the # char...