bg_image
header

Rate Limit

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).

Common Rate-Limiting Methods:

  1. Fixed Window – A set number of requests within a fixed time window (e.g., max 100 requests per minute).

  2. Sliding Window – A dynamic limit based on recent requests.

  3. Token Bucket – Users get a certain number of "tokens" for requests, which regenerate over time.

  4. Leaky Bucket – Requests are placed in a queue and processed at a controlled rate.

Examples of Rate Limits:

  • 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.

 


Memcached

Memcached is a distributed in-memory caching system commonly used to speed up web applications. It temporarily stores frequently requested data in RAM to avoid expensive database queries or API calls.

Key Features of Memcached:

  • Key-Value Store: Data is stored as key-value pairs.

  • In-Memory: Runs entirely in RAM, making it extremely fast.

  • Distributed: Supports multiple servers (clusters) to distribute load.

  • Simple API: Provides basic operations like set, get, and delete.

  • Eviction Policy: Uses LRU (Least Recently Used) to remove old data when memory is full.

Common Use Cases:

  • Caching Database Queries: Reduces load on databases like MySQL or PostgreSQL.

  • Session Management: Stores user sessions in scalable web applications.

  • Temporary Data Storage: Useful for API rate limiting or short-lived data caching.

Memcached vs. Redis:

  • Memcached: Faster for simple key-value caching, scales well horizontally.

  • Redis: Offers more features like persistence, lists, hashes, sets, and pub/sub messaging.

Installation & Usage (Example for Linux):

sudo apt update && sudo apt install memcached
sudo systemctl start memcached

It can be used with PHP or Python via appropriate libraries.

 


Spider

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.

How a Spider Works:

  1. Starting Point: The spider begins with a list of URLs to crawl.

  2. Analysis: It fetches the HTML code of a webpage and analyzes its content, links, and metadata.

  3. Following Links: It follows the links found on the page to discover new pages.

  4. Storage: The collected data is sent to the search engine’s database for indexing.

  5. Repetition: The process is repeated regularly to keep the index up to date.

Uses of Spiders:

  • 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.

 


Crawler

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.

