PHP / Magento Dev Blog

  • Publikacje
  • O autorze
  • Kontakt

Kurs Gita #4 – praca zdalna: remote, fetch vs pull, force-with-lease

  • 0
Henryk Tews
wtorek, 12 maja 2026 / Opublikowano w Git

Praca z remote to codzienność w każdym zespole – ale wiele osób używa tylko git pull i ma mglistą świadomość co się właściwie dzieje. Tracking refs, różnica między fetch a pull, kiedy --force-with-lease zamiast --force, i jak naprawdę działają zdalne branche to wiedza, która ratuje przed nieodwracalnymi błędami.

(więcej…)

Kurs Gita #3 – branching i merge: strategie, konflikty, fast-forward

  • 0
Henryk Tews
niedziela, 10 maja 2026 / Opublikowano w Git

Pytanie „merge czy rebase?” to jedno z najczęstszych w zespołach używających Gita. Obie strategie osiągają ten sam efekt – integrację zmian – ale produkują zupełnie inną historię. Nie ma jednej właściwej odpowiedzi, jest kontekst. Pokażę kiedy co stosować, jak działają konflikty, i dlaczego fast-forward to nie to samo co „bez merge commita”.

(więcej…)

Kurs Gita #2 – commity i historia: rebase -i, cherry-pick, bisect

  • 0
Henryk Tews
piątek, 08 maja 2026 / Opublikowano w Git

Historia commitów to dokumentacja projektu – czytają ją inni programiści, git bisect po niej szuka błędów, a git blame tłumaczy decyzje. Dobre wiadomości commitów, umiejętność porządkowania historii przed merge i znajomość cherry-pick oraz bisect to narzędzia, które odróżniają kogoś kto „używa Gita” od kogoś kto nim „zarządza”.

(więcej…)

Kurs Gita #1 – model danych: blobs, trees, commity, refs

  • 0
Henryk Tews
środa, 06 maja 2026 / Opublikowano w Git

Większość programistów używa Gita jak czarnej skrzynki: coś wpisujesz, coś się zapisuje, historia jakoś działa. Dopóki coś nie pójdzie nie tak. Żeby Git przestał być magią – zacznij od zrozumienia, co naprawdę siedzi w katalogu .git/. Cztery typy obiektów: blob, tree, commit, tag. Tyle. Reszta to konsekwencje.

(więcej…)

Magento 2.4.9 – oficjalne wsparcie PHP 8.5, co się zmieniło i jak migrować

  • 0
Henryk Tews
poniedziałek, 04 maja 2026 / Opublikowano w Magento / Adobe Commerce, PHP

Magento 2.4.9 wyszło z oficjalnym wsparciem PHP 8.5. Przez ostatnie miesiące testowałem RC na projektach klientów – teraz jest stable i można planować migracje. Pipe operator, readonly dziedziczenie, nowe array functions – wszystkie PHP 8.5 features są teraz pierwszoklasowymi obywatelami w kodzie modułów Magento. Przeglądam co się faktycznie zmieniło w rdzeniu, co trzeba zaktualizować w własnym kodzie i jak wygląda ścieżka upgrade dla istniejących projektów.

(więcej…)

AI workflow 2026 – 2 lata później, co działa, co nie, Claude 200k w praktyce

  • 0
Henryk Tews
wtorek, 21 kwietnia 2026 / Opublikowano w PHP

W 2024 napisałem pierwszy wpis o AI w pracy PHP developera. Minęły dwa lata i obraz zmienił się radykalnie. Nie chodzi już o pytanie „czy używać AI” – chodzi o to jak wbudować narzędzia w workflow żeby nie traciły czasu a go oszczędzały. Po dwóch latach codziennego użycia mam precyzyjny obraz co działa, co nie działa i jak zorganizować pracę żeby wyciągnąć maksimum bez polegania na narzędziu więcej niż powinno.

(więcej…)

OpenSearch 3.x vector search – embeddingi przez Ollama, k-NN, hybrid search

  • 0
Henryk Tews
środa, 08 kwietnia 2026 / Opublikowano w Magento / Adobe Commerce

OpenSearch 3.x przyniósł dojrzałe wsparcie dla k-NN (k-Nearest Neighbors) i vector search – fundamentu wyszukiwania semantycznego. Zamiast dopasowania słów kluczowych („buty sportowe”), możesz teraz wyszukiwać po znaczeniu – klient wpisuje „coś do biegania w górach” i dostaje trafne produkty bez dopasowania słów kluczowych. Pokazuję jak zintegrować to z Magento 2 przez własny moduł, bez Adobe Commerce SaaS.

(więcej…)

Interpreter w PHP – własna gramatyka reguł rabatowych, parser, drzewo wyrażeń

  • 0
Henryk Tews
wtorek, 17 marca 2026 / Opublikowano w PHP, Wzorce projektowe

Interpreter to wzorzec GoF który pozwala zdefiniować gramatykę dla prostego języka i zbudować interpreter który przetwarza wyrażenia w tym języku. Brzmi akademicko, ale ma bardzo konkretne zastosowania: reguły rabatowe konfigurowane przez operatorów bez zmian kodu, wyrażenia filtrujące produkty, warunki widoczności komponentów w CMS. Buduję od zera mini-interpreter reguł promocyjnych w PHP.

(więcej…)

AI-assisted optymalizacja SQL – LLM + EXPLAIN + Blackfire, 5x przyspieszenie

  • 0
Henryk Tews
wtorek, 03 marca 2026 / Opublikowano w Magento / Adobe Commerce, PHP

Przez lata diagnostyka wolnych zapytań SQL w Magento 2 wyglądała tak: slow query log, EXPLAIN, długie wpatrywanie się w plan zapytania. W 2026 mam nową warstwę: wklejam EXPLAIN output i schemat tabeli do LLM i dostaję sensowne sugestie indeksów i przepisania zapytania w kilka sekund. Nie zastępuje rozumienia SQL, ale dramatycznie przyspiesza cykl diagnoza-hipoteza-weryfikacja. Pokazuję workflow na realnym przykładzie z projektu Magento 2.

(więcej…)

Hyvä zaawansowane wzorce – Alpine.js Store, eventy, lazy loading, reużywalne komponenty

  • 0
Henryk Tews
wtorek, 17 lutego 2026 / Opublikowano w Magento / Adobe Commerce

Podstawy Hyvä – szablony PHTML z Alpine.js, Tailwind, eventy przez CustomEvent – opisałem w 2024. Po kilku latach wdrożeń mam zebrany zestaw wzorców które powtarzają się w zaawansowanych projektach: kompozycja wielu komponentów Alpine.js, komunikacja między izolowanymi widgetami, lazy loading danych przez Magento REST API i wzorzec store’u dla globalnego stanu koszyka. Pokazuję te wzorce z kodem.

(więcej…)

  • 6
  • 7
  • 8
  • 9
  • 10
  • 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}