bg_image
header

Salesforce Apex

Salesforce Apex is an object-oriented programming language specifically designed for the Salesforce platform. It is similar to Java and is primarily used to implement custom business logic, automation, and integrations within Salesforce.

Key Features of Apex:

  • Cloud-based: Runs exclusively on Salesforce servers.

  • Java-like Syntax: If you know Java, you can learn Apex quickly.

  • Tightly Integrated with Salesforce Database (SOQL & SOSL): Enables direct data queries and manipulations.

  • Event-driven: Often executed through Salesforce triggers (e.g., record changes).

  • Governor Limits: Salesforce imposes limits (e.g., maximum SOQL queries per transaction) to maintain platform performance.

Uses of Apex:

  • Triggers: Automate actions when records change.

  • Batch Processing: Handle large data sets in background jobs.

  • Web Services & API Integrations: Communicate with external systems.

  • Custom Controllers for Visualforce & Lightning: Control user interfaces.

 


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.

 


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.

 


Whoops

The Whoops PHP library is a powerful and user-friendly error handling tool for PHP applications. It provides clear and well-structured error pages, making it easier to debug and fix issues.

Key Features of Whoops

Beautiful, interactive error pages
Detailed stack traces with code previews
Easy integration into existing PHP projects
Support for various frameworks (Laravel, Symfony, Slim, etc.)
Customizable with custom handlers and loggers


Installation

You can install Whoops using Composer:

composer require filp/whoops

Basic Usage

Here's a simple example of how to enable Whoops in your PHP project:

require 'vendor/autoload.php';

use Whoops\Run;
use Whoops\Handler\PrettyPageHandler;

$whoops = new Run();
$whoops->pushHandler(new PrettyPageHandler());
$whoops->register();

// Trigger an error (e.g., calling an undefined variable)
echo $undefinedVariable;

If an error occurs, Whoops will display a clear and visually appealing debug page.


Customization & Extensions

You can extend Whoops by adding custom error handling, for example:

use Whoops\Handler\CallbackHandler;

$whoops->pushHandler(new CallbackHandler(function ($exception, $inspector, $run) {
    error_log($exception->getMessage());
}));

This version logs errors to a file instead of displaying them.


Use Cases

Whoops is mainly used in development environments to quickly detect and fix errors. However, in production environments, it should be disabled or replaced with a custom error page.


Fetch API

The Fetch API is a modern JavaScript interface for retrieving resources over the network, such as making HTTP requests to an API or loading data from a server. It largely replaces the older XMLHttpRequest method and provides a simpler, more flexible, and more powerful way to handle network requests.

Basic Functionality

  • The Fetch API is based on Promises, making asynchronous operations easier.
  • It allows fetching data in various formats like JSON, text, or Blob.
  • By default, Fetch uses the GET method but also supports POST, PUT, DELETE, and other HTTP methods.

Simple Example

fetch('https://jsonplaceholder.typicode.com/posts/1')
  .then(response => response.json()) // Convert response to JSON
  .then(data => console.log(data)) // Log the data
  .catch(error => console.error('Error:', error)); // Handle errors

Making a POST Request

fetch('https://jsonplaceholder.typicode.com/posts', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({ title: 'New Post', body: 'Post content', userId: 1 })
})
  .then(response => response.json())
  .then(data => console.log(data))
  .catch(error => console.error('Error:', error));

Advantages of the Fetch API

✅ Simpler syntax compared to XMLHttpRequest
✅ Supports async/await for better readability
✅ Flexible request and response handling
✅ Better error management using Promises

The Fetch API is now supported in all modern browsers and is an essential technique for web development.

 

 


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


Bearer Token

A Bearer Token is a type of access token used for authentication and authorization in web applications and APIs. The term "Bearer" means "holder," which implies that anyone in possession of the token can access protected resources—without additional verification.

Characteristics of a Bearer Token:

  • Self-contained: It includes all necessary authentication information.
  • No additional identity check: Whoever holds the token can use it.
  • Sent in HTTP headers: Typically as Authorization: Bearer <token>.
  • Often time-limited: Tokens have expiration times to reduce misuse.
  • Commonly used with OAuth 2.0: For example, when authenticating with third-party services.

Example of an HTTP request with a Bearer Token:

GET /protected-data HTTP/1.1
Host: api.example.com
Authorization: Bearer abcdef123456

Risks:

  • No protection if stolen: If someone intercepts the token, they can impersonate the user.
  • Must be securely stored: Should not be exposed in client-side code or URLs.

💡 Tip: To enhance security, use short-lived tokens and transmit them only over HTTPS.