Java 14 Records - Wszystko co powinieneś wiedzieć o rekordach w Javie 14

Поделиться
HTML-код
  • Опубликовано: 21 дек 2024

Комментарии • 27

  • @matdabski
    @matdabski  3 года назад

    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/

  • @2605mac
    @2605mac 4 года назад +2

    Programowanie funkcyjne w Javie to też temat, który chętnie obejrzę.

  • @artir8944
    @artir8944 4 года назад +1

    Bardzo fajny film i z chęcią obejrzę więcej o nowościach w Javie. :)

  • @NN-td9jk
    @NN-td9jk 4 года назад +2

    Dzięki za film :)

  • @2605mac
    @2605mac 4 года назад

    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.

    • @matdabski
      @matdabski  4 года назад +1

      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ć

  • @michakowalewski5409
    @michakowalewski5409 4 года назад +1

    Nice!

  • @piotrboguszewicz9191
    @piotrboguszewicz9191 4 года назад

    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.

    • @matdabski
      @matdabski  4 года назад

      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.

  • @Sivyziom
    @Sivyziom 4 года назад

    zostawiam subskrypcje bo mi mocno pomogłeś :) miłego dnia!!

  • @BeatyLover
    @BeatyLover 4 года назад +1

    Mateusz mam ogromną prośbę, zrobiłbyś tutorialka jak łączyć recordy ze springjpa?

    • @matdabski
      @matdabski  4 года назад +1

      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 ;)

  • @joachimtworko4466
    @joachimtworko4466 4 года назад +1

    Cześć, pytanie czy można taki record przekształcić w encję? Dodając adnotację @Entity. Pozdrawiam

    • @matdabski
      @matdabski  4 года назад +2

      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ć.

    • @joachimtworko4466
      @joachimtworko4466 4 года назад +1

      @@matdabski Dzięki za wyczerpującą odpowiedź!

  • @2605mac
    @2605mac 4 года назад

    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.

    • @matdabski
      @matdabski  4 года назад

      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.

  • @2605mac
    @2605mac 4 года назад

    Czy programista javy powinien również znać jakiś jeszcze jeden język korzystający z maszyny wirtualnej javy np. Kotlin, Groovy albo Scala ?

    • @matdabski
      @matdabski  4 года назад +2

      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ń ;)

  • @gregk4483
    @gregk4483 4 года назад

    setery tez generuje?

    • @matdabski
      @matdabski  4 года назад +1

      Rekordy są niezmienne. Nie mają setterów.

    • @gregk4483
      @gregk4483 4 года назад

      @@matdabski ok, dzięki