PHP / Magento Dev Blog

  • Publikacje
  • O autorze
  • Kontakt

PWA Studio vs Hyvä vs Luma – rzetelne porównanie TCO i kiedy który

  • 0
Henryk Tews
środa, 16 października 2024 / Opublikowano w Magento 2

Dwa lata temu pisałem o Hyvä jako alternatywie dla Lumy. Od tamtej pory ekosystem dojrzał, a wybór między PWA Studio (React, headless API), Hyvä (Alpine.js, server-side) i klasyczną Lumą stał się pytaniem które pojawia się przy każdym nowym projekcie Magento. Robię rzetelne porównanie tych trzech ścieżek – z perspektywy kogoś kto wdrażał każdą z nich.

(więcej…)

Docker Compose produkcja – pełny stack Magento 2, secrets, healthchecki, deployment

  • 0
Henryk Tews
wtorek, 01 października 2024 / Opublikowano w Środowiska

DDEV świetnie sprawdza się lokalnie. Ale jak wygląda stack Magento 2 na produkcji w Docker Compose? Pokażę kompletną konfigurację: nginx, PHP-FPM, MariaDB, Redis (trzy instancje), Elasticsearch i Varnish – z separacją sieci, sekretami Docker, healthcheckami i strategią deploymentu. To nie jest tutorial dla początkujących, ale referencja dla kogoś kto chce postawić Magento na własnej infrastrukturze.

(więcej…)

Bloom Filter – probabilistyczna struktura, blacklisty tokenów, negative cache

  • 0
Henryk Tews
wtorek, 17 września 2024 / Opublikowano w Algorytmy

Bloom Filter to probabilistyczna struktura danych która odpowiada na pytanie „czy ten element może być w zbiorze?” – z gwarancją braku false negatives i kontrolowanym poziomem false positives. Używa ułamka pamięci potrzebnej tablicy hashowej. Gdy masz milion zakazanych tokenów, setki tysięcy unikalnych emaili do walidacji albo cache który musi odrzucić żądania bez trafień do bazy – Bloom Filter jest właściwym narzędziem.

(więcej…)

PHP 8.4 ostatnie RC – Lazy Objects, BcMath\Number, Dom\HTMLDocument

  • 0
Henryk Tews
wtorek, 03 września 2024 / Opublikowano w PHP

Do premiery PHP 8.4 zostały dwa miesiące. Przez ostatnie tygodnie śledziłem zamknięte RFC i testowałem na RC2. Lazy Objects to feature który przemknął trochę w cieniu property hooks, a jest równie ciekawy – obiekty tworzone dopiero przy pierwszym dostępie do właściwości. Pokazuję co ostatecznie trafiło do 8.4 i jak to wpłynie na codzienny kod.

(więcej…)

OpenTelemetry – distributed tracing, auto-instrumentacja, Jaeger w DDEV

  • 0
Henryk Tews
wtorek, 20 sierpnia 2024 / Opublikowano w Środowiska

Gdy aplikacja działa jako zestaw mikroserwisów, jeden request użytkownika może przejść przez Magento, serwis zamówień, API płatności i warehouse management. Gdy coś idzie wolno lub się psuje – jak znaleźć winowajcę? OpenTelemetry to standard obserwability który łączy traces (śledzenie requestów), metrics i logs w jeden spójny obraz. Pokazuję jak instrumentować PHP i Magento 2.

(więcej…)

Event Sourcing – Domain Events, Aggregate Root, Event Store, połączenie z CQRS

  • 0
Henryk Tews
wtorek, 06 sierpnia 2024 / Opublikowano w Wzorce projektowe

Event Sourcing to wzorzec architektoniczny który zmienia sposób myślenia o persystencji: zamiast zapisywać aktualny stan obiektu, zapisujesz sekwencję zdarzeń które do tego stanu doprowadziły. Stan jest wynikiem odtwarzania tych zdarzeń. Brzmi skomplikowanie, ale rozwiązuje realne problemy z audytem, debugowaniem i odtwarzaniem historii biznesowej.

(więcej…)

Własny carrier wysyłkowy – collectRates, śledzenie paczek, generowanie etykiet

  • 0
Henryk Tews
wtorek, 16 lipca 2024 / Opublikowano w Magento 2

