{"id":10072,"date":"2021-10-05T15:44:23","date_gmt":"2021-10-05T13:44:23","guid":{"rendered":"https:\/\/vived.io\/jvm-tuesday-vol-58-mariana-trench-wildfly-utf-8\/"},"modified":"2022-09-19T13:10:47","modified_gmt":"2022-09-19T11:10:47","slug":"jvm-tuesday-vol-58-mariana-trench-wildfly-utf-8","status":"publish","type":"post","link":"https:\/\/vived.io\/pl\/jvm-tuesday-vol-58-mariana-trench-wildfly-utf-8\/","title":{"rendered":"JVM Tuesday vol.58 \u2013 Mariana Trench, WildFly,  UTF-8"},"content":{"rendered":"\n<h2 id=\"1-row-marianski-linter-security-od-facebooka\" data-num=1>1. <a href=\"https:\/\/engineering.fb.com\/2021\/09\/29\/security\/mariana-trench\/\">\u201cR\u00f3w Maria\u0144ski\u201d &#8211; linter security od Facebooka<\/a> \ud83d\ude93 <\/h2>\n\n\n\n<p>Zacznijmy od Facebooka. Jego wczorajsz\u0105 wielk\u0105 awari\u0105 zajmiemy si\u0119 w najbli\u017csz\u0105 sobot\u0119 (ju\u017c powoli zbieramy materia\u0142y t\u0142umacz\u0105ce, co tak naprawd\u0119 si\u0119 wydarzy\u0142o), a w mi\u0119dzyczasie chcieliby\u015bmy powiedzie\u0107 o firmie Marka Zuckerberga co\u015b pozytywnego (nie kopie si\u0119 w ko\u0144cu le\u017c\u0105cego). Ot, cho\u0107by to, \u017ce podzieli\u0142a si\u0119 ze spo\u0142eczno\u015bci\u0105 nowym narz\u0119dziem do analizy statycznej kodu pod wzgl\u0119dem luk bezpiecze\u0144stwa.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/06\/img_62a88da95acdd.gif\" alt=\"\" width=\"480\" height=\"270\"\/><figcaption>We need to go deeper<\/figcaption><\/figure><\/div>\n\n\n<p><a href=\"https:\/\/engineering.fb.com\/2021\/09\/29\/security\/mariana-trench\/\">Mariana Trench<\/a>, bo tak nazywa si\u0119 owy tool, nie powstawa\u0142 w pr\u00f3\u017cni. Jest on kontynuatorem linii podobnych narz\u0119dzi przeznaczonych odpowiednio do Hacka i Pythona, a jego celem jest wsparcie procesu review kodu \u017ar\u00f3d\u0142owego pod wzgl\u0119dem potencjalnych podatno\u015bci ukrytych w sposobach, w jakich dane przep\u0142ywaj\u0105 przez aplikacj\u0119.&nbsp;<\/p>\n\n\n\n<p>Wspomniany przep\u0142yw danych w MT jest opisany przez \u017ar\u00f3d\u0142o (source) oraz uj\u015bcie (sink). Zadaniem \u201crowu maria\u0144skiego\u201d (jak pi\u0119knie spolszcza si\u0119 nazwa narz\u0119dzia) jest wykrycie wszystkich mo\u017cliwych kombinacji takowych (u\u017cywa on do tego metody zwanej <a href=\"https:\/\/en.wikipedia.org\/wiki\/Abstract_interpretation\">interpretacj\u0105 abstrakcyjn\u0105<\/a>). Troch\u0119 jak w narz\u0119dziach typu ArchUnit, tw\u00f3rcy aplikacji okre\u015bli\u0107 mog\u0105, w jaki spos\u00f3b np. dane osobiste trafiaj\u0105 do systemu i gdzie ostatecznie mog\u0105 si\u0119 znale\u017a\u0107 (np. baza danych), a gdzie nie (np. logi albo data lake). Wad\u0105 procesu jest to, \u017ce powoduje na ten moment spore ilo\u015bci \u201cfa\u0142szywych pozytyw\u00f3w\u201d, ale autorzy narz\u0119dzia zarzekaj\u0105 si\u0119, \u017ce po odpowiednim tuningu mo\u017cna doj\u015b\u0107 do rozs\u0105dnego poziomu. Zysk z szybkiego wykrycia wyciek\u00f3w danych w tym przypadku znacznie przewy\u017csza, wed\u0142ug nich, pewnie manualne kroki.<\/p>\n\n\n\n<p>Co prawda, in\u017cynierowie z Facebooka \u201creklamuj\u0105\u201d u\u017cycie Mariana Trench g\u0142\u00f3wnie w zastosowaniach mobilnych, ale samo narz\u0119dzie jest mocno elastyczne &#8211; mo\u017cna je stosowa\u0107 w wi\u0119kszo\u015bci aplikacji javowych. I chyba warto &#8211; sam Facebook chwali si\u0119, \u017ce ponad po\u0142owa luk bezpiecze\u0144stwa wykrytych w 2021 wy\u0142apana zosta\u0142a w\u0142a\u015bnie przez analiz\u0119 statyczn\u0105.&nbsp;<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">\u0179r\u00f3d\u0142a<\/h4>\n\n\n\n<ul class=\"wp-block-list\"><li><a href=\"https:\/\/engineering.fb.com\/2021\/09\/29\/security\/mariana-trench\/\">Open-sourcing Mariana Trench: Analyzing Android and Java app security in depth<\/a><\/li><\/ul>\n\n\n\n<h2 id=\"2-duze-zmiany-w-serwerze-aplikacyjnym-wildfly\" data-num=2>2. <a href=\"https:\/\/www.wildfly.org\/news\/2021\/09\/27\/WildFly-Changes\/\"><strong>Du\u017ce zmiany w serwerze aplikacyjnym WildFly \ud83e\udeb3<\/strong><\/a><\/h2>\n\n\n\n<p>To teraz czas na obowi\u0105zkowy k\u0105cik Javy EE. W dzisiejszym odcinku &#8211; WildFly.<\/p>\n\n\n\n<p>Tw\u00f3rcy tego jednego z najwa\u017cniejszych serwer\u00f3w aplikacyjnych zapowiedzieli du\u017ce zmiany dla projektu. Tak jak JDK 17 dokona\u0142 deprekacji wsparcia dla Security Managera, tak tw\u00f3rcy WildFly chc\u0105, aby w jego 25. wersji domy\u015bln\u0105 warstw\u0105 bezpiecze\u0144stwa sta\u0142 si\u0119 WildFly Elytron, czyli wprowadzona kilka lat temu (w WildFly 11) nowocze\u015bniejsza warstwa bezpiecze\u0144stwa. Co prawda Elytron od dawna by\u0142 rozwi\u0105zaniem zalecanym, o tyle do tej pory zapewniana by\u0142a pe\u0142na kompatybilno\u015b\u0107 ze starszymi metodami, maj\u0105cymi swoje korzenie jeszcze w pierwszych wydaniach JBossa. Okazuje si\u0119 jednak, \u017ce usuni\u0119cie Security Managera namiesza\u0142o r\u00f3wnie\u017c w \u015bwiecie WildFly i niemo\u017cliwym jest utrzymanie wsparcia dla starego rozwi\u0105zania, opartego w\u0142a\u015bnie na zdeprawowanej funkcjonalno\u015bci Javy. Po raz kolejny objawia si\u0119, jak du\u017cym problemem dla kompatybilno\u015bci wstecznej (a mo\u017ce szans\u0105 na pozbycie si\u0119 jej?) by\u0142y zmiany przyniesione przez ostatnie wydanie JDK.<\/p>\n\n\n\n<p>Opr\u00f3cz powy\u017cszego, zapowiedziano r\u00f3wnie\u017c przymiarki do wsparcia Jakarty EE 10. To ma nast\u0105pi\u0107 prawdopodobnie pocz\u0105tkiem przysz\u0142ego roku, a tw\u00f3rcy ostrz\u0105 sobie z\u0119by ju\u017c, aby \u201cdziesi\u0105tka\u201d by\u0142a g\u0142\u00f3wn\u0105 gwiazd\u0105 wydania WildFly 28. Co jednak nawet wa\u017cniejsze, prawdopodobnie oznacza\u0142o to b\u0119dzie ca\u0142kowit\u0105 rezygnacj\u0119 ze wsparcia Jakarta EE 8. Wyrok jeszcze nie zapad\u0142, ale mo\u017cliwo\u015b\u0107 pozbycia si\u0119 ca\u0142ego historycznego namespace javax.* jest czym\u015b nad wyraz kusz\u0105cym.<\/p>\n\n\n\n<p>To jednak nie jedyna \u201c\u00f3semka\u201d, kt\u00f3rej wsparcia tw\u00f3rcy chc\u0105 si\u0119 pozby\u0107,&nbsp; Rozwa\u017caj\u0105 te\u017c powoli odci\u0119cie si\u0119 od JDK 8. Je\u017celi zdecydowaliby si\u0119 na ten krok, mieliby\u015bmy do czynienia z kolejnym kluczowym dla ekosystemu projektem, kt\u00f3ry postawi\u0142 krzy\u017cyk na Java SE 8.&nbsp;<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/06\/img_62a88daaad5f2.gif\" alt=\"\"\/><figcaption>Tutaj warto wspomnie\u0107, \u017ce na podobny krok <a href=\"https:\/\/camel.apache.org\/blog\/2021\/09\/eol-java8\/\">zdecydowa\u0142 si\u0119 ostatnio r\u00f3wnie\u017c Apache Camel<\/a>. Wida\u0107, \u017ce po ostatniej mocnej deklaracji ze strony Springa, dni ostatniej nieposiadaj\u0105cej modu\u0142\u00f3w Javy s\u0105 policzone.<\/figcaption><\/figure><\/div>\n\n\n<h4 class=\"wp-block-heading\">\u0179r\u00f3d\u0142a<\/h4>\n\n\n\n<ul class=\"wp-block-list\"><li><a href=\"https:\/\/www.wildfly.org\/news\/2021\/09\/27\/WildFly-Changes\/\">Changes are coming to WildFly<\/a><\/li><li><a href=\"https:\/\/camel.apache.org\/blog\/2021\/09\/eol-java8\/\">Java 8 to be dropped by end of 2021 &#8211; Apache Camel<\/a><\/li><\/ul>\n\n\n\n<h2 id=\"3-wraz-z-jdk-18-utf-8-staje-sie-domyslnym-kodowaniem-znakow\" data-num=3>3. <a href=\"https:\/\/inside.java\/2021\/10\/04\/the-default-charset-jep400\/\">Wraz z JDK 18, UTF-8 staje si\u0119 domy\u015blnym kodowaniem znak\u00f3w<\/a> \u2328\ufe0f<\/h2>\n\n\n\n<p>A na koniec &#8211; JEP o bardzo \u0142adnym, okr\u0105g\u0142ym numerze 400. Wprowadza on wreszcie UTF-8 do Javy domy\u015blny spos\u00f3b kodowania znak\u00f3w.<\/p>\n\n\n\n<p>Pewnie m\u0142odsi sta\u017cem programi\u015bci czytaj\u0105cy to opracowanie mog\u0105 nie pami\u0119ta\u0107 tych czas\u00f3w, ale kiedy\u015b kwestia kodowania znak\u00f3w w dokumentach nie by\u0142a oczywista. Dwa standardy, walczy\u0142y o dominacj\u0119 rynkow\u0105. Do tego wszystkiego dok\u0142ada si\u0119 jeszcze Windows, kt\u00f3ry to posiada\u0142 w\u0142asny, osobisty \u201cstandard\u201d. W tym \u015bwiecie, u\u017cywanie np. polskich znak\u00f3w nie by\u0142o czym\u015b oczywistym, a Grzegrz\u00f3\u0142ka by\u0142a najlepszym przyjacielem dewelopera.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/06\/img_62a88dac68632.jpg\" alt=\"\" width=\"517\" height=\"499\"\/><figcaption>Og\u00f3lnie, je\u017celi jeste\u015bcie zainteresowani histori\u0105 system\u00f3w kodowania znak\u00f3w &#8211; tutaj znajdziecie <a href=\"https:\/\/thedatastudio.net\/history_of_character_encoding.htm\">dobry artyku\u0142<\/a> na ten temat.<\/figcaption><\/figure><\/div>\n\n\n<p>Dzisiaj \u017cyjemy w troch\u0119 innych czasach &#8211; dekodowanie znak\u00f3w wydaje si\u0119 by\u0107 rozwi\u0105zanym problemem. Globalizacja (i po cz\u0119\u015bci te\u017c rozw\u00f3j hardware) sprawi\u0142y, \u017ce zamiast wielu lokalnych standard\u00f3w mamy obecnie jeden &#8211; Unicode Transformation Format, czyli popularny UTF, potrafi\u0105cy reprezentowa\u0107 znaki z wszystkich j\u0119zyk\u00f3w i dialekt\u00f3w, a dodatkowo wiele wi\u0119cej, jak kochane przez wszystkich emoji. W zwi\u0105zku z faktem, \u017ce wiele j\u0119zyk\u00f3w programowania postanowi\u0142o ju\u017c dawno uczyni\u0107 go rozwi\u0105zaniem domy\u015blnym, na podobny krok zdecydowa\u0142a si\u0119 r\u00f3wnie\u017c Java. Od wydania 18 (kt\u00f3re to zobaczymy w marcu), domy\u015bln\u0105 warto\u015bci\u0105 kodowania znak\u00f3w b\u0119dzie UTF-8, a nie (jak dotychczas) default systemowy.<\/p>\n\n\n\n<p>Opublikowany z tej okazji <a href=\"https:\/\/inside.java\/2021\/10\/04\/the-default-charset-jep400\/\">artyku\u0142 na inside.java<\/a> przeprowadza czytelnika przez potencjalne problemy, jakie mog\u0105 z tego powodu nast\u0105pi\u0107 i pokazuje, w jaki spos\u00f3b dokona\u0107 udanej migracji. Je\u015bli chcecie si\u0119 upewni\u0107, czy wspomniana zmiana nie wp\u0142ynie na Was negatywnie &#8211; zach\u0119cam do lektury.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">\u0179r\u00f3d\u0142a<\/h4>\n\n\n\n<ul class=\"wp-block-list\"><li><a href=\"https:\/\/thedatastudio.net\/history_of_character_encoding.htm\">A Short History Of Character Encoding<\/a><\/li><li><a href=\"https:\/\/inside.java\/2021\/10\/04\/the-default-charset-jep400\/\">JEP 400 and the Default Charset<\/a><\/li><\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Wszyscy pisz\u0105 dzi\u015b o Facebooku, to my te\u017c. Ale je\u015bli jeste\u015bcie znudzeni tematem wczorajszej awarii (do tej wr\u00f3cimy sobie w sobot\u0119, jak opadnie kurz po bitwie), to mamy dla was facebookowy linter. A tak\u017ce informacje o zmianach w WildFly oraz zmianie domy\u015blnego kodowania Javy. <\/p>\n","protected":false},"author":10,"featured_media":7710,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[259],"tags":[],"class_list":["post-10072","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-jvm-pl"],"acf":{"estimated_reading_time":"5","weekly_summary":true,"feature_image_blog":false,"push_notification_image":false,"feature_image_visible":false},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.0 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>JVM Tuesday vol.58 \u2013 Mariana Trench, WildFly, UTF-8 - Vived<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/vived.io\/pl\/jvm-tuesday-vol-58-mariana-trench-wildfly-utf-8\/\" \/>\n<meta property=\"og:locale\" content=\"pl_PL\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"JVM Tuesday vol.58 \u2013 Mariana Trench, WildFly, UTF-8 - Vived\" \/>\n<meta property=\"og:description\" content=\"Wszyscy pisz\u0105 dzi\u015b o Facebooku, to my te\u017c. Ale je\u015bli jeste\u015bcie znudzeni tematem wczorajszej awarii (do tej wr\u00f3cimy sobie w sobot\u0119, jak opadnie kurz po bitwie), to mamy dla was facebookowy linter. A tak\u017ce informacje o zmianach w WildFly oraz zmianie domy\u015blnego kodowania Javy.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/vived.io\/pl\/jvm-tuesday-vol-58-mariana-trench-wildfly-utf-8\/\" \/>\n<meta property=\"og:site_name\" content=\"Vived\" \/>\n<meta property=\"article:published_time\" content=\"2021-10-05T13:44:23+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-09-19T11:10:47+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/10\/Screenshot-2021-10-05-at-15.43.06.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1787\" \/>\n\t<meta property=\"og:image:height\" content=\"931\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Artur Skowro\u0144ski\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/vived.io\/pl\/jvm-tuesday-vol-58-mariana-trench-wildfly-utf-8\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/vived.io\/pl\/jvm-tuesday-vol-58-mariana-trench-wildfly-utf-8\/\"},\"author\":{\"name\":\"Artur Skowro\u0144ski\",\"@id\":\"https:\/\/vived.io\/pl\/#\/schema\/person\/0eb0878110cb27edfbfe46e841fe6db3\"},\"headline\":\"JVM Tuesday vol.58 \u2013 Mariana Trench, WildFly, UTF-8\",\"datePublished\":\"2021-10-05T13:44:23+00:00\",\"dateModified\":\"2022-09-19T11:10:47+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/vived.io\/pl\/jvm-tuesday-vol-58-mariana-trench-wildfly-utf-8\/\"},\"wordCount\":1023,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/vived.io\/pl\/#organization\"},\"image\":{\"@id\":\"https:\/\/vived.io\/pl\/jvm-tuesday-vol-58-mariana-trench-wildfly-utf-8\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/vived.io\/wp-content\/uploads\/2021\/09\/JVM-1-2.png\",\"articleSection\":[\"JVM\"],\"inLanguage\":\"pl-PL\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/vived.io\/pl\/jvm-tuesday-vol-58-mariana-trench-wildfly-utf-8\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/vived.io\/pl\/jvm-tuesday-vol-58-mariana-trench-wildfly-utf-8\/\",\"url\":\"https:\/\/vived.io\/pl\/jvm-tuesday-vol-58-mariana-trench-wildfly-utf-8\/\",\"name\":\"JVM Tuesday vol.58 \u2013 Mariana Trench, WildFly, UTF-8 - Vived\",\"isPartOf\":{\"@id\":\"https:\/\/vived.io\/pl\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/vived.io\/pl\/jvm-tuesday-vol-58-mariana-trench-wildfly-utf-8\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/vived.io\/pl\/jvm-tuesday-vol-58-mariana-trench-wildfly-utf-8\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/vived.io\/wp-content\/uploads\/2021\/09\/JVM-1-2.png\",\"datePublished\":\"2021-10-05T13:44:23+00:00\",\"dateModified\":\"2022-09-19T11:10:47+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/vived.io\/pl\/jvm-tuesday-vol-58-mariana-trench-wildfly-utf-8\/#breadcrumb\"},\"inLanguage\":\"pl-PL\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/vived.io\/pl\/jvm-tuesday-vol-58-mariana-trench-wildfly-utf-8\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\/\/vived.io\/pl\/jvm-tuesday-vol-58-mariana-trench-wildfly-utf-8\/#primaryimage\",\"url\":\"https:\/\/vived.io\/wp-content\/uploads\/2021\/09\/JVM-1-2.png\",\"contentUrl\":\"https:\/\/vived.io\/wp-content\/uploads\/2021\/09\/JVM-1-2.png\",\"width\":2000,\"height\":1210},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/vived.io\/pl\/jvm-tuesday-vol-58-mariana-trench-wildfly-utf-8\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Strona g\u0142\u00f3wna\",\"item\":\"https:\/\/vived.io\/pl\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"JVM Tuesday vol.58 \u2013 Mariana Trench, WildFly, UTF-8\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/vived.io\/pl\/#website\",\"url\":\"https:\/\/vived.io\/pl\/\",\"name\":\"Vived\",\"description\":\"platform empowering IT people and technology companies to synergic growth\",\"publisher\":{\"@id\":\"https:\/\/vived.io\/pl\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/vived.io\/pl\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pl-PL\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/vived.io\/pl\/#organization\",\"name\":\"Vived\",\"url\":\"https:\/\/vived.io\/pl\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\/\/vived.io\/pl\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/vived.io\/wp-content\/uploads\/2020\/03\/logo_vived_color.png\",\"contentUrl\":\"https:\/\/vived.io\/wp-content\/uploads\/2020\/03\/logo_vived_color.png\",\"width\":136,\"height\":45,\"caption\":\"Vived\"},\"image\":{\"@id\":\"https:\/\/vived.io\/pl\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/vived.io\/pl\/#\/schema\/person\/0eb0878110cb27edfbfe46e841fe6db3\",\"name\":\"Artur Skowro\u0144ski\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\/\/vived.io\/pl\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/29055786486c8b9dc1507f2744221c5bdb8d7ef6e6217ced0326dd3296aea6ed?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/29055786486c8b9dc1507f2744221c5bdb8d7ef6e6217ced0326dd3296aea6ed?s=96&d=mm&r=g\",\"caption\":\"Artur Skowro\u0144ski\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"JVM Tuesday vol.58 \u2013 Mariana Trench, WildFly, UTF-8 - Vived","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/vived.io\/pl\/jvm-tuesday-vol-58-mariana-trench-wildfly-utf-8\/","og_locale":"pl_PL","og_type":"article","og_title":"JVM Tuesday vol.58 \u2013 Mariana Trench, WildFly, UTF-8 - Vived","og_description":"Wszyscy pisz\u0105 dzi\u015b o Facebooku, to my te\u017c. Ale je\u015bli jeste\u015bcie znudzeni tematem wczorajszej awarii (do tej wr\u00f3cimy sobie w sobot\u0119, jak opadnie kurz po bitwie), to mamy dla was facebookowy linter. A tak\u017ce informacje o zmianach w WildFly oraz zmianie domy\u015blnego kodowania Javy.","og_url":"https:\/\/vived.io\/pl\/jvm-tuesday-vol-58-mariana-trench-wildfly-utf-8\/","og_site_name":"Vived","article_published_time":"2021-10-05T13:44:23+00:00","article_modified_time":"2022-09-19T11:10:47+00:00","og_image":[{"width":1787,"height":931,"url":"https:\/\/vived.io\/wp-content\/uploads\/2021\/10\/Screenshot-2021-10-05-at-15.43.06.png","type":"image\/png"}],"author":"Artur Skowro\u0144ski","twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/vived.io\/pl\/jvm-tuesday-vol-58-mariana-trench-wildfly-utf-8\/#article","isPartOf":{"@id":"https:\/\/vived.io\/pl\/jvm-tuesday-vol-58-mariana-trench-wildfly-utf-8\/"},"author":{"name":"Artur Skowro\u0144ski","@id":"https:\/\/vived.io\/pl\/#\/schema\/person\/0eb0878110cb27edfbfe46e841fe6db3"},"headline":"JVM Tuesday vol.58 \u2013 Mariana Trench, WildFly, UTF-8","datePublished":"2021-10-05T13:44:23+00:00","dateModified":"2022-09-19T11:10:47+00:00","mainEntityOfPage":{"@id":"https:\/\/vived.io\/pl\/jvm-tuesday-vol-58-mariana-trench-wildfly-utf-8\/"},"wordCount":1023,"commentCount":0,"publisher":{"@id":"https:\/\/vived.io\/pl\/#organization"},"image":{"@id":"https:\/\/vived.io\/pl\/jvm-tuesday-vol-58-mariana-trench-wildfly-utf-8\/#primaryimage"},"thumbnailUrl":"https:\/\/vived.io\/wp-content\/uploads\/2021\/09\/JVM-1-2.png","articleSection":["JVM"],"inLanguage":"pl-PL","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/vived.io\/pl\/jvm-tuesday-vol-58-mariana-trench-wildfly-utf-8\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/vived.io\/pl\/jvm-tuesday-vol-58-mariana-trench-wildfly-utf-8\/","url":"https:\/\/vived.io\/pl\/jvm-tuesday-vol-58-mariana-trench-wildfly-utf-8\/","name":"JVM Tuesday vol.58 \u2013 Mariana Trench, WildFly, UTF-8 - Vived","isPartOf":{"@id":"https:\/\/vived.io\/pl\/#website"},"primaryImageOfPage":{"@id":"https:\/\/vived.io\/pl\/jvm-tuesday-vol-58-mariana-trench-wildfly-utf-8\/#primaryimage"},"image":{"@id":"https:\/\/vived.io\/pl\/jvm-tuesday-vol-58-mariana-trench-wildfly-utf-8\/#primaryimage"},"thumbnailUrl":"https:\/\/vived.io\/wp-content\/uploads\/2021\/09\/JVM-1-2.png","datePublished":"2021-10-05T13:44:23+00:00","dateModified":"2022-09-19T11:10:47+00:00","breadcrumb":{"@id":"https:\/\/vived.io\/pl\/jvm-tuesday-vol-58-mariana-trench-wildfly-utf-8\/#breadcrumb"},"inLanguage":"pl-PL","potentialAction":[{"@type":"ReadAction","target":["https:\/\/vived.io\/pl\/jvm-tuesday-vol-58-mariana-trench-wildfly-utf-8\/"]}]},{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/vived.io\/pl\/jvm-tuesday-vol-58-mariana-trench-wildfly-utf-8\/#primaryimage","url":"https:\/\/vived.io\/wp-content\/uploads\/2021\/09\/JVM-1-2.png","contentUrl":"https:\/\/vived.io\/wp-content\/uploads\/2021\/09\/JVM-1-2.png","width":2000,"height":1210},{"@type":"BreadcrumbList","@id":"https:\/\/vived.io\/pl\/jvm-tuesday-vol-58-mariana-trench-wildfly-utf-8\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Strona g\u0142\u00f3wna","item":"https:\/\/vived.io\/pl\/"},{"@type":"ListItem","position":2,"name":"JVM Tuesday vol.58 \u2013 Mariana Trench, WildFly, UTF-8"}]},{"@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. <a href=\"https:\/\/engineering.fb.com\/2021\/09\/29\/security\/mariana-trench\/\">\u201cR\u00f3w Maria\u0144ski\u201d - linter security od Facebooka<\/a> \ud83d\ude93 <\/h2>\n","innerContent":["\n<h2>1. <a href=\"https:\/\/engineering.fb.com\/2021\/09\/29\/security\/mariana-trench\/\">\u201cR\u00f3w Maria\u0144ski\u201d - linter security od Facebooka<\/a> \ud83d\ude93 <\/h2>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Zacznijmy od Facebooka. Jego wczorajsz\u0105 wielk\u0105 awari\u0105 zajmiemy si\u0119 w najbli\u017csz\u0105 sobot\u0119 (ju\u017c powoli zbieramy materia\u0142y t\u0142umacz\u0105ce, co tak naprawd\u0119 si\u0119 wydarzy\u0142o), a w mi\u0119dzyczasie chcieliby\u015bmy powiedzie\u0107 o firmie Marka Zuckerberga co\u015b pozytywnego (nie kopie si\u0119 w ko\u0144cu le\u017c\u0105cego). Ot, cho\u0107by to, \u017ce podzieli\u0142a si\u0119 ze spo\u0142eczno\u015bci\u0105 nowym narz\u0119dziem do analizy statycznej kodu pod wzgl\u0119dem luk bezpiecze\u0144stwa.<\/p>\n","innerContent":["\n<p>Zacznijmy od Facebooka. Jego wczorajsz\u0105 wielk\u0105 awari\u0105 zajmiemy si\u0119 w najbli\u017csz\u0105 sobot\u0119 (ju\u017c powoli zbieramy materia\u0142y t\u0142umacz\u0105ce, co tak naprawd\u0119 si\u0119 wydarzy\u0142o), a w mi\u0119dzyczasie chcieliby\u015bmy powiedzie\u0107 o firmie Marka Zuckerberga co\u015b pozytywnego (nie kopie si\u0119 w ko\u0144cu le\u017c\u0105cego). Ot, cho\u0107by to, \u017ce podzieli\u0142a si\u0119 ze spo\u0142eczno\u015bci\u0105 nowym narz\u0119dziem do analizy statycznej kodu pod wzgl\u0119dem luk bezpiecze\u0144stwa.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/image","attrs":{"align":"center","width":480,"height":270},"innerBlocks":[],"innerHTML":"\n<figure class=\"wp-block-image aligncenter is-resized\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/06\/img_62a88da95acdd.gif\" alt=\"\" width=\"480\" height=\"270\"\/><figcaption>We need to go deeper<\/figcaption><\/figure>\n","innerContent":["\n<figure class=\"wp-block-image aligncenter is-resized\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/06\/img_62a88da95acdd.gif\" alt=\"\" width=\"480\" height=\"270\"\/><figcaption>We need to go deeper<\/figcaption><\/figure>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p><a href=\"https:\/\/engineering.fb.com\/2021\/09\/29\/security\/mariana-trench\/\">Mariana Trench<\/a>, bo tak nazywa si\u0119 owy tool, nie powstawa\u0142 w pr\u00f3\u017cni. Jest on kontynuatorem linii podobnych narz\u0119dzi przeznaczonych odpowiednio do Hacka i Pythona, a jego celem jest wsparcie procesu review kodu \u017ar\u00f3d\u0142owego pod wzgl\u0119dem potencjalnych podatno\u015bci ukrytych w sposobach, w jakich dane przep\u0142ywaj\u0105 przez aplikacj\u0119.&nbsp;<\/p>\n","innerContent":["\n<p><a href=\"https:\/\/engineering.fb.com\/2021\/09\/29\/security\/mariana-trench\/\">Mariana Trench<\/a>, bo tak nazywa si\u0119 owy tool, nie powstawa\u0142 w pr\u00f3\u017cni. Jest on kontynuatorem linii podobnych narz\u0119dzi przeznaczonych odpowiednio do Hacka i Pythona, a jego celem jest wsparcie procesu review kodu \u017ar\u00f3d\u0142owego pod wzgl\u0119dem potencjalnych podatno\u015bci ukrytych w sposobach, w jakich dane przep\u0142ywaj\u0105 przez aplikacj\u0119.&nbsp;<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Wspomniany przep\u0142yw danych w MT jest opisany przez \u017ar\u00f3d\u0142o (source) oraz uj\u015bcie (sink). Zadaniem \u201crowu maria\u0144skiego\u201d (jak pi\u0119knie spolszcza si\u0119 nazwa narz\u0119dzia) jest wykrycie wszystkich mo\u017cliwych kombinacji takowych (u\u017cywa on do tego metody zwanej <a href=\"https:\/\/en.wikipedia.org\/wiki\/Abstract_interpretation\">interpretacj\u0105 abstrakcyjn\u0105<\/a>). Troch\u0119 jak w narz\u0119dziach typu ArchUnit, tw\u00f3rcy aplikacji okre\u015bli\u0107 mog\u0105, w jaki spos\u00f3b np. dane osobiste trafiaj\u0105 do systemu i gdzie ostatecznie mog\u0105 si\u0119 znale\u017a\u0107 (np. baza danych), a gdzie nie (np. logi albo data lake). Wad\u0105 procesu jest to, \u017ce powoduje na ten moment spore ilo\u015bci \u201cfa\u0142szywych pozytyw\u00f3w\u201d, ale autorzy narz\u0119dzia zarzekaj\u0105 si\u0119, \u017ce po odpowiednim tuningu mo\u017cna doj\u015b\u0107 do rozs\u0105dnego poziomu. Zysk z szybkiego wykrycia wyciek\u00f3w danych w tym przypadku znacznie przewy\u017csza, wed\u0142ug nich, pewnie manualne kroki.<\/p>\n","innerContent":["\n<p>Wspomniany przep\u0142yw danych w MT jest opisany przez \u017ar\u00f3d\u0142o (source) oraz uj\u015bcie (sink). Zadaniem \u201crowu maria\u0144skiego\u201d (jak pi\u0119knie spolszcza si\u0119 nazwa narz\u0119dzia) jest wykrycie wszystkich mo\u017cliwych kombinacji takowych (u\u017cywa on do tego metody zwanej <a href=\"https:\/\/en.wikipedia.org\/wiki\/Abstract_interpretation\">interpretacj\u0105 abstrakcyjn\u0105<\/a>). Troch\u0119 jak w narz\u0119dziach typu ArchUnit, tw\u00f3rcy aplikacji okre\u015bli\u0107 mog\u0105, w jaki spos\u00f3b np. dane osobiste trafiaj\u0105 do systemu i gdzie ostatecznie mog\u0105 si\u0119 znale\u017a\u0107 (np. baza danych), a gdzie nie (np. logi albo data lake). Wad\u0105 procesu jest to, \u017ce powoduje na ten moment spore ilo\u015bci \u201cfa\u0142szywych pozytyw\u00f3w\u201d, ale autorzy narz\u0119dzia zarzekaj\u0105 si\u0119, \u017ce po odpowiednim tuningu mo\u017cna doj\u015b\u0107 do rozs\u0105dnego poziomu. Zysk z szybkiego wykrycia wyciek\u00f3w danych w tym przypadku znacznie przewy\u017csza, wed\u0142ug nich, pewnie manualne kroki.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Co prawda, in\u017cynierowie z Facebooka \u201creklamuj\u0105\u201d u\u017cycie Mariana Trench g\u0142\u00f3wnie w zastosowaniach mobilnych, ale samo narz\u0119dzie jest mocno elastyczne - mo\u017cna je stosowa\u0107 w wi\u0119kszo\u015bci aplikacji javowych. I chyba warto - sam Facebook chwali si\u0119, \u017ce ponad po\u0142owa luk bezpiecze\u0144stwa wykrytych w 2021 wy\u0142apana zosta\u0142a w\u0142a\u015bnie przez analiz\u0119 statyczn\u0105.&nbsp;<\/p>\n","innerContent":["\n<p>Co prawda, in\u017cynierowie z Facebooka \u201creklamuj\u0105\u201d u\u017cycie Mariana Trench g\u0142\u00f3wnie w zastosowaniach mobilnych, ale samo narz\u0119dzie jest mocno elastyczne - mo\u017cna je stosowa\u0107 w wi\u0119kszo\u015bci aplikacji javowych. I chyba warto - sam Facebook chwali si\u0119, \u017ce ponad po\u0142owa luk bezpiecze\u0144stwa wykrytych w 2021 wy\u0142apana zosta\u0142a w\u0142a\u015bnie przez analiz\u0119 statyczn\u0105.&nbsp;<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/heading","attrs":{"level":4},"innerBlocks":[],"innerHTML":"\n<h4>\u0179r\u00f3d\u0142a<\/h4>\n","innerContent":["\n<h4>\u0179r\u00f3d\u0142a<\/h4>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/list","attrs":[],"innerBlocks":[],"innerHTML":"\n<ul><li><a href=\"https:\/\/engineering.fb.com\/2021\/09\/29\/security\/mariana-trench\/\">Open-sourcing Mariana Trench: Analyzing Android and Java app security in depth<\/a><\/li><\/ul>\n","innerContent":["\n<ul><li><a href=\"https:\/\/engineering.fb.com\/2021\/09\/29\/security\/mariana-trench\/\">Open-sourcing Mariana Trench: Analyzing Android and Java app security in depth<\/a><\/li><\/ul>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/heading","attrs":[],"innerBlocks":[],"innerHTML":"\n<h2>2. <a href=\"https:\/\/www.wildfly.org\/news\/2021\/09\/27\/WildFly-Changes\/\"><strong>Du\u017ce zmiany w serwerze aplikacyjnym WildFly \ud83e\udeb3<\/strong><\/a><\/h2>\n","innerContent":["\n<h2>2. <a href=\"https:\/\/www.wildfly.org\/news\/2021\/09\/27\/WildFly-Changes\/\"><strong>Du\u017ce zmiany w serwerze aplikacyjnym WildFly \ud83e\udeb3<\/strong><\/a><\/h2>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>To teraz czas na obowi\u0105zkowy k\u0105cik Javy EE. W dzisiejszym odcinku - WildFly.<\/p>\n","innerContent":["\n<p>To teraz czas na obowi\u0105zkowy k\u0105cik Javy EE. W dzisiejszym odcinku - WildFly.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Tw\u00f3rcy tego jednego z najwa\u017cniejszych serwer\u00f3w aplikacyjnych zapowiedzieli du\u017ce zmiany dla projektu. Tak jak JDK 17 dokona\u0142 deprekacji wsparcia dla Security Managera, tak tw\u00f3rcy WildFly chc\u0105, aby w jego 25. wersji domy\u015bln\u0105 warstw\u0105 bezpiecze\u0144stwa sta\u0142 si\u0119 WildFly Elytron, czyli wprowadzona kilka lat temu (w WildFly 11) nowocze\u015bniejsza warstwa bezpiecze\u0144stwa. Co prawda Elytron od dawna by\u0142 rozwi\u0105zaniem zalecanym, o tyle do tej pory zapewniana by\u0142a pe\u0142na kompatybilno\u015b\u0107 ze starszymi metodami, maj\u0105cymi swoje korzenie jeszcze w pierwszych wydaniach JBossa. Okazuje si\u0119 jednak, \u017ce usuni\u0119cie Security Managera namiesza\u0142o r\u00f3wnie\u017c w \u015bwiecie WildFly i niemo\u017cliwym jest utrzymanie wsparcia dla starego rozwi\u0105zania, opartego w\u0142a\u015bnie na zdeprawowanej funkcjonalno\u015bci Javy. Po raz kolejny objawia si\u0119, jak du\u017cym problemem dla kompatybilno\u015bci wstecznej (a mo\u017ce szans\u0105 na pozbycie si\u0119 jej?) by\u0142y zmiany przyniesione przez ostatnie wydanie JDK.<\/p>\n","innerContent":["\n<p>Tw\u00f3rcy tego jednego z najwa\u017cniejszych serwer\u00f3w aplikacyjnych zapowiedzieli du\u017ce zmiany dla projektu. Tak jak JDK 17 dokona\u0142 deprekacji wsparcia dla Security Managera, tak tw\u00f3rcy WildFly chc\u0105, aby w jego 25. wersji domy\u015bln\u0105 warstw\u0105 bezpiecze\u0144stwa sta\u0142 si\u0119 WildFly Elytron, czyli wprowadzona kilka lat temu (w WildFly 11) nowocze\u015bniejsza warstwa bezpiecze\u0144stwa. Co prawda Elytron od dawna by\u0142 rozwi\u0105zaniem zalecanym, o tyle do tej pory zapewniana by\u0142a pe\u0142na kompatybilno\u015b\u0107 ze starszymi metodami, maj\u0105cymi swoje korzenie jeszcze w pierwszych wydaniach JBossa. Okazuje si\u0119 jednak, \u017ce usuni\u0119cie Security Managera namiesza\u0142o r\u00f3wnie\u017c w \u015bwiecie WildFly i niemo\u017cliwym jest utrzymanie wsparcia dla starego rozwi\u0105zania, opartego w\u0142a\u015bnie na zdeprawowanej funkcjonalno\u015bci Javy. Po raz kolejny objawia si\u0119, jak du\u017cym problemem dla kompatybilno\u015bci wstecznej (a mo\u017ce szans\u0105 na pozbycie si\u0119 jej?) by\u0142y zmiany przyniesione przez ostatnie wydanie JDK.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Opr\u00f3cz powy\u017cszego, zapowiedziano r\u00f3wnie\u017c przymiarki do wsparcia Jakarty EE 10. To ma nast\u0105pi\u0107 prawdopodobnie pocz\u0105tkiem przysz\u0142ego roku, a tw\u00f3rcy ostrz\u0105 sobie z\u0119by ju\u017c, aby \u201cdziesi\u0105tka\u201d by\u0142a g\u0142\u00f3wn\u0105 gwiazd\u0105 wydania WildFly 28. Co jednak nawet wa\u017cniejsze, prawdopodobnie oznacza\u0142o to b\u0119dzie ca\u0142kowit\u0105 rezygnacj\u0119 ze wsparcia Jakarta EE 8. Wyrok jeszcze nie zapad\u0142, ale mo\u017cliwo\u015b\u0107 pozbycia si\u0119 ca\u0142ego historycznego namespace javax.* jest czym\u015b nad wyraz kusz\u0105cym.<\/p>\n","innerContent":["\n<p>Opr\u00f3cz powy\u017cszego, zapowiedziano r\u00f3wnie\u017c przymiarki do wsparcia Jakarty EE 10. To ma nast\u0105pi\u0107 prawdopodobnie pocz\u0105tkiem przysz\u0142ego roku, a tw\u00f3rcy ostrz\u0105 sobie z\u0119by ju\u017c, aby \u201cdziesi\u0105tka\u201d by\u0142a g\u0142\u00f3wn\u0105 gwiazd\u0105 wydania WildFly 28. Co jednak nawet wa\u017cniejsze, prawdopodobnie oznacza\u0142o to b\u0119dzie ca\u0142kowit\u0105 rezygnacj\u0119 ze wsparcia Jakarta EE 8. Wyrok jeszcze nie zapad\u0142, ale mo\u017cliwo\u015b\u0107 pozbycia si\u0119 ca\u0142ego historycznego namespace javax.* jest czym\u015b nad wyraz kusz\u0105cym.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>To jednak nie jedyna \u201c\u00f3semka\u201d, kt\u00f3rej wsparcia tw\u00f3rcy chc\u0105 si\u0119 pozby\u0107,&nbsp; Rozwa\u017caj\u0105 te\u017c powoli odci\u0119cie si\u0119 od JDK 8. Je\u017celi zdecydowaliby si\u0119 na ten krok, mieliby\u015bmy do czynienia z kolejnym kluczowym dla ekosystemu projektem, kt\u00f3ry postawi\u0142 krzy\u017cyk na Java SE 8.&nbsp;<\/p>\n","innerContent":["\n<p>To jednak nie jedyna \u201c\u00f3semka\u201d, kt\u00f3rej wsparcia tw\u00f3rcy chc\u0105 si\u0119 pozby\u0107,&nbsp; Rozwa\u017caj\u0105 te\u017c powoli odci\u0119cie si\u0119 od JDK 8. Je\u017celi zdecydowaliby si\u0119 na ten krok, mieliby\u015bmy do czynienia z kolejnym kluczowym dla ekosystemu projektem, kt\u00f3ry postawi\u0142 krzy\u017cyk na Java SE 8.&nbsp;<\/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\/06\/img_62a88daaad5f2.gif\" alt=\"\"\/><figcaption>Tutaj warto wspomnie\u0107, \u017ce na podobny krok <a href=\"https:\/\/camel.apache.org\/blog\/2021\/09\/eol-java8\/\">zdecydowa\u0142 si\u0119 ostatnio r\u00f3wnie\u017c Apache Camel<\/a>. Wida\u0107, \u017ce po ostatniej mocnej deklaracji ze strony Springa, dni ostatniej nieposiadaj\u0105cej modu\u0142\u00f3w Javy s\u0105 policzone.<\/figcaption><\/figure>\n","innerContent":["\n<figure class=\"wp-block-image aligncenter\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/06\/img_62a88daaad5f2.gif\" alt=\"\"\/><figcaption>Tutaj warto wspomnie\u0107, \u017ce na podobny krok <a href=\"https:\/\/camel.apache.org\/blog\/2021\/09\/eol-java8\/\">zdecydowa\u0142 si\u0119 ostatnio r\u00f3wnie\u017c Apache Camel<\/a>. Wida\u0107, \u017ce po ostatniej mocnej deklaracji ze strony Springa, dni ostatniej nieposiadaj\u0105cej modu\u0142\u00f3w Javy s\u0105 policzone.<\/figcaption><\/figure>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/heading","attrs":{"level":4},"innerBlocks":[],"innerHTML":"\n<h4>\u0179r\u00f3d\u0142a<\/h4>\n","innerContent":["\n<h4>\u0179r\u00f3d\u0142a<\/h4>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/list","attrs":[],"innerBlocks":[],"innerHTML":"\n<ul><li><a href=\"https:\/\/www.wildfly.org\/news\/2021\/09\/27\/WildFly-Changes\/\">Changes are coming to WildFly<\/a><\/li><li><a href=\"https:\/\/camel.apache.org\/blog\/2021\/09\/eol-java8\/\">Java 8 to be dropped by end of 2021 - Apache Camel<\/a><\/li><\/ul>\n","innerContent":["\n<ul><li><a href=\"https:\/\/www.wildfly.org\/news\/2021\/09\/27\/WildFly-Changes\/\">Changes are coming to WildFly<\/a><\/li><li><a href=\"https:\/\/camel.apache.org\/blog\/2021\/09\/eol-java8\/\">Java 8 to be dropped by end of 2021 - Apache Camel<\/a><\/li><\/ul>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/heading","attrs":[],"innerBlocks":[],"innerHTML":"\n<h2>3. <a href=\"https:\/\/inside.java\/2021\/10\/04\/the-default-charset-jep400\/\">Wraz z JDK 18, UTF-8 staje si\u0119 domy\u015blnym kodowaniem znak\u00f3w<\/a> \u2328\ufe0f<\/h2>\n","innerContent":["\n<h2>3. <a href=\"https:\/\/inside.java\/2021\/10\/04\/the-default-charset-jep400\/\">Wraz z JDK 18, UTF-8 staje si\u0119 domy\u015blnym kodowaniem znak\u00f3w<\/a> \u2328\ufe0f<\/h2>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>A na koniec - JEP o bardzo \u0142adnym, okr\u0105g\u0142ym numerze 400. Wprowadza on wreszcie UTF-8 do Javy domy\u015blny spos\u00f3b kodowania znak\u00f3w.<\/p>\n","innerContent":["\n<p>A na koniec - JEP o bardzo \u0142adnym, okr\u0105g\u0142ym numerze 400. Wprowadza on wreszcie UTF-8 do Javy domy\u015blny spos\u00f3b kodowania znak\u00f3w.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Pewnie m\u0142odsi sta\u017cem programi\u015bci czytaj\u0105cy to opracowanie mog\u0105 nie pami\u0119ta\u0107 tych czas\u00f3w, ale kiedy\u015b kwestia kodowania znak\u00f3w w dokumentach nie by\u0142a oczywista. Dwa standardy, walczy\u0142y o dominacj\u0119 rynkow\u0105. Do tego wszystkiego dok\u0142ada si\u0119 jeszcze Windows, kt\u00f3ry to posiada\u0142 w\u0142asny, osobisty \u201cstandard\u201d. W tym \u015bwiecie, u\u017cywanie np. polskich znak\u00f3w nie by\u0142o czym\u015b oczywistym, a Grzegrz\u00f3\u0142ka by\u0142a najlepszym przyjacielem dewelopera.<\/p>\n","innerContent":["\n<p>Pewnie m\u0142odsi sta\u017cem programi\u015bci czytaj\u0105cy to opracowanie mog\u0105 nie pami\u0119ta\u0107 tych czas\u00f3w, ale kiedy\u015b kwestia kodowania znak\u00f3w w dokumentach nie by\u0142a oczywista. Dwa standardy, walczy\u0142y o dominacj\u0119 rynkow\u0105. Do tego wszystkiego dok\u0142ada si\u0119 jeszcze Windows, kt\u00f3ry to posiada\u0142 w\u0142asny, osobisty \u201cstandard\u201d. W tym \u015bwiecie, u\u017cywanie np. polskich znak\u00f3w nie by\u0142o czym\u015b oczywistym, a Grzegrz\u00f3\u0142ka by\u0142a najlepszym przyjacielem dewelopera.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/image","attrs":{"align":"center","width":517,"height":499},"innerBlocks":[],"innerHTML":"\n<figure class=\"wp-block-image aligncenter is-resized\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/06\/img_62a88dac68632.jpg\" alt=\"\" width=\"517\" height=\"499\"\/><figcaption>Og\u00f3lnie, je\u017celi jeste\u015bcie zainteresowani histori\u0105 system\u00f3w kodowania znak\u00f3w - tutaj znajdziecie <a href=\"https:\/\/thedatastudio.net\/history_of_character_encoding.htm\">dobry artyku\u0142<\/a> na ten temat.<\/figcaption><\/figure>\n","innerContent":["\n<figure class=\"wp-block-image aligncenter is-resized\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/06\/img_62a88dac68632.jpg\" alt=\"\" width=\"517\" height=\"499\"\/><figcaption>Og\u00f3lnie, je\u017celi jeste\u015bcie zainteresowani histori\u0105 system\u00f3w kodowania znak\u00f3w - tutaj znajdziecie <a href=\"https:\/\/thedatastudio.net\/history_of_character_encoding.htm\">dobry artyku\u0142<\/a> na ten temat.<\/figcaption><\/figure>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Dzisiaj \u017cyjemy w troch\u0119 innych czasach - dekodowanie znak\u00f3w wydaje si\u0119 by\u0107 rozwi\u0105zanym problemem. Globalizacja (i po cz\u0119\u015bci te\u017c rozw\u00f3j hardware) sprawi\u0142y, \u017ce zamiast wielu lokalnych standard\u00f3w mamy obecnie jeden - Unicode Transformation Format, czyli popularny UTF, potrafi\u0105cy reprezentowa\u0107 znaki z wszystkich j\u0119zyk\u00f3w i dialekt\u00f3w, a dodatkowo wiele wi\u0119cej, jak kochane przez wszystkich emoji. W zwi\u0105zku z faktem, \u017ce wiele j\u0119zyk\u00f3w programowania postanowi\u0142o ju\u017c dawno uczyni\u0107 go rozwi\u0105zaniem domy\u015blnym, na podobny krok zdecydowa\u0142a si\u0119 r\u00f3wnie\u017c Java. Od wydania 18 (kt\u00f3re to zobaczymy w marcu), domy\u015bln\u0105 warto\u015bci\u0105 kodowania znak\u00f3w b\u0119dzie UTF-8, a nie (jak dotychczas) default systemowy.<\/p>\n","innerContent":["\n<p>Dzisiaj \u017cyjemy w troch\u0119 innych czasach - dekodowanie znak\u00f3w wydaje si\u0119 by\u0107 rozwi\u0105zanym problemem. Globalizacja (i po cz\u0119\u015bci te\u017c rozw\u00f3j hardware) sprawi\u0142y, \u017ce zamiast wielu lokalnych standard\u00f3w mamy obecnie jeden - Unicode Transformation Format, czyli popularny UTF, potrafi\u0105cy reprezentowa\u0107 znaki z wszystkich j\u0119zyk\u00f3w i dialekt\u00f3w, a dodatkowo wiele wi\u0119cej, jak kochane przez wszystkich emoji. W zwi\u0105zku z faktem, \u017ce wiele j\u0119zyk\u00f3w programowania postanowi\u0142o ju\u017c dawno uczyni\u0107 go rozwi\u0105zaniem domy\u015blnym, na podobny krok zdecydowa\u0142a si\u0119 r\u00f3wnie\u017c Java. Od wydania 18 (kt\u00f3re to zobaczymy w marcu), domy\u015bln\u0105 warto\u015bci\u0105 kodowania znak\u00f3w b\u0119dzie UTF-8, a nie (jak dotychczas) default systemowy.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Opublikowany z tej okazji <a href=\"https:\/\/inside.java\/2021\/10\/04\/the-default-charset-jep400\/\">artyku\u0142 na inside.java<\/a> przeprowadza czytelnika przez potencjalne problemy, jakie mog\u0105 z tego powodu nast\u0105pi\u0107 i pokazuje, w jaki spos\u00f3b dokona\u0107 udanej migracji. Je\u015bli chcecie si\u0119 upewni\u0107, czy wspomniana zmiana nie wp\u0142ynie na Was negatywnie - zach\u0119cam do lektury.<\/p>\n","innerContent":["\n<p>Opublikowany z tej okazji <a href=\"https:\/\/inside.java\/2021\/10\/04\/the-default-charset-jep400\/\">artyku\u0142 na inside.java<\/a> przeprowadza czytelnika przez potencjalne problemy, jakie mog\u0105 z tego powodu nast\u0105pi\u0107 i pokazuje, w jaki spos\u00f3b dokona\u0107 udanej migracji. Je\u015bli chcecie si\u0119 upewni\u0107, czy wspomniana zmiana nie wp\u0142ynie na Was negatywnie - zach\u0119cam do lektury.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/heading","attrs":{"level":4},"innerBlocks":[],"innerHTML":"\n<h4>\u0179r\u00f3d\u0142a<\/h4>\n","innerContent":["\n<h4>\u0179r\u00f3d\u0142a<\/h4>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/list","attrs":[],"innerBlocks":[],"innerHTML":"\n<ul><li><a href=\"https:\/\/thedatastudio.net\/history_of_character_encoding.htm\">A Short History Of Character Encoding<\/a><\/li><li><a href=\"https:\/\/inside.java\/2021\/10\/04\/the-default-charset-jep400\/\">JEP 400 and the Default Charset<\/a><\/li><\/ul>\n","innerContent":["\n<ul><li><a href=\"https:\/\/thedatastudio.net\/history_of_character_encoding.htm\">A Short History Of Character Encoding<\/a><\/li><li><a href=\"https:\/\/inside.java\/2021\/10\/04\/the-default-charset-jep400\/\">JEP 400 and the Default Charset<\/a><\/li><\/ul>\n"]}],"_links":{"self":[{"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/posts\/10072","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=10072"}],"version-history":[{"count":1,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/posts\/10072\/revisions"}],"predecessor-version":[{"id":10553,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/posts\/10072\/revisions\/10553"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/media\/7710"}],"wp:attachment":[{"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/media?parent=10072"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/categories?post=10072"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/tags?post=10072"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}