Lenkowski
Lenkowski
  • 162
  • 139 997
Masz dość błędów w kodzie? Zobacz co dla Ciebie przygotowałem!
🔴 DARMOWY KURS: Od juniora do seniora lenkowski.net/senior/ 🔴
🔴 DARMOWY KURS: Od juniora do seniora lenkowski.net/senior/ 🔴
🔴 DARMOWY KURS: Od juniora do seniora lenkowski.net/senior/ 🔴
Chcesz rozwijać swoje programistyczne umiejętności?
Sprawdź kursy na lenkowski.net/
👉 KURS SOLIDa: lenkowski.net/produkt/solid/
👉 KURS WZORCÓW: lenkowski.net/produkt/kurs-wzorcow-projektowych/
👉 KURS Startupu: lenkowski.net/produkt/kurs-startupu-dla-programistow/
Переглядів: 322

Відео

Under fetching czy over fetching? Optymalizacja API z chatem GPT!
Переглядів 1,1 тис.14 днів тому
🔴 DARMOWY KURS: Od juniora do seniora lenkowski.net/senior/ 🔴 🔴 DARMOWY KURS: Od juniora do seniora lenkowski.net/senior/ 🔴 🔴 DARMOWY KURS: Od juniora do seniora lenkowski.net/senior/ 🔴 Chcesz rozwijać swoje programistyczne umiejętności? Sprawdź kursy na lenkowski.net/ 👉 KURS SOLIDa: lenkowski.net/produkt/solid/ 👉 KURS WZORCÓW: lenkowski.net/produkt/kurs-wzorcow-projektowych/ 👉 KURS Startupu: l...
Te błędy zdradzają, że jesteś juniorem! STUPID - czyli jak NIE programować?
Переглядів 2,6 тис.Місяць тому
🔴 DARMOWY KURS: Od juniora do seniora lenkowski.net/senior/ 🔴 🔴 DARMOWY KURS: Od juniora do seniora lenkowski.net/senior/ 🔴 🔴 DARMOWY KURS: Od juniora do seniora lenkowski.net/senior/ 🔴 Dobre praktyki są dobre, ale warto znać też pułapki które czekają na młodego kodera! W dzisiejszym odcinku, przed dłuższą przerwą, biorę na tapet STUPID i opowiem Ci jak NIE programować. Jednocześnie, chciałbym ...
Hexagon? Nie popełniaj tych 5 błędów!
Переглядів 1,2 тис.Місяць тому
🔴 DARMOWY KURS: Od juniora do seniora lenkowski.net/senior/ 🔴 🔴 DARMOWY KURS: Od juniora do seniora lenkowski.net/senior/ 🔴 🔴 DARMOWY KURS: Od juniora do seniora lenkowski.net/senior/ 🔴 W dzisiejszym odcinku mamy gościa specjalnego - Damian Dziaduch, którego możecie znać już z poprzedniego odcinka - o co pytają seniorzy. Damian opowie Ci o najczęstszych błędach popełnianych podczas pracy z arch...
Singleton - czy to czarna owca wzorców projektowych?
Переглядів 8802 місяці тому
🔴 DARMOWY KURS: Od juniora do seniora lenkowski.net/senior/ 🔴 🔴 DARMOWY KURS: Od juniora do seniora lenkowski.net/senior/ 🔴 🔴 DARMOWY KURS: Od juniora do seniora lenkowski.net/senior/ 🔴 Czy singleton to prawdziwa "czarna owca" wśród wzorców projektowych? 🐑 W tym odcinku przyjrzymy się bliżej temu wzorcowi, który z jednej strony może pomóc, a z drugiej - wywołać istny chaos w Twojej aplikacji! D...
Laravel Vapor? Najtańszy serwer to brak serwera! Serverless w PHP
Переглядів 1,2 тис.2 місяці тому
🔴 DARMOWY KURS: Od juniora do seniora lenkowski.net/senior/ 🔴 🔴 DARMOWY KURS: Od juniora do seniora lenkowski.net/senior/ 🔴 🔴 DARMOWY KURS: Od juniora do seniora lenkowski.net/senior/ 🔴 Koszty AWSa wciąż rosną, a serwery... w sumie nie są używane. No, ale jak już są, to przecież działać muszą! Jest na to rozwiązanie - i to dość skuteczne. AWS Lambda to rozwiązanie, które nie jest mocno popularn...
Pytania dla PHP junior developera. Jak wejść do IT?
Переглядів 1,8 тис.3 місяці тому
Pytania dla PHP junior developera. Jak wejść do IT?
ValueObject vs Dto - subtelna czy wielka różnica?
Переглядів 2 тис.3 місяці тому
ValueObject vs Dto - subtelna czy wielka różnica?
Interfejsy? Po co mi interfejsy? Czyli jak lepiej projektować kod?
Переглядів 1,8 тис.3 місяці тому
Interfejsy? Po co mi interfejsy? Czyli jak lepiej projektować kod?
Te soft skille zrobią z Ciebie lepszego programistę! feat. Anita Przybył.
Переглядів 5044 місяці тому
Te soft skille zrobią z Ciebie lepszego programistę! feat. Anita Przybył.
Refaktoryzacja w PHP - jak to zrobić to dobrze?
Переглядів 8844 місяці тому
Refaktoryzacja w PHP - jak to zrobić to dobrze?
Co poza kodem? Czego uczyć się poza składnią?
Переглядів 8174 місяці тому
Co poza kodem? Czego uczyć się poza składnią?
PHPStorm szybszy niż ChatGPT? Jak IDE może Ci pomóc?
Переглядів 1,4 тис.5 місяців тому
PHPStorm szybszy niż ChatGPT? Jak IDE może Ci pomóc?
Jestem Seniorem. Co teraz? Czyli jak zostać tech-leadem? Rozmawiam z Radosławem Maziarką.
Переглядів 4795 місяців тому
Jestem Seniorem. Co teraz? Czyli jak zostać tech-leadem? Rozmawiam z Radosławem Maziarką.
Jak znaleźć pracę w IT? O co chodzi z tymi testami? Czy certyfikaty zrobią ze mnie hardcore'a?
Переглядів 6305 місяців тому
Jak znaleźć pracę w IT? O co chodzi z tymi testami? Czy certyfikaty zrobią ze mnie hardcore'a?
Nowy PHP 8.4 i jak się nim pobawić? Sprawdź!
Переглядів 2,7 тис.5 місяців тому
Nowy PHP 8.4 i jak się nim pobawić? Sprawdź!
15 stereotypów o programistach - które są w 100% prawdziwe!
Переглядів 6045 місяців тому
15 stereotypów o programistach - które są w 100% prawdziwe!
PHPStorm w akcji: Przybornik Test Driven Developera
Переглядів 8666 місяців тому
PHPStorm w akcji: Przybornik Test Driven Developera
Sobótka i Aniserowicz o marce osobistej i rozwoju programisty!
Переглядів 1,8 тис.6 місяців тому
Sobótka i Aniserowicz o marce osobistej i rozwoju programisty!
Pierwszy krok do marki osobistej - czyli PHPCon! + KONKURS!
Переглядів 5736 місяців тому
Pierwszy krok do marki osobistej - czyli PHPCon! KONKURS!
Code, Love & PHP - relacja z PHPers Summit 2024!
Переглядів 1,5 тис.6 місяців тому
Code, Love & PHP - relacja z PHPers Summit 2024!
Czego nie zrobi za Ciebie framework - czyli struktura projektu w PHP
Переглядів 2 тис.7 місяців тому
Czego nie zrobi za Ciebie framework - czyli struktura projektu w PHP
Brudny jak Laravel. Największy grzech popularnego frameworka.
Переглядів 1,6 тис.7 місяців тому
Brudny jak Laravel. Największy grzech popularnego frameworka.
AI będzie patrzeć Ci na ręce! Programista reaguje na komputery od Microsoftu.
Переглядів 2 тис.7 місяців тому
AI będzie patrzeć Ci na ręce! Programista reaguje na komputery od Microsoftu.
Wzorce projektowe PHP w akcji. Fabryka na strategii!
Переглядів 1,2 тис.7 місяців тому
Wzorce projektowe PHP w akcji. Fabryka na strategii!
Strategia, czyli jak lepiej programować w PHP. Jak pisać czysty kod?
Переглядів 1,4 тис.8 місяців тому
Strategia, czyli jak lepiej programować w PHP. Jak pisać czysty kod?
Gangsterzy czystego kodu. Kto odkrył wzorce projektowe?
Переглядів 5628 місяців тому
Gangsterzy czystego kodu. Kto odkrył wzorce projektowe?
Test Driven Development w praktyce PHP
Переглядів 1,3 тис.8 місяців тому
Test Driven Development w praktyce PHP
Swoole czy Franken? Reverb to porażka? Mockery - why? Tata a Marcin powiedział #3
Переглядів 5378 місяців тому
Swoole czy Franken? Reverb to porażka? Mockery - why? Tata a Marcin powiedział #3
Testy w PEST. Czy TDD to zawsze najlepszy wybór?
Переглядів 6378 місяців тому
Testy w PEST. Czy TDD to zawsze najlepszy wybór?

