{"id":9523,"date":"2022-08-24T09:00:29","date_gmt":"2022-08-24T07:00:29","guid":{"rendered":"https:\/\/vived.io\/?p=9523"},"modified":"2022-09-19T13:10:34","modified_gmt":"2022-09-19T11:10:34","slug":"helidon-nima-pierwszy-framework-zbudowanych-od-podstaw-dla-project-loom-jvm-weekly-101","status":"publish","type":"post","link":"https:\/\/vived.io\/pl\/helidon-nima-pierwszy-framework-zbudowanych-od-podstaw-dla-project-loom-jvm-weekly-101\/","title":{"rendered":"Helidon Nima &#8211; Pierwszy Framework zbudowanych od podstaw dla Project Loom &#8211; JVM Weekly 101"},"content":{"rendered":"\n<h2 id=\"1-helidon-nima-pierwszy-framework-zbudowanych-od-podstaw-dla-project-loom\" data-num=1>1. Helidon Nima &#8211; Pierwszy Framework zbudowanych od podstaw dla Project Loom<\/h2>\n\n\n\n<p>Czy kojarzycie EclipseCon? Jest to coroczna, odbywaj\u0105ca si\u0119 co rok w Niemczech konferencja, kt\u00f3ra zajmuje si\u0119 nie tyle Eclipse IDE (jak mo\u017cna by na pierwszy rzut oka podejrzewa\u0107), ale wszystkimi projektami znajduj\u0105cymi si\u0119 pod &#8222;parasolk\u0105&#8221; Eclipse Foundation. A \u017ce ta zagarnia ostatnimi laty pod siebie mas\u0119 projekt\u00f3w, to z roku na rok robi si\u0119 z tego coraz ciekawsze wydarzenie. Z masy naprawd\u0119 interesuj\u0105cych talk\u00f3w wybija si\u0119 jednak jeden, o do\u015b\u0107 znamiennej nazwie: <strong><a href=\"https:\/\/www.eclipsecon.org\/2022\/sessions\/helidon-nima-loom-based-microservices-framework\">Helidon Nima &#8211; Loom based microservices framework<\/a><\/strong>.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/08\/image-29.png\" alt=\"\" class=\"wp-image-9533\" width=\"552\" height=\"454\" srcset=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/08\/image-29.png 736w, https:\/\/vived.io\/wp-content\/uploads\/2022\/08\/image-29-300x247.png 300w\" sizes=\"auto, (max-width: 552px) 100vw, 552px\" \/><figcaption>Mam nadzieje, \u017ce taka jest w\u0142a\u015bnie Wasza reakcja.<\/figcaption><\/figure><\/div>\n\n\n<p>Okazuje si\u0119 bowiem, \u017ce szykuje nam si\u0119 pierwszy(?) framework, w kt\u00f3rym Loom nie b\u0119dzie doklejonym dodatkiem, a &#8222;First-Class Citizen&#8221;. Na razie samych szczeg\u00f3\u0142\u00f3w z jednej strony nie mamy za wiele (abstrakt z ElipseCon to jedyne oficjalne wspomnienie o Nimie), z drugiej strony&#8230; pocz\u0105tkiem tygodnia w ramach repozytorium Helidona <a href=\"https:\/\/github.com\/oracle\/helidon\/tree\/main\/nima\">ukaza\u0142 si\u0119 jej kod \u017ar\u00f3d\u0142owy<\/a>. Tak\u017ce je\u015bli kto\u015b ma ochot\u0119, mo\u017ce sobie zobaczy\u0107 jakie API chc\u0105 zaproponowa\u0107 nam jego tw\u00f3rcy.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>Og\u00f3lnie ciekawy b\u0119dzie ten pa\u017adziernik. Najpierw JavaOne (17-20.10 &#8211; impreza doczeka\u0142a si\u0119 <a href=\"https:\/\/www.youtube.com\/watch?v=HiHgAh7wWPc\">ju\u017c zapowiedzi video w Inside Java Newscast zawieraj\u0105cej przegl\u0105d agendy<\/a>), a potem EclipseCon (24-27.10). Czy ktokolwiek z naszych czytelnik\u00f3w si\u0119 na kt\u00f3r\u0105\u015b wybiera? Dajcie prosz\u0119 zna\u0107 na <a href=\"https:\/\/www.facebook.com\/vivedapp\">naszej stronie Facebookowej<\/a>.<\/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:\/\/www.eclipsecon.org\/2022\/sessions\/helidon-nima-loom-based-microservices-framework\">Helidon Nima &#8211; Loom based microservices framework<\/a><\/li><li><a href=\"https:\/\/github.com\/oracle\/helidon\/tree\/main\/nima\">Nima Source Code<\/a><\/li><li><a href=\"https:\/\/www.youtube.com\/watch?v=HiHgAh7wWPc\">String Templates, JavaFX 19, Deserialization, and more at JavaOne &#8211; Inside Java Newscast #32<\/a><\/li><\/ul>\n\n\n\n<h2 id=\"2-release-radar-slf4j-2-0\" data-num=2>2. Release Radar: slf4j 2.0<\/h2>\n\n\n\n<p>Porozmawiali\u015bmy troch\u0119 o przysz\u0142o\u015bci Javy, teraz czas troch\u0119 spojrze\u0107 na jej tera\u017aniejszo\u015b\u0107.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/08\/image-28-1024x576.png\" alt=\"\" class=\"wp-image-9528\" width=\"512\" height=\"288\" srcset=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/08\/image-28-1024x576.png 1024w, https:\/\/vived.io\/wp-content\/uploads\/2022\/08\/image-28-300x169.png 300w, https:\/\/vived.io\/wp-content\/uploads\/2022\/08\/image-28-768x432.png 768w, https:\/\/vived.io\/wp-content\/uploads\/2022\/08\/image-28.png 1200w\" sizes=\"auto, (max-width: 512px) 100vw, 512px\" \/><figcaption>A mo\u017ce nawet przesz\u0142o\u015b\u0107, ale bez spoiler\u00f3w.<\/figcaption><\/figure><\/div>\n\n\n<p>Podejrzewam, \u017ce praktycznie ka\u017cdy z czytaj\u0105cych ten newsletter (przynajmniej z tych b\u0119d\u0105cych w bran\u017cy ju\u017c par\u0119 lat) cho\u0107 raz mia\u0142 przyjemno\u015b\u0107 dok\u0142adania do projektu slf4j. Nazw\u0119 t\u0105 rozwija si\u0119 jako <strong>The Simple Logging Facade for Java<\/strong> i tak\u0105 w\u0142a\u015bnie jest jej rola &#8211; tak, jak np. Hibernate stanowi abstrakcje nad bazami danych, tak slf4j ukrywa przed u\u017cytkownikiem detale implementacyjne framework\u00f3w. Dekad\u0119 temu, log4j w swojej pierwszej wersji by\u0142 frameworkiem mocno skomplikowanym, o niskopoziomowym API. Jego g\u0142\u00f3wnym konkurentem pozostawa\u0142 do\u015b\u0107 ograniczony w konfiguracji <code>java.util.logging<\/code>, a slf4j stanowi\u0142 bardzo wygodn\u0105 w u\u017cyciu abstrakcj\u0119, daj\u0105c\u0105 programi\u015bcie np. wygodn\u0105 kontrol\u0119 nad poziomami logowania.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"500\" height=\"598\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/08\/image-27.png\" alt=\"\" class=\"wp-image-9526\" srcset=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/08\/image-27.png 500w, https:\/\/vived.io\/wp-content\/uploads\/2022\/08\/image-27-251x300.png 251w\" sizes=\"auto, (max-width: 500px) 100vw, 500px\" \/><figcaption>Tak na boku &#8211; znacie jakikolwiek starszy ni\u017c 5 lat projekt Javowy nie posiadaj\u0105cy w\u0142asnej klasy <code>LogUtils<\/code>?<\/figcaption><\/figure><\/div>\n\n\n<p>Od czasu \u015bwietno\u015bci slf4j bran\u017ca jednak troch\u0119 wyewoluowa\u0142a. Najpierw pojawi\u0142 si\u0119 Logback, kt\u00f3ry zachwyci\u0142 programist\u00f3w b\u0142yskawiczn\u0105 inicjalizacj\u0105 (przez co \u0142atwiej u\u017cywa\u0142o si\u0119 go bezpo\u015brednio, bez dodatkowej abstrakcji), a nast\u0119pnie pojawi\u0142 si\u0119 log4j2, kt\u00f3ry przyni\u00f3s\u0142 API kompatybilne z slf4j, ale ju\u017c bez dodatkowego narzutu abstrakcji. W mi\u0119dzyczasie pojawi\u0142 si\u0119 te\u017c <code>java.lang.system.Logger<\/code>, czyli drugie podej\u015bcie tw\u00f3rc\u00f3w JDK do tematu logowania &#8211; du\u017co bardziej udane. Coraz wi\u0119cej ludzi sk\u0142ania si\u0119 ku temu, \u017ce w dobie dojrza\u0142ych rozwi\u0105za\u0144 do logowania, nie ma wiele sensu u\u017cywanie dodatkowej usp\u00f3jniaj\u0105cej abstrakcji &#8211; nawet log4shell nie przekona\u0142 raczej ludzi, \u017ce warto zmieni\u0107 ot tak sobie logger. To wszystko sk\u0142ada si\u0119 na fakt, \u017ce lata \u015bwietno\u015bci slf4j ma chyba za sob\u0105.<\/p>\n\n\n\n<p>Nie znaczy to jednak, \u017ce projekt stoi w miejscu, pojawi\u0142a si\u0119 bowiem pocz\u0105tkiem tygodnia <a href=\"https:\/\/www.slf4j.org\/news.html\">jego edycja 2.0.0<\/a>. Pewnym zmianom uleg\u0142o API (mocno przemodelowane zosta\u0142y niekt\u00f3re buildery oraz do\u0142o\u017cono Fluent Logging API), ale z pewno\u015bci\u0105 najwi\u0119ksza rewolucja wydarzy\u0142a si\u0119 pod mask\u0105. Wraz z now\u0105 wersj\u0105, slf4j pozby\u0142 si\u0119 wsparcia dla JDK mniejszych ni\u017c JDK 8 &#8211; nie s\u0105 wi\u0119c tak &#8222;ambitni&#8221; jak tw\u00f3rcy np. Springa, ale te\u017c ze wzgl\u0119du na swoje mocne zakorzenienie w przesz\u0142o\u015bci jest to do\u015b\u0107 rozs\u0105dny krok. Jednak r\u00f3wnie\u017c Ci u\u017cywaj\u0105cy nowszych JDK 9+ du\u017co zyskaj\u0105 na migracji &#8211; slf4j doczeka\u0142 si\u0119 bowiem wsparcia dla modu\u0142\u00f3w JPMS, dzi\u0119ki czemu \u0142atwiej b\u0119dzie si\u0119 go u\u017cywa\u0142o w zmodularyzowanych projektach.<\/p>\n\n\n\n<p>Je\u015bli chcecie wi\u0119cej, bardzo ciekaw\u0105 dyskusje o log4j2 vs slf4j znajdziecie <a href=\"https:\/\/stackoverflow.com\/questions\/41498021\/is-it-worth-to-use-slf4j-with-log4j2\">w w\u0105tku na StackOverflow<\/a><\/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:\/\/stackoverflow.com\/questions\/41498021\/is-it-worth-to-use-slf4j-with-log4j2\">Is it worth to use slf4j with log4j2<\/a><\/li><li><a href=\"https:\/\/www.slf4j.org\/news.html\">slf4j 2.0.0<\/a><\/li><\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Po poprzedniej, mocno wype\u0142nionej contentem, dzisiejsza edycja b\u0119dzie nieco kr\u00f3tsza &#8211; \u015bwiat IT jeszcze na wakacjach. Mam jednak dla Was jeden ciekawy release i jeden nie mniej interesuj\u0105cy nawet-jeszcze-nie-release. Mi\u0142ej lektury!<\/p>\n","protected":false},"author":10,"featured_media":9537,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[259],"tags":[330],"class_list":["post-9523","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-jvm-pl","tag-slf4j"],"acf":{"estimated_reading_time":"3","feature_image_blog":{"ID":9539,"id":9539,"title":"1","filename":"1-scaled.jpg","filesize":309846,"url":"https:\/\/vived.io\/wp-content\/uploads\/2022\/08\/1-scaled.jpg","link":"https:\/\/vived.io\/pl\/helidon-nima-pierwszy-framework-zbudowanych-od-podstaw-dla-project-loom-jvm-weekly-101\/attachment\/1\/","alt":"","author":"10","description":"","caption":"","name":"1","status":"inherit","uploaded_to":9523,"date":"2022-08-24 06:59:53","modified":"2022-08-24 06:59:53","menu_order":0,"mime_type":"image\/jpeg","type":"image","subtype":"jpeg","icon":"https:\/\/vived.io\/wp-includes\/images\/media\/default.png","width":2560,"height":1430,"sizes":{"thumbnail":"https:\/\/vived.io\/wp-content\/uploads\/2022\/08\/1-150x150.jpg","thumbnail-width":150,"thumbnail-height":150,"medium":"https:\/\/vived.io\/wp-content\/uploads\/2022\/08\/1-300x168.jpg","medium-width":300,"medium-height":168,"medium_large":"https:\/\/vived.io\/wp-content\/uploads\/2022\/08\/1-768x429.jpg","medium_large-width":768,"medium_large-height":429,"large":"https:\/\/vived.io\/wp-content\/uploads\/2022\/08\/1-1024x572.jpg","large-width":1024,"large-height":572,"1536x1536":"https:\/\/vived.io\/wp-content\/uploads\/2022\/08\/1-1536x858.jpg","1536x1536-width":1536,"1536x1536-height":858,"2048x2048":"https:\/\/vived.io\/wp-content\/uploads\/2022\/08\/1-2048x1144.jpg","2048x2048-width":2048,"2048x2048-height":1144,"gform-image-choice-sm":"https:\/\/vived.io\/wp-content\/uploads\/2022\/08\/1-scaled.jpg","gform-image-choice-sm-width":300,"gform-image-choice-sm-height":168,"gform-image-choice-md":"https:\/\/vived.io\/wp-content\/uploads\/2022\/08\/1-scaled.jpg","gform-image-choice-md-width":400,"gform-image-choice-md-height":223,"gform-image-choice-lg":"https:\/\/vived.io\/wp-content\/uploads\/2022\/08\/1-scaled.jpg","gform-image-choice-lg-width":600,"gform-image-choice-lg-height":335}},"weekly_summary":true,"push_notification_image":"https:\/\/vived.io\/wp-content\/uploads\/2022\/08\/JVM-Weekly-1200x628_V2-2.png","feature_image_visible":false},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.0 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Helidon Nima - Pierwszy Framework zbudowanych od podstaw dla Project Loom - JVM Weekly 101 - 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\/helidon-nima-pierwszy-framework-zbudowanych-od-podstaw-dla-project-loom-jvm-weekly-101\/\" \/>\n<meta property=\"og:locale\" content=\"pl_PL\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Helidon Nima - Pierwszy Framework zbudowanych od podstaw dla Project Loom - JVM Weekly 101 - Vived\" \/>\n<meta property=\"og:description\" content=\"Po poprzedniej, mocno wype\u0142nionej contentem, dzisiejsza edycja b\u0119dzie nieco kr\u00f3tsza - \u015bwiat IT jeszcze na wakacjach. Mam jednak dla Was jeden ciekawy release i jeden nie mniej interesuj\u0105cy nawet-jeszcze-nie-release. Mi\u0142ej lektury!\" \/>\n<meta property=\"og:url\" content=\"https:\/\/vived.io\/pl\/helidon-nima-pierwszy-framework-zbudowanych-od-podstaw-dla-project-loom-jvm-weekly-101\/\" \/>\n<meta property=\"og:site_name\" content=\"Vived\" \/>\n<meta property=\"article:published_time\" content=\"2022-08-24T07:00:29+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-09-19T11:10:34+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/08\/JVM-Weekly-1200x628_V2-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\/helidon-nima-pierwszy-framework-zbudowanych-od-podstaw-dla-project-loom-jvm-weekly-101\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/vived.io\/pl\/helidon-nima-pierwszy-framework-zbudowanych-od-podstaw-dla-project-loom-jvm-weekly-101\/\"},\"author\":{\"name\":\"Artur Skowro\u0144ski\",\"@id\":\"https:\/\/vived.io\/pl\/#\/schema\/person\/0eb0878110cb27edfbfe46e841fe6db3\"},\"headline\":\"Helidon Nima &#8211; Pierwszy Framework zbudowanych od podstaw dla Project Loom &#8211; JVM Weekly 101\",\"datePublished\":\"2022-08-24T07:00:29+00:00\",\"dateModified\":\"2022-09-19T11:10:34+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/vived.io\/pl\/helidon-nima-pierwszy-framework-zbudowanych-od-podstaw-dla-project-loom-jvm-weekly-101\/\"},\"wordCount\":747,\"publisher\":{\"@id\":\"https:\/\/vived.io\/pl\/#organization\"},\"image\":{\"@id\":\"https:\/\/vived.io\/pl\/helidon-nima-pierwszy-framework-zbudowanych-od-podstaw-dla-project-loom-jvm-weekly-101\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/vived.io\/wp-content\/uploads\/2022\/08\/JVM-Weekly-1200x628_V2-2.png\",\"keywords\":[\"slf4j\"],\"articleSection\":[\"JVM\"],\"inLanguage\":\"pl-PL\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/vived.io\/pl\/helidon-nima-pierwszy-framework-zbudowanych-od-podstaw-dla-project-loom-jvm-weekly-101\/\",\"url\":\"https:\/\/vived.io\/pl\/helidon-nima-pierwszy-framework-zbudowanych-od-podstaw-dla-project-loom-jvm-weekly-101\/\",\"name\":\"Helidon Nima - Pierwszy Framework zbudowanych od podstaw dla Project Loom - JVM Weekly 101 - Vived\",\"isPartOf\":{\"@id\":\"https:\/\/vived.io\/pl\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/vived.io\/pl\/helidon-nima-pierwszy-framework-zbudowanych-od-podstaw-dla-project-loom-jvm-weekly-101\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/vived.io\/pl\/helidon-nima-pierwszy-framework-zbudowanych-od-podstaw-dla-project-loom-jvm-weekly-101\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/vived.io\/wp-content\/uploads\/2022\/08\/JVM-Weekly-1200x628_V2-2.png\",\"datePublished\":\"2022-08-24T07:00:29+00:00\",\"dateModified\":\"2022-09-19T11:10:34+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/vived.io\/pl\/helidon-nima-pierwszy-framework-zbudowanych-od-podstaw-dla-project-loom-jvm-weekly-101\/#breadcrumb\"},\"inLanguage\":\"pl-PL\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/vived.io\/pl\/helidon-nima-pierwszy-framework-zbudowanych-od-podstaw-dla-project-loom-jvm-weekly-101\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\/\/vived.io\/pl\/helidon-nima-pierwszy-framework-zbudowanych-od-podstaw-dla-project-loom-jvm-weekly-101\/#primaryimage\",\"url\":\"https:\/\/vived.io\/wp-content\/uploads\/2022\/08\/JVM-Weekly-1200x628_V2-2.png\",\"contentUrl\":\"https:\/\/vived.io\/wp-content\/uploads\/2022\/08\/JVM-Weekly-1200x628_V2-2.png\",\"width\":1200,\"height\":628},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/vived.io\/pl\/helidon-nima-pierwszy-framework-zbudowanych-od-podstaw-dla-project-loom-jvm-weekly-101\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Strona g\u0142\u00f3wna\",\"item\":\"https:\/\/vived.io\/pl\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Helidon Nima &#8211; Pierwszy Framework zbudowanych od podstaw dla Project Loom &#8211; JVM Weekly 101\"}]},{\"@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":"Helidon Nima - Pierwszy Framework zbudowanych od podstaw dla Project Loom - JVM Weekly 101 - 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\/helidon-nima-pierwszy-framework-zbudowanych-od-podstaw-dla-project-loom-jvm-weekly-101\/","og_locale":"pl_PL","og_type":"article","og_title":"Helidon Nima - Pierwszy Framework zbudowanych od podstaw dla Project Loom - JVM Weekly 101 - Vived","og_description":"Po poprzedniej, mocno wype\u0142nionej contentem, dzisiejsza edycja b\u0119dzie nieco kr\u00f3tsza - \u015bwiat IT jeszcze na wakacjach. Mam jednak dla Was jeden ciekawy release i jeden nie mniej interesuj\u0105cy nawet-jeszcze-nie-release. Mi\u0142ej lektury!","og_url":"https:\/\/vived.io\/pl\/helidon-nima-pierwszy-framework-zbudowanych-od-podstaw-dla-project-loom-jvm-weekly-101\/","og_site_name":"Vived","article_published_time":"2022-08-24T07:00:29+00:00","article_modified_time":"2022-09-19T11:10:34+00:00","og_image":[{"width":1200,"height":628,"url":"https:\/\/vived.io\/wp-content\/uploads\/2022\/08\/JVM-Weekly-1200x628_V2-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\/helidon-nima-pierwszy-framework-zbudowanych-od-podstaw-dla-project-loom-jvm-weekly-101\/#article","isPartOf":{"@id":"https:\/\/vived.io\/pl\/helidon-nima-pierwszy-framework-zbudowanych-od-podstaw-dla-project-loom-jvm-weekly-101\/"},"author":{"name":"Artur Skowro\u0144ski","@id":"https:\/\/vived.io\/pl\/#\/schema\/person\/0eb0878110cb27edfbfe46e841fe6db3"},"headline":"Helidon Nima &#8211; Pierwszy Framework zbudowanych od podstaw dla Project Loom &#8211; JVM Weekly 101","datePublished":"2022-08-24T07:00:29+00:00","dateModified":"2022-09-19T11:10:34+00:00","mainEntityOfPage":{"@id":"https:\/\/vived.io\/pl\/helidon-nima-pierwszy-framework-zbudowanych-od-podstaw-dla-project-loom-jvm-weekly-101\/"},"wordCount":747,"publisher":{"@id":"https:\/\/vived.io\/pl\/#organization"},"image":{"@id":"https:\/\/vived.io\/pl\/helidon-nima-pierwszy-framework-zbudowanych-od-podstaw-dla-project-loom-jvm-weekly-101\/#primaryimage"},"thumbnailUrl":"https:\/\/vived.io\/wp-content\/uploads\/2022\/08\/JVM-Weekly-1200x628_V2-2.png","keywords":["slf4j"],"articleSection":["JVM"],"inLanguage":"pl-PL"},{"@type":"WebPage","@id":"https:\/\/vived.io\/pl\/helidon-nima-pierwszy-framework-zbudowanych-od-podstaw-dla-project-loom-jvm-weekly-101\/","url":"https:\/\/vived.io\/pl\/helidon-nima-pierwszy-framework-zbudowanych-od-podstaw-dla-project-loom-jvm-weekly-101\/","name":"Helidon Nima - Pierwszy Framework zbudowanych od podstaw dla Project Loom - JVM Weekly 101 - Vived","isPartOf":{"@id":"https:\/\/vived.io\/pl\/#website"},"primaryImageOfPage":{"@id":"https:\/\/vived.io\/pl\/helidon-nima-pierwszy-framework-zbudowanych-od-podstaw-dla-project-loom-jvm-weekly-101\/#primaryimage"},"image":{"@id":"https:\/\/vived.io\/pl\/helidon-nima-pierwszy-framework-zbudowanych-od-podstaw-dla-project-loom-jvm-weekly-101\/#primaryimage"},"thumbnailUrl":"https:\/\/vived.io\/wp-content\/uploads\/2022\/08\/JVM-Weekly-1200x628_V2-2.png","datePublished":"2022-08-24T07:00:29+00:00","dateModified":"2022-09-19T11:10:34+00:00","breadcrumb":{"@id":"https:\/\/vived.io\/pl\/helidon-nima-pierwszy-framework-zbudowanych-od-podstaw-dla-project-loom-jvm-weekly-101\/#breadcrumb"},"inLanguage":"pl-PL","potentialAction":[{"@type":"ReadAction","target":["https:\/\/vived.io\/pl\/helidon-nima-pierwszy-framework-zbudowanych-od-podstaw-dla-project-loom-jvm-weekly-101\/"]}]},{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/vived.io\/pl\/helidon-nima-pierwszy-framework-zbudowanych-od-podstaw-dla-project-loom-jvm-weekly-101\/#primaryimage","url":"https:\/\/vived.io\/wp-content\/uploads\/2022\/08\/JVM-Weekly-1200x628_V2-2.png","contentUrl":"https:\/\/vived.io\/wp-content\/uploads\/2022\/08\/JVM-Weekly-1200x628_V2-2.png","width":1200,"height":628},{"@type":"BreadcrumbList","@id":"https:\/\/vived.io\/pl\/helidon-nima-pierwszy-framework-zbudowanych-od-podstaw-dla-project-loom-jvm-weekly-101\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Strona g\u0142\u00f3wna","item":"https:\/\/vived.io\/pl\/"},{"@type":"ListItem","position":2,"name":"Helidon Nima &#8211; Pierwszy Framework zbudowanych od podstaw dla Project Loom &#8211; JVM Weekly 101"}]},{"@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. Helidon Nima - Pierwszy Framework zbudowanych od podstaw dla Project Loom<\/h2>\n","innerContent":["\n<h2>1. Helidon Nima - Pierwszy Framework zbudowanych od podstaw dla Project Loom<\/h2>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Czy kojarzycie EclipseCon? Jest to coroczna, odbywaj\u0105ca si\u0119 co rok w Niemczech konferencja, kt\u00f3ra zajmuje si\u0119 nie tyle Eclipse IDE (jak mo\u017cna by na pierwszy rzut oka podejrzewa\u0107), ale wszystkimi projektami znajduj\u0105cymi si\u0119 pod \"parasolk\u0105\" Eclipse Foundation. A \u017ce ta zagarnia ostatnimi laty pod siebie mas\u0119 projekt\u00f3w, to z roku na rok robi si\u0119 z tego coraz ciekawsze wydarzenie. Z masy naprawd\u0119 interesuj\u0105cych talk\u00f3w wybija si\u0119 jednak jeden, o do\u015b\u0107 znamiennej nazwie: <strong><a href=\"https:\/\/www.eclipsecon.org\/2022\/sessions\/helidon-nima-loom-based-microservices-framework\">Helidon Nima - Loom based microservices framework<\/a><\/strong>.<\/p>\n","innerContent":["\n<p>Czy kojarzycie EclipseCon? Jest to coroczna, odbywaj\u0105ca si\u0119 co rok w Niemczech konferencja, kt\u00f3ra zajmuje si\u0119 nie tyle Eclipse IDE (jak mo\u017cna by na pierwszy rzut oka podejrzewa\u0107), ale wszystkimi projektami znajduj\u0105cymi si\u0119 pod \"parasolk\u0105\" Eclipse Foundation. A \u017ce ta zagarnia ostatnimi laty pod siebie mas\u0119 projekt\u00f3w, to z roku na rok robi si\u0119 z tego coraz ciekawsze wydarzenie. Z masy naprawd\u0119 interesuj\u0105cych talk\u00f3w wybija si\u0119 jednak jeden, o do\u015b\u0107 znamiennej nazwie: <strong><a href=\"https:\/\/www.eclipsecon.org\/2022\/sessions\/helidon-nima-loom-based-microservices-framework\">Helidon Nima - Loom based microservices framework<\/a><\/strong>.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/image","attrs":{"align":"center","id":9533,"width":552,"height":454,"sizeSlug":"full","linkDestination":"none"},"innerBlocks":[],"innerHTML":"\n<figure class=\"wp-block-image aligncenter size-full is-resized\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/08\/image-29.png\" alt=\"\" class=\"wp-image-9533\" width=\"552\" height=\"454\"\/><figcaption>Mam nadzieje, \u017ce taka jest w\u0142a\u015bnie Wasza reakcja.<\/figcaption><\/figure>\n","innerContent":["\n<figure class=\"wp-block-image aligncenter size-full is-resized\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/08\/image-29.png\" alt=\"\" class=\"wp-image-9533\" width=\"552\" height=\"454\"\/><figcaption>Mam nadzieje, \u017ce taka jest w\u0142a\u015bnie Wasza reakcja.<\/figcaption><\/figure>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Okazuje si\u0119 bowiem, \u017ce szykuje nam si\u0119 pierwszy(?) framework, w kt\u00f3rym Loom nie b\u0119dzie doklejonym dodatkiem, a \"First-Class Citizen\". Na razie samych szczeg\u00f3\u0142\u00f3w z jednej strony nie mamy za wiele (abstrakt z ElipseCon to jedyne oficjalne wspomnienie o Nimie), z drugiej strony... pocz\u0105tkiem tygodnia w ramach repozytorium Helidona <a href=\"https:\/\/github.com\/oracle\/helidon\/tree\/main\/nima\">ukaza\u0142 si\u0119 jej kod \u017ar\u00f3d\u0142owy<\/a>. Tak\u017ce je\u015bli kto\u015b ma ochot\u0119, mo\u017ce sobie zobaczy\u0107 jakie API chc\u0105 zaproponowa\u0107 nam jego tw\u00f3rcy.<\/p>\n","innerContent":["\n<p>Okazuje si\u0119 bowiem, \u017ce szykuje nam si\u0119 pierwszy(?) framework, w kt\u00f3rym Loom nie b\u0119dzie doklejonym dodatkiem, a \"First-Class Citizen\". Na razie samych szczeg\u00f3\u0142\u00f3w z jednej strony nie mamy za wiele (abstrakt z ElipseCon to jedyne oficjalne wspomnienie o Nimie), z drugiej strony... pocz\u0105tkiem tygodnia w ramach repozytorium Helidona <a href=\"https:\/\/github.com\/oracle\/helidon\/tree\/main\/nima\">ukaza\u0142 si\u0119 jej kod \u017ar\u00f3d\u0142owy<\/a>. Tak\u017ce je\u015bli kto\u015b ma ochot\u0119, mo\u017ce sobie zobaczy\u0107 jakie API chc\u0105 zaproponowa\u0107 nam jego tw\u00f3rcy.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p><\/p>\n","innerContent":["\n<p><\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Og\u00f3lnie ciekawy b\u0119dzie ten pa\u017adziernik. Najpierw JavaOne (17-20.10 - impreza doczeka\u0142a si\u0119 <a href=\"https:\/\/www.youtube.com\/watch?v=HiHgAh7wWPc\">ju\u017c zapowiedzi video w Inside Java Newscast zawieraj\u0105cej przegl\u0105d agendy<\/a>), a potem EclipseCon (24-27.10). Czy ktokolwiek z naszych czytelnik\u00f3w si\u0119 na kt\u00f3r\u0105\u015b wybiera? Dajcie prosz\u0119 zna\u0107 na <a href=\"https:\/\/www.facebook.com\/vivedapp\">naszej stronie Facebookowej<\/a>.<\/p>\n","innerContent":["\n<p>Og\u00f3lnie ciekawy b\u0119dzie ten pa\u017adziernik. Najpierw JavaOne (17-20.10 - impreza doczeka\u0142a si\u0119 <a href=\"https:\/\/www.youtube.com\/watch?v=HiHgAh7wWPc\">ju\u017c zapowiedzi video w Inside Java Newscast zawieraj\u0105cej przegl\u0105d agendy<\/a>), a potem EclipseCon (24-27.10). Czy ktokolwiek z naszych czytelnik\u00f3w si\u0119 na kt\u00f3r\u0105\u015b wybiera? Dajcie prosz\u0119 zna\u0107 na <a href=\"https:\/\/www.facebook.com\/vivedapp\">naszej stronie Facebookowej<\/a>.<\/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:\/\/www.eclipsecon.org\/2022\/sessions\/helidon-nima-loom-based-microservices-framework\">Helidon Nima - Loom based microservices framework<\/a><\/li><li><a href=\"https:\/\/github.com\/oracle\/helidon\/tree\/main\/nima\">Nima Source Code<\/a><\/li><li><a href=\"https:\/\/www.youtube.com\/watch?v=HiHgAh7wWPc\">String Templates, JavaFX 19, Deserialization, and more at JavaOne - Inside Java Newscast #32<\/a><\/li><\/ul>\n","innerContent":["\n<ul><li><a href=\"https:\/\/www.eclipsecon.org\/2022\/sessions\/helidon-nima-loom-based-microservices-framework\">Helidon Nima - Loom based microservices framework<\/a><\/li><li><a href=\"https:\/\/github.com\/oracle\/helidon\/tree\/main\/nima\">Nima Source Code<\/a><\/li><li><a href=\"https:\/\/www.youtube.com\/watch?v=HiHgAh7wWPc\">String Templates, JavaFX 19, Deserialization, and more at JavaOne - Inside Java Newscast #32<\/a><\/li><\/ul>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/heading","attrs":[],"innerBlocks":[],"innerHTML":"\n<h2>2. Release Radar: slf4j 2.0<\/h2>\n","innerContent":["\n<h2>2. Release Radar: slf4j 2.0<\/h2>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Porozmawiali\u015bmy troch\u0119 o przysz\u0142o\u015bci Javy, teraz czas troch\u0119 spojrze\u0107 na jej tera\u017aniejszo\u015b\u0107.<\/p>\n","innerContent":["\n<p>Porozmawiali\u015bmy troch\u0119 o przysz\u0142o\u015bci Javy, teraz czas troch\u0119 spojrze\u0107 na jej tera\u017aniejszo\u015b\u0107.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/image","attrs":{"align":"center","id":9528,"width":512,"height":288,"sizeSlug":"large","linkDestination":"none"},"innerBlocks":[],"innerHTML":"\n<figure class=\"wp-block-image aligncenter size-large is-resized\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/08\/image-28-1024x576.png\" alt=\"\" class=\"wp-image-9528\" width=\"512\" height=\"288\"\/><figcaption>A mo\u017ce nawet przesz\u0142o\u015b\u0107, ale bez spoiler\u00f3w.<\/figcaption><\/figure>\n","innerContent":["\n<figure class=\"wp-block-image aligncenter size-large is-resized\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/08\/image-28-1024x576.png\" alt=\"\" class=\"wp-image-9528\" width=\"512\" height=\"288\"\/><figcaption>A mo\u017ce nawet przesz\u0142o\u015b\u0107, ale bez spoiler\u00f3w.<\/figcaption><\/figure>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Podejrzewam, \u017ce praktycznie ka\u017cdy z czytaj\u0105cych ten newsletter (przynajmniej z tych b\u0119d\u0105cych w bran\u017cy ju\u017c par\u0119 lat) cho\u0107 raz mia\u0142 przyjemno\u015b\u0107 dok\u0142adania do projektu slf4j. Nazw\u0119 t\u0105 rozwija si\u0119 jako <strong>The Simple Logging Facade for Java<\/strong> i tak\u0105 w\u0142a\u015bnie jest jej rola - tak, jak np. Hibernate stanowi abstrakcje nad bazami danych, tak slf4j ukrywa przed u\u017cytkownikiem detale implementacyjne framework\u00f3w. Dekad\u0119 temu, log4j w swojej pierwszej wersji by\u0142 frameworkiem mocno skomplikowanym, o niskopoziomowym API. Jego g\u0142\u00f3wnym konkurentem pozostawa\u0142 do\u015b\u0107 ograniczony w konfiguracji <code>java.util.logging<\/code>, a slf4j stanowi\u0142 bardzo wygodn\u0105 w u\u017cyciu abstrakcj\u0119, daj\u0105c\u0105 programi\u015bcie np. wygodn\u0105 kontrol\u0119 nad poziomami logowania.<\/p>\n","innerContent":["\n<p>Podejrzewam, \u017ce praktycznie ka\u017cdy z czytaj\u0105cych ten newsletter (przynajmniej z tych b\u0119d\u0105cych w bran\u017cy ju\u017c par\u0119 lat) cho\u0107 raz mia\u0142 przyjemno\u015b\u0107 dok\u0142adania do projektu slf4j. Nazw\u0119 t\u0105 rozwija si\u0119 jako <strong>The Simple Logging Facade for Java<\/strong> i tak\u0105 w\u0142a\u015bnie jest jej rola - tak, jak np. Hibernate stanowi abstrakcje nad bazami danych, tak slf4j ukrywa przed u\u017cytkownikiem detale implementacyjne framework\u00f3w. Dekad\u0119 temu, log4j w swojej pierwszej wersji by\u0142 frameworkiem mocno skomplikowanym, o niskopoziomowym API. Jego g\u0142\u00f3wnym konkurentem pozostawa\u0142 do\u015b\u0107 ograniczony w konfiguracji <code>java.util.logging<\/code>, a slf4j stanowi\u0142 bardzo wygodn\u0105 w u\u017cyciu abstrakcj\u0119, daj\u0105c\u0105 programi\u015bcie np. wygodn\u0105 kontrol\u0119 nad poziomami logowania.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/image","attrs":{"align":"center","id":9526,"sizeSlug":"full","linkDestination":"none"},"innerBlocks":[],"innerHTML":"\n<figure class=\"wp-block-image aligncenter size-full\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/08\/image-27.png\" alt=\"\" class=\"wp-image-9526\"\/><figcaption>Tak na boku - znacie jakikolwiek starszy ni\u017c 5 lat projekt Javowy nie posiadaj\u0105cy w\u0142asnej klasy <code>LogUtils<\/code>?<\/figcaption><\/figure>\n","innerContent":["\n<figure class=\"wp-block-image aligncenter size-full\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/08\/image-27.png\" alt=\"\" class=\"wp-image-9526\"\/><figcaption>Tak na boku - znacie jakikolwiek starszy ni\u017c 5 lat projekt Javowy nie posiadaj\u0105cy w\u0142asnej klasy <code>LogUtils<\/code>?<\/figcaption><\/figure>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Od czasu \u015bwietno\u015bci slf4j bran\u017ca jednak troch\u0119 wyewoluowa\u0142a. Najpierw pojawi\u0142 si\u0119 Logback, kt\u00f3ry zachwyci\u0142 programist\u00f3w b\u0142yskawiczn\u0105 inicjalizacj\u0105 (przez co \u0142atwiej u\u017cywa\u0142o si\u0119 go bezpo\u015brednio, bez dodatkowej abstrakcji), a nast\u0119pnie pojawi\u0142 si\u0119 log4j2, kt\u00f3ry przyni\u00f3s\u0142 API kompatybilne z slf4j, ale ju\u017c bez dodatkowego narzutu abstrakcji. W mi\u0119dzyczasie pojawi\u0142 si\u0119 te\u017c <code>java.lang.system.Logger<\/code>, czyli drugie podej\u015bcie tw\u00f3rc\u00f3w JDK do tematu logowania - du\u017co bardziej udane. Coraz wi\u0119cej ludzi sk\u0142ania si\u0119 ku temu, \u017ce w dobie dojrza\u0142ych rozwi\u0105za\u0144 do logowania, nie ma wiele sensu u\u017cywanie dodatkowej usp\u00f3jniaj\u0105cej abstrakcji - nawet log4shell nie przekona\u0142 raczej ludzi, \u017ce warto zmieni\u0107 ot tak sobie logger. To wszystko sk\u0142ada si\u0119 na fakt, \u017ce lata \u015bwietno\u015bci slf4j ma chyba za sob\u0105.<\/p>\n","innerContent":["\n<p>Od czasu \u015bwietno\u015bci slf4j bran\u017ca jednak troch\u0119 wyewoluowa\u0142a. Najpierw pojawi\u0142 si\u0119 Logback, kt\u00f3ry zachwyci\u0142 programist\u00f3w b\u0142yskawiczn\u0105 inicjalizacj\u0105 (przez co \u0142atwiej u\u017cywa\u0142o si\u0119 go bezpo\u015brednio, bez dodatkowej abstrakcji), a nast\u0119pnie pojawi\u0142 si\u0119 log4j2, kt\u00f3ry przyni\u00f3s\u0142 API kompatybilne z slf4j, ale ju\u017c bez dodatkowego narzutu abstrakcji. W mi\u0119dzyczasie pojawi\u0142 si\u0119 te\u017c <code>java.lang.system.Logger<\/code>, czyli drugie podej\u015bcie tw\u00f3rc\u00f3w JDK do tematu logowania - du\u017co bardziej udane. Coraz wi\u0119cej ludzi sk\u0142ania si\u0119 ku temu, \u017ce w dobie dojrza\u0142ych rozwi\u0105za\u0144 do logowania, nie ma wiele sensu u\u017cywanie dodatkowej usp\u00f3jniaj\u0105cej abstrakcji - nawet log4shell nie przekona\u0142 raczej ludzi, \u017ce warto zmieni\u0107 ot tak sobie logger. To wszystko sk\u0142ada si\u0119 na fakt, \u017ce lata \u015bwietno\u015bci slf4j ma chyba za sob\u0105.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Nie znaczy to jednak, \u017ce projekt stoi w miejscu, pojawi\u0142a si\u0119 bowiem pocz\u0105tkiem tygodnia <a href=\"https:\/\/www.slf4j.org\/news.html\">jego edycja 2.0.0<\/a>. Pewnym zmianom uleg\u0142o API (mocno przemodelowane zosta\u0142y niekt\u00f3re buildery oraz do\u0142o\u017cono Fluent Logging API), ale z pewno\u015bci\u0105 najwi\u0119ksza rewolucja wydarzy\u0142a si\u0119 pod mask\u0105. Wraz z now\u0105 wersj\u0105, slf4j pozby\u0142 si\u0119 wsparcia dla JDK mniejszych ni\u017c JDK 8 - nie s\u0105 wi\u0119c tak \"ambitni\" jak tw\u00f3rcy np. Springa, ale te\u017c ze wzgl\u0119du na swoje mocne zakorzenienie w przesz\u0142o\u015bci jest to do\u015b\u0107 rozs\u0105dny krok. Jednak r\u00f3wnie\u017c Ci u\u017cywaj\u0105cy nowszych JDK 9+ du\u017co zyskaj\u0105 na migracji - slf4j doczeka\u0142 si\u0119 bowiem wsparcia dla modu\u0142\u00f3w JPMS, dzi\u0119ki czemu \u0142atwiej b\u0119dzie si\u0119 go u\u017cywa\u0142o w zmodularyzowanych projektach.<\/p>\n","innerContent":["\n<p>Nie znaczy to jednak, \u017ce projekt stoi w miejscu, pojawi\u0142a si\u0119 bowiem pocz\u0105tkiem tygodnia <a href=\"https:\/\/www.slf4j.org\/news.html\">jego edycja 2.0.0<\/a>. Pewnym zmianom uleg\u0142o API (mocno przemodelowane zosta\u0142y niekt\u00f3re buildery oraz do\u0142o\u017cono Fluent Logging API), ale z pewno\u015bci\u0105 najwi\u0119ksza rewolucja wydarzy\u0142a si\u0119 pod mask\u0105. Wraz z now\u0105 wersj\u0105, slf4j pozby\u0142 si\u0119 wsparcia dla JDK mniejszych ni\u017c JDK 8 - nie s\u0105 wi\u0119c tak \"ambitni\" jak tw\u00f3rcy np. Springa, ale te\u017c ze wzgl\u0119du na swoje mocne zakorzenienie w przesz\u0142o\u015bci jest to do\u015b\u0107 rozs\u0105dny krok. Jednak r\u00f3wnie\u017c Ci u\u017cywaj\u0105cy nowszych JDK 9+ du\u017co zyskaj\u0105 na migracji - slf4j doczeka\u0142 si\u0119 bowiem wsparcia dla modu\u0142\u00f3w JPMS, dzi\u0119ki czemu \u0142atwiej b\u0119dzie si\u0119 go u\u017cywa\u0142o w zmodularyzowanych projektach.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Je\u015bli chcecie wi\u0119cej, bardzo ciekaw\u0105 dyskusje o log4j2 vs slf4j znajdziecie <a href=\"https:\/\/stackoverflow.com\/questions\/41498021\/is-it-worth-to-use-slf4j-with-log4j2\">w w\u0105tku na StackOverflow<\/a><\/p>\n","innerContent":["\n<p>Je\u015bli chcecie wi\u0119cej, bardzo ciekaw\u0105 dyskusje o log4j2 vs slf4j znajdziecie <a href=\"https:\/\/stackoverflow.com\/questions\/41498021\/is-it-worth-to-use-slf4j-with-log4j2\">w w\u0105tku na StackOverflow<\/a><\/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:\/\/stackoverflow.com\/questions\/41498021\/is-it-worth-to-use-slf4j-with-log4j2\">Is it worth to use slf4j with log4j2<\/a><\/li><li><a href=\"https:\/\/www.slf4j.org\/news.html\">slf4j 2.0.0<\/a><\/li><\/ul>\n","innerContent":["\n<ul><li><a href=\"https:\/\/stackoverflow.com\/questions\/41498021\/is-it-worth-to-use-slf4j-with-log4j2\">Is it worth to use slf4j with log4j2<\/a><\/li><li><a href=\"https:\/\/www.slf4j.org\/news.html\">slf4j 2.0.0<\/a><\/li><\/ul>\n"]}],"_links":{"self":[{"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/posts\/9523","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=9523"}],"version-history":[{"count":8,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/posts\/9523\/revisions"}],"predecessor-version":[{"id":9541,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/posts\/9523\/revisions\/9541"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/media\/9537"}],"wp:attachment":[{"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/media?parent=9523"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/categories?post=9523"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/tags?post=9523"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}