Pipes and Filters. Programowanie bez zmian kodu!

  Рет қаралды 1,056

Lenkowski

Lenkowski

Күн бұрын

Пікірлер: 26
@sebastiannieroda9022
@sebastiannieroda9022 11 ай бұрын
Długo czekałem na kanał podejmujący zaawansowane praktyczne zagadnienia w PHP , a nie tylko w kółko kursy dla początkujących o pętlach i klasach. Dzieki za Twoją robotę
@lenkowski-net
@lenkowski-net 11 ай бұрын
To ja dziękuję, że ją doceniasz 🤩 To serio bardzo ważne!
@DanielŚmigiela
@DanielŚmigiela 11 ай бұрын
9:35 po prostu klasa :D po prostu :D po co szukać wykwintnych nazw, "encja domenowa", "bazodanowa" Oczywiście to nie jest nawet promil hejtu, proszę się nie obrażać :D Lubię Twoje materiały :)
@lenkowski-net
@lenkowski-net 11 ай бұрын
W życiu bym tego tak nie odebrał 🤣
@coder_one
@coder_one 11 ай бұрын
6:15 - Marcinie - moja sympatia do PHP zawsze mówiła mi, że nie pozwala on pisać asynchronicznego kodu. Kiedy to się zmieniło?
@lenkowski-net
@lenkowski-net 11 ай бұрын
Od czasu Swoole, requesty HTTP również na to pozwalają, ale finalnie możesz to również „częściowo” realizować za pomocą kolejki - choć to zupełnie inny koncept 😅
@T3mai
@T3mai 11 ай бұрын
Oglądam od jakiegoś czasu twoje filmy, zapowiada się bardzo treściwy kanał :)
@lenkowski-net
@lenkowski-net 11 ай бұрын
Dzięki, a jest coś o czym chciałbyś się dowiedzieć? Chętnie nagram o tym odcinek 💪🔥
@T3mai
@T3mai 11 ай бұрын
​@@lenkowski-net Nie jestem pewien, czy kwestia organizacji struktury projektu była już poruszana w jakimkolwiek materiale filmowym, ale nadal odczuwam niedosyt wiedzy na ten temat. Zastanawia mnie, jak prawidłowo organizować pliki w ramach struktury projektu. Często pokazuje się, jak stosować różne wzorce projektowe i tworzyć relacje między klasami, natomiast rzadko zwraca uwagę na prawidłowe rozmieszczenie plików w strukturze projektu. Na przykład, zazwyczaj wskazuje się, jak działa konkretne rozwiązanie, omijając kwestię umiejscowienia plików. W innym przypadku pokazuje się tworzenie niewielu klas w odpowiednich miejscach, co jest adekwatne do małych projektów i dobrze zorganizowane narzędzia jak Laravel Artisan wspomagają ten proces. Jednakże, interesuje mnie organizacja plików w dużych projektach, gdzie ilość plików znacząco rośnie. Chciałbym zrozumieć, jak prawidłowo dzielić te pliki, aby struktura projektu była przejrzysta i sama "mówiła" o swoim przeznaczeniu, nie tylko za sprawą samego kodu. Na przykład, zastanawiam się, czy dobrą praktyką jest umieszczanie interfejsów i klas, które te interfejsy implementują, w jednym folderze? A może interfejsy powinny mieć osobne miejsce w strukturze projektu? Jeżeli tak, to czy foldery powinny być podzielone według domen, na przykład: laravel -> app -> http -> controllers -> domena, czy może używać struktury laravel -> app -> http -> controller -> domena, gdzie reszta będzie dzielona analogicznie: laravel -> app -> http -> request -> domena. Z góry dzięki ;)
@rafal788
@rafal788 11 ай бұрын
A czym się różni pipeline od wzorca Builder?
@lenkowski-net
@lenkowski-net 11 ай бұрын
Pipeline to struktura przetwarzania danych, a wzorzec builder to technika konstrukcji obiektów złożonych. Tutaj nie chodzi o konstrukcję, tylko o to by kolejne filtry (kroki) były niezależnymi aplikacjami i by możliwe było np. ich odtworzenie id środka (co już zależy od pipe’a)
@marcinradecki6160
@marcinradecki6160 11 ай бұрын
Fajnie by było jakby było pokazane wady i zalety takiego rozwiązania w stosunku do poprzedniej wersji kodu. Zamysł jest ale, no właśnie .. próg zrozumienia kodu dla nowej osoby w projekcie w góre, debugowanie bardziej czasochłonne, ilość plików do utrzymania wzrasta, zrobienie zmiany w procesie trudniejsze. Nie powinniśmy zmieniać tylko rozszerzać zgodnie z solidem, także dekorujemy kolejnymi klasami itd itd. Z prostej funkcji która obrabia plik mamy małego kolosa :P ... Czasami mam wrażenie, że my programiści wraz ze wzostem umiejętności i nabytej wiedzy tworzymy jeszcze bardziej abstrakcyjny kod robiąc sztuke dla sztuki tam gdzie nie trzeba. Mimo wszystko dzięki za pokazanie Pipes&Filters , Łapka w górę dla zasięgów :)
@lenkowski-net
@lenkowski-net 11 ай бұрын
Oj, masz dużo racji! To nie jest często spotykana metoda, a to czy jest dobra, czy nie jak zwykle zależy od projektu. Moim zdaniem budowanie bardzo konkretnych funkcji, zgodnych z SRP i rozszerzanie ich właśnie z poziomu konkretnego pipe’a to zdecydowanie scenariusz na zachowanie zarówno SRP jak i OCP, a nie jej stracenie. Pamiętać należy że SOLID wcale nie wymaga od nas braku zmiany kodu, a jedynie pojedynczy powód do jego zmiany. Chcesz zmienić zachowanie konkretnego filtra? Robisz to! Chcesz zmienić zachowanie pipe’a - ponownie robisz to i nic innego. W ten sposób można uzyskać naprawdę mały coupling i odblokować wiele możliwości!
@xarek24g
@xarek24g 11 ай бұрын
Co w przypadku, kiedy jakiś pipe rzuci wyjątkiem? (O ile powinien) wyjaśnij.
@lenkowski-net
@lenkowski-net 11 ай бұрын
To jest pipeline synchronizacyjny, więc nie powtarza on działania - to jak faktycznie się zachowuje to już kwestia implementacji pipeline. W tym konkretnym wypadku błędów nawet nie obsługujemy, ale nic nie stoi na przeszkodzie, by operację ponawiać, albo zrobić coś innego - wszystko zależy od konkretnego przypadku. Odpowiadając na Twoje pytanie - boom 💥 program się wywali
@TomaszTrelaPlus
@TomaszTrelaPlus 11 ай бұрын
Każde oprogramowanie może się popsuć. Wystarczy że zmieni się środowisko.
@lenkowski-net
@lenkowski-net 11 ай бұрын
Tak. Ale nie do końca o to tutaj chodzi 😅
@marcinkapan9740
@marcinkapan9740 10 ай бұрын
Istnieje
@lenkowski-net
@lenkowski-net 10 ай бұрын
😉
@robertn6618
@robertn6618 11 ай бұрын
Obiecałeś że ograniczysz te wstawki lenkowski a tu dalej tego pełno. Przepraszam, dotrwałem do połowy . Przez te wstawki nie da się tego oglądać niestety, przynajmniej dla mnie. A szkoda
@lenkowski-net
@lenkowski-net 11 ай бұрын
Uwierz mi, że wcześniej było ich więcej 😂
@robertn6618
@robertn6618 11 ай бұрын
@@lenkowski-net wiem że było ich więcej co nie zmienia faktu że nadal jest za duzo
@lenkowski-net
@lenkowski-net 11 ай бұрын
Taki mam styl i mi się to podoba, ale w pełni rozumiem, że Tobie nie musi.
@coder_one
@coder_one 11 ай бұрын
​@@lenkowski-net te wstawki to świetny pomysł. Tylko dobrze byłoby znaleźć złoty środek, w końcu nagrywasz nie tylko dla siebie (żeby tobie się podobało), ale również dla swoich odbiorców. Warto zatem brać ich zdanie pod uwagę ;). Osobiście rekomendowałbym aby nie było ich więcej niż 2x na każde 10 minut gotowego materiału video. Wtedy zachowałyby swoją rolę "mikroprzerywnika" i twojego znaku rozpoznawczego, a jednocześnie nie byłyby męczące od drugiej połowy nagrania. Brzmi to jak złoty środek, gdzie wilk będzie syty i owca cała ;)
@lenkowski-net
@lenkowski-net 11 ай бұрын
Dobra 2>1 jeśli również tak uważasz to spróbujemy! Do tej pory miałem jednak wrażenie, że puszczanie tego raz na „myśl” dobrze odseparuje nudny „talking-head”.
Lepszy od SOLIDa? Czym jest CUPID?
25:50
Lenkowski
Рет қаралды 998
Abstrakcja? Jak programują seniorzy? Sprawdź!
23:08
Lenkowski
Рет қаралды 4,5 М.
We Attempted The Impossible 😱
00:54
Topper Guild
Рет қаралды 56 МЛН
Мен атып көрмегенмін ! | Qalam | 5 серия
25:41
SOLID w PHP - te 5 zasad zmieni Twój kod na lepsze!
19:22
Lenkowski
Рет қаралды 1,4 М.
25 FREE and Open Source Software in (2025)
9:47
anyDev
Рет қаралды 4,2 М.
Hexagon? Nie popełniaj tych 5 błędów!
43:43
Lenkowski
Рет қаралды 1,2 М.
Co mogę zrobić w Pythonie? Do czego może mi się on przydać?
32:24
Pasja informatyki
Рет қаралды 45 М.
The Value of Source Code
17:46
Philomatics
Рет қаралды 217 М.
6 Months of Testing C++ Build Systems: Here’s What You Need to Know
16:33