КОМЕНТАРІ

  • @DannyX-z1w
    @DannyX-z1w 19 годин тому

  • @michalmichal5267
    @michalmichal5267 День тому

    cytując klasyka odwrócona piramida testowa to scam!

  • @rafal788
    @rafal788 День тому

    Jak dla mnie niekoniecznie dobry, jak trzeba np. zrobić MVP w miesiąc, a nie ma się diagramów przepływu, encji itd. Projekt jak masz w fazie "projektowanie spontanicznie powstaje w trakcie implementacji" to nawet ciężko testy zaplanować. I ten MVP to jest dopiero faza eksperymentalnego projektowania, a potem dopiero można zaplanować testy, interfejsy itd. jak już się wie, jak to ostatecznie będzie wyglądać. Eksperymentalna implementacja -> Projekt -> TDD -> Refactor xD

    • @lenkowski-net
      @lenkowski-net День тому

      Ok, zgoda! Pod warunkiem że idziesz faktycznie procesem który opisałeś a nie "Eksperymentalna implementacja -> L4 -> Wypowiedzenie" 😂

    • @rafal788
      @rafal788 День тому

      @@lenkowski-net XD

  • @szymonduranowski4510
    @szymonduranowski4510 5 днів тому

    bardzo przydatne informacje. dzięki!

  • @xarek24g
    @xarek24g 6 днів тому

    Następny odcinek prosimy GRASP vs SOLID myślę, że możesz sobie dużo przypomnieć, a widzów zaciekawić ;)

    • @lenkowski-net
      @lenkowski-net 6 днів тому

      Ciekawa propozycja, ale rok 2025 to u mnie rok Test Driven Development 😅 Przynajmniej do startu kursu TDD: lenkowski.net/kurs-test-driven-development/

  • @random_cube5440
    @random_cube5440 6 днів тому

    O kurde, był Pan u nas na serwisie Jeepem xD

    • @lenkowski-net
      @lenkowski-net 6 днів тому

      Sprawdź instagrama @lenkowski_dev - jest i dowód owej wizyty 😂

  • @kovalus
    @kovalus 13 днів тому

    Poproszę odcinek o 'pewnych sztuczkach'. Pozdrawiam :)

  • @KaMiL83r
    @KaMiL83r 14 днів тому

    Hey! Co tam w materku?

  • @gregsbang
    @gregsbang 15 днів тому

    Komentarz dla zasięgu. Dziękuje Ci Marcin za zajebiste i wartościowe materiały!

    • @lenkowski-net
      @lenkowski-net 14 днів тому

      Dzięki! Szczęśliwego nowego roku 🔥

  • @paneckidev
    @paneckidev 15 днів тому

    Komentarz dla zasięgu i lecimy z oglądaniem! :)

  • @antonimarczuk5175
    @antonimarczuk5175 15 днів тому

    Fajnie, że nagrywasz:)

    • @lenkowski-net
      @lenkowski-net 15 днів тому

      Dzięki - z noworodkiem jest trochę trudniej, ale też damy radę 🔥

  • @DanielŚmigiela
    @DanielŚmigiela 15 днів тому

    Błenos ajres! :D

  • @CJAdevHD
    @CJAdevHD 15 днів тому

    Dla zasięgu :) Warto posłuchać, warto pamiętać o overfetchingu :)

  • @TheFury198705
    @TheFury198705 15 днів тому

    Komentarz dla zasięgu za super materiał :)

    • @lenkowski-net
      @lenkowski-net 15 днів тому

      Dzięki za wsparcie! Doceniam ❤️

  • @JanKowalski-io1sr
    @JanKowalski-io1sr 23 дні тому

    A mnie to zawsze szlag trafia z tymi interfejsami. Pół biedy jak mają tylko jedną implementację. Gorzej jak tych implementacji jest więcej, potem muszę szukać w yamlach jak to jest pokonfigurowane, w między czasie zapomnę to co czytałem przed chwilą, więc muszę się wrócić, odstawić sobie implementacje którą znalazłem na potem, przejść do tej implementacji, as tam znowu interfejsy xD.

    • @lenkowski-net
      @lenkowski-net 23 дні тому

      Po co Ci interfejs z JEDNĄ implementacją? To już zupełny bezsens 🤪

  • @WojciechSobczak
    @WojciechSobczak Місяць тому

    Fajny temat, jak zawsze świetnie podany, ale ... ;) Od jakiegoś czasu nie podoba mi się tendencja "migającego" kodu. Jak dla mnie za szybko on znika. Możesz przemyśleć zmianę tego elementu prezentacji?

    • @lenkowski-net
      @lenkowski-net 29 днів тому

      Tak, tutaj był to spory problem. W kilku innych filmach również. W nowych będzie lepiej 🔥 dzięki za feedback!

  • @pcode5846
    @pcode5846 Місяць тому

    Ja z innej strony powiem, że ambitny zespół programistów utopił bardzo dobry i rokujący projekt, przez nadgorliwość w dobrych praktykach i innych aspektach kodu. Na siłę chcieli pokazać jak to potrafią "DDD", "CQRS", "mikroservice" i inne rzeczy, których nauczyli się na bardzo drogich kursach, wciskanych przez fajnych youtuberów, gdzie samo w sobie zadanie ich nie wymagało, bo projekt był relatywnie prosty. Także dla mnie junior, to także programista doświadczony, który idąc za trendami używa nieadekwatnych narzędzi do powierzonego mu zadania.

    • @lenkowski-net
      @lenkowski-net Місяць тому

      Dzięki za komentarz, bo to prawda - nie ma nic gorszego niż CV Driven Development! Mówiłem o tym wielokrotnie i będę powtarzał! Overengeenering jest tak samo zły jak premature optimization, czyli jeden z elementów tego tu STUPIDa 🫣

    • @pcode5846
      @pcode5846 Місяць тому

      @@lenkowski-net I to jest zdrowe podejscię. Piona

    • @tomekp7545
      @tomekp7545 9 днів тому

      Dobrze poruszony temat, czasem kod napisany jest w taki sposób, że na siłe wcisnięte wzorce robią tylko to, że dane przechodzą przez parę klas które robią to samo ale profesjonalnie wyglądają. Fajnie jak kod pięknie wygląda ale oprócz tego, że musi dobrze działać trzeba pamętać, że "code has to make money" więc zabieranie na siłę czasu żeby był piękny, często generuje straty. Umówmy się, nie wszyscy na co dzień piszemy programy kosmiczne i aplikacje bankowe.

    • @lenkowski-net
      @lenkowski-net 8 днів тому

      @@tomekp7545zdaje się, że nawet w NASA czasem się o kod nie zadba, zapraszam do odcinka o TDD 😅

  • @kretowicz16
    @kretowicz16 Місяць тому

    Dyskutowałem z Tobą jakieś 2 odcinki temu - miałem sporo zastrzeżeń co do tego w jaki sposób przedstawiałeś materiał. Teraz zaskoczyłeś mnie - całkiem pozytywnie. Nie był bym sobą gdybym się nie przyczepił. Moim zdaniem niektóre sekcje nawet za mało szczegółowo - kompletnie za krótki filmik do takiej tematyki - tu można by było siedzieć pół dnia i tłumaczyć różne aspekty. Na 10 min przekazać wszystko to challenge. Moim zdaniem w połowie elementów powinno być ze 2x więcej informacji - inaczej większość z tego można traktować jako ciekawostkę / szczątkową wiedzę. To co prawda tylko moja opinia i nie musisz na niej kompletnie bazować.

    • @lenkowski-net
      @lenkowski-net Місяць тому

      Doceniam feedback (w tym negatywny). Zastanawiałem się nad podzieleniem tego na osobne odcinki, być może to pomysł na następny rok 😅

  •  Місяць тому

    Po co w każdej linii, na którą klikniesz, pokazują się data, godzina, twoje nazwisko i jakiś tekst?!

    • @lenkowski-net
      @lenkowski-net Місяць тому

      Bo gitblame prawdę Ci powie. W kodzie produkcyjnym to bardzo przydatne ☺️

  • @michagarbowski7952
    @michagarbowski7952 Місяць тому

    Hej. Pytanie - czy są jakieś naprawdę dobre repozytoria, które mogą być "wzorcem architektury" z Sèvres? Chodzi o to jak naprawdę dobrze można zorganizować projekt w heksagonie albo w innej architekturze w PHP. Takie wzorcowe szkielety. Przydałby się też jakiś cheatsheet opisujący w prosty sposób te różnice.

    • @lenkowski-net
      @lenkowski-net Місяць тому

      Dzięki za sugestię, jak zrobię w końcu kurs heksagonu to te elementy napewno się tam znajdą. Na dzisiaj nie mam takich materiałów, choć github.com/CodelyTV/php-ddd-example wygląda bardzo inspirująco

  • @Adam-fi2yc
    @Adam-fi2yc Місяць тому

    Panowie świetny materiał, dzięki. Odnośnie pomysłu na odcinek z Deptrac'iem to myślę, że nie tylko ja bardzo chętnie bym go zobaczył na kanale :)

    • @lenkowski-net
      @lenkowski-net Місяць тому

      Zobaczymy co da się zrobić ☺️

  • @PiotrFilipek
    @PiotrFilipek Місяць тому

    Całkiem spoko się słuchało. Z chęcią bym również posłuchał o Deptracu, a także o tym, jak pracować z Dockerem na środowisku deweloperskim i produkcyjnym.

    • @lenkowski-net
      @lenkowski-net Місяць тому

      W planach mam odcinek o makefile na początek! Dzięki za sugestie - coś wymyślimy 🔥

  • @TheGajos
    @TheGajos Місяць тому

    Ten filmik to coś pięknego na YT

  • @DanielŚmigiela
    @DanielŚmigiela Місяць тому

    bardzo wartościowe 43minuty, super :)

    • @lenkowski-net
      @lenkowski-net Місяць тому

      Dzięki, Damian zrobił super robotę 🔥

    • @n0zyk
      @n0zyk Місяць тому

      @@lenkowski-net ty również 🙂

  • @mieciumietek1405
    @mieciumietek1405 Місяць тому

    Chciałbym tylko nadmienić, że beginner tak czy siak musi (znaczy nie musi, ale na pewno zacznie..) zacząć od tego, bo nawet jeżeli założymy ułomność MVC i sprowadzimy go tylko do prostego podziału/ wydzielenia sekcji pracujących to tak naprawdę, jeżeli ktoś w ogóle nie rozumie konceptu rozdzielania aplikacji na poszczególne sekcje pracujące i logikę to dla niego dokładanie kolejnych trudności czy w ogóle przechodzenie od razu na microservices itd.. to jest strzał w kolano i tak jak szybko zaczął naukę tak szybko to zostawi. Sam koncept MVC ogarnąć nie jest prosto, gdy ktoś jeszcze niedawno klepał wizytówki firmy one-pageowe, bądź z 2 podstronami w pure html, css, js. Ale też film nie jest dla początkujących, natomiast jeżeli ktoś trafi na ten film to też niech ma na uwadze, że nauka ma swój bieg i pewne etapy trzeba przejść, przemęczyć się, ale zrozumieć, a dopiero potem szukać lepszych opcji, myślę, że warto to dodać, żeby ktoś kto tu wpadnie przypadkiem szukając coś o MVC nie zlękł się :D Zresztą pierwsze angulary chyba też były w MVC samym oparte.. jak dobrze pamiętam, także powoli do celu, na wszystko przyjdzie czas, a dużo firm tak czy siak nadal szuka ludzi ze znajomością MVC stricte, więc coś w tym jednak jest, może idealne nie jest, ale skoro popyt na rynku jest duży to chociaż warto od tego zacząć, żeby szybko wskoczyć w rynek i dopiero wtedy móc się edukować mając już stanowisko i możliwości lepsze rozwoju. Btw.. jak coś - nie znam się, od kilka lat ładnych nie kodziłem już, inna branża.

  • @kkleczkowski
    @kkleczkowski 2 місяці тому

    Singleton istnieje wyłącznie dlatego, że ludzie pisząc kod obiektowy chcieli mieć globalny stan. Nic w tym ciekawego do momentu, kiedy w normalnych językach jest to osiągalne praktycznie za darmo (C, C++, Rust), czy też w ogóle nie jest to zupełnie potrzebne (OCaml, Haskell, Lisp). Więc jeśli miałbym odpowiedzieć na to pytanie, powiedziałbym, że programowanie obiektowe to paradygmat, w którym bohatersko rozwiązuje się problemy nieznane w innych paradygmatach.

    • @lenkowski-net
      @lenkowski-net 2 місяці тому

      Hehe no, coś w tym może być 😅

  • @karolkolanko594
    @karolkolanko594 2 місяці тому

    Nie to żeby coś, ale wszystko jest dokładnie z Twoim kodem tak jak to zaprogramowałeś, to nie jest wina singletona. Równie dobrze, mogłeś napisać w dowolnym pliku "echo microtime(true);" I mieć problem, że z każdym uruchomieniem go, dostajesz różny wynik.

    • @lenkowski-net
      @lenkowski-net 2 місяці тому

      Tamten test służy zaprezentowaniu, że nasz singleton faktycznie działa. Tu się wszystko zgadza. Problem jednak pojawia się, gdy w innej usłudze chcemy pewne elementy (jak zapis do pliku) przykryć. Singleton użyty w ten sposób niestety mam na to nie pozwoli 🫣

    • @karolkolanko594
      @karolkolanko594 2 місяці тому

      @@lenkowski-net Chyba możemy się zgodzić co do tego, że się nie zgadzamy. Jakbyś sprecyzował tezę to było by mi prościej się odnieść, bo nie ukrywam że nie rozumiem tego zdania "Problem jednak pojawia się, gdy w innej usłudze chcemy pewne elementy (jak zapis do pliku) przykryć." Mogę się zgodzić (Co do nagrania), że owszem w wielowątkowych środowiskach może dojść przy takim kodzie do sytuacji, że istnieje więcej niż 1 instancja singletona, ale nie wynika to z samego rozumowania singletona i to czym jest, tylko z błędnej implementacji. Singleton ma zapewnić istnieje 1 instancji, więc skoro są więcej niż 1, to oznacza to, że został on źle zaimplementowany, a nie że to jest jego wada. Nie można mówić, że wadą singletona jest to, że może być więcej niż 1 instancja, gdy sam singleton mówi o tym, że by go tak nazywać musi istnieć maksymalnie 1 instancja. W wielowątkowych środowiskach wdrożenie tego wzorca jest po prostu trudniejsze, ale nie niemożliwe. Każdy z wzorców ma swoje wady i zalety, które wynikają z jego cech. Np. stosowanie fabryki powoduje, że ogólna złożoność kodu wzrasta, ponieważ wraz ze wzorcem wprowadzanych jest wiele nowych interfejsów i klas, a przecież można by było wszędzie sypać new MyClass() i nie ma tego problemu, to sobie nawymyślali jakieś fabryki... No i niby można się z tym zgodzić, ale czy jest to powód, żeby od razu skreślać wzorzec fabryki? Wydaje mi się, że nie, bo oprócz tego, minusu, który wynika z jej cech, są też plusy. Po prostu implementacja jest trudniejsza niż proste "new MyClass". Albo taki np. autowire czy tam incjection dependency. Każdy Mid i Senior powie, że spoko, bo ułatwia robotę, ale np. taki Junior, może nie ogarniać, skąd w metodzie kontrolera wzieły się te klasy, gdzie jest jakiś konstuktor, a IDE mu tak fajnie nie podpowie gdzie się one tworzą i zrozumienie tego, skąd metoda jest wywoływana jest na pewno trudniejsze, bo przecież można zrobić: "$service = new MyService(new MyOtherService(), new MyOtherService2())". Przecież z punktu widzenia jakiegoś Juniora, taki kod jest bardziej zrozumiały, chociaż pewnie Ty i ja uznamy, że no taki Kontener z DI to jest spoko rzecz, bo nie ma potem takich tasiemców na 10 linii jak jakieś klasy korzystają z innych klas, które korzystają z innych itd. Jak się pierwszy raz coś takiego na oczy widzi, to to jest czarna magia, więc jest to z pewnością jakiś minus, że zrozumienie tego jest trudniejsze, ale nie wydaje mi się, że jest to dostateczny powód, by z tego nie korzystać. Wdrożenie samemu tego jest z całą pewnością trudniejsze niż wywoływania "$service = new MyService(new MyOtherService(), new MyOtherService2())". I tak samo jest z Signletonem, ma swoje cechy z których wynikają plusy i też minusy, jeśli chcesz by singleton miał jedną instancję, w środowisku wielowątkowym, to nic nie stoi na przeszkodzie, żeby zaimplementować ten wzorzec z wykorzystaniem wzajemnego wykluczenia. W zasadzie nie ma takiego problemu, którego odpowiednia implementacja, nie rozwiązywała go, również z testami etc. Czy jest trudniej? No z całą pewnością, ale to jest dokładnie tak samo jak z fabryką, czy DI, czy w zasadzie jakimkolwiek wzorcem z którego można skorzystać. A czy łamie SOLID, to jest kwestia sporna, ale nawet przyjmując, że łamie, to co to zmienia, wydaje mi się, że dobry programista nigdy nie powinien zamykać się w takich ramach myślenia, że nie będę łamał SOLID, dlatego, że nie będę go łamał. Pachnie mi jakąś wiarą w idea dla samej idei. Jeśli czasem plusy przewyższają minusy, to nie widzę powodu dla którego kluczowo trzymać się zasad SOLID, tylko po to by się ich trzymać. Te idea są po to, żeby wnosić wartość dodatnią, a nie po to by były. Więc jeśli dzisiaj będę miał mały projekt, który będzie miał funkcjonować tylko przez N-dni to nie widzę, powodu, żeby np. nie złamać zasady DRY i chamsko na szybko przekopiować kod z jednego miejsca, do drugiego, niż na siłę marnować niepotrzebnie czas, tylko bo to by nie złamać zasady DRY i zmarnować X dni na to, żeby napisać co zgodnie z tą zasadą, pomimo, że nie przynosi to wymiernej korzyści, bo po N-dniach cały ten kod i tak będzie już nie miał wartości biznesowej.

    • @lenkowski-net
      @lenkowski-net 2 місяці тому

      tl;tr?

    • @karolkolanko594
      @karolkolanko594 2 місяці тому

      Więc podsumowując uważam, że jeśli istnieją realne korzyści z zastosowania Singletona, to powinno się z niego skorzystać, a zamykanie się w bańce "Nigdy nie korzystam z Singletona, bo...", jest według mnie dziwne, jeśli przez to zamknięcie spowoduje że będę miał o wiele więcej roboty, a nie będzie realnych korzyści. Taka sztuka dla sztuki.

    • @lenkowski-net
      @lenkowski-net 2 місяці тому

      @@karolkolanko594 dzięki za komentarz. Ja powiedziałem w filmie że: 1. Nie lubię Singletona (opinia) 2. Ma on rację bytu i czasem jest potrzebny (fakt) 3. DI over Global (opinia / fakt) I nie ma tam stwierdzenia które zacytowałeś w "cudzysłowiu"...

  • @paweupawel8890
    @paweupawel8890 2 місяці тому

    Dałem lajka👍 a będzie jeszcze jakiś odcinek o testach?

    • @lenkowski-net
      @lenkowski-net 2 місяці тому

      2025 rok to będzie rok testów na moim kanale, bo nadchodzi porządne szkolenie Test Driven Development 🔥 Duuuużo tego będzie 😎

    • @testerautomatyzujacy
      @testerautomatyzujacy Місяць тому

      @@lenkowski-netdla mnie się podoba 🙂

  • @masztan
    @masztan 2 місяці тому

    jak sie stosuje jedna zmienna do jednej metody (np getInstance()) to w ciele tej metody mozna ja zadeklarować: static $instance;

    • @lenkowski-net
      @lenkowski-net 2 місяці тому

      Tak, ale to nie wynika z klasy tylko ponownie ze stanu globalnego, co jest IMO jeszcze większym pogrążeniem w nicości 😅

  • @dominikbetlej7114
    @dominikbetlej7114 2 місяці тому

    THX! ;d

  • @patryk7047
    @patryk7047 2 місяці тому

    Z mojej perspektywy jak nie wiesz co robisz to dostaniesz rachunek to Ci się odechce serverlessa :D

    • @lenkowski-net
      @lenkowski-net 2 місяці тому

      Dlatego lepiej wiedzieć co się robi 😂 Ale lambda od EC2 potrafi w pierwszym okresie zaoszczędzić naprawdę sporo 👾

  • @patryk7047
    @patryk7047 2 місяці тому

    14:20 a nie wystarczy zaszyfrować env? (php artisan env:encrypt)

    • @lenkowski-net
      @lenkowski-net 2 місяці тому

      Nie, rozmiar pliku nadal będzie za duży

  • @patryk7047
    @patryk7047 2 місяці тому

    Vapor ma strasznie słabą dokumentację (przynajmniej miał rok temu i pewnie nic się nie zmieniło) - większość rzeczy trzeba czytać na GH, SO etc. Da się jakoś tam postawić Reverba?

    • @lenkowski-net
      @lenkowski-net 2 місяці тому

      Hmm, dla mnie dokumentacja nie tylko była kompletna, ale i support działał mega szybko. Korzystałeś z vapora faktycznie? Co do reverba. IMO WebSocket na PHP to ogólnie zły pomysł, ale nie wiem - z tego co rozumiem działanie serverlessa to nigdzie nie powinno się dać, bo to utrzymuje aplikację alive…

  • @JOZA2003
    @JOZA2003 2 місяці тому

    Ja i tak stawiam wszystko na polskim mikrus

    • @lenkowski-net
      @lenkowski-net 2 місяці тому

      Mikrus 🔥 Tylko nie wiem jak to by było z większym ruchem. To jednak serwery ćwiczebne 😅

    • @JOZA2003
      @JOZA2003 2 місяці тому

      Jak trzeba coś mocniejszego to Hetzner na którym to właśnie stoi Mikrus

  • @gryg666
    @gryg666 2 місяці тому

    AWS jest tak zryty w obsłudze, że nic dziwnego że powstają firmy/aplikacje jak Vapor żeby to ogarnąć. GCP przyjemniejsze ;)

    • @lenkowski-net
      @lenkowski-net 2 місяці тому

      Całkiem możliwe, AWS ma sporo opcji (czasem za dużo). Słyszałeś coś o wsparciu PHPa przez GCP FaaS?

    • @gryg666
      @gryg666 2 місяці тому

      @@lenkowski-net Google ma 3 produkty ciekawe z punktu widzenia PHP (i innych technologii). Jest Cloud Run Functions z obsługą PHP, drugi to App Engine - gotowy runtime z PHP, konfiguracja ogranicza się do dodania pliku yaml z wybraną wersją PHP i rodzajem maszyny która ma to odpalić. Jest też zwykły Cloud Run - tutaj mamy pełną dowolność, bo do projektu oprócz konfiguracji instancjim dorzucamy też Dockerfile który chcemy używać.

    • @lenkowski-net
      @lenkowski-net 2 місяці тому

      Dzięki za podzielenie się tym 🔥

  • @dominikbetlej7114
    @dominikbetlej7114 2 місяці тому

    Thx!

  • @ama0enta
    @ama0enta 2 місяці тому

    Fajny content! Na maxa przydałoby się jakieś mini repo, gdzie możnaby na spokojnie przejrzeć pliczek. Ja wiem, że może proszę o zbyt wiele, ale jak już i tak to kodzisz to pushnąć to do otwartego repo może byłoby jednak w zasięgu? ❤ "Bolom" oczy i "muzg" od oglądania tego tutaj z tymi przybliżeniami, przyspieszeniami itp. choć oczywiście wiem, że z pewnością robisz to i tak najlepiej jak się da, za co dziękuję 👍🏻🙂 taki tylko luźny pomysł 🙂

    • @lenkowski-net
      @lenkowski-net 2 місяці тому

      Dzięki za sugestię, faktycznie, ciągle zapominam o tym 😅

  • @Sun_powered
    @Sun_powered 2 місяці тому

    Kto jeszcze w tych czasach uczy sie PHP? Blagam... uczcie sie nextjs, shadcn i jakis CMS to Wam wystarczy, aby budowac strony internetowe i zarabiac niezle pieniadze. Rozmowy kwalifikacyjne juz sie nie sprawdzaja bo maja 300 CV na jedno miejsce. Nigdy nie bede na jednej z nich bo rekruterzy zyja w czasach sredniowiecza i pytaja o glupoty...

    • @lenkowski-net
      @lenkowski-net 2 місяці тому

      Po Twoim komentarzu widać, że jesteś na początku drogi. Jeśli chcesz robić, jak to napisałeś CMSy, to faktycznie, super robota dla początkujących. Gdy dojdziesz już do poziomu Enterprise, do domen, do architektury, zrozumiesz więcej. Teraz życzę ci powodzenia!

    • @lgbtscenes
      @lgbtscenes 2 місяці тому

      @@lenkowski-net nie chce robić CMSów jak wspomniałeś, ale jest to cos co każdy może się nauczyć w kilka dni i podpiąć pod stronę internetowa w nextjs, którą robi się również w kilka godzin(a nawet nie trzeba poświęcać czasu na klepanie kodu ponieważ wszystko jest gotowe i wystarczy wkleić do IDE). Akurat nie jestem początkujący, a jako Full Stack Developer mam spore doświadczenie, które nauczyło mnie, że rozmowy rekrutacyjne o prace to strata czasu bo nie każdy ma ochotę rozmawiać ciągle o tym samym - dlaczego chce Pan abyśmy Pana zatrudnili? Jakie są Pana słabe strony? Czym jest komponent w reakcie, kiedy używamy useState, a kiedy useEffect? Co to jest docker czy kubernetes? Takie oklepane pytania są niepotrzebne, ja tu jestem aby dostarczyć kod, a nie rozmawiać o podstawach. Rekruterzy tak sie rozbeztwili, a jak ja im zadałem pytania z prostego javascript to nie wiedzieli co odpowiedzieć hahaha Szaleństwo! Dziękuję za odpowiedz, fajny kanał, bede śledził poczynania :)

    • @lenkowski-net
      @lenkowski-net 2 місяці тому

      Chodzi mi o poszerzanie waszej perspektywy, jeśli uda mi się to zrobić - będzie sukces 🤩 Dzięki za komentarz!

  • @lenkowski-net
    @lenkowski-net 2 місяці тому

    Pozdro dla kumatych i zapraszam na lenkowski.net/senior/ 🔥🔥🔥

  •  2 місяці тому

    czyli senior to chat GPT, ok

  • @marcin2x4
    @marcin2x4 2 місяці тому

    Rozeznam wątek Zettelkasten i Obsidian, bardzo mnie zaciekawił. Dzięki!

    • @lenkowski-net
      @lenkowski-net 2 місяці тому

      Tomek to świetny trener, więc te narzędzia być bardzo ciekawe 👀 Dzieki za miły komentarz 😎

    • @marcin2x4
      @marcin2x4 2 місяці тому

      @@lenkowski-net Ostatnio rozeznałem inne techniki nauki jak: przetwarzanie elaboracyjne i eseje Montaigne'a ☺

  • @gracjanchudziak4755
    @gracjanchudziak4755 3 місяці тому

    A moim zdaniem wzorce projektowe są przereklamowane i utrwalają złe nawyki. Np. polimorfizm jest wolny, dużo szybsze wyjdzie wykorzystanie po prostu instrukcji switch/case. Czy switch/case jest rzeczywiście mniej czytelny od wzorca strategii (wzorzec strategii wykorzystuje polimorfizm)? Z mojego doświadczenia wynika, że nie i mówię to jako były fan tego wzorca.

    • @lenkowski-net
      @lenkowski-net 3 місяці тому

      Dzięki za podzielenie się swoją opinią, ale… pokaż kod 😅 Oczywiście match jako wyrażenie może być często używane, ale z tym że to jest „wolniejsze” to w dobie dzisiejszego dostępu do hardware, nie przesadzałbym… Switch robiący z klasy 5000 linii to coś co często widuję, jeśli temat można „łatwo” ogarnąć, bez takiego zagmatwania to spoko 😎

    • @gracjanchudziak4755
      @gracjanchudziak4755 3 місяці тому

      ​@@lenkowski-net ależ proszę bardzo, autor Casey Muratori wyjaśnia także jak bardzo wolniejszy jest polimorfizm ua-cam.com/video/tD5NrevFtbU/v-deo.htmlsi=4bgrYqdJjZDbhZuu 5000 linii to gigantyczna liczba, ewidentnie coś poszło nie tak.

    • @lenkowski-net
      @lenkowski-net 3 місяці тому

      Dzięki że się podzieliłeś 🔥

    • @michak542
      @michak542 2 місяці тому

      Switch case nie jest otwarty na rozszerzanie. Dodanie nowego zachowania wymaga w przeciwieństwie do strategii edycji kodu w danym miejscu. Z reguły w większych projektach może być to problem. Trzeba zadać sobie pytanie czy w tym miejscu nie lepiej będzie to zrobić rozszerzalne. Nie zawsze oczywiście warto, ale jednak warto znać i umieć ;)

  • @adamwadokowski5565
    @adamwadokowski5565 3 місяці тому

    Przydal by sie strict type w clasach skoro używasz składni php > 7.0 (widze 8.3) + zgrupowanie parametrów funkcji/metod w VO/DTO ;). Mozna by bylo jeszcze dodac sniffer do dev w pakietach composeta i prosty make by np. odpalac ecs oraz testy na local docker ;). Można jeszcze dodac git hoock by z automatyzowac prace z git flow ;), itd, itp.

    • @lenkowski-net
      @lenkowski-net 3 місяці тому

      O panie, zawsze by się „coś przydało”. 😂

    • @adamwadokowski5565
      @adamwadokowski5565 3 місяці тому

      To jest nie kończąca się historia xD

    • @lenkowski-net
      @lenkowski-net 3 місяці тому

      @@adamwadokowski5565 dlatego planuję zrobić jeszcze odcinek o STUPIDzie :) z naciskiem na P jak Premature Optimization 😅 choć brak typowania to zuoooo 😂

  • @adamwadokowski5565
    @adamwadokowski5565 3 місяці тому

    Refaktor bez testow integracyjnych czy funkcjonalnych?. Widać ze sporo dłubaleś w legacy ;) "coz złego moze się stać" xD. Tak czy siak jak nie ma testów to za wsze sa one na czerwono xD. W tedy failuja pipeline CI/CD xD

    • @lenkowski-net
      @lenkowski-net 3 місяці тому

      Bez testów nie podchodź 😂 Zobacz sobie filmik o TDD 🔥

  • @paneckidev
    @paneckidev 3 місяці тому

    Kiedyś brałem udział w rekrutacji do jednego z polskich banków i jednym z zadań, jakie dostałem to rozpisanie algorytmu bubble sort w notatniku. Od razu podziękowałem i się rozłączyłem. 😂😂😂

    • @lenkowski-net
      @lenkowski-net 3 місяці тому

      Haha, szef mi opowiadał, że gdy zatrudniał w Indiach po 6 godzinach przyszedł do niego programista, któremu dał takie zadanie dla małych zbiorów danych i powiedział z dumą - skończyłem - Co skończyłeś? - no, to trudne zadanie z sortowaniem - a o sort() nie słyszałeś 😂

  • @pacykarz2009
    @pacykarz2009 3 місяці тому

    6:22 chyba raczej chodzi o Livewire. Inertia do frontendu używa bibliotek JavaScript jak Vue, React, Svelte

    • @lenkowski-net
      @lenkowski-net 3 місяці тому

      Livewire też. Chodziło tutaj o inne podejścia właśnie od strony SSR + CSR 😅

  • @adamwadokowski5565
    @adamwadokowski5565 3 місяці тому

    😂

  • @fadocodecamp
    @fadocodecamp 3 місяці тому

    Dziś senior to o wiele więcej niż programista, tym bardziej 1 języka. Docker, Kubernetes, CI/CD, AWS lub inne, MySQL/Postgres - wszystko na poziomie samodzielnego zarządzania. Do tego backend i frontend. Myślę że nawet największy fan PHP musi też popatrzeć w stronę Pythona. Takie czasy.

    • @lenkowski-net
      @lenkowski-net 3 місяці тому

      To prawda! A już napewno w stronę TypeScripta 🔥

    • @wqeok8104
      @wqeok8104 3 місяці тому

      Dobry żart z tym kubernetesem. Jestem rozchwytywanym seniorem tylko w jednej technologii i nie znam żadnej innej. Chyba, że mówimy o firmie SH-Januszex gdzie od deva wymaga się wszystkiego. To wtedy współczuję. :)

    • @lenkowski-net
      @lenkowski-net 3 місяці тому

      Myślę że nie chodzi tutaj o to żeby być seniorem we wszystkich tych technologiach, a o to, żeby przynajmniej otrzeć się o tego kubernetesa czy awsa - o bazach danych i CI/CD nie wspominając.

    • @wqeok8104
      @wqeok8104 3 місяці тому

      @@lenkowski-net ja się nie ocieram o inne rzeczy. pewnie dlatego, że pracuję tylko w firmach na tyle dobrze zorganizowanych, że każdą "warstwą" zajmują się inni ludzie. Bazy to wiadomo, ale na poziomie interfejsu. :) ale rozumiem, jeśli niektórzy chcą być/muszą być fullstackami i co tydzień muszą się aktualizować wiedzę z 40 różnych narzędzi. ;)

  • @adamwadokowski5565
    @adamwadokowski5565 3 місяці тому

    Moze trzeba było zainwestowac w certa symfony i odbyło by się bez takich fikołków ;)

  • @ZdrowyKod
    @ZdrowyKod 3 місяці тому

    Ale chyba zapomniałeś o najważniejszym :) bo co, że ktoś nauczy się języka, solida, wzorców itd skoro nie będzie umieć programować? 😊 Wy uczycie w tych kursach wszystkiego oprócz tego, żeby napisać setki programów stopniowo zwiększać poziom tak samo jak w matematyce musisz przerobić setki przykładów tak samo tutaj i fakt język, solid, wzorce, czysta architektura ogólnie czysty kod! Są ważne ale zapominacie o najważniejszym ;)

    • @lenkowski-net
      @lenkowski-net 3 місяці тому

      Myślę że nikt o tym nie zapomina. Ja nie uczę tych, którym obiecuję się złote góry w 3 miesiące, a tych, którym zależy na rozwoju. Zapraszam na mój kanał, który prowadzę od ponad 2 lat. To nie jest kanał dla początkujących i takie treści chcę wam dawać 🔥

    • @JEsterCW
      @JEsterCW 3 місяці тому

      rel