Daj znać, czy podoba Ci się ta seria i czy robić więcej materiałów takiego typu! Zostaw maila i bądź na bieżąco z moimi szkoleniami, kursami, publikacjami i pozostałymi inicjatywami 😊 ➜ bykowski.pl/newsletter/
Bardzo dobry film, jak zawsze. Mam tylko 2 uwagi: 1. Mógłbyś wspomnieć, że konstrukcja new Thread(){new Runnable(){ ... }} i new Thread(){() -> (...)} nie są równoważne dla JVM, tzn. opcja z lambdą nie jest "przepisywana" na tą pierwszą wersję. Kompilator nie tworzy w przypadku lambd klas anonimowych, reprezentacja obiektu jest tworzona w runtimie przez invokedynamic. Można to łatwo zaobserwować, tworząc kilka wątków każdym sposobem i patrząc co nam się generuje w źródłach. Może nie jest to wiedza potrzebna na co dzień, ale można wspomnieć że lambda to nie jest tylko taki "syntactic sugar". 2. Niepoprawnie wymawiasz Runnable i Thread, może się czepiam ale moim zdaniem warto dbać o jak najwyższy poziom :)
Faktycznie, zupełnie nie zwróciłem na to uwagi^^ W kwestii rozwiązania tego problemu zerknij tutaj: stackoverflow.com/questions/15518502/sorting-string-with-non-western-characters
Generalnie po obejrzeniu kilku już takich kursów to to rozumiem i umiem korzystać z programowania funkcyjnego. Tylko dalej nie wiem gdzie można to wykorzystać w praktyce w pracy. Jak będziesz tworzył jakiś nowy materiał dla Springa to możesz pokazać gdzie to wykorzystujesz.
Różnica jest taka, że arr.stream().forEach() pozwala ci na dokonanie operacji na streamie przed forEachem , natomiast używając samego arr.forEach() możesz wykonać tylko iterowanie się po elementach
Poszła do kosza po tym jak okazało się, że do mojego tłumaczenia wdarł się błąd. Zależy mi, aby w moich materiałach nie było błędów, a każdy kto z nich czerpie wiedzę miał świadomość ich jakości i poprawności :)
Przemku, 12 minuta wcześniej tworzyłeś jakby instancje interfejsu, na każdym elemencie z listy names wykonujesz metodę accept a jak to ma się do 24 linijki kodu w lekcji 3. Skąd kompilator wie że akurat w tej metodzie ConsumerShort korzystasz z interfejsu Consume a nie z innego? Wskazujesz tam tylko typ i to, że przechodzisz po liście. To w innych przykładach się powiela i nie potrafię tego konspektu zrozumieć.
Konkretna wiedza od razu przekazana bez przedłużania, dzięki, pozdro
Daj znać, czy podoba Ci się ta seria i czy robić więcej materiałów takiego typu!
Zostaw maila i bądź na bieżąco z moimi szkoleniami, kursami, publikacjami i pozostałymi inicjatywami 😊 ➜ bykowski.pl/newsletter/
Bardzo dobry film, jak zawsze. Mam tylko 2 uwagi:
1. Mógłbyś wspomnieć, że konstrukcja new Thread(){new Runnable(){ ... }} i new Thread(){() -> (...)} nie są równoważne dla JVM, tzn. opcja z lambdą nie jest "przepisywana" na tą pierwszą wersję. Kompilator nie tworzy w przypadku lambd klas anonimowych, reprezentacja obiektu jest tworzona w runtimie przez invokedynamic. Można to łatwo zaobserwować, tworząc kilka wątków każdym sposobem i patrząc co nam się generuje w źródłach. Może nie jest to wiedza potrzebna na co dzień, ale można wspomnieć że lambda to nie jest tylko taki "syntactic sugar".
2. Niepoprawnie wymawiasz Runnable i Thread, może się czepiam ale moim zdaniem warto dbać o jak najwyższy poziom :)
Bardzo Pan przystojnie wyszedł, pozdrawiam ;)
Naprawdę super materiał, tylko brak mi jeszcze umiejętności i wyobraźni by z tego skorzystać ;/ Zapisuje i jeszcze tu wrócę :D
dziekuje za material, ladnie wszystko zostalo wytlumaczone
Kolejny mega wartościowy materiał! Przemek dzięki, czekam na kolejne filmy.
Bardzo dobrze opracowany materiał 👏...
Świetny materiał ! ;)
29:43 coś to sortowanie alfabetyczne nie wyszło... W języku polskim "Ł" jest przed "P"... Jak to naprawić?
Faktycznie, zupełnie nie zwróciłem na to uwagi^^ W kwestii rozwiązania tego problemu zerknij tutaj:
stackoverflow.com/questions/15518502/sorting-string-with-non-western-characters
Bardzo dobry materiał, porusza dużo istotnych rzeczy w programowaniu funkcyjnym.
Generalnie po obejrzeniu kilku już takich kursów to to rozumiem i umiem korzystać z programowania funkcyjnego. Tylko dalej nie wiem gdzie można to wykorzystać w praktyce w pracy. Jak będziesz tworzył jakiś nowy materiał dla Springa to możesz pokazać gdzie to wykorzystujesz.
Pokaże :) W odcinku na temat programowania reaktywnego - wstępnie 4 maja :)
Jeszcze nasuwa mi się pytanie, jaka jest różnica pomiędzy arr.stream().forEach() a arr.forEach() ?
Różnica jest taka, że arr.stream().forEach() pozwala ci na dokonanie operacji na streamie przed forEachem , natomiast używając samego arr.forEach() możesz wykonać tylko iterowanie się po elementach
21:00 co to za skrót?
ctrl + alt + v
A co się stało z pierwszą wersją?
Poszła do kosza po tym jak okazało się, że do mojego tłumaczenia wdarł się błąd. Zależy mi, aby w moich materiałach nie było błędów, a każdy kto z nich czerpie wiedzę miał świadomość ich jakości i poprawności :)
Przemku, 12 minuta wcześniej tworzyłeś jakby instancje interfejsu, na każdym elemencie z listy names wykonujesz metodę accept a jak to ma się do 24 linijki kodu w lekcji 3. Skąd kompilator wie że akurat w tej metodzie ConsumerShort korzystasz z interfejsu Consume a nie z innego? Wskazujesz tam tylko typ i to, że przechodzisz po liście.
To w innych przykładach się powiela i nie potrafię tego konspektu zrozumieć.
Nie wiem po co stworzono Javę, nie lepiej w c++.