{"id":9970,"date":"2022-05-17T18:59:47","date_gmt":"2022-05-17T16:59:47","guid":{"rendered":"https:\/\/vived.io\/jvm-tuesday-vol-87-project-liliput-i-quarkus\/"},"modified":"2022-09-19T13:10:38","modified_gmt":"2022-09-19T11:10:38","slug":"jvm-tuesday-vol-87-project-liliput-i-quarkus","status":"publish","type":"post","link":"https:\/\/vived.io\/pl\/jvm-tuesday-vol-87-project-liliput-i-quarkus\/","title":{"rendered":"JVM Tuesday vol. 87 &#8211; Project Liliput i Quarkus"},"content":{"rendered":"\n<h2 id=\"1-czym-jest-projekt-liliput\" data-num=1>1. Czym jest projekt Liliput?<\/h2>\n\n\n\n<p>Ci, kt\u00f3rzy mieli okazj\u0119 przeczyta\u0107 zesz\u0142otygodniow\u0105 edycje wiedz\u0105, \u017ce wraz z JDK 19 nadchodzi okres powolnego \u201cdomykania\u201d wielu projekt\u00f3w, kt\u00f3re przez lata nap\u0119dza\u0142y JVM do przodu. Tak naprawd\u0119 nowa wersja Javy nie przyniesie kroku milowego tylko dla Projektu Valhalla (mimo <a href=\"https:\/\/vived.io\/jvm-tuesday-vol-71-project-valhalla-micronaut-%e2%99%a5%ef%b8%8f-gradle-fault-tolerance\/\">moich du\u017cych oczekiwa\u0144 jeszcze w styczniu<\/a>). W zasadzie od pocz\u0105tku roku nie mamy jakich\u015b wi\u0119kszych og\u0142osze\u0144, i mo\u017ce jest to po prostu cisza przed burz\u0105. Na ten moment jednak nie ma za bardzo co liczy\u0107, \u017ce ujrzymy na jesieni wersje testowe zbli\u017cenia ze sob\u0105 \u015bwiata prymityw\u00f3w j\u0119zykowych i klas. Co ciekawe, jak to w zwyczaju tw\u00f3rc\u00f3w JVM, r\u00f3wnolegle rozwijana jest druga inicjatywa maj\u0105ca bardzo podobny cel jak Valhalla &#8211; zmniejszenie narzutu pami\u0119ciowego aplikacji napisanych w Javie.<\/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_62a88a57acca0.png\" alt=\"\"\/><figcaption>Ju\u017c kiedy\u015b u\u017cy\u0142em tego mema, ale moja opinia si\u0119 nie zmieni\u0142a.<\/figcaption><\/figure><\/div>\n\n\n<p>Ponownie odwo\u0142uj\u0105c si\u0119 do poprzedniej edycji, par\u0119 tygodni temu mieli\u015bmy okazj\u0119 opisa\u0107 Wam projekt CRaC, kt\u00f3ry jest alternatyw\u0105 (czy mo\u017ce raczej &#8211; uzupe\u0142nieniem) dla Application Class Data Sharing je\u015bli chodzi o umo\u017cliwienie aplikacjom Javowym lepszej elastyczno\u015bci w \u015brodowisku Cloud Native\/Serverless. Troch\u0119 podobnie wygl\u0105da sytuacja z projektem Liliput, kt\u00f3ry w nieco inny spos\u00f3b chce wp\u0142yn\u0105\u0107 na pami\u0119cio\u017cerno\u015b\u0107 JVMa. Ot\u00f3\u017c zamiast wprowadza\u0107 do ekosystemu wysoce wydajne, ma\u0142e &#8222;obiekty&#8221; bez dziedziczenia (za to ze specjalnym sposobem upakowania ich w strukturze pami\u0119ci), celem Liliputa jest zmniejszenie rozmiaru nag\u0142\u00f3wk\u00f3w obiekt\u00f3w Java w maszynie JVM Hotspot ze 128 bit\u00f3w do 64 bit\u00f3w lub mniej. Ma to nie tylko zmniejszy\u0107 ilo\u015b\u0107 zajmowanej przez Jav\u0119 pami\u0119ci, ale tak\u017ce poprawi\u0107 wydajno\u015bci dzia\u0142ania Garbage Collectora.<\/p>\n\n\n\n<p>Tw\u00f3rcy niedawno pochwalili si\u0119 <a href=\"https:\/\/mail.openjdk.java.net\/pipermail\/lilliput-dev\/2022-May\/000457.html\">pierwszymi wynikami, kt\u00f3re s\u0105 bardzo zach\u0119caj\u0105ce<\/a>. Ot\u00f3\u017c uda\u0142o im si\u0119 zmniejszy\u0107 nag\u0142\u00f3wki w\u0142a\u015bnie do oczekiwanych 64 bit\u00f3w poprzez sprytne po\u0142\u0105czenie tak zwanych mark-words (u\u017cywanych do przechowywania to\u017csamo\u015bci obiektu, informacji o lockach i metadanych GC, domy\u015blny hashcode) i wska\u017anik\u00f3w klas do jednej struktury. Oczywi\u015bcie ma to swoje ograniczenia, przynajmniej w obecnym stadium: zmiany dzia\u0142aj\u0105 tylko w wypadku architektury 64-bitowej (co bior\u0105c pod uwag\u0119, \u017ce kilka nag\u0142\u00f3wk\u00f3w jest \u0142\u0105czone, ma pewnie sporo sensu). Ograniczona zosta\u0142a \u200b\u200bte\u017c d\u0142ugo\u015b\u0107 hashcod\u00f3w obiekt\u00f3w.<\/p>\n\n\n\n<p>Zobaczymy, czy projekt Liliput oka\u017ce si\u0119 by\u0107 game-changerem dla maszyny wirtualnej. Z pewno\u015bci\u0105 jednak jest to bardzo interesuj\u0105ca od strony in\u017cynierskiej inicjatywa i na pewno b\u0119dziemy j\u0105 dla Was \u015bledzi\u0107.<\/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_62a88a58e7c3c.png\" alt=\"\"\/><figcaption>Tkwi we mnie du\u017co <a href=\"https:\/\/www.thoughtworks.com\/radar\/techniques\/mechanical-sympathy\">Mechanical Sympathy<\/a><\/figcaption><\/figure><\/div>\n\n\n<h2 id=\"2-wyszedl-quarkus-2-9\" data-num=2>2. Wyszed\u0142 Quarkus 2.9<\/h2>\n\n\n\n<p>Dzisiaj to nawet Release Radar nie nale\u017cy do za bogatych, poniewa\u017c jedyn\u0105 ciekawsz\u0105 z ostatnio opublikowanych nowo\u015bci jest nowy Quarkus.&nbsp;<\/p>\n\n\n\n<p>Zacznijmy od ciep\u0142ej wody w klanie, czyli upgradu zale\u017cno\u015bci. Je\u015bli chodzi o j\u0119zyki, mowa tu o Kotlin 1.6.20 i Scala 2.13, z na wp\u00f3\u0142 oficjalnym <a href=\"https:\/\/github.com\/quarkiverse\/quarkus-scala3\">rozszerzeniem dla Scali 3.0<\/a>. Ciekawiej sytuacja wygl\u0105da w kwestii bibliotek &#8211; przyk\u0142adowo, przeskok plikowej bazy danych H2 z 1.4 na 2.1 mo\u017ce w niekt\u00f3rych projektach spowodowa\u0107 \u201c\u0142ami\u0105ce zmiany\u201d &#8211; ale nie martwcie si\u0119, mam dla Was od razu <a href=\"http:\/\/www.h2database.com\/html\/migration-to-v2.html\">Migration Guide<\/a> (kt\u00f3rego oryginalne release notes nie raczy\u0142y podrzuci\u0107).<\/p>\n\n\n\n<p>Dobra, ale przejd\u017amy do tego, co nowe wydanie przynosi. Z pomi\u0119dzy innych funkcjonalno\u015bci mocno wybijaj\u0105 si\u0119 funkcjonalno\u015bci zwi\u0105zane z autentykacj\u0105 u\u017cytkownika. Quarkus 2.9 dostarcza bowiem zar\u00f3wno integracj\u0119 z Web Authentication API (znanej tak\u017ce jako WebAuthn), czyli <a href=\"https:\/\/webauthn.guide\/\">standardu<\/a> stworzonemu przy wsp\u00f3\u0142pracy z W3C jak i FIDO Alliance, jak i \u0142atwiejszej integracji z najpopularniejszymi providerami OpenID.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"683\" height=\"512\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/05\/ENr0imUWsAAzbS9.jpeg\" alt=\"\" class=\"wp-image-4401\" srcset=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/05\/ENr0imUWsAAzbS9.jpeg 683w, https:\/\/vived.io\/wp-content\/uploads\/2022\/05\/ENr0imUWsAAzbS9-300x225.jpeg 300w\" sizes=\"auto, (max-width: 683px) 100vw, 683px\" \/><figcaption>Dla tych co nie znaj\u0105: &#8222;Head First: OpenID&#8221;<\/figcaption><\/figure><\/div>\n\n\n<p>Opr\u00f3cz tego, w frameworku pojawi\u0142o si\u0119 te\u017c kilka drobniejszych nowo\u015bci. U\u017cytkownicy Kafki uciesz\u0105 si\u0119 ze wsparcia dla Confluent Schema Registry, a fani programowania reaktywnego z kompresji reaktywnych zapyta\u0144 HTTP. Wisienk\u0105 na torcie jest dodawanie nag\u0142\u00f3wk\u00f3w HTTP dla konkretnych \u015bcie\u017cek deklaratywnie (czy b\u0119d\u0105c precyzyjnym &#8211; z pomoc\u0105 konfiguracji).<\/p>\n\n\n\n<p>No, i to by by\u0142o na tyle. Aczkolwiek ju\u017c wiem, \u017ce za tydzie\u0144 b\u0119dzie mocniej &#8211; w czwartek premiera nowego Spring Boota, a wraz z nim kilku towarzysz\u0105cych mu bibliotek. Stay Tuned!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>W \u015bwiecie JVMowych news\u00f3w wyra\u017anie zauwa\u017cy\u0107 mo\u017cna sezonowo\u015b\u0107. Po zesz\u0142ym tygodniu, wr\u0119cz przepe\u0142nionym interesuj\u0105cymi zapowiedziami, obecny wypada dosy\u0107&#8230; tycio. Dlatego dzi\u015b, w nieco kr\u00f3tszej formie, porozmawiamy o nadchodz\u0105cym projekcie Liliput oraz przyjrzymy si\u0119 nowemu Quarkusowi. <\/p>\n","protected":false},"author":10,"featured_media":8097,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[259],"tags":[],"class_list":["post-9970","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-jvm-pl"],"acf":{"estimated_reading_time":"3","feature_image_blog":{"ID":8098,"id":8098,"title":"images","filename":"images.jpeg","filesize":16530,"url":"https:\/\/vived.io\/wp-content\/uploads\/2022\/05\/images.jpeg","link":"https:\/\/vived.io\/pl\/jvm-tuesday-vol-87-project-liliput-i-quarkus\/images-3-2\/","alt":"","author":"10","description":"","caption":"","name":"images-3-2","status":"inherit","uploaded_to":9970,"date":"2022-05-17 16:59:17","modified":"2022-05-17 16:59:17","menu_order":0,"mime_type":"image\/jpeg","type":"image","subtype":"jpeg","icon":"https:\/\/vived.io\/wp-includes\/images\/media\/default.png","width":304,"height":166,"sizes":{"thumbnail":"https:\/\/vived.io\/wp-content\/uploads\/2022\/05\/images-150x150.jpeg","thumbnail-width":150,"thumbnail-height":150,"medium":"https:\/\/vived.io\/wp-content\/uploads\/2022\/05\/images-300x164.jpeg","medium-width":300,"medium-height":164,"medium_large":"https:\/\/vived.io\/wp-content\/uploads\/2022\/05\/images.jpeg","medium_large-width":304,"medium_large-height":166,"large":"https:\/\/vived.io\/wp-content\/uploads\/2022\/05\/images.jpeg","large-width":304,"large-height":166,"1536x1536":"https:\/\/vived.io\/wp-content\/uploads\/2022\/05\/images.jpeg","1536x1536-width":304,"1536x1536-height":166,"2048x2048":"https:\/\/vived.io\/wp-content\/uploads\/2022\/05\/images.jpeg","2048x2048-width":304,"2048x2048-height":166,"gform-image-choice-sm":"https:\/\/vived.io\/wp-content\/uploads\/2022\/05\/images.jpeg","gform-image-choice-sm-width":300,"gform-image-choice-sm-height":164,"gform-image-choice-md":"https:\/\/vived.io\/wp-content\/uploads\/2022\/05\/images.jpeg","gform-image-choice-md-width":304,"gform-image-choice-md-height":166,"gform-image-choice-lg":"https:\/\/vived.io\/wp-content\/uploads\/2022\/05\/images.jpeg","gform-image-choice-lg-width":304,"gform-image-choice-lg-height":166}},"weekly_summary":true,"push_notification_image":"https:\/\/vived.io\/wp-content\/uploads\/2022\/05\/JVM-14.png","feature_image_visible":true},"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. 87 - Project Liliput i Quarkus - 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-87-project-liliput-i-quarkus\/\" \/>\n<meta property=\"og:locale\" content=\"pl_PL\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"JVM Tuesday vol. 87 - Project Liliput i Quarkus - Vived\" \/>\n<meta property=\"og:description\" content=\"W \u015bwiecie JVMowych news\u00f3w wyra\u017anie zauwa\u017cy\u0107 mo\u017cna sezonowo\u015b\u0107. Po zesz\u0142ym tygodniu, wr\u0119cz przepe\u0142nionym interesuj\u0105cymi zapowiedziami, obecny wypada dosy\u0107... tycio. Dlatego dzi\u015b, w nieco kr\u00f3tszej formie, porozmawiamy o nadchodz\u0105cym projekcie Liliput oraz przyjrzymy si\u0119 nowemu Quarkusowi.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/vived.io\/pl\/jvm-tuesday-vol-87-project-liliput-i-quarkus\/\" \/>\n<meta property=\"og:site_name\" content=\"Vived\" \/>\n<meta property=\"article:published_time\" content=\"2022-05-17T16:59:47+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-09-19T11:10:38+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/05\/JVM-14.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"628\" \/>\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-87-project-liliput-i-quarkus\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/vived.io\/pl\/jvm-tuesday-vol-87-project-liliput-i-quarkus\/\"},\"author\":{\"name\":\"Artur Skowro\u0144ski\",\"@id\":\"https:\/\/vived.io\/pl\/#\/schema\/person\/0eb0878110cb27edfbfe46e841fe6db3\"},\"headline\":\"JVM Tuesday vol. 87 &#8211; Project Liliput i Quarkus\",\"datePublished\":\"2022-05-17T16:59:47+00:00\",\"dateModified\":\"2022-09-19T11:10:38+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/vived.io\/pl\/jvm-tuesday-vol-87-project-liliput-i-quarkus\/\"},\"wordCount\":713,\"publisher\":{\"@id\":\"https:\/\/vived.io\/pl\/#organization\"},\"image\":{\"@id\":\"https:\/\/vived.io\/pl\/jvm-tuesday-vol-87-project-liliput-i-quarkus\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/vived.io\/wp-content\/uploads\/2022\/05\/JVM-14.png\",\"articleSection\":[\"JVM\"],\"inLanguage\":\"pl-PL\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/vived.io\/pl\/jvm-tuesday-vol-87-project-liliput-i-quarkus\/\",\"url\":\"https:\/\/vived.io\/pl\/jvm-tuesday-vol-87-project-liliput-i-quarkus\/\",\"name\":\"JVM Tuesday vol. 87 - Project Liliput i Quarkus - Vived\",\"isPartOf\":{\"@id\":\"https:\/\/vived.io\/pl\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/vived.io\/pl\/jvm-tuesday-vol-87-project-liliput-i-quarkus\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/vived.io\/pl\/jvm-tuesday-vol-87-project-liliput-i-quarkus\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/vived.io\/wp-content\/uploads\/2022\/05\/JVM-14.png\",\"datePublished\":\"2022-05-17T16:59:47+00:00\",\"dateModified\":\"2022-09-19T11:10:38+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/vived.io\/pl\/jvm-tuesday-vol-87-project-liliput-i-quarkus\/#breadcrumb\"},\"inLanguage\":\"pl-PL\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/vived.io\/pl\/jvm-tuesday-vol-87-project-liliput-i-quarkus\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\/\/vived.io\/pl\/jvm-tuesday-vol-87-project-liliput-i-quarkus\/#primaryimage\",\"url\":\"https:\/\/vived.io\/wp-content\/uploads\/2022\/05\/JVM-14.png\",\"contentUrl\":\"https:\/\/vived.io\/wp-content\/uploads\/2022\/05\/JVM-14.png\",\"width\":1200,\"height\":628},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/vived.io\/pl\/jvm-tuesday-vol-87-project-liliput-i-quarkus\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Strona g\u0142\u00f3wna\",\"item\":\"https:\/\/vived.io\/pl\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"JVM Tuesday vol. 87 &#8211; Project Liliput i Quarkus\"}]},{\"@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. 87 - Project Liliput i Quarkus - 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-87-project-liliput-i-quarkus\/","og_locale":"pl_PL","og_type":"article","og_title":"JVM Tuesday vol. 87 - Project Liliput i Quarkus - Vived","og_description":"W \u015bwiecie JVMowych news\u00f3w wyra\u017anie zauwa\u017cy\u0107 mo\u017cna sezonowo\u015b\u0107. Po zesz\u0142ym tygodniu, wr\u0119cz przepe\u0142nionym interesuj\u0105cymi zapowiedziami, obecny wypada dosy\u0107... tycio. Dlatego dzi\u015b, w nieco kr\u00f3tszej formie, porozmawiamy o nadchodz\u0105cym projekcie Liliput oraz przyjrzymy si\u0119 nowemu Quarkusowi.","og_url":"https:\/\/vived.io\/pl\/jvm-tuesday-vol-87-project-liliput-i-quarkus\/","og_site_name":"Vived","article_published_time":"2022-05-17T16:59:47+00:00","article_modified_time":"2022-09-19T11:10:38+00:00","og_image":[{"width":1200,"height":628,"url":"https:\/\/vived.io\/wp-content\/uploads\/2022\/05\/JVM-14.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-87-project-liliput-i-quarkus\/#article","isPartOf":{"@id":"https:\/\/vived.io\/pl\/jvm-tuesday-vol-87-project-liliput-i-quarkus\/"},"author":{"name":"Artur Skowro\u0144ski","@id":"https:\/\/vived.io\/pl\/#\/schema\/person\/0eb0878110cb27edfbfe46e841fe6db3"},"headline":"JVM Tuesday vol. 87 &#8211; Project Liliput i Quarkus","datePublished":"2022-05-17T16:59:47+00:00","dateModified":"2022-09-19T11:10:38+00:00","mainEntityOfPage":{"@id":"https:\/\/vived.io\/pl\/jvm-tuesday-vol-87-project-liliput-i-quarkus\/"},"wordCount":713,"publisher":{"@id":"https:\/\/vived.io\/pl\/#organization"},"image":{"@id":"https:\/\/vived.io\/pl\/jvm-tuesday-vol-87-project-liliput-i-quarkus\/#primaryimage"},"thumbnailUrl":"https:\/\/vived.io\/wp-content\/uploads\/2022\/05\/JVM-14.png","articleSection":["JVM"],"inLanguage":"pl-PL"},{"@type":"WebPage","@id":"https:\/\/vived.io\/pl\/jvm-tuesday-vol-87-project-liliput-i-quarkus\/","url":"https:\/\/vived.io\/pl\/jvm-tuesday-vol-87-project-liliput-i-quarkus\/","name":"JVM Tuesday vol. 87 - Project Liliput i Quarkus - Vived","isPartOf":{"@id":"https:\/\/vived.io\/pl\/#website"},"primaryImageOfPage":{"@id":"https:\/\/vived.io\/pl\/jvm-tuesday-vol-87-project-liliput-i-quarkus\/#primaryimage"},"image":{"@id":"https:\/\/vived.io\/pl\/jvm-tuesday-vol-87-project-liliput-i-quarkus\/#primaryimage"},"thumbnailUrl":"https:\/\/vived.io\/wp-content\/uploads\/2022\/05\/JVM-14.png","datePublished":"2022-05-17T16:59:47+00:00","dateModified":"2022-09-19T11:10:38+00:00","breadcrumb":{"@id":"https:\/\/vived.io\/pl\/jvm-tuesday-vol-87-project-liliput-i-quarkus\/#breadcrumb"},"inLanguage":"pl-PL","potentialAction":[{"@type":"ReadAction","target":["https:\/\/vived.io\/pl\/jvm-tuesday-vol-87-project-liliput-i-quarkus\/"]}]},{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/vived.io\/pl\/jvm-tuesday-vol-87-project-liliput-i-quarkus\/#primaryimage","url":"https:\/\/vived.io\/wp-content\/uploads\/2022\/05\/JVM-14.png","contentUrl":"https:\/\/vived.io\/wp-content\/uploads\/2022\/05\/JVM-14.png","width":1200,"height":628},{"@type":"BreadcrumbList","@id":"https:\/\/vived.io\/pl\/jvm-tuesday-vol-87-project-liliput-i-quarkus\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Strona g\u0142\u00f3wna","item":"https:\/\/vived.io\/pl\/"},{"@type":"ListItem","position":2,"name":"JVM Tuesday vol. 87 &#8211; Project Liliput i Quarkus"}]},{"@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. Czym jest projekt Liliput?<\/h2>\n","innerContent":["\n<h2>1. Czym jest projekt Liliput?<\/h2>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Ci, kt\u00f3rzy mieli okazj\u0119 przeczyta\u0107 zesz\u0142otygodniow\u0105 edycje wiedz\u0105, \u017ce wraz z JDK 19 nadchodzi okres powolnego \u201cdomykania\u201d wielu projekt\u00f3w, kt\u00f3re przez lata nap\u0119dza\u0142y JVM do przodu. Tak naprawd\u0119 nowa wersja Javy nie przyniesie kroku milowego tylko dla Projektu Valhalla (mimo <a href=\"https:\/\/vived.io\/jvm-tuesday-vol-71-project-valhalla-micronaut-%e2%99%a5%ef%b8%8f-gradle-fault-tolerance\/\">moich du\u017cych oczekiwa\u0144 jeszcze w styczniu<\/a>). W zasadzie od pocz\u0105tku roku nie mamy jakich\u015b wi\u0119kszych og\u0142osze\u0144, i mo\u017ce jest to po prostu cisza przed burz\u0105. Na ten moment jednak nie ma za bardzo co liczy\u0107, \u017ce ujrzymy na jesieni wersje testowe zbli\u017cenia ze sob\u0105 \u015bwiata prymityw\u00f3w j\u0119zykowych i klas. Co ciekawe, jak to w zwyczaju tw\u00f3rc\u00f3w JVM, r\u00f3wnolegle rozwijana jest druga inicjatywa maj\u0105ca bardzo podobny cel jak Valhalla - zmniejszenie narzutu pami\u0119ciowego aplikacji napisanych w Javie.<\/p>\n","innerContent":["\n<p>Ci, kt\u00f3rzy mieli okazj\u0119 przeczyta\u0107 zesz\u0142otygodniow\u0105 edycje wiedz\u0105, \u017ce wraz z JDK 19 nadchodzi okres powolnego \u201cdomykania\u201d wielu projekt\u00f3w, kt\u00f3re przez lata nap\u0119dza\u0142y JVM do przodu. Tak naprawd\u0119 nowa wersja Javy nie przyniesie kroku milowego tylko dla Projektu Valhalla (mimo <a href=\"https:\/\/vived.io\/jvm-tuesday-vol-71-project-valhalla-micronaut-%e2%99%a5%ef%b8%8f-gradle-fault-tolerance\/\">moich du\u017cych oczekiwa\u0144 jeszcze w styczniu<\/a>). W zasadzie od pocz\u0105tku roku nie mamy jakich\u015b wi\u0119kszych og\u0142osze\u0144, i mo\u017ce jest to po prostu cisza przed burz\u0105. Na ten moment jednak nie ma za bardzo co liczy\u0107, \u017ce ujrzymy na jesieni wersje testowe zbli\u017cenia ze sob\u0105 \u015bwiata prymityw\u00f3w j\u0119zykowych i klas. Co ciekawe, jak to w zwyczaju tw\u00f3rc\u00f3w JVM, r\u00f3wnolegle rozwijana jest druga inicjatywa maj\u0105ca bardzo podobny cel jak Valhalla - zmniejszenie narzutu pami\u0119ciowego aplikacji napisanych w Javie.<\/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_62a88a57acca0.png\" alt=\"\"\/><figcaption>Ju\u017c kiedy\u015b u\u017cy\u0142em tego mema, ale moja opinia si\u0119 nie zmieni\u0142a.<\/figcaption><\/figure>\n","innerContent":["\n<figure class=\"wp-block-image aligncenter\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/06\/img_62a88a57acca0.png\" alt=\"\"\/><figcaption>Ju\u017c kiedy\u015b u\u017cy\u0142em tego mema, ale moja opinia si\u0119 nie zmieni\u0142a.<\/figcaption><\/figure>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Ponownie odwo\u0142uj\u0105c si\u0119 do poprzedniej edycji, par\u0119 tygodni temu mieli\u015bmy okazj\u0119 opisa\u0107 Wam projekt CRaC, kt\u00f3ry jest alternatyw\u0105 (czy mo\u017ce raczej - uzupe\u0142nieniem) dla Application Class Data Sharing je\u015bli chodzi o umo\u017cliwienie aplikacjom Javowym lepszej elastyczno\u015bci w \u015brodowisku Cloud Native\/Serverless. Troch\u0119 podobnie wygl\u0105da sytuacja z projektem Liliput, kt\u00f3ry w nieco inny spos\u00f3b chce wp\u0142yn\u0105\u0107 na pami\u0119cio\u017cerno\u015b\u0107 JVMa. Ot\u00f3\u017c zamiast wprowadza\u0107 do ekosystemu wysoce wydajne, ma\u0142e \"obiekty\" bez dziedziczenia (za to ze specjalnym sposobem upakowania ich w strukturze pami\u0119ci), celem Liliputa jest zmniejszenie rozmiaru nag\u0142\u00f3wk\u00f3w obiekt\u00f3w Java w maszynie JVM Hotspot ze 128 bit\u00f3w do 64 bit\u00f3w lub mniej. Ma to nie tylko zmniejszy\u0107 ilo\u015b\u0107 zajmowanej przez Jav\u0119 pami\u0119ci, ale tak\u017ce poprawi\u0107 wydajno\u015bci dzia\u0142ania Garbage Collectora.<\/p>\n","innerContent":["\n<p>Ponownie odwo\u0142uj\u0105c si\u0119 do poprzedniej edycji, par\u0119 tygodni temu mieli\u015bmy okazj\u0119 opisa\u0107 Wam projekt CRaC, kt\u00f3ry jest alternatyw\u0105 (czy mo\u017ce raczej - uzupe\u0142nieniem) dla Application Class Data Sharing je\u015bli chodzi o umo\u017cliwienie aplikacjom Javowym lepszej elastyczno\u015bci w \u015brodowisku Cloud Native\/Serverless. Troch\u0119 podobnie wygl\u0105da sytuacja z projektem Liliput, kt\u00f3ry w nieco inny spos\u00f3b chce wp\u0142yn\u0105\u0107 na pami\u0119cio\u017cerno\u015b\u0107 JVMa. Ot\u00f3\u017c zamiast wprowadza\u0107 do ekosystemu wysoce wydajne, ma\u0142e \"obiekty\" bez dziedziczenia (za to ze specjalnym sposobem upakowania ich w strukturze pami\u0119ci), celem Liliputa jest zmniejszenie rozmiaru nag\u0142\u00f3wk\u00f3w obiekt\u00f3w Java w maszynie JVM Hotspot ze 128 bit\u00f3w do 64 bit\u00f3w lub mniej. Ma to nie tylko zmniejszy\u0107 ilo\u015b\u0107 zajmowanej przez Jav\u0119 pami\u0119ci, ale tak\u017ce poprawi\u0107 wydajno\u015bci dzia\u0142ania Garbage Collectora.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Tw\u00f3rcy niedawno pochwalili si\u0119 <a href=\"https:\/\/mail.openjdk.java.net\/pipermail\/lilliput-dev\/2022-May\/000457.html\">pierwszymi wynikami, kt\u00f3re s\u0105 bardzo zach\u0119caj\u0105ce<\/a>. Ot\u00f3\u017c uda\u0142o im si\u0119 zmniejszy\u0107 nag\u0142\u00f3wki w\u0142a\u015bnie do oczekiwanych 64 bit\u00f3w poprzez sprytne po\u0142\u0105czenie tak zwanych mark-words (u\u017cywanych do przechowywania to\u017csamo\u015bci obiektu, informacji o lockach i metadanych GC, domy\u015blny hashcode) i wska\u017anik\u00f3w klas do jednej struktury. Oczywi\u015bcie ma to swoje ograniczenia, przynajmniej w obecnym stadium: zmiany dzia\u0142aj\u0105 tylko w wypadku architektury 64-bitowej (co bior\u0105c pod uwag\u0119, \u017ce kilka nag\u0142\u00f3wk\u00f3w jest \u0142\u0105czone, ma pewnie sporo sensu). Ograniczona zosta\u0142a \u200b\u200bte\u017c d\u0142ugo\u015b\u0107 hashcod\u00f3w obiekt\u00f3w.<\/p>\n","innerContent":["\n<p>Tw\u00f3rcy niedawno pochwalili si\u0119 <a href=\"https:\/\/mail.openjdk.java.net\/pipermail\/lilliput-dev\/2022-May\/000457.html\">pierwszymi wynikami, kt\u00f3re s\u0105 bardzo zach\u0119caj\u0105ce<\/a>. Ot\u00f3\u017c uda\u0142o im si\u0119 zmniejszy\u0107 nag\u0142\u00f3wki w\u0142a\u015bnie do oczekiwanych 64 bit\u00f3w poprzez sprytne po\u0142\u0105czenie tak zwanych mark-words (u\u017cywanych do przechowywania to\u017csamo\u015bci obiektu, informacji o lockach i metadanych GC, domy\u015blny hashcode) i wska\u017anik\u00f3w klas do jednej struktury. Oczywi\u015bcie ma to swoje ograniczenia, przynajmniej w obecnym stadium: zmiany dzia\u0142aj\u0105 tylko w wypadku architektury 64-bitowej (co bior\u0105c pod uwag\u0119, \u017ce kilka nag\u0142\u00f3wk\u00f3w jest \u0142\u0105czone, ma pewnie sporo sensu). Ograniczona zosta\u0142a \u200b\u200bte\u017c d\u0142ugo\u015b\u0107 hashcod\u00f3w obiekt\u00f3w.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Zobaczymy, czy projekt Liliput oka\u017ce si\u0119 by\u0107 game-changerem dla maszyny wirtualnej. Z pewno\u015bci\u0105 jednak jest to bardzo interesuj\u0105ca od strony in\u017cynierskiej inicjatywa i na pewno b\u0119dziemy j\u0105 dla Was \u015bledzi\u0107.<\/p>\n","innerContent":["\n<p>Zobaczymy, czy projekt Liliput oka\u017ce si\u0119 by\u0107 game-changerem dla maszyny wirtualnej. Z pewno\u015bci\u0105 jednak jest to bardzo interesuj\u0105ca od strony in\u017cynierskiej inicjatywa i na pewno b\u0119dziemy j\u0105 dla Was \u015bledzi\u0107.<\/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_62a88a58e7c3c.png\" alt=\"\"\/><figcaption>Tkwi we mnie du\u017co <a href=\"https:\/\/www.thoughtworks.com\/radar\/techniques\/mechanical-sympathy\">Mechanical Sympathy<\/a><\/figcaption><\/figure>\n","innerContent":["\n<figure class=\"wp-block-image aligncenter\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/06\/img_62a88a58e7c3c.png\" alt=\"\"\/><figcaption>Tkwi we mnie du\u017co <a href=\"https:\/\/www.thoughtworks.com\/radar\/techniques\/mechanical-sympathy\">Mechanical Sympathy<\/a><\/figcaption><\/figure>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/heading","attrs":[],"innerBlocks":[],"innerHTML":"\n<h2>2. Wyszed\u0142 Quarkus 2.9<\/h2>\n","innerContent":["\n<h2>2. Wyszed\u0142 Quarkus 2.9<\/h2>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Dzisiaj to nawet Release Radar nie nale\u017cy do za bogatych, poniewa\u017c jedyn\u0105 ciekawsz\u0105 z ostatnio opublikowanych nowo\u015bci jest nowy Quarkus.&nbsp;<\/p>\n","innerContent":["\n<p>Dzisiaj to nawet Release Radar nie nale\u017cy do za bogatych, poniewa\u017c jedyn\u0105 ciekawsz\u0105 z ostatnio opublikowanych nowo\u015bci jest nowy Quarkus.&nbsp;<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Zacznijmy od ciep\u0142ej wody w klanie, czyli upgradu zale\u017cno\u015bci. Je\u015bli chodzi o j\u0119zyki, mowa tu o Kotlin 1.6.20 i Scala 2.13, z na wp\u00f3\u0142 oficjalnym <a href=\"https:\/\/github.com\/quarkiverse\/quarkus-scala3\">rozszerzeniem dla Scali 3.0<\/a>. Ciekawiej sytuacja wygl\u0105da w kwestii bibliotek - przyk\u0142adowo, przeskok plikowej bazy danych H2 z 1.4 na 2.1 mo\u017ce w niekt\u00f3rych projektach spowodowa\u0107 \u201c\u0142ami\u0105ce zmiany\u201d - ale nie martwcie si\u0119, mam dla Was od razu <a href=\"http:\/\/www.h2database.com\/html\/migration-to-v2.html\">Migration Guide<\/a> (kt\u00f3rego oryginalne release notes nie raczy\u0142y podrzuci\u0107).<\/p>\n","innerContent":["\n<p>Zacznijmy od ciep\u0142ej wody w klanie, czyli upgradu zale\u017cno\u015bci. Je\u015bli chodzi o j\u0119zyki, mowa tu o Kotlin 1.6.20 i Scala 2.13, z na wp\u00f3\u0142 oficjalnym <a href=\"https:\/\/github.com\/quarkiverse\/quarkus-scala3\">rozszerzeniem dla Scali 3.0<\/a>. Ciekawiej sytuacja wygl\u0105da w kwestii bibliotek - przyk\u0142adowo, przeskok plikowej bazy danych H2 z 1.4 na 2.1 mo\u017ce w niekt\u00f3rych projektach spowodowa\u0107 \u201c\u0142ami\u0105ce zmiany\u201d - ale nie martwcie si\u0119, mam dla Was od razu <a href=\"http:\/\/www.h2database.com\/html\/migration-to-v2.html\">Migration Guide<\/a> (kt\u00f3rego oryginalne release notes nie raczy\u0142y podrzuci\u0107).<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Dobra, ale przejd\u017amy do tego, co nowe wydanie przynosi. Z pomi\u0119dzy innych funkcjonalno\u015bci mocno wybijaj\u0105 si\u0119 funkcjonalno\u015bci zwi\u0105zane z autentykacj\u0105 u\u017cytkownika. Quarkus 2.9 dostarcza bowiem zar\u00f3wno integracj\u0119 z Web Authentication API (znanej tak\u017ce jako WebAuthn), czyli <a href=\"https:\/\/webauthn.guide\/\">standardu<\/a> stworzonemu przy wsp\u00f3\u0142pracy z W3C jak i FIDO Alliance, jak i \u0142atwiejszej integracji z najpopularniejszymi providerami OpenID.<\/p>\n","innerContent":["\n<p>Dobra, ale przejd\u017amy do tego, co nowe wydanie przynosi. Z pomi\u0119dzy innych funkcjonalno\u015bci mocno wybijaj\u0105 si\u0119 funkcjonalno\u015bci zwi\u0105zane z autentykacj\u0105 u\u017cytkownika. Quarkus 2.9 dostarcza bowiem zar\u00f3wno integracj\u0119 z Web Authentication API (znanej tak\u017ce jako WebAuthn), czyli <a href=\"https:\/\/webauthn.guide\/\">standardu<\/a> stworzonemu przy wsp\u00f3\u0142pracy z W3C jak i FIDO Alliance, jak i \u0142atwiejszej integracji z najpopularniejszymi providerami OpenID.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/image","attrs":{"align":"center","id":4401,"sizeSlug":"full","linkDestination":"none"},"innerBlocks":[],"innerHTML":"\n<figure class=\"wp-block-image aligncenter size-full\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/05\/ENr0imUWsAAzbS9.jpeg\" alt=\"\" class=\"wp-image-4401\"\/><figcaption>Dla tych co nie znaj\u0105: \"Head First: OpenID\"<\/figcaption><\/figure>\n","innerContent":["\n<figure class=\"wp-block-image aligncenter size-full\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/05\/ENr0imUWsAAzbS9.jpeg\" alt=\"\" class=\"wp-image-4401\"\/><figcaption>Dla tych co nie znaj\u0105: \"Head First: OpenID\"<\/figcaption><\/figure>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Opr\u00f3cz tego, w frameworku pojawi\u0142o si\u0119 te\u017c kilka drobniejszych nowo\u015bci. U\u017cytkownicy Kafki uciesz\u0105 si\u0119 ze wsparcia dla Confluent Schema Registry, a fani programowania reaktywnego z kompresji reaktywnych zapyta\u0144 HTTP. Wisienk\u0105 na torcie jest dodawanie nag\u0142\u00f3wk\u00f3w HTTP dla konkretnych \u015bcie\u017cek deklaratywnie (czy b\u0119d\u0105c precyzyjnym - z pomoc\u0105 konfiguracji).<\/p>\n","innerContent":["\n<p>Opr\u00f3cz tego, w frameworku pojawi\u0142o si\u0119 te\u017c kilka drobniejszych nowo\u015bci. U\u017cytkownicy Kafki uciesz\u0105 si\u0119 ze wsparcia dla Confluent Schema Registry, a fani programowania reaktywnego z kompresji reaktywnych zapyta\u0144 HTTP. Wisienk\u0105 na torcie jest dodawanie nag\u0142\u00f3wk\u00f3w HTTP dla konkretnych \u015bcie\u017cek deklaratywnie (czy b\u0119d\u0105c precyzyjnym - z pomoc\u0105 konfiguracji).<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>No, i to by by\u0142o na tyle. Aczkolwiek ju\u017c wiem, \u017ce za tydzie\u0144 b\u0119dzie mocniej - w czwartek premiera nowego Spring Boota, a wraz z nim kilku towarzysz\u0105cych mu bibliotek. Stay Tuned!<\/p>\n","innerContent":["\n<p>No, i to by by\u0142o na tyle. Aczkolwiek ju\u017c wiem, \u017ce za tydzie\u0144 b\u0119dzie mocniej - w czwartek premiera nowego Spring Boota, a wraz z nim kilku towarzysz\u0105cych mu bibliotek. Stay Tuned!<\/p>\n"]}],"_links":{"self":[{"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/posts\/9970","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=9970"}],"version-history":[{"count":1,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/posts\/9970\/revisions"}],"predecessor-version":[{"id":10496,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/posts\/9970\/revisions\/10496"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/media\/8097"}],"wp:attachment":[{"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/media?parent=9970"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/categories?post=9970"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/tags?post=9970"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}