bg_image
header

.htaccess

The .htaccess file is a configuration file for Apache web servers that allows you to control the behavior of your website — without needing access to the main server configuration. It’s usually placed in the root directory of your website (e.g., /public_html or /www).

Important notes:

  • .htaccess only works on Apache servers (not nginx).

  • Changes take effect immediately — no need to restart the server.

  • Many shared hosting providers allow .htaccess, but some commands might be restricted.

  • Syntax errors can break your site — so be careful when editing.

 


GitHub Actions

🛠️ What is GitHub Actions?

GitHub Actions is a feature of GitHub that lets you create automated workflows for your software projects—right inside your GitHub repository.


📌 What can you do with GitHub Actions?

You can build CI/CD pipelines (Continuous Integration / Continuous Deployment), such as:

  • ✅ Automatically test code (e.g. with PHPUnit, Jest, Pytest)

  • 🛠️ Build your app on every push or pull request

  • 🚀 Automatically deploy (e.g. to a server, cloud platform, or DockerHub)

  • 📦 Create releases (e.g. zip packages or version tags)

  • 🔄 Run scheduled tasks (cronjobs)


🧱 How does it work?

GitHub Actions uses workflows, defined in a YAML file inside your repository:

  • Typically stored as .github/workflows/ci.yml

  • You define events (like push, pull_request) and jobs (like build, test)

  • Each job consists of steps, which are shell commands or prebuilt actions

Example: Simple CI Workflow for Node.js

name: CI

on: [push]

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - uses: actions/setup-node@v3
        with:
          node-version: '20'
      - run: npm install
      - run: npm test

🧩 What are "Actions"?

An Action is a single reusable step in a workflow. You can use:

  • Prebuilt actions (e.g. actions/checkout, setup-node, upload-artifact)

  • Custom actions (e.g. shell scripts or Docker-based logic)

You can explore reusable actions in the GitHub Marketplace.


💡 Why use GitHub Actions?

  • Saves time by automating repetitive tasks

  • Improves code quality through automated testing

  • Enables consistent, repeatable deployments

  • Integrated directly in GitHub—no need for external CI tools like Jenkins or Travis CI


Docker Compose

Docker Compose is a tool that lets you define and run multi-container Docker applications using a single configuration file. Instead of starting each container manually via the Docker CLI, you can describe all your services (like a web app, database, cache, etc.) in a docker-compose.yml file and run everything with a single command.


In short:

Docker Compose = Project config + Multiple containers + One command to run it all


Example: docker-compose.yml

version: '3.9'
services:
  web:
    build: .
    ports:
      - "5000:5000"
    volumes:
      - .:/code
  redis:
    image: "redis:alpine"

This file:

  • Builds and runs a local web app container

  • Starts a Redis container from the official image

  • Automatically networks the two containers


Common Commands:

docker-compose up        # Start all services in the foreground
docker-compose up -d     # Start in detached (background) mode
docker-compose down      # Stop and remove containers, networks, etc.

Benefits of Docker Compose:

✅ Easy setup for multi-service applications
✅ Version-controlled config (great for Git)
✅ Reproducible development environments
✅ Simple startup/shutdown of entire stacks


Typical Use Cases:

  • Local development with multiple services (e.g., web app + DB)

  • Integration testing with full stack

  • Simple deployment workflows (e.g., via CI/CD)


Headless CMS

A Headless CMS (Content Management System) is a system where the backend (content management) is completely separated from the frontend (content presentation).

In detail:

Traditional CMS (e.g., WordPress):

  • Backend and frontend are tightly coupled.

  • You create content in the system and it's rendered directly using built-in themes and templates with HTML.

  • Pros: All-in-one solution, quick to get started.

  • Cons: Limited flexibility, harder to deliver content across multiple platforms (e.g., website + mobile app).

Headless CMS:

  • Backend only.

  • Content is accessed via an API (usually REST or GraphQL).

  • The frontend (e.g., a React site, native app, or digital signage) fetches the content dynamically.

  • Pros: Very flexible, ideal for multi-channel content delivery.

  • Cons: Frontend must be built separately (requires more development effort).

Common use cases:

  • Websites built with modern JavaScript frameworks (like React, Next.js, Vue)

  • Mobile apps that use the same content as the website

  • Omnichannel strategies: website, app, smart devices, etc.

Examples of Headless CMS platforms:

  • Contentful

  • Strapi

  • Sanity

  • Directus

  • Prismic

  • Storyblok (a hybrid with visual editing capabilities)

 


Storyblok

Storyblok is a user-friendly, headless Content Management System (CMS) that helps developers and marketing teams create, manage, and publish content quickly and efficiently. It offers a visual editing interface for real-time content design and is flexible with various frameworks and platforms. Its API-first architecture allows content to be delivered to any digital platform, making it ideal for modern web and app development.


Shopware

Shopware is a modular e-commerce system from Germany that allows you to create and manage online stores. It’s designed for both small retailers and large enterprises, known for its flexibility, scalability, and modern technology.