Integracja z polskimi kurierami (InPost, DPD, DHL, Poczta Polska) często wymaga napisania własnego carrieru zamiast polegania na gotowych modułach. Pokazuję jak zbudować pełny moduł dostawy od zera: dynamiczne stawki z API kuriera, wybór punktu odbioru, generowanie etykiet i śledzenie statusu paczki.

(więcej…)

PHP 8.4 RC – property hooks w praktyce, niespodzianki, asymmetric visibility

  • 0
Henryk Tews
wtorek, 02 lipca 2024 / Opublikowano w PHP

PHP 8.4 wychodzi w listopadzie 2024, ale RC1 jest dostępne już teraz. Przez kilka tygodni testowałem property hooks i asymmetric visibility na realnych projektach – data transfer objects, value objects, moduły Magento. Czas na uczciwy raport: co weszło do kodu od razu, co wymaga ostrożności i gdzie są niespodzianki.

(więcej…)

Wzorzec Memento – undo/redo, historia zmian cen, persystencja do bazy jako audit log

  • 0
Henryk Tews
wtorek, 18 czerwca 2024 / Opublikowano w Wzorce projektowe

Memento to wzorzec behawioralny który pozwala zapisywać i przywracać poprzedni stan obiektu bez ujawniania szczegółów jego implementacji. Undo/redo w edytorze tekstowym, historia zmian cen produktu, rollback konfiguracji – wszędzie tam gdzie chcesz cofnąć operację, Memento daje eleganckie rozwiązanie. Implementuję od zera z przykładami z e-commerce.

(więcej…)

Blackfire – instalacja w DDEV, profilowanie HTTP i CLI, asercje w CI/CD

  • 0
Henryk Tews
poniedziałek, 03 czerwca 2024 / Opublikowano w PHP, Środowiska

var_dump() i microtime() to debugowanie na oko. Blackfire to profesjonalny profiler który pokazuje dokładnie ile czasu i pamięci zajmuje każde wywołanie funkcji w całym stosie – w czasie rzeczywistym, z wizualizacją call graph. Pokazuję jak zainstalować Blackfire w DDEV, jak profilować requesty HTTP i komendy CLI, i jak interpretować wyniki żeby znaleźć prawdziwe wąskie gardła w Magento 2.

(więcej…)

  • 3
  • 4
  • 5
  • 6
  • 7
  • Publikacje
  • O autorze
  • Kontakt

© 2026 Created by

GÓRA
Zarządzaj zgodą
Aby zapewnić jak najlepsze wrażenia, korzystamy z technologii, takich jak pliki cookie, do przechowywania i/lub uzyskiwania dostępu do informacji o urządzeniu. Zgoda na te technologie pozwoli nam przetwarzać dane, takie jak zachowanie podczas przeglądania lub unikalne identyfikatory na tej stronie. Brak wyrażenia zgody lub wycofanie zgody może niekorzystnie wpłynąć na niektóre cechy i funkcje.
Funkcjonalne Zawsze aktywne
Przechowywanie lub dostęp do danych technicznych jest ściśle konieczny do uzasadnionego celu umożliwienia korzystania z konkretnej usługi wyraźnie żądanej przez subskrybenta lub użytkownika, lub wyłącznie w celu przeprowadzenia transmisji komunikatu przez sieć łączności elektronicznej.
Preferencje
Przechowywanie lub dostęp techniczny jest niezbędny do uzasadnionego celu przechowywania preferencji, o które nie prosi subskrybent lub użytkownik.
Statystyka
Przechowywanie techniczne lub dostęp, który jest używany wyłącznie do celów statystycznych. Przechowywanie techniczne lub dostęp, który jest używany wyłącznie do anonimowych celów statystycznych. Bez wezwania do sądu, dobrowolnego podporządkowania się dostawcy usług internetowych lub dodatkowych zapisów od strony trzeciej, informacje przechowywane lub pobierane wyłącznie w tym celu zwykle nie mogą być wykorzystywane do identyfikacji użytkownika.
Marketing
Przechowywanie lub dostęp techniczny jest wymagany do tworzenia profili użytkowników w celu wysyłania reklam lub śledzenia użytkownika na stronie internetowej lub na kilku stronach internetowych w podobnych celach marketingowych.
  • Zarządzaj opcjami
  • Zarządzaj serwisami
  • Zarządzaj {vendor_count} dostawcami
  • Przeczytaj więcej o tych celach
Zobacz preferencje
  • {title}
  • {title}
  • {title}