{"id":10009,"date":"2022-02-08T18:58:17","date_gmt":"2022-02-08T17:58:17","guid":{"rendered":"https:\/\/vived.io\/jvm-tuesday-vol-75-scala-js-kotlindl-gradle-quarkus-micronaut-i-jkube\/"},"modified":"2022-09-19T13:10:42","modified_gmt":"2022-09-19T11:10:42","slug":"jvm-tuesday-vol-75-scala-js-kotlindl-gradle-quarkus-micronaut-i-jkube","status":"publish","type":"post","link":"https:\/\/vived.io\/pl\/jvm-tuesday-vol-75-scala-js-kotlindl-gradle-quarkus-micronaut-i-jkube\/","title":{"rendered":"JVM Tuesday vol. 75 &#8211; Scala.js, KotlinDL, Gradle, Quarkus, Micronaut i&#8230; JKube"},"content":{"rendered":"\n<h2 id=\"1-scala-js-doczeka-sie-unifikacji\" data-num=1>1. Scala.js doczeka si\u0119 \u201cunifikacji\u201d<\/h2>\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_62a88bf1cfdfb.png\" alt=\"\" width=\"550\" height=\"310\"\/><\/figure>\n<\/div>\n\n\n<p>Ten rok b\u0119dzie rokiem Scali.js! Bo przecie\u017c skoro Scala Center chce <a href=\"https:\/\/contributors.scala-lang.org\/t\/the-scala-centers-roadmap-for-a-unified-scala-js-ecosystem\/5568\">dokona\u0107 unifikacji jej ekosystemu<\/a> pod swoimi skrzyd\u0142ami, to ju\u017c nic jej nie powstrzyma.<\/p>\n\n\n\n<p>A tak \u017carty na bok &#8211; ja szalenie lubi\u0119 ten jednak do\u015b\u0107 niszowy projekt, dlatego te\u017c mocno trzymam kciuki i ciesz\u0119 si\u0119, \u017ce w dalszym ci\u0105gu jest jednak relatywnie dynamicznie rozwijany i ci\u0105gni\u0119ty na bie\u017c\u0105co za rozwojem samej Scali. Ostatnio ekosystem tego j\u0119zyka doczeka\u0142 si\u0119 kilku strategicznych \u201cporzuce\u0144\u201d, i cho\u0107 dzia\u0142o si\u0119 to g\u0142\u00f3wnie w wyniku \u201codchudzania\u201d Lightbendu (jak to by\u0142o z Play Framework), to cieszy fakt, \u017ce Scala Center konsekwentnie pcha swoje projekty.<\/p>\n\n\n\n<p>W ramach wspomnianej unifikacji &#8211; kt\u00f3rej pierwsza iteracja potrwa oko\u0142o miesi\u0105c &#8211; nale\u017cy si\u0119 spodziewa\u0107 odkurzenia strony internetowej, poprawienia jako\u015bci tutoriali, a tak\u017ce dopisania brakuj\u0105cych narz\u0119dzi, co poprawi\u0107 ma \u201cDeveloper Experience\u201d przy u\u017cyciu frameworka. Jest to z mojej perspektywy bardzo pozytywny ruch &#8211; to w\u0142a\u015bnie powy\u017csze aspekty s\u0105 najcz\u0119\u015bciej pomijane w ramach pracy nad otwarto-\u017ar\u00f3d\u0142owym kodem, a cz\u0119sto stanowi\u0105 o by\u0107 albo nie by\u0107 danej inicjatywy. Z rzeczy bli\u017cej kodu, dokonany zostanie przegl\u0105d najwa\u017cniejszych bibliotek i podj\u0119ta decyzja, kt\u00f3re powinny zosta\u0107 wsparte w pierwszej kolejno\u015bci.&nbsp;<\/p>\n\n\n\n<h2 id=\"2-buzzwordowa-bomba-object-detection-przy-pomocy-kotlindl-i-ktora\" data-num=2>2. Buzzwordowa bomba &#8211; Object Detection przy pomocy KotlinDL i ktor\u2019a<\/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_62a88bf6c7b3d.png\" alt=\"\"\/><\/figure>\n<\/div>\n\n\n<p>Wyj\u0105tkowo lubi\u0119 to, jak \u201cpojemnym\u201d projektem jest Kotlin, a tak\u017ce jak bardzo JetBrains stara si\u0119, \u017ceby nikt o tej pojemno\u015bci nie zapomnia\u0142. Na ich stronie regularnie publikowane s\u0105 r\u00f3\u017cnego rodzaju case studies, jedne nieco bardziej oczywiste (jak np. kotlinowe rozwi\u0105zywania Advent of Code), inne znacznie bardziej odjechane, jak bohater tego paragrafu.&nbsp;<\/p>\n\n\n\n<p>Ot\u00f3\u017c JetBrains pokaza\u0142o w zesz\u0142ym tygodniu, jak <a href=\"https:\/\/blog.jetbrains.com\/kotlin\/2022\/01\/object-detection-with-kotlindl-and-ktor\/\">stworzy\u0107 przy u\u017cyciu biblioteki KotlinDL prosty Object Detector<\/a>. Opr\u00f3cz jednak tego, \u017ce ca\u0142o\u015b\u0107 jest przyst\u0119pnym wprowadzeniem, to jakby nie wierz\u0105c w popularno\u015b\u0107 samego Deep Learningu na Kotlinie, postanowiono ca\u0142o\u015b\u0107 po\u017ceni\u0107 z innym popularnym projektem &#8211; ktor-em. Sprawia to, \u017ce \u017c\u0105dni nauki mog\u0105 upiec dwie pieczenie na jednym ogniu &#8211; nie tylko stworz\u0105 sobie sw\u00f3j pierwszy model (czy raczej \u0142adnie zapakuj\u0105 istniej\u0105cy), co jeszcze b\u0119d\u0105 w stanie odpali\u0107 go po API przy u\u017cyciu popularnego frameworka.<\/p>\n\n\n\n<p>My\u015bl\u0119, \u017ce ca\u0142o\u015b\u0107 stanowi bardzo dobre wprowadzenie dla os\u00f3b, kt\u00f3re znaj\u0105 Kotlina i chcia\u0142yby lizn\u0105\u0107 troch\u0119 tajniki Deep Learningu. Wiadomo, ekspertami si\u0119 w \u017cadnym wypadku nie zostan\u0105, ale ca\u0142o\u015b\u0107 mo\u017ce stanowi\u0107 dobry \u201cgateway drug\u201d dla chc\u0105cych si\u0119 troch\u0119 pobawi\u0107 tym, na co pozwala nowoczesne AI &#8211; a przy okazji czego\u015b si\u0119 nauczy\u0107.&nbsp;<\/p>\n\n\n\n<h2 id=\"3-nowe-wydania-gradle-quarkus-micronaut-i-jkube\" data-num=3>3. Nowe wydania: Gradle, Quarkus, Micronaut i\u2026 JKube<\/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_62a88bf76e229.gif\" alt=\"\"\/><\/figure>\n<\/div>\n\n\n<p>A na koniec, skr\u00f3towy opis 4(!) r\u00f3\u017cnych nowych wyda\u0144 z ostatnich tygodni. \u017badne z nich nie jest czym\u015b \u201c\u0142ami\u0105cym\u201d, ale ka\u017cde przynosi co\u015b przynajmniej ciekawego.<\/p>\n\n\n\n<p>W dniu dzisiejszym pojawi\u0142 si\u0119 <a href=\"https:\/\/docs.gradle.org\/7.4\/release-notes.html\">Gradle w wersji 7.4<\/a>. Co przynosi? Tak naprawd\u0119 uciesz\u0105 si\u0119 najbardziej osoby posiadaj\u0105cy projekty multi modu\u0142owe. G\u0142\u00f3wnymi highlightami wydania jest bowiem generowanie raport\u00f3w (czy to z test\u00f3w, czy to np. z pokrycia kodem) z wielu projekt\u00f3w na raz, dzi\u0119ki czemu otrzymujesz zbiorczy plik z wszystkimi informacjami z ka\u017cdemu z build\u00f3w. Opr\u00f3cz tego uciesz\u0105 si\u0119 te\u017c u\u017cytkownicy Intellij IDEA, poniewa\u017c wprowadzono automatyczne oznaczanie w IDE katalog\u00f3w z kodem testowym, zgodnie z konfiguracj\u0105 z Gradle.<\/p>\n\n\n\n<p>Kolejna nowo\u015b\u0107 to <a href=\"https:\/\/quarkus.io\/blog\/quarkus-2-7-0-final-released\/\">Quarkus w wersji 2.7.0<\/a>. Tutaj s\u0142owem kluczem jest Quarkus CLI, kt\u00f3ra wreszcie doczeka\u0142a si\u0119 umieszczenia w miejscach, sk\u0105d ludzie realnie \u015bci\u0105gaj\u0105 CLI &#8211; czyli Homebrew, SDKMan i reszt\u0119 zarz\u0105dzania pakietami. Opr\u00f3cz tego wprowadzono troch\u0119 reaktywno\u015bci &#8211; Oracle DB dosta\u0142o reaktywnego klienta, a tak\u017ce wsparcie serializacji kotlinowej dla RESTEasy Reactive. Ostatnim ciekawym dodatkiem jest SmallRye Stork w wersji 1.0 &#8211; biblioteka Service Discovery zgodna ze specyfikacj\u0105 Jakarty EE.<\/p>\n\n\n\n<p>Trzeci\u0105 z ciekawych nowych edycji jest <a href=\"https:\/\/micronaut.io\/2022\/01\/27\/micronaut-framework-3-3-released\/\">Micronaut w wersji 3.3<\/a>. Ten przynosi min. b\u0142yskawiczne wsparcie dla opisywanego tydzie\u0144 temu GraalVM 22.0, ale g\u0142\u00f3wnym daniem ca\u0142o\u015bci jest Micronaut AOT. Ten nowy modu\u0142 Ahead-of-Time Compilation ma umo\u017cliwi\u0107 znacznie przyspieszenie startu aplikacji poprzez wykonywanie cz\u0119\u015bci niezb\u0119dnych do uruchomienia operacji ju\u017c na poziomie kompilacji. Dzieje si\u0119 tak min. poprzez usuwanie nadmiarowych klas z finalnej paczki. Wi\u0119cej szczeg\u00f3\u0142\u00f3w mo\u017cecie przeczyta\u0107 w <a href=\"https:\/\/micronaut.io\/2021\/12\/20\/micronaut-aot-build-time-optimizations-for-micronaut-applications\/\">po\u015bcie szerzej opisuj\u0105cym t\u0105 funkcjonalno\u015b\u0107<\/a>.<\/p>\n\n\n\n<p>Ostatni z dzisiejszych release notes dotyczy za\u015b projektu na tyle niszowego, \u017ce przyznam i\u017c pomimo pisania naszych przegl\u0105d\u00f3w grubo ponad roku, trafi\u0142em na niego po raz pierwszy, od razu jednak przyku\u0142 moj\u0105 uwag\u0119. Eclipse JKube to zbi\u00f3r wtyczek i bibliotek, kt\u00f3re pomagaj\u0105 w tworzeniu javowych aplikacji w wersji Cloud-Nativie. Zawiera narz\u0119dzia do budowania obraz\u00f3w kontener\u00f3w przy u\u017cyciu Docker czy te\u017c JIBa, a ponadto umo\u017cliwia generowanie plik\u00f3w konfiguracyjnych klastra (YAML) i wdra\u017canie ich w klastrach Kubernetes lub OpenShift\u2026. uff, ca\u0142kiem konkretny kombajn. Okazuje si\u0119 zreszt\u0105, \u017ce produkt jest kontynuacj\u0105 znanego Wam mo\u017ce Fabric8, kt\u00f3ry by\u0142 popularny jeszcze par\u0119 lat temu. Nowa <a href=\"https:\/\/blog.marcnuri.com\/eclipse-jkube-1-6-0\">wersja 1.6.0<\/a> to do\u015b\u0107 sztampowe podbicie zale\u017cno\u015bci (Java 17), ale tak\u017ce usprawnienia wsp\u00f3\u0142pracy z Helmem oraz Gradle.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>W dniu dzisiejszym obrodzi\u0142o przede wszystkim nowymi wydaniami &#8211; tych jest a\u017c 4(!). \u017beby jednak nieco urozmaici\u0107 wydanie, mamy te\u017c informacje o unifikacji Scala.js i tutorial do KotlinDL.<\/p>\n","protected":false},"author":10,"featured_media":7930,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[259],"tags":[],"class_list":["post-10009","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-jvm-pl"],"acf":{"estimated_reading_time":"4","weekly_summary":true,"push_notification_image":"https:\/\/vived.io\/wp-content\/uploads\/2022\/02\/JVM-2.png","feature_image_visible":false,"feature_image_blog":false},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>JVM Tuesday vol. 75 - Scala.js, KotlinDL, Gradle, Quarkus, Micronaut i... JKube - 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-75-scala-js-kotlindl-gradle-quarkus-micronaut-i-jkube\/\" \/>\n<meta property=\"og:locale\" content=\"pl_PL\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"JVM Tuesday vol. 75 - Scala.js, KotlinDL, Gradle, Quarkus, Micronaut i... JKube - Vived\" \/>\n<meta property=\"og:description\" content=\"W dniu dzisiejszym obrodzi\u0142o przede wszystkim nowymi wydaniami - tych jest a\u017c 4(!). \u017beby jednak nieco urozmaici\u0107 wydanie, mamy te\u017c informacje o unifikacji Scala.js i tutorial do KotlinDL.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/vived.io\/pl\/jvm-tuesday-vol-75-scala-js-kotlindl-gradle-quarkus-micronaut-i-jkube\/\" \/>\n<meta property=\"og:site_name\" content=\"Vived\" \/>\n<meta property=\"article:published_time\" content=\"2022-02-08T17:58:17+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-09-19T11:10:42+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/02\/JVM-2.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-75-scala-js-kotlindl-gradle-quarkus-micronaut-i-jkube\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/vived.io\\\/pl\\\/jvm-tuesday-vol-75-scala-js-kotlindl-gradle-quarkus-micronaut-i-jkube\\\/\"},\"author\":{\"name\":\"Artur Skowro\u0144ski\",\"@id\":\"https:\\\/\\\/3.68.244.71\\\/#\\\/schema\\\/person\\\/0eb0878110cb27edfbfe46e841fe6db3\"},\"headline\":\"JVM Tuesday vol. 75 &#8211; Scala.js, KotlinDL, Gradle, Quarkus, Micronaut i&#8230; JKube\",\"datePublished\":\"2022-02-08T17:58:17+00:00\",\"dateModified\":\"2022-09-19T11:10:42+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/vived.io\\\/pl\\\/jvm-tuesday-vol-75-scala-js-kotlindl-gradle-quarkus-micronaut-i-jkube\\\/\"},\"wordCount\":875,\"publisher\":{\"@id\":\"https:\\\/\\\/3.68.244.71\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/vived.io\\\/pl\\\/jvm-tuesday-vol-75-scala-js-kotlindl-gradle-quarkus-micronaut-i-jkube\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/vived.io\\\/wp-content\\\/uploads\\\/2022\\\/02\\\/2021-skoda-scala-edition-s-1.jpeg\",\"articleSection\":[\"JVM\"],\"inLanguage\":\"pl-PL\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/vived.io\\\/pl\\\/jvm-tuesday-vol-75-scala-js-kotlindl-gradle-quarkus-micronaut-i-jkube\\\/\",\"url\":\"https:\\\/\\\/vived.io\\\/pl\\\/jvm-tuesday-vol-75-scala-js-kotlindl-gradle-quarkus-micronaut-i-jkube\\\/\",\"name\":\"JVM Tuesday vol. 75 - Scala.js, KotlinDL, Gradle, Quarkus, Micronaut i... JKube - Vived\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/3.68.244.71\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/vived.io\\\/pl\\\/jvm-tuesday-vol-75-scala-js-kotlindl-gradle-quarkus-micronaut-i-jkube\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/vived.io\\\/pl\\\/jvm-tuesday-vol-75-scala-js-kotlindl-gradle-quarkus-micronaut-i-jkube\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/vived.io\\\/wp-content\\\/uploads\\\/2022\\\/02\\\/2021-skoda-scala-edition-s-1.jpeg\",\"datePublished\":\"2022-02-08T17:58:17+00:00\",\"dateModified\":\"2022-09-19T11:10:42+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/vived.io\\\/pl\\\/jvm-tuesday-vol-75-scala-js-kotlindl-gradle-quarkus-micronaut-i-jkube\\\/#breadcrumb\"},\"inLanguage\":\"pl-PL\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/vived.io\\\/pl\\\/jvm-tuesday-vol-75-scala-js-kotlindl-gradle-quarkus-micronaut-i-jkube\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\\\/\\\/vived.io\\\/pl\\\/jvm-tuesday-vol-75-scala-js-kotlindl-gradle-quarkus-micronaut-i-jkube\\\/#primaryimage\",\"url\":\"https:\\\/\\\/vived.io\\\/wp-content\\\/uploads\\\/2022\\\/02\\\/2021-skoda-scala-edition-s-1.jpeg\",\"contentUrl\":\"https:\\\/\\\/vived.io\\\/wp-content\\\/uploads\\\/2022\\\/02\\\/2021-skoda-scala-edition-s-1.jpeg\",\"width\":1920,\"height\":1080},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/vived.io\\\/pl\\\/jvm-tuesday-vol-75-scala-js-kotlindl-gradle-quarkus-micronaut-i-jkube\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Strona g\u0142\u00f3wna\",\"item\":\"https:\\\/\\\/vived.io\\\/pl\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"JVM Tuesday vol. 75 &#8211; Scala.js, KotlinDL, Gradle, Quarkus, Micronaut i&#8230; JKube\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/3.68.244.71\\\/#website\",\"url\":\"https:\\\/\\\/3.68.244.71\\\/\",\"name\":\"Vived\",\"description\":\"platform empowering IT people and technology companies to synergic growth\",\"publisher\":{\"@id\":\"https:\\\/\\\/3.68.244.71\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/3.68.244.71\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pl-PL\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/3.68.244.71\\\/#organization\",\"name\":\"Vived\",\"url\":\"https:\\\/\\\/3.68.244.71\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\\\/\\\/3.68.244.71\\\/#\\\/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:\\\/\\\/3.68.244.71\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/3.68.244.71\\\/#\\\/schema\\\/person\\\/0eb0878110cb27edfbfe46e841fe6db3\",\"name\":\"Artur Skowro\u0144ski\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/29055786486c8b9dc1507f2744221c5bdb8d7ef6e6217ced0326dd3296aea6ed?s=96&d=mm&r=g\",\"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. 75 - Scala.js, KotlinDL, Gradle, Quarkus, Micronaut i... JKube - 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-75-scala-js-kotlindl-gradle-quarkus-micronaut-i-jkube\/","og_locale":"pl_PL","og_type":"article","og_title":"JVM Tuesday vol. 75 - Scala.js, KotlinDL, Gradle, Quarkus, Micronaut i... JKube - Vived","og_description":"W dniu dzisiejszym obrodzi\u0142o przede wszystkim nowymi wydaniami - tych jest a\u017c 4(!). \u017beby jednak nieco urozmaici\u0107 wydanie, mamy te\u017c informacje o unifikacji Scala.js i tutorial do KotlinDL.","og_url":"https:\/\/vived.io\/pl\/jvm-tuesday-vol-75-scala-js-kotlindl-gradle-quarkus-micronaut-i-jkube\/","og_site_name":"Vived","article_published_time":"2022-02-08T17:58:17+00:00","article_modified_time":"2022-09-19T11:10:42+00:00","og_image":[{"width":1200,"height":628,"url":"https:\/\/vived.io\/wp-content\/uploads\/2022\/02\/JVM-2.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-75-scala-js-kotlindl-gradle-quarkus-micronaut-i-jkube\/#article","isPartOf":{"@id":"https:\/\/vived.io\/pl\/jvm-tuesday-vol-75-scala-js-kotlindl-gradle-quarkus-micronaut-i-jkube\/"},"author":{"name":"Artur Skowro\u0144ski","@id":"https:\/\/3.68.244.71\/#\/schema\/person\/0eb0878110cb27edfbfe46e841fe6db3"},"headline":"JVM Tuesday vol. 75 &#8211; Scala.js, KotlinDL, Gradle, Quarkus, Micronaut i&#8230; JKube","datePublished":"2022-02-08T17:58:17+00:00","dateModified":"2022-09-19T11:10:42+00:00","mainEntityOfPage":{"@id":"https:\/\/vived.io\/pl\/jvm-tuesday-vol-75-scala-js-kotlindl-gradle-quarkus-micronaut-i-jkube\/"},"wordCount":875,"publisher":{"@id":"https:\/\/3.68.244.71\/#organization"},"image":{"@id":"https:\/\/vived.io\/pl\/jvm-tuesday-vol-75-scala-js-kotlindl-gradle-quarkus-micronaut-i-jkube\/#primaryimage"},"thumbnailUrl":"https:\/\/vived.io\/wp-content\/uploads\/2022\/02\/2021-skoda-scala-edition-s-1.jpeg","articleSection":["JVM"],"inLanguage":"pl-PL"},{"@type":"WebPage","@id":"https:\/\/vived.io\/pl\/jvm-tuesday-vol-75-scala-js-kotlindl-gradle-quarkus-micronaut-i-jkube\/","url":"https:\/\/vived.io\/pl\/jvm-tuesday-vol-75-scala-js-kotlindl-gradle-quarkus-micronaut-i-jkube\/","name":"JVM Tuesday vol. 75 - Scala.js, KotlinDL, Gradle, Quarkus, Micronaut i... JKube - Vived","isPartOf":{"@id":"https:\/\/3.68.244.71\/#website"},"primaryImageOfPage":{"@id":"https:\/\/vived.io\/pl\/jvm-tuesday-vol-75-scala-js-kotlindl-gradle-quarkus-micronaut-i-jkube\/#primaryimage"},"image":{"@id":"https:\/\/vived.io\/pl\/jvm-tuesday-vol-75-scala-js-kotlindl-gradle-quarkus-micronaut-i-jkube\/#primaryimage"},"thumbnailUrl":"https:\/\/vived.io\/wp-content\/uploads\/2022\/02\/2021-skoda-scala-edition-s-1.jpeg","datePublished":"2022-02-08T17:58:17+00:00","dateModified":"2022-09-19T11:10:42+00:00","breadcrumb":{"@id":"https:\/\/vived.io\/pl\/jvm-tuesday-vol-75-scala-js-kotlindl-gradle-quarkus-micronaut-i-jkube\/#breadcrumb"},"inLanguage":"pl-PL","potentialAction":[{"@type":"ReadAction","target":["https:\/\/vived.io\/pl\/jvm-tuesday-vol-75-scala-js-kotlindl-gradle-quarkus-micronaut-i-jkube\/"]}]},{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/vived.io\/pl\/jvm-tuesday-vol-75-scala-js-kotlindl-gradle-quarkus-micronaut-i-jkube\/#primaryimage","url":"https:\/\/vived.io\/wp-content\/uploads\/2022\/02\/2021-skoda-scala-edition-s-1.jpeg","contentUrl":"https:\/\/vived.io\/wp-content\/uploads\/2022\/02\/2021-skoda-scala-edition-s-1.jpeg","width":1920,"height":1080},{"@type":"BreadcrumbList","@id":"https:\/\/vived.io\/pl\/jvm-tuesday-vol-75-scala-js-kotlindl-gradle-quarkus-micronaut-i-jkube\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Strona g\u0142\u00f3wna","item":"https:\/\/vived.io\/pl\/"},{"@type":"ListItem","position":2,"name":"JVM Tuesday vol. 75 &#8211; Scala.js, KotlinDL, Gradle, Quarkus, Micronaut i&#8230; JKube"}]},{"@type":"WebSite","@id":"https:\/\/3.68.244.71\/#website","url":"https:\/\/3.68.244.71\/","name":"Vived","description":"platform empowering IT people and technology companies to synergic growth","publisher":{"@id":"https:\/\/3.68.244.71\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/3.68.244.71\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pl-PL"},{"@type":"Organization","@id":"https:\/\/3.68.244.71\/#organization","name":"Vived","url":"https:\/\/3.68.244.71\/","logo":{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/3.68.244.71\/#\/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:\/\/3.68.244.71\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/3.68.244.71\/#\/schema\/person\/0eb0878110cb27edfbfe46e841fe6db3","name":"Artur Skowro\u0144ski","image":{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/secure.gravatar.com\/avatar\/29055786486c8b9dc1507f2744221c5bdb8d7ef6e6217ced0326dd3296aea6ed?s=96&d=mm&r=g","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 id=\"1-scala-js-doczeka-sie-unifikacji\">1. Scala.js doczeka si\u0119 \u201cunifikacji\u201d<\/h2>\n","innerContent":["\n<h2 id=\"1-scala-js-doczeka-sie-unifikacji\">1. Scala.js doczeka si\u0119 \u201cunifikacji\u201d<\/h2>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/image","attrs":{"align":"center","width":550,"height":310},"innerBlocks":[],"innerHTML":"\n<figure class=\"wp-block-image aligncenter is-resized\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/06\/img_62a88bf1cfdfb.png\" alt=\"\" width=\"550\" height=\"310\"\/><\/figure>\n","innerContent":["\n<figure class=\"wp-block-image aligncenter is-resized\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/06\/img_62a88bf1cfdfb.png\" alt=\"\" width=\"550\" height=\"310\"\/><\/figure>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Ten rok b\u0119dzie rokiem Scali.js! Bo przecie\u017c skoro Scala Center chce <a href=\"https:\/\/contributors.scala-lang.org\/t\/the-scala-centers-roadmap-for-a-unified-scala-js-ecosystem\/5568\">dokona\u0107 unifikacji jej ekosystemu<\/a> pod swoimi skrzyd\u0142ami, to ju\u017c nic jej nie powstrzyma.<\/p>\n","innerContent":["\n<p>Ten rok b\u0119dzie rokiem Scali.js! Bo przecie\u017c skoro Scala Center chce <a href=\"https:\/\/contributors.scala-lang.org\/t\/the-scala-centers-roadmap-for-a-unified-scala-js-ecosystem\/5568\">dokona\u0107 unifikacji jej ekosystemu<\/a> pod swoimi skrzyd\u0142ami, to ju\u017c nic jej nie powstrzyma.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>A tak \u017carty na bok - ja szalenie lubi\u0119 ten jednak do\u015b\u0107 niszowy projekt, dlatego te\u017c mocno trzymam kciuki i ciesz\u0119 si\u0119, \u017ce w dalszym ci\u0105gu jest jednak relatywnie dynamicznie rozwijany i ci\u0105gni\u0119ty na bie\u017c\u0105co za rozwojem samej Scali. Ostatnio ekosystem tego j\u0119zyka doczeka\u0142 si\u0119 kilku strategicznych \u201cporzuce\u0144\u201d, i cho\u0107 dzia\u0142o si\u0119 to g\u0142\u00f3wnie w wyniku \u201codchudzania\u201d Lightbendu (jak to by\u0142o z Play Framework), to cieszy fakt, \u017ce Scala Center konsekwentnie pcha swoje projekty.<\/p>\n","innerContent":["\n<p>A tak \u017carty na bok - ja szalenie lubi\u0119 ten jednak do\u015b\u0107 niszowy projekt, dlatego te\u017c mocno trzymam kciuki i ciesz\u0119 si\u0119, \u017ce w dalszym ci\u0105gu jest jednak relatywnie dynamicznie rozwijany i ci\u0105gni\u0119ty na bie\u017c\u0105co za rozwojem samej Scali. Ostatnio ekosystem tego j\u0119zyka doczeka\u0142 si\u0119 kilku strategicznych \u201cporzuce\u0144\u201d, i cho\u0107 dzia\u0142o si\u0119 to g\u0142\u00f3wnie w wyniku \u201codchudzania\u201d Lightbendu (jak to by\u0142o z Play Framework), to cieszy fakt, \u017ce Scala Center konsekwentnie pcha swoje projekty.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>W ramach wspomnianej unifikacji - kt\u00f3rej pierwsza iteracja potrwa oko\u0142o miesi\u0105c - nale\u017cy si\u0119 spodziewa\u0107 odkurzenia strony internetowej, poprawienia jako\u015bci tutoriali, a tak\u017ce dopisania brakuj\u0105cych narz\u0119dzi, co poprawi\u0107 ma \u201cDeveloper Experience\u201d przy u\u017cyciu frameworka. Jest to z mojej perspektywy bardzo pozytywny ruch - to w\u0142a\u015bnie powy\u017csze aspekty s\u0105 najcz\u0119\u015bciej pomijane w ramach pracy nad otwarto-\u017ar\u00f3d\u0142owym kodem, a cz\u0119sto stanowi\u0105 o by\u0107 albo nie by\u0107 danej inicjatywy. Z rzeczy bli\u017cej kodu, dokonany zostanie przegl\u0105d najwa\u017cniejszych bibliotek i podj\u0119ta decyzja, kt\u00f3re powinny zosta\u0107 wsparte w pierwszej kolejno\u015bci.&nbsp;<\/p>\n","innerContent":["\n<p>W ramach wspomnianej unifikacji - kt\u00f3rej pierwsza iteracja potrwa oko\u0142o miesi\u0105c - nale\u017cy si\u0119 spodziewa\u0107 odkurzenia strony internetowej, poprawienia jako\u015bci tutoriali, a tak\u017ce dopisania brakuj\u0105cych narz\u0119dzi, co poprawi\u0107 ma \u201cDeveloper Experience\u201d przy u\u017cyciu frameworka. Jest to z mojej perspektywy bardzo pozytywny ruch - to w\u0142a\u015bnie powy\u017csze aspekty s\u0105 najcz\u0119\u015bciej pomijane w ramach pracy nad otwarto-\u017ar\u00f3d\u0142owym kodem, a cz\u0119sto stanowi\u0105 o by\u0107 albo nie by\u0107 danej inicjatywy. Z rzeczy bli\u017cej kodu, dokonany zostanie przegl\u0105d najwa\u017cniejszych bibliotek i podj\u0119ta decyzja, kt\u00f3re powinny zosta\u0107 wsparte w pierwszej kolejno\u015bci.&nbsp;<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/heading","attrs":[],"innerBlocks":[],"innerHTML":"\n<h2 id=\"2-buzzwordowa-bomba-object-detection-przy-pomocy-kotlindl-i-ktor-a\">2. Buzzwordowa bomba - Object Detection przy pomocy KotlinDL i ktor\u2019a<\/h2>\n","innerContent":["\n<h2 id=\"2-buzzwordowa-bomba-object-detection-przy-pomocy-kotlindl-i-ktor-a\">2. Buzzwordowa bomba - Object Detection przy pomocy KotlinDL i ktor\u2019a<\/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_62a88bf6c7b3d.png\" alt=\"\"\/><\/figure>\n","innerContent":["\n<figure class=\"wp-block-image aligncenter\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/06\/img_62a88bf6c7b3d.png\" alt=\"\"\/><\/figure>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Wyj\u0105tkowo lubi\u0119 to, jak \u201cpojemnym\u201d projektem jest Kotlin, a tak\u017ce jak bardzo JetBrains stara si\u0119, \u017ceby nikt o tej pojemno\u015bci nie zapomnia\u0142. Na ich stronie regularnie publikowane s\u0105 r\u00f3\u017cnego rodzaju case studies, jedne nieco bardziej oczywiste (jak np. kotlinowe rozwi\u0105zywania Advent of Code), inne znacznie bardziej odjechane, jak bohater tego paragrafu.&nbsp;<\/p>\n","innerContent":["\n<p>Wyj\u0105tkowo lubi\u0119 to, jak \u201cpojemnym\u201d projektem jest Kotlin, a tak\u017ce jak bardzo JetBrains stara si\u0119, \u017ceby nikt o tej pojemno\u015bci nie zapomnia\u0142. Na ich stronie regularnie publikowane s\u0105 r\u00f3\u017cnego rodzaju case studies, jedne nieco bardziej oczywiste (jak np. kotlinowe rozwi\u0105zywania Advent of Code), inne znacznie bardziej odjechane, jak bohater tego paragrafu.&nbsp;<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Ot\u00f3\u017c JetBrains pokaza\u0142o w zesz\u0142ym tygodniu, jak <a href=\"https:\/\/blog.jetbrains.com\/kotlin\/2022\/01\/object-detection-with-kotlindl-and-ktor\/\">stworzy\u0107 przy u\u017cyciu biblioteki KotlinDL prosty Object Detector<\/a>. Opr\u00f3cz jednak tego, \u017ce ca\u0142o\u015b\u0107 jest przyst\u0119pnym wprowadzeniem, to jakby nie wierz\u0105c w popularno\u015b\u0107 samego Deep Learningu na Kotlinie, postanowiono ca\u0142o\u015b\u0107 po\u017ceni\u0107 z innym popularnym projektem - ktor-em. Sprawia to, \u017ce \u017c\u0105dni nauki mog\u0105 upiec dwie pieczenie na jednym ogniu - nie tylko stworz\u0105 sobie sw\u00f3j pierwszy model (czy raczej \u0142adnie zapakuj\u0105 istniej\u0105cy), co jeszcze b\u0119d\u0105 w stanie odpali\u0107 go po API przy u\u017cyciu popularnego frameworka.<\/p>\n","innerContent":["\n<p>Ot\u00f3\u017c JetBrains pokaza\u0142o w zesz\u0142ym tygodniu, jak <a href=\"https:\/\/blog.jetbrains.com\/kotlin\/2022\/01\/object-detection-with-kotlindl-and-ktor\/\">stworzy\u0107 przy u\u017cyciu biblioteki KotlinDL prosty Object Detector<\/a>. Opr\u00f3cz jednak tego, \u017ce ca\u0142o\u015b\u0107 jest przyst\u0119pnym wprowadzeniem, to jakby nie wierz\u0105c w popularno\u015b\u0107 samego Deep Learningu na Kotlinie, postanowiono ca\u0142o\u015b\u0107 po\u017ceni\u0107 z innym popularnym projektem - ktor-em. Sprawia to, \u017ce \u017c\u0105dni nauki mog\u0105 upiec dwie pieczenie na jednym ogniu - nie tylko stworz\u0105 sobie sw\u00f3j pierwszy model (czy raczej \u0142adnie zapakuj\u0105 istniej\u0105cy), co jeszcze b\u0119d\u0105 w stanie odpali\u0107 go po API przy u\u017cyciu popularnego frameworka.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>My\u015bl\u0119, \u017ce ca\u0142o\u015b\u0107 stanowi bardzo dobre wprowadzenie dla os\u00f3b, kt\u00f3re znaj\u0105 Kotlina i chcia\u0142yby lizn\u0105\u0107 troch\u0119 tajniki Deep Learningu. Wiadomo, ekspertami si\u0119 w \u017cadnym wypadku nie zostan\u0105, ale ca\u0142o\u015b\u0107 mo\u017ce stanowi\u0107 dobry \u201cgateway drug\u201d dla chc\u0105cych si\u0119 troch\u0119 pobawi\u0107 tym, na co pozwala nowoczesne AI - a przy okazji czego\u015b si\u0119 nauczy\u0107.&nbsp;<\/p>\n","innerContent":["\n<p>My\u015bl\u0119, \u017ce ca\u0142o\u015b\u0107 stanowi bardzo dobre wprowadzenie dla os\u00f3b, kt\u00f3re znaj\u0105 Kotlina i chcia\u0142yby lizn\u0105\u0107 troch\u0119 tajniki Deep Learningu. Wiadomo, ekspertami si\u0119 w \u017cadnym wypadku nie zostan\u0105, ale ca\u0142o\u015b\u0107 mo\u017ce stanowi\u0107 dobry \u201cgateway drug\u201d dla chc\u0105cych si\u0119 troch\u0119 pobawi\u0107 tym, na co pozwala nowoczesne AI - a przy okazji czego\u015b si\u0119 nauczy\u0107.&nbsp;<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/heading","attrs":[],"innerBlocks":[],"innerHTML":"\n<h2 id=\"3-nowe-wydania-gradle-quarkus-micronaut-i-jkube\">3. Nowe wydania: Gradle, Quarkus, Micronaut i\u2026 JKube<\/h2>\n","innerContent":["\n<h2 id=\"3-nowe-wydania-gradle-quarkus-micronaut-i-jkube\">3. Nowe wydania: Gradle, Quarkus, Micronaut i\u2026 JKube<\/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_62a88bf76e229.gif\" alt=\"\"\/><\/figure>\n","innerContent":["\n<figure class=\"wp-block-image aligncenter\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/06\/img_62a88bf76e229.gif\" alt=\"\"\/><\/figure>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>A na koniec, skr\u00f3towy opis 4(!) r\u00f3\u017cnych nowych wyda\u0144 z ostatnich tygodni. \u017badne z nich nie jest czym\u015b \u201c\u0142ami\u0105cym\u201d, ale ka\u017cde przynosi co\u015b przynajmniej ciekawego.<\/p>\n","innerContent":["\n<p>A na koniec, skr\u00f3towy opis 4(!) r\u00f3\u017cnych nowych wyda\u0144 z ostatnich tygodni. \u017badne z nich nie jest czym\u015b \u201c\u0142ami\u0105cym\u201d, ale ka\u017cde przynosi co\u015b przynajmniej ciekawego.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>W dniu dzisiejszym pojawi\u0142 si\u0119 <a href=\"https:\/\/docs.gradle.org\/7.4\/release-notes.html\">Gradle w wersji 7.4<\/a>. Co przynosi? Tak naprawd\u0119 uciesz\u0105 si\u0119 najbardziej osoby posiadaj\u0105cy projekty multi modu\u0142owe. G\u0142\u00f3wnymi highlightami wydania jest bowiem generowanie raport\u00f3w (czy to z test\u00f3w, czy to np. z pokrycia kodem) z wielu projekt\u00f3w na raz, dzi\u0119ki czemu otrzymujesz zbiorczy plik z wszystkimi informacjami z ka\u017cdemu z build\u00f3w. Opr\u00f3cz tego uciesz\u0105 si\u0119 te\u017c u\u017cytkownicy Intellij IDEA, poniewa\u017c wprowadzono automatyczne oznaczanie w IDE katalog\u00f3w z kodem testowym, zgodnie z konfiguracj\u0105 z Gradle.<\/p>\n","innerContent":["\n<p>W dniu dzisiejszym pojawi\u0142 si\u0119 <a href=\"https:\/\/docs.gradle.org\/7.4\/release-notes.html\">Gradle w wersji 7.4<\/a>. Co przynosi? Tak naprawd\u0119 uciesz\u0105 si\u0119 najbardziej osoby posiadaj\u0105cy projekty multi modu\u0142owe. G\u0142\u00f3wnymi highlightami wydania jest bowiem generowanie raport\u00f3w (czy to z test\u00f3w, czy to np. z pokrycia kodem) z wielu projekt\u00f3w na raz, dzi\u0119ki czemu otrzymujesz zbiorczy plik z wszystkimi informacjami z ka\u017cdemu z build\u00f3w. Opr\u00f3cz tego uciesz\u0105 si\u0119 te\u017c u\u017cytkownicy Intellij IDEA, poniewa\u017c wprowadzono automatyczne oznaczanie w IDE katalog\u00f3w z kodem testowym, zgodnie z konfiguracj\u0105 z Gradle.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Kolejna nowo\u015b\u0107 to <a href=\"https:\/\/quarkus.io\/blog\/quarkus-2-7-0-final-released\/\">Quarkus w wersji 2.7.0<\/a>. Tutaj s\u0142owem kluczem jest Quarkus CLI, kt\u00f3ra wreszcie doczeka\u0142a si\u0119 umieszczenia w miejscach, sk\u0105d ludzie realnie \u015bci\u0105gaj\u0105 CLI - czyli Homebrew, SDKMan i reszt\u0119 zarz\u0105dzania pakietami. Opr\u00f3cz tego wprowadzono troch\u0119 reaktywno\u015bci - Oracle DB dosta\u0142o reaktywnego klienta, a tak\u017ce wsparcie serializacji kotlinowej dla RESTEasy Reactive. Ostatnim ciekawym dodatkiem jest SmallRye Stork w wersji 1.0 - biblioteka Service Discovery zgodna ze specyfikacj\u0105 Jakarty EE.<\/p>\n","innerContent":["\n<p>Kolejna nowo\u015b\u0107 to <a href=\"https:\/\/quarkus.io\/blog\/quarkus-2-7-0-final-released\/\">Quarkus w wersji 2.7.0<\/a>. Tutaj s\u0142owem kluczem jest Quarkus CLI, kt\u00f3ra wreszcie doczeka\u0142a si\u0119 umieszczenia w miejscach, sk\u0105d ludzie realnie \u015bci\u0105gaj\u0105 CLI - czyli Homebrew, SDKMan i reszt\u0119 zarz\u0105dzania pakietami. Opr\u00f3cz tego wprowadzono troch\u0119 reaktywno\u015bci - Oracle DB dosta\u0142o reaktywnego klienta, a tak\u017ce wsparcie serializacji kotlinowej dla RESTEasy Reactive. Ostatnim ciekawym dodatkiem jest SmallRye Stork w wersji 1.0 - biblioteka Service Discovery zgodna ze specyfikacj\u0105 Jakarty EE.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Trzeci\u0105 z ciekawych nowych edycji jest <a href=\"https:\/\/micronaut.io\/2022\/01\/27\/micronaut-framework-3-3-released\/\">Micronaut w wersji 3.3<\/a>. Ten przynosi min. b\u0142yskawiczne wsparcie dla opisywanego tydzie\u0144 temu GraalVM 22.0, ale g\u0142\u00f3wnym daniem ca\u0142o\u015bci jest Micronaut AOT. Ten nowy modu\u0142 Ahead-of-Time Compilation ma umo\u017cliwi\u0107 znacznie przyspieszenie startu aplikacji poprzez wykonywanie cz\u0119\u015bci niezb\u0119dnych do uruchomienia operacji ju\u017c na poziomie kompilacji. Dzieje si\u0119 tak min. poprzez usuwanie nadmiarowych klas z finalnej paczki. Wi\u0119cej szczeg\u00f3\u0142\u00f3w mo\u017cecie przeczyta\u0107 w <a href=\"https:\/\/micronaut.io\/2021\/12\/20\/micronaut-aot-build-time-optimizations-for-micronaut-applications\/\">po\u015bcie szerzej opisuj\u0105cym t\u0105 funkcjonalno\u015b\u0107<\/a>.<\/p>\n","innerContent":["\n<p>Trzeci\u0105 z ciekawych nowych edycji jest <a href=\"https:\/\/micronaut.io\/2022\/01\/27\/micronaut-framework-3-3-released\/\">Micronaut w wersji 3.3<\/a>. Ten przynosi min. b\u0142yskawiczne wsparcie dla opisywanego tydzie\u0144 temu GraalVM 22.0, ale g\u0142\u00f3wnym daniem ca\u0142o\u015bci jest Micronaut AOT. Ten nowy modu\u0142 Ahead-of-Time Compilation ma umo\u017cliwi\u0107 znacznie przyspieszenie startu aplikacji poprzez wykonywanie cz\u0119\u015bci niezb\u0119dnych do uruchomienia operacji ju\u017c na poziomie kompilacji. Dzieje si\u0119 tak min. poprzez usuwanie nadmiarowych klas z finalnej paczki. Wi\u0119cej szczeg\u00f3\u0142\u00f3w mo\u017cecie przeczyta\u0107 w <a href=\"https:\/\/micronaut.io\/2021\/12\/20\/micronaut-aot-build-time-optimizations-for-micronaut-applications\/\">po\u015bcie szerzej opisuj\u0105cym t\u0105 funkcjonalno\u015b\u0107<\/a>.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Ostatni z dzisiejszych release notes dotyczy za\u015b projektu na tyle niszowego, \u017ce przyznam i\u017c pomimo pisania naszych przegl\u0105d\u00f3w grubo ponad roku, trafi\u0142em na niego po raz pierwszy, od razu jednak przyku\u0142 moj\u0105 uwag\u0119. Eclipse JKube to zbi\u00f3r wtyczek i bibliotek, kt\u00f3re pomagaj\u0105 w tworzeniu javowych aplikacji w wersji Cloud-Nativie. Zawiera narz\u0119dzia do budowania obraz\u00f3w kontener\u00f3w przy u\u017cyciu Docker czy te\u017c JIBa, a ponadto umo\u017cliwia generowanie plik\u00f3w konfiguracyjnych klastra (YAML) i wdra\u017canie ich w klastrach Kubernetes lub OpenShift\u2026. uff, ca\u0142kiem konkretny kombajn. Okazuje si\u0119 zreszt\u0105, \u017ce produkt jest kontynuacj\u0105 znanego Wam mo\u017ce Fabric8, kt\u00f3ry by\u0142 popularny jeszcze par\u0119 lat temu. Nowa <a href=\"https:\/\/blog.marcnuri.com\/eclipse-jkube-1-6-0\">wersja 1.6.0<\/a> to do\u015b\u0107 sztampowe podbicie zale\u017cno\u015bci (Java 17), ale tak\u017ce usprawnienia wsp\u00f3\u0142pracy z Helmem oraz Gradle.<\/p>\n","innerContent":["\n<p>Ostatni z dzisiejszych release notes dotyczy za\u015b projektu na tyle niszowego, \u017ce przyznam i\u017c pomimo pisania naszych przegl\u0105d\u00f3w grubo ponad roku, trafi\u0142em na niego po raz pierwszy, od razu jednak przyku\u0142 moj\u0105 uwag\u0119. Eclipse JKube to zbi\u00f3r wtyczek i bibliotek, kt\u00f3re pomagaj\u0105 w tworzeniu javowych aplikacji w wersji Cloud-Nativie. Zawiera narz\u0119dzia do budowania obraz\u00f3w kontener\u00f3w przy u\u017cyciu Docker czy te\u017c JIBa, a ponadto umo\u017cliwia generowanie plik\u00f3w konfiguracyjnych klastra (YAML) i wdra\u017canie ich w klastrach Kubernetes lub OpenShift\u2026. uff, ca\u0142kiem konkretny kombajn. Okazuje si\u0119 zreszt\u0105, \u017ce produkt jest kontynuacj\u0105 znanego Wam mo\u017ce Fabric8, kt\u00f3ry by\u0142 popularny jeszcze par\u0119 lat temu. Nowa <a href=\"https:\/\/blog.marcnuri.com\/eclipse-jkube-1-6-0\">wersja 1.6.0<\/a> to do\u015b\u0107 sztampowe podbicie zale\u017cno\u015bci (Java 17), ale tak\u017ce usprawnienia wsp\u00f3\u0142pracy z Helmem oraz Gradle.<\/p>\n"]}],"_links":{"self":[{"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/posts\/10009","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=10009"}],"version-history":[{"count":1,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/posts\/10009\/revisions"}],"predecessor-version":[{"id":10536,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/posts\/10009\/revisions\/10536"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/media\/7930"}],"wp:attachment":[{"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/media?parent=10009"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/categories?post=10009"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/tags?post=10009"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}