🔹 General Information:

  • Developer: Shopware AG (founded in 2000 in Germany)

  • Technology: PHP, Symfony framework, API-first approach

  • Current Version: Shopware 6 (since 2019)

  • Open Source: Yes, with paid extensions available

  • Headless Ready: Yes, supports headless commerce via APIs


🔹 Key Features:

  • Product Management: Variants, tier pricing, media, SEO tools

  • Sales Channels: Web shop, POS, social media, marketplaces

  • Content Management: Built-in CMS ("Shopping Experiences")

  • Payments & Shipping: Many integrations (e.g. PayPal, Klarna)

  • Multilingual & Multi-Currency Support

  • B2B & B2C capabilities

  • App System & API for custom extensions


🔹 Who is Shopware for?

  • Startups (free Community Edition available)

  • SMEs and mid-sized businesses

  • Enterprise clients with complex needs

  • Very popular in the DACH region (Germany, Austria, Switzerland)


🔹 Advantages:

  • Made in Germany → GDPR-compliant

  • Highly customizable

  • Active ecosystem & community

  • Scalable for growing businesses

 


Hyperscaler

A hyperscaler is a company that provides cloud services on a massive scale — offering IT infrastructure such as computing power, storage, and networking that is flexible, highly available, and globally scalable. Common examples of hyperscalers include:

  • Amazon Web Services (AWS)

  • Microsoft Azure

  • Google Cloud Platform (GCP)

  • Alibaba Cloud

  • IBM Cloud (on a somewhat smaller scale)

Key characteristics of hyperscalers:

  1. Massive scalability
    They can scale their services virtually without limits, depending on the customer's needs.

  2. Global infrastructure
    Their data centers are distributed worldwide, enabling high availability, low latency, and redundancy.

  3. Automation & standardization
    Many operations are automated (e.g., provisioning, monitoring, billing), making services more efficient and cost-effective.

  4. Self-service & pay-as-you-go
    Customers usually access services via web portals or APIs and pay only for what they actually use.

  5. Innovation platform
    Hyperscalers offer not only infrastructure (IaaS), but also platform services (PaaS), as well as tools for AI, big data, or IoT.

What are hyperscalers used for?

  • Hosting websites or web applications

  • Data storage (e.g., backups, archives)

  • Big data analytics

  • Machine learning / AI

  • Streaming services

  • Corporate IT infrastructure


Vite

Vite is a modern build tool and development server for web applications, created by Evan You, the creator of Vue.js. It is designed to make the development and build processes faster and more efficient. The name "Vite" comes from the French word for "fast," reflecting the primary goal of the tool: a lightning-fast development environment.

The main features of Vite are:

  1. Fast Development Server: Vite uses modern ES modules (ESM), providing an ultra-fast development server. It only loads the latest module, making the initial startup much faster than traditional bundlers.

  2. Hot Module Replacement (HMR): HMR works extremely fast by updating only the changed modules, without needing to reload the entire application.

  3. Modern Build System: Vite uses Rollup under the hood to bundle the final production build, enabling optimized and efficient builds.

  4. Zero Configuration: Vite is very user-friendly and doesn’t require extensive configuration. It works immediately with the default settings, supporting many common web technologies out-of-the-box (e.g., Vue.js, React, TypeScript, CSS preprocessors, etc.).

  5. Optimized Production: For production builds, Rollup is used, which is known for creating efficient and optimized bundles.

Vite is mainly aimed at modern web applications and is particularly popular with developers working with frameworks like Vue, React, or Svelte.

 


Partial Mock

A Partial Mock is a testing technique where only certain methods of an object are mocked, while the rest of the object retains its real implementation. This is useful when you want to stub or mock specific methods but keep others functioning normally.

When to Use a Partial Mock?

  • When you want to test a class but isolate certain methods.

  • When some methods are difficult to test (e.g., they have external dependencies), but others should retain their real logic.

  • When you only need to stub specific methods to control test behavior.

Example in PHP with PHPUnit

Suppose you have a Calculator class but want to mock only the multiply() method while keeping add() as is.

class Calculator {
    public function add($a, $b) {
        return $a + $b;
    }

    public function multiply($a, $b) {
        return $a * $b;
    }
}

// PHPUnit Test with Partial Mock
class CalculatorTest extends \PHPUnit\Framework\TestCase {
    public function testPartialMock() {
        // Create a Partial Mock for Calculator
        $calculator = $this->getMockBuilder(Calculator::class)
                           ->onlyMethods(['multiply']) // Only mock this method
                           ->getMock();

        // Define behavior for multiply()
        $calculator->method('multiply')->willReturn(10);

        // Test real add() method
        $this->assertEquals(5, $calculator->add(2, 3));

        // Test mocked multiply() method
        $this->assertEquals(10, $calculator->multiply(2, 3));
    }
}

Here, add() remains unchanged and executes the real implementation, while multiply() always returns 10.

Conclusion

Partial Mocks are useful when you need to isolate specific parts of a class without fully replacing it. They help make tests more stable and efficient by mocking only selected methods.


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.

 


Random Tech

Midjourney


Midjourney_Emblem.svg.png