{"id":10096,"date":"2021-08-17T14:15:32","date_gmt":"2021-08-17T12:15:32","guid":{"rendered":"https:\/\/vived.io\/jvm-tuesday-vol-51\/"},"modified":"2022-09-19T13:10:49","modified_gmt":"2022-09-19T11:10:49","slug":"jvm-tuesday-vol-51","status":"publish","type":"post","link":"https:\/\/vived.io\/pl\/jvm-tuesday-vol-51\/","title":{"rendered":"JVM Tuesday vol. 51 &#8211; Projekt Wakefield oraz zbuduj w\u0142asnego Springa \ud83c\udf3f"},"content":{"rendered":"<h2 id=\"1-projekt-wakefield-wayland-na-jvm-nabiera-rumiencow\" data-num=1>1. Projekt Wakefield (Wayland na JVM) nabiera rumie\u0144c\u00f3w \u263a\ufe0f<\/h2>\n<p>Philip Race jest jedn\u0105 z os\u00f3b, kt\u00f3r\u0105 warto \u015bledzi\u0107 w ekosystemie JVM. Wprawdzie jego pole zainteresowa\u0144 jest stosunkowo w\u0105skie, ale mimo to wzi\u0105\u0142 sobie na plecy dosy\u0107 niekochany element javowego ekosystemu. Kiedy inni programi\u015bci zajmuj\u0105 si\u0119 modnymi tematami jak niskopoziomowy performance czy lekkie w\u0105tki (definicja mody programist\u00f3w jest ma\u0142o zrozumia\u0142a dla postronnych obserwator\u00f3w), Phillip postanowi\u0142 zmodernizowa\u0107 Jav\u0119 desktopow\u0105 &#8211; i robi to z niezwyk\u0142\u0105 skuteczno\u015bci\u0105. W ramach JDK 17 b\u0119dziemy mogli zobaczy\u0107 Project Lanai &#8211; unowocze\u015bniony rendering macOS wykorzystuj\u0105cy wsp\u00f3\u0142czesne wersje systemu i Metal API. Teraz ponown\u0105 inicjatyw\u0119 przeprowadzi\u0107 zamierza dla Linuxa i serwera wy\u015bwietleniowego Wayland.<\/p>\n<figure class=\"kg-card kg-image-card\"><img loading=\"lazy\" decoding=\"async\" class=\"kg-image\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/7_image-11.png\" srcset=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/8_image-11.png 600w, https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/7_image-11.png 680w\" alt=\"\" width=\"680\" height=\"606\"><\/figure>\n<p>O samym projekcie mieli\u015bmy ju\u017c okazj\u0119 pisa\u0107, kiedy ci\u0105gle by\u0142 do\u015b\u0107 mglist\u0105 ide\u0105. Teraz wreszcie ma si\u0119 to zmieni\u0107. Mimo, \u017ce ci\u0105gle pozostaje na poziomie proposala, ca\u0142o\u015b\u0107 dosta\u0142a swoj\u0105 <a href=\"https:\/\/mail.openjdk.java.net\/pipermail\/announce\/2021-August\/000305.html\">realn\u0105 nazw\u0119 (Wakefield Project)<\/a> i komitet, kt\u00f3ry wyrazi\u0142 ch\u0119\u0107 kierowania dzia\u0142aniami. W jego sk\u0142ad wchodzi spora ekipa zar\u00f3wno z JavyFX, jak i JetBrains. Wygl\u0105da wi\u0119c na to, \u017ce mamy do czynienia z kolejnym (po wspomnianym ju\u017c Lanaiu) projekcie, gdzie swoje palce macza\u0107 b\u0119d\u0105 tw\u00f3rcy IntelliJ. Phillip odgra\u017ca si\u0119, \u017ce ju\u017c w planach s\u0105 pierwsze JEPy. Zanim jednak zesp\u00f3\u0142 b\u0119dzie m\u00f3g\u0142 przyst\u0105pi\u0107 do pracy, komitet steruj\u0105cy Javy musi zag\u0142osowa\u0107 nad ch\u0119ci\u0105 rozpocz\u0119cia projektu. Wyniki poznamy 25 sierpnia.<\/p>\n<p>Jak ju\u017c tak hermetycznie dzisiaj, to nie mo\u017cna nie wspomnie\u0107 te\u017c o nowym wydaniu projektu Loom. <a href=\"https:\/\/www.reddit.com\/r\/java\/comments\/p2lj86\/project_loom_jdk18_ea_build_with_aarch64_support\/\">Nowy Early Access<\/a> oparty jest o JDK 18. Nie oznacza to oczywi\u015bcie, \u017ce to wraz z JDK 18 nast\u0105pi oficjalne wydanie &#8211; to po prostu jest jeszcze jedna edycja testowa. Z ciekawych rzeczy jest to pierwsze w historii wydanie Looma na architektur\u0119 ARM. Nowy build dodaje te\u017c d\u0142ugo oczekiwane <a href=\"https:\/\/download.java.net\/java\/early_access\/loom\/docs\/api\/java.base\/java\/lang\/ScopeLocal.html\">Scope Locals<\/a>, o kt\u00f3rych swego czasu mieli\u015bmy okazj\u0119 pisa\u0107. Jak zwykle przy okazji wyda\u0144 Looma <a href=\"https:\/\/www.reddit.com\/r\/java\/comments\/p2lj86\/project_loom_jdk18_ea_build_with_aarch64_support\/\">polecam w\u0105tek Redditowy<\/a>, na kt\u00f3rym klasycznie ju\u017c aktywny jest sam Ron Pressler, jeden z lider\u00f3w projektu, odpowiadaj\u0105cy na pytania spo\u0142eczno\u015bci. Wywi\u0105za\u0142a si\u0119 w nim te\u017c interesuj\u0105ca rozmowa na temat wersji LTS Javy &#8211; je\u015bli chcecie pozna\u0107 opinie Rona na ten temat, <a href=\"https:\/\/www.reddit.com\/r\/java\/comments\/p2lj86\/project_loom_jdk18_ea_build_with_aarch64_support\/h8nfl2c?utm_source=share&amp;utm_medium=web2x&amp;context=3\">sprawd\u017acie tutaj<\/a>.<\/p>\n<figure class=\"kg-card kg-image-card kg-card-hascaption\"><img loading=\"lazy\" decoding=\"async\" class=\"kg-image\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/HBgMIuP.gif\" alt=\"\" width=\"400\" height=\"217\"><figcaption>TLDR: Sugeruje nie czeka\u0107 na LTSy tylko pod\u0105\u017ca\u0107 za Jav\u0105 wydanie po wydaniu, LTSy zostawiaj\u0105c aplikacjom o bardzo wolnym rozwoju.&nbsp;<\/figcaption><\/figure>\n<h3 id=\"%C5%BAr%C3%B3d%C5%82a\">\u0179r\u00f3d\u0142a<\/h3>\n<ul>\n<li><a href=\"https:\/\/mail.openjdk.java.net\/pipermail\/announce\/2021-August\/000305.html\">CFV: New Project: Wakefield<\/a><\/li>\n<li><a href=\"https:\/\/www.reddit.com\/r\/java\/comments\/p2lj86\/project_loom_jdk18_ea_build_with_aarch64_support\/\">Project Loom: JDK18 EA Build with AArch64 support is now available for download<\/a><\/li>\n<li><a href=\"https:\/\/download.java.net\/java\/early_access\/loom\/docs\/api\/java.base\/java\/lang\/ScopeLocal.html\">ScopeLocal (Java SE 17 &amp; JDK 17 [build 7])<\/a><\/li>\n<\/ul>\n<h2 id=\"2-zbuduj-sobie-od-podstaw-wlasnego-springa\" data-num=2><a href=\"https:\/\/github.com\/Patresss\/Java-Own-Framework---step-by-step\">2. Zbuduj sobi\u0119 od podstaw w\u0142asnego Springa \ud83c\udf3f<\/a><\/h2>\n<p>M\u00f3wi si\u0119, \u017ce najlepszym sposobem w programowaniu, aby co\u015b zrozumie\u0107, jest napisa\u0107 to od zera. U\u017cytkownik Patresss (b\u0119d\u0105cy notabene Polakiem i jak si\u0119 dokopa\u0142em &#8211; <a href=\"https:\/\/www.wykop.pl\/wpis\/58288333\/java-programowanie-spring-mireczki-jakis-czas-temu\/\">chwal\u0105cy si\u0119 swego czasu swoim projektem na naszym swojskim Wykopie<\/a>) wzi\u0105\u0142 sobie t\u0119 zasad\u0119 mocno do serca. Stworzy\u0142 swojego w\u0142asnego \u201cbieda\u201d Springa, kt\u00f3ry implementuje wi\u0119kszo\u015b\u0107 kluczowych mechanizm\u00f3w j\u0119zyka.<\/p>\n<p>Id\u0105c krok po kroku przez repozytorium Git, autor opisa\u0142 krok po kroku, jak zaimplementowa\u0107 dependency injection oraz wyja\u015bnia, czym s\u0105 proxy i po co powsta\u0142y. Dodatkowo, na przyk\u0142adzie springowych adnotacji pokazuje, jak takowe zaimplementowa\u0107 od zera. Te wszystkie klocki ostatecznie spina do kupy w ca\u0142kiem interesuj\u0105c\u0105 propozycj\u0119. Oczywi\u015bcie, ci\u0119\u017cko m\u00f3wi\u0107 tu o pe\u0142nej reimplementacji frameworka &#8211; nie znajdziemy tutaj implementacji takich API jak cho\u0107by Servlety, brakuje AutoConfiguracji (kt\u00f3ra jest szalenie ciekawym mechanizmem), po macoszemu potraktowana jest wsz\u0119dobylskie w Springu refleksje. Zdecydowanie jednak jest to interesuj\u0105ca propozycja dla ka\u017cdego chc\u0105cego zakasa\u0107 r\u0119kawy i pobrudzi\u0107 sobie r\u0119ce. Takie projekty to zawsze fajna zabawa.<\/p>\n<div class=\"embed-responsive embed-responsive-16by9\"><iframe loading=\"lazy\" title=\"Intel - Our Jokes Aren&#039;t Like Your Jokes...\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/M61xXdVlP5o?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><\/div>\n<p>Nasze zabawy nie s\u0105 jak Twoje zabawy.<\/p>\n<p>Przyznam, \u017ce czytaj\u0105c ten kod zrobi\u0142o mi si\u0119 do\u015b\u0107 cieplutko na serduszku. &nbsp;W poprzedniej pracy mieli\u015bmy okazj\u0119 pisa\u0107 w\u0142asn\u0105 \u201csklejk\u0119\u201d r\u00f3\u017cnych standard\u00f3w Java EE opart\u0105 m.in. na projekcie <a href=\"https:\/\/deltaspike.apache.org\/\">DeltaSpike<\/a> (a\u017c z ciekawo\u015bci sprawdzi\u0142em czy \u017cyje &#8211; ostatni\u0105 wersj\u0119 otrzyma\u0142 w 2020 roku, wi\u0119c z pewno\u015bci\u0105 nie mo\u017cna uzna\u0107 go za \u017cywego trupa). W ramach tej w\u0142a\u015bnie sklejki mia\u0142em przyjemno\u015b\u0107 tworzy\u0107 w\u0142asnego @Transactional opakowuj\u0105cego znajduj\u0105cego si\u0119 pod spodem jOOQa &#8211; by\u0142o fajnie<\/p>\n<p><strong>\u0179r\u00f3d\u0142a<\/strong><\/p>\n<ul>\n<li><a href=\"https:\/\/github.com\/Patresss\/Java-Own-Framework---step-by-step\">Patresss\/Java-Own-Framework&#8212;step-by-step<\/a><\/li>\n<li><a href=\"https:\/\/www.wykop.pl\/wpis\/58288333\/java-programowanie-spring-mireczki-jakis-czas-temu\/\">#java #programowanie #spring Mireczki, jaki\u015b&#8230; &#8211; Patres<\/a><\/li>\n<\/ul>\n<hr>\n<p>\u200cPami\u0119tajcie, \u017ceby spr\u00f3bowa\u0107 <a href=\"https:\/\/vived.io\/keep-up-czyli-o-tym-jak-byc-na-biezaco-bez-uczucia-przytloczenia-contentem\/\">Vived<\/a>,je\u015bli chcesz otrzymywa\u0107 tego typu tre\u015bci spersonalizowane pod Ciebie!<\/p>\n<ul>\n<li><a href=\"https:\/\/apple.co\/3fB8Kcf\" rel=\"nofollow noopener\">App Store<\/a><\/li>\n<li><a href=\"https:\/\/bit.ly\/3m421dx\" rel=\"nofollow noopener\">Play Store<\/a><\/li>\n<li><a href=\"http:\/\/bit.ly\/2M7CeUN\">Wersja PWA<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>W dzisiejszej edycji tylko dwie informacje (no, tak naprawd\u0119 trzy, ale jedna ciutk\u0119 zakamuflowana). Z lektury dowiecie si\u0119, jak wygl\u0105daj\u0105 prac\u0119 nad wsparciem Waylanda a tak\u017ce&#8230; jak krok po kroku zbudowa\u0107 Springa. Zapraszamy do lektury!<\/p>\n","protected":false},"author":10,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[259],"tags":[],"class_list":["post-10096","post","type-post","status-publish","format-standard","hentry","category-jvm-pl"],"acf":{"estimated_reading_time":"3","weekly_summary":true,"push_notification_image":false,"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>JVM Tuesday vol. 51 - Projekt Wakefield oraz zbuduj w\u0142asnego Springa \ud83c\udf3f - 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-51\/\" \/>\n<meta property=\"og:locale\" content=\"pl_PL\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"JVM Tuesday vol. 51 - Projekt Wakefield oraz zbuduj w\u0142asnego Springa \ud83c\udf3f - Vived\" \/>\n<meta property=\"og:description\" content=\"W dzisiejszej edycji tylko dwie informacje (no, tak naprawd\u0119 trzy, ale jedna ciutk\u0119 zakamuflowana). Z lektury dowiecie si\u0119, jak wygl\u0105daj\u0105 prac\u0119 nad wsparciem Waylanda a tak\u017ce... jak krok po kroku zbudowa\u0107 Springa. Zapraszamy do lektury!\" \/>\n<meta property=\"og:url\" content=\"https:\/\/vived.io\/pl\/jvm-tuesday-vol-51\/\" \/>\n<meta property=\"og:site_name\" content=\"Vived\" \/>\n<meta property=\"article:published_time\" content=\"2021-08-17T12:15:32+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-09-19T11:10:49+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/7_image-11.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-51\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/vived.io\/pl\/jvm-tuesday-vol-51\/\"},\"author\":{\"name\":\"Artur Skowro\u0144ski\",\"@id\":\"https:\/\/vived.io\/pl\/#\/schema\/person\/0eb0878110cb27edfbfe46e841fe6db3\"},\"headline\":\"JVM Tuesday vol. 51 &#8211; Projekt Wakefield oraz zbuduj w\u0142asnego Springa \ud83c\udf3f\",\"datePublished\":\"2021-08-17T12:15:32+00:00\",\"dateModified\":\"2022-09-19T11:10:49+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/vived.io\/pl\/jvm-tuesday-vol-51\/\"},\"wordCount\":773,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/vived.io\/pl\/#organization\"},\"image\":{\"@id\":\"https:\/\/vived.io\/pl\/jvm-tuesday-vol-51\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/7_image-11.png\",\"articleSection\":[\"JVM\"],\"inLanguage\":\"pl-PL\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/vived.io\/pl\/jvm-tuesday-vol-51\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/vived.io\/pl\/jvm-tuesday-vol-51\/\",\"url\":\"https:\/\/vived.io\/pl\/jvm-tuesday-vol-51\/\",\"name\":\"JVM Tuesday vol. 51 - Projekt Wakefield oraz zbuduj w\u0142asnego Springa \ud83c\udf3f - Vived\",\"isPartOf\":{\"@id\":\"https:\/\/vived.io\/pl\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/vived.io\/pl\/jvm-tuesday-vol-51\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/vived.io\/pl\/jvm-tuesday-vol-51\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/7_image-11.png\",\"datePublished\":\"2021-08-17T12:15:32+00:00\",\"dateModified\":\"2022-09-19T11:10:49+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/vived.io\/pl\/jvm-tuesday-vol-51\/#breadcrumb\"},\"inLanguage\":\"pl-PL\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/vived.io\/pl\/jvm-tuesday-vol-51\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\/\/vived.io\/pl\/jvm-tuesday-vol-51\/#primaryimage\",\"url\":\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/7_image-11.png\",\"contentUrl\":\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/7_image-11.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/vived.io\/pl\/jvm-tuesday-vol-51\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Strona g\u0142\u00f3wna\",\"item\":\"https:\/\/vived.io\/pl\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"JVM Tuesday vol. 51 &#8211; Projekt Wakefield oraz zbuduj w\u0142asnego Springa \ud83c\udf3f\"}]},{\"@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. 51 - Projekt Wakefield oraz zbuduj w\u0142asnego Springa \ud83c\udf3f - 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-51\/","og_locale":"pl_PL","og_type":"article","og_title":"JVM Tuesday vol. 51 - Projekt Wakefield oraz zbuduj w\u0142asnego Springa \ud83c\udf3f - Vived","og_description":"W dzisiejszej edycji tylko dwie informacje (no, tak naprawd\u0119 trzy, ale jedna ciutk\u0119 zakamuflowana). Z lektury dowiecie si\u0119, jak wygl\u0105daj\u0105 prac\u0119 nad wsparciem Waylanda a tak\u017ce... jak krok po kroku zbudowa\u0107 Springa. Zapraszamy do lektury!","og_url":"https:\/\/vived.io\/pl\/jvm-tuesday-vol-51\/","og_site_name":"Vived","article_published_time":"2021-08-17T12:15:32+00:00","article_modified_time":"2022-09-19T11:10:49+00:00","og_image":[{"url":"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/7_image-11.png","type":"","width":"","height":""}],"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-51\/#article","isPartOf":{"@id":"https:\/\/vived.io\/pl\/jvm-tuesday-vol-51\/"},"author":{"name":"Artur Skowro\u0144ski","@id":"https:\/\/vived.io\/pl\/#\/schema\/person\/0eb0878110cb27edfbfe46e841fe6db3"},"headline":"JVM Tuesday vol. 51 &#8211; Projekt Wakefield oraz zbuduj w\u0142asnego Springa \ud83c\udf3f","datePublished":"2021-08-17T12:15:32+00:00","dateModified":"2022-09-19T11:10:49+00:00","mainEntityOfPage":{"@id":"https:\/\/vived.io\/pl\/jvm-tuesday-vol-51\/"},"wordCount":773,"commentCount":0,"publisher":{"@id":"https:\/\/vived.io\/pl\/#organization"},"image":{"@id":"https:\/\/vived.io\/pl\/jvm-tuesday-vol-51\/#primaryimage"},"thumbnailUrl":"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/7_image-11.png","articleSection":["JVM"],"inLanguage":"pl-PL","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/vived.io\/pl\/jvm-tuesday-vol-51\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/vived.io\/pl\/jvm-tuesday-vol-51\/","url":"https:\/\/vived.io\/pl\/jvm-tuesday-vol-51\/","name":"JVM Tuesday vol. 51 - Projekt Wakefield oraz zbuduj w\u0142asnego Springa \ud83c\udf3f - Vived","isPartOf":{"@id":"https:\/\/vived.io\/pl\/#website"},"primaryImageOfPage":{"@id":"https:\/\/vived.io\/pl\/jvm-tuesday-vol-51\/#primaryimage"},"image":{"@id":"https:\/\/vived.io\/pl\/jvm-tuesday-vol-51\/#primaryimage"},"thumbnailUrl":"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/7_image-11.png","datePublished":"2021-08-17T12:15:32+00:00","dateModified":"2022-09-19T11:10:49+00:00","breadcrumb":{"@id":"https:\/\/vived.io\/pl\/jvm-tuesday-vol-51\/#breadcrumb"},"inLanguage":"pl-PL","potentialAction":[{"@type":"ReadAction","target":["https:\/\/vived.io\/pl\/jvm-tuesday-vol-51\/"]}]},{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/vived.io\/pl\/jvm-tuesday-vol-51\/#primaryimage","url":"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/7_image-11.png","contentUrl":"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/7_image-11.png"},{"@type":"BreadcrumbList","@id":"https:\/\/vived.io\/pl\/jvm-tuesday-vol-51\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Strona g\u0142\u00f3wna","item":"https:\/\/vived.io\/pl\/"},{"@type":"ListItem","position":2,"name":"JVM Tuesday vol. 51 &#8211; Projekt Wakefield oraz zbuduj w\u0142asnego Springa \ud83c\udf3f"}]},{"@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":null,"attrs":[],"innerBlocks":[],"innerHTML":"<h2 id=\"1-projekt-wakefield-wayland-na-jvm-nabiera-rumie%C5%84c%C3%B3w-%F0%9F%A5%B0\">1. Projekt Wakefield (Wayland na JVM) nabiera rumie\u0144c\u00f3w \u263a\ufe0f<\/h2>\nPhilip Race jest jedn\u0105 z os\u00f3b, kt\u00f3r\u0105 warto \u015bledzi\u0107 w ekosystemie JVM. Wprawdzie jego pole zainteresowa\u0144 jest stosunkowo w\u0105skie, ale mimo to wzi\u0105\u0142 sobie na plecy dosy\u0107 niekochany element javowego ekosystemu. Kiedy inni programi\u015bci zajmuj\u0105 si\u0119 modnymi tematami jak niskopoziomowy performance czy lekkie w\u0105tki (definicja mody programist\u00f3w jest ma\u0142o zrozumia\u0142a dla postronnych obserwator\u00f3w), Phillip postanowi\u0142 zmodernizowa\u0107 Jav\u0119 desktopow\u0105 - i robi to z niezwyk\u0142\u0105 skuteczno\u015bci\u0105. W ramach JDK 17 b\u0119dziemy mogli zobaczy\u0107 Project Lanai - unowocze\u015bniony rendering macOS wykorzystuj\u0105cy wsp\u00f3\u0142czesne wersje systemu i Metal API. Teraz ponown\u0105 inicjatyw\u0119 przeprowadzi\u0107 zamierza dla Linuxa i serwera wy\u015bwietleniowego Wayland.\n<figure class=\"kg-card kg-image-card\"><img class=\"kg-image\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/7_image-11.png\" srcset=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/8_image-11.png 600w, https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/7_image-11.png 680w\" alt=\"\" width=\"680\" height=\"606\"><\/figure>\nO samym projekcie mieli\u015bmy ju\u017c okazj\u0119 pisa\u0107, kiedy ci\u0105gle by\u0142 do\u015b\u0107 mglist\u0105 ide\u0105. Teraz wreszcie ma si\u0119 to zmieni\u0107. Mimo, \u017ce ci\u0105gle pozostaje na poziomie proposala, ca\u0142o\u015b\u0107 dosta\u0142a swoj\u0105 <a href=\"https:\/\/mail.openjdk.java.net\/pipermail\/announce\/2021-August\/000305.html\">realn\u0105 nazw\u0119 (Wakefield Project)<\/a> i komitet, kt\u00f3ry wyrazi\u0142 ch\u0119\u0107 kierowania dzia\u0142aniami. W jego sk\u0142ad wchodzi spora ekipa zar\u00f3wno z JavyFX, jak i JetBrains. Wygl\u0105da wi\u0119c na to, \u017ce mamy do czynienia z kolejnym (po wspomnianym ju\u017c Lanaiu) projekcie, gdzie swoje palce macza\u0107 b\u0119d\u0105 tw\u00f3rcy IntelliJ. Phillip odgra\u017ca si\u0119, \u017ce ju\u017c w planach s\u0105 pierwsze JEPy. Zanim jednak zesp\u00f3\u0142 b\u0119dzie m\u00f3g\u0142 przyst\u0105pi\u0107 do pracy, komitet steruj\u0105cy Javy musi zag\u0142osowa\u0107 nad ch\u0119ci\u0105 rozpocz\u0119cia projektu. Wyniki poznamy 25 sierpnia.\n\nJak ju\u017c tak hermetycznie dzisiaj, to nie mo\u017cna nie wspomnie\u0107 te\u017c o nowym wydaniu projektu Loom. <a href=\"https:\/\/www.reddit.com\/r\/java\/comments\/p2lj86\/project_loom_jdk18_ea_build_with_aarch64_support\/\">Nowy Early Access<\/a> oparty jest o JDK 18. Nie oznacza to oczywi\u015bcie, \u017ce to wraz z JDK 18 nast\u0105pi oficjalne wydanie - to po prostu jest jeszcze jedna edycja testowa. Z ciekawych rzeczy jest to pierwsze w historii wydanie Looma na architektur\u0119 ARM. Nowy build dodaje te\u017c d\u0142ugo oczekiwane <a href=\"https:\/\/download.java.net\/java\/early_access\/loom\/docs\/api\/java.base\/java\/lang\/ScopeLocal.html\">Scope Locals<\/a>, o kt\u00f3rych swego czasu mieli\u015bmy okazj\u0119 pisa\u0107. Jak zwykle przy okazji wyda\u0144 Looma <a href=\"https:\/\/www.reddit.com\/r\/java\/comments\/p2lj86\/project_loom_jdk18_ea_build_with_aarch64_support\/\">polecam w\u0105tek Redditowy<\/a>, na kt\u00f3rym klasycznie ju\u017c aktywny jest sam Ron Pressler, jeden z lider\u00f3w projektu, odpowiadaj\u0105cy na pytania spo\u0142eczno\u015bci. Wywi\u0105za\u0142a si\u0119 w nim te\u017c interesuj\u0105ca rozmowa na temat wersji LTS Javy - je\u015bli chcecie pozna\u0107 opinie Rona na ten temat, <a href=\"https:\/\/www.reddit.com\/r\/java\/comments\/p2lj86\/project_loom_jdk18_ea_build_with_aarch64_support\/h8nfl2c?utm_source=share&amp;utm_medium=web2x&amp;context=3\">sprawd\u017acie tutaj<\/a>.\n<figure class=\"kg-card kg-image-card kg-card-hascaption\"><img class=\"kg-image\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/HBgMIuP.gif\" alt=\"\" width=\"400\" height=\"217\"><figcaption>TLDR: Sugeruje nie czeka\u0107 na LTSy tylko pod\u0105\u017ca\u0107 za Jav\u0105 wydanie po wydaniu, LTSy zostawiaj\u0105c aplikacjom o bardzo wolnym rozwoju.&nbsp;<\/figcaption><\/figure>\n<h3 id=\"%C5%BAr%C3%B3d%C5%82a\">\u0179r\u00f3d\u0142a<\/h3>\n<ul>\n \t<li><a href=\"https:\/\/mail.openjdk.java.net\/pipermail\/announce\/2021-August\/000305.html\">CFV: New Project: Wakefield<\/a><\/li>\n \t<li><a href=\"https:\/\/www.reddit.com\/r\/java\/comments\/p2lj86\/project_loom_jdk18_ea_build_with_aarch64_support\/\">Project Loom: JDK18 EA Build with AArch64 support is now available for download<\/a><\/li>\n \t<li><a href=\"https:\/\/download.java.net\/java\/early_access\/loom\/docs\/api\/java.base\/java\/lang\/ScopeLocal.html\">ScopeLocal (Java SE 17 &amp; JDK 17 [build 7])<\/a><\/li>\n<\/ul>\n<h2 id=\"2-zbuduj-sobi%C4%99-od-podstaw-w%C5%82asnego-springa-%F0%9F%8C%BF\"><a href=\"https:\/\/github.com\/Patresss\/Java-Own-Framework---step-by-step\">2. Zbuduj sobi\u0119 od podstaw w\u0142asnego Springa \ud83c\udf3f<\/a><\/h2>\nM\u00f3wi si\u0119, \u017ce najlepszym sposobem w programowaniu, aby co\u015b zrozumie\u0107, jest napisa\u0107 to od zera. U\u017cytkownik Patresss (b\u0119d\u0105cy notabene Polakiem i jak si\u0119 dokopa\u0142em - <a href=\"https:\/\/www.wykop.pl\/wpis\/58288333\/java-programowanie-spring-mireczki-jakis-czas-temu\/\">chwal\u0105cy si\u0119 swego czasu swoim projektem na naszym swojskim Wykopie<\/a>) wzi\u0105\u0142 sobie t\u0119 zasad\u0119 mocno do serca. Stworzy\u0142 swojego w\u0142asnego \u201cbieda\u201d Springa, kt\u00f3ry implementuje wi\u0119kszo\u015b\u0107 kluczowych mechanizm\u00f3w j\u0119zyka.\n\nId\u0105c krok po kroku przez repozytorium Git, autor opisa\u0142 krok po kroku, jak zaimplementowa\u0107 dependency injection oraz wyja\u015bnia, czym s\u0105 proxy i po co powsta\u0142y. Dodatkowo, na przyk\u0142adzie springowych adnotacji pokazuje, jak takowe zaimplementowa\u0107 od zera. Te wszystkie klocki ostatecznie spina do kupy w ca\u0142kiem interesuj\u0105c\u0105 propozycj\u0119. Oczywi\u015bcie, ci\u0119\u017cko m\u00f3wi\u0107 tu o pe\u0142nej reimplementacji frameworka - nie znajdziemy tutaj implementacji takich API jak cho\u0107by Servlety, brakuje AutoConfiguracji (kt\u00f3ra jest szalenie ciekawym mechanizmem), po macoszemu potraktowana jest wsz\u0119dobylskie w Springu refleksje. Zdecydowanie jednak jest to interesuj\u0105ca propozycja dla ka\u017cdego chc\u0105cego zakasa\u0107 r\u0119kawy i pobrudzi\u0107 sobie r\u0119ce. Takie projekty to zawsze fajna zabawa.\n\nhttps:\/\/www.youtube.com\/watch?v=M61xXdVlP5o\n\nNasze zabawy nie s\u0105 jak Twoje zabawy.\n\nPrzyznam, \u017ce czytaj\u0105c ten kod zrobi\u0142o mi si\u0119 do\u015b\u0107 cieplutko na serduszku. &nbsp;W poprzedniej pracy mieli\u015bmy okazj\u0119 pisa\u0107 w\u0142asn\u0105 \u201csklejk\u0119\u201d r\u00f3\u017cnych standard\u00f3w Java EE opart\u0105 m.in. na projekcie <a href=\"https:\/\/deltaspike.apache.org\/\">DeltaSpike<\/a> (a\u017c z ciekawo\u015bci sprawdzi\u0142em czy \u017cyje - ostatni\u0105 wersj\u0119 otrzyma\u0142 w 2020 roku, wi\u0119c z pewno\u015bci\u0105 nie mo\u017cna uzna\u0107 go za \u017cywego trupa). W ramach tej w\u0142a\u015bnie sklejki mia\u0142em przyjemno\u015b\u0107 tworzy\u0107 w\u0142asnego @Transactional opakowuj\u0105cego znajduj\u0105cego si\u0119 pod spodem jOOQa - by\u0142o fajnie\n\n<strong>\u0179r\u00f3d\u0142a<\/strong>\n<ul>\n \t<li><a href=\"https:\/\/github.com\/Patresss\/Java-Own-Framework---step-by-step\">Patresss\/Java-Own-Framework---step-by-step<\/a><\/li>\n \t<li><a href=\"https:\/\/www.wykop.pl\/wpis\/58288333\/java-programowanie-spring-mireczki-jakis-czas-temu\/\">#java #programowanie #spring Mireczki, jaki\u015b... - Patres<\/a><\/li>\n<\/ul>\n\n<hr>\n\n\u200cPami\u0119tajcie, \u017ceby spr\u00f3bowa\u0107 <a href=\"https:\/\/vived.io\/keep-up-czyli-o-tym-jak-byc-na-biezaco-bez-uczucia-przytloczenia-contentem\/\">Vived<\/a>,je\u015bli chcesz otrzymywa\u0107 tego typu tre\u015bci spersonalizowane pod Ciebie!\n<ul>\n \t<li><a href=\"https:\/\/apple.co\/3fB8Kcf\" rel=\"nofollow noopener\">App Store<\/a><\/li>\n \t<li><a href=\"https:\/\/bit.ly\/3m421dx\" rel=\"nofollow noopener\">Play Store<\/a><\/li>\n \t<li><a href=\"http:\/\/bit.ly\/2M7CeUN\">Wersja PWA<\/a><\/li>\n<\/ul>","innerContent":["<h2 id=\"1-projekt-wakefield-wayland-na-jvm-nabiera-rumie%C5%84c%C3%B3w-%F0%9F%A5%B0\">1. Projekt Wakefield (Wayland na JVM) nabiera rumie\u0144c\u00f3w \u263a\ufe0f<\/h2>\nPhilip Race jest jedn\u0105 z os\u00f3b, kt\u00f3r\u0105 warto \u015bledzi\u0107 w ekosystemie JVM. Wprawdzie jego pole zainteresowa\u0144 jest stosunkowo w\u0105skie, ale mimo to wzi\u0105\u0142 sobie na plecy dosy\u0107 niekochany element javowego ekosystemu. Kiedy inni programi\u015bci zajmuj\u0105 si\u0119 modnymi tematami jak niskopoziomowy performance czy lekkie w\u0105tki (definicja mody programist\u00f3w jest ma\u0142o zrozumia\u0142a dla postronnych obserwator\u00f3w), Phillip postanowi\u0142 zmodernizowa\u0107 Jav\u0119 desktopow\u0105 - i robi to z niezwyk\u0142\u0105 skuteczno\u015bci\u0105. W ramach JDK 17 b\u0119dziemy mogli zobaczy\u0107 Project Lanai - unowocze\u015bniony rendering macOS wykorzystuj\u0105cy wsp\u00f3\u0142czesne wersje systemu i Metal API. Teraz ponown\u0105 inicjatyw\u0119 przeprowadzi\u0107 zamierza dla Linuxa i serwera wy\u015bwietleniowego Wayland.\n<figure class=\"kg-card kg-image-card\"><img class=\"kg-image\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/7_image-11.png\" srcset=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/8_image-11.png 600w, https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/7_image-11.png 680w\" alt=\"\" width=\"680\" height=\"606\"><\/figure>\nO samym projekcie mieli\u015bmy ju\u017c okazj\u0119 pisa\u0107, kiedy ci\u0105gle by\u0142 do\u015b\u0107 mglist\u0105 ide\u0105. Teraz wreszcie ma si\u0119 to zmieni\u0107. Mimo, \u017ce ci\u0105gle pozostaje na poziomie proposala, ca\u0142o\u015b\u0107 dosta\u0142a swoj\u0105 <a href=\"https:\/\/mail.openjdk.java.net\/pipermail\/announce\/2021-August\/000305.html\">realn\u0105 nazw\u0119 (Wakefield Project)<\/a> i komitet, kt\u00f3ry wyrazi\u0142 ch\u0119\u0107 kierowania dzia\u0142aniami. W jego sk\u0142ad wchodzi spora ekipa zar\u00f3wno z JavyFX, jak i JetBrains. Wygl\u0105da wi\u0119c na to, \u017ce mamy do czynienia z kolejnym (po wspomnianym ju\u017c Lanaiu) projekcie, gdzie swoje palce macza\u0107 b\u0119d\u0105 tw\u00f3rcy IntelliJ. Phillip odgra\u017ca si\u0119, \u017ce ju\u017c w planach s\u0105 pierwsze JEPy. Zanim jednak zesp\u00f3\u0142 b\u0119dzie m\u00f3g\u0142 przyst\u0105pi\u0107 do pracy, komitet steruj\u0105cy Javy musi zag\u0142osowa\u0107 nad ch\u0119ci\u0105 rozpocz\u0119cia projektu. Wyniki poznamy 25 sierpnia.\n\nJak ju\u017c tak hermetycznie dzisiaj, to nie mo\u017cna nie wspomnie\u0107 te\u017c o nowym wydaniu projektu Loom. <a href=\"https:\/\/www.reddit.com\/r\/java\/comments\/p2lj86\/project_loom_jdk18_ea_build_with_aarch64_support\/\">Nowy Early Access<\/a> oparty jest o JDK 18. Nie oznacza to oczywi\u015bcie, \u017ce to wraz z JDK 18 nast\u0105pi oficjalne wydanie - to po prostu jest jeszcze jedna edycja testowa. Z ciekawych rzeczy jest to pierwsze w historii wydanie Looma na architektur\u0119 ARM. Nowy build dodaje te\u017c d\u0142ugo oczekiwane <a href=\"https:\/\/download.java.net\/java\/early_access\/loom\/docs\/api\/java.base\/java\/lang\/ScopeLocal.html\">Scope Locals<\/a>, o kt\u00f3rych swego czasu mieli\u015bmy okazj\u0119 pisa\u0107. Jak zwykle przy okazji wyda\u0144 Looma <a href=\"https:\/\/www.reddit.com\/r\/java\/comments\/p2lj86\/project_loom_jdk18_ea_build_with_aarch64_support\/\">polecam w\u0105tek Redditowy<\/a>, na kt\u00f3rym klasycznie ju\u017c aktywny jest sam Ron Pressler, jeden z lider\u00f3w projektu, odpowiadaj\u0105cy na pytania spo\u0142eczno\u015bci. Wywi\u0105za\u0142a si\u0119 w nim te\u017c interesuj\u0105ca rozmowa na temat wersji LTS Javy - je\u015bli chcecie pozna\u0107 opinie Rona na ten temat, <a href=\"https:\/\/www.reddit.com\/r\/java\/comments\/p2lj86\/project_loom_jdk18_ea_build_with_aarch64_support\/h8nfl2c?utm_source=share&amp;utm_medium=web2x&amp;context=3\">sprawd\u017acie tutaj<\/a>.\n<figure class=\"kg-card kg-image-card kg-card-hascaption\"><img class=\"kg-image\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/HBgMIuP.gif\" alt=\"\" width=\"400\" height=\"217\"><figcaption>TLDR: Sugeruje nie czeka\u0107 na LTSy tylko pod\u0105\u017ca\u0107 za Jav\u0105 wydanie po wydaniu, LTSy zostawiaj\u0105c aplikacjom o bardzo wolnym rozwoju.&nbsp;<\/figcaption><\/figure>\n<h3 id=\"%C5%BAr%C3%B3d%C5%82a\">\u0179r\u00f3d\u0142a<\/h3>\n<ul>\n \t<li><a href=\"https:\/\/mail.openjdk.java.net\/pipermail\/announce\/2021-August\/000305.html\">CFV: New Project: Wakefield<\/a><\/li>\n \t<li><a href=\"https:\/\/www.reddit.com\/r\/java\/comments\/p2lj86\/project_loom_jdk18_ea_build_with_aarch64_support\/\">Project Loom: JDK18 EA Build with AArch64 support is now available for download<\/a><\/li>\n \t<li><a href=\"https:\/\/download.java.net\/java\/early_access\/loom\/docs\/api\/java.base\/java\/lang\/ScopeLocal.html\">ScopeLocal (Java SE 17 &amp; JDK 17 [build 7])<\/a><\/li>\n<\/ul>\n<h2 id=\"2-zbuduj-sobi%C4%99-od-podstaw-w%C5%82asnego-springa-%F0%9F%8C%BF\"><a href=\"https:\/\/github.com\/Patresss\/Java-Own-Framework---step-by-step\">2. Zbuduj sobi\u0119 od podstaw w\u0142asnego Springa \ud83c\udf3f<\/a><\/h2>\nM\u00f3wi si\u0119, \u017ce najlepszym sposobem w programowaniu, aby co\u015b zrozumie\u0107, jest napisa\u0107 to od zera. U\u017cytkownik Patresss (b\u0119d\u0105cy notabene Polakiem i jak si\u0119 dokopa\u0142em - <a href=\"https:\/\/www.wykop.pl\/wpis\/58288333\/java-programowanie-spring-mireczki-jakis-czas-temu\/\">chwal\u0105cy si\u0119 swego czasu swoim projektem na naszym swojskim Wykopie<\/a>) wzi\u0105\u0142 sobie t\u0119 zasad\u0119 mocno do serca. Stworzy\u0142 swojego w\u0142asnego \u201cbieda\u201d Springa, kt\u00f3ry implementuje wi\u0119kszo\u015b\u0107 kluczowych mechanizm\u00f3w j\u0119zyka.\n\nId\u0105c krok po kroku przez repozytorium Git, autor opisa\u0142 krok po kroku, jak zaimplementowa\u0107 dependency injection oraz wyja\u015bnia, czym s\u0105 proxy i po co powsta\u0142y. Dodatkowo, na przyk\u0142adzie springowych adnotacji pokazuje, jak takowe zaimplementowa\u0107 od zera. Te wszystkie klocki ostatecznie spina do kupy w ca\u0142kiem interesuj\u0105c\u0105 propozycj\u0119. Oczywi\u015bcie, ci\u0119\u017cko m\u00f3wi\u0107 tu o pe\u0142nej reimplementacji frameworka - nie znajdziemy tutaj implementacji takich API jak cho\u0107by Servlety, brakuje AutoConfiguracji (kt\u00f3ra jest szalenie ciekawym mechanizmem), po macoszemu potraktowana jest wsz\u0119dobylskie w Springu refleksje. Zdecydowanie jednak jest to interesuj\u0105ca propozycja dla ka\u017cdego chc\u0105cego zakasa\u0107 r\u0119kawy i pobrudzi\u0107 sobie r\u0119ce. Takie projekty to zawsze fajna zabawa.\n\nhttps:\/\/www.youtube.com\/watch?v=M61xXdVlP5o\n\nNasze zabawy nie s\u0105 jak Twoje zabawy.\n\nPrzyznam, \u017ce czytaj\u0105c ten kod zrobi\u0142o mi si\u0119 do\u015b\u0107 cieplutko na serduszku. &nbsp;W poprzedniej pracy mieli\u015bmy okazj\u0119 pisa\u0107 w\u0142asn\u0105 \u201csklejk\u0119\u201d r\u00f3\u017cnych standard\u00f3w Java EE opart\u0105 m.in. na projekcie <a href=\"https:\/\/deltaspike.apache.org\/\">DeltaSpike<\/a> (a\u017c z ciekawo\u015bci sprawdzi\u0142em czy \u017cyje - ostatni\u0105 wersj\u0119 otrzyma\u0142 w 2020 roku, wi\u0119c z pewno\u015bci\u0105 nie mo\u017cna uzna\u0107 go za \u017cywego trupa). W ramach tej w\u0142a\u015bnie sklejki mia\u0142em przyjemno\u015b\u0107 tworzy\u0107 w\u0142asnego @Transactional opakowuj\u0105cego znajduj\u0105cego si\u0119 pod spodem jOOQa - by\u0142o fajnie\n\n<strong>\u0179r\u00f3d\u0142a<\/strong>\n<ul>\n \t<li><a href=\"https:\/\/github.com\/Patresss\/Java-Own-Framework---step-by-step\">Patresss\/Java-Own-Framework---step-by-step<\/a><\/li>\n \t<li><a href=\"https:\/\/www.wykop.pl\/wpis\/58288333\/java-programowanie-spring-mireczki-jakis-czas-temu\/\">#java #programowanie #spring Mireczki, jaki\u015b... - Patres<\/a><\/li>\n<\/ul>\n\n<hr>\n\n\u200cPami\u0119tajcie, \u017ceby spr\u00f3bowa\u0107 <a href=\"https:\/\/vived.io\/keep-up-czyli-o-tym-jak-byc-na-biezaco-bez-uczucia-przytloczenia-contentem\/\">Vived<\/a>,je\u015bli chcesz otrzymywa\u0107 tego typu tre\u015bci spersonalizowane pod Ciebie!\n<ul>\n \t<li><a href=\"https:\/\/apple.co\/3fB8Kcf\" rel=\"nofollow noopener\">App Store<\/a><\/li>\n \t<li><a href=\"https:\/\/bit.ly\/3m421dx\" rel=\"nofollow noopener\">Play Store<\/a><\/li>\n \t<li><a href=\"http:\/\/bit.ly\/2M7CeUN\">Wersja PWA<\/a><\/li>\n<\/ul>"]}],"_links":{"self":[{"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/posts\/10096","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=10096"}],"version-history":[{"count":1,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/posts\/10096\/revisions"}],"predecessor-version":[{"id":10560,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/posts\/10096\/revisions\/10560"}],"wp:attachment":[{"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/media?parent=10096"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/categories?post=10096"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/tags?post=10096"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}