{"id":10057,"date":"2021-11-02T14:48:38","date_gmt":"2021-11-02T13:48:38","guid":{"rendered":"https:\/\/vived.io\/jvm-tuesday-vol-62-reaktywny-hibernate-mnogosc-cache-i-pare-releaseow\/"},"modified":"2022-09-19T13:10:46","modified_gmt":"2022-09-19T11:10:46","slug":"jvm-tuesday-vol-62-reaktywny-hibernate-mnogosc-cache-i-pare-releaseow","status":"publish","type":"post","link":"https:\/\/vived.io\/pl\/jvm-tuesday-vol-62-reaktywny-hibernate-mnogosc-cache-i-pare-releaseow\/","title":{"rendered":"JVM Tuesday vol. 62 &#8211; Reaktywny Hibernate, mnogo\u015b\u0107 cache i par\u0119 release&#8217;\u00f3w"},"content":{"rendered":"\n<h2 id=\"1-reaktywny-hibernate-wydany\" data-num=1>1. Reaktywny Hibernate wydany \ud83d\ude34<\/h2>\n\n\n\n<p>Hibernate to jedna z tych technologii o kt\u00f3rych nie m\u00f3wi si\u0119 za wiele\u2026 chyba, \u017ce w kontek\u015bcie pyta\u0144 rekrutacyjnych o poziomach cache. Wci\u0105\u017c pojawia si\u0119 w masie projekt\u00f3w, ale mam wra\u017cenie, \u017ce od pewnego czasu nie jest ju\u017c takim oczywistym wyborem jak kiedy\u015b. ORMy s\u0105 wygodne, ale przez lata zyska\u0142y troch\u0119 z\u0142ej prasy (Object\u2013relational impedance mismatch, anyone?). Je\u017celi kto\u015b u\u017cywa Springa &#8211; to nawet je\u015bli w bebechach projektu znajduje si\u0119 Hibernate, to bardzo cz\u0119sto bywa przykryty przez abstrakcj\u0119&nbsp;Spring Data. Je\u017celi kto\u015b chce pozostawa\u0107 bli\u017cej bazy danych, pewnie pomy\u015bli o jOOQu (chyba \u017ce u\u017cywa Oracle, a nie chce p\u0142aci\u0107). Tutaj og\u00f3lnie mam wra\u017cenie, \u017ce ze wzgl\u0119du na to, \u017ce regularnie jako programi\u015bci u\u017cywamy r\u00f3\u017cnych baz danych, nie tylko SQL, nauczyli\u015bmy si\u0119 unika\u0107 dodatkowych abstrakcji. Dodatkowo, coraz cz\u0119\u015bciej u\u017cywamy w javowym \u015bwiecie reaktywnych technologii, z kt\u00f3rymi Hibernate kiepsko si\u0119 zgrywa\u0142 &#8211; i by\u0107 mo\u017ce tutaj te\u017c warto szuka\u0107 przyczyny.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/06\/img_62a8844bb0f88.gif\" alt=\"\" width=\"500\" height=\"219\"\/><figcaption>Pr\u00f3bowa\u0142em znale\u017a\u0107 jakie\u015b statystyki, kt\u00f3re udowodni\u0142y mi, \u017ce siedz\u0119 sobie w ba\u0144ce informacyjnej, ale niestety, tym razem mi si\u0119 nie uda\u0142o nic wygrzeba\u0107. Jak macie jakie\u015b por\u00f3wnanie popularno\u015bci narz\u0119dzi do po\u0142\u0105czenia z baz\u0105 danych &#8211; dajcie prosz\u0119 zna\u0107.<\/figcaption><\/figure><\/div>\n\n\n<p>Czasami pojawiaj\u0105 si\u0119 jednak dobre powody, \u017ceby o Hibernate wspomnie\u0107. Ot\u00f3\u017c w zesz\u0142ym tygodniu, premier\u0119 mia\u0142a jego \u201cdu\u017ca\u201d nowa edycja &#8211; przeznaczona w\u0142a\u015bnie do aplikacji reaktywnych. Hibernate Reactive 1.0.0, bo o niej tutaj mowa, mo\u017cna u\u017cywa\u0107 z PostgreSQL, MySQL, MariaDB, Db2, SQL Server, i CockroachDB i wspiera niemal wszystkie funkcjonalno\u015bci oryginalnego Hibernate ORM. Pod spodem za\u015b, Hibernate Reactive u\u017cywa nie blokuj\u0105cego SQLowego klienta dostarczanego przez Vert.x.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/06\/img_62a8844c675e7.gif\" alt=\"\"\/><figcaption>Bior\u0105c pod uwag\u0119, \u017ce to samo rozwi\u0105zanie \u201cukrad\u0142\u201d sobie Quarkus, Vert.x jawi mi si\u0119 jako ten zdolny, ale niekochany przez nikogo projekt, obecnie rozkradany na organy przez popularniejszych koleg\u00f3w.<\/figcaption><\/figure><\/div>\n\n\n<p>Hibernate nie jest oczywi\u015bcie pierwszym \u201creaktywnym\u201d rozwi\u0105zaniem dla bazy danych na JVMie &#8211; ich przegl\u0105d wymaga\u0142by jednak osobnego opracowania (kt\u00f3re by\u0107 mo\u017ce kiedy\u015b stworz\u0119?). To, co jego tw\u00f3rcy zrobili jednak bardzo dobrze, to opracowali przyst\u0119pny przewodnik&nbsp; z mas\u0105 statystyk, maj\u0105cy pokaza\u0107 sytuacje, kiedy tak naprawd\u0119 reaktywnego Hibernate warto u\u017cywa\u0107, a kiedy raczej pasuje da\u0107 sobie siana. Rzeczona reaktywno\u015b\u0107 to w ko\u0144cu nie jest jaki\u015b magiczny sos, kt\u00f3rym polewamy aplikacj\u0119, aby ta dzia\u0142a\u0142a szybciej &#8211; w zwi\u0105zku z czym sprawdza si\u0119 raczej w wy\u0142\u0105cznie w wybranych sytuacjach. Zawsze szanuj\u0119 tak\u0105 transparencj\u0119, dlatego Hibernate zyska\u0142 ode mnie za to dodatkowe punkty.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u0179r\u00f3d\u0142a<\/h3>\n\n\n\n<ul class=\"wp-block-list\"><li><a href=\"https:\/\/in.relation.to\/2021\/10\/27\/hibernate-reactive-1\/\">Hibernate Reactive 1.0.0.Final is now available<\/a><\/li><li><a href=\"https:\/\/in.relation.to\/2021\/10\/27\/hibernate-reactive-performance\/\">Hibernate Reactive: is it worth it?<\/a><\/li><\/ul>\n\n\n\n<h2 id=\"2-jak-wybrac-cache-do-javowego-projektu\" data-num=2>2. Jak wybra\u0107 cache do javowego projektu? \ud83e\udd14<\/h2>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/06\/img_62a8844cdfbc0.png\" alt=\"\"\/><figcaption>Damn&#8230; clever<\/figcaption><\/figure>\n\n\n\n<p>Je\u017celi chodzi o obs\u0142ug\u0119 warstwy persystencji, baza danych to tylko jedna strona medalu. W dzisiejszych czasach w zasadzie ka\u017cda aplikacja wymaga jakiej\u015b formy cache. Oczywi\u015bcie, to jest szalenie skomplikowany temat, ale je\u015bli zastanawiali\u015bcie si\u0119, jakie opcje mamy w wypadku takowej &#8211; mam dla Was fantastyczn\u0105 checklist\u0119.<\/p>\n\n\n\n<p>Nie raz powo\u0142ujemy si\u0119 w naszych wtorkach na publikacje Nicolasa Fr\u00e4nkela, gdy\u017c bierze si\u0119 on zwykle za ciekawe, nietuzinkowe tematy. Tym razem na warsztat wzi\u0105\u0142 w\u0142a\u015bnie temat javowego cache. O ile pierwsza cz\u0119\u015b\u0107 artyku\u0142u zaciekawi raczej pocz\u0105tkuj\u0105cych, gdy\u017c jest to bardzo bazowe przej\u015bcie przez zagadnienia zwi\u0105zane z teori\u0105 cache, o tyle druga b\u0119dzie ciekawa ju\u017c w zasadzie dla ka\u017cdego. Stanowi bowiem list\u0119 dostawc\u00f3w i bibliotek scharakteryzowanych nast\u0119puj\u0105cymi kategoriami jak lokalno\u015b\u0107\/rozproszono\u015b\u0107, nieblokowalno\u015b\u0107, obs\u0142uga JCache i Spring Cache oraz dost\u0119pnymi sposobami obs\u0142ugi \u201c\u015bwie\u017co\u015bci danych\u201d. Opracowanie natychmiast trafi\u0142o do mojej prywatnej kolekcji tekst\u00f3w W razie WU, a r\u00f3wnie\u017c Wam polecam sobie je gdzie\u015b przechowa\u0107. B\u0119dzie nieocenione, je\u015bli b\u0119dziecie musieli zdecydowa\u0107 si\u0119 na jakie\u015b konkretne rozwi\u0105zanie w projekcie i b\u0119dziecie chcieli podj\u0105\u0107 wyedukowan\u0105 decyzj\u0119.&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u0179r\u00f3d\u0142a<\/h3>\n\n\n\n<ul class=\"wp-block-list\"><li><a href=\"https:\/\/blog.frankel.ch\/choose-cache\/1\/\">Choosing a cache<\/a><\/li><li><a href=\"https:\/\/blog.frankel.ch\/choose-cache\/2\/\">A list of cache providers<\/a><\/li><\/ul>\n\n\n\n<h2 id=\"3-release-radar\" data-num=3>3. Release Radar \ud83d\udce1<\/h2>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/06\/img_62a8844d5bfc3.gif\" alt=\"\"\/><\/figure><\/div>\n\n\n<p><strong>Grails 5<\/strong><\/p>\n\n\n\n<p>Premiera Grails przesz\u0142a troch\u0119 pod naszym radarem, ale musicie nam to wybaczy\u0107 &#8211; ja naprawd\u0119 nie spodziewa\u0142em si\u0119, \u017ce to jeszcze oddycha &#8211; aczkolwiek bardzo podobnie mam z wszystkimi projektami opartymi o Groovy. Nowa wersja Grails\u00f3w to w\u0142a\u015bnie wsparcie dla nowej wersji j\u0119zyka wi\u0119c sporo rzeczy dzieje si\u0119 pod mask\u0105. Ca\u0142e wydanie robi te\u017c upgrade do najnowszej dost\u0119pnej wersji Springa. Je\u017celi chodzi o zmiany funkcjonalne, najwi\u0119ksza ilo\u015b\u0107 z nich dotyczy mocnego przeorania plugin\u00f3w Gradlowych.<br><br>Je\u017celi <a href=\"https:\/\/www.infoq.com\/news\/2021\/10\/grails-5-released\/\">jeste\u015bcie zainteresowani Grailsami<\/a> (kt\u00f3rymi nie s\u0105 zainteresowani ju\u017c nawet oryginalni tw\u00f3rcy, grzebi\u0105cy aktualnie mocno w Micronaucie) &#8211; wi\u0119cej detali znajdziecie tutaj.<\/p>\n\n\n\n<p><strong>Java on Visual Studio Code<\/strong><\/p>\n\n\n\n<p>Wa\u017cne nowo\u015bci przynosi te\u017c w swoim <a href=\"https:\/\/devblogs.microsoft.com\/java\/java-on-visual-studio-code-update-september-2021\/\">wrze\u015bniowym<\/a> (wydanym 29 pa\u017adziernika \ud83e\udd37\u200d\u2642\ufe0f) update wsparcie Javy w Visual Studio Code (u\u017cywacie?). Przede wszystkim, ukaza\u0142a si\u0119 stabilna wersja \u201cbackendu\u201d ca\u0142o\u015bci, czyli utrzymywanego przez Red Hata parsera javowego kodu, kt\u00f3ry od teraz wspiera min. nowy syntax Javy a\u017c do wersji 17. Opr\u00f3cz tego, sporo zmian zasz\u0142o we wsparciu Gradle.&nbsp;<\/p>\n\n\n\n<p><strong>Quarkus 2.4<\/strong><\/p>\n\n\n\n<p><a href=\"https:\/\/quarkus.io\/blog\/quarkus-2-4-0-final-released\/\">Nowy Quarkus<\/a> przynosi min. wsparcie dla g\u0142\u00f3wnej gwiazdy naszego wydania &#8211; Hibernate Reactive 1.0.0. To jednak nie wszystko. Opr\u00f3cz tego w nowym wydaniu znajdziecie tak\u017ce wsparcie dla ci\u0105g\u0142ego testowania w multi modu\u0142owych projektach, ale r\u00f3wnie\u017c nowy wizualizer dla Kafka Streams.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">A teraz zapraszamy na reklamy:<\/h4>\n\n\n\n<p>Jeste\u015bmy podekscytowani mog\u0105c Was wreszcie poinformowa\u0107 o naszym nowym projekcie \ud83e\udd29. <\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/06\/1f036s.jpg\" alt=\"Podcast Enthusiast - HawkTalk\"\/><\/figure><\/div>\n\n\n<p>Wraz z <a href=\"https:\/\/earbornemedia.com\/\">Earborne Media<\/a> stworzyli\u015bmy bowiem Podcast <strong>Root Cause by Vived<\/strong>, kt\u00f3rego odcinki w ka\u017cdy pi\u0105tek znajdziecie <a href=\"https:\/\/anchor.fm\/vived\">w dobrych aplikacjach Podcastowych<\/a>.<\/p>\n\n\n\n<figure class=\"wp-block-audio\"><audio controls src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/10\/trailer-vived_mixdown.mp3\"><\/audio><figcaption>Zapraszamy do ods\u0142uchania zapowiedzi w formie audio &#8211; poczujecie klimat \ud83d\ude80<\/figcaption><\/figure>\n\n\n\n<p><strong>A poni\u017cej &#8211; pierwszy odcinek:<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"536\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/10\/ep1-grafika-1024x536.png\" alt=\"\" class=\"wp-image-2870\" srcset=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/10\/ep1-grafika-1024x536.png 1024w, https:\/\/vived.io\/wp-content\/uploads\/2021\/10\/ep1-grafika-300x157.png 300w, https:\/\/vived.io\/wp-content\/uploads\/2021\/10\/ep1-grafika-768x402.png 768w, https:\/\/vived.io\/wp-content\/uploads\/2021\/10\/ep1-grafika.png 1200w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p>Dyskusja o pieni\u0105dzach w \u015bwiecie IT wydaje si\u0119 nie mie\u0107 ko\u0144ca. Sk\u0105d to si\u0119 w\u0142a\u015bciwie bierze? Czy mo\u017cna zarabia\u0107 za du\u017co? O co chodzi z czynnikiem higienicznym? I czy problem z r\u00f3\u017cnicami wynagrodze\u0144 programist\u00f3w to tylko polskie zjawisko? Mi\u0119dzy innymi o tym opowiedz\u0105 w tym odcinku Piotr Janczyk, \u0141ukasz Ma\u0142ocha i Artur Skowro\u0144ski.<\/p><\/blockquote>\n\n\n\n<figure class=\"wp-block-embed is-type-rich is-provider-spotify wp-block-embed-spotify wp-embed-aspect-21-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe title=\"Spotify Embed: #1 O wynagrodzeniach w IT - czy s\u0105 zbyt wysokie i co zrobi\u0107, by Twoje by\u0142o jeszcze wy\u017csze?\" style=\"border-radius: 12px\" width=\"100%\" height=\"152\" frameborder=\"0\" allowfullscreen allow=\"autoplay; clipboard-write; encrypted-media; fullscreen; picture-in-picture\" loading=\"lazy\" src=\"https:\/\/open.spotify.com\/embed\/episode\/6ET3qNipzS8oz0oizJWEKQ?utm_source=oembed\"><\/iframe>\n<\/div><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>W dniu dzisiejszym mamy dla Was Reaktywnego Hibernate, rewelacyjny przegl\u0105d Javowych cache, a tak\u017ce kilka pomniejszych (ale interesuj\u0105cych) releas\u00f3w. Zapraszamy do lektury!<\/p>\n","protected":false},"author":10,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[259],"tags":[],"class_list":["post-10057","post","type-post","status-publish","format-standard","hentry","category-jvm-pl"],"acf":{"estimated_reading_time":"4","weekly_summary":true,"feature_image_visible":false,"feature_image_blog":false,"push_notification_image":false},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.0 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>JVM Tuesday vol. 62 - Reaktywny Hibernate, mnogo\u015b\u0107 cache i par\u0119 release&#039;\u00f3w - Vived<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/vived.io\/pl\/jvm-tuesday-vol-62-reaktywny-hibernate-mnogosc-cache-i-pare-releaseow\/\" \/>\n<meta property=\"og:locale\" content=\"pl_PL\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"JVM Tuesday vol. 62 - Reaktywny Hibernate, mnogo\u015b\u0107 cache i par\u0119 release&#039;\u00f3w - Vived\" \/>\n<meta property=\"og:description\" content=\"W dniu dzisiejszym mamy dla Was Reaktywnego Hibernate, rewelacyjny przegl\u0105d Javowych cache, a tak\u017ce kilka pomniejszych (ale interesuj\u0105cych) releas\u00f3w. Zapraszamy do lektury!\" \/>\n<meta property=\"og:url\" content=\"https:\/\/vived.io\/pl\/jvm-tuesday-vol-62-reaktywny-hibernate-mnogosc-cache-i-pare-releaseow\/\" \/>\n<meta property=\"og:site_name\" content=\"Vived\" \/>\n<meta property=\"article:published_time\" content=\"2021-11-02T13:48:38+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-09-19T11:10:46+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/11\/Screenshot-2021-11-02-at-14.44.59.png\" \/>\n\t<meta property=\"og:image:width\" content=\"2394\" \/>\n\t<meta property=\"og:image:height\" content=\"1248\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Artur Skowro\u0144ski\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/vived.io\/pl\/jvm-tuesday-vol-62-reaktywny-hibernate-mnogosc-cache-i-pare-releaseow\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/vived.io\/pl\/jvm-tuesday-vol-62-reaktywny-hibernate-mnogosc-cache-i-pare-releaseow\/\"},\"author\":{\"name\":\"Artur Skowro\u0144ski\",\"@id\":\"https:\/\/vived.io\/pl\/#\/schema\/person\/0eb0878110cb27edfbfe46e841fe6db3\"},\"headline\":\"JVM Tuesday vol. 62 &#8211; Reaktywny Hibernate, mnogo\u015b\u0107 cache i par\u0119 release&#8217;\u00f3w\",\"datePublished\":\"2021-11-02T13:48:38+00:00\",\"dateModified\":\"2022-09-19T11:10:46+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/vived.io\/pl\/jvm-tuesday-vol-62-reaktywny-hibernate-mnogosc-cache-i-pare-releaseow\/\"},\"wordCount\":1066,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/vived.io\/pl\/#organization\"},\"image\":{\"@id\":\"https:\/\/vived.io\/pl\/jvm-tuesday-vol-62-reaktywny-hibernate-mnogosc-cache-i-pare-releaseow\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/vived.io\/wp-content\/uploads\/2022\/06\/img_62a8844bb0f88.gif\",\"articleSection\":[\"JVM\"],\"inLanguage\":\"pl-PL\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/vived.io\/pl\/jvm-tuesday-vol-62-reaktywny-hibernate-mnogosc-cache-i-pare-releaseow\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/vived.io\/pl\/jvm-tuesday-vol-62-reaktywny-hibernate-mnogosc-cache-i-pare-releaseow\/\",\"url\":\"https:\/\/vived.io\/pl\/jvm-tuesday-vol-62-reaktywny-hibernate-mnogosc-cache-i-pare-releaseow\/\",\"name\":\"JVM Tuesday vol. 62 - Reaktywny Hibernate, mnogo\u015b\u0107 cache i par\u0119 release'\u00f3w - Vived\",\"isPartOf\":{\"@id\":\"https:\/\/vived.io\/pl\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/vived.io\/pl\/jvm-tuesday-vol-62-reaktywny-hibernate-mnogosc-cache-i-pare-releaseow\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/vived.io\/pl\/jvm-tuesday-vol-62-reaktywny-hibernate-mnogosc-cache-i-pare-releaseow\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/vived.io\/wp-content\/uploads\/2022\/06\/img_62a8844bb0f88.gif\",\"datePublished\":\"2021-11-02T13:48:38+00:00\",\"dateModified\":\"2022-09-19T11:10:46+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/vived.io\/pl\/jvm-tuesday-vol-62-reaktywny-hibernate-mnogosc-cache-i-pare-releaseow\/#breadcrumb\"},\"inLanguage\":\"pl-PL\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/vived.io\/pl\/jvm-tuesday-vol-62-reaktywny-hibernate-mnogosc-cache-i-pare-releaseow\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\/\/vived.io\/pl\/jvm-tuesday-vol-62-reaktywny-hibernate-mnogosc-cache-i-pare-releaseow\/#primaryimage\",\"url\":\"https:\/\/vived.io\/wp-content\/uploads\/2022\/06\/img_62a8844bb0f88.gif\",\"contentUrl\":\"https:\/\/vived.io\/wp-content\/uploads\/2022\/06\/img_62a8844bb0f88.gif\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/vived.io\/pl\/jvm-tuesday-vol-62-reaktywny-hibernate-mnogosc-cache-i-pare-releaseow\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Strona g\u0142\u00f3wna\",\"item\":\"https:\/\/vived.io\/pl\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"JVM Tuesday vol. 62 &#8211; Reaktywny Hibernate, mnogo\u015b\u0107 cache i par\u0119 release&#8217;\u00f3w\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/vived.io\/pl\/#website\",\"url\":\"https:\/\/vived.io\/pl\/\",\"name\":\"Vived\",\"description\":\"platform empowering IT people and technology companies to synergic growth\",\"publisher\":{\"@id\":\"https:\/\/vived.io\/pl\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/vived.io\/pl\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pl-PL\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/vived.io\/pl\/#organization\",\"name\":\"Vived\",\"url\":\"https:\/\/vived.io\/pl\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\/\/vived.io\/pl\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/vived.io\/wp-content\/uploads\/2020\/03\/logo_vived_color.png\",\"contentUrl\":\"https:\/\/vived.io\/wp-content\/uploads\/2020\/03\/logo_vived_color.png\",\"width\":136,\"height\":45,\"caption\":\"Vived\"},\"image\":{\"@id\":\"https:\/\/vived.io\/pl\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/vived.io\/pl\/#\/schema\/person\/0eb0878110cb27edfbfe46e841fe6db3\",\"name\":\"Artur Skowro\u0144ski\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\/\/vived.io\/pl\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/29055786486c8b9dc1507f2744221c5bdb8d7ef6e6217ced0326dd3296aea6ed?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/29055786486c8b9dc1507f2744221c5bdb8d7ef6e6217ced0326dd3296aea6ed?s=96&d=mm&r=g\",\"caption\":\"Artur Skowro\u0144ski\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"JVM Tuesday vol. 62 - Reaktywny Hibernate, mnogo\u015b\u0107 cache i par\u0119 release'\u00f3w - Vived","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/vived.io\/pl\/jvm-tuesday-vol-62-reaktywny-hibernate-mnogosc-cache-i-pare-releaseow\/","og_locale":"pl_PL","og_type":"article","og_title":"JVM Tuesday vol. 62 - Reaktywny Hibernate, mnogo\u015b\u0107 cache i par\u0119 release'\u00f3w - Vived","og_description":"W dniu dzisiejszym mamy dla Was Reaktywnego Hibernate, rewelacyjny przegl\u0105d Javowych cache, a tak\u017ce kilka pomniejszych (ale interesuj\u0105cych) releas\u00f3w. Zapraszamy do lektury!","og_url":"https:\/\/vived.io\/pl\/jvm-tuesday-vol-62-reaktywny-hibernate-mnogosc-cache-i-pare-releaseow\/","og_site_name":"Vived","article_published_time":"2021-11-02T13:48:38+00:00","article_modified_time":"2022-09-19T11:10:46+00:00","og_image":[{"width":2394,"height":1248,"url":"https:\/\/vived.io\/wp-content\/uploads\/2021\/11\/Screenshot-2021-11-02-at-14.44.59.png","type":"image\/png"}],"author":"Artur Skowro\u0144ski","twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/vived.io\/pl\/jvm-tuesday-vol-62-reaktywny-hibernate-mnogosc-cache-i-pare-releaseow\/#article","isPartOf":{"@id":"https:\/\/vived.io\/pl\/jvm-tuesday-vol-62-reaktywny-hibernate-mnogosc-cache-i-pare-releaseow\/"},"author":{"name":"Artur Skowro\u0144ski","@id":"https:\/\/vived.io\/pl\/#\/schema\/person\/0eb0878110cb27edfbfe46e841fe6db3"},"headline":"JVM Tuesday vol. 62 &#8211; Reaktywny Hibernate, mnogo\u015b\u0107 cache i par\u0119 release&#8217;\u00f3w","datePublished":"2021-11-02T13:48:38+00:00","dateModified":"2022-09-19T11:10:46+00:00","mainEntityOfPage":{"@id":"https:\/\/vived.io\/pl\/jvm-tuesday-vol-62-reaktywny-hibernate-mnogosc-cache-i-pare-releaseow\/"},"wordCount":1066,"commentCount":0,"publisher":{"@id":"https:\/\/vived.io\/pl\/#organization"},"image":{"@id":"https:\/\/vived.io\/pl\/jvm-tuesday-vol-62-reaktywny-hibernate-mnogosc-cache-i-pare-releaseow\/#primaryimage"},"thumbnailUrl":"https:\/\/vived.io\/wp-content\/uploads\/2022\/06\/img_62a8844bb0f88.gif","articleSection":["JVM"],"inLanguage":"pl-PL","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/vived.io\/pl\/jvm-tuesday-vol-62-reaktywny-hibernate-mnogosc-cache-i-pare-releaseow\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/vived.io\/pl\/jvm-tuesday-vol-62-reaktywny-hibernate-mnogosc-cache-i-pare-releaseow\/","url":"https:\/\/vived.io\/pl\/jvm-tuesday-vol-62-reaktywny-hibernate-mnogosc-cache-i-pare-releaseow\/","name":"JVM Tuesday vol. 62 - Reaktywny Hibernate, mnogo\u015b\u0107 cache i par\u0119 release'\u00f3w - Vived","isPartOf":{"@id":"https:\/\/vived.io\/pl\/#website"},"primaryImageOfPage":{"@id":"https:\/\/vived.io\/pl\/jvm-tuesday-vol-62-reaktywny-hibernate-mnogosc-cache-i-pare-releaseow\/#primaryimage"},"image":{"@id":"https:\/\/vived.io\/pl\/jvm-tuesday-vol-62-reaktywny-hibernate-mnogosc-cache-i-pare-releaseow\/#primaryimage"},"thumbnailUrl":"https:\/\/vived.io\/wp-content\/uploads\/2022\/06\/img_62a8844bb0f88.gif","datePublished":"2021-11-02T13:48:38+00:00","dateModified":"2022-09-19T11:10:46+00:00","breadcrumb":{"@id":"https:\/\/vived.io\/pl\/jvm-tuesday-vol-62-reaktywny-hibernate-mnogosc-cache-i-pare-releaseow\/#breadcrumb"},"inLanguage":"pl-PL","potentialAction":[{"@type":"ReadAction","target":["https:\/\/vived.io\/pl\/jvm-tuesday-vol-62-reaktywny-hibernate-mnogosc-cache-i-pare-releaseow\/"]}]},{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/vived.io\/pl\/jvm-tuesday-vol-62-reaktywny-hibernate-mnogosc-cache-i-pare-releaseow\/#primaryimage","url":"https:\/\/vived.io\/wp-content\/uploads\/2022\/06\/img_62a8844bb0f88.gif","contentUrl":"https:\/\/vived.io\/wp-content\/uploads\/2022\/06\/img_62a8844bb0f88.gif"},{"@type":"BreadcrumbList","@id":"https:\/\/vived.io\/pl\/jvm-tuesday-vol-62-reaktywny-hibernate-mnogosc-cache-i-pare-releaseow\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Strona g\u0142\u00f3wna","item":"https:\/\/vived.io\/pl\/"},{"@type":"ListItem","position":2,"name":"JVM Tuesday vol. 62 &#8211; Reaktywny Hibernate, mnogo\u015b\u0107 cache i par\u0119 release&#8217;\u00f3w"}]},{"@type":"WebSite","@id":"https:\/\/vived.io\/pl\/#website","url":"https:\/\/vived.io\/pl\/","name":"Vived","description":"platform empowering IT people and technology companies to synergic growth","publisher":{"@id":"https:\/\/vived.io\/pl\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/vived.io\/pl\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pl-PL"},{"@type":"Organization","@id":"https:\/\/vived.io\/pl\/#organization","name":"Vived","url":"https:\/\/vived.io\/pl\/","logo":{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/vived.io\/pl\/#\/schema\/logo\/image\/","url":"https:\/\/vived.io\/wp-content\/uploads\/2020\/03\/logo_vived_color.png","contentUrl":"https:\/\/vived.io\/wp-content\/uploads\/2020\/03\/logo_vived_color.png","width":136,"height":45,"caption":"Vived"},"image":{"@id":"https:\/\/vived.io\/pl\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/vived.io\/pl\/#\/schema\/person\/0eb0878110cb27edfbfe46e841fe6db3","name":"Artur Skowro\u0144ski","image":{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/vived.io\/pl\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/29055786486c8b9dc1507f2744221c5bdb8d7ef6e6217ced0326dd3296aea6ed?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/29055786486c8b9dc1507f2744221c5bdb8d7ef6e6217ced0326dd3296aea6ed?s=96&d=mm&r=g","caption":"Artur Skowro\u0144ski"}}]}},"blocks_vived":[{"blockName":"core\/heading","attrs":[],"innerBlocks":[],"innerHTML":"\n<h2>1. Reaktywny Hibernate wydany \ud83d\ude34<\/h2>\n","innerContent":["\n<h2>1. Reaktywny Hibernate wydany \ud83d\ude34<\/h2>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Hibernate to jedna z tych technologii o kt\u00f3rych nie m\u00f3wi si\u0119 za wiele\u2026 chyba, \u017ce w kontek\u015bcie pyta\u0144 rekrutacyjnych o poziomach cache. Wci\u0105\u017c pojawia si\u0119 w masie projekt\u00f3w, ale mam wra\u017cenie, \u017ce od pewnego czasu nie jest ju\u017c takim oczywistym wyborem jak kiedy\u015b. ORMy s\u0105 wygodne, ale przez lata zyska\u0142y troch\u0119 z\u0142ej prasy (Object\u2013relational impedance mismatch, anyone?). Je\u017celi kto\u015b u\u017cywa Springa - to nawet je\u015bli w bebechach projektu znajduje si\u0119 Hibernate, to bardzo cz\u0119sto bywa przykryty przez abstrakcj\u0119&nbsp;Spring Data. Je\u017celi kto\u015b chce pozostawa\u0107 bli\u017cej bazy danych, pewnie pomy\u015bli o jOOQu (chyba \u017ce u\u017cywa Oracle, a nie chce p\u0142aci\u0107). Tutaj og\u00f3lnie mam wra\u017cenie, \u017ce ze wzgl\u0119du na to, \u017ce regularnie jako programi\u015bci u\u017cywamy r\u00f3\u017cnych baz danych, nie tylko SQL, nauczyli\u015bmy si\u0119 unika\u0107 dodatkowych abstrakcji. Dodatkowo, coraz cz\u0119\u015bciej u\u017cywamy w javowym \u015bwiecie reaktywnych technologii, z kt\u00f3rymi Hibernate kiepsko si\u0119 zgrywa\u0142 - i by\u0107 mo\u017ce tutaj te\u017c warto szuka\u0107 przyczyny.<\/p>\n","innerContent":["\n<p>Hibernate to jedna z tych technologii o kt\u00f3rych nie m\u00f3wi si\u0119 za wiele\u2026 chyba, \u017ce w kontek\u015bcie pyta\u0144 rekrutacyjnych o poziomach cache. Wci\u0105\u017c pojawia si\u0119 w masie projekt\u00f3w, ale mam wra\u017cenie, \u017ce od pewnego czasu nie jest ju\u017c takim oczywistym wyborem jak kiedy\u015b. ORMy s\u0105 wygodne, ale przez lata zyska\u0142y troch\u0119 z\u0142ej prasy (Object\u2013relational impedance mismatch, anyone?). Je\u017celi kto\u015b u\u017cywa Springa - to nawet je\u015bli w bebechach projektu znajduje si\u0119 Hibernate, to bardzo cz\u0119sto bywa przykryty przez abstrakcj\u0119&nbsp;Spring Data. Je\u017celi kto\u015b chce pozostawa\u0107 bli\u017cej bazy danych, pewnie pomy\u015bli o jOOQu (chyba \u017ce u\u017cywa Oracle, a nie chce p\u0142aci\u0107). Tutaj og\u00f3lnie mam wra\u017cenie, \u017ce ze wzgl\u0119du na to, \u017ce regularnie jako programi\u015bci u\u017cywamy r\u00f3\u017cnych baz danych, nie tylko SQL, nauczyli\u015bmy si\u0119 unika\u0107 dodatkowych abstrakcji. Dodatkowo, coraz cz\u0119\u015bciej u\u017cywamy w javowym \u015bwiecie reaktywnych technologii, z kt\u00f3rymi Hibernate kiepsko si\u0119 zgrywa\u0142 - i by\u0107 mo\u017ce tutaj te\u017c warto szuka\u0107 przyczyny.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/image","attrs":{"align":"center","width":500,"height":219},"innerBlocks":[],"innerHTML":"\n<figure class=\"wp-block-image aligncenter is-resized\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/06\/img_62a8844bb0f88.gif\" alt=\"\" width=\"500\" height=\"219\"\/><figcaption>Pr\u00f3bowa\u0142em znale\u017a\u0107 jakie\u015b statystyki, kt\u00f3re udowodni\u0142y mi, \u017ce siedz\u0119 sobie w ba\u0144ce informacyjnej, ale niestety, tym razem mi si\u0119 nie uda\u0142o nic wygrzeba\u0107. Jak macie jakie\u015b por\u00f3wnanie popularno\u015bci narz\u0119dzi do po\u0142\u0105czenia z baz\u0105 danych - dajcie prosz\u0119 zna\u0107.<\/figcaption><\/figure>\n","innerContent":["\n<figure class=\"wp-block-image aligncenter is-resized\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/06\/img_62a8844bb0f88.gif\" alt=\"\" width=\"500\" height=\"219\"\/><figcaption>Pr\u00f3bowa\u0142em znale\u017a\u0107 jakie\u015b statystyki, kt\u00f3re udowodni\u0142y mi, \u017ce siedz\u0119 sobie w ba\u0144ce informacyjnej, ale niestety, tym razem mi si\u0119 nie uda\u0142o nic wygrzeba\u0107. Jak macie jakie\u015b por\u00f3wnanie popularno\u015bci narz\u0119dzi do po\u0142\u0105czenia z baz\u0105 danych - dajcie prosz\u0119 zna\u0107.<\/figcaption><\/figure>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Czasami pojawiaj\u0105 si\u0119 jednak dobre powody, \u017ceby o Hibernate wspomnie\u0107. Ot\u00f3\u017c w zesz\u0142ym tygodniu, premier\u0119 mia\u0142a jego \u201cdu\u017ca\u201d nowa edycja - przeznaczona w\u0142a\u015bnie do aplikacji reaktywnych. Hibernate Reactive 1.0.0, bo o niej tutaj mowa, mo\u017cna u\u017cywa\u0107 z PostgreSQL, MySQL, MariaDB, Db2, SQL Server, i CockroachDB i wspiera niemal wszystkie funkcjonalno\u015bci oryginalnego Hibernate ORM. Pod spodem za\u015b, Hibernate Reactive u\u017cywa nie blokuj\u0105cego SQLowego klienta dostarczanego przez Vert.x.<\/p>\n","innerContent":["\n<p>Czasami pojawiaj\u0105 si\u0119 jednak dobre powody, \u017ceby o Hibernate wspomnie\u0107. Ot\u00f3\u017c w zesz\u0142ym tygodniu, premier\u0119 mia\u0142a jego \u201cdu\u017ca\u201d nowa edycja - przeznaczona w\u0142a\u015bnie do aplikacji reaktywnych. Hibernate Reactive 1.0.0, bo o niej tutaj mowa, mo\u017cna u\u017cywa\u0107 z PostgreSQL, MySQL, MariaDB, Db2, SQL Server, i CockroachDB i wspiera niemal wszystkie funkcjonalno\u015bci oryginalnego Hibernate ORM. Pod spodem za\u015b, Hibernate Reactive u\u017cywa nie blokuj\u0105cego SQLowego klienta dostarczanego przez Vert.x.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/image","attrs":{"align":"center"},"innerBlocks":[],"innerHTML":"\n<figure class=\"wp-block-image aligncenter\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/06\/img_62a8844c675e7.gif\" alt=\"\"\/><figcaption>Bior\u0105c pod uwag\u0119, \u017ce to samo rozwi\u0105zanie \u201cukrad\u0142\u201d sobie Quarkus, Vert.x jawi mi si\u0119 jako ten zdolny, ale niekochany przez nikogo projekt, obecnie rozkradany na organy przez popularniejszych koleg\u00f3w.<\/figcaption><\/figure>\n","innerContent":["\n<figure class=\"wp-block-image aligncenter\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/06\/img_62a8844c675e7.gif\" alt=\"\"\/><figcaption>Bior\u0105c pod uwag\u0119, \u017ce to samo rozwi\u0105zanie \u201cukrad\u0142\u201d sobie Quarkus, Vert.x jawi mi si\u0119 jako ten zdolny, ale niekochany przez nikogo projekt, obecnie rozkradany na organy przez popularniejszych koleg\u00f3w.<\/figcaption><\/figure>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Hibernate nie jest oczywi\u015bcie pierwszym \u201creaktywnym\u201d rozwi\u0105zaniem dla bazy danych na JVMie - ich przegl\u0105d wymaga\u0142by jednak osobnego opracowania (kt\u00f3re by\u0107 mo\u017ce kiedy\u015b stworz\u0119?). To, co jego tw\u00f3rcy zrobili jednak bardzo dobrze, to opracowali przyst\u0119pny przewodnik&nbsp; z mas\u0105 statystyk, maj\u0105cy pokaza\u0107 sytuacje, kiedy tak naprawd\u0119 reaktywnego Hibernate warto u\u017cywa\u0107, a kiedy raczej pasuje da\u0107 sobie siana. Rzeczona reaktywno\u015b\u0107 to w ko\u0144cu nie jest jaki\u015b magiczny sos, kt\u00f3rym polewamy aplikacj\u0119, aby ta dzia\u0142a\u0142a szybciej - w zwi\u0105zku z czym sprawdza si\u0119 raczej w wy\u0142\u0105cznie w wybranych sytuacjach. Zawsze szanuj\u0119 tak\u0105 transparencj\u0119, dlatego Hibernate zyska\u0142 ode mnie za to dodatkowe punkty.<\/p>\n","innerContent":["\n<p>Hibernate nie jest oczywi\u015bcie pierwszym \u201creaktywnym\u201d rozwi\u0105zaniem dla bazy danych na JVMie - ich przegl\u0105d wymaga\u0142by jednak osobnego opracowania (kt\u00f3re by\u0107 mo\u017ce kiedy\u015b stworz\u0119?). To, co jego tw\u00f3rcy zrobili jednak bardzo dobrze, to opracowali przyst\u0119pny przewodnik&nbsp; z mas\u0105 statystyk, maj\u0105cy pokaza\u0107 sytuacje, kiedy tak naprawd\u0119 reaktywnego Hibernate warto u\u017cywa\u0107, a kiedy raczej pasuje da\u0107 sobie siana. Rzeczona reaktywno\u015b\u0107 to w ko\u0144cu nie jest jaki\u015b magiczny sos, kt\u00f3rym polewamy aplikacj\u0119, aby ta dzia\u0142a\u0142a szybciej - w zwi\u0105zku z czym sprawdza si\u0119 raczej w wy\u0142\u0105cznie w wybranych sytuacjach. Zawsze szanuj\u0119 tak\u0105 transparencj\u0119, dlatego Hibernate zyska\u0142 ode mnie za to dodatkowe punkty.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/heading","attrs":{"level":3},"innerBlocks":[],"innerHTML":"\n<h3>\u0179r\u00f3d\u0142a<\/h3>\n","innerContent":["\n<h3>\u0179r\u00f3d\u0142a<\/h3>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/list","attrs":[],"innerBlocks":[],"innerHTML":"\n<ul><li><a href=\"https:\/\/in.relation.to\/2021\/10\/27\/hibernate-reactive-1\/\">Hibernate Reactive 1.0.0.Final is now available<\/a><\/li><li><a href=\"https:\/\/in.relation.to\/2021\/10\/27\/hibernate-reactive-performance\/\">Hibernate Reactive: is it worth it?<\/a><\/li><\/ul>\n","innerContent":["\n<ul><li><a href=\"https:\/\/in.relation.to\/2021\/10\/27\/hibernate-reactive-1\/\">Hibernate Reactive 1.0.0.Final is now available<\/a><\/li><li><a href=\"https:\/\/in.relation.to\/2021\/10\/27\/hibernate-reactive-performance\/\">Hibernate Reactive: is it worth it?<\/a><\/li><\/ul>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/heading","attrs":[],"innerBlocks":[],"innerHTML":"\n<h2>2. Jak wybra\u0107 cache do javowego projektu? \ud83e\udd14<\/h2>\n","innerContent":["\n<h2>2. Jak wybra\u0107 cache do javowego projektu? \ud83e\udd14<\/h2>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/image","attrs":[],"innerBlocks":[],"innerHTML":"\n<figure class=\"wp-block-image\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/06\/img_62a8844cdfbc0.png\" alt=\"\"\/><figcaption>Damn... clever<\/figcaption><\/figure>\n","innerContent":["\n<figure class=\"wp-block-image\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/06\/img_62a8844cdfbc0.png\" alt=\"\"\/><figcaption>Damn... clever<\/figcaption><\/figure>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Je\u017celi chodzi o obs\u0142ug\u0119 warstwy persystencji, baza danych to tylko jedna strona medalu. W dzisiejszych czasach w zasadzie ka\u017cda aplikacja wymaga jakiej\u015b formy cache. Oczywi\u015bcie, to jest szalenie skomplikowany temat, ale je\u015bli zastanawiali\u015bcie si\u0119, jakie opcje mamy w wypadku takowej - mam dla Was fantastyczn\u0105 checklist\u0119.<\/p>\n","innerContent":["\n<p>Je\u017celi chodzi o obs\u0142ug\u0119 warstwy persystencji, baza danych to tylko jedna strona medalu. W dzisiejszych czasach w zasadzie ka\u017cda aplikacja wymaga jakiej\u015b formy cache. Oczywi\u015bcie, to jest szalenie skomplikowany temat, ale je\u015bli zastanawiali\u015bcie si\u0119, jakie opcje mamy w wypadku takowej - mam dla Was fantastyczn\u0105 checklist\u0119.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Nie raz powo\u0142ujemy si\u0119 w naszych wtorkach na publikacje Nicolasa Fr\u00e4nkela, gdy\u017c bierze si\u0119 on zwykle za ciekawe, nietuzinkowe tematy. Tym razem na warsztat wzi\u0105\u0142 w\u0142a\u015bnie temat javowego cache. O ile pierwsza cz\u0119\u015b\u0107 artyku\u0142u zaciekawi raczej pocz\u0105tkuj\u0105cych, gdy\u017c jest to bardzo bazowe przej\u015bcie przez zagadnienia zwi\u0105zane z teori\u0105 cache, o tyle druga b\u0119dzie ciekawa ju\u017c w zasadzie dla ka\u017cdego. Stanowi bowiem list\u0119 dostawc\u00f3w i bibliotek scharakteryzowanych nast\u0119puj\u0105cymi kategoriami jak lokalno\u015b\u0107\/rozproszono\u015b\u0107, nieblokowalno\u015b\u0107, obs\u0142uga JCache i Spring Cache oraz dost\u0119pnymi sposobami obs\u0142ugi \u201c\u015bwie\u017co\u015bci danych\u201d. Opracowanie natychmiast trafi\u0142o do mojej prywatnej kolekcji tekst\u00f3w W razie WU, a r\u00f3wnie\u017c Wam polecam sobie je gdzie\u015b przechowa\u0107. B\u0119dzie nieocenione, je\u015bli b\u0119dziecie musieli zdecydowa\u0107 si\u0119 na jakie\u015b konkretne rozwi\u0105zanie w projekcie i b\u0119dziecie chcieli podj\u0105\u0107 wyedukowan\u0105 decyzj\u0119.&nbsp;<\/p>\n","innerContent":["\n<p>Nie raz powo\u0142ujemy si\u0119 w naszych wtorkach na publikacje Nicolasa Fr\u00e4nkela, gdy\u017c bierze si\u0119 on zwykle za ciekawe, nietuzinkowe tematy. Tym razem na warsztat wzi\u0105\u0142 w\u0142a\u015bnie temat javowego cache. O ile pierwsza cz\u0119\u015b\u0107 artyku\u0142u zaciekawi raczej pocz\u0105tkuj\u0105cych, gdy\u017c jest to bardzo bazowe przej\u015bcie przez zagadnienia zwi\u0105zane z teori\u0105 cache, o tyle druga b\u0119dzie ciekawa ju\u017c w zasadzie dla ka\u017cdego. Stanowi bowiem list\u0119 dostawc\u00f3w i bibliotek scharakteryzowanych nast\u0119puj\u0105cymi kategoriami jak lokalno\u015b\u0107\/rozproszono\u015b\u0107, nieblokowalno\u015b\u0107, obs\u0142uga JCache i Spring Cache oraz dost\u0119pnymi sposobami obs\u0142ugi \u201c\u015bwie\u017co\u015bci danych\u201d. Opracowanie natychmiast trafi\u0142o do mojej prywatnej kolekcji tekst\u00f3w W razie WU, a r\u00f3wnie\u017c Wam polecam sobie je gdzie\u015b przechowa\u0107. B\u0119dzie nieocenione, je\u015bli b\u0119dziecie musieli zdecydowa\u0107 si\u0119 na jakie\u015b konkretne rozwi\u0105zanie w projekcie i b\u0119dziecie chcieli podj\u0105\u0107 wyedukowan\u0105 decyzj\u0119.&nbsp;<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/heading","attrs":{"level":3},"innerBlocks":[],"innerHTML":"\n<h3>\u0179r\u00f3d\u0142a<\/h3>\n","innerContent":["\n<h3>\u0179r\u00f3d\u0142a<\/h3>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/list","attrs":[],"innerBlocks":[],"innerHTML":"\n<ul><li><a href=\"https:\/\/blog.frankel.ch\/choose-cache\/1\/\">Choosing a cache<\/a><\/li><li><a href=\"https:\/\/blog.frankel.ch\/choose-cache\/2\/\">A list of cache providers<\/a><\/li><\/ul>\n","innerContent":["\n<ul><li><a href=\"https:\/\/blog.frankel.ch\/choose-cache\/1\/\">Choosing a cache<\/a><\/li><li><a href=\"https:\/\/blog.frankel.ch\/choose-cache\/2\/\">A list of cache providers<\/a><\/li><\/ul>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/heading","attrs":[],"innerBlocks":[],"innerHTML":"\n<h2>3. Release Radar \ud83d\udce1<\/h2>\n","innerContent":["\n<h2>3. Release Radar \ud83d\udce1<\/h2>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/image","attrs":{"align":"center"},"innerBlocks":[],"innerHTML":"\n<figure class=\"wp-block-image aligncenter\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/06\/img_62a8844d5bfc3.gif\" alt=\"\"\/><\/figure>\n","innerContent":["\n<figure class=\"wp-block-image aligncenter\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/06\/img_62a8844d5bfc3.gif\" alt=\"\"\/><\/figure>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p><strong>Grails 5<\/strong><\/p>\n","innerContent":["\n<p><strong>Grails 5<\/strong><\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Premiera Grails przesz\u0142a troch\u0119 pod naszym radarem, ale musicie nam to wybaczy\u0107 - ja naprawd\u0119 nie spodziewa\u0142em si\u0119, \u017ce to jeszcze oddycha - aczkolwiek bardzo podobnie mam z wszystkimi projektami opartymi o Groovy. Nowa wersja Grails\u00f3w to w\u0142a\u015bnie wsparcie dla nowej wersji j\u0119zyka wi\u0119c sporo rzeczy dzieje si\u0119 pod mask\u0105. Ca\u0142e wydanie robi te\u017c upgrade do najnowszej dost\u0119pnej wersji Springa. Je\u017celi chodzi o zmiany funkcjonalne, najwi\u0119ksza ilo\u015b\u0107 z nich dotyczy mocnego przeorania plugin\u00f3w Gradlowych.<br><br>Je\u017celi <a href=\"https:\/\/www.infoq.com\/news\/2021\/10\/grails-5-released\/\">jeste\u015bcie zainteresowani Grailsami<\/a> (kt\u00f3rymi nie s\u0105 zainteresowani ju\u017c nawet oryginalni tw\u00f3rcy, grzebi\u0105cy aktualnie mocno w Micronaucie) - wi\u0119cej detali znajdziecie tutaj.<\/p>\n","innerContent":["\n<p>Premiera Grails przesz\u0142a troch\u0119 pod naszym radarem, ale musicie nam to wybaczy\u0107 - ja naprawd\u0119 nie spodziewa\u0142em si\u0119, \u017ce to jeszcze oddycha - aczkolwiek bardzo podobnie mam z wszystkimi projektami opartymi o Groovy. Nowa wersja Grails\u00f3w to w\u0142a\u015bnie wsparcie dla nowej wersji j\u0119zyka wi\u0119c sporo rzeczy dzieje si\u0119 pod mask\u0105. Ca\u0142e wydanie robi te\u017c upgrade do najnowszej dost\u0119pnej wersji Springa. Je\u017celi chodzi o zmiany funkcjonalne, najwi\u0119ksza ilo\u015b\u0107 z nich dotyczy mocnego przeorania plugin\u00f3w Gradlowych.<br><br>Je\u017celi <a href=\"https:\/\/www.infoq.com\/news\/2021\/10\/grails-5-released\/\">jeste\u015bcie zainteresowani Grailsami<\/a> (kt\u00f3rymi nie s\u0105 zainteresowani ju\u017c nawet oryginalni tw\u00f3rcy, grzebi\u0105cy aktualnie mocno w Micronaucie) - wi\u0119cej detali znajdziecie tutaj.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p><strong>Java on Visual Studio Code<\/strong><\/p>\n","innerContent":["\n<p><strong>Java on Visual Studio Code<\/strong><\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Wa\u017cne nowo\u015bci przynosi te\u017c w swoim <a href=\"https:\/\/devblogs.microsoft.com\/java\/java-on-visual-studio-code-update-september-2021\/\">wrze\u015bniowym<\/a> (wydanym 29 pa\u017adziernika \ud83e\udd37\u200d\u2642\ufe0f) update wsparcie Javy w Visual Studio Code (u\u017cywacie?). Przede wszystkim, ukaza\u0142a si\u0119 stabilna wersja \u201cbackendu\u201d ca\u0142o\u015bci, czyli utrzymywanego przez Red Hata parsera javowego kodu, kt\u00f3ry od teraz wspiera min. nowy syntax Javy a\u017c do wersji 17. Opr\u00f3cz tego, sporo zmian zasz\u0142o we wsparciu Gradle.&nbsp;<\/p>\n","innerContent":["\n<p>Wa\u017cne nowo\u015bci przynosi te\u017c w swoim <a href=\"https:\/\/devblogs.microsoft.com\/java\/java-on-visual-studio-code-update-september-2021\/\">wrze\u015bniowym<\/a> (wydanym 29 pa\u017adziernika \ud83e\udd37\u200d\u2642\ufe0f) update wsparcie Javy w Visual Studio Code (u\u017cywacie?). Przede wszystkim, ukaza\u0142a si\u0119 stabilna wersja \u201cbackendu\u201d ca\u0142o\u015bci, czyli utrzymywanego przez Red Hata parsera javowego kodu, kt\u00f3ry od teraz wspiera min. nowy syntax Javy a\u017c do wersji 17. Opr\u00f3cz tego, sporo zmian zasz\u0142o we wsparciu Gradle.&nbsp;<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p><strong>Quarkus 2.4<\/strong><\/p>\n","innerContent":["\n<p><strong>Quarkus 2.4<\/strong><\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p><a href=\"https:\/\/quarkus.io\/blog\/quarkus-2-4-0-final-released\/\">Nowy Quarkus<\/a> przynosi min. wsparcie dla g\u0142\u00f3wnej gwiazdy naszego wydania - Hibernate Reactive 1.0.0. To jednak nie wszystko. Opr\u00f3cz tego w nowym wydaniu znajdziecie tak\u017ce wsparcie dla ci\u0105g\u0142ego testowania w multi modu\u0142owych projektach, ale r\u00f3wnie\u017c nowy wizualizer dla Kafka Streams.<\/p>\n","innerContent":["\n<p><a href=\"https:\/\/quarkus.io\/blog\/quarkus-2-4-0-final-released\/\">Nowy Quarkus<\/a> przynosi min. wsparcie dla g\u0142\u00f3wnej gwiazdy naszego wydania - Hibernate Reactive 1.0.0. To jednak nie wszystko. Opr\u00f3cz tego w nowym wydaniu znajdziecie tak\u017ce wsparcie dla ci\u0105g\u0142ego testowania w multi modu\u0142owych projektach, ale r\u00f3wnie\u017c nowy wizualizer dla Kafka Streams.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/heading","attrs":{"level":4},"innerBlocks":[],"innerHTML":"\n<h4>A teraz zapraszamy na reklamy:<\/h4>\n","innerContent":["\n<h4>A teraz zapraszamy na reklamy:<\/h4>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Jeste\u015bmy podekscytowani mog\u0105c Was wreszcie poinformowa\u0107 o naszym nowym projekcie \ud83e\udd29. <\/p>\n","innerContent":["\n<p>Jeste\u015bmy podekscytowani mog\u0105c Was wreszcie poinformowa\u0107 o naszym nowym projekcie \ud83e\udd29. <\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/image","attrs":{"align":"center"},"innerBlocks":[],"innerHTML":"\n<figure class=\"wp-block-image aligncenter\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/06\/1f036s.jpg\" alt=\"Podcast Enthusiast - HawkTalk\"\/><\/figure>\n","innerContent":["\n<figure class=\"wp-block-image aligncenter\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/06\/1f036s.jpg\" alt=\"Podcast Enthusiast - HawkTalk\"\/><\/figure>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Wraz z <a href=\"https:\/\/earbornemedia.com\/\">Earborne Media<\/a> stworzyli\u015bmy bowiem Podcast <strong>Root Cause by Vived<\/strong>, kt\u00f3rego odcinki w ka\u017cdy pi\u0105tek znajdziecie <a href=\"https:\/\/anchor.fm\/vived\">w dobrych aplikacjach Podcastowych<\/a>.<\/p>\n","innerContent":["\n<p>Wraz z <a href=\"https:\/\/earbornemedia.com\/\">Earborne Media<\/a> stworzyli\u015bmy bowiem Podcast <strong>Root Cause by Vived<\/strong>, kt\u00f3rego odcinki w ka\u017cdy pi\u0105tek znajdziecie <a href=\"https:\/\/anchor.fm\/vived\">w dobrych aplikacjach Podcastowych<\/a>.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/audio","attrs":{"id":2863},"innerBlocks":[],"innerHTML":"\n<figure class=\"wp-block-audio\"><audio controls src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/10\/trailer-vived_mixdown.mp3\"><\/audio><figcaption>Zapraszamy do ods\u0142uchania zapowiedzi w formie audio - poczujecie klimat \ud83d\ude80<\/figcaption><\/figure>\n","innerContent":["\n<figure class=\"wp-block-audio\"><audio controls src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/10\/trailer-vived_mixdown.mp3\"><\/audio><figcaption>Zapraszamy do ods\u0142uchania zapowiedzi w formie audio - poczujecie klimat \ud83d\ude80<\/figcaption><\/figure>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p><strong>A poni\u017cej - pierwszy odcinek:<\/strong><\/p>\n","innerContent":["\n<p><strong>A poni\u017cej - pierwszy odcinek:<\/strong><\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/image","attrs":{"id":2870,"sizeSlug":"large","linkDestination":"none"},"innerBlocks":[],"innerHTML":"\n<figure class=\"wp-block-image size-large\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/10\/ep1-grafika-1024x536.png\" alt=\"\" class=\"wp-image-2870\"\/><\/figure>\n","innerContent":["\n<figure class=\"wp-block-image size-large\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/10\/ep1-grafika-1024x536.png\" alt=\"\" class=\"wp-image-2870\"\/><\/figure>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/quote","attrs":[],"innerBlocks":[],"innerHTML":"\n<blockquote class=\"wp-block-quote\"><p>Dyskusja o pieni\u0105dzach w \u015bwiecie IT wydaje si\u0119 nie mie\u0107 ko\u0144ca. Sk\u0105d to si\u0119 w\u0142a\u015bciwie bierze? Czy mo\u017cna zarabia\u0107 za du\u017co? O co chodzi z czynnikiem higienicznym? I czy problem z r\u00f3\u017cnicami wynagrodze\u0144 programist\u00f3w to tylko polskie zjawisko? Mi\u0119dzy innymi o tym opowiedz\u0105 w tym odcinku Piotr Janczyk, \u0141ukasz Ma\u0142ocha i Artur Skowro\u0144ski.<\/p><\/blockquote>\n","innerContent":["\n<blockquote class=\"wp-block-quote\"><p>Dyskusja o pieni\u0105dzach w \u015bwiecie IT wydaje si\u0119 nie mie\u0107 ko\u0144ca. Sk\u0105d to si\u0119 w\u0142a\u015bciwie bierze? Czy mo\u017cna zarabia\u0107 za du\u017co? O co chodzi z czynnikiem higienicznym? I czy problem z r\u00f3\u017cnicami wynagrodze\u0144 programist\u00f3w to tylko polskie zjawisko? Mi\u0119dzy innymi o tym opowiedz\u0105 w tym odcinku Piotr Janczyk, \u0141ukasz Ma\u0142ocha i Artur Skowro\u0144ski.<\/p><\/blockquote>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/embed","attrs":{"url":"https:\/\/open.spotify.com\/episode\/6ET3qNipzS8oz0oizJWEKQ","type":"rich","providerNameSlug":"spotify","responsive":true,"className":"wp-embed-aspect-21-9 wp-has-aspect-ratio"},"innerBlocks":[],"innerHTML":"\n<figure class=\"wp-block-embed is-type-rich is-provider-spotify wp-block-embed-spotify wp-embed-aspect-21-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\nhttps:\/\/open.spotify.com\/episode\/6ET3qNipzS8oz0oizJWEKQ\n<\/div><\/figure>\n","innerContent":["\n<figure class=\"wp-block-embed is-type-rich is-provider-spotify wp-block-embed-spotify wp-embed-aspect-21-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\nhttps:\/\/open.spotify.com\/episode\/6ET3qNipzS8oz0oizJWEKQ\n<\/div><\/figure>\n"]}],"_links":{"self":[{"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/posts\/10057","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/users\/10"}],"replies":[{"embeddable":true,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/comments?post=10057"}],"version-history":[{"count":1,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/posts\/10057\/revisions"}],"predecessor-version":[{"id":10549,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/posts\/10057\/revisions\/10549"}],"wp:attachment":[{"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/media?parent=10057"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/categories?post=10057"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/tags?post=10057"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}