{"id":10101,"date":"2021-08-05T16:14:42","date_gmt":"2021-08-05T14:14:42","guid":{"rendered":"https:\/\/vived.io\/frontend-thursday-vol-49\/"},"modified":"2022-09-19T13:16:39","modified_gmt":"2022-09-19T11:16:39","slug":"frontend-thursday-vol-49","status":"publish","type":"post","link":"https:\/\/vived.io\/pl\/frontend-thursday-vol-49\/","title":{"rendered":"Frontend Thursday vol. 49"},"content":{"rendered":"<h2 id=\"1-vue-zostalo-oficjalnym-frameworkiem-calej-wikimedia\" data-num=1>1. <a href=\"https:\/\/lists.wikimedia.org\/hyperkitty\/list\/wikitech-l@lists.wikimedia.org\/thread\/SOZREBYR36PUNFZXMIUBVAIOQI4N7PDU\/\">Vue zosta\u0142o oficjalnym frameworkiem ca\u0142ej Wikimedia<\/a><\/h2>\n<figure class=\"kg-card kg-image-card\"><img decoding=\"async\" class=\"kg-image\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/img_6128bae0a3950.png\" alt=\"\" \/><\/figure>\n<p>Vue zdobywa niesamowit\u0105 trakcje (jest to cho\u0107by projekt kt\u00f3remu najszybciej przyrastaj\u0105 gwiazdki na GitHubie) i coraz wi\u0119ksz\u0105 rzesz\u0119 fan\u00f3w. W dalszym ci\u0105gu nie mo\u017cemy tutaj m\u00f3wi\u0107 o poziomie adopcji takiego cho\u0107by Reacta, ofert pracy te\u017c jest mniej (cho\u0107 ich liczba ro\u015bnie). Jednak wraz z ka\u017cdym kolejnym og\u0142oszeniem o u\u017cyciu tego rozwi\u0105zania przez znane organizacje, coraz wi\u0119cej ludzi zaczyna si\u0119 do Vue przekonywa\u0107. Dlatego te\u017c przyjemnie jest nam poinformowa\u0107, \u017ce Wikimedia og\u0142osi\u0142a Vue swoim domy\u015blnym frameworkiem JavaScript, u\u017cywanym w ramach wszystkich przysz\u0142ych projekt\u00f3w fundacji.<\/p>\n<p>To, \u017ce Vue i Wikimedia maj\u0105 si\u0119 ku sobie nie jest nowo\u015bci\u0105 &#8211; ju\u017c w marcu 2020 \u015bwiat obieg\u0142a wiadomo\u015b\u0107, \u017ce po kwartale dyskusji, zesp\u00f3\u0142 Wikimedia zdecydowa\u0142 rozpocz\u0105\u0107 ewaluacj\u0119 Vue.js. Informacja ta wywo\u0142a\u0142a wtedy <a href=\"https:\/\/news.ycombinator.com\/item?id=22625556\">mas\u0119 dyskusji<\/a> (w kt\u00f3re w\u0142\u0105czy\u0142 si\u0119 min. Evan You, tw\u00f3rca Vue.js). Teraz, po roku testowania (a elementem, kt\u00f3ry s\u0142u\u017cy\u0142 za kr\u00f3lika do\u015bwiadczalnego by\u0142 Wikipediowy Search), praktyka potwierdzi\u0142a, \u017ce to by\u0142 dobry wyb\u00f3r i Vue oficjalnie ju\u017c sta\u0142 si\u0119 \u201cnamaszczon\u0105 technologi\u0105\u201d w ramach stacku Wikimedia.<\/p>\n<p>Jakich zmian nale\u017cy si\u0119 spodziewa\u0107? Fundacja Wikimedia stworzy\u0142a zesp\u00f3\u0142 Wikimedia Design System, kt\u00f3rego celem b\u0119dzie stworzenie biblioteki komponent\u00f3w oraz opracowanie planu migracji Wiki na kt\u00f3re\u015b z nowych wyda\u0144 Vue. Prace maj\u0105 by\u0107 publiczne (co jest bardzo mocno zakorzenione w DNA Wikimedii), dlatego te\u017c podejrzewam, \u017ce to nie ostatnie og\u0142oszenie w tym temacie.<\/p>\n<p><div class=\"embed-responsive embed-responsive-16by9\"><iframe loading=\"lazy\" title=\"Vue.js: The Documentary\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/OrxmtDw4pVI?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><\/div><\/p>\n<p>W tym wa\u017cnym dla Vue momencie nie mo\u017cemy nie przypomnie\u0107 o istnieniu \u201cVue The Documentary\u201d &#8211; fantastycznego dokumentu przedstawiaj\u0105cego historie ca\u0142ego projektu, nakr\u0119conego z i\u015bcie kinowym sznytem. Polecamy!<span class=\"-mobiledoc-kit__atom\">\u200c\u200c<\/span><\/p>\n<h3 id=\"%C5%BAr%C3%B3d%C5%82a\">\u0179r\u00f3d\u0142a<\/h3>\n<ul>\n<li><a href=\"https:\/\/news.ycombinator.com\/item?id=22625556\">RFC: Adopt a modern JavaScript framework for use with MediaWiki<\/a><\/li>\n<li><a href=\"https:\/\/www.youtube.com\/watch?v=OrxmtDw4pVI\">Vue.js: The Documentary<\/a><\/li>\n<li><a href=\"https:\/\/lists.wikimedia.org\/hyperkitty\/list\/wikitech-l@lists.wikimedia.org\/thread\/SOZREBYR36PUNFZXMIUBVAIOQI4N7PDU\/\">Vue.js has been selected as Wikimedia Foundation&#8217;s future JavaScript framework &#8211; Wikitech-l<\/a><\/li>\n<\/ul>\n<h2 id=\"2-amazon-web-services-przestaje-wspierac-internet-explorer-11\" data-num=2><a href=\"https:\/\/aws.amazon.com\/blogs\/aws\/heads-up-aws-support-for-internet-explorer-11-is-ending\/\">2. Amazon Web Services przestaje wspiera\u0107 Internet Explorer 11<\/a><\/h2>\n<p>Co prawda \u015bmier\u0107 Internet Explorera zosta\u0142a ju\u017c chyba ostatecznie przyklepana, s\u0119py kr\u0119c\u0105 ju\u017c k\u00f3\u0142ka nad jego truch\u0142em, ale w dalszym ci\u0105gu serduszko si\u0119 cieszy, kiedy kolejni wa\u017cni graczej rezygnuj\u0105 ze wsparcia tej przegl\u0105darki.<\/p>\n<figure class=\"kg-card kg-image-card kg-card-hascaption\"><img decoding=\"async\" class=\"kg-image\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/img_6128bae114ba4.png\" alt=\"\" \/>\n<p>\u00a0<\/p>\n<figcaption>Po prostu niekt\u00f3rych rzeczy nie da si\u0119 odzobaczy\u0107<\/figcaption>\n<\/figure>\n<p>O ile g\u0142\u00f3wny Amazon przez lata b\u0119dzie pewnie jeszcze wspiera\u0142 Internet Explorera (nie zdziwi\u0142bym si\u0119, je\u015bli podstawowy flow zakupowy da\u0142oby si\u0119 wykona\u0107 nawet na IE 6), o tyle narz\u0119dzia dla tak zwanego \u201cpower usera\u201d mog\u0105 sobie pozwoli\u0107 na znacznie wi\u0119cej. Dlatego te\u017c ko\u0144c\u00f3wk\u0105 lipca Amazon Web Services rozpocz\u0119\u0142y proces ostatecznego pozbywania si\u0119 wsparcia dla przegl\u0105darki. Ca\u0142o\u015b\u0107 potrwa\u0107 ma przez rok &#8211; konsola tej popularnej chmury od 31 lipca 2021 przechodzi w tryb \u0142atania b\u0142\u0119d\u00f3w, by ostatecznie pozby\u0107 si\u0119 balastu wraz 1 sierpnia 2022.<\/p>\n<figure class=\"kg-card kg-image-card kg-card-hascaption\"><img decoding=\"async\" class=\"kg-image\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/img_6128bae1aef91.gif\" alt=\"\" \/>\n<p>\u00a0<\/p>\n<figcaption>Wiem, \u017ce wiadomo\u015b\u0107 ta jest bardzo hermetyczna, nieco z \u201cbackendo-devopsowego\u201d poletka, ale te\u017c pracowa\u0142em kiedy\u015b na froncie. W dalszym ci\u0105gu ka\u017cde tego typu og\u0142oszenie powoduje jak\u0105\u015b m\u015bciw\u0105 satysfakcje.<\/figcaption>\n<\/figure>\n<p>Umar\u0142 kr\u00f3l, niech \u017cyje kr\u00f3l. W spo\u0142eczno\u015bci co pewien czas wraca temat godnego nast\u0119pcy dla nies\u0142awnego IE, kt\u00f3rym mia\u0142oby by\u0107 Safari. Ostatnimi czasy znowu popularno\u015b\u0107 zdoby\u0142 napisany <a href=\"https:\/\/blog.perrysun.com\/2021\/07\/15\/for-developers-safari-is-crap-and-outdated\/\">w mocno krytycznym tonie tekst<\/a>, sugeruj\u0105cy z\u0142\u0105 wol\u0119 Apple i ch\u0119\u0107 utrzymania monopolu AppStore. Nie da si\u0119 bowiem ukry\u0107, \u017ce to nie Microsoft, a w\u0142a\u015bnie sadownicza firma z Cupertino jest obecnie g\u0142\u00f3wnym hamulcowym je\u015bli chodzi o wdra\u017canie nowych standard\u00f3w webowych.<\/p>\n<figure class=\"kg-card kg-image-card kg-card-hascaption\"><img decoding=\"async\" class=\"kg-image\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/img_6128bae20bba5.png\" alt=\"\" \/>\n<p>\u00a0<\/p>\n<figcaption>Niby przesta\u0142em ju\u017c liczy\u0107, \u017ce kiedykolwiek doczekamy si\u0119 dobrego wsparcia dla PWA, ale wci\u0105\u017c si\u0119 \u0142udz\u0119<\/figcaption>\n<\/figure>\n<h3 id=\"%C5%BAr%C3%B3d%C5%82a-1\">\u0179r\u00f3d\u0142a<\/h3>\n<ul>\n<li><a href=\"https:\/\/blog.perrysun.com\/2021\/07\/15\/for-developers-safari-is-crap-and-outdated\/\">For developers, Apple\u2019s Safari is crap and outdated<\/a><\/li>\n<li><a href=\"https:\/\/aws.amazon.com\/blogs\/aws\/heads-up-aws-support-for-internet-explorer-11-is-ending\/\">Heads-Up: AWS Support for Internet Explorer 11 is Ending | Amazon Web Services<\/a><\/li>\n<\/ul>\n<h2 id=\"3-tajemnica-pakietu-npm\" data-num=3>3. <a href=\"https:\/\/www.bleepingcomputer.com\/news\/software\/empty-npm-package-has-over-700-000-downloads-heres-why\/\">Tajemnica pakietu npm \u2018-\u2019 \ufe0f\u200d\u2640\ufe0f<\/a><\/h2>\n<p>A na koniec, tragikomedia z happy-endem w \u015bwiecie npma.<\/p>\n<p>W zesz\u0142ym tygodniu internet odkry\u0142, \u017ce tajemniczy, jednoliterowy pakiet npm o nazwie \u201e-\u201d, znajduj\u0105cy si\u0119 w rejestrze od 2020 r., otrzyma\u0142 ponad 700 000 pobra\u0144. Co wi\u0119cej, mimo, \u017ce nie zawiera \u017cadnego sensownego kodu, jest zale\u017cno\u015bci\u0105 ponad pi\u0119\u0107dziesi\u0119ciu r\u00f3\u017cnych pakiet\u00f3w. Co mog\u0142o si\u0119 wydarzy\u0107? Czy to nowa forma wysublimowanego ataku?<\/p>\n<figure class=\"kg-card kg-image-card kg-card-hascaption\"><img decoding=\"async\" class=\"kg-image\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/img_6128bae26bef8.gif\" alt=\"\" \/>\n<p>\u00a0<\/p>\n<figcaption>Stali bywalcy npm-owych dram pewnie ju\u017c si\u0119 domy\u015blaj\u0105, w jakim kierunku ta opowie\u015b\u0107 zmierza.<\/figcaption>\n<\/figure>\n<p>Co sprawi\u0142o, \u017ce tak du\u017ca ilo\u015b\u0107 projekt\u00f3w do\u0142o\u017cy\u0142a pakiet nie daj\u0105cy \u017cadnych konkretnych profit\u00f3w? G\u0142\u00f3wn\u0105 teori\u0105 jest\u2026 b\u0142\u0105d programist\u00f3w. NPM jest znany ze swojej podatno\u015bci na ataki typosquatting, polegaj\u0105ce na wykorzystywaniu ma\u0142ych b\u0142\u0119d\u00f3w programist\u00f3w (kto nigdy si\u0119 nie pomyli\u0142 we wpisywaniu nazwy biblioteki w shellu chc\u0105c j\u0105 do\u0142ozy\u0107 do package.json niech pierwszy rzuci kamie\u0144) &#8211; temat zosta\u0142 bardzo <a href=\"https:\/\/snyk.io\/blog\/typosquatting-attacks\/\">fajnie opracowany przez snyk.io<\/a>. Tutaj raczej nie ma mowy o liter\u00f3wce, a raczej pr\u00f3bie podania do komendy dodatkowej flagi w niepoprawny spos\u00f3b.<\/p>\n<pre><code>npm i - someFlag somepackage<\/code><\/pre>\n<p>Sk\u0105d jednak pakiet o nazwie \u201c-\u201d? Dyskusja zatoczy\u0142a tak szalone kr\u0119gi, \u017ce g\u0142os zabra\u0142 w niej sam autor pakietu, kt\u00f3ry zarzeka si\u0119, \u017ce nie mia\u0142 \u017cadnych z\u0142ych zamiar\u00f3w.<\/p>\n<p>Cytuj\u0105c autora:<\/p>\n<blockquote>\n<p>Pierwotnie opublikowa\u0142em kontrowersyjny pakiet, aby sprawdzi\u0107, czy \u201e-\u201d jest prawid\u0142ow\u0105 nazw\u0105 pakietu zgodnie z regu\u0142ami nazewnictwa. Okaza\u0142o si\u0119 \u017ce tak, mo\u017cna r\u00f3wnie\u017c przyk\u0142adowo opublikowa\u0107 pakiet pod nazw\u0105 \u201e&#8211;\u201d<\/p>\n<\/blockquote>\n<p>Obiecuje on te\u017c dodatkowo zabezpieczy\u0107 pakiet, \u017ceby wywala\u0142 b\u0142\u0105d ka\u017cdorazowo gdy kto\u015b pr\u00f3buje go zainstalowa\u0107.<\/p>\n<p>Co prawda tym razem obesz\u0142o si\u0119 bez wi\u0119kszych ofiar, ale sytuacja po raz kolejny pokazuje, jak ze wzgl\u0119du na wygod\u0119 u\u017cytkowania i og\u00f3lny \u201cdeveloper experience\u201d, npm podatny jest na pomy\u0142ki programist\u00f3w.<\/p>\n<figure class=\"kg-card kg-image-card kg-card-hascaption\"><img decoding=\"async\" class=\"kg-image\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/img_6128bae2cdfd7.png\" alt=\"\" \/>\n<p>\u00a0<\/p>\n<figcaption>Mo\u017ce lepiej w t\u0105 stron\u0119 i mie\u0107 od czasu do czasu t\u0105 nieuniknion\u0105 dram\u0119?<\/figcaption>\n<\/figure>\n<h3 id=\"%C5%BAr%C3%B3d%C5%82o\">\u0179r\u00f3d\u0142o<\/h3>\n<ul>\n<li><a href=\"https:\/\/snyk.io\/blog\/typosquatting-attacks\/\">Typosquatting attacks<\/a><\/li>\n<li><a href=\"https:\/\/www.bleepingcomputer.com\/news\/software\/empty-npm-package-has-over-700-000-downloads-heres-why\/\">Empty npm package &#8217;-&#8217; has over 700,000 downloads \u2014 here&#8217;s why<\/a><\/li>\n<\/ul>\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>W dzisiejszej edycji brak du\u017cych releas\u00f3w znanych z poprzedniej, ale mamy nadziej\u0119 \u017ce i tak b\u0119dziecie zadowoleni \ud83d\ude09 Mamy dla Was du\u017ce og\u0142oszenie o Vue, dalsze pastwienie si\u0119 nad Internet Explorerem, oraz kolejny \u201catak\u201d na npm.<\/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":[273],"tags":[],"class_list":["post-10101","post","type-post","status-publish","format-standard","hentry","category-frontend-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>Frontend Thursday vol. 49 - 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\/frontend-thursday-vol-49\/\" \/>\n<meta property=\"og:locale\" content=\"pl_PL\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Frontend Thursday vol. 49 - Vived\" \/>\n<meta property=\"og:description\" content=\"W dzisiejszej edycji brak du\u017cych releas\u00f3w znanych z poprzedniej, ale mamy nadziej\u0119 \u017ce i tak b\u0119dziecie zadowoleni \ud83d\ude09 Mamy dla Was du\u017ce og\u0142oszenie o Vue, dalsze pastwienie si\u0119 nad Internet Explorerem, oraz kolejny \u201catak\u201d na npm.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/vived.io\/pl\/frontend-thursday-vol-49\/\" \/>\n<meta property=\"og:site_name\" content=\"Vived\" \/>\n<meta property=\"article:published_time\" content=\"2021-08-05T14:14:42+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-09-19T11:16:39+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/img_6128bae0a3950.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\/frontend-thursday-vol-49\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/vived.io\/pl\/frontend-thursday-vol-49\/\"},\"author\":{\"name\":\"Artur Skowro\u0144ski\",\"@id\":\"https:\/\/vived.io\/pl\/#\/schema\/person\/0eb0878110cb27edfbfe46e841fe6db3\"},\"headline\":\"Frontend Thursday vol. 49\",\"datePublished\":\"2021-08-05T14:14:42+00:00\",\"dateModified\":\"2022-09-19T11:16:39+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/vived.io\/pl\/frontend-thursday-vol-49\/\"},\"wordCount\":991,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/vived.io\/pl\/#organization\"},\"image\":{\"@id\":\"https:\/\/vived.io\/pl\/frontend-thursday-vol-49\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/img_6128bae0a3950.png\",\"articleSection\":[\"Frontend\"],\"inLanguage\":\"pl-PL\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/vived.io\/pl\/frontend-thursday-vol-49\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/vived.io\/pl\/frontend-thursday-vol-49\/\",\"url\":\"https:\/\/vived.io\/pl\/frontend-thursday-vol-49\/\",\"name\":\"Frontend Thursday vol. 49 - Vived\",\"isPartOf\":{\"@id\":\"https:\/\/vived.io\/pl\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/vived.io\/pl\/frontend-thursday-vol-49\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/vived.io\/pl\/frontend-thursday-vol-49\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/img_6128bae0a3950.png\",\"datePublished\":\"2021-08-05T14:14:42+00:00\",\"dateModified\":\"2022-09-19T11:16:39+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/vived.io\/pl\/frontend-thursday-vol-49\/#breadcrumb\"},\"inLanguage\":\"pl-PL\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/vived.io\/pl\/frontend-thursday-vol-49\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\/\/vived.io\/pl\/frontend-thursday-vol-49\/#primaryimage\",\"url\":\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/img_6128bae0a3950.png\",\"contentUrl\":\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/img_6128bae0a3950.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/vived.io\/pl\/frontend-thursday-vol-49\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Strona g\u0142\u00f3wna\",\"item\":\"https:\/\/vived.io\/pl\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Frontend Thursday vol. 49\"}]},{\"@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":"Frontend Thursday vol. 49 - 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\/frontend-thursday-vol-49\/","og_locale":"pl_PL","og_type":"article","og_title":"Frontend Thursday vol. 49 - Vived","og_description":"W dzisiejszej edycji brak du\u017cych releas\u00f3w znanych z poprzedniej, ale mamy nadziej\u0119 \u017ce i tak b\u0119dziecie zadowoleni \ud83d\ude09 Mamy dla Was du\u017ce og\u0142oszenie o Vue, dalsze pastwienie si\u0119 nad Internet Explorerem, oraz kolejny \u201catak\u201d na npm.","og_url":"https:\/\/vived.io\/pl\/frontend-thursday-vol-49\/","og_site_name":"Vived","article_published_time":"2021-08-05T14:14:42+00:00","article_modified_time":"2022-09-19T11:16:39+00:00","og_image":[{"url":"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/img_6128bae0a3950.png","type":"","width":"","height":""}],"author":"Artur Skowro\u0144ski","twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/vived.io\/pl\/frontend-thursday-vol-49\/#article","isPartOf":{"@id":"https:\/\/vived.io\/pl\/frontend-thursday-vol-49\/"},"author":{"name":"Artur Skowro\u0144ski","@id":"https:\/\/vived.io\/pl\/#\/schema\/person\/0eb0878110cb27edfbfe46e841fe6db3"},"headline":"Frontend Thursday vol. 49","datePublished":"2021-08-05T14:14:42+00:00","dateModified":"2022-09-19T11:16:39+00:00","mainEntityOfPage":{"@id":"https:\/\/vived.io\/pl\/frontend-thursday-vol-49\/"},"wordCount":991,"commentCount":0,"publisher":{"@id":"https:\/\/vived.io\/pl\/#organization"},"image":{"@id":"https:\/\/vived.io\/pl\/frontend-thursday-vol-49\/#primaryimage"},"thumbnailUrl":"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/img_6128bae0a3950.png","articleSection":["Frontend"],"inLanguage":"pl-PL","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/vived.io\/pl\/frontend-thursday-vol-49\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/vived.io\/pl\/frontend-thursday-vol-49\/","url":"https:\/\/vived.io\/pl\/frontend-thursday-vol-49\/","name":"Frontend Thursday vol. 49 - Vived","isPartOf":{"@id":"https:\/\/vived.io\/pl\/#website"},"primaryImageOfPage":{"@id":"https:\/\/vived.io\/pl\/frontend-thursday-vol-49\/#primaryimage"},"image":{"@id":"https:\/\/vived.io\/pl\/frontend-thursday-vol-49\/#primaryimage"},"thumbnailUrl":"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/img_6128bae0a3950.png","datePublished":"2021-08-05T14:14:42+00:00","dateModified":"2022-09-19T11:16:39+00:00","breadcrumb":{"@id":"https:\/\/vived.io\/pl\/frontend-thursday-vol-49\/#breadcrumb"},"inLanguage":"pl-PL","potentialAction":[{"@type":"ReadAction","target":["https:\/\/vived.io\/pl\/frontend-thursday-vol-49\/"]}]},{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/vived.io\/pl\/frontend-thursday-vol-49\/#primaryimage","url":"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/img_6128bae0a3950.png","contentUrl":"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/img_6128bae0a3950.png"},{"@type":"BreadcrumbList","@id":"https:\/\/vived.io\/pl\/frontend-thursday-vol-49\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Strona g\u0142\u00f3wna","item":"https:\/\/vived.io\/pl\/"},{"@type":"ListItem","position":2,"name":"Frontend Thursday vol. 49"}]},{"@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-vue-zosta%C5%82o-oficjalnym-frameworkiem-ca%C5%82ej-wikimedia-%F0%9F%8F%86\">1. <a href=\"https:\/\/lists.wikimedia.org\/hyperkitty\/list\/wikitech-l@lists.wikimedia.org\/thread\/SOZREBYR36PUNFZXMIUBVAIOQI4N7PDU\/\">Vue zosta\u0142o oficjalnym frameworkiem ca\u0142ej Wikimedia<\/a><\/h2>\n<figure class=\"kg-card kg-image-card\"><img class=\"kg-image\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/img_6128bae0a3950.png\" alt=\"\" \/><\/figure>\n<p>Vue zdobywa niesamowit\u0105 trakcje (jest to cho\u0107by projekt kt\u00f3remu najszybciej przyrastaj\u0105 gwiazdki na GitHubie) i coraz wi\u0119ksz\u0105 rzesz\u0119 fan\u00f3w. W dalszym ci\u0105gu nie mo\u017cemy tutaj m\u00f3wi\u0107 o poziomie adopcji takiego cho\u0107by Reacta, ofert pracy te\u017c jest mniej (cho\u0107 ich liczba ro\u015bnie). Jednak wraz z ka\u017cdym kolejnym og\u0142oszeniem o u\u017cyciu tego rozwi\u0105zania przez znane organizacje, coraz wi\u0119cej ludzi zaczyna si\u0119 do Vue przekonywa\u0107. Dlatego te\u017c przyjemnie jest nam poinformowa\u0107, \u017ce Wikimedia og\u0142osi\u0142a Vue swoim domy\u015blnym frameworkiem JavaScript, u\u017cywanym w ramach wszystkich przysz\u0142ych projekt\u00f3w fundacji.<\/p>\n<p>To, \u017ce Vue i Wikimedia maj\u0105 si\u0119 ku sobie nie jest nowo\u015bci\u0105 - ju\u017c w marcu 2020 \u015bwiat obieg\u0142a wiadomo\u015b\u0107, \u017ce po kwartale dyskusji, zesp\u00f3\u0142 Wikimedia zdecydowa\u0142 rozpocz\u0105\u0107 ewaluacj\u0119 Vue.js. Informacja ta wywo\u0142a\u0142a wtedy <a href=\"https:\/\/news.ycombinator.com\/item?id=22625556\">mas\u0119 dyskusji<\/a> (w kt\u00f3re w\u0142\u0105czy\u0142 si\u0119 min. Evan You, tw\u00f3rca Vue.js). Teraz, po roku testowania (a elementem, kt\u00f3ry s\u0142u\u017cy\u0142 za kr\u00f3lika do\u015bwiadczalnego by\u0142 Wikipediowy Search), praktyka potwierdzi\u0142a, \u017ce to by\u0142 dobry wyb\u00f3r i Vue oficjalnie ju\u017c sta\u0142 si\u0119 \u201cnamaszczon\u0105 technologi\u0105\u201d w ramach stacku Wikimedia.<\/p>\n<p>Jakich zmian nale\u017cy si\u0119 spodziewa\u0107? Fundacja Wikimedia stworzy\u0142a zesp\u00f3\u0142 Wikimedia Design System, kt\u00f3rego celem b\u0119dzie stworzenie biblioteki komponent\u00f3w oraz opracowanie planu migracji Wiki na kt\u00f3re\u015b z nowych wyda\u0144 Vue. Prace maj\u0105 by\u0107 publiczne (co jest bardzo mocno zakorzenione w DNA Wikimedii), dlatego te\u017c podejrzewam, \u017ce to nie ostatnie og\u0142oszenie w tym temacie.<\/p>\n<p>https:\/\/www.youtube.com\/watch?v=OrxmtDw4pVI<\/p>\n<p>W tym wa\u017cnym dla Vue momencie nie mo\u017cemy nie przypomnie\u0107 o istnieniu \u201cVue The Documentary\u201d - fantastycznego dokumentu przedstawiaj\u0105cego historie ca\u0142ego projektu, nakr\u0119conego z i\u015bcie kinowym sznytem. Polecamy!<span class=\"-mobiledoc-kit__atom\">\u200c\u200c<\/span><\/p>\n<h3 id=\"%C5%BAr%C3%B3d%C5%82a\">\u0179r\u00f3d\u0142a<\/h3>\n<ul>\n<li><a href=\"https:\/\/news.ycombinator.com\/item?id=22625556\">RFC: Adopt a modern JavaScript framework for use with MediaWiki<\/a><\/li>\n<li><a href=\"https:\/\/www.youtube.com\/watch?v=OrxmtDw4pVI\">Vue.js: The Documentary<\/a><\/li>\n<li><a href=\"https:\/\/lists.wikimedia.org\/hyperkitty\/list\/wikitech-l@lists.wikimedia.org\/thread\/SOZREBYR36PUNFZXMIUBVAIOQI4N7PDU\/\">Vue.js has been selected as Wikimedia Foundation's future JavaScript framework - Wikitech-l<\/a><\/li>\n<\/ul>\n<h2 id=\"2-amazon-web-services-przestaje-wspiera%C4%87-internet-explorer-11-%F0%9F%AA%A6\"><a href=\"https:\/\/aws.amazon.com\/blogs\/aws\/heads-up-aws-support-for-internet-explorer-11-is-ending\/\">2. Amazon Web Services przestaje wspiera\u0107 Internet Explorer 11<\/a><\/h2>\n<p>Co prawda \u015bmier\u0107 Internet Explorera zosta\u0142a ju\u017c chyba ostatecznie przyklepana, s\u0119py kr\u0119c\u0105 ju\u017c k\u00f3\u0142ka nad jego truch\u0142em, ale w dalszym ci\u0105gu serduszko si\u0119 cieszy, kiedy kolejni wa\u017cni graczej rezygnuj\u0105 ze wsparcia tej przegl\u0105darki.<\/p>\n<figure class=\"kg-card kg-image-card kg-card-hascaption\"><img class=\"kg-image\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/img_6128bae114ba4.png\" alt=\"\" \/>\n<p>\u00a0<\/p>\n<figcaption>Po prostu niekt\u00f3rych rzeczy nie da si\u0119 odzobaczy\u0107<\/figcaption>\n<\/figure>\n<p>O ile g\u0142\u00f3wny Amazon przez lata b\u0119dzie pewnie jeszcze wspiera\u0142 Internet Explorera (nie zdziwi\u0142bym si\u0119, je\u015bli podstawowy flow zakupowy da\u0142oby si\u0119 wykona\u0107 nawet na IE 6), o tyle narz\u0119dzia dla tak zwanego \u201cpower usera\u201d mog\u0105 sobie pozwoli\u0107 na znacznie wi\u0119cej. Dlatego te\u017c ko\u0144c\u00f3wk\u0105 lipca Amazon Web Services rozpocz\u0119\u0142y proces ostatecznego pozbywania si\u0119 wsparcia dla przegl\u0105darki. Ca\u0142o\u015b\u0107 potrwa\u0107 ma przez rok - konsola tej popularnej chmury od 31 lipca 2021 przechodzi w tryb \u0142atania b\u0142\u0119d\u00f3w, by ostatecznie pozby\u0107 si\u0119 balastu wraz 1 sierpnia 2022.<\/p>\n<figure class=\"kg-card kg-image-card kg-card-hascaption\"><img class=\"kg-image\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/img_6128bae1aef91.gif\" alt=\"\" \/>\n<p>\u00a0<\/p>\n<figcaption>Wiem, \u017ce wiadomo\u015b\u0107 ta jest bardzo hermetyczna, nieco z \u201cbackendo-devopsowego\u201d poletka, ale te\u017c pracowa\u0142em kiedy\u015b na froncie. W dalszym ci\u0105gu ka\u017cde tego typu og\u0142oszenie powoduje jak\u0105\u015b m\u015bciw\u0105 satysfakcje.<\/figcaption>\n<\/figure>\n<p>Umar\u0142 kr\u00f3l, niech \u017cyje kr\u00f3l. W spo\u0142eczno\u015bci co pewien czas wraca temat godnego nast\u0119pcy dla nies\u0142awnego IE, kt\u00f3rym mia\u0142oby by\u0107 Safari. Ostatnimi czasy znowu popularno\u015b\u0107 zdoby\u0142 napisany <a href=\"https:\/\/blog.perrysun.com\/2021\/07\/15\/for-developers-safari-is-crap-and-outdated\/\">w mocno krytycznym tonie tekst<\/a>, sugeruj\u0105cy z\u0142\u0105 wol\u0119 Apple i ch\u0119\u0107 utrzymania monopolu AppStore. Nie da si\u0119 bowiem ukry\u0107, \u017ce to nie Microsoft, a w\u0142a\u015bnie sadownicza firma z Cupertino jest obecnie g\u0142\u00f3wnym hamulcowym je\u015bli chodzi o wdra\u017canie nowych standard\u00f3w webowych.<\/p>\n<figure class=\"kg-card kg-image-card kg-card-hascaption\"><img class=\"kg-image\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/img_6128bae20bba5.png\" alt=\"\" \/>\n<p>\u00a0<\/p>\n<figcaption>Niby przesta\u0142em ju\u017c liczy\u0107, \u017ce kiedykolwiek doczekamy si\u0119 dobrego wsparcia dla PWA, ale wci\u0105\u017c si\u0119 \u0142udz\u0119<\/figcaption>\n<\/figure>\n<h3 id=\"%C5%BAr%C3%B3d%C5%82a-1\">\u0179r\u00f3d\u0142a<\/h3>\n<ul>\n<li><a href=\"https:\/\/blog.perrysun.com\/2021\/07\/15\/for-developers-safari-is-crap-and-outdated\/\">For developers, Apple\u2019s Safari is crap and outdated<\/a><\/li>\n<li><a href=\"https:\/\/aws.amazon.com\/blogs\/aws\/heads-up-aws-support-for-internet-explorer-11-is-ending\/\">Heads-Up: AWS Support for Internet Explorer 11 is Ending | Amazon Web Services<\/a><\/li>\n<\/ul>\n<h2 id=\"3-tajemnica-pakietu-npm-%E2%80%98-%E2%80%99-%F0%9F%95%B5%EF%B8%8F%E2%80%8D%E2%99%80%EF%B8%8F\">3. <a href=\"https:\/\/www.bleepingcomputer.com\/news\/software\/empty-npm-package-has-over-700-000-downloads-heres-why\/\">Tajemnica pakietu npm \u2018-\u2019 \ufe0f\u200d\u2640\ufe0f<\/a><\/h2>\n<p>A na koniec, tragikomedia z happy-endem w \u015bwiecie npma.<\/p>\n<p>W zesz\u0142ym tygodniu internet odkry\u0142, \u017ce tajemniczy, jednoliterowy pakiet npm o nazwie \u201e-\u201d, znajduj\u0105cy si\u0119 w rejestrze od 2020 r., otrzyma\u0142 ponad 700 000 pobra\u0144. Co wi\u0119cej, mimo, \u017ce nie zawiera \u017cadnego sensownego kodu, jest zale\u017cno\u015bci\u0105 ponad pi\u0119\u0107dziesi\u0119ciu r\u00f3\u017cnych pakiet\u00f3w. Co mog\u0142o si\u0119 wydarzy\u0107? Czy to nowa forma wysublimowanego ataku?<\/p>\n<figure class=\"kg-card kg-image-card kg-card-hascaption\"><img class=\"kg-image\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/img_6128bae26bef8.gif\" alt=\"\" \/>\n<p>\u00a0<\/p>\n<figcaption>Stali bywalcy npm-owych dram pewnie ju\u017c si\u0119 domy\u015blaj\u0105, w jakim kierunku ta opowie\u015b\u0107 zmierza.<\/figcaption>\n<\/figure>\n<p>Co sprawi\u0142o, \u017ce tak du\u017ca ilo\u015b\u0107 projekt\u00f3w do\u0142o\u017cy\u0142a pakiet nie daj\u0105cy \u017cadnych konkretnych profit\u00f3w? G\u0142\u00f3wn\u0105 teori\u0105 jest\u2026 b\u0142\u0105d programist\u00f3w. NPM jest znany ze swojej podatno\u015bci na ataki typosquatting, polegaj\u0105ce na wykorzystywaniu ma\u0142ych b\u0142\u0119d\u00f3w programist\u00f3w (kto nigdy si\u0119 nie pomyli\u0142 we wpisywaniu nazwy biblioteki w shellu chc\u0105c j\u0105 do\u0142ozy\u0107 do package.json niech pierwszy rzuci kamie\u0144) - temat zosta\u0142 bardzo <a href=\"https:\/\/snyk.io\/blog\/typosquatting-attacks\/\">fajnie opracowany przez snyk.io<\/a>. Tutaj raczej nie ma mowy o liter\u00f3wce, a raczej pr\u00f3bie podania do komendy dodatkowej flagi w niepoprawny spos\u00f3b.<\/p>\n<pre><code>npm i - someFlag somepackage<\/code><\/pre>\n<p>Sk\u0105d jednak pakiet o nazwie \u201c-\u201d? Dyskusja zatoczy\u0142a tak szalone kr\u0119gi, \u017ce g\u0142os zabra\u0142 w niej sam autor pakietu, kt\u00f3ry zarzeka si\u0119, \u017ce nie mia\u0142 \u017cadnych z\u0142ych zamiar\u00f3w.<\/p>\n<p>Cytuj\u0105c autora:<\/p>\n<blockquote>\n<p>Pierwotnie opublikowa\u0142em kontrowersyjny pakiet, aby sprawdzi\u0107, czy \u201e-\u201d jest prawid\u0142ow\u0105 nazw\u0105 pakietu zgodnie z regu\u0142ami nazewnictwa. Okaza\u0142o si\u0119 \u017ce tak, mo\u017cna r\u00f3wnie\u017c przyk\u0142adowo opublikowa\u0107 pakiet pod nazw\u0105 \u201e--\u201d<\/p>\n<\/blockquote>\n<p>Obiecuje on te\u017c dodatkowo zabezpieczy\u0107 pakiet, \u017ceby wywala\u0142 b\u0142\u0105d ka\u017cdorazowo gdy kto\u015b pr\u00f3buje go zainstalowa\u0107.<\/p>\n<p>Co prawda tym razem obesz\u0142o si\u0119 bez wi\u0119kszych ofiar, ale sytuacja po raz kolejny pokazuje, jak ze wzgl\u0119du na wygod\u0119 u\u017cytkowania i og\u00f3lny \u201cdeveloper experience\u201d, npm podatny jest na pomy\u0142ki programist\u00f3w.<\/p>\n<figure class=\"kg-card kg-image-card kg-card-hascaption\"><img class=\"kg-image\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/img_6128bae2cdfd7.png\" alt=\"\" \/>\n<p>\u00a0<\/p>\n<figcaption>Mo\u017ce lepiej w t\u0105 stron\u0119 i mie\u0107 od czasu do czasu t\u0105 nieuniknion\u0105 dram\u0119?<\/figcaption>\n<\/figure>\n<h3 id=\"%C5%BAr%C3%B3d%C5%82o\">\u0179r\u00f3d\u0142o<\/h3>\n<ul>\n<li><a href=\"https:\/\/snyk.io\/blog\/typosquatting-attacks\/\">Typosquatting attacks<\/a><\/li>\n<li><a href=\"https:\/\/www.bleepingcomputer.com\/news\/software\/empty-npm-package-has-over-700-000-downloads-heres-why\/\">Empty npm package '-' has over 700,000 downloads \u2014 here's why<\/a><\/li>\n<\/ul>\n\n","innerContent":["<h2 id=\"1-vue-zosta%C5%82o-oficjalnym-frameworkiem-ca%C5%82ej-wikimedia-%F0%9F%8F%86\">1. <a href=\"https:\/\/lists.wikimedia.org\/hyperkitty\/list\/wikitech-l@lists.wikimedia.org\/thread\/SOZREBYR36PUNFZXMIUBVAIOQI4N7PDU\/\">Vue zosta\u0142o oficjalnym frameworkiem ca\u0142ej Wikimedia<\/a><\/h2>\n<figure class=\"kg-card kg-image-card\"><img class=\"kg-image\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/img_6128bae0a3950.png\" alt=\"\" \/><\/figure>\n<p>Vue zdobywa niesamowit\u0105 trakcje (jest to cho\u0107by projekt kt\u00f3remu najszybciej przyrastaj\u0105 gwiazdki na GitHubie) i coraz wi\u0119ksz\u0105 rzesz\u0119 fan\u00f3w. W dalszym ci\u0105gu nie mo\u017cemy tutaj m\u00f3wi\u0107 o poziomie adopcji takiego cho\u0107by Reacta, ofert pracy te\u017c jest mniej (cho\u0107 ich liczba ro\u015bnie). Jednak wraz z ka\u017cdym kolejnym og\u0142oszeniem o u\u017cyciu tego rozwi\u0105zania przez znane organizacje, coraz wi\u0119cej ludzi zaczyna si\u0119 do Vue przekonywa\u0107. Dlatego te\u017c przyjemnie jest nam poinformowa\u0107, \u017ce Wikimedia og\u0142osi\u0142a Vue swoim domy\u015blnym frameworkiem JavaScript, u\u017cywanym w ramach wszystkich przysz\u0142ych projekt\u00f3w fundacji.<\/p>\n<p>To, \u017ce Vue i Wikimedia maj\u0105 si\u0119 ku sobie nie jest nowo\u015bci\u0105 - ju\u017c w marcu 2020 \u015bwiat obieg\u0142a wiadomo\u015b\u0107, \u017ce po kwartale dyskusji, zesp\u00f3\u0142 Wikimedia zdecydowa\u0142 rozpocz\u0105\u0107 ewaluacj\u0119 Vue.js. Informacja ta wywo\u0142a\u0142a wtedy <a href=\"https:\/\/news.ycombinator.com\/item?id=22625556\">mas\u0119 dyskusji<\/a> (w kt\u00f3re w\u0142\u0105czy\u0142 si\u0119 min. Evan You, tw\u00f3rca Vue.js). Teraz, po roku testowania (a elementem, kt\u00f3ry s\u0142u\u017cy\u0142 za kr\u00f3lika do\u015bwiadczalnego by\u0142 Wikipediowy Search), praktyka potwierdzi\u0142a, \u017ce to by\u0142 dobry wyb\u00f3r i Vue oficjalnie ju\u017c sta\u0142 si\u0119 \u201cnamaszczon\u0105 technologi\u0105\u201d w ramach stacku Wikimedia.<\/p>\n<p>Jakich zmian nale\u017cy si\u0119 spodziewa\u0107? Fundacja Wikimedia stworzy\u0142a zesp\u00f3\u0142 Wikimedia Design System, kt\u00f3rego celem b\u0119dzie stworzenie biblioteki komponent\u00f3w oraz opracowanie planu migracji Wiki na kt\u00f3re\u015b z nowych wyda\u0144 Vue. Prace maj\u0105 by\u0107 publiczne (co jest bardzo mocno zakorzenione w DNA Wikimedii), dlatego te\u017c podejrzewam, \u017ce to nie ostatnie og\u0142oszenie w tym temacie.<\/p>\n<p>https:\/\/www.youtube.com\/watch?v=OrxmtDw4pVI<\/p>\n<p>W tym wa\u017cnym dla Vue momencie nie mo\u017cemy nie przypomnie\u0107 o istnieniu \u201cVue The Documentary\u201d - fantastycznego dokumentu przedstawiaj\u0105cego historie ca\u0142ego projektu, nakr\u0119conego z i\u015bcie kinowym sznytem. Polecamy!<span class=\"-mobiledoc-kit__atom\">\u200c\u200c<\/span><\/p>\n<h3 id=\"%C5%BAr%C3%B3d%C5%82a\">\u0179r\u00f3d\u0142a<\/h3>\n<ul>\n<li><a href=\"https:\/\/news.ycombinator.com\/item?id=22625556\">RFC: Adopt a modern JavaScript framework for use with MediaWiki<\/a><\/li>\n<li><a href=\"https:\/\/www.youtube.com\/watch?v=OrxmtDw4pVI\">Vue.js: The Documentary<\/a><\/li>\n<li><a href=\"https:\/\/lists.wikimedia.org\/hyperkitty\/list\/wikitech-l@lists.wikimedia.org\/thread\/SOZREBYR36PUNFZXMIUBVAIOQI4N7PDU\/\">Vue.js has been selected as Wikimedia Foundation's future JavaScript framework - Wikitech-l<\/a><\/li>\n<\/ul>\n<h2 id=\"2-amazon-web-services-przestaje-wspiera%C4%87-internet-explorer-11-%F0%9F%AA%A6\"><a href=\"https:\/\/aws.amazon.com\/blogs\/aws\/heads-up-aws-support-for-internet-explorer-11-is-ending\/\">2. Amazon Web Services przestaje wspiera\u0107 Internet Explorer 11<\/a><\/h2>\n<p>Co prawda \u015bmier\u0107 Internet Explorera zosta\u0142a ju\u017c chyba ostatecznie przyklepana, s\u0119py kr\u0119c\u0105 ju\u017c k\u00f3\u0142ka nad jego truch\u0142em, ale w dalszym ci\u0105gu serduszko si\u0119 cieszy, kiedy kolejni wa\u017cni graczej rezygnuj\u0105 ze wsparcia tej przegl\u0105darki.<\/p>\n<figure class=\"kg-card kg-image-card kg-card-hascaption\"><img class=\"kg-image\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/img_6128bae114ba4.png\" alt=\"\" \/>\n<p>\u00a0<\/p>\n<figcaption>Po prostu niekt\u00f3rych rzeczy nie da si\u0119 odzobaczy\u0107<\/figcaption>\n<\/figure>\n<p>O ile g\u0142\u00f3wny Amazon przez lata b\u0119dzie pewnie jeszcze wspiera\u0142 Internet Explorera (nie zdziwi\u0142bym si\u0119, je\u015bli podstawowy flow zakupowy da\u0142oby si\u0119 wykona\u0107 nawet na IE 6), o tyle narz\u0119dzia dla tak zwanego \u201cpower usera\u201d mog\u0105 sobie pozwoli\u0107 na znacznie wi\u0119cej. Dlatego te\u017c ko\u0144c\u00f3wk\u0105 lipca Amazon Web Services rozpocz\u0119\u0142y proces ostatecznego pozbywania si\u0119 wsparcia dla przegl\u0105darki. Ca\u0142o\u015b\u0107 potrwa\u0107 ma przez rok - konsola tej popularnej chmury od 31 lipca 2021 przechodzi w tryb \u0142atania b\u0142\u0119d\u00f3w, by ostatecznie pozby\u0107 si\u0119 balastu wraz 1 sierpnia 2022.<\/p>\n<figure class=\"kg-card kg-image-card kg-card-hascaption\"><img class=\"kg-image\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/img_6128bae1aef91.gif\" alt=\"\" \/>\n<p>\u00a0<\/p>\n<figcaption>Wiem, \u017ce wiadomo\u015b\u0107 ta jest bardzo hermetyczna, nieco z \u201cbackendo-devopsowego\u201d poletka, ale te\u017c pracowa\u0142em kiedy\u015b na froncie. W dalszym ci\u0105gu ka\u017cde tego typu og\u0142oszenie powoduje jak\u0105\u015b m\u015bciw\u0105 satysfakcje.<\/figcaption>\n<\/figure>\n<p>Umar\u0142 kr\u00f3l, niech \u017cyje kr\u00f3l. W spo\u0142eczno\u015bci co pewien czas wraca temat godnego nast\u0119pcy dla nies\u0142awnego IE, kt\u00f3rym mia\u0142oby by\u0107 Safari. Ostatnimi czasy znowu popularno\u015b\u0107 zdoby\u0142 napisany <a href=\"https:\/\/blog.perrysun.com\/2021\/07\/15\/for-developers-safari-is-crap-and-outdated\/\">w mocno krytycznym tonie tekst<\/a>, sugeruj\u0105cy z\u0142\u0105 wol\u0119 Apple i ch\u0119\u0107 utrzymania monopolu AppStore. Nie da si\u0119 bowiem ukry\u0107, \u017ce to nie Microsoft, a w\u0142a\u015bnie sadownicza firma z Cupertino jest obecnie g\u0142\u00f3wnym hamulcowym je\u015bli chodzi o wdra\u017canie nowych standard\u00f3w webowych.<\/p>\n<figure class=\"kg-card kg-image-card kg-card-hascaption\"><img class=\"kg-image\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/img_6128bae20bba5.png\" alt=\"\" \/>\n<p>\u00a0<\/p>\n<figcaption>Niby przesta\u0142em ju\u017c liczy\u0107, \u017ce kiedykolwiek doczekamy si\u0119 dobrego wsparcia dla PWA, ale wci\u0105\u017c si\u0119 \u0142udz\u0119<\/figcaption>\n<\/figure>\n<h3 id=\"%C5%BAr%C3%B3d%C5%82a-1\">\u0179r\u00f3d\u0142a<\/h3>\n<ul>\n<li><a href=\"https:\/\/blog.perrysun.com\/2021\/07\/15\/for-developers-safari-is-crap-and-outdated\/\">For developers, Apple\u2019s Safari is crap and outdated<\/a><\/li>\n<li><a href=\"https:\/\/aws.amazon.com\/blogs\/aws\/heads-up-aws-support-for-internet-explorer-11-is-ending\/\">Heads-Up: AWS Support for Internet Explorer 11 is Ending | Amazon Web Services<\/a><\/li>\n<\/ul>\n<h2 id=\"3-tajemnica-pakietu-npm-%E2%80%98-%E2%80%99-%F0%9F%95%B5%EF%B8%8F%E2%80%8D%E2%99%80%EF%B8%8F\">3. <a href=\"https:\/\/www.bleepingcomputer.com\/news\/software\/empty-npm-package-has-over-700-000-downloads-heres-why\/\">Tajemnica pakietu npm \u2018-\u2019 \ufe0f\u200d\u2640\ufe0f<\/a><\/h2>\n<p>A na koniec, tragikomedia z happy-endem w \u015bwiecie npma.<\/p>\n<p>W zesz\u0142ym tygodniu internet odkry\u0142, \u017ce tajemniczy, jednoliterowy pakiet npm o nazwie \u201e-\u201d, znajduj\u0105cy si\u0119 w rejestrze od 2020 r., otrzyma\u0142 ponad 700 000 pobra\u0144. Co wi\u0119cej, mimo, \u017ce nie zawiera \u017cadnego sensownego kodu, jest zale\u017cno\u015bci\u0105 ponad pi\u0119\u0107dziesi\u0119ciu r\u00f3\u017cnych pakiet\u00f3w. Co mog\u0142o si\u0119 wydarzy\u0107? Czy to nowa forma wysublimowanego ataku?<\/p>\n<figure class=\"kg-card kg-image-card kg-card-hascaption\"><img class=\"kg-image\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/img_6128bae26bef8.gif\" alt=\"\" \/>\n<p>\u00a0<\/p>\n<figcaption>Stali bywalcy npm-owych dram pewnie ju\u017c si\u0119 domy\u015blaj\u0105, w jakim kierunku ta opowie\u015b\u0107 zmierza.<\/figcaption>\n<\/figure>\n<p>Co sprawi\u0142o, \u017ce tak du\u017ca ilo\u015b\u0107 projekt\u00f3w do\u0142o\u017cy\u0142a pakiet nie daj\u0105cy \u017cadnych konkretnych profit\u00f3w? G\u0142\u00f3wn\u0105 teori\u0105 jest\u2026 b\u0142\u0105d programist\u00f3w. NPM jest znany ze swojej podatno\u015bci na ataki typosquatting, polegaj\u0105ce na wykorzystywaniu ma\u0142ych b\u0142\u0119d\u00f3w programist\u00f3w (kto nigdy si\u0119 nie pomyli\u0142 we wpisywaniu nazwy biblioteki w shellu chc\u0105c j\u0105 do\u0142ozy\u0107 do package.json niech pierwszy rzuci kamie\u0144) - temat zosta\u0142 bardzo <a href=\"https:\/\/snyk.io\/blog\/typosquatting-attacks\/\">fajnie opracowany przez snyk.io<\/a>. Tutaj raczej nie ma mowy o liter\u00f3wce, a raczej pr\u00f3bie podania do komendy dodatkowej flagi w niepoprawny spos\u00f3b.<\/p>\n<pre><code>npm i - someFlag somepackage<\/code><\/pre>\n<p>Sk\u0105d jednak pakiet o nazwie \u201c-\u201d? Dyskusja zatoczy\u0142a tak szalone kr\u0119gi, \u017ce g\u0142os zabra\u0142 w niej sam autor pakietu, kt\u00f3ry zarzeka si\u0119, \u017ce nie mia\u0142 \u017cadnych z\u0142ych zamiar\u00f3w.<\/p>\n<p>Cytuj\u0105c autora:<\/p>\n<blockquote>\n<p>Pierwotnie opublikowa\u0142em kontrowersyjny pakiet, aby sprawdzi\u0107, czy \u201e-\u201d jest prawid\u0142ow\u0105 nazw\u0105 pakietu zgodnie z regu\u0142ami nazewnictwa. Okaza\u0142o si\u0119 \u017ce tak, mo\u017cna r\u00f3wnie\u017c przyk\u0142adowo opublikowa\u0107 pakiet pod nazw\u0105 \u201e--\u201d<\/p>\n<\/blockquote>\n<p>Obiecuje on te\u017c dodatkowo zabezpieczy\u0107 pakiet, \u017ceby wywala\u0142 b\u0142\u0105d ka\u017cdorazowo gdy kto\u015b pr\u00f3buje go zainstalowa\u0107.<\/p>\n<p>Co prawda tym razem obesz\u0142o si\u0119 bez wi\u0119kszych ofiar, ale sytuacja po raz kolejny pokazuje, jak ze wzgl\u0119du na wygod\u0119 u\u017cytkowania i og\u00f3lny \u201cdeveloper experience\u201d, npm podatny jest na pomy\u0142ki programist\u00f3w.<\/p>\n<figure class=\"kg-card kg-image-card kg-card-hascaption\"><img class=\"kg-image\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/img_6128bae2cdfd7.png\" alt=\"\" \/>\n<p>\u00a0<\/p>\n<figcaption>Mo\u017ce lepiej w t\u0105 stron\u0119 i mie\u0107 od czasu do czasu t\u0105 nieuniknion\u0105 dram\u0119?<\/figcaption>\n<\/figure>\n<h3 id=\"%C5%BAr%C3%B3d%C5%82o\">\u0179r\u00f3d\u0142o<\/h3>\n<ul>\n<li><a href=\"https:\/\/snyk.io\/blog\/typosquatting-attacks\/\">Typosquatting attacks<\/a><\/li>\n<li><a href=\"https:\/\/www.bleepingcomputer.com\/news\/software\/empty-npm-package-has-over-700-000-downloads-heres-why\/\">Empty npm package '-' has over 700,000 downloads \u2014 here's why<\/a><\/li>\n<\/ul>\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p><\/p>\n","innerContent":["\n<p><\/p>\n"]}],"_links":{"self":[{"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/posts\/10101","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=10101"}],"version-history":[{"count":1,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/posts\/10101\/revisions"}],"predecessor-version":[{"id":10628,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/posts\/10101\/revisions\/10628"}],"wp:attachment":[{"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/media?parent=10101"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/categories?post=10101"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/tags?post=10101"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}