{"id":10198,"date":"2021-01-11T09:05:00","date_gmt":"2021-01-11T08:05:00","guid":{"rendered":"https:\/\/vived.io\/jvm-monday-vol-20\/"},"modified":"2022-09-19T13:10:58","modified_gmt":"2022-09-19T11:10:58","slug":"jvm-monday-vol-20","status":"publish","type":"post","link":"https:\/\/vived.io\/pl\/jvm-monday-vol-20\/","title":{"rendered":"JVM Monday vol. 20"},"content":{"rendered":"<h2 id=\"1-gradle-6-8-wydane\" data-num=1>1. <a href=\"https:\/\/docs.gradle.org\/6.8\/release-notes.html\">Gradle 6.8 wydane <\/a><\/h2>\n<p>Na rozgrzewk\u0119 &#8211; szybki newsik.<\/p>\n<p>Gradle 6.8 zosta\u0142o wydane i przynosi par\u0119 interesuj\u0105cych zmian. U\u017cytkownik\u00f3w Kotlinowej wersji DSL z pewno\u015bci\u0105 uciesz\u0105 si\u0119, \u017ce zar\u00f3wno czas kompilacji, jak i zasobo\u017cerno\u015b\u0107 tej odmiany Gradle znaczenie spad\u0142y. Dodatkowo, build-tool nauczy\u0142 si\u0119 rozr\u00f3\u017cnia\u0107 r\u00f3\u017cne \u201csmaki\u201d Javy, i mo\u017cna teraz zdefiniowa\u0107, jakiego vendora chce si\u0119 u\u017cywa\u0107 &#8211; mo\u017ce by\u0107 to przydatne w sytuacji, gdy u\u017cywamy kt\u00f3rej\u015b unikalnej funkcjonalno\u015bci dost\u0119pnej tylko w konkretnym JDK &#8211; przyk\u0142adem niech b\u0119dzie tutaj Wisp (alternatywna implementacja korutyn) dost\u0119pna wy\u0142\u0105cznia w Dragonwell JDK od Alibaby.<\/p>\n<p>Pojawiaj\u0105 si\u0119 te\u017c poprawki dotycz\u0105ce bezpiecze\u0144stw (wy\u0142\u0105czenie domy\u015blnego wsparcia dla TLS 1.0 i 1.1). Lepsze zarz\u0105dzanie zale\u017cno\u015bciami i dalsze dzia\u0142anie w kierunku daj\u0105cych si\u0119 u\u017cywa\u0107 \u201cComposite builds\u201d &#8211; elastycznego klejenia modu\u0142\u00f3w w jeden, skrojony na miar\u0119 projekt, co mo\u017ce si\u0119 przyda\u0107 w wypadku tworzenia aplikacji w r\u00f3\u017cnych wariantach z mniejszych kawa\u0142k\u00f3w (mia\u0142em takie co\u015b w poprzednim projekcie na produkcji).<\/p>\n<p>No i oczywi\u015bcie \u201cwincyj cache\u201d. W zasadzie ka\u017cda nowa wersja Gradle to dalsze poprawki dla cache.<\/p>\n<p>PS: Ostatnio Bruce Eckel, kt\u00f3rego mo\u017cecie kojarzy\u0107 jako tw\u00f3rc\u0119 legendarnego ju\u017c \u201cThinking in Java\u201d (moja pierwsza ksi\u0105\u017cka o Javie \u2665\ufe0f \u00a0&#8211; dzisiaj niestety ju\u017c nie polecam, bo si\u0119 mocno zestarza\u0142a ) opublikowa\u0142 opinie (https:\/\/www.bruceeckel.com\/2021\/01\/02\/the-problem-with-gradle\/) o Gradle oraz jego programistycznym modelu. Bardzo interesuj\u0105ca rzecz.<\/p>\n<hr \/>\n<h2 id=\"2-jaka-byla-rola-jetbrains-w-ataku-na-solarwind\" data-num=2>2. Jaka by\u0142a rola JetBrains w ataku na SolarWind?<\/h2>\n<p>No i znowu mamy polityczn\u0105 dram\u0119, tym razem z JetBrains w tle. Mia\u0142a ona kilka faz, przewin\u0119\u0142a si\u0119 r\u00f3wnie\u017c szeroko przez wszelkiej ma\u015bci programistyczne spo\u0142eczno\u015bci. Teraz, gdy kurz troch\u0119 opad\u0142, czas wyja\u015bni\u0107: Czy JetBrains to rzeczywi\u015bcie s\u0105 rosyjscy hakerzy i powinni\u015bmy odinstalowa\u0107 ich oprogramowanie?<\/p>\n<p>Zaraz przed \u015bwi\u0119tami Bo\u017cego Narodzenia na jaw wyszed\u0142 fakt, \u017ce oprogramowanie SolarWind, u\u017cywane przez organizacje rz\u0105dowe USA, zosta\u0142o zaatakowane. Atak zosta\u0142 wykryty przez Microsoft, a jego zakres dotyczy\u0107 mia\u0142 ponad 250 agencji rz\u0105dowych. Hack wysublimowany i bardzo interesuj\u0105cy (szczeg\u00f3\u0142y ataku mo\u017cecie znale\u017a\u0107 tutaj: <a href=\"https:\/\/www.microsoft.com\/security\/blog\/2020\/12\/18\/analyzing-solorigate-the-compromised-dll-file-that-started-a-sophisticated-cyberattack-and-how-microsoft-defender-helps-protect\/\">https:\/\/www.microsoft.com\/security\/blog\/2020\/12\/18\/analyzing-solorigate-the-compromised-dll-file-that-started-a-sophisticated-cyberattack-and-how-microsoft-defender-helps-protect\/<\/a>), ale pewnie jego temat nie wr\u00f3ci\u0142by na pocz\u0105tku tego roku (a przynajmniej poza kr\u0119gami CyberSecurity), gdyby nie wci\u0105gni\u0119cie w ca\u0142\u0105 spraw\u0119 JetBrains.<\/p>\n<p>Ot\u00f3\u017c na pocz\u0105tku poprzedniego tygodnia na \u0142amach New York Times\u2019a pojawi\u0142 si\u0119 artyku\u0142 (<a href=\"https:\/\/www.nytimes.com\/2021\/01\/06\/us\/politics\/russia-cyber-hack.html\">https:\/\/www.nytimes.com\/2021\/01\/06\/us\/politics\/russia-cyber-harck.html<\/a>) jakoby g\u0142\u00f3wnym wektorem ataku by\u0142o oprogramowanie TeamCity o JetBrains. Mimo \u017ce ca\u0142o\u015b\u0107 u\u017cywa nieco ma\u0142o precyzyjnej terminologii i w do\u015b\u0107 alarmistycznym tonie ostrzega, \u017ce firma zosta\u0142a za\u0142o\u017cona przez dw\u00f3jk\u0119 Rosjan, to jednak nie jest to tekst zlepiony przez sta\u017cyst\u00f3w, a grup\u0119 do\u015bwiadczonych redaktor\u00f3w, kt\u00f3rzy ju\u017c wcze\u015bniej opisywali m.in. cyberataki ze strony Iranu.<\/p>\n<p>Na odpowied\u017a JetBrains nie trzeba by\u0142o d\u0142ugo czeka\u0107 &#8211; opublikowali oni dwa stanowiska (<a href=\"https:\/\/blog.jetbrains.com\/blog\/2021\/01\/06\/statement-on-the-story-from-the-new-york-times-regarding-jetbrains-and-solarwinds\/\">https:\/\/blog.jetbrains.com\/blog\/2021\/01\/06\/statement-on-the-story-from-the-new-york-times-regarding-jetbrains-and-solarwinds\/<\/a> oraz <a href=\"https:\/\/blog.jetbrains.com\/blog\/2021\/01\/07\/an-update-on-solarwinds\/\">https:\/\/blog.jetbrains.com\/blog\/2021\/01\/07\/an-update-on-solarwinds\/<\/a>) w kt\u00f3rym przyznaj\u0105, \u017ce wed\u0142ug ich wiedzy atak rzeczywi\u015bcie nast\u0105pi\u0142 poprzez systemy budowania aplikacji, a SolarWind u\u017cywa\u0142 ich oprogramowania (tak jak wiele firm), ale nie ma \u017cadnych dowod\u00f3w jakoby problem istnia\u0142 w samej aplikacji. Je\u017celi nawet TeamCity by\u0142o furtk\u0105, to sugeruj\u0105, \u017ce przyczyn\u0105 podatno\u015bci mog\u0142a by\u0107 z\u0142a konfiguracja \u015brodowiska.<\/p>\n<p>Sprawa nabiera rumie\u0144c\u00f3w i jeszcze do niej pewnie wr\u00f3cimy, aczkolwiek na ten moment ci\u0105gle pozosta\u0142bym przy twierdzeniu, \u017ce nie ma co odinstalowywa\u0107 Intellija z komputera.<\/p>\n<hr \/>\n<h2 id=\"3-weryfikacja-obietnic-project-loom-wywoluje-zazarte-dyskusje\" data-num=3>3. Weryfikacja obietnic Project Loom wywo\u0142uje za\u017carte dyskusje<\/h2>\n<p>Na koniec mi\u0119sko, kt\u00f3re mnie osobi\u015bcie poch\u0142on\u0119\u0142o na dobre ~3h, ale te\u017c rzadko zdarzaj\u0105 si\u0119 posty kt\u00f3re do publicznej dyskusji \u015bci\u0105gaj\u0105 osoby tworz\u0105ce na co dzie\u0144 JVM.<\/p>\n<p>Ot\u00f3\u017c Greg Wilkins (Project Lead znanego wszystkim Jetty\u2019ego) postanowi\u0142 przygotowa\u0107 testy Early Access buildu Projektu Loom, w celu zweryfikowania, na ile obietnice jego tw\u00f3rc\u00f3w maj\u0105 odzwierciedlenie w realiach. Na pierwszy ogie\u0144 posz\u0142a mo\u017cliwo\u015bci stworzenia miliona r\u00f3wnocze\u015bnie istniej\u0105cych r\u00f3wnoleg\u0142ych w\u0105tk\u00f3w. Efekt jest hmmm\u2026 po\u0142owiczny. Pisz\u0105c w skr\u00f3cie, nie ma problemu ze stworzeniem w\u0105tk\u00f3w jako takich, ale za wiele to si\u0119 w nich nie zrobi &#8211; nawet \u015bredniej wielko\u015bci Stacktrace (1000 operacji) per w\u0105tek szybko udowadnia, \u017ce RAM nie jest z gumy. Tak\u017ce o ile rzeczywi\u015bcie istnieje mo\u017cliwo\u015b\u0107 stworzenia miliona w\u0105tk\u00f3w, to styl programistyczny w nich u\u017cyty musi by\u0107 drastycznie inny (np. poprzez mocne ograniczenie bibliotek zewn\u0119trznych, kt\u00f3re potrafi\u0105 bardzo stacktrace wyd\u0142u\u017ca\u0107).<\/p>\n<p>Potem pojawi\u0142a si\u0119 kontynuacja posta, tym razem bior\u0105c na warsztat ju\u017c bardzo konkretny przyk\u0142ad: uproszczony model chatu tekstowego dla u\u017cytkownik\u00f3w gry online. Z tej pr\u00f3by Loom wychodzi zwyci\u0119sko &#8211; kosztem nieco wi\u0119kszego zu\u017cycia procesora i innego charakteru konsumpcji pami\u0119ci (tworzenie du\u017cej ilo\u015bci kr\u00f3tko \u017cyj\u0105cych obiekt\u00f3w) uda\u0142o si\u0119 zast\u0105pi\u0107 rozwi\u0105zanie oparte na Async API.<\/p>\n<p>Ze wzgl\u0119du na mocno krytyczny charakter pierwszego posta, pojawi\u0142a si\u0119 do niego masa komentarzy, zar\u00f3wno na Reddicie (<a href=\"https:\/\/www.reddit.com\/r\/java\/comments\/kmn6m3\/do_looms_claims_stack_up_part_1_millions_of\/ \">gdzie Ron Pressler odpiera\u0142 zarzuty<\/a>) jak i na li\u015bcie mailngowej OpenJDK, gdzie <a href=\"https:\/\/mail.openjdk.java.net\/pipermail\/loom-dev\/2021-January\/001976.html\">znowu ca\u0142y temat komentowa\u0142 Alan Bateman<\/a>. Ca\u0142a dyskusja jest r\u00f3wnie frapuj\u0105ca jak wspomniane artyku\u0142y.<\/p>\n<p>Po przewertowaniu zar\u00f3wno artyku\u0142\u00f3w jak i ca\u0142o\u015bci dyskusji, moja osobista konkluzja &#8211; Loom ma potencja\u0142, ale powinien popracowa\u0107 nad marketingiem i przesta\u0107 dra\u017cni\u0107 spo\u0142eczno\u015b\u0107 rzucaniem liczb z kosmosu .<\/p>\n<p>BTW: Wraz z Loom wprowadzone zostanie API do zrzucania StackTrace jako JSON &#8211; je\u015bli to nie jest dobry pow\u00f3d do kontynuacji tego projektu, to nie wiem co jest.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Dzisiaj mamy dla Was jedne Release Notesy i dwa grubsze tematy. Mamy nadziej\u0119, \u017ce docenicie, poniewa\u017c chc\u0105c dog\u0142\u0119bnie oceni\u0107 spraw\u0119, sp\u0119dzili\u015bmy naprawd\u0119 sporo czasu na szerszy research kt\u00f3rego zar\u00f3wno 2. jak i 3. wymaga\u0142y. \ud83d\ude05<\/p>\n","protected":false},"author":10,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[259],"tags":[],"class_list":["post-10198","post","type-post","status-publish","format-standard","hentry","category-jvm-pl"],"acf":{"weekly_summary":true,"estimated_reading_time":"4"},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.0 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>JVM Monday vol. 20 - Vived<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/vived.io\/pl\/jvm-monday-vol-20\/\" \/>\n<meta property=\"og:locale\" content=\"pl_PL\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"JVM Monday vol. 20 - Vived\" \/>\n<meta property=\"og:description\" content=\"Dzisiaj mamy dla Was jedne Release Notesy i dwa grubsze tematy. Mamy nadziej\u0119, \u017ce docenicie, poniewa\u017c chc\u0105c dog\u0142\u0119bnie oceni\u0107 spraw\u0119, sp\u0119dzili\u015bmy naprawd\u0119 sporo czasu na szerszy research kt\u00f3rego zar\u00f3wno 2. jak i 3. wymaga\u0142y. \ud83d\ude05\" \/>\n<meta property=\"og:url\" content=\"https:\/\/vived.io\/pl\/jvm-monday-vol-20\/\" \/>\n<meta property=\"og:site_name\" content=\"Vived\" \/>\n<meta property=\"article:published_time\" content=\"2021-01-11T08:05:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-09-19T11:10:58+00:00\" \/>\n<meta name=\"author\" content=\"Artur Skowro\u0144ski\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/vived.io\/pl\/jvm-monday-vol-20\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/vived.io\/pl\/jvm-monday-vol-20\/\"},\"author\":{\"name\":\"Artur Skowro\u0144ski\",\"@id\":\"https:\/\/vived.io\/pl\/#\/schema\/person\/0eb0878110cb27edfbfe46e841fe6db3\"},\"headline\":\"JVM Monday vol. 20\",\"datePublished\":\"2021-01-11T08:05:00+00:00\",\"dateModified\":\"2022-09-19T11:10:58+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/vived.io\/pl\/jvm-monday-vol-20\/\"},\"wordCount\":978,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/vived.io\/pl\/#organization\"},\"articleSection\":[\"JVM\"],\"inLanguage\":\"pl-PL\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/vived.io\/pl\/jvm-monday-vol-20\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/vived.io\/pl\/jvm-monday-vol-20\/\",\"url\":\"https:\/\/vived.io\/pl\/jvm-monday-vol-20\/\",\"name\":\"JVM Monday vol. 20 - Vived\",\"isPartOf\":{\"@id\":\"https:\/\/vived.io\/pl\/#website\"},\"datePublished\":\"2021-01-11T08:05:00+00:00\",\"dateModified\":\"2022-09-19T11:10:58+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/vived.io\/pl\/jvm-monday-vol-20\/#breadcrumb\"},\"inLanguage\":\"pl-PL\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/vived.io\/pl\/jvm-monday-vol-20\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/vived.io\/pl\/jvm-monday-vol-20\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Strona g\u0142\u00f3wna\",\"item\":\"https:\/\/vived.io\/pl\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"JVM Monday vol. 20\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/vived.io\/pl\/#website\",\"url\":\"https:\/\/vived.io\/pl\/\",\"name\":\"Vived\",\"description\":\"platform empowering IT people and technology companies to synergic growth\",\"publisher\":{\"@id\":\"https:\/\/vived.io\/pl\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/vived.io\/pl\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pl-PL\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/vived.io\/pl\/#organization\",\"name\":\"Vived\",\"url\":\"https:\/\/vived.io\/pl\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\/\/vived.io\/pl\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/vived.io\/wp-content\/uploads\/2020\/03\/logo_vived_color.png\",\"contentUrl\":\"https:\/\/vived.io\/wp-content\/uploads\/2020\/03\/logo_vived_color.png\",\"width\":136,\"height\":45,\"caption\":\"Vived\"},\"image\":{\"@id\":\"https:\/\/vived.io\/pl\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/vived.io\/pl\/#\/schema\/person\/0eb0878110cb27edfbfe46e841fe6db3\",\"name\":\"Artur Skowro\u0144ski\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\/\/vived.io\/pl\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/29055786486c8b9dc1507f2744221c5bdb8d7ef6e6217ced0326dd3296aea6ed?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/29055786486c8b9dc1507f2744221c5bdb8d7ef6e6217ced0326dd3296aea6ed?s=96&d=mm&r=g\",\"caption\":\"Artur Skowro\u0144ski\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"JVM Monday vol. 20 - Vived","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/vived.io\/pl\/jvm-monday-vol-20\/","og_locale":"pl_PL","og_type":"article","og_title":"JVM Monday vol. 20 - Vived","og_description":"Dzisiaj mamy dla Was jedne Release Notesy i dwa grubsze tematy. Mamy nadziej\u0119, \u017ce docenicie, poniewa\u017c chc\u0105c dog\u0142\u0119bnie oceni\u0107 spraw\u0119, sp\u0119dzili\u015bmy naprawd\u0119 sporo czasu na szerszy research kt\u00f3rego zar\u00f3wno 2. jak i 3. wymaga\u0142y. \ud83d\ude05","og_url":"https:\/\/vived.io\/pl\/jvm-monday-vol-20\/","og_site_name":"Vived","article_published_time":"2021-01-11T08:05:00+00:00","article_modified_time":"2022-09-19T11:10:58+00:00","author":"Artur Skowro\u0144ski","twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/vived.io\/pl\/jvm-monday-vol-20\/#article","isPartOf":{"@id":"https:\/\/vived.io\/pl\/jvm-monday-vol-20\/"},"author":{"name":"Artur Skowro\u0144ski","@id":"https:\/\/vived.io\/pl\/#\/schema\/person\/0eb0878110cb27edfbfe46e841fe6db3"},"headline":"JVM Monday vol. 20","datePublished":"2021-01-11T08:05:00+00:00","dateModified":"2022-09-19T11:10:58+00:00","mainEntityOfPage":{"@id":"https:\/\/vived.io\/pl\/jvm-monday-vol-20\/"},"wordCount":978,"commentCount":0,"publisher":{"@id":"https:\/\/vived.io\/pl\/#organization"},"articleSection":["JVM"],"inLanguage":"pl-PL","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/vived.io\/pl\/jvm-monday-vol-20\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/vived.io\/pl\/jvm-monday-vol-20\/","url":"https:\/\/vived.io\/pl\/jvm-monday-vol-20\/","name":"JVM Monday vol. 20 - Vived","isPartOf":{"@id":"https:\/\/vived.io\/pl\/#website"},"datePublished":"2021-01-11T08:05:00+00:00","dateModified":"2022-09-19T11:10:58+00:00","breadcrumb":{"@id":"https:\/\/vived.io\/pl\/jvm-monday-vol-20\/#breadcrumb"},"inLanguage":"pl-PL","potentialAction":[{"@type":"ReadAction","target":["https:\/\/vived.io\/pl\/jvm-monday-vol-20\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/vived.io\/pl\/jvm-monday-vol-20\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Strona g\u0142\u00f3wna","item":"https:\/\/vived.io\/pl\/"},{"@type":"ListItem","position":2,"name":"JVM Monday vol. 20"}]},{"@type":"WebSite","@id":"https:\/\/vived.io\/pl\/#website","url":"https:\/\/vived.io\/pl\/","name":"Vived","description":"platform empowering IT people and technology companies to synergic growth","publisher":{"@id":"https:\/\/vived.io\/pl\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/vived.io\/pl\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pl-PL"},{"@type":"Organization","@id":"https:\/\/vived.io\/pl\/#organization","name":"Vived","url":"https:\/\/vived.io\/pl\/","logo":{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/vived.io\/pl\/#\/schema\/logo\/image\/","url":"https:\/\/vived.io\/wp-content\/uploads\/2020\/03\/logo_vived_color.png","contentUrl":"https:\/\/vived.io\/wp-content\/uploads\/2020\/03\/logo_vived_color.png","width":136,"height":45,"caption":"Vived"},"image":{"@id":"https:\/\/vived.io\/pl\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/vived.io\/pl\/#\/schema\/person\/0eb0878110cb27edfbfe46e841fe6db3","name":"Artur Skowro\u0144ski","image":{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/vived.io\/pl\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/29055786486c8b9dc1507f2744221c5bdb8d7ef6e6217ced0326dd3296aea6ed?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/29055786486c8b9dc1507f2744221c5bdb8d7ef6e6217ced0326dd3296aea6ed?s=96&d=mm&r=g","caption":"Artur Skowro\u0144ski"}}]}},"blocks_vived":[{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"<h2 id=\"1-gradle-6-8-wydane-\">1. <a href=\"https:\/\/docs.gradle.org\/6.8\/release-notes.html\">Gradle 6.8 wydane <\/a><\/h2>\nNa rozgrzewk\u0119 - szybki newsik.\n\nGradle 6.8 zosta\u0142o wydane i przynosi par\u0119 interesuj\u0105cych zmian. U\u017cytkownik\u00f3w Kotlinowej wersji DSL z pewno\u015bci\u0105 uciesz\u0105 si\u0119, \u017ce zar\u00f3wno czas kompilacji, jak i zasobo\u017cerno\u015b\u0107 tej odmiany Gradle znaczenie spad\u0142y. Dodatkowo, build-tool nauczy\u0142 si\u0119 rozr\u00f3\u017cnia\u0107 r\u00f3\u017cne \u201csmaki\u201d Javy, i mo\u017cna teraz zdefiniowa\u0107, jakiego vendora chce si\u0119 u\u017cywa\u0107 - mo\u017ce by\u0107 to przydatne w sytuacji, gdy u\u017cywamy kt\u00f3rej\u015b unikalnej funkcjonalno\u015bci dost\u0119pnej tylko w konkretnym JDK - przyk\u0142adem niech b\u0119dzie tutaj Wisp (alternatywna implementacja korutyn) dost\u0119pna wy\u0142\u0105cznia w Dragonwell JDK od Alibaby.\n\nPojawiaj\u0105 si\u0119 te\u017c poprawki dotycz\u0105ce bezpiecze\u0144stw (wy\u0142\u0105czenie domy\u015blnego wsparcia dla TLS 1.0 i 1.1). Lepsze zarz\u0105dzanie zale\u017cno\u015bciami i dalsze dzia\u0142anie w kierunku daj\u0105cych si\u0119 u\u017cywa\u0107 \u201cComposite builds\u201d - elastycznego klejenia modu\u0142\u00f3w w jeden, skrojony na miar\u0119 projekt, co mo\u017ce si\u0119 przyda\u0107 w wypadku tworzenia aplikacji w r\u00f3\u017cnych wariantach z mniejszych kawa\u0142k\u00f3w (mia\u0142em takie co\u015b w poprzednim projekcie na produkcji).\n\nNo i oczywi\u015bcie \u201cwincyj cache\u201d. W zasadzie ka\u017cda nowa wersja Gradle to dalsze poprawki dla cache.\n\nPS: Ostatnio Bruce Eckel, kt\u00f3rego mo\u017cecie kojarzy\u0107 jako tw\u00f3rc\u0119 legendarnego ju\u017c \u201cThinking in Java\u201d (moja pierwsza ksi\u0105\u017cka o Javie \u2665\ufe0f \u00a0- dzisiaj niestety ju\u017c nie polecam, bo si\u0119 mocno zestarza\u0142a ) opublikowa\u0142 opinie (https:\/\/www.bruceeckel.com\/2021\/01\/02\/the-problem-with-gradle\/) o Gradle oraz jego programistycznym modelu. Bardzo interesuj\u0105ca rzecz.\n\n<hr \/>\n\n<h2 id=\"2-jaka-by-a-rola-jetbrains-w-ataku-na-solarwind-\">2. Jaka by\u0142a rola JetBrains w ataku na SolarWind?<\/h2>\nNo i znowu mamy polityczn\u0105 dram\u0119, tym razem z JetBrains w tle. Mia\u0142a ona kilka faz, przewin\u0119\u0142a si\u0119 r\u00f3wnie\u017c szeroko przez wszelkiej ma\u015bci programistyczne spo\u0142eczno\u015bci. Teraz, gdy kurz troch\u0119 opad\u0142, czas wyja\u015bni\u0107: Czy JetBrains to rzeczywi\u015bcie s\u0105 rosyjscy hakerzy i powinni\u015bmy odinstalowa\u0107 ich oprogramowanie?\n\nZaraz przed \u015bwi\u0119tami Bo\u017cego Narodzenia na jaw wyszed\u0142 fakt, \u017ce oprogramowanie SolarWind, u\u017cywane przez organizacje rz\u0105dowe USA, zosta\u0142o zaatakowane. Atak zosta\u0142 wykryty przez Microsoft, a jego zakres dotyczy\u0107 mia\u0142 ponad 250 agencji rz\u0105dowych. Hack wysublimowany i bardzo interesuj\u0105cy (szczeg\u00f3\u0142y ataku mo\u017cecie znale\u017a\u0107 tutaj: <a href=\"https:\/\/www.microsoft.com\/security\/blog\/2020\/12\/18\/analyzing-solorigate-the-compromised-dll-file-that-started-a-sophisticated-cyberattack-and-how-microsoft-defender-helps-protect\/\">https:\/\/www.microsoft.com\/security\/blog\/2020\/12\/18\/analyzing-solorigate-the-compromised-dll-file-that-started-a-sophisticated-cyberattack-and-how-microsoft-defender-helps-protect\/<\/a>), ale pewnie jego temat nie wr\u00f3ci\u0142by na pocz\u0105tku tego roku (a przynajmniej poza kr\u0119gami CyberSecurity), gdyby nie wci\u0105gni\u0119cie w ca\u0142\u0105 spraw\u0119 JetBrains.\n\nOt\u00f3\u017c na pocz\u0105tku poprzedniego tygodnia na \u0142amach New York Times\u2019a pojawi\u0142 si\u0119 artyku\u0142 (<a href=\"https:\/\/www.nytimes.com\/2021\/01\/06\/us\/politics\/russia-cyber-hack.html\">https:\/\/www.nytimes.com\/2021\/01\/06\/us\/politics\/russia-cyber-harck.html<\/a>) jakoby g\u0142\u00f3wnym wektorem ataku by\u0142o oprogramowanie TeamCity o JetBrains. Mimo \u017ce ca\u0142o\u015b\u0107 u\u017cywa nieco ma\u0142o precyzyjnej terminologii i w do\u015b\u0107 alarmistycznym tonie ostrzega, \u017ce firma zosta\u0142a za\u0142o\u017cona przez dw\u00f3jk\u0119 Rosjan, to jednak nie jest to tekst zlepiony przez sta\u017cyst\u00f3w, a grup\u0119 do\u015bwiadczonych redaktor\u00f3w, kt\u00f3rzy ju\u017c wcze\u015bniej opisywali m.in. cyberataki ze strony Iranu.\n\nNa odpowied\u017a JetBrains nie trzeba by\u0142o d\u0142ugo czeka\u0107 - opublikowali oni dwa stanowiska (<a href=\"https:\/\/blog.jetbrains.com\/blog\/2021\/01\/06\/statement-on-the-story-from-the-new-york-times-regarding-jetbrains-and-solarwinds\/\">https:\/\/blog.jetbrains.com\/blog\/2021\/01\/06\/statement-on-the-story-from-the-new-york-times-regarding-jetbrains-and-solarwinds\/<\/a> oraz <a href=\"https:\/\/blog.jetbrains.com\/blog\/2021\/01\/07\/an-update-on-solarwinds\/\">https:\/\/blog.jetbrains.com\/blog\/2021\/01\/07\/an-update-on-solarwinds\/<\/a>) w kt\u00f3rym przyznaj\u0105, \u017ce wed\u0142ug ich wiedzy atak rzeczywi\u015bcie nast\u0105pi\u0142 poprzez systemy budowania aplikacji, a SolarWind u\u017cywa\u0142 ich oprogramowania (tak jak wiele firm), ale nie ma \u017cadnych dowod\u00f3w jakoby problem istnia\u0142 w samej aplikacji. Je\u017celi nawet TeamCity by\u0142o furtk\u0105, to sugeruj\u0105, \u017ce przyczyn\u0105 podatno\u015bci mog\u0142a by\u0107 z\u0142a konfiguracja \u015brodowiska.\n\nSprawa nabiera rumie\u0144c\u00f3w i jeszcze do niej pewnie wr\u00f3cimy, aczkolwiek na ten moment ci\u0105gle pozosta\u0142bym przy twierdzeniu, \u017ce nie ma co odinstalowywa\u0107 Intellija z komputera.\n\n<hr \/>\n\n<h2 id=\"3-weryfikacja-obietnic-project-loom-wywo-uje-za-arte-dyskusje-\">3. Weryfikacja obietnic Project Loom wywo\u0142uje za\u017carte dyskusje<\/h2>\nNa koniec mi\u0119sko, kt\u00f3re mnie osobi\u015bcie poch\u0142on\u0119\u0142o na dobre ~3h, ale te\u017c rzadko zdarzaj\u0105 si\u0119 posty kt\u00f3re do publicznej dyskusji \u015bci\u0105gaj\u0105 osoby tworz\u0105ce na co dzie\u0144 JVM.\n\nOt\u00f3\u017c Greg Wilkins (Project Lead znanego wszystkim Jetty\u2019ego) postanowi\u0142 przygotowa\u0107 testy Early Access buildu Projektu Loom, w celu zweryfikowania, na ile obietnice jego tw\u00f3rc\u00f3w maj\u0105 odzwierciedlenie w realiach. Na pierwszy ogie\u0144 posz\u0142a mo\u017cliwo\u015bci stworzenia miliona r\u00f3wnocze\u015bnie istniej\u0105cych r\u00f3wnoleg\u0142ych w\u0105tk\u00f3w. Efekt jest hmmm\u2026 po\u0142owiczny. Pisz\u0105c w skr\u00f3cie, nie ma problemu ze stworzeniem w\u0105tk\u00f3w jako takich, ale za wiele to si\u0119 w nich nie zrobi - nawet \u015bredniej wielko\u015bci Stacktrace (1000 operacji) per w\u0105tek szybko udowadnia, \u017ce RAM nie jest z gumy. Tak\u017ce o ile rzeczywi\u015bcie istnieje mo\u017cliwo\u015b\u0107 stworzenia miliona w\u0105tk\u00f3w, to styl programistyczny w nich u\u017cyty musi by\u0107 drastycznie inny (np. poprzez mocne ograniczenie bibliotek zewn\u0119trznych, kt\u00f3re potrafi\u0105 bardzo stacktrace wyd\u0142u\u017ca\u0107).\n\nPotem pojawi\u0142a si\u0119 kontynuacja posta, tym razem bior\u0105c na warsztat ju\u017c bardzo konkretny przyk\u0142ad: uproszczony model chatu tekstowego dla u\u017cytkownik\u00f3w gry online. Z tej pr\u00f3by Loom wychodzi zwyci\u0119sko - kosztem nieco wi\u0119kszego zu\u017cycia procesora i innego charakteru konsumpcji pami\u0119ci (tworzenie du\u017cej ilo\u015bci kr\u00f3tko \u017cyj\u0105cych obiekt\u00f3w) uda\u0142o si\u0119 zast\u0105pi\u0107 rozwi\u0105zanie oparte na Async API.\n\nZe wzgl\u0119du na mocno krytyczny charakter pierwszego posta, pojawi\u0142a si\u0119 do niego masa komentarzy, zar\u00f3wno na Reddicie (<a href=\"https:\/\/www.reddit.com\/r\/java\/comments\/kmn6m3\/do_looms_claims_stack_up_part_1_millions_of\/ \">gdzie Ron Pressler odpiera\u0142 zarzuty<\/a>) jak i na li\u015bcie mailngowej OpenJDK, gdzie <a href=\"https:\/\/mail.openjdk.java.net\/pipermail\/loom-dev\/2021-January\/001976.html\">znowu ca\u0142y temat komentowa\u0142 Alan Bateman<\/a>. Ca\u0142a dyskusja jest r\u00f3wnie frapuj\u0105ca jak wspomniane artyku\u0142y.\n\nPo przewertowaniu zar\u00f3wno artyku\u0142\u00f3w jak i ca\u0142o\u015bci dyskusji, moja osobista konkluzja - Loom ma potencja\u0142, ale powinien popracowa\u0107 nad marketingiem i przesta\u0107 dra\u017cni\u0107 spo\u0142eczno\u015b\u0107 rzucaniem liczb z kosmosu .\n\nBTW: Wraz z Loom wprowadzone zostanie API do zrzucania StackTrace jako JSON - je\u015bli to nie jest dobry pow\u00f3d do kontynuacji tego projektu, to nie wiem co jest.","innerContent":["<h2 id=\"1-gradle-6-8-wydane-\">1. <a href=\"https:\/\/docs.gradle.org\/6.8\/release-notes.html\">Gradle 6.8 wydane <\/a><\/h2>\nNa rozgrzewk\u0119 - szybki newsik.\n\nGradle 6.8 zosta\u0142o wydane i przynosi par\u0119 interesuj\u0105cych zmian. U\u017cytkownik\u00f3w Kotlinowej wersji DSL z pewno\u015bci\u0105 uciesz\u0105 si\u0119, \u017ce zar\u00f3wno czas kompilacji, jak i zasobo\u017cerno\u015b\u0107 tej odmiany Gradle znaczenie spad\u0142y. Dodatkowo, build-tool nauczy\u0142 si\u0119 rozr\u00f3\u017cnia\u0107 r\u00f3\u017cne \u201csmaki\u201d Javy, i mo\u017cna teraz zdefiniowa\u0107, jakiego vendora chce si\u0119 u\u017cywa\u0107 - mo\u017ce by\u0107 to przydatne w sytuacji, gdy u\u017cywamy kt\u00f3rej\u015b unikalnej funkcjonalno\u015bci dost\u0119pnej tylko w konkretnym JDK - przyk\u0142adem niech b\u0119dzie tutaj Wisp (alternatywna implementacja korutyn) dost\u0119pna wy\u0142\u0105cznia w Dragonwell JDK od Alibaby.\n\nPojawiaj\u0105 si\u0119 te\u017c poprawki dotycz\u0105ce bezpiecze\u0144stw (wy\u0142\u0105czenie domy\u015blnego wsparcia dla TLS 1.0 i 1.1). Lepsze zarz\u0105dzanie zale\u017cno\u015bciami i dalsze dzia\u0142anie w kierunku daj\u0105cych si\u0119 u\u017cywa\u0107 \u201cComposite builds\u201d - elastycznego klejenia modu\u0142\u00f3w w jeden, skrojony na miar\u0119 projekt, co mo\u017ce si\u0119 przyda\u0107 w wypadku tworzenia aplikacji w r\u00f3\u017cnych wariantach z mniejszych kawa\u0142k\u00f3w (mia\u0142em takie co\u015b w poprzednim projekcie na produkcji).\n\nNo i oczywi\u015bcie \u201cwincyj cache\u201d. W zasadzie ka\u017cda nowa wersja Gradle to dalsze poprawki dla cache.\n\nPS: Ostatnio Bruce Eckel, kt\u00f3rego mo\u017cecie kojarzy\u0107 jako tw\u00f3rc\u0119 legendarnego ju\u017c \u201cThinking in Java\u201d (moja pierwsza ksi\u0105\u017cka o Javie \u2665\ufe0f \u00a0- dzisiaj niestety ju\u017c nie polecam, bo si\u0119 mocno zestarza\u0142a ) opublikowa\u0142 opinie (https:\/\/www.bruceeckel.com\/2021\/01\/02\/the-problem-with-gradle\/) o Gradle oraz jego programistycznym modelu. Bardzo interesuj\u0105ca rzecz.\n\n<hr \/>\n\n<h2 id=\"2-jaka-by-a-rola-jetbrains-w-ataku-na-solarwind-\">2. Jaka by\u0142a rola JetBrains w ataku na SolarWind?<\/h2>\nNo i znowu mamy polityczn\u0105 dram\u0119, tym razem z JetBrains w tle. Mia\u0142a ona kilka faz, przewin\u0119\u0142a si\u0119 r\u00f3wnie\u017c szeroko przez wszelkiej ma\u015bci programistyczne spo\u0142eczno\u015bci. Teraz, gdy kurz troch\u0119 opad\u0142, czas wyja\u015bni\u0107: Czy JetBrains to rzeczywi\u015bcie s\u0105 rosyjscy hakerzy i powinni\u015bmy odinstalowa\u0107 ich oprogramowanie?\n\nZaraz przed \u015bwi\u0119tami Bo\u017cego Narodzenia na jaw wyszed\u0142 fakt, \u017ce oprogramowanie SolarWind, u\u017cywane przez organizacje rz\u0105dowe USA, zosta\u0142o zaatakowane. Atak zosta\u0142 wykryty przez Microsoft, a jego zakres dotyczy\u0107 mia\u0142 ponad 250 agencji rz\u0105dowych. Hack wysublimowany i bardzo interesuj\u0105cy (szczeg\u00f3\u0142y ataku mo\u017cecie znale\u017a\u0107 tutaj: <a href=\"https:\/\/www.microsoft.com\/security\/blog\/2020\/12\/18\/analyzing-solorigate-the-compromised-dll-file-that-started-a-sophisticated-cyberattack-and-how-microsoft-defender-helps-protect\/\">https:\/\/www.microsoft.com\/security\/blog\/2020\/12\/18\/analyzing-solorigate-the-compromised-dll-file-that-started-a-sophisticated-cyberattack-and-how-microsoft-defender-helps-protect\/<\/a>), ale pewnie jego temat nie wr\u00f3ci\u0142by na pocz\u0105tku tego roku (a przynajmniej poza kr\u0119gami CyberSecurity), gdyby nie wci\u0105gni\u0119cie w ca\u0142\u0105 spraw\u0119 JetBrains.\n\nOt\u00f3\u017c na pocz\u0105tku poprzedniego tygodnia na \u0142amach New York Times\u2019a pojawi\u0142 si\u0119 artyku\u0142 (<a href=\"https:\/\/www.nytimes.com\/2021\/01\/06\/us\/politics\/russia-cyber-hack.html\">https:\/\/www.nytimes.com\/2021\/01\/06\/us\/politics\/russia-cyber-harck.html<\/a>) jakoby g\u0142\u00f3wnym wektorem ataku by\u0142o oprogramowanie TeamCity o JetBrains. Mimo \u017ce ca\u0142o\u015b\u0107 u\u017cywa nieco ma\u0142o precyzyjnej terminologii i w do\u015b\u0107 alarmistycznym tonie ostrzega, \u017ce firma zosta\u0142a za\u0142o\u017cona przez dw\u00f3jk\u0119 Rosjan, to jednak nie jest to tekst zlepiony przez sta\u017cyst\u00f3w, a grup\u0119 do\u015bwiadczonych redaktor\u00f3w, kt\u00f3rzy ju\u017c wcze\u015bniej opisywali m.in. cyberataki ze strony Iranu.\n\nNa odpowied\u017a JetBrains nie trzeba by\u0142o d\u0142ugo czeka\u0107 - opublikowali oni dwa stanowiska (<a href=\"https:\/\/blog.jetbrains.com\/blog\/2021\/01\/06\/statement-on-the-story-from-the-new-york-times-regarding-jetbrains-and-solarwinds\/\">https:\/\/blog.jetbrains.com\/blog\/2021\/01\/06\/statement-on-the-story-from-the-new-york-times-regarding-jetbrains-and-solarwinds\/<\/a> oraz <a href=\"https:\/\/blog.jetbrains.com\/blog\/2021\/01\/07\/an-update-on-solarwinds\/\">https:\/\/blog.jetbrains.com\/blog\/2021\/01\/07\/an-update-on-solarwinds\/<\/a>) w kt\u00f3rym przyznaj\u0105, \u017ce wed\u0142ug ich wiedzy atak rzeczywi\u015bcie nast\u0105pi\u0142 poprzez systemy budowania aplikacji, a SolarWind u\u017cywa\u0142 ich oprogramowania (tak jak wiele firm), ale nie ma \u017cadnych dowod\u00f3w jakoby problem istnia\u0142 w samej aplikacji. Je\u017celi nawet TeamCity by\u0142o furtk\u0105, to sugeruj\u0105, \u017ce przyczyn\u0105 podatno\u015bci mog\u0142a by\u0107 z\u0142a konfiguracja \u015brodowiska.\n\nSprawa nabiera rumie\u0144c\u00f3w i jeszcze do niej pewnie wr\u00f3cimy, aczkolwiek na ten moment ci\u0105gle pozosta\u0142bym przy twierdzeniu, \u017ce nie ma co odinstalowywa\u0107 Intellija z komputera.\n\n<hr \/>\n\n<h2 id=\"3-weryfikacja-obietnic-project-loom-wywo-uje-za-arte-dyskusje-\">3. Weryfikacja obietnic Project Loom wywo\u0142uje za\u017carte dyskusje<\/h2>\nNa koniec mi\u0119sko, kt\u00f3re mnie osobi\u015bcie poch\u0142on\u0119\u0142o na dobre ~3h, ale te\u017c rzadko zdarzaj\u0105 si\u0119 posty kt\u00f3re do publicznej dyskusji \u015bci\u0105gaj\u0105 osoby tworz\u0105ce na co dzie\u0144 JVM.\n\nOt\u00f3\u017c Greg Wilkins (Project Lead znanego wszystkim Jetty\u2019ego) postanowi\u0142 przygotowa\u0107 testy Early Access buildu Projektu Loom, w celu zweryfikowania, na ile obietnice jego tw\u00f3rc\u00f3w maj\u0105 odzwierciedlenie w realiach. Na pierwszy ogie\u0144 posz\u0142a mo\u017cliwo\u015bci stworzenia miliona r\u00f3wnocze\u015bnie istniej\u0105cych r\u00f3wnoleg\u0142ych w\u0105tk\u00f3w. Efekt jest hmmm\u2026 po\u0142owiczny. Pisz\u0105c w skr\u00f3cie, nie ma problemu ze stworzeniem w\u0105tk\u00f3w jako takich, ale za wiele to si\u0119 w nich nie zrobi - nawet \u015bredniej wielko\u015bci Stacktrace (1000 operacji) per w\u0105tek szybko udowadnia, \u017ce RAM nie jest z gumy. Tak\u017ce o ile rzeczywi\u015bcie istnieje mo\u017cliwo\u015b\u0107 stworzenia miliona w\u0105tk\u00f3w, to styl programistyczny w nich u\u017cyty musi by\u0107 drastycznie inny (np. poprzez mocne ograniczenie bibliotek zewn\u0119trznych, kt\u00f3re potrafi\u0105 bardzo stacktrace wyd\u0142u\u017ca\u0107).\n\nPotem pojawi\u0142a si\u0119 kontynuacja posta, tym razem bior\u0105c na warsztat ju\u017c bardzo konkretny przyk\u0142ad: uproszczony model chatu tekstowego dla u\u017cytkownik\u00f3w gry online. Z tej pr\u00f3by Loom wychodzi zwyci\u0119sko - kosztem nieco wi\u0119kszego zu\u017cycia procesora i innego charakteru konsumpcji pami\u0119ci (tworzenie du\u017cej ilo\u015bci kr\u00f3tko \u017cyj\u0105cych obiekt\u00f3w) uda\u0142o si\u0119 zast\u0105pi\u0107 rozwi\u0105zanie oparte na Async API.\n\nZe wzgl\u0119du na mocno krytyczny charakter pierwszego posta, pojawi\u0142a si\u0119 do niego masa komentarzy, zar\u00f3wno na Reddicie (<a href=\"https:\/\/www.reddit.com\/r\/java\/comments\/kmn6m3\/do_looms_claims_stack_up_part_1_millions_of\/ \">gdzie Ron Pressler odpiera\u0142 zarzuty<\/a>) jak i na li\u015bcie mailngowej OpenJDK, gdzie <a href=\"https:\/\/mail.openjdk.java.net\/pipermail\/loom-dev\/2021-January\/001976.html\">znowu ca\u0142y temat komentowa\u0142 Alan Bateman<\/a>. Ca\u0142a dyskusja jest r\u00f3wnie frapuj\u0105ca jak wspomniane artyku\u0142y.\n\nPo przewertowaniu zar\u00f3wno artyku\u0142\u00f3w jak i ca\u0142o\u015bci dyskusji, moja osobista konkluzja - Loom ma potencja\u0142, ale powinien popracowa\u0107 nad marketingiem i przesta\u0107 dra\u017cni\u0107 spo\u0142eczno\u015b\u0107 rzucaniem liczb z kosmosu .\n\nBTW: Wraz z Loom wprowadzone zostanie API do zrzucania StackTrace jako JSON - je\u015bli to nie jest dobry pow\u00f3d do kontynuacji tego projektu, to nie wiem co jest."]}],"_links":{"self":[{"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/posts\/10198","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=10198"}],"version-history":[{"count":1,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/posts\/10198\/revisions"}],"predecessor-version":[{"id":10591,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/posts\/10198\/revisions\/10591"}],"wp:attachment":[{"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/media?parent=10198"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/categories?post=10198"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/tags?post=10198"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}