Wzorzec Decorator – dynamiczne zachowanie, PHP, system pluginów Magento 2
Wzorzec Decorator pozwala dynamicznie dodawać zachowanie do obiektu bez modyfikacji jego klasy i bez dziedziczenia. Każdy dekorator opakowuje oryginalny obiekt i rozszerza lub modyfikuje jego działanie. W PHP i Magento 2 to jeden z najczęściej stosowanych wzorców – system pluginów Magento to de facto Decorator zaimplementowany przez framework DI.
- Opublikowano w Wzorce projektowe
Magento 2 konto admina zablokowane przez atak brute force – odblokowanie i ochrona
Konto administratora zostało zablokowane po ataku słownikowym – 10 000 prób logowania w ciągu godziny. Magento po 6 nieudanych próbach blokuje konto na 30 minut. Problem: atakujący ciągle resetował licznik przez zmianę IP, a prawdziwy admin nie mógł się zalogować. Czas naprawy: 1 godzina.
- Opublikowano w Magento / Adobe Commerce
Union-Find (Disjoint Set) – implementacja PHP, wykrywanie cykli, deduplicacja
Union-Find (Disjoint Set Union) to struktura danych do zarządzania zbiorami rozłącznymi. Umożliwia dwie operacje w czasie niemal O(1): sprawdzenie czy dwa elementy należą do tego samego zbioru (Find) i połączenie dwóch zbiorów (Union). Algorytm pojawia się w problemach grafowych, wykrywaniu cykli i grupowaniu elementów. W Magento 2 przydaje się przy łączeniu zduplikowanych klientów i produktów.
- Opublikowano w Algorytmy
Magento 2 cron zawieszony – 50 000 pending jobów i deadlock w cron_schedule
Cron Magento 2 przestał działać – zalegało ponad 50 000 niezrealizowanych jobów w tabeli cron_schedule. Emaile transakcyjne nie wychodziły, indeksery nie aktualizowały się, reguły cenowe nie odświeżały. Sklep działał normalnie dla klientów ale „od środka” był zamrożony. Czas naprawy: 3 godziny.
- Opublikowano w Magento / Adobe Commerce
