Jeśli podobają Ci się moje filmy, to zostaw łapkę w górę i za subskrybuj mój kanał. Zapraszam Cię także do zapoznania się z moimi kursami i warsztatami: 🟢 Kurs Hibernate i JPA - kursy.nullpointerexception.pl/hibernate/ 🟠 Warsztat Architektura Heksagonalna - kursy.nullpointerexception.pl/product/warsztat-architektura-heksagonalna/ 🟢 Kurs Testy Jednostkowe - kursy.nullpointerexception.pl/testy-jednostkowe/ 🟠 Warsztat Architektura Warstwowa - kursy.nullpointerexception.pl/product/warsztat-architektura-warstwowa/
Zawsze doceniam każdą inicjatywę osoby, która chce podzielić się wiedzą na jakiś temat. Nowości w javie to jeden z tych tematów, których brakuje mi na polskim youtube. W ogóle brakuje konkretnych materiałów polskojęzycznych na nowsze wersje języków programowania.
Dzięki. Problem z nowościami w Javie jest taki, że tak naprawdę z wersji na wersję jest ich niewiele ;) Ale jak będą pojawiać się jakieś ciekawe rzeczy to na pewno coś nagram. Z nowości, to na pewno pojawi się na kanale kilka bibliotek/narzędzi, które warto znać
dzięki za film :) Jedyną rzeczą którą nie do końca rozumiem, to dlaczego Record jest niejawnie final. Na pierwszy rzut oka wydaje mi się że czytelniej by było aby to zrobili jawnie.
To by znaczyło, że w każdym rekordzie trzeba by było pisać public final rekord, a kompilator musiałby zwracać błąd, gdyby tego final nie było. Takie zachowanie łamałoby dotychczasowe zachowanie, final nie jest w żadnym przypadku wymagane.
Cześć Jakub. Myślę, że jeszcze trochę za wcześnie na taki tutorial. Rekordy to dopiero zapowiedź funkcjonalności, nie są jeszcze w standardzie, więc trzeba jeszcze poczekać kilka wersji Javy, żeby można było ich w pełni używać. Poza tym nie wiem, jak będzie można połączyć niezmienne rekordy z ORMem, który potrzebuje z reguły zmiennych obiektów. Oczywiście można zwracać rekordy tam gdzie dane są tylko do odczytu, ale to tak naprawdę nie wiele się różni od użycia normalnej klasy. Tak czy inaczej, pomyślę nad tym ;)
Cześć dobre pytanie. Teoretycznie tak, w praktyce nie sprawdzałem tego jeszcze. Hibernate lub inny ORM może mieć z tym problem. Pewnie zostanie zwrócony błąd, że brakuje domyślnego konstruktora (Hibernate zwraca taki błąd jeśli masz jakieś konstruktory, a nie masz domyślnego). Ale w rekordach można dodawać konstruktory (nie wspomniałem o tym w filmie). Gdzieś jeszcze czytałem, że może być problem z utworzeniem proxy do rekordu(a ORMy korzystają z tego mechanizmu), ale nie pamiętam niestety, gdzie o tym czytałem. To dopiero preview tej funkcjonalności, więc prawdopodobnie ewentualne problemy zostaną rozwiązane w kolejnej wersji. Poza tym, problem w tym, że taką encję będziesz mógł używać tylko do odczytu. Encje ze swojej natury muszą być zmienne (a rekordy nie są). Tak działają ORMy zarządzają encjami i śledzą zmiany w nich zachodzące, więc jeśli nie zmieniasz encji to ORM "nie wie", że powinien ją zapisać.
Poza tym mam pytanie do ciebie. Obecnie wersji jdk od Amazon Coretto. Wcześniej używałem domyślnej od Oracle, ale zawsze ustawiało mi poziom projektu na 1.6 zamiast np. na 8. I to bez względu czy używam Intelij'a czy eclipse'a. Nie wiem dlaczego tak się dzieje.
Nigdy nie zastanawiałem się nad tym, dlaczego tak się dzieje ;) Pewnie w JDK jest gdzie ustawiona najniższa wspierana wersja Javy. Na wyższych wersjach możesz uruchamiać i kompilować aplikacje do wersji niższych. Korzystając z JDK8 możesz uruchamiać i kompilować np. do Javy 1.6 i wszystkich niższych.
Dzięki z komentarz. Najważniejsze to znać swój podstawowy język jak najlepiej (i jemu poświęcać jak najwięcej czasu). Ale oczywiście warto znać jakiś inny język. Ja na co dzień używam Gradle do budowania projektów i dzięki niemu nauczyłem się trochę Grooviego. Korzystałem także ze Spoka do testów jednostkowych (który jest w Grooviem) i już znałem Grooviego (dzięki Gradlowi). Korzystałem z Gatlinga do testów obciążeniowych i nauczyłem się przy okazji trochę Scali (bo Gatling jest w Scali). Uczyłem się tych języków przy okazji korzystanie z różnych narzędzi. Trochę w międzyczasie doczytałem na temat tych języków, żeby poszerzyć swoją wiedzę, ale nie jestem mistrzem w żadnym z nich ;) Najwięcej czasu poświęcałem zawsze Javie bo w niej piszę na co dzień ;)
Jeśli podobają Ci się moje filmy, to zostaw łapkę w górę i za subskrybuj mój kanał. Zapraszam Cię także do zapoznania się z moimi kursami i warsztatami:
🟢 Kurs Hibernate i JPA - kursy.nullpointerexception.pl/hibernate/
🟠 Warsztat Architektura Heksagonalna - kursy.nullpointerexception.pl/product/warsztat-architektura-heksagonalna/
🟢 Kurs Testy Jednostkowe - kursy.nullpointerexception.pl/testy-jednostkowe/
🟠 Warsztat Architektura Warstwowa - kursy.nullpointerexception.pl/product/warsztat-architektura-warstwowa/
Programowanie funkcyjne w Javie to też temat, który chętnie obejrzę.
Zanotowałem ;)
Bardzo fajny film i z chęcią obejrzę więcej o nowościach w Javie. :)
Dzięki ;)
Dzięki za film :)
;)
Zawsze doceniam każdą inicjatywę osoby, która chce podzielić się wiedzą na jakiś temat. Nowości w javie to jeden z tych tematów, których brakuje mi na polskim youtube. W ogóle brakuje konkretnych materiałów polskojęzycznych na nowsze wersje języków programowania.
Dzięki. Problem z nowościami w Javie jest taki, że tak naprawdę z wersji na wersję jest ich niewiele ;) Ale jak będą pojawiać się jakieś ciekawe rzeczy to na pewno coś nagram. Z nowości, to na pewno pojawi się na kanale kilka bibliotek/narzędzi, które warto znać
Nice!
;)
dzięki za film :) Jedyną rzeczą którą nie do końca rozumiem, to dlaczego Record jest niejawnie final. Na pierwszy rzut oka wydaje mi się że czytelniej by było aby to zrobili jawnie.
To by znaczyło, że w każdym rekordzie trzeba by było pisać public final rekord, a kompilator musiałby zwracać błąd, gdyby tego final nie było. Takie zachowanie łamałoby dotychczasowe zachowanie, final nie jest w żadnym przypadku wymagane.
zostawiam subskrypcje bo mi mocno pomogłeś :) miłego dnia!!
;)
Mateusz mam ogromną prośbę, zrobiłbyś tutorialka jak łączyć recordy ze springjpa?
Cześć Jakub. Myślę, że jeszcze trochę za wcześnie na taki tutorial. Rekordy to dopiero zapowiedź funkcjonalności, nie są jeszcze w standardzie, więc trzeba jeszcze poczekać kilka wersji Javy, żeby można było ich w pełni używać.
Poza tym nie wiem, jak będzie można połączyć niezmienne rekordy z ORMem, który potrzebuje z reguły zmiennych obiektów. Oczywiście można zwracać rekordy tam gdzie dane są tylko do odczytu, ale to tak naprawdę nie wiele się różni od użycia normalnej klasy. Tak czy inaczej, pomyślę nad tym ;)
Cześć, pytanie czy można taki record przekształcić w encję? Dodając adnotację @Entity. Pozdrawiam
Cześć dobre pytanie. Teoretycznie tak, w praktyce nie sprawdzałem tego jeszcze. Hibernate lub inny ORM może mieć z tym problem. Pewnie zostanie zwrócony błąd, że brakuje domyślnego konstruktora (Hibernate zwraca taki błąd jeśli masz jakieś konstruktory, a nie masz domyślnego). Ale w rekordach można dodawać konstruktory (nie wspomniałem o tym w filmie). Gdzieś jeszcze czytałem, że może być problem z utworzeniem proxy do rekordu(a ORMy korzystają z tego mechanizmu), ale nie pamiętam niestety, gdzie o tym czytałem. To dopiero preview tej funkcjonalności, więc prawdopodobnie ewentualne problemy zostaną rozwiązane w kolejnej wersji.
Poza tym, problem w tym, że taką encję będziesz mógł używać tylko do odczytu. Encje ze swojej natury muszą być zmienne (a rekordy nie są). Tak działają ORMy zarządzają encjami i śledzą zmiany w nich zachodzące, więc jeśli nie zmieniasz encji to ORM "nie wie", że powinien ją zapisać.
@@matdabski Dzięki za wyczerpującą odpowiedź!
Poza tym mam pytanie do ciebie. Obecnie wersji jdk od Amazon Coretto. Wcześniej używałem domyślnej od Oracle, ale zawsze ustawiało mi poziom projektu na 1.6 zamiast np. na 8. I to bez względu czy używam Intelij'a czy eclipse'a. Nie wiem dlaczego tak się dzieje.
Nigdy nie zastanawiałem się nad tym, dlaczego tak się dzieje ;) Pewnie w JDK jest gdzie ustawiona najniższa wspierana wersja Javy. Na wyższych wersjach możesz uruchamiać i kompilować aplikacje do wersji niższych. Korzystając z JDK8 możesz uruchamiać i kompilować np. do Javy 1.6 i wszystkich niższych.
Czy programista javy powinien również znać jakiś jeszcze jeden język korzystający z maszyny wirtualnej javy np. Kotlin, Groovy albo Scala ?
Dzięki z komentarz. Najważniejsze to znać swój podstawowy język jak najlepiej (i jemu poświęcać jak najwięcej czasu). Ale oczywiście warto znać jakiś inny język.
Ja na co dzień używam Gradle do budowania projektów i dzięki niemu nauczyłem się trochę Grooviego. Korzystałem także ze Spoka do testów jednostkowych (który jest w Grooviem) i już znałem Grooviego (dzięki Gradlowi). Korzystałem z Gatlinga do testów obciążeniowych i nauczyłem się przy okazji trochę Scali (bo Gatling jest w Scali).
Uczyłem się tych języków przy okazji korzystanie z różnych narzędzi. Trochę w międzyczasie doczytałem na temat tych języków, żeby poszerzyć swoją wiedzę, ale nie jestem mistrzem w żadnym z nich ;) Najwięcej czasu poświęcałem zawsze Javie bo w niej piszę na co dzień ;)
setery tez generuje?
Rekordy są niezmienne. Nie mają setterów.
@@matdabski ok, dzięki