{"id":10230,"date":"2022-09-14T16:30:39","date_gmt":"2022-09-14T14:30:39","guid":{"rendered":"https:\/\/vived.io\/?p=10230"},"modified":"2022-09-22T08:44:49","modified_gmt":"2022-09-22T06:44:49","slug":"co-przyniesie-przyszlosc-projektu-amber-jvm-tuesday-vol-103","status":"publish","type":"post","link":"https:\/\/vived.io\/pl\/co-przyniesie-przyszlosc-projektu-amber-jvm-tuesday-vol-103\/","title":{"rendered":"Co przyniesie przysz\u0142o\u015b\u0107 Projektu Amber? JVM Tuesday vol. 103"},"content":{"rendered":"\n<h2 id=\"1-czy-projekt-panama-moze-sluzyc-jako-nio-2-0\" data-num=1>1. Czy Projekt Panama mo\u017ce s\u0142u\u017cy\u0107 jako NIO 2.0?<\/h2>\n\n\n\n<p>Zanim jeszcze skupimy si\u0119 na wysypie news\u00f3w (a przez dwa tygodnie si\u0119 ich troch\u0119 nazbiera\u0142o&#8230;), chcia\u0142em na rozgrzewk\u0119 podzieli\u0107 si\u0119 z Wami nowym, \u015bwie\u017cym podej\u015bciem do projektu Panama. Przyznam, \u017ce mnie samemu Panama ca\u0142y czas kojarzy\u0142a si\u0119 z aplikacjami, kt\u00f3re wymagaj\u0105 dost\u0119pu do natywnej pami\u0119ci czy innych zasob\u00f3w systemu, albo komunikacji mi\u0119dzy procesowej. W du\u017cej cz\u0119\u015bci wynika to z tego, \u017ce w mojej g\u0142owie Panama jest rozumiana jako zbiorcza abstrakcja nad JNI i sum.misc.Unsafe, podanej w nowym, bezpieczniejszym API.<\/p>\n\n\n\n<p>Podejrzewam, \u017ce nie jestem jedyny. Wydaje mi si\u0119 wi\u0119c, \u017ce tytu\u0142 artyku\u0142u <a href=\"https:\/\/gavinray97.github.io\/blog\/panama-not-so-foreign-memory\"><strong>Panama: Not-so-Foreign Memory<\/strong><\/a>, kt\u00f3ry <a href=\"https:\/\/twitter.com\/GavinRayDev\">Gavin Ray<\/a> nada\u0142 swojemu artyku\u0142owi trafia w punkt &#8211; bowiem Project Panama poza lepsz\u0105 natywn\u0105 interoperacyjno\u015bci\u0105 przynosi sporo wi\u0119cej. Sprawia to, \u017ce mo\u017ce by\u0107 przydatny r\u00f3wnie\u017c tam, gdzie na pierwszy rzut oka go o to nie podejrzewamy.<\/p>\n\n\n\n<p>Bawili\u015bcie si\u0119 kiedy\u015b NIO? Pod tym skr\u00f3tem kryje si\u0119 Java Non-Blocking IO, kt\u00f3re by\u0142o jednym z najwa\u017cniejszych dodatk\u00f3w jeszcze za czas\u00f3w Javy 1.7. Je\u015bli mimo wszystko nie macie z ni\u0105 wi\u0119kszego do\u015bwiadczenia, to nie czujcie FOMO &#8211; jest to API u\u017cywane g\u0142\u00f3wnie przez asynchroniczne biblioteki jak Netty czy sterowniki baz danych. Dla Zwyk\u0142egoU\u017cytkownika\u2122\ufe0f jest ono mocno nieprzyst\u0119pne i raczej nie chcecie widzie\u0107 jego u\u017cycia w typowo &#8222;biznesowym kodzie&#8221;.<\/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\/09\/image-10-1024x1024.png\" alt=\"\" class=\"wp-image-10270\" width=\"512\" height=\"512\" srcset=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/image-10-1024x1024.png 1024w, https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/image-10-300x300.png 300w, https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/image-10-150x150.png 150w, https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/image-10-768x768.png 768w, https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/image-10-1536x1536.png 1536w, https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/image-10.png 1600w\" sizes=\"auto, (max-width: 512px) 100vw, 512px\" \/><figcaption>Powy\u017csza ilustracja MonkeyUser.com to najszybszy kurs tego jak dzia\u0142a\u0142 <em>ByteBuffer<\/em>.<\/figcaption><\/figure><\/div>\n\n\n<p>Dlatego w\u0142a\u015bnie tak bardzo spodoba\u0142 mi si\u0119 tekst Gavina Raya, w kt\u00f3rym pokazuje on jak mo\u017cna u\u017cy\u0107 wprowadzonego w Panamie <code>MemorySegment API<\/code> w miejscach, gdzie wcze\u015bniej niezb\u0119dne by\u0142o u\u017cywanie NIO. Tekst pokazuje, \u017ce w wypadku np. wspomnianych sterownik\u00f3w baz danych mo\u017cna zmieni\u0107 podej\u015bcie i traktowa\u0107 dane nie jako ci\u0105g\u0142y strumie\u0144 bajt\u00f3w, a jako dyskretne pakiety o konkretnej strukturze. Dzi\u0119ki temu uzyskujemy sporo wi\u0119cej wsparcia od samego j\u0119zyka, a tak\u017ce bezpiecze\u0144stwo pod postaci\u0105 otypowanych struktur pami\u0119ci. Wi\u0119cej znajdziecie w tek\u015bcie Gavina, kt\u00f3ry jest zaskakuj\u0105co przyst\u0119pny w lekturze, bior\u0105c pod uwag\u0119 temat\u00f3w kt\u00f3re dotyka.<\/p>\n\n\n\n<p>Przynajmniej pod warunkiem, \u017ce Panama nie kojarzy si\u0119 Wam z kapeluszami.<\/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\/09\/image-4-1024x768.png\" alt=\"\" class=\"wp-image-10232\" width=\"768\" height=\"576\" srcset=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/image-4-1024x768.png 1024w, https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/image-4-300x225.png 300w, https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/image-4-768x576.png 768w, https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/image-4-1536x1152.png 1536w, https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/image-4-2048x1536.png 2048w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/><figcaption>BTW: Je\u015bli mimo wszystko nie zniech\u0119ci\u0142em Was do zapoznania si\u0119 z NIO, moje ulubione <strong><a href=\"https:\/\/www.oreilly.com\/library\/view\/java-network-programming\/9781449365936\/\">Java Network Programming<\/a><\/strong> b\u0119dzie nienajgorszy wyborem, \u017ceby pozna\u0107 go lepiej.<\/figcaption><\/figure><\/div>\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:\/\/gavinray97.github.io\/blog\/panama-not-so-foreign-memory\">Panama: Not-so-Foreign Memory<\/a><\/li><\/ul>\n\n\n\n<h2 id=\"2-co-przyniesie-przyszlosc-projektu-amber\" data-num=2>2. Co przyniesie przysz\u0142o\u015b\u0107 Projektu Amber?<\/h2>\n\n\n\n<p>Po Panamie w naturalny spos\u00f3b przychodzi czas na Project Amber, kt\u00f3rego celem jest zapewnienie jak najlepszego Developer Experience ca\u0142ej spo\u0142eczno\u015bci. Brian Goetz &#8211; prawdziwy tytan JVM &#8211; wyra\u017anie si\u0119 nudzi albo prokastrynuje, \u017ceby Valhalla czasem nigdy nie wysz\u0142a (sorry Brian, musia\u0142em), poniewa\u017c w ostatnich tygodniach listy mailingowe Ambera zosta\u0142y wr\u0119cz (oczywi\u015bcie jak na javowe Listy Mailingowe) zalane wr\u0119cz nowymi pomys\u0142ami. Przygl\u0105dnijmy si\u0119 wi\u0119c tym, co znajdziemy w propozycjach.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"640\" height=\"360\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/Godiva_header-video-low.gif\" alt=\"\" class=\"wp-image-10285\"\/><figcaption>Czuje si\u0119 troch\u0119 jakbym otwiera\u0142 pude\u0142ko czekoladek<\/figcaption><\/figure><\/div>\n\n\n<p>Zacznijmy od tak zwanych &#8222;nienazwanych zmiennych&#8221;. Je\u017celi macie jakie\u015b do\u015bwiadczenie ze Scal\u0105 to &#8211; po pierwsze &#8211; jeszcze troch\u0119 w tym wydaniu b\u0119dzie dla Was oraz &#8211; po drugie &#8211; kojarzycie pewnie operator underscore <code>_<\/code>, kt\u00f3ry u\u017cywany jest wtedy, gdy nazwa parametru nie jest istotna. Nieco uproszczonym w stosunku do Scali u\u017cyciem jest te\u017c np. <code>it<\/code> w Kotlinie i Groovym. Java mia\u0142a historycznie kilka podej\u015b\u0107 do podobnej konstrukcji sk\u0142adniowej, jednak ostatecznie nic z nich nie wysz\u0142o. Teraz Brian chcia\u0142by do tematu wr\u00f3ci\u0107 i prosi o feedback nad r\u00f3\u017cnymi potencjalnymi sposobami u\u017cycia tej struktury. Je\u017celi jeste\u015bcie ciekawi, dlaczego jest to na tyle skomplikowane, \u017ce historycznie ju\u017c inicjatywa kilkakrotnie spad\u0142a z rowerka, zach\u0119cam do zapoznania si\u0119 z <a href=\"https:\/\/mail.openjdk.org\/pipermail\/amber-spec-experts\/2022-September\/003485.html\">w\u0105tkiem w ramach listy mailingowej<\/a>.<\/p>\n\n\n\n<p>Og\u00f3lnie, ca\u0142o\u015b\u0107 ma pozwala\u0107 na zast\u0105pienie skomplikowanego:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>x instanceof String&#091;] arr\n  &amp;&amp; arr.length matches L\n  &amp;&amp; arr.length &gt;= n\n  &amp;&amp; arr&#091;0] matches P0\n  &amp;&amp; arr&#091;1] matches P1\n  ...\n  &amp;&amp; arr&#091;n] matches Pn<\/code><\/pre>\n\n\n\n<p>prostym<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>String&#091;L] { P0, .., Pn }<\/code><\/pre>\n\n\n\n<p>St\u0105d w p\u0142ynny spos\u00f3b przechodzimy do <a href=\"https:\/\/mail.openjdk.org\/pipermail\/amber-spec-experts\/2022-September\/003497.html\">ostatniego z maili dotycz\u0105cych Ambera<\/a>, kt\u00f3ry ma na celu r\u00f3wnie\u017c wprowadzenia pattern matchingu dla typ\u00f3w prymitywnych. Powy\u017csza sk\u0142adnia u\u017cywaj\u0105ca <code>instanceof<\/code> jest problematyczna, poniewa\u017c&#8230; typy prymitywne nie maj\u0105 instancji i u\u017cycie operatora si\u0119 z nimi mocno k\u0142\u00f3ci. Okazuje si\u0119, \u017ce znalezienie dobrej alternatywy nie jest to wcale a\u017c taki prostym procesem, bior\u0105c pod uwag\u0119 skomplikowane regu\u0142y AutoBoxingu i castowania. Tak jak powy\u017csze, dyskusja jest tutaj super ciekawa (po drodze zboczy\u0142a w mocno filozoficzne wywody w rodzaju rzeczywistego znaczenia operatora <code>instanceof<\/code>) i je\u017celi chcecie pozna\u0107 troch\u0119 obskurnych detali Javy, bardzo polecam przebicie si\u0119 przez ten w\u0105tek prawie pi\u0119\u0107dziesi\u0119ciu maili.<\/p>\n\n\n\n<p>A jak ju\u017c jeste\u015bmy przy Listach Mailingowych &#8211; to na koniec drobnica. Ot\u00f3\u017c og\u0142oszono, \u017ce wraz z JDK 20 ostatecznie <a href=\"https:\/\/mail.openjdk.org\/pipermail\/jdk-dev\/2022-August\/006877.html\">stracimy mo\u017cliwo\u015b\u0107 targetowania naszego buildu jako kompatybilnego z JDK 7<\/a>. Ostatnio informowali\u015bmy, \u017ce samo JDK 7 traci ju\u017c w zasadzie zupe\u0142nie wsparcie, ta decyzja to de facto przyklepanie tematu r\u00f3wnie\u017c od strony bebech\u00f3w JVM.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"358\" height=\"340\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/4ope-RRT5KjHW94c_y8XoIdSV9xIkzJqZy5CMK8E5E8.gif\" alt=\"\" class=\"wp-image-10237\"\/><figcaption>Podejrzewam, \u017ce kto\u015b b\u0119dzie mia\u0142 tam mas\u0119 zabawy z czyszczenia kodu \u017ar\u00f3d\u0142owego maszyny z kompatybilno\u015bci.<\/figcaption><\/figure><\/div>\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:\/\/mail.openjdk.org\/pipermail\/amber-spec-experts\/2022-September\/003485.html\">Unnamed variables and match-all patterns<\/a><\/li><li><a href=\"https:\/\/mail.openjdk.org\/pipermail\/jdk-dev\/2022-August\/006877.html\">FYI, planning to drop support for -source\/-target\/&#8211;release 7 from javac in JDK 20<\/a><\/li><li><a href=\"https:\/\/mail.openjdk.org\/pipermail\/amber-spec-experts\/2022-September\/003482.html\">Array patterns (and varargs patterns)<\/a><\/li><li><a href=\"https:\/\/mail.openjdk.org\/pipermail\/amber-spec-experts\/2022-September\/003497.html\">Primitives in instanceof and patterns<\/a><\/li><\/ul>\n\n\n\n<h2 id=\"3-akka-przestaje-byc-w-pelni-otwarto-zrodlowa-zmienia-licencje\" data-num=3>3. Akka przestaje by\u0107 w pe\u0142ni otwarto-\u017ar\u00f3d\u0142owa, zmienia licencj\u0119<\/h2>\n\n\n\n<p>No, to techniczne sprawy mamy za sob\u0105, teraz czas przej\u015b\u0107 do prawdziwej burzy ostatniego tygodnia.<\/p>\n\n\n\n<p>Akka to w dzisiejszych czasach jeden z g\u0142\u00f3wnych trzon\u00f3w Scali i jeden z g\u0142\u00f3wnych powod\u00f3w, dla kt\u00f3rych to w\u0142a\u015bnie tym j\u0119zykiem interesuj\u0105 si\u0119 firmy. Jest to jedna z najlepszych w ca\u0142ej bran\u017cy implementacji modelu aktorowego, kt\u00f3ry dzi\u0119ki wsparciu dojrza\u0142ej (i dobrze znanej w bran\u017cy) platformy &#8211; jak\u0105 jest JVM &#8211; stanowi\u0142a prawdziwie bardzo kusz\u0105c\u0105 kombinacje. Dlatego te\u017c tak du\u017cym echem w bran\u017cy odbi\u0142a si\u0119 w \u015bwiecie programistycznym wiadomo\u015b\u0107, \u017ce od wersji 2.7 Akka <a href=\"https:\/\/www.lightbend.com\/company\/news\/lightbend-changes-its-software-licensing-model-for-akka-technology\">zmienia model licencyjny z Apache 2.0 na BSL v1.1 (Business Source License)<\/a>, stworzonej przez MariaDB. Zmiana licencji oznacza w zasadzie zamkni\u0119cie etapu rozwoju Akki w oparciu o tak zwany &#8222;Open Core&#8221;.<\/p>\n\n\n\n<p>Co BSL oznacza dla Akki w praktyce? Ot\u00f3\u017c nowe wersje b\u0119d\u0105 w dalszym ci\u0105gu publikowane pod Apache 2.0, jednak ze sporym op\u00f3\u017anieniem &#8211; dopiero po trzech latach. Do tego czasu ka\u017cda nowa wersja b\u0119dzie co prawda udost\u0119pniana wraz ze \u017ar\u00f3d\u0142ami, ale za darmo b\u0119dzie wolno z niej korzysta\u0107 wy\u0142\u0105cznie na \u015brodowiskach nieprodukcyjnych. Je\u017celi b\u0119dziemy chcieli u\u017cy\u0107 Akki w systemie produkcyjnym, a roczny przych\u00f3d naszej firmy przekracza 25 milion\u00f3w dolar\u00f3w, niezb\u0119dne b\u0119dzie uiszczenie op\u0142at licencyjnych. Ich ceny zaczynaj\u0105 si\u0119 od oko\u0142o $2,000 USD za rdze\u0144 procesora, definiowany jako rdze\u0144 sprz\u0119towy \/ vCore \/ vCPU. Je\u017celi chcemy zmodyfikowa\u0107 Akk\u0119 na swoje potrzeby, licencja wyniesie nas $72,000 USD. Ca\u0142o\u015b\u0107 jest nieco bardziej zniuansowana, wi\u0119c po szczeg\u00f3\u0142y pricingu <a href=\"https:\/\/www.lightbend.com\/akka#pricing\">odsy\u0142am Was tutaj<\/a>.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"521\" height=\"496\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/image-5.png\" alt=\"\" class=\"wp-image-10239\" srcset=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/image-5.png 521w, https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/image-5-300x286.png 300w\" sizes=\"auto, (max-width: 521px) 100vw, 521px\" \/><\/figure><\/div>\n\n\n<p>Tw\u00f3rcy Akki wydali specjalny post, <a href=\"https:\/\/www.lightbend.com\/blog\/why-we-are-changing-the-license-for-akka\">w kt\u00f3rym t\u0142umacz\u0105 przyczyny swojej decyzji<\/a>. Mamy tutaj do czynienia z tradycyjnym problemem ma\u0142ej firmy, z kt\u00f3rej efektu pracy korzystaj\u0105 du\u017ce korporacje w zasadzie bez dawanie niczego od siebie. Akka sta\u0142a si\u0119 artefaktem swoich czas\u00f3w &#8211; dzisiaj popularne projekty Open-Source, typu Deno czy Vercel bardzo szybko wchodz\u0105 w rynek Venture Capital, natychmiast pr\u00f3buj\u0105c si\u0119 monetyzowa\u0107 przez np. tworzenie odpowiedniego produktu infrastrukturalnego. Lightbend te\u017c pr\u00f3bowa\u0142 tej \u015bcie\u017cki, inwestuj\u0105c w Akk\u0119 Serverless, kt\u00f3ra w maju tego roku zosta\u0142a przemianowana na <a href=\"https:\/\/www.kalix.io\/news\/lightbend-launches-kalix-a-revolutionary-approach-to-simplifying-cloud-based-app-development-for-global-teams\">Kalix<\/a> i wydana jako osobny produkt. Wida\u0107 jest to trudne do zrobienia tak bardzo retroaktywnie.<\/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\/09\/image-6.png\" alt=\"\" class=\"wp-image-10241\" width=\"512\" height=\"208\" srcset=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/image-6.png 1024w, https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/image-6-300x122.png 300w, https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/image-6-768x311.png 768w\" sizes=\"auto, (max-width: 512px) 100vw, 512px\" \/><figcaption>Mo\u017cliwe, \u017ce to jest te\u017c spos\u00f3b na przekonanie do nowej us\u0142ugi.<\/figcaption><\/figure><\/div>\n\n\n<p>Zdaje sobie spraw\u0119, jaki pop\u0142och w spo\u0142eczno\u015bci wywo\u0142a\u0142a decyzja Lightbendu (niech \u015bwiadczy o tym <a href=\"https:\/\/www.reddit.com\/r\/java\/comments\/x9qls6\/akka_move_from_apache_v2_license_to_bsl\/\">ilo\u015b\u0107<\/a> <a href=\"https:\/\/news.ycombinator.com\/item?id=32746807\">dyskusji<\/a>, <a href=\"https:\/\/www.reddit.com\/r\/scala\/comments\/x7xyzr\/why_we_are_changing_the_license_for_akka\/\">kt\u00f3re<\/a> <a href=\"https:\/\/www.reddit.com\/r\/programming\/comments\/x81fj1\/why_we_are_changing_the_license_for_akka\/\">pojawi\u0142y<\/a> si\u0119 na popularnych agregatorach), ale akurat decyzja jest z mojej strony zrozumia\u0142a. Akka po prostu &#8222;robi robot\u0119&#8221; &#8211; dlatego te\u017c zreszt\u0105 stanowi jeden z trzon\u00f3w Scali. Lightbend nie jest to pierwszy podmiot, kt\u00f3ry decyduje si\u0119 na podobny ruch. Pocz\u0105tek zesz\u0142ego roku przebieg\u0142 pod znakiem konfliktu Amazon vs Elastic, gdzie ten drugi zdecydowa\u0142 si\u0119 na licencje SSPL (Server Side Public License), kt\u00f3ra wycelowana jest akurat w ograniczenie u\u017cycia projekt\u00f3w OpenSource przez dostawc\u00f3w chmurowych. R\u00f3wnocze\u015bnie, mam troch\u0119 obaw czy zapisy licencyjne, a prawdopodobnie r\u00f3wnie\u017c id\u0105ca za nimi konieczno\u015b\u0107 umo\u017cliwienia audytowania nie b\u0119d\u0105 stanowi\u0107 bariery wej\u015bcia dla wielu mniejszych (ale pewnie te\u017c wi\u0119kszych) firm, kt\u00f3re po wst\u0119pnym &#8222;capacity planning&#8221; zdecyduj\u0105 si\u0119 jednak sprawdzi\u0107 inne rozwi\u0105zania lub og\u00f3lnie alternatywn\u0105 architektur\u0119. Nie bez powodu OracleDB zwykle u\u017cywany jest przez banki i du\u017ce podmioty.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"385\" height=\"489\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/image-9.png\" alt=\"\" class=\"wp-image-10251\" srcset=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/image-9.png 385w, https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/image-9-236x300.png 236w\" sizes=\"auto, (max-width: 385px) 100vw, 385px\" \/><figcaption>Obowi\u0105zkowy klasyk.<\/figcaption><\/figure><\/div>\n\n\n<p>Co ciekawe, ten ruch afektuje nie tylko bezpo\u015brednich u\u017cytkownik\u00f3w Akki. Przyk\u0142adowo, okaza\u0142o si\u0119, \u017ce Apache Flink u\u017cywa w swoich internalach Akki, i poinformowali swoj\u0105 spo\u0142eczno\u015b\u0107 o tym, \u017ce <a href=\"https:\/\/flink.apache.org\/news\/2022\/09\/08\/akka-license-change.html\">ich projekt pozostanie na otwartej wersji 2.6<\/a>, a w mi\u0119dzyczasie b\u0119d\u0105 zastanawia\u0107 si\u0119 co robi\u0107 dalej. Pewnie podobnych problem\u00f3w b\u0119dzie wi\u0119cej.<\/p>\n\n\n\n<p>Tak\u017ce na koniec mam jeszcze dla Was jedno ciekawe, nie-JVMowe \u017ar\u00f3d\u0142o. W spo\u0142eczno\u015bci od d\u0142u\u017cszego czasu trwa dyskusja nad <a href=\"https:\/\/kitze.io\/posts\/github-stars-wont-pay-your-rent\">sposobami finansowania projekt\u00f3w open-source, zar\u00f3wno tych du\u017cych i ma\u0142ych<\/a>. Okazuje si\u0119, \u017ce jako do\u015b\u0107 kreatywna bran\u017ca uda\u0142o nam si\u0119 wypracowa\u0107 troch\u0119 modeli, a \u015bwietn\u0105 agregat\u0105 jest repozytorium o uroczej nazwie <strong><a href=\"https:\/\/github.com\/nayafia\/lemonade-stand\">Lemonade Stand<\/a><\/strong>, nawi\u0105zuj\u0105ce do najlepszych kapitalistycznych tradycji. Oczywi\u015bcie, daleko mi od sugerowania, \u017ce Akka powinna w ten spos\u00f3b zarabia\u0107 na dalsze utrzymanie projektu, ale podejrzewam, \u017ce kt\u00f3ry\u015b z naszych czytelnik\u00f3w posiadaj\u0105cy jakie\u015b projekty otwarto \u017ar\u00f3d\u0142owe znajdzie tam co\u015b dla siebie, co pozwoli cho\u0107 troch\u0119 zrekompensowa\u0107 spo\u0142eczno\u015bci czas wk\u0142adany w prac\u0119.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"779\" height=\"519\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/image-7.png\" alt=\"\" class=\"wp-image-10244\" srcset=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/image-7.png 779w, https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/image-7-300x200.png 300w, https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/image-7-768x512.png 768w\" sizes=\"auto, (max-width: 779px) 100vw, 779px\" \/><figcaption>Bo za otwarcie standu z lemoniad\u0105 to by go z pewno\u015bci\u0105 sanepid dojecha\u0142.<\/figcaption><\/figure><\/div>\n\n\n<p><em>PS: VirtusLab &#8211; firma w kt\u00f3rej pracuje &#8211; jest Partnerem Lightbend. Wszystko, co przeczytali\u015bcie powy\u017cej jest moimi prywatnymi przemy\u015bleniami i nie nale\u017cy traktowa\u0107 go jako stanowiska organizacji jako takiej.<\/em><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u0179r\u00f3d\u0142o<\/h3>\n\n\n\n<ul class=\"wp-block-list\"><li><a href=\"https:\/\/www.lightbend.com\/company\/news\/lightbend-changes-its-software-licensing-model-for-akka-technology\">Lightbend Changes its Software Licensing Model for Akka Technology<\/a><\/li><li><a href=\"https:\/\/flink.apache.org\/news\/2022\/09\/08\/akka-license-change.html\">Regarding Akka&#8217;s licensing change<\/a><\/li><li><a href=\"https:\/\/github.com\/nayafia\/lemonade-stand\">A handy guide to financial support for open source<\/a><\/li><li><a href=\"https:\/\/www.lightbend.com\/blog\/why-we-are-changing-the-license-for-akka\">Why We Are Changing the License for Akka<\/a><\/li><\/ul>\n\n\n\n<h2 id=\"4-release-radar\" data-num=4>4. Release Radar<\/h2>\n\n\n\n<p>Nie by\u0142o mnie dwa tygodnie, a to sprawi\u0142o, \u017ce nie tylko du\u017co si\u0119 wydarzy\u0142o, ale obrodzi\u0142o r\u00f3wnie\u017c nowymi wydaniami popularnych projekt\u00f3w<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Scala 3.2<\/h3>\n\n\n\n<p>Skoro tyle by\u0142o dzisiaj o Akce, to zacznijmy od Scali. Poza beczk\u0105 dziegciu kontrowersyjnych w spo\u0142eczno\u015bci decyzji licencyjnych, pewnym plastrem miodu by\u0142o wydanie nowej <a href=\"https:\/\/www.scala-lang.org\/blog\/2022\/09\/05\/scala-3.2.0-released.html\">Scali 3.2.0<\/a>. Przynosi ona bowiem sporo interesuj\u0105cych nowo\u015bci.<\/p>\n\n\n\n<p>Po pierwsze, uciesz\u0105 si\u0119 wszyscy Ci, kt\u00f3rych ulubion\u0105 metryk\u0105 jest pokrycie kodu testami. Najpopularniejszy scalowy plugin s\u0142u\u017c\u0105cy do tego jeszcze za czas\u00f3w Scala 2 &#8211; <strong>Scoverage<\/strong> &#8211; mocno bazuje na outpucie kompilatora, kt\u00f3ry w nowej Scali si\u0119 zmieni\u0142. Na szcz\u0119\u015bcie to si\u0119 zmienia i Scala 3.2 wprowadza nie tylko generowanie niezb\u0119dnego outputu, ale r\u00f3wnie\u017c plugin do <code>sbt<\/code> orkiestruj\u0105cy ca\u0142y proces. Dodatkow\u0105 rzecz\u0105, kt\u00f3ra zwi\u0105zana jest z narz\u0119dziow\u0105 jest wprowadzenie nowej flagi <code>-Vprofile<\/code>, generuj\u0105cej statystyki dotycz\u0105ce z\u0142o\u017cono\u015bci kodu \u017ar\u00f3d\u0142owego.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/1_image1.jpg\" alt=\"\"\/><figcaption>Ju\u017c nied\u0142ugo alerty z Sonara b\u0119d\u0105 irytowa\u0107 r\u00f3wnie\u017c u\u017cytkownik\u00f3w Scali 3<\/figcaption><\/figure><\/div>\n\n\n<p>Nowa Scala to r\u00f3wnie\u017c sporo syntax-u, kt\u00f3ry daje programistom Scali jeszcze wi\u0119cej mocy, jak cho\u0107by lepsze podpowiadanie kodu, s\u0142odziki sk\u0142adniowe dla extension functions czy for-comprehension oraz wiele wi\u0119cej min. kilka nowych, eksperymentalnych API. Ale po to odsy\u0142am Was ju\u017c do pe\u0142nych <a href=\"https:\/\/www.scala-lang.org\/blog\/2022\/09\/05\/scala-3.2.0-released.html\">release notes<\/a>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Quarkus 2.12.0<\/h3>\n\n\n\n<p>Nowy minor <a href=\"https:\/\/quarkus.io\/blog\/quarkus-2-12-0-final-released\/\">Quarkusa 2.12.0<\/a> to nie taki znowu minor, zw\u0142aszcza dla u\u017cytkownik\u00f3w GraalVM i Kotlina. Te zosta\u0142y bowiem zaktualizowane do wersji odpowiednio 22.2 oraz 1.7, dzi\u0119ki czemu mo\u017cemy w pe\u0142ni korzysta\u0107 z dobrodziejstw nowych edycji &#8211; z kt\u00f3rych moim zdaniem (odpowiednio) najciekawszymi b\u0119d\u0105 mniejsze rozmiary obraz\u00f3w dla GraalVM oraz lepsze wsparcie inkrementalnej kompilacji dla Kotlina. U\u017cytkownicy Microsoft SQL Server dostali za\u015b aktualizacje sterownika JDBC.<\/p>\n\n\n\n<p>Je\u017celi nie u\u017cywacie \u017cadnego z powy\u017cszych, jedyne co nowe wydanie ma do zaoferowania to wsparcie <a href=\"https:\/\/smallrye.io\/smallrye-config\/2.11.1\/config\/secret-keys\/\">Sekretnych Kluczy<\/a> w plikach konfiguracyjnych &#8211; funkcji udost\u0119pnianej przez udost\u0119pnianej przez SmallRye Config.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Helidon N\u00edma w wersji Alpha<\/h3>\n\n\n\n<p>A na koniec prawdziwa gwiazda &#8211; oficjalna <a href=\"https:\/\/medium.com\/helidon\/please-welcome-helidon-n%C3%ADma-9a882c5b6f1e\">zapowied\u017a Helidon N\u00edma<\/a>. Tak, tego samego Helidon N\u00edma o kt\u00f3rym pisali\u015bmy w kontek\u015bcie &#8222;scoopu&#8221; z EclipseConf, a kt\u00f3ry wreszcie doczeka\u0142 si\u0119 oficjalnej zapowiedzi, a tak\u017ce&#8230; nazwy. Okazuje si\u0119 bowiem, \u017ce Nima to tak naprawd\u0119 N\u00edma.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"498\" height=\"280\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/download-2.png\" alt=\"\" class=\"wp-image-10296\" srcset=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/download-2.png 498w, https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/download-2-300x169.png 300w\" sizes=\"auto, (max-width: 498px) 100vw, 498px\" \/><figcaption>\u00cd za\u015b to tak zwane &#8222;i z akcentem ostrym (akutem)&#8221;, co mo\u017ce nam sugerowa\u0107, jak nazwa N\u00edma b\u0119dzie wymawiana.<\/figcaption><\/figure><\/div>\n\n\n<p>Na razie ukaza\u0142a si\u0119 wersja Alfa, a na pe\u0142n\u0105 przyjdzie nam jeszcze poczeka\u0107 &#8211; tw\u00f3rcy zapowiedzieli bowiem, \u017ce prac\u0119 nad ni\u0105 powstan\u0105 mniej wi\u0119cej do ko\u0144ca przysz\u0142ego roku, kiedy nale\u017cy si\u0119 spodziewa\u0107 jej stabilnego wydania, r\u00f3wnoleg\u0142ego do Helidona 4.0. Jak na tak wczesny etap otrzymali\u015bmy ju\u017c ca\u0142kiem sporo szczeg\u00f3\u0142\u00f3w technicznych &#8211; towarzysz\u0105ca postowi premierowemu <a href=\"https:\/\/medium.com\/helidon\/helidon-n%C3%ADma-helidon-on-virtual-threads-130bb2ea2088\">publikacja Thomasa Langera<\/a> skupia si\u0119 na tym, jak N\u00edma na tym etapie prezentuje si\u0119 w por\u00f3wnaniu z Microprofilowym Helidonem, a tak\u017ce z bezpo\u015bredni\u0105 konkurencj\u0105, za jak\u0105 tw\u00f3rcy uznaj\u0105 Netty&#8217;ego. Jak mo\u017cna przeczyta\u0107, jednym z cel\u00f3w N\u00edmy jest w\u0142a\u015bnie ca\u0142kowite wyrugowanie Netty&#8217;ego z Helidonowego ekosystemu.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"400\" height=\"266\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/image-8.png\" alt=\"\" class=\"wp-image-10248\" srcset=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/image-8.png 400w, https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/image-8-300x200.png 300w\" sizes=\"auto, (max-width: 400px) 100vw, 400px\" \/><figcaption>Ci\u0105gle pami\u0119tam, gdy to w\u0142a\u015bnie Netty by\u0142a pupilem spo\u0142eczno\u015bci<\/figcaption><\/figure><\/div>\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p>Ja ju\u017c wi\u0119cej nie id\u0119 na urlop \ud83d\ude05 Wystarczy, \u017ce mnie chwil\u0119 nie ma, a potem odkopuj\u0119 si\u0119 przez dwa dni z temat\u00f3w, a i tak nie wyczerpa\u0142em wszystkiego&#8230; ale to ju\u017c sobie zostawimy na za tydzie\u0144.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Nie by\u0142o naszego przegl\u0105du przez dwa tygodnie, wi\u0119c mam nadziej\u0119, \u017ce t\u0119sknili\u015bcie! W nagrod\u0119 za cierpliwo\u015b\u0107 mam dla Was mas\u0119 temat\u00f3w &#8211; przysz\u0142o\u015b\u0107 Projektu Amber i tera\u017aniejszo\u015b\u0107 Panamy, nowa licencja dla Akki i kilka Releas\u00f3w, w tym oficjalna premiera N\u00edmy.<\/p>\n","protected":false},"author":10,"featured_media":10291,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[259],"tags":[],"class_list":["post-10230","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-jvm-pl"],"acf":{"estimated_reading_time":"12","feature_image_blog":{"ID":10312,"id":10312,"title":"pexels-photo-10772786","filename":"pexels-photo-10772786.jpeg","filesize":410506,"url":"https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/pexels-photo-10772786.jpeg","link":"https:\/\/vived.io\/pl\/co-przyniesie-przyszlosc-projektu-amber-jvm-tuesday-vol-103\/pexels-photo-10772786-2\/","alt":"","author":"10","description":"","caption":"","name":"pexels-photo-10772786-2","status":"inherit","uploaded_to":10230,"date":"2022-09-14 15:38:40","modified":"2022-09-14 15:38:40","menu_order":0,"mime_type":"image\/jpeg","type":"image","subtype":"jpeg","icon":"https:\/\/vived.io\/wp-includes\/images\/media\/default.png","width":2250,"height":1500,"sizes":{"thumbnail":"https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/pexels-photo-10772786-150x150.jpeg","thumbnail-width":150,"thumbnail-height":150,"medium":"https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/pexels-photo-10772786-300x200.jpeg","medium-width":300,"medium-height":200,"medium_large":"https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/pexels-photo-10772786-768x512.jpeg","medium_large-width":768,"medium_large-height":512,"large":"https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/pexels-photo-10772786-1024x683.jpeg","large-width":1024,"large-height":683,"1536x1536":"https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/pexels-photo-10772786-1536x1024.jpeg","1536x1536-width":1536,"1536x1536-height":1024,"2048x2048":"https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/pexels-photo-10772786-2048x1365.jpeg","2048x2048-width":2048,"2048x2048-height":1365,"gform-image-choice-sm":"https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/pexels-photo-10772786.jpeg","gform-image-choice-sm-width":300,"gform-image-choice-sm-height":200,"gform-image-choice-md":"https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/pexels-photo-10772786.jpeg","gform-image-choice-md-width":400,"gform-image-choice-md-height":267,"gform-image-choice-lg":"https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/pexels-photo-10772786.jpeg","gform-image-choice-lg-width":600,"gform-image-choice-lg-height":400}},"weekly_summary":true,"push_notification_image":"https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/JVM-Weekly-1200x628_V2-1.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>Co przyniesie przysz\u0142o\u015b\u0107 Projektu Amber? JVM Tuesday vol. 103 - 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\/co-przyniesie-przyszlosc-projektu-amber-jvm-tuesday-vol-103\/\" \/>\n<meta property=\"og:locale\" content=\"pl_PL\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Co przyniesie przysz\u0142o\u015b\u0107 Projektu Amber? JVM Tuesday vol. 103 - Vived\" \/>\n<meta property=\"og:description\" content=\"Nie by\u0142o naszego przegl\u0105du przez dwa tygodnie, wi\u0119c mam nadziej\u0119, \u017ce t\u0119sknili\u015bcie! W nagrod\u0119 za cierpliwo\u015b\u0107 mam dla Was mas\u0119 temat\u00f3w - przysz\u0142o\u015b\u0107 Projektu Amber i tera\u017aniejszo\u015b\u0107 Panamy, nowa licencja dla Akki i kilka Releas\u00f3w, w tym oficjalna premiera N\u00edmy.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/vived.io\/pl\/co-przyniesie-przyszlosc-projektu-amber-jvm-tuesday-vol-103\/\" \/>\n<meta property=\"og:site_name\" content=\"Vived\" \/>\n<meta property=\"article:published_time\" content=\"2022-09-14T14:30:39+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-09-22T06:44:49+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/JVM-Weekly-1200x628_V2-1.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\/co-przyniesie-przyszlosc-projektu-amber-jvm-tuesday-vol-103\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/vived.io\/pl\/co-przyniesie-przyszlosc-projektu-amber-jvm-tuesday-vol-103\/\"},\"author\":{\"name\":\"Artur Skowro\u0144ski\",\"@id\":\"https:\/\/vived.io\/pl\/#\/schema\/person\/0eb0878110cb27edfbfe46e841fe6db3\"},\"headline\":\"Co przyniesie przysz\u0142o\u015b\u0107 Projektu Amber? JVM Tuesday vol. 103\",\"datePublished\":\"2022-09-14T14:30:39+00:00\",\"dateModified\":\"2022-09-22T06:44:49+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/vived.io\/pl\/co-przyniesie-przyszlosc-projektu-amber-jvm-tuesday-vol-103\/\"},\"wordCount\":2358,\"publisher\":{\"@id\":\"https:\/\/vived.io\/pl\/#organization\"},\"image\":{\"@id\":\"https:\/\/vived.io\/pl\/co-przyniesie-przyszlosc-projektu-amber-jvm-tuesday-vol-103\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/JVM-Weekly-1200x628_V2-1.png\",\"articleSection\":[\"JVM\"],\"inLanguage\":\"pl-PL\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/vived.io\/pl\/co-przyniesie-przyszlosc-projektu-amber-jvm-tuesday-vol-103\/\",\"url\":\"https:\/\/vived.io\/pl\/co-przyniesie-przyszlosc-projektu-amber-jvm-tuesday-vol-103\/\",\"name\":\"Co przyniesie przysz\u0142o\u015b\u0107 Projektu Amber? JVM Tuesday vol. 103 - Vived\",\"isPartOf\":{\"@id\":\"https:\/\/vived.io\/pl\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/vived.io\/pl\/co-przyniesie-przyszlosc-projektu-amber-jvm-tuesday-vol-103\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/vived.io\/pl\/co-przyniesie-przyszlosc-projektu-amber-jvm-tuesday-vol-103\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/JVM-Weekly-1200x628_V2-1.png\",\"datePublished\":\"2022-09-14T14:30:39+00:00\",\"dateModified\":\"2022-09-22T06:44:49+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/vived.io\/pl\/co-przyniesie-przyszlosc-projektu-amber-jvm-tuesday-vol-103\/#breadcrumb\"},\"inLanguage\":\"pl-PL\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/vived.io\/pl\/co-przyniesie-przyszlosc-projektu-amber-jvm-tuesday-vol-103\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\/\/vived.io\/pl\/co-przyniesie-przyszlosc-projektu-amber-jvm-tuesday-vol-103\/#primaryimage\",\"url\":\"https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/JVM-Weekly-1200x628_V2-1.png\",\"contentUrl\":\"https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/JVM-Weekly-1200x628_V2-1.png\",\"width\":1200,\"height\":628},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/vived.io\/pl\/co-przyniesie-przyszlosc-projektu-amber-jvm-tuesday-vol-103\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Strona g\u0142\u00f3wna\",\"item\":\"https:\/\/vived.io\/pl\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Co przyniesie przysz\u0142o\u015b\u0107 Projektu Amber? JVM Tuesday vol. 103\"}]},{\"@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":"Co przyniesie przysz\u0142o\u015b\u0107 Projektu Amber? JVM Tuesday vol. 103 - 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\/co-przyniesie-przyszlosc-projektu-amber-jvm-tuesday-vol-103\/","og_locale":"pl_PL","og_type":"article","og_title":"Co przyniesie przysz\u0142o\u015b\u0107 Projektu Amber? JVM Tuesday vol. 103 - Vived","og_description":"Nie by\u0142o naszego przegl\u0105du przez dwa tygodnie, wi\u0119c mam nadziej\u0119, \u017ce t\u0119sknili\u015bcie! W nagrod\u0119 za cierpliwo\u015b\u0107 mam dla Was mas\u0119 temat\u00f3w - przysz\u0142o\u015b\u0107 Projektu Amber i tera\u017aniejszo\u015b\u0107 Panamy, nowa licencja dla Akki i kilka Releas\u00f3w, w tym oficjalna premiera N\u00edmy.","og_url":"https:\/\/vived.io\/pl\/co-przyniesie-przyszlosc-projektu-amber-jvm-tuesday-vol-103\/","og_site_name":"Vived","article_published_time":"2022-09-14T14:30:39+00:00","article_modified_time":"2022-09-22T06:44:49+00:00","og_image":[{"width":1200,"height":628,"url":"https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/JVM-Weekly-1200x628_V2-1.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\/co-przyniesie-przyszlosc-projektu-amber-jvm-tuesday-vol-103\/#article","isPartOf":{"@id":"https:\/\/vived.io\/pl\/co-przyniesie-przyszlosc-projektu-amber-jvm-tuesday-vol-103\/"},"author":{"name":"Artur Skowro\u0144ski","@id":"https:\/\/vived.io\/pl\/#\/schema\/person\/0eb0878110cb27edfbfe46e841fe6db3"},"headline":"Co przyniesie przysz\u0142o\u015b\u0107 Projektu Amber? JVM Tuesday vol. 103","datePublished":"2022-09-14T14:30:39+00:00","dateModified":"2022-09-22T06:44:49+00:00","mainEntityOfPage":{"@id":"https:\/\/vived.io\/pl\/co-przyniesie-przyszlosc-projektu-amber-jvm-tuesday-vol-103\/"},"wordCount":2358,"publisher":{"@id":"https:\/\/vived.io\/pl\/#organization"},"image":{"@id":"https:\/\/vived.io\/pl\/co-przyniesie-przyszlosc-projektu-amber-jvm-tuesday-vol-103\/#primaryimage"},"thumbnailUrl":"https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/JVM-Weekly-1200x628_V2-1.png","articleSection":["JVM"],"inLanguage":"pl-PL"},{"@type":"WebPage","@id":"https:\/\/vived.io\/pl\/co-przyniesie-przyszlosc-projektu-amber-jvm-tuesday-vol-103\/","url":"https:\/\/vived.io\/pl\/co-przyniesie-przyszlosc-projektu-amber-jvm-tuesday-vol-103\/","name":"Co przyniesie przysz\u0142o\u015b\u0107 Projektu Amber? JVM Tuesday vol. 103 - Vived","isPartOf":{"@id":"https:\/\/vived.io\/pl\/#website"},"primaryImageOfPage":{"@id":"https:\/\/vived.io\/pl\/co-przyniesie-przyszlosc-projektu-amber-jvm-tuesday-vol-103\/#primaryimage"},"image":{"@id":"https:\/\/vived.io\/pl\/co-przyniesie-przyszlosc-projektu-amber-jvm-tuesday-vol-103\/#primaryimage"},"thumbnailUrl":"https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/JVM-Weekly-1200x628_V2-1.png","datePublished":"2022-09-14T14:30:39+00:00","dateModified":"2022-09-22T06:44:49+00:00","breadcrumb":{"@id":"https:\/\/vived.io\/pl\/co-przyniesie-przyszlosc-projektu-amber-jvm-tuesday-vol-103\/#breadcrumb"},"inLanguage":"pl-PL","potentialAction":[{"@type":"ReadAction","target":["https:\/\/vived.io\/pl\/co-przyniesie-przyszlosc-projektu-amber-jvm-tuesday-vol-103\/"]}]},{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/vived.io\/pl\/co-przyniesie-przyszlosc-projektu-amber-jvm-tuesday-vol-103\/#primaryimage","url":"https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/JVM-Weekly-1200x628_V2-1.png","contentUrl":"https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/JVM-Weekly-1200x628_V2-1.png","width":1200,"height":628},{"@type":"BreadcrumbList","@id":"https:\/\/vived.io\/pl\/co-przyniesie-przyszlosc-projektu-amber-jvm-tuesday-vol-103\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Strona g\u0142\u00f3wna","item":"https:\/\/vived.io\/pl\/"},{"@type":"ListItem","position":2,"name":"Co przyniesie przysz\u0142o\u015b\u0107 Projektu Amber? JVM Tuesday vol. 103"}]},{"@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. Czy Projekt Panama mo\u017ce s\u0142u\u017cy\u0107 jako NIO 2.0?<\/h2>\n","innerContent":["\n<h2>1. Czy Projekt Panama mo\u017ce s\u0142u\u017cy\u0107 jako NIO 2.0?<\/h2>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Zanim jeszcze skupimy si\u0119 na wysypie news\u00f3w (a przez dwa tygodnie si\u0119 ich troch\u0119 nazbiera\u0142o...), chcia\u0142em na rozgrzewk\u0119 podzieli\u0107 si\u0119 z Wami nowym, \u015bwie\u017cym podej\u015bciem do projektu Panama. Przyznam, \u017ce mnie samemu Panama ca\u0142y czas kojarzy\u0142a si\u0119 z aplikacjami, kt\u00f3re wymagaj\u0105 dost\u0119pu do natywnej pami\u0119ci czy innych zasob\u00f3w systemu, albo komunikacji mi\u0119dzy procesowej. W du\u017cej cz\u0119\u015bci wynika to z tego, \u017ce w mojej g\u0142owie Panama jest rozumiana jako zbiorcza abstrakcja nad JNI i sum.misc.Unsafe, podanej w nowym, bezpieczniejszym API.<\/p>\n","innerContent":["\n<p>Zanim jeszcze skupimy si\u0119 na wysypie news\u00f3w (a przez dwa tygodnie si\u0119 ich troch\u0119 nazbiera\u0142o...), chcia\u0142em na rozgrzewk\u0119 podzieli\u0107 si\u0119 z Wami nowym, \u015bwie\u017cym podej\u015bciem do projektu Panama. Przyznam, \u017ce mnie samemu Panama ca\u0142y czas kojarzy\u0142a si\u0119 z aplikacjami, kt\u00f3re wymagaj\u0105 dost\u0119pu do natywnej pami\u0119ci czy innych zasob\u00f3w systemu, albo komunikacji mi\u0119dzy procesowej. W du\u017cej cz\u0119\u015bci wynika to z tego, \u017ce w mojej g\u0142owie Panama jest rozumiana jako zbiorcza abstrakcja nad JNI i sum.misc.Unsafe, podanej w nowym, bezpieczniejszym API.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Podejrzewam, \u017ce nie jestem jedyny. Wydaje mi si\u0119 wi\u0119c, \u017ce tytu\u0142 artyku\u0142u <a href=\"https:\/\/gavinray97.github.io\/blog\/panama-not-so-foreign-memory\"><strong>Panama: Not-so-Foreign Memory<\/strong><\/a>, kt\u00f3ry <a href=\"https:\/\/twitter.com\/GavinRayDev\">Gavin Ray<\/a> nada\u0142 swojemu artyku\u0142owi trafia w punkt - bowiem Project Panama poza lepsz\u0105 natywn\u0105 interoperacyjno\u015bci\u0105 przynosi sporo wi\u0119cej. Sprawia to, \u017ce mo\u017ce by\u0107 przydatny r\u00f3wnie\u017c tam, gdzie na pierwszy rzut oka go o to nie podejrzewamy.<\/p>\n","innerContent":["\n<p>Podejrzewam, \u017ce nie jestem jedyny. Wydaje mi si\u0119 wi\u0119c, \u017ce tytu\u0142 artyku\u0142u <a href=\"https:\/\/gavinray97.github.io\/blog\/panama-not-so-foreign-memory\"><strong>Panama: Not-so-Foreign Memory<\/strong><\/a>, kt\u00f3ry <a href=\"https:\/\/twitter.com\/GavinRayDev\">Gavin Ray<\/a> nada\u0142 swojemu artyku\u0142owi trafia w punkt - bowiem Project Panama poza lepsz\u0105 natywn\u0105 interoperacyjno\u015bci\u0105 przynosi sporo wi\u0119cej. Sprawia to, \u017ce mo\u017ce by\u0107 przydatny r\u00f3wnie\u017c tam, gdzie na pierwszy rzut oka go o to nie podejrzewamy.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Bawili\u015bcie si\u0119 kiedy\u015b NIO? Pod tym skr\u00f3tem kryje si\u0119 Java Non-Blocking IO, kt\u00f3re by\u0142o jednym z najwa\u017cniejszych dodatk\u00f3w jeszcze za czas\u00f3w Javy 1.7. Je\u015bli mimo wszystko nie macie z ni\u0105 wi\u0119kszego do\u015bwiadczenia, to nie czujcie FOMO - jest to API u\u017cywane g\u0142\u00f3wnie przez asynchroniczne biblioteki jak Netty czy sterowniki baz danych. Dla Zwyk\u0142egoU\u017cytkownika\u2122\ufe0f jest ono mocno nieprzyst\u0119pne i raczej nie chcecie widzie\u0107 jego u\u017cycia w typowo \"biznesowym kodzie\".<\/p>\n","innerContent":["\n<p>Bawili\u015bcie si\u0119 kiedy\u015b NIO? Pod tym skr\u00f3tem kryje si\u0119 Java Non-Blocking IO, kt\u00f3re by\u0142o jednym z najwa\u017cniejszych dodatk\u00f3w jeszcze za czas\u00f3w Javy 1.7. Je\u015bli mimo wszystko nie macie z ni\u0105 wi\u0119kszego do\u015bwiadczenia, to nie czujcie FOMO - jest to API u\u017cywane g\u0142\u00f3wnie przez asynchroniczne biblioteki jak Netty czy sterowniki baz danych. Dla Zwyk\u0142egoU\u017cytkownika\u2122\ufe0f jest ono mocno nieprzyst\u0119pne i raczej nie chcecie widzie\u0107 jego u\u017cycia w typowo \"biznesowym kodzie\".<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/image","attrs":{"align":"center","id":10270,"width":512,"height":512,"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\/09\/image-10-1024x1024.png\" alt=\"\" class=\"wp-image-10270\" width=\"512\" height=\"512\"\/><figcaption>Powy\u017csza ilustracja MonkeyUser.com to najszybszy kurs tego jak dzia\u0142a\u0142 <em>ByteBuffer<\/em>.<\/figcaption><\/figure>\n","innerContent":["\n<figure class=\"wp-block-image aligncenter size-large is-resized\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/image-10-1024x1024.png\" alt=\"\" class=\"wp-image-10270\" width=\"512\" height=\"512\"\/><figcaption>Powy\u017csza ilustracja MonkeyUser.com to najszybszy kurs tego jak dzia\u0142a\u0142 <em>ByteBuffer<\/em>.<\/figcaption><\/figure>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Dlatego w\u0142a\u015bnie tak bardzo spodoba\u0142 mi si\u0119 tekst Gavina Raya, w kt\u00f3rym pokazuje on jak mo\u017cna u\u017cy\u0107 wprowadzonego w Panamie <code>MemorySegment API<\/code> w miejscach, gdzie wcze\u015bniej niezb\u0119dne by\u0142o u\u017cywanie NIO. Tekst pokazuje, \u017ce w wypadku np. wspomnianych sterownik\u00f3w baz danych mo\u017cna zmieni\u0107 podej\u015bcie i traktowa\u0107 dane nie jako ci\u0105g\u0142y strumie\u0144 bajt\u00f3w, a jako dyskretne pakiety o konkretnej strukturze. Dzi\u0119ki temu uzyskujemy sporo wi\u0119cej wsparcia od samego j\u0119zyka, a tak\u017ce bezpiecze\u0144stwo pod postaci\u0105 otypowanych struktur pami\u0119ci. Wi\u0119cej znajdziecie w tek\u015bcie Gavina, kt\u00f3ry jest zaskakuj\u0105co przyst\u0119pny w lekturze, bior\u0105c pod uwag\u0119 temat\u00f3w kt\u00f3re dotyka.<\/p>\n","innerContent":["\n<p>Dlatego w\u0142a\u015bnie tak bardzo spodoba\u0142 mi si\u0119 tekst Gavina Raya, w kt\u00f3rym pokazuje on jak mo\u017cna u\u017cy\u0107 wprowadzonego w Panamie <code>MemorySegment API<\/code> w miejscach, gdzie wcze\u015bniej niezb\u0119dne by\u0142o u\u017cywanie NIO. Tekst pokazuje, \u017ce w wypadku np. wspomnianych sterownik\u00f3w baz danych mo\u017cna zmieni\u0107 podej\u015bcie i traktowa\u0107 dane nie jako ci\u0105g\u0142y strumie\u0144 bajt\u00f3w, a jako dyskretne pakiety o konkretnej strukturze. Dzi\u0119ki temu uzyskujemy sporo wi\u0119cej wsparcia od samego j\u0119zyka, a tak\u017ce bezpiecze\u0144stwo pod postaci\u0105 otypowanych struktur pami\u0119ci. Wi\u0119cej znajdziecie w tek\u015bcie Gavina, kt\u00f3ry jest zaskakuj\u0105co przyst\u0119pny w lekturze, bior\u0105c pod uwag\u0119 temat\u00f3w kt\u00f3re dotyka.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Przynajmniej pod warunkiem, \u017ce Panama nie kojarzy si\u0119 Wam z kapeluszami.<\/p>\n","innerContent":["\n<p>Przynajmniej pod warunkiem, \u017ce Panama nie kojarzy si\u0119 Wam z kapeluszami.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/image","attrs":{"align":"center","id":10232,"width":768,"height":576,"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\/09\/image-4-1024x768.png\" alt=\"\" class=\"wp-image-10232\" width=\"768\" height=\"576\"\/><figcaption>BTW: Je\u015bli mimo wszystko nie zniech\u0119ci\u0142em Was do zapoznania si\u0119 z NIO, moje ulubione <strong><a href=\"https:\/\/www.oreilly.com\/library\/view\/java-network-programming\/9781449365936\/\">Java Network Programming<\/a><\/strong> b\u0119dzie nienajgorszy wyborem, \u017ceby pozna\u0107 go lepiej.<\/figcaption><\/figure>\n","innerContent":["\n<figure class=\"wp-block-image aligncenter size-large is-resized\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/image-4-1024x768.png\" alt=\"\" class=\"wp-image-10232\" width=\"768\" height=\"576\"\/><figcaption>BTW: Je\u015bli mimo wszystko nie zniech\u0119ci\u0142em Was do zapoznania si\u0119 z NIO, moje ulubione <strong><a href=\"https:\/\/www.oreilly.com\/library\/view\/java-network-programming\/9781449365936\/\">Java Network Programming<\/a><\/strong> b\u0119dzie nienajgorszy wyborem, \u017ceby pozna\u0107 go lepiej.<\/figcaption><\/figure>\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:\/\/gavinray97.github.io\/blog\/panama-not-so-foreign-memory\">Panama: Not-so-Foreign Memory<\/a><\/li><\/ul>\n","innerContent":["\n<ul><li><a href=\"https:\/\/gavinray97.github.io\/blog\/panama-not-so-foreign-memory\">Panama: Not-so-Foreign Memory<\/a><\/li><\/ul>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/heading","attrs":[],"innerBlocks":[],"innerHTML":"\n<h2>2. Co przyniesie przysz\u0142o\u015b\u0107 Projektu Amber?<\/h2>\n","innerContent":["\n<h2>2. Co przyniesie przysz\u0142o\u015b\u0107 Projektu Amber?<\/h2>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Po Panamie w naturalny spos\u00f3b przychodzi czas na Project Amber, kt\u00f3rego celem jest zapewnienie jak najlepszego Developer Experience ca\u0142ej spo\u0142eczno\u015bci. Brian Goetz - prawdziwy tytan JVM - wyra\u017anie si\u0119 nudzi albo prokastrynuje, \u017ceby Valhalla czasem nigdy nie wysz\u0142a (sorry Brian, musia\u0142em), poniewa\u017c w ostatnich tygodniach listy mailingowe Ambera zosta\u0142y wr\u0119cz (oczywi\u015bcie jak na javowe Listy Mailingowe) zalane wr\u0119cz nowymi pomys\u0142ami. Przygl\u0105dnijmy si\u0119 wi\u0119c tym, co znajdziemy w propozycjach.<\/p>\n","innerContent":["\n<p>Po Panamie w naturalny spos\u00f3b przychodzi czas na Project Amber, kt\u00f3rego celem jest zapewnienie jak najlepszego Developer Experience ca\u0142ej spo\u0142eczno\u015bci. Brian Goetz - prawdziwy tytan JVM - wyra\u017anie si\u0119 nudzi albo prokastrynuje, \u017ceby Valhalla czasem nigdy nie wysz\u0142a (sorry Brian, musia\u0142em), poniewa\u017c w ostatnich tygodniach listy mailingowe Ambera zosta\u0142y wr\u0119cz (oczywi\u015bcie jak na javowe Listy Mailingowe) zalane wr\u0119cz nowymi pomys\u0142ami. Przygl\u0105dnijmy si\u0119 wi\u0119c tym, co znajdziemy w propozycjach.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/image","attrs":{"align":"center","id":10285,"sizeSlug":"full","linkDestination":"none"},"innerBlocks":[],"innerHTML":"\n<figure class=\"wp-block-image aligncenter size-full\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/Godiva_header-video-low.gif\" alt=\"\" class=\"wp-image-10285\"\/><figcaption>Czuje si\u0119 troch\u0119 jakbym otwiera\u0142 pude\u0142ko czekoladek<\/figcaption><\/figure>\n","innerContent":["\n<figure class=\"wp-block-image aligncenter size-full\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/Godiva_header-video-low.gif\" alt=\"\" class=\"wp-image-10285\"\/><figcaption>Czuje si\u0119 troch\u0119 jakbym otwiera\u0142 pude\u0142ko czekoladek<\/figcaption><\/figure>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Zacznijmy od tak zwanych \"nienazwanych zmiennych\". Je\u017celi macie jakie\u015b do\u015bwiadczenie ze Scal\u0105 to - po pierwsze - jeszcze troch\u0119 w tym wydaniu b\u0119dzie dla Was oraz - po drugie - kojarzycie pewnie operator underscore <code>_<\/code>, kt\u00f3ry u\u017cywany jest wtedy, gdy nazwa parametru nie jest istotna. Nieco uproszczonym w stosunku do Scali u\u017cyciem jest te\u017c np. <code>it<\/code> w Kotlinie i Groovym. Java mia\u0142a historycznie kilka podej\u015b\u0107 do podobnej konstrukcji sk\u0142adniowej, jednak ostatecznie nic z nich nie wysz\u0142o. Teraz Brian chcia\u0142by do tematu wr\u00f3ci\u0107 i prosi o feedback nad r\u00f3\u017cnymi potencjalnymi sposobami u\u017cycia tej struktury. Je\u017celi jeste\u015bcie ciekawi, dlaczego jest to na tyle skomplikowane, \u017ce historycznie ju\u017c inicjatywa kilkakrotnie spad\u0142a z rowerka, zach\u0119cam do zapoznania si\u0119 z <a href=\"https:\/\/mail.openjdk.org\/pipermail\/amber-spec-experts\/2022-September\/003485.html\">w\u0105tkiem w ramach listy mailingowej<\/a>.<\/p>\n","innerContent":["\n<p>Zacznijmy od tak zwanych \"nienazwanych zmiennych\". Je\u017celi macie jakie\u015b do\u015bwiadczenie ze Scal\u0105 to - po pierwsze - jeszcze troch\u0119 w tym wydaniu b\u0119dzie dla Was oraz - po drugie - kojarzycie pewnie operator underscore <code>_<\/code>, kt\u00f3ry u\u017cywany jest wtedy, gdy nazwa parametru nie jest istotna. Nieco uproszczonym w stosunku do Scali u\u017cyciem jest te\u017c np. <code>it<\/code> w Kotlinie i Groovym. Java mia\u0142a historycznie kilka podej\u015b\u0107 do podobnej konstrukcji sk\u0142adniowej, jednak ostatecznie nic z nich nie wysz\u0142o. Teraz Brian chcia\u0142by do tematu wr\u00f3ci\u0107 i prosi o feedback nad r\u00f3\u017cnymi potencjalnymi sposobami u\u017cycia tej struktury. Je\u017celi jeste\u015bcie ciekawi, dlaczego jest to na tyle skomplikowane, \u017ce historycznie ju\u017c inicjatywa kilkakrotnie spad\u0142a z rowerka, zach\u0119cam do zapoznania si\u0119 z <a href=\"https:\/\/mail.openjdk.org\/pipermail\/amber-spec-experts\/2022-September\/003485.html\">w\u0105tkiem w ramach listy mailingowej<\/a>.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Og\u00f3lnie, ca\u0142o\u015b\u0107 ma pozwala\u0107 na zast\u0105pienie skomplikowanego:<\/p>\n","innerContent":["\n<p>Og\u00f3lnie, ca\u0142o\u015b\u0107 ma pozwala\u0107 na zast\u0105pienie skomplikowanego:<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/code","attrs":[],"innerBlocks":[],"innerHTML":"\n<pre class=\"wp-block-code\"><code>x instanceof String&#91;] arr\n  &amp;&amp; arr.length matches L\n  &amp;&amp; arr.length &gt;= n\n  &amp;&amp; arr&#91;0] matches P0\n  &amp;&amp; arr&#91;1] matches P1\n  ...\n  &amp;&amp; arr&#91;n] matches Pn<\/code><\/pre>\n","innerContent":["\n<pre class=\"wp-block-code\"><code>x instanceof String&#91;] arr\n  &amp;&amp; arr.length matches L\n  &amp;&amp; arr.length &gt;= n\n  &amp;&amp; arr&#91;0] matches P0\n  &amp;&amp; arr&#91;1] matches P1\n  ...\n  &amp;&amp; arr&#91;n] matches Pn<\/code><\/pre>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>prostym<\/p>\n","innerContent":["\n<p>prostym<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/code","attrs":[],"innerBlocks":[],"innerHTML":"\n<pre class=\"wp-block-code\"><code>String&#91;L] { P0, .., Pn }<\/code><\/pre>\n","innerContent":["\n<pre class=\"wp-block-code\"><code>String&#91;L] { P0, .., Pn }<\/code><\/pre>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>St\u0105d w p\u0142ynny spos\u00f3b przechodzimy do <a href=\"https:\/\/mail.openjdk.org\/pipermail\/amber-spec-experts\/2022-September\/003497.html\">ostatniego z maili dotycz\u0105cych Ambera<\/a>, kt\u00f3ry ma na celu r\u00f3wnie\u017c wprowadzenia pattern matchingu dla typ\u00f3w prymitywnych. Powy\u017csza sk\u0142adnia u\u017cywaj\u0105ca <code>instanceof<\/code> jest problematyczna, poniewa\u017c... typy prymitywne nie maj\u0105 instancji i u\u017cycie operatora si\u0119 z nimi mocno k\u0142\u00f3ci. Okazuje si\u0119, \u017ce znalezienie dobrej alternatywy nie jest to wcale a\u017c taki prostym procesem, bior\u0105c pod uwag\u0119 skomplikowane regu\u0142y AutoBoxingu i castowania. Tak jak powy\u017csze, dyskusja jest tutaj super ciekawa (po drodze zboczy\u0142a w mocno filozoficzne wywody w rodzaju rzeczywistego znaczenia operatora <code>instanceof<\/code>) i je\u017celi chcecie pozna\u0107 troch\u0119 obskurnych detali Javy, bardzo polecam przebicie si\u0119 przez ten w\u0105tek prawie pi\u0119\u0107dziesi\u0119ciu maili.<\/p>\n","innerContent":["\n<p>St\u0105d w p\u0142ynny spos\u00f3b przechodzimy do <a href=\"https:\/\/mail.openjdk.org\/pipermail\/amber-spec-experts\/2022-September\/003497.html\">ostatniego z maili dotycz\u0105cych Ambera<\/a>, kt\u00f3ry ma na celu r\u00f3wnie\u017c wprowadzenia pattern matchingu dla typ\u00f3w prymitywnych. Powy\u017csza sk\u0142adnia u\u017cywaj\u0105ca <code>instanceof<\/code> jest problematyczna, poniewa\u017c... typy prymitywne nie maj\u0105 instancji i u\u017cycie operatora si\u0119 z nimi mocno k\u0142\u00f3ci. Okazuje si\u0119, \u017ce znalezienie dobrej alternatywy nie jest to wcale a\u017c taki prostym procesem, bior\u0105c pod uwag\u0119 skomplikowane regu\u0142y AutoBoxingu i castowania. Tak jak powy\u017csze, dyskusja jest tutaj super ciekawa (po drodze zboczy\u0142a w mocno filozoficzne wywody w rodzaju rzeczywistego znaczenia operatora <code>instanceof<\/code>) i je\u017celi chcecie pozna\u0107 troch\u0119 obskurnych detali Javy, bardzo polecam przebicie si\u0119 przez ten w\u0105tek prawie pi\u0119\u0107dziesi\u0119ciu maili.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>A jak ju\u017c jeste\u015bmy przy Listach Mailingowych - to na koniec drobnica. Ot\u00f3\u017c og\u0142oszono, \u017ce wraz z JDK 20 ostatecznie <a href=\"https:\/\/mail.openjdk.org\/pipermail\/jdk-dev\/2022-August\/006877.html\">stracimy mo\u017cliwo\u015b\u0107 targetowania naszego buildu jako kompatybilnego z JDK 7<\/a>. Ostatnio informowali\u015bmy, \u017ce samo JDK 7 traci ju\u017c w zasadzie zupe\u0142nie wsparcie, ta decyzja to de facto przyklepanie tematu r\u00f3wnie\u017c od strony bebech\u00f3w JVM.<\/p>\n","innerContent":["\n<p>A jak ju\u017c jeste\u015bmy przy Listach Mailingowych - to na koniec drobnica. Ot\u00f3\u017c og\u0142oszono, \u017ce wraz z JDK 20 ostatecznie <a href=\"https:\/\/mail.openjdk.org\/pipermail\/jdk-dev\/2022-August\/006877.html\">stracimy mo\u017cliwo\u015b\u0107 targetowania naszego buildu jako kompatybilnego z JDK 7<\/a>. Ostatnio informowali\u015bmy, \u017ce samo JDK 7 traci ju\u017c w zasadzie zupe\u0142nie wsparcie, ta decyzja to de facto przyklepanie tematu r\u00f3wnie\u017c od strony bebech\u00f3w JVM.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/image","attrs":{"align":"center","id":10237,"sizeSlug":"full","linkDestination":"none"},"innerBlocks":[],"innerHTML":"\n<figure class=\"wp-block-image aligncenter size-full\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/4ope-RRT5KjHW94c_y8XoIdSV9xIkzJqZy5CMK8E5E8.gif\" alt=\"\" class=\"wp-image-10237\"\/><figcaption>Podejrzewam, \u017ce kto\u015b b\u0119dzie mia\u0142 tam mas\u0119 zabawy z czyszczenia kodu \u017ar\u00f3d\u0142owego maszyny z kompatybilno\u015bci.<\/figcaption><\/figure>\n","innerContent":["\n<figure class=\"wp-block-image aligncenter size-full\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/4ope-RRT5KjHW94c_y8XoIdSV9xIkzJqZy5CMK8E5E8.gif\" alt=\"\" class=\"wp-image-10237\"\/><figcaption>Podejrzewam, \u017ce kto\u015b b\u0119dzie mia\u0142 tam mas\u0119 zabawy z czyszczenia kodu \u017ar\u00f3d\u0142owego maszyny z kompatybilno\u015bci.<\/figcaption><\/figure>\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:\/\/mail.openjdk.org\/pipermail\/amber-spec-experts\/2022-September\/003485.html\">Unnamed variables and match-all patterns<\/a><\/li><li><a href=\"https:\/\/mail.openjdk.org\/pipermail\/jdk-dev\/2022-August\/006877.html\">FYI, planning to drop support for -source\/-target\/--release 7 from javac in JDK 20<\/a><\/li><li><a href=\"https:\/\/mail.openjdk.org\/pipermail\/amber-spec-experts\/2022-September\/003482.html\">Array patterns (and varargs patterns)<\/a><\/li><li><a href=\"https:\/\/mail.openjdk.org\/pipermail\/amber-spec-experts\/2022-September\/003497.html\">Primitives in instanceof and patterns<\/a><\/li><\/ul>\n","innerContent":["\n<ul><li><a href=\"https:\/\/mail.openjdk.org\/pipermail\/amber-spec-experts\/2022-September\/003485.html\">Unnamed variables and match-all patterns<\/a><\/li><li><a href=\"https:\/\/mail.openjdk.org\/pipermail\/jdk-dev\/2022-August\/006877.html\">FYI, planning to drop support for -source\/-target\/--release 7 from javac in JDK 20<\/a><\/li><li><a href=\"https:\/\/mail.openjdk.org\/pipermail\/amber-spec-experts\/2022-September\/003482.html\">Array patterns (and varargs patterns)<\/a><\/li><li><a href=\"https:\/\/mail.openjdk.org\/pipermail\/amber-spec-experts\/2022-September\/003497.html\">Primitives in instanceof and patterns<\/a><\/li><\/ul>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/heading","attrs":[],"innerBlocks":[],"innerHTML":"\n<h2>3. Akka przestaje by\u0107 w pe\u0142ni otwarto-\u017ar\u00f3d\u0142owa, zmienia licencj\u0119<\/h2>\n","innerContent":["\n<h2>3. Akka przestaje by\u0107 w pe\u0142ni otwarto-\u017ar\u00f3d\u0142owa, zmienia licencj\u0119<\/h2>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>No, to techniczne sprawy mamy za sob\u0105, teraz czas przej\u015b\u0107 do prawdziwej burzy ostatniego tygodnia.<\/p>\n","innerContent":["\n<p>No, to techniczne sprawy mamy za sob\u0105, teraz czas przej\u015b\u0107 do prawdziwej burzy ostatniego tygodnia.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Akka to w dzisiejszych czasach jeden z g\u0142\u00f3wnych trzon\u00f3w Scali i jeden z g\u0142\u00f3wnych powod\u00f3w, dla kt\u00f3rych to w\u0142a\u015bnie tym j\u0119zykiem interesuj\u0105 si\u0119 firmy. Jest to jedna z najlepszych w ca\u0142ej bran\u017cy implementacji modelu aktorowego, kt\u00f3ry dzi\u0119ki wsparciu dojrza\u0142ej (i dobrze znanej w bran\u017cy) platformy - jak\u0105 jest JVM - stanowi\u0142a prawdziwie bardzo kusz\u0105c\u0105 kombinacje. Dlatego te\u017c tak du\u017cym echem w bran\u017cy odbi\u0142a si\u0119 w \u015bwiecie programistycznym wiadomo\u015b\u0107, \u017ce od wersji 2.7 Akka <a href=\"https:\/\/www.lightbend.com\/company\/news\/lightbend-changes-its-software-licensing-model-for-akka-technology\">zmienia model licencyjny z Apache 2.0 na BSL v1.1 (Business Source License)<\/a>, stworzonej przez MariaDB. Zmiana licencji oznacza w zasadzie zamkni\u0119cie etapu rozwoju Akki w oparciu o tak zwany \"Open Core\".<\/p>\n","innerContent":["\n<p>Akka to w dzisiejszych czasach jeden z g\u0142\u00f3wnych trzon\u00f3w Scali i jeden z g\u0142\u00f3wnych powod\u00f3w, dla kt\u00f3rych to w\u0142a\u015bnie tym j\u0119zykiem interesuj\u0105 si\u0119 firmy. Jest to jedna z najlepszych w ca\u0142ej bran\u017cy implementacji modelu aktorowego, kt\u00f3ry dzi\u0119ki wsparciu dojrza\u0142ej (i dobrze znanej w bran\u017cy) platformy - jak\u0105 jest JVM - stanowi\u0142a prawdziwie bardzo kusz\u0105c\u0105 kombinacje. Dlatego te\u017c tak du\u017cym echem w bran\u017cy odbi\u0142a si\u0119 w \u015bwiecie programistycznym wiadomo\u015b\u0107, \u017ce od wersji 2.7 Akka <a href=\"https:\/\/www.lightbend.com\/company\/news\/lightbend-changes-its-software-licensing-model-for-akka-technology\">zmienia model licencyjny z Apache 2.0 na BSL v1.1 (Business Source License)<\/a>, stworzonej przez MariaDB. Zmiana licencji oznacza w zasadzie zamkni\u0119cie etapu rozwoju Akki w oparciu o tak zwany \"Open Core\".<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Co BSL oznacza dla Akki w praktyce? Ot\u00f3\u017c nowe wersje b\u0119d\u0105 w dalszym ci\u0105gu publikowane pod Apache 2.0, jednak ze sporym op\u00f3\u017anieniem - dopiero po trzech latach. Do tego czasu ka\u017cda nowa wersja b\u0119dzie co prawda udost\u0119pniana wraz ze \u017ar\u00f3d\u0142ami, ale za darmo b\u0119dzie wolno z niej korzysta\u0107 wy\u0142\u0105cznie na \u015brodowiskach nieprodukcyjnych. Je\u017celi b\u0119dziemy chcieli u\u017cy\u0107 Akki w systemie produkcyjnym, a roczny przych\u00f3d naszej firmy przekracza 25 milion\u00f3w dolar\u00f3w, niezb\u0119dne b\u0119dzie uiszczenie op\u0142at licencyjnych. Ich ceny zaczynaj\u0105 si\u0119 od oko\u0142o $2,000 USD za rdze\u0144 procesora, definiowany jako rdze\u0144 sprz\u0119towy \/ vCore \/ vCPU. Je\u017celi chcemy zmodyfikowa\u0107 Akk\u0119 na swoje potrzeby, licencja wyniesie nas $72,000 USD. Ca\u0142o\u015b\u0107 jest nieco bardziej zniuansowana, wi\u0119c po szczeg\u00f3\u0142y pricingu <a href=\"https:\/\/www.lightbend.com\/akka#pricing\">odsy\u0142am Was tutaj<\/a>.<\/p>\n","innerContent":["\n<p>Co BSL oznacza dla Akki w praktyce? Ot\u00f3\u017c nowe wersje b\u0119d\u0105 w dalszym ci\u0105gu publikowane pod Apache 2.0, jednak ze sporym op\u00f3\u017anieniem - dopiero po trzech latach. Do tego czasu ka\u017cda nowa wersja b\u0119dzie co prawda udost\u0119pniana wraz ze \u017ar\u00f3d\u0142ami, ale za darmo b\u0119dzie wolno z niej korzysta\u0107 wy\u0142\u0105cznie na \u015brodowiskach nieprodukcyjnych. Je\u017celi b\u0119dziemy chcieli u\u017cy\u0107 Akki w systemie produkcyjnym, a roczny przych\u00f3d naszej firmy przekracza 25 milion\u00f3w dolar\u00f3w, niezb\u0119dne b\u0119dzie uiszczenie op\u0142at licencyjnych. Ich ceny zaczynaj\u0105 si\u0119 od oko\u0142o $2,000 USD za rdze\u0144 procesora, definiowany jako rdze\u0144 sprz\u0119towy \/ vCore \/ vCPU. Je\u017celi chcemy zmodyfikowa\u0107 Akk\u0119 na swoje potrzeby, licencja wyniesie nas $72,000 USD. Ca\u0142o\u015b\u0107 jest nieco bardziej zniuansowana, wi\u0119c po szczeg\u00f3\u0142y pricingu <a href=\"https:\/\/www.lightbend.com\/akka#pricing\">odsy\u0142am Was tutaj<\/a>.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/image","attrs":{"align":"center","id":10239,"sizeSlug":"full","linkDestination":"none"},"innerBlocks":[],"innerHTML":"\n<figure class=\"wp-block-image aligncenter size-full\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/image-5.png\" alt=\"\" class=\"wp-image-10239\"\/><\/figure>\n","innerContent":["\n<figure class=\"wp-block-image aligncenter size-full\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/image-5.png\" alt=\"\" class=\"wp-image-10239\"\/><\/figure>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Tw\u00f3rcy Akki wydali specjalny post, <a href=\"https:\/\/www.lightbend.com\/blog\/why-we-are-changing-the-license-for-akka\">w kt\u00f3rym t\u0142umacz\u0105 przyczyny swojej decyzji<\/a>. Mamy tutaj do czynienia z tradycyjnym problemem ma\u0142ej firmy, z kt\u00f3rej efektu pracy korzystaj\u0105 du\u017ce korporacje w zasadzie bez dawanie niczego od siebie. Akka sta\u0142a si\u0119 artefaktem swoich czas\u00f3w - dzisiaj popularne projekty Open-Source, typu Deno czy Vercel bardzo szybko wchodz\u0105 w rynek Venture Capital, natychmiast pr\u00f3buj\u0105c si\u0119 monetyzowa\u0107 przez np. tworzenie odpowiedniego produktu infrastrukturalnego. Lightbend te\u017c pr\u00f3bowa\u0142 tej \u015bcie\u017cki, inwestuj\u0105c w Akk\u0119 Serverless, kt\u00f3ra w maju tego roku zosta\u0142a przemianowana na <a href=\"https:\/\/www.kalix.io\/news\/lightbend-launches-kalix-a-revolutionary-approach-to-simplifying-cloud-based-app-development-for-global-teams\">Kalix<\/a> i wydana jako osobny produkt. Wida\u0107 jest to trudne do zrobienia tak bardzo retroaktywnie.<\/p>\n","innerContent":["\n<p>Tw\u00f3rcy Akki wydali specjalny post, <a href=\"https:\/\/www.lightbend.com\/blog\/why-we-are-changing-the-license-for-akka\">w kt\u00f3rym t\u0142umacz\u0105 przyczyny swojej decyzji<\/a>. Mamy tutaj do czynienia z tradycyjnym problemem ma\u0142ej firmy, z kt\u00f3rej efektu pracy korzystaj\u0105 du\u017ce korporacje w zasadzie bez dawanie niczego od siebie. Akka sta\u0142a si\u0119 artefaktem swoich czas\u00f3w - dzisiaj popularne projekty Open-Source, typu Deno czy Vercel bardzo szybko wchodz\u0105 w rynek Venture Capital, natychmiast pr\u00f3buj\u0105c si\u0119 monetyzowa\u0107 przez np. tworzenie odpowiedniego produktu infrastrukturalnego. Lightbend te\u017c pr\u00f3bowa\u0142 tej \u015bcie\u017cki, inwestuj\u0105c w Akk\u0119 Serverless, kt\u00f3ra w maju tego roku zosta\u0142a przemianowana na <a href=\"https:\/\/www.kalix.io\/news\/lightbend-launches-kalix-a-revolutionary-approach-to-simplifying-cloud-based-app-development-for-global-teams\">Kalix<\/a> i wydana jako osobny produkt. Wida\u0107 jest to trudne do zrobienia tak bardzo retroaktywnie.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/image","attrs":{"align":"center","id":10241,"width":512,"height":208,"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\/09\/image-6.png\" alt=\"\" class=\"wp-image-10241\" width=\"512\" height=\"208\"\/><figcaption>Mo\u017cliwe, \u017ce to jest te\u017c spos\u00f3b na przekonanie do nowej us\u0142ugi.<\/figcaption><\/figure>\n","innerContent":["\n<figure class=\"wp-block-image aligncenter size-full is-resized\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/image-6.png\" alt=\"\" class=\"wp-image-10241\" width=\"512\" height=\"208\"\/><figcaption>Mo\u017cliwe, \u017ce to jest te\u017c spos\u00f3b na przekonanie do nowej us\u0142ugi.<\/figcaption><\/figure>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Zdaje sobie spraw\u0119, jaki pop\u0142och w spo\u0142eczno\u015bci wywo\u0142a\u0142a decyzja Lightbendu (niech \u015bwiadczy o tym <a href=\"https:\/\/www.reddit.com\/r\/java\/comments\/x9qls6\/akka_move_from_apache_v2_license_to_bsl\/\">ilo\u015b\u0107<\/a> <a href=\"https:\/\/news.ycombinator.com\/item?id=32746807\">dyskusji<\/a>, <a href=\"https:\/\/www.reddit.com\/r\/scala\/comments\/x7xyzr\/why_we_are_changing_the_license_for_akka\/\">kt\u00f3re<\/a> <a href=\"https:\/\/www.reddit.com\/r\/programming\/comments\/x81fj1\/why_we_are_changing_the_license_for_akka\/\">pojawi\u0142y<\/a> si\u0119 na popularnych agregatorach), ale akurat decyzja jest z mojej strony zrozumia\u0142a. Akka po prostu \"robi robot\u0119\" - dlatego te\u017c zreszt\u0105 stanowi jeden z trzon\u00f3w Scali. Lightbend nie jest to pierwszy podmiot, kt\u00f3ry decyduje si\u0119 na podobny ruch. Pocz\u0105tek zesz\u0142ego roku przebieg\u0142 pod znakiem konfliktu Amazon vs Elastic, gdzie ten drugi zdecydowa\u0142 si\u0119 na licencje SSPL (Server Side Public License), kt\u00f3ra wycelowana jest akurat w ograniczenie u\u017cycia projekt\u00f3w OpenSource przez dostawc\u00f3w chmurowych. R\u00f3wnocze\u015bnie, mam troch\u0119 obaw czy zapisy licencyjne, a prawdopodobnie r\u00f3wnie\u017c id\u0105ca za nimi konieczno\u015b\u0107 umo\u017cliwienia audytowania nie b\u0119d\u0105 stanowi\u0107 bariery wej\u015bcia dla wielu mniejszych (ale pewnie te\u017c wi\u0119kszych) firm, kt\u00f3re po wst\u0119pnym \"capacity planning\" zdecyduj\u0105 si\u0119 jednak sprawdzi\u0107 inne rozwi\u0105zania lub og\u00f3lnie alternatywn\u0105 architektur\u0119. Nie bez powodu OracleDB zwykle u\u017cywany jest przez banki i du\u017ce podmioty.<\/p>\n","innerContent":["\n<p>Zdaje sobie spraw\u0119, jaki pop\u0142och w spo\u0142eczno\u015bci wywo\u0142a\u0142a decyzja Lightbendu (niech \u015bwiadczy o tym <a href=\"https:\/\/www.reddit.com\/r\/java\/comments\/x9qls6\/akka_move_from_apache_v2_license_to_bsl\/\">ilo\u015b\u0107<\/a> <a href=\"https:\/\/news.ycombinator.com\/item?id=32746807\">dyskusji<\/a>, <a href=\"https:\/\/www.reddit.com\/r\/scala\/comments\/x7xyzr\/why_we_are_changing_the_license_for_akka\/\">kt\u00f3re<\/a> <a href=\"https:\/\/www.reddit.com\/r\/programming\/comments\/x81fj1\/why_we_are_changing_the_license_for_akka\/\">pojawi\u0142y<\/a> si\u0119 na popularnych agregatorach), ale akurat decyzja jest z mojej strony zrozumia\u0142a. Akka po prostu \"robi robot\u0119\" - dlatego te\u017c zreszt\u0105 stanowi jeden z trzon\u00f3w Scali. Lightbend nie jest to pierwszy podmiot, kt\u00f3ry decyduje si\u0119 na podobny ruch. Pocz\u0105tek zesz\u0142ego roku przebieg\u0142 pod znakiem konfliktu Amazon vs Elastic, gdzie ten drugi zdecydowa\u0142 si\u0119 na licencje SSPL (Server Side Public License), kt\u00f3ra wycelowana jest akurat w ograniczenie u\u017cycia projekt\u00f3w OpenSource przez dostawc\u00f3w chmurowych. R\u00f3wnocze\u015bnie, mam troch\u0119 obaw czy zapisy licencyjne, a prawdopodobnie r\u00f3wnie\u017c id\u0105ca za nimi konieczno\u015b\u0107 umo\u017cliwienia audytowania nie b\u0119d\u0105 stanowi\u0107 bariery wej\u015bcia dla wielu mniejszych (ale pewnie te\u017c wi\u0119kszych) firm, kt\u00f3re po wst\u0119pnym \"capacity planning\" zdecyduj\u0105 si\u0119 jednak sprawdzi\u0107 inne rozwi\u0105zania lub og\u00f3lnie alternatywn\u0105 architektur\u0119. Nie bez powodu OracleDB zwykle u\u017cywany jest przez banki i du\u017ce podmioty.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/image","attrs":{"align":"center","id":10251,"sizeSlug":"full","linkDestination":"none"},"innerBlocks":[],"innerHTML":"\n<figure class=\"wp-block-image aligncenter size-full\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/image-9.png\" alt=\"\" class=\"wp-image-10251\"\/><figcaption>Obowi\u0105zkowy klasyk.<\/figcaption><\/figure>\n","innerContent":["\n<figure class=\"wp-block-image aligncenter size-full\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/image-9.png\" alt=\"\" class=\"wp-image-10251\"\/><figcaption>Obowi\u0105zkowy klasyk.<\/figcaption><\/figure>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Co ciekawe, ten ruch afektuje nie tylko bezpo\u015brednich u\u017cytkownik\u00f3w Akki. Przyk\u0142adowo, okaza\u0142o si\u0119, \u017ce Apache Flink u\u017cywa w swoich internalach Akki, i poinformowali swoj\u0105 spo\u0142eczno\u015b\u0107 o tym, \u017ce <a href=\"https:\/\/flink.apache.org\/news\/2022\/09\/08\/akka-license-change.html\">ich projekt pozostanie na otwartej wersji 2.6<\/a>, a w mi\u0119dzyczasie b\u0119d\u0105 zastanawia\u0107 si\u0119 co robi\u0107 dalej. Pewnie podobnych problem\u00f3w b\u0119dzie wi\u0119cej.<\/p>\n","innerContent":["\n<p>Co ciekawe, ten ruch afektuje nie tylko bezpo\u015brednich u\u017cytkownik\u00f3w Akki. Przyk\u0142adowo, okaza\u0142o si\u0119, \u017ce Apache Flink u\u017cywa w swoich internalach Akki, i poinformowali swoj\u0105 spo\u0142eczno\u015b\u0107 o tym, \u017ce <a href=\"https:\/\/flink.apache.org\/news\/2022\/09\/08\/akka-license-change.html\">ich projekt pozostanie na otwartej wersji 2.6<\/a>, a w mi\u0119dzyczasie b\u0119d\u0105 zastanawia\u0107 si\u0119 co robi\u0107 dalej. Pewnie podobnych problem\u00f3w b\u0119dzie wi\u0119cej.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Tak\u017ce na koniec mam jeszcze dla Was jedno ciekawe, nie-JVMowe \u017ar\u00f3d\u0142o. W spo\u0142eczno\u015bci od d\u0142u\u017cszego czasu trwa dyskusja nad <a href=\"https:\/\/kitze.io\/posts\/github-stars-wont-pay-your-rent\">sposobami finansowania projekt\u00f3w open-source, zar\u00f3wno tych du\u017cych i ma\u0142ych<\/a>. Okazuje si\u0119, \u017ce jako do\u015b\u0107 kreatywna bran\u017ca uda\u0142o nam si\u0119 wypracowa\u0107 troch\u0119 modeli, a \u015bwietn\u0105 agregat\u0105 jest repozytorium o uroczej nazwie <strong><a href=\"https:\/\/github.com\/nayafia\/lemonade-stand\">Lemonade Stand<\/a><\/strong>, nawi\u0105zuj\u0105ce do najlepszych kapitalistycznych tradycji. Oczywi\u015bcie, daleko mi od sugerowania, \u017ce Akka powinna w ten spos\u00f3b zarabia\u0107 na dalsze utrzymanie projektu, ale podejrzewam, \u017ce kt\u00f3ry\u015b z naszych czytelnik\u00f3w posiadaj\u0105cy jakie\u015b projekty otwarto \u017ar\u00f3d\u0142owe znajdzie tam co\u015b dla siebie, co pozwoli cho\u0107 troch\u0119 zrekompensowa\u0107 spo\u0142eczno\u015bci czas wk\u0142adany w prac\u0119.<\/p>\n","innerContent":["\n<p>Tak\u017ce na koniec mam jeszcze dla Was jedno ciekawe, nie-JVMowe \u017ar\u00f3d\u0142o. W spo\u0142eczno\u015bci od d\u0142u\u017cszego czasu trwa dyskusja nad <a href=\"https:\/\/kitze.io\/posts\/github-stars-wont-pay-your-rent\">sposobami finansowania projekt\u00f3w open-source, zar\u00f3wno tych du\u017cych i ma\u0142ych<\/a>. Okazuje si\u0119, \u017ce jako do\u015b\u0107 kreatywna bran\u017ca uda\u0142o nam si\u0119 wypracowa\u0107 troch\u0119 modeli, a \u015bwietn\u0105 agregat\u0105 jest repozytorium o uroczej nazwie <strong><a href=\"https:\/\/github.com\/nayafia\/lemonade-stand\">Lemonade Stand<\/a><\/strong>, nawi\u0105zuj\u0105ce do najlepszych kapitalistycznych tradycji. Oczywi\u015bcie, daleko mi od sugerowania, \u017ce Akka powinna w ten spos\u00f3b zarabia\u0107 na dalsze utrzymanie projektu, ale podejrzewam, \u017ce kt\u00f3ry\u015b z naszych czytelnik\u00f3w posiadaj\u0105cy jakie\u015b projekty otwarto \u017ar\u00f3d\u0142owe znajdzie tam co\u015b dla siebie, co pozwoli cho\u0107 troch\u0119 zrekompensowa\u0107 spo\u0142eczno\u015bci czas wk\u0142adany w prac\u0119.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/image","attrs":{"align":"center","id":10244,"sizeSlug":"full","linkDestination":"none"},"innerBlocks":[],"innerHTML":"\n<figure class=\"wp-block-image aligncenter size-full\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/image-7.png\" alt=\"\" class=\"wp-image-10244\"\/><figcaption>Bo za otwarcie standu z lemoniad\u0105 to by go z pewno\u015bci\u0105 sanepid dojecha\u0142.<\/figcaption><\/figure>\n","innerContent":["\n<figure class=\"wp-block-image aligncenter size-full\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/image-7.png\" alt=\"\" class=\"wp-image-10244\"\/><figcaption>Bo za otwarcie standu z lemoniad\u0105 to by go z pewno\u015bci\u0105 sanepid dojecha\u0142.<\/figcaption><\/figure>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p><em>PS: VirtusLab - firma w kt\u00f3rej pracuje - jest Partnerem Lightbend. Wszystko, co przeczytali\u015bcie powy\u017cej jest moimi prywatnymi przemy\u015bleniami i nie nale\u017cy traktowa\u0107 go jako stanowiska organizacji jako takiej.<\/em><\/p>\n","innerContent":["\n<p><em>PS: VirtusLab - firma w kt\u00f3rej pracuje - jest Partnerem Lightbend. Wszystko, co przeczytali\u015bcie powy\u017cej jest moimi prywatnymi przemy\u015bleniami i nie nale\u017cy traktowa\u0107 go jako stanowiska organizacji jako takiej.<\/em><\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/heading","attrs":{"level":3},"innerBlocks":[],"innerHTML":"\n<h3>\u0179r\u00f3d\u0142o<\/h3>\n","innerContent":["\n<h3>\u0179r\u00f3d\u0142o<\/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.lightbend.com\/company\/news\/lightbend-changes-its-software-licensing-model-for-akka-technology\">Lightbend Changes its Software Licensing Model for Akka Technology<\/a><\/li><li><a href=\"https:\/\/flink.apache.org\/news\/2022\/09\/08\/akka-license-change.html\">Regarding Akka's licensing change<\/a><\/li><li><a href=\"https:\/\/github.com\/nayafia\/lemonade-stand\">A handy guide to financial support for open source<\/a><\/li><li><a href=\"https:\/\/www.lightbend.com\/blog\/why-we-are-changing-the-license-for-akka\">Why We Are Changing the License for Akka<\/a><\/li><\/ul>\n","innerContent":["\n<ul><li><a href=\"https:\/\/www.lightbend.com\/company\/news\/lightbend-changes-its-software-licensing-model-for-akka-technology\">Lightbend Changes its Software Licensing Model for Akka Technology<\/a><\/li><li><a href=\"https:\/\/flink.apache.org\/news\/2022\/09\/08\/akka-license-change.html\">Regarding Akka's licensing change<\/a><\/li><li><a href=\"https:\/\/github.com\/nayafia\/lemonade-stand\">A handy guide to financial support for open source<\/a><\/li><li><a href=\"https:\/\/www.lightbend.com\/blog\/why-we-are-changing-the-license-for-akka\">Why We Are Changing the License for Akka<\/a><\/li><\/ul>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/heading","attrs":[],"innerBlocks":[],"innerHTML":"\n<h2>4. Release Radar<\/h2>\n","innerContent":["\n<h2>4. Release Radar<\/h2>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Nie by\u0142o mnie dwa tygodnie, a to sprawi\u0142o, \u017ce nie tylko du\u017co si\u0119 wydarzy\u0142o, ale obrodzi\u0142o r\u00f3wnie\u017c nowymi wydaniami popularnych projekt\u00f3w<\/p>\n","innerContent":["\n<p>Nie by\u0142o mnie dwa tygodnie, a to sprawi\u0142o, \u017ce nie tylko du\u017co si\u0119 wydarzy\u0142o, ale obrodzi\u0142o r\u00f3wnie\u017c nowymi wydaniami popularnych projekt\u00f3w<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/heading","attrs":{"level":3},"innerBlocks":[],"innerHTML":"\n<h3>Scala 3.2<\/h3>\n","innerContent":["\n<h3>Scala 3.2<\/h3>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Skoro tyle by\u0142o dzisiaj o Akce, to zacznijmy od Scali. Poza beczk\u0105 dziegciu kontrowersyjnych w spo\u0142eczno\u015bci decyzji licencyjnych, pewnym plastrem miodu by\u0142o wydanie nowej <a href=\"https:\/\/www.scala-lang.org\/blog\/2022\/09\/05\/scala-3.2.0-released.html\">Scali 3.2.0<\/a>. Przynosi ona bowiem sporo interesuj\u0105cych nowo\u015bci.<\/p>\n","innerContent":["\n<p>Skoro tyle by\u0142o dzisiaj o Akce, to zacznijmy od Scali. Poza beczk\u0105 dziegciu kontrowersyjnych w spo\u0142eczno\u015bci decyzji licencyjnych, pewnym plastrem miodu by\u0142o wydanie nowej <a href=\"https:\/\/www.scala-lang.org\/blog\/2022\/09\/05\/scala-3.2.0-released.html\">Scali 3.2.0<\/a>. Przynosi ona bowiem sporo interesuj\u0105cych nowo\u015bci.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Po pierwsze, uciesz\u0105 si\u0119 wszyscy Ci, kt\u00f3rych ulubion\u0105 metryk\u0105 jest pokrycie kodu testami. Najpopularniejszy scalowy plugin s\u0142u\u017c\u0105cy do tego jeszcze za czas\u00f3w Scala 2 - <strong>Scoverage<\/strong> - mocno bazuje na outpucie kompilatora, kt\u00f3ry w nowej Scali si\u0119 zmieni\u0142. Na szcz\u0119\u015bcie to si\u0119 zmienia i Scala 3.2 wprowadza nie tylko generowanie niezb\u0119dnego outputu, ale r\u00f3wnie\u017c plugin do <code>sbt<\/code> orkiestruj\u0105cy ca\u0142y proces. Dodatkow\u0105 rzecz\u0105, kt\u00f3ra zwi\u0105zana jest z narz\u0119dziow\u0105 jest wprowadzenie nowej flagi <code>-Vprofile<\/code>, generuj\u0105cej statystyki dotycz\u0105ce z\u0142o\u017cono\u015bci kodu \u017ar\u00f3d\u0142owego.<\/p>\n","innerContent":["\n<p>Po pierwsze, uciesz\u0105 si\u0119 wszyscy Ci, kt\u00f3rych ulubion\u0105 metryk\u0105 jest pokrycie kodu testami. Najpopularniejszy scalowy plugin s\u0142u\u017c\u0105cy do tego jeszcze za czas\u00f3w Scala 2 - <strong>Scoverage<\/strong> - mocno bazuje na outpucie kompilatora, kt\u00f3ry w nowej Scali si\u0119 zmieni\u0142. Na szcz\u0119\u015bcie to si\u0119 zmienia i Scala 3.2 wprowadza nie tylko generowanie niezb\u0119dnego outputu, ale r\u00f3wnie\u017c plugin do <code>sbt<\/code> orkiestruj\u0105cy ca\u0142y proces. Dodatkow\u0105 rzecz\u0105, kt\u00f3ra zwi\u0105zana jest z narz\u0119dziow\u0105 jest wprowadzenie nowej flagi <code>-Vprofile<\/code>, generuj\u0105cej statystyki dotycz\u0105ce z\u0142o\u017cono\u015bci kodu \u017ar\u00f3d\u0142owego.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/image","attrs":{"align":"center"},"innerBlocks":[],"innerHTML":"\n<figure class=\"wp-block-image aligncenter\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/1_image1.jpg\" alt=\"\"\/><figcaption>Ju\u017c nied\u0142ugo alerty z Sonara b\u0119d\u0105 irytowa\u0107 r\u00f3wnie\u017c u\u017cytkownik\u00f3w Scali 3<\/figcaption><\/figure>\n","innerContent":["\n<figure class=\"wp-block-image aligncenter\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/1_image1.jpg\" alt=\"\"\/><figcaption>Ju\u017c nied\u0142ugo alerty z Sonara b\u0119d\u0105 irytowa\u0107 r\u00f3wnie\u017c u\u017cytkownik\u00f3w Scali 3<\/figcaption><\/figure>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Nowa Scala to r\u00f3wnie\u017c sporo syntax-u, kt\u00f3ry daje programistom Scali jeszcze wi\u0119cej mocy, jak cho\u0107by lepsze podpowiadanie kodu, s\u0142odziki sk\u0142adniowe dla extension functions czy for-comprehension oraz wiele wi\u0119cej min. kilka nowych, eksperymentalnych API. Ale po to odsy\u0142am Was ju\u017c do pe\u0142nych <a href=\"https:\/\/www.scala-lang.org\/blog\/2022\/09\/05\/scala-3.2.0-released.html\">release notes<\/a>.<\/p>\n","innerContent":["\n<p>Nowa Scala to r\u00f3wnie\u017c sporo syntax-u, kt\u00f3ry daje programistom Scali jeszcze wi\u0119cej mocy, jak cho\u0107by lepsze podpowiadanie kodu, s\u0142odziki sk\u0142adniowe dla extension functions czy for-comprehension oraz wiele wi\u0119cej min. kilka nowych, eksperymentalnych API. Ale po to odsy\u0142am Was ju\u017c do pe\u0142nych <a href=\"https:\/\/www.scala-lang.org\/blog\/2022\/09\/05\/scala-3.2.0-released.html\">release notes<\/a>.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/heading","attrs":{"level":3},"innerBlocks":[],"innerHTML":"\n<h3>Quarkus 2.12.0<\/h3>\n","innerContent":["\n<h3>Quarkus 2.12.0<\/h3>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Nowy minor <a href=\"https:\/\/quarkus.io\/blog\/quarkus-2-12-0-final-released\/\">Quarkusa 2.12.0<\/a> to nie taki znowu minor, zw\u0142aszcza dla u\u017cytkownik\u00f3w GraalVM i Kotlina. Te zosta\u0142y bowiem zaktualizowane do wersji odpowiednio 22.2 oraz 1.7, dzi\u0119ki czemu mo\u017cemy w pe\u0142ni korzysta\u0107 z dobrodziejstw nowych edycji - z kt\u00f3rych moim zdaniem (odpowiednio) najciekawszymi b\u0119d\u0105 mniejsze rozmiary obraz\u00f3w dla GraalVM oraz lepsze wsparcie inkrementalnej kompilacji dla Kotlina. U\u017cytkownicy Microsoft SQL Server dostali za\u015b aktualizacje sterownika JDBC.<\/p>\n","innerContent":["\n<p>Nowy minor <a href=\"https:\/\/quarkus.io\/blog\/quarkus-2-12-0-final-released\/\">Quarkusa 2.12.0<\/a> to nie taki znowu minor, zw\u0142aszcza dla u\u017cytkownik\u00f3w GraalVM i Kotlina. Te zosta\u0142y bowiem zaktualizowane do wersji odpowiednio 22.2 oraz 1.7, dzi\u0119ki czemu mo\u017cemy w pe\u0142ni korzysta\u0107 z dobrodziejstw nowych edycji - z kt\u00f3rych moim zdaniem (odpowiednio) najciekawszymi b\u0119d\u0105 mniejsze rozmiary obraz\u00f3w dla GraalVM oraz lepsze wsparcie inkrementalnej kompilacji dla Kotlina. U\u017cytkownicy Microsoft SQL Server dostali za\u015b aktualizacje sterownika JDBC.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Je\u017celi nie u\u017cywacie \u017cadnego z powy\u017cszych, jedyne co nowe wydanie ma do zaoferowania to wsparcie <a href=\"https:\/\/smallrye.io\/smallrye-config\/2.11.1\/config\/secret-keys\/\">Sekretnych Kluczy<\/a> w plikach konfiguracyjnych - funkcji udost\u0119pnianej przez udost\u0119pnianej przez SmallRye Config.<\/p>\n","innerContent":["\n<p>Je\u017celi nie u\u017cywacie \u017cadnego z powy\u017cszych, jedyne co nowe wydanie ma do zaoferowania to wsparcie <a href=\"https:\/\/smallrye.io\/smallrye-config\/2.11.1\/config\/secret-keys\/\">Sekretnych Kluczy<\/a> w plikach konfiguracyjnych - funkcji udost\u0119pnianej przez udost\u0119pnianej przez SmallRye Config.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/heading","attrs":{"level":3},"innerBlocks":[],"innerHTML":"\n<h3>Helidon N\u00edma w wersji Alpha<\/h3>\n","innerContent":["\n<h3>Helidon N\u00edma w wersji Alpha<\/h3>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>A na koniec prawdziwa gwiazda - oficjalna <a href=\"https:\/\/medium.com\/helidon\/please-welcome-helidon-n%C3%ADma-9a882c5b6f1e\">zapowied\u017a Helidon N\u00edma<\/a>. Tak, tego samego Helidon N\u00edma o kt\u00f3rym pisali\u015bmy w kontek\u015bcie \"scoopu\" z EclipseConf, a kt\u00f3ry wreszcie doczeka\u0142 si\u0119 oficjalnej zapowiedzi, a tak\u017ce... nazwy. Okazuje si\u0119 bowiem, \u017ce Nima to tak naprawd\u0119 N\u00edma.<\/p>\n","innerContent":["\n<p>A na koniec prawdziwa gwiazda - oficjalna <a href=\"https:\/\/medium.com\/helidon\/please-welcome-helidon-n%C3%ADma-9a882c5b6f1e\">zapowied\u017a Helidon N\u00edma<\/a>. Tak, tego samego Helidon N\u00edma o kt\u00f3rym pisali\u015bmy w kontek\u015bcie \"scoopu\" z EclipseConf, a kt\u00f3ry wreszcie doczeka\u0142 si\u0119 oficjalnej zapowiedzi, a tak\u017ce... nazwy. Okazuje si\u0119 bowiem, \u017ce Nima to tak naprawd\u0119 N\u00edma.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/image","attrs":{"align":"center","id":10296,"sizeSlug":"full","linkDestination":"none"},"innerBlocks":[],"innerHTML":"\n<figure class=\"wp-block-image aligncenter size-full\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/download-2.png\" alt=\"\" class=\"wp-image-10296\"\/><figcaption>\u00cd za\u015b to tak zwane \"i z akcentem ostrym (akutem)\", co mo\u017ce nam sugerowa\u0107, jak nazwa N\u00edma b\u0119dzie wymawiana.<\/figcaption><\/figure>\n","innerContent":["\n<figure class=\"wp-block-image aligncenter size-full\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/download-2.png\" alt=\"\" class=\"wp-image-10296\"\/><figcaption>\u00cd za\u015b to tak zwane \"i z akcentem ostrym (akutem)\", co mo\u017ce nam sugerowa\u0107, jak nazwa N\u00edma b\u0119dzie wymawiana.<\/figcaption><\/figure>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Na razie ukaza\u0142a si\u0119 wersja Alfa, a na pe\u0142n\u0105 przyjdzie nam jeszcze poczeka\u0107 - tw\u00f3rcy zapowiedzieli bowiem, \u017ce prac\u0119 nad ni\u0105 powstan\u0105 mniej wi\u0119cej do ko\u0144ca przysz\u0142ego roku, kiedy nale\u017cy si\u0119 spodziewa\u0107 jej stabilnego wydania, r\u00f3wnoleg\u0142ego do Helidona 4.0. Jak na tak wczesny etap otrzymali\u015bmy ju\u017c ca\u0142kiem sporo szczeg\u00f3\u0142\u00f3w technicznych - towarzysz\u0105ca postowi premierowemu <a href=\"https:\/\/medium.com\/helidon\/helidon-n%C3%ADma-helidon-on-virtual-threads-130bb2ea2088\">publikacja Thomasa Langera<\/a> skupia si\u0119 na tym, jak N\u00edma na tym etapie prezentuje si\u0119 w por\u00f3wnaniu z Microprofilowym Helidonem, a tak\u017ce z bezpo\u015bredni\u0105 konkurencj\u0105, za jak\u0105 tw\u00f3rcy uznaj\u0105 Netty'ego. Jak mo\u017cna przeczyta\u0107, jednym z cel\u00f3w N\u00edmy jest w\u0142a\u015bnie ca\u0142kowite wyrugowanie Netty'ego z Helidonowego ekosystemu.<\/p>\n","innerContent":["\n<p>Na razie ukaza\u0142a si\u0119 wersja Alfa, a na pe\u0142n\u0105 przyjdzie nam jeszcze poczeka\u0107 - tw\u00f3rcy zapowiedzieli bowiem, \u017ce prac\u0119 nad ni\u0105 powstan\u0105 mniej wi\u0119cej do ko\u0144ca przysz\u0142ego roku, kiedy nale\u017cy si\u0119 spodziewa\u0107 jej stabilnego wydania, r\u00f3wnoleg\u0142ego do Helidona 4.0. Jak na tak wczesny etap otrzymali\u015bmy ju\u017c ca\u0142kiem sporo szczeg\u00f3\u0142\u00f3w technicznych - towarzysz\u0105ca postowi premierowemu <a href=\"https:\/\/medium.com\/helidon\/helidon-n%C3%ADma-helidon-on-virtual-threads-130bb2ea2088\">publikacja Thomasa Langera<\/a> skupia si\u0119 na tym, jak N\u00edma na tym etapie prezentuje si\u0119 w por\u00f3wnaniu z Microprofilowym Helidonem, a tak\u017ce z bezpo\u015bredni\u0105 konkurencj\u0105, za jak\u0105 tw\u00f3rcy uznaj\u0105 Netty'ego. Jak mo\u017cna przeczyta\u0107, jednym z cel\u00f3w N\u00edmy jest w\u0142a\u015bnie ca\u0142kowite wyrugowanie Netty'ego z Helidonowego ekosystemu.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/image","attrs":{"align":"center","id":10248,"sizeSlug":"full","linkDestination":"none"},"innerBlocks":[],"innerHTML":"\n<figure class=\"wp-block-image aligncenter size-full\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/image-8.png\" alt=\"\" class=\"wp-image-10248\"\/><figcaption>Ci\u0105gle pami\u0119tam, gdy to w\u0142a\u015bnie Netty by\u0142a pupilem spo\u0142eczno\u015bci<\/figcaption><\/figure>\n","innerContent":["\n<figure class=\"wp-block-image aligncenter size-full\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/image-8.png\" alt=\"\" class=\"wp-image-10248\"\/><figcaption>Ci\u0105gle pami\u0119tam, gdy to w\u0142a\u015bnie Netty by\u0142a pupilem spo\u0142eczno\u015bci<\/figcaption><\/figure>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/separator","attrs":[],"innerBlocks":[],"innerHTML":"\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n","innerContent":["\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Ja ju\u017c wi\u0119cej nie id\u0119 na urlop \ud83d\ude05 Wystarczy, \u017ce mnie chwil\u0119 nie ma, a potem odkopuj\u0119 si\u0119 przez dwa dni z temat\u00f3w, a i tak nie wyczerpa\u0142em wszystkiego... ale to ju\u017c sobie zostawimy na za tydzie\u0144.<\/p>\n","innerContent":["\n<p>Ja ju\u017c wi\u0119cej nie id\u0119 na urlop \ud83d\ude05 Wystarczy, \u017ce mnie chwil\u0119 nie ma, a potem odkopuj\u0119 si\u0119 przez dwa dni z temat\u00f3w, a i tak nie wyczerpa\u0142em wszystkiego... ale to ju\u017c sobie zostawimy na za tydzie\u0144.<\/p>\n"]}],"_links":{"self":[{"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/posts\/10230","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=10230"}],"version-history":[{"count":17,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/posts\/10230\/revisions"}],"predecessor-version":[{"id":10774,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/posts\/10230\/revisions\/10774"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/media\/10291"}],"wp:attachment":[{"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/media?parent=10230"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/categories?post=10230"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/tags?post=10230"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}