Uses of Crawlers:

  1. Search Engines (e.g., Google's Googlebot) – Index web pages so they appear in search engine results.

  2. Price Comparison Websites – Scan online stores for the latest prices and products.

  3. SEO Tools – Analyze websites for technical errors or optimization potential.

  4. Data Analysis & Monitoring – Track website content for market research or competitor analysis.

  5. Archiving – Save web pages for future reference (e.g., Internet Archive).

How a Crawler Works:

  1. Starts with a list of URLs.

  2. Fetches web pages and stores content (text, metadata, links).

  3. Follows links on the page and repeats the process.

  4. 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.

 


Internationalized Resource Identifier - IRI

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.

Key Features of IRIs:

  1. Unicode Support: While URIs are limited to ASCII characters (A-Z, 0-9, -, ., _), IRIs allow characters from the entire Unicode character set.
  2. Backward Compatibility: Every IRI can be converted into a URI by encoding non-ASCII characters into Punycode or percent-encoded format.
  3. Use in Web Technologies: IRIs enable internationalized domain names (IDNs), paths, and query parameters in URLs, making the web more accessible for non-English languages.

Example:

  • IRI: https://de.wikipedia.org/wiki/Überblick
  • Equivalent URI: https://de.wikipedia.org/wiki/%C3%9Cberblick
    (Here, Ü is encoded as %C3%9C)

Standardization:

IRIs are defined in RFC 3987 and are supported in modern web technologies like HTML5, XML, and RDF.

Conclusion:

IRIs make the internet more linguistically inclusive by allowing websites and resources to be referenced using non-Latin characters, improving accessibility worldwide.

 


System Under Test - SUT

A SUT (System Under Test) is the system or component being tested in a testing process. The term is commonly used in software development and quality assurance.

Meaning and Application:

  • In software testing, the SUT refers to the entire program, a single module, or a specific function being tested.
  • In hardware testing, the SUT could be an electronic device or a machine under examination.
  • In automated testing, the SUT is often tested using frameworks and tools to identify errors or unexpected behavior.

A typical testing process includes:

  1. Defining test cases based on requirements.
  2. Executing tests on the SUT.
  3. Reviewing test results and comparing them with expected outcomes.

 


Secure Shell - SSH

SSH (Secure Shell) is a network protocol that establishes an encrypted connection between two computers. It is mainly used for securely logging into remote systems (e.g., servers) and executing commands.

Key Features of SSH

  • Security: Data is transmitted in an encrypted form, protecting against eavesdropping and manipulation.
  • Authentication: Access can be granted via passwords or SSH keys.
  • Tunneling Capability: Can be used to securely forward network traffic.
  • File Transfer: Allows file transfers between systems using SCP or SFTP.

Basic SSH Commands

  • Connect to a remote server:
ssh username@server-ip
  • Transfer files using SCP:
scp file.txt username@server-ip:/destination-folder/
  • Add your public SSH key (for passwordless login):
ssh-copy-id username@server-ip

SSH is commonly used by developers and system administrators to manage servers or establish secure connections for other applications.

 


TortoiseGit

TortoiseGit is a graphical user interface (GUI) for Git, specifically designed for Windows. It is an extension for Windows Explorer, allowing users to manage Git repositories directly via the context menu.

Key Features of TortoiseGit:

Windows Explorer Integration → No separate tool needed; everything is accessible via the right-click menu
User-Friendly → Ideal for those unfamiliar with the Git command line
Visual Support → Changes, diffs, logs, and branches are displayed graphically
Push, Pull, Commit & Merge → Perform standard Git operations via the interface
Support for Multiple Repositories → Manage multiple projects simultaneously

Who is TortoiseGit for?

  • Windows users who work with Git but prefer a graphical interface over the command line
  • Web & software developers looking for an easy way to manage Git
  • Teams using Git that benefit from visual support

Requirement:

TortoiseGit requires a Git installation (e.g., Git for Windows) to function.

Download & More Info: https://tortoisegit.org/


Single Page Application - SPA

A Single Page Application (SPA) is a web application that runs entirely within a single HTML page. Instead of reloading the entire page for each interaction, it dynamically updates the content using JavaScript, providing a smooth, app-like user experience.

Key Features of an SPA:

  • Dynamic Content Loading: New content is fetched via AJAX or the Fetch API without a full page reload.
  • Client-Side Routing: Navigation is handled by JavaScript (e.g., React Router or Vue Router).
  • State Management: SPAs often use libraries like Redux, Vuex, or Zustand to manage application state.
  • Separation of Frontend & Backend: The backend typically serves as an API (e.g., REST or GraphQL).

Advantages:

✅ Faster interactions after the initial load
✅ Improved user experience (no full page reloads)
✅ Offline functionality possible via Service Workers

Disadvantages:

❌ Initial load time can be slow (large JavaScript bundle)
SEO challenges (since content is often loaded dynamically)
❌ More complex implementation, especially for security and routing

Popular frameworks for SPAs include React, Angular, and Vue.js.

 


Media Queries

CSS Media Queries are a technique in CSS that allows a webpage layout to adapt to different screen sizes, resolutions, and device types. They are a core feature of Responsive Web Design.

Syntax:

@media (condition) {
    /* CSS rules that apply only under this condition */
}

Examples:

1. Adjusting for different screen widths:

/* For screens with a maximum width of 600px (e.g., smartphones) */
@media (max-width: 600px) {
    body {
        background-color: lightblue;
    }
}

2. Detecting landscape vs. portrait orientation:

@media (orientation: landscape) {
    body {
        background-color: lightgreen;
    }
}

3. Styling for print output:

@media print {
    body {
        font-size: 12pt;
        color: black;
        background: none;
    }
}

Common Use Cases:

Mobile-first design: Optimizing websites for small screens first and then expanding for larger screens.
Dark mode: Adjusting styles based on user preference (prefers-color-scheme).
Retina displays: Using high-resolution images or specific styles for high pixel density screens (min-resolution: 2dppx).