The Levenshtein distance is a measure of the difference between two strings. It indicates how many single-character operations are needed to transform one string into the other. The allowed operations are:
Insertion of a character
Deletion of a character
Substitution of one character with another
The Levenshtein distance between "house"
and "mouse"
is 1, since only one letter (h → m) needs to be changed.
Levenshtein distance is used in many areas, such as:
Spell checking (suggesting similar words)
DNA sequence comparison
Plagiarism detection
Fuzzy searching in databases or search engines
For two strings a
and b
of lengths i
and j
:
lev(a, b) = min(
lev(a-1, b) + 1, // deletion
lev(a, b-1) + 1, // insertion
lev(a-1, b-1) + cost // substitution (cost = 0 if characters are equal; else 1)
)
There are also more efficient dynamic programming algorithms to compute it.
The "Happy Path" (also known as the "Happy Flow") refers to the ideal scenario in software development or testing where everything works as expected, no errors occur, and all inputs are valid.
Let’s say you’re developing a user registration form. The Happy Path would look like this:
The user enters all required information correctly (e.g., a valid email and secure password).
They click “Register.”
The system successfully creates an account.
The user is redirected to a welcome page.
➡️ No validation errors, no server issues, and no unexpected behavior.
Initial testing focus: Developers and testers often check the Happy Path first to make sure the core functionality works.
Basis for use cases: In documentation or requirements, the Happy Path is typically the main scenario before covering edge cases.
Contrasts with edge cases / error paths: Anything that deviates from the Happy Path (e.g., missing password, server error) is considered an "unhappy path" or "alternate flow."
The Fully Qualified Domain Name (FQDN) is the complete and unique name of a computer or host on the internet or a local network. It consists of multiple parts that reflect a hierarchical structure.
An FQDN is made up of three main components:
Hostname – The specific name of a computer or service (e.g., www
).
Domain Name – The name of the higher-level domain (e.g., example
).
Top-Level Domain (TLD) – The highest level of the domain structure (e.g., .com
).
Example of an FQDN:
👉 www.example.com.
www
→ Hostname
example
→ Domain name
.com
→ Top-Level Domain
The trailing dot (.
) is optional and represents the root domain of the DNS system.
✅ Uniqueness: Each FQDN is globally unique and refers to a specific resource on the internet.
✅ DNS Resolution: It is used by DNS servers to find the IP address of websites and servers.
✅ SSL Certificates: An FQDN is often required for SSL/TLS certificates to ensure secure connections.
✅ Email Delivery: Mail servers use FQDNs to send emails to the correct hosts.
FQDN: mail.google.com
(fully specified)
Simple Domain: google.com
(can contain multiple hosts, e.g., www
, mail
, ftp
)
In summary, the FQDN is the complete address of a device or service on the internet, while a simple domain is a more general address.
A rate limit is a restriction on the number of requests a user or system can send to a server or API within a given time frame. It helps prevent overload, ensures fair resource distribution, and mitigates abuse (e.g., DDoS attacks or spam).
Fixed Window – A set number of requests within a fixed time window (e.g., max 100 requests per minute).
Sliding Window – A dynamic limit based on recent requests.
Token Bucket – Users get a certain number of "tokens" for requests, which regenerate over time.
Leaky Bucket – Requests are placed in a queue and processed at a controlled rate.
An API allows a maximum of 60 requests per minute per user.
A website blocks an IP after 10 failed logins within 5 minutes.
If you need to implement rate limits in web development, various techniques and tools are available, such as Redis, NGINX rate limiting, or middleware in frameworks like Laravel or Express.js.
A spider (also called a web crawler or bot) is an automated program that browses the internet to index web pages. These programs are often used by search engines like Google, Bing, or Yahoo to discover and update content in their search index.
Starting Point: The spider begins with a list of URLs to crawl.
Analysis: It fetches the HTML code of a webpage and analyzes its content, links, and metadata.
Following Links: It follows the links found on the page to discover new pages.
Storage: The collected data is sent to the search engine’s database for indexing.
Repetition: The process is repeated regularly to keep the index up to date.
Search engine optimization (SEO)
Price comparison websites
Web archiving (e.g., Wayback Machine)
Automated content analysis for AI models
Some websites use a robots.txt file to specify which areas can or cannot be crawled by a spider.
A crawler (also known as a web crawler, spider, or bot) is an automated program that browses the internet and analyzes web pages. It follows links from page to page and collects information.
Search Engines (e.g., Google's Googlebot) – Index web pages so they appear in search engine results.
Price Comparison Websites – Scan online stores for the latest prices and products.
SEO Tools – Analyze websites for technical errors or optimization potential.
Data Analysis & Monitoring – Track website content for market research or competitor analysis.
Archiving – Save web pages for future reference (e.g., Internet Archive).
Starts with a list of URLs.
Fetches web pages and stores content (text, metadata, links).
Follows links on the page and repeats the process.
Saves or processes the collected data depending on its purpose.
Many websites use a robots.txt file to control which content crawlers can visit or ignore.
An Internationalized Resource Identifier (IRI) is an extended version of a Uniform Resource Identifier (URI) that supports Unicode characters beyond the ASCII character set. This allows non-Latin scripts (e.g., Chinese, Arabic, Cyrillic) and special characters to be used in web addresses and other identifiers.
A-Z
, 0-9
, -
, .
, _
), IRIs allow characters from the entire Unicode character set.https://de.wikipedia.org/wiki/Überblick
https://de.wikipedia.org/wiki/%C3%9Cberblick
Ü
is encoded as %C3%9C
)IRIs are defined in RFC 3987 and are supported in modern web technologies like HTML5, XML, and RDF.
IRIs make the internet more linguistically inclusive by allowing websites and resources to be referenced using non-Latin characters, improving accessibility worldwide.
A backlink is a link from an external website that points to your own website. It’s like a recommendation or reference: when another website links to yours, it signals to search engines that your content might be relevant and trustworthy.
SEO Ranking Factor:
Backlinks are one of the most critical criteria for search engines like Google to determine a website's relevance and authority. The more high-quality backlinks a site has, the better its chances of ranking higher in search results.
Traffic Source:
Backlinks drive direct traffic to your site when users click on the link.
Reputation and Trust:
Links from well-known and trusted websites (e.g., news outlets or industry leaders) boost your site’s credibility.
DoFollow Backlinks:
These pass on "link juice" (link equity), which positively impacts SEO rankings.
NoFollow Backlinks:
These tell search engines not to follow the link. While they have less impact on rankings, they can still drive traffic to your site.
Create High-Quality Content:
Content that is helpful, interesting, or unique often gets linked by other websites.
Write Guest Posts:
Publish articles on other blogs or websites and include links to your own.
Broken Link Building:
Identify broken links on other websites and suggest replacing them with links to your content.
Networking and Collaborations:
Build partnerships with other website owners to exchange or gain backlinks.
In software development, semantics refers to the meaning or purpose of code or data. It focuses on what a program is supposed to do, as opposed to syntax, which deals with how the code is written.
a = 5
b = 0
print(a / b)
2. HTML Semantics:
<header> instead of <div> for a webpage header.
3. Semantic Models:
In software development, syntax refers to the formal rules that define how code must be written so that it can be correctly interpreted by a compiler or interpreter. These rules dictate the structure, arrangement, and usage of language elements such as keywords, operators, brackets, variables, and more.
Language-Specific Rules
Every programming language has its own syntax. What is valid in one language may cause errors in another.
Example:
Python relies on indentation, while Java uses curly braces.
Python:
if x > 0:
print("Positive Zahl")
Java:
if (x > 0) {
System.out.println("Positive Zahl");
}
Syntax Errors
Syntax errors occur when the code does not follow the language's rules. These errors prevent the program from running.
Example (Syntax error in Python):
print "Hello, World!" # Fehlende Klammern
3. Syntax vs. Semantics
4. Tools for Syntax Checking
Variable Naming: Variable names cannot contain spaces or special characters.
Variablenbenennung: Variablennamen dürfen keine Leerzeichen oder Sonderzeichen enthalten.
my_variable = 10 # korrekt
my-variable = 10 # Syntaxfehler
{ ... }
.