{"id":10151,"date":"2021-04-17T09:00:00","date_gmt":"2021-04-17T07:00:00","guid":{"rendered":"https:\/\/vived.io\/software-craftsmanship-saturday-vol-33\/"},"modified":"2022-09-19T13:20:13","modified_gmt":"2022-09-19T11:20:13","slug":"software-craftsmanship-saturday-vol-33","status":"publish","type":"post","link":"https:\/\/vived.io\/pl\/software-craftsmanship-saturday-vol-33\/","title":{"rendered":"Software Craftsmanship Saturday vol. 33"},"content":{"rendered":"<h2 id=\"1-nowa-metoda-search-zaproponowana-jako-rozwiniecie-http\" data-num=1>1. Nowa Metoda SEARCH zaproponowana jako rozwini\u0119cie HTTP<\/h2>\n<p>Propozycja dodania nowej metody w HTTP to nie jest ma\u0142a rzecz &#8211; ostatni raz co\u015b takiego wydarzy\u0142o si\u0119 wraz z opublikowanie HTTP\/1.1 w roku 1999, ponad 20 lat temu. Dlatego te\u017c informacja o opublikowaniu przez IETF &#8211; Internet Engineering Task Force &#8211; proposala dotycz\u0105cego dodania do protoko\u0142u (obok dobrze znanych metod pokroju GETa i POSTa, czy te\u017c mniej znanych TRACE i CONNECT) metody SEARCH z pewno\u015bci\u0105 jest du\u017cym wydarzeniem. Wydarzeniem bliskim memu sercu poniewa\u017c wielokrotnie przy pracy z RESTowymi API musia\u0142em obchodzi\u0107 ograniczenia HTTP &#8211; ograniczenia, kt\u00f3re SEARCH ma zniwelowa\u0107.<\/p>\n<p>Wyobra\u017acie sobie, \u017ce macie zaprojektowa\u0107 API pozwalaj\u0105ce na wygodne wyszukiwanie danych za pomoc\u0105 kilku r\u00f3\u017cnych parametr\u00f3w &#8211; niech to b\u0119dzie cho\u0107by API geolokalizacyjne, gdzie dana encja mo\u017ce by\u0107 wyszukana np. po odleg\u0142o\u015bci od konkretnych koordynat, ale r\u00f3wnie\u017c np. po typie. W momencie kiedy tych parametr\u00f3w pojawia si\u0119 du\u017co, bardzo trudno modeluje si\u0119 je za pomoc\u0105 &#8222;query parametr\u00f3w&#8221; GETa &#8211; niestety, link okazuje si\u0119 by\u0107 wtedy mocno nieczytelny. Nieco lepiej sprawa wygl\u0105da je\u015bli u\u017cyjemy metody POST i nasze zapytanie stanie si\u0119 JSONem, czego prekursorem (a przynajmniej wokalnym adwokatem) swego czasu <a href=\"https:\/\/dropbox.tech\/developers\/limitations-of-the-get-method-in-http\">by\u0142 Dropbox<\/a>. Niestety, r\u00f3wnie\u017c to podej\u015bcie, mimo swojej niew\u0105tpliwie lepszej ekspresywno\u015bci, <a href=\"https:\/\/evertpot.com\/dropbox-post-api\/\">posiada mas\u0119 problem\u00f3w<\/a>, w\u015br\u00f3d kt\u00f3rych warto wymieni\u0107 cho\u0107by fakt braku wsparcia dla cache.<\/p>\n<p>SEARCH mo\u017cna rozumie\u0107 jako form\u0119 GETa posiadaj\u0105cego r\u00f3wnie\u017c \u201ccia\u0142o\u201d. Ca\u0142o\u015b\u0107 przydatna b\u0119dzie nie tylko w opisanym przeze mnie powy\u017cej przypadku, ale r\u00f3wnie\u017c jako standardowy protok\u00f3\u0142 transferowy dla zdobywaj\u0105cego coraz wi\u0119ksz\u0105 popularno\u015b\u0107 GraphQL &#8211; jego tw\u00f3rcy <a href=\"https:\/\/github.com\/graphql\/graphql-over-http\/blob\/main\/ROADMAP.md\">ju\u017c ostrz\u0105 sobie z\u0119by na jego u\u017cycie<\/a>.<\/p>\n<figure class=\"kg-card kg-image-card kg-card-hascaption\"><img loading=\"lazy\" decoding=\"async\" class=\"kg-image\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/3_image-12.png\" alt=\"\" width=\"598\" height=\"598\"><figcaption>GraphQL znany jest z tego, \u017ce do\u015b\u0107 frywolnie podchodzi do u\u017cywania metod GET i POST<\/figcaption><\/figure>\n<p>Proponowana obecnie implementacja ma bazowa\u0107 na implementacji <a href=\"https:\/\/tools.ietf.org\/html\/rfc5323\">SEARCH udost\u0119pnionej w ramach WebDAV<\/a> (rozszerzeniu HTTP, pozwalaj\u0105cym na zarz\u0105dzanie i kontrol\u0119 wersji plik\u00f3w na serwerze WWW). Ma to sprawi\u0107, \u017ce istniej\u0105ce serwery Proxy powinny by\u0107 w stanie pos\u0142u\u017cy\u0107 si\u0119 bez wi\u0119kszych rewolucji.<\/p>\n<p>Oczywi\u015bcie, dodanie przed tw\u00f3rcami implementacji czai si\u0119 troch\u0119 problem\u00f3w (bardzo dobrze opisanych w <a href=\"https:\/\/httptoolkit.tech\/blog\/http-search-method\/\">artykule od HTTP Toolkit<\/a>), a adopcja ca\u0142o\u015bci pewnie zajmie chwil\u0119, osobi\u015bcie bardzo czekam. Je\u015bli wszystko p\u00f3jdzie zgodnie z planami tw\u00f3rc\u00f3w, uzyskamy bardzo przydatn\u0105 opcj\u0119 przy projektowaniu API.<\/p>\n<p>PS: W temacie HTTP &#8211; Firefox doda\u0142 <a href=\"https:\/\/hacks.mozilla.org\/2021\/04\/quic-and-http-3-support-now-in-firefox-nightly-and-beta\/\">wsparcie HTTP\/3 w swoich wersjach rozwojowych<\/a>.<\/p>\n<p><strong>\u0179r\u00f3d\u0142a:<\/strong><\/p>\n<ul>\n<li><a href=\"https:\/\/dropbox.tech\/developers\/limitations-of-the-get-method-in-http\">Limitations of the GET method in HTTP by Dropbox<\/a><\/li>\n<li><a href=\"https:\/\/evertpot.com\/dropbox-post-api\/\">Dropbox starts using POST, and why this is poor API design.<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/graphql\/graphql-over-http\/blob\/main\/ROADMAP.md\">GraphQL over HTTP Specification Roadmap<\/a><\/li>\n<li><a href=\"https:\/\/tools.ietf.org\/html\/rfc5323\">Web Distributed Authoring and Versioning (WebDAV) SEARCH<\/a><\/li>\n<li><a href=\"https:\/\/httptoolkit.tech\/blog\/http-search-method\/\">Defining a new HTTP method: HTTP SEARCH<\/a><\/li>\n<li><a href=\"https:\/\/hacks.mozilla.org\/2021\/04\/quic-and-http-3-support-now-in-firefox-nightly-and-beta\/\">QUIC and HTTP\/3 Support now in Firefox Nightly and Beta<\/a><\/li>\n<\/ul>\n<h2 id=\"2-amazon-publikuje-fork-opensearch-elastic-sprzymierza-sie-z-kafka\" data-num=2>2. Amazon publikuje fork OpenSearch, Elastic sprzymierza si\u0119 z Kafk\u0105<\/h2>\n<p>Zmiana licencji ElasticSearch by\u0142a jednym z najbardziej kontrowersyjnych og\u0142osze\u0144 pierwszego kwarta\u0142u 2021 roku. Dla tych kt\u00f3rzy nie pami\u0119taj\u0105 &#8211; ca\u0142o\u015b\u0107 posz\u0142a o zmian\u0119 licencji tego bardzo popularnego silnika wyszukiwania pe\u0142notekstowego opartego na Apache Lucene &#8211; ca\u0142o\u015b\u0107 opisywali\u015bmy zreszt\u0105 ju\u017c dwukrotnie: najpierw <a href=\"https:\/\/blog.vived.io\/software-craftsmanship-saturday\/\">informuj\u0105c o ca\u0142ym zaj\u015bciu<\/a>, potem za\u015b <a href=\"https:\/\/blog.vived.io\/software-craftsmanship-saturday-21\/\">relacjonuj\u0105c reakcje spo\u0142eczno\u015bci<\/a>, w\u015br\u00f3d kt\u00f3rych na pierwszy plan wysz\u0142a zapowied\u017a <a href=\"https:\/\/aws.amazon.com\/blogs\/opensource\/introducing-opensearch\/\">forka projektu<\/a> tworzonego przez Amazon.<\/p>\n<p>Rzeczony fork ukaza\u0142 si\u0119 w tym tygodniu, udost\u0119pniaj\u0105c otwarte (w rozumieniu &#8211; oparte na licencji Apache) OpenSearch (oparte na Elasticsearch 7.10.2) oraz OpenSearch Dashboards (oparte o zbudowany na Elasticsearchu dashboard Kibana 7.10.2). Nie mog\u0119 pozby\u0107 si\u0119 wra\u017cenia, \u017ce Amazon celowo da\u0142 w nazwie nowych projekt\u00f3w Open, \u017ceby zagra\u0107 na nosie Elasticowi. Projekt rozwijany ma by\u0107 przez spo\u0142eczno\u015b\u0107, a opr\u00f3cz Amazona w projekt zaanga\u017cowane s\u0105 Red Hat, SAP, Capital One, oraz Logz.io. Wszystkie us\u0142ugi w ramach AWS zostan\u0105 oparte w\u0142a\u015bnie o t\u0105 dystrybucj\u0119 i przejd\u0105 stosowny rebranding.<\/p>\n<figure class=\"kg-card kg-image-card kg-card-hascaption\"><img loading=\"lazy\" decoding=\"async\" class=\"kg-image\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/tumblr_inline_np8l7ervhD1raprkq_500-1.gif\" alt=\"\" width=\"500\" height=\"280\">&nbsp;<figcaption>Bo wiecie, Amazon robi to z mi\u0142o\u015bci do otwartego oprogramowania i w og\u00f3le&#8230;<\/figcaption><\/figure>\n<p>Oczywi\u015bcie, to \u017ce OpenSearch zyska\u0142 nieco \u015bwiat\u0142a reflektor\u00f3w nie oznacza wcale, \u017ce Elastic.co z\u0142o\u017cy\u0142 bro\u0144. <a href=\"https:\/\/www.elastic.co\/blog\/elastic-and-confluent-partner-to-deliver-an-enhanced-kafka-elasticsearch-experience\">Sprzymierzy\u0142 si\u0119 on z innym znacz\u0105cym graczem &#8211; zajmuj\u0105cym si\u0119 rozwojem Kafki Confluentem<\/a>. Obie firmy zapowiedzia\u0142y strategiczne partnerstwo, kt\u00f3rego pierwszym owocem jest oficjalny \u201cconnector\u201d \u0142\u0105cz\u0105cy Elastic Cloud i Confluent Cloud. Ciekawe czy przysz\u0142o\u015b\u0107, kt\u00f3ra nam si\u0119 rysuje, to w\u0142a\u015bnie walka \u201czintegrowanych\u201d chmur typu AWS czy Azure z lu\u017ano powi\u0105zanymi, wyspecjalizowanymi rozwi\u0105zaniami typu MongoDB Atlas czy wspomniana wy\u017cej dw\u00f3jka. Temat jest ciekawy i je\u015bli kto\u015b jest nim zainteresowany to Corey Quinn (kt\u00f3rego tekst zreszt\u0105 znalaz\u0142 si\u0119 w naszej poprzedniej edycji) pope\u0142ni\u0142 swego czasu <a href=\"https:\/\/www.lastweekinaws.com\/blog\/how-to-compete-with-aws\/\">ciekawy esej na temat tego jakie opcje maj\u0105 firmy chc\u0105ce konkurowa\u0107 z du\u017cymi chmurami<\/a>.<\/p>\n<p><strong>\u0179r\u00f3d\u0142a:<\/strong><\/p>\n<ul>\n<li><a href=\"https:\/\/aws.amazon.com\/blogs\/opensource\/introducing-opensearch\/\">Introducing OpenSearch<\/a><\/li>\n<li><a href=\"https:\/\/www.elastic.co\/blog\/elastic-and-confluent-partner-to-deliver-an-enhanced-kafka-elasticsearch-experience\">Elastic and Confluent partner to deliver an enhanced Kafka + Elasticsearch experience<\/a><\/li>\n<li><a href=\"https:\/\/www.lastweekinaws.com\/blog\/how-to-compete-with-aws\/\">How to Compete with AWS<\/a><\/li>\n<\/ul>\n<h2 id=\"3-procesor-m1-nie-daje-o-sobie-zapomniec\" data-num=3>3. Procesor M1 nie daje o sobie zapomnie\u0107<\/h2>\n<p>A na zako\u0144czenie co\u015b dla fan\u00f3w jab\u0142ek &#8211; ale zaskakuj\u0105co nie tylko ich. &nbsp;<\/p>\n<p>Tak jak pocz\u0105tkiem tego roku sp\u00f3r Elastic vs AWS rozpala\u0142 wyobra\u017anie, tak z pewno\u015bci\u0105 ko\u0144c\u00f3wka zesz\u0142ego nale\u017ca\u0142a do procesor\u00f3w M1 zaprezentowanych przez Apple. Wszyscy zastanawiali si\u0119 jak <a href=\"https:\/\/debugger.medium.com\/why-is-apples-m1-chip-so-fast-3262b158cba2\">to mo\u017cliwe, \u017ce s\u0105<br \/>\na\u017c tak wydajne<\/a>, pojawi\u0142a si\u0119 te\u017c cho\u0107by strona <a href=\"https:\/\/isapplesiliconready.com\/\">listuj\u0105ca poziom kompatybilno\u015bci oprogramowania z t\u0105 architektur\u0105 procesora<\/a>.<\/p>\n<p>Dla wielu programist\u00f3w problematycznym przy podejmowaniu decyzji o przej\u015bciu na now\u0105 architektur\u0119 by\u0142 fakt, \u017ce jednym z program\u00f3w nie tylko nie dzia\u0142aj\u0105cych na M1 natywnie, ale r\u00f3wnie\u017c posiadaj\u0105cym problemy z \u015brodowiskiem translacyjnym Rosetta 2 by\u0142 niezb\u0119dny dla wielu Docker. Na szcz\u0119\u015bcie je\u015bli to by\u0142o dla was g\u0142\u00f3wn\u0105 przeszkod\u0105 przed zaopatrzeniem si\u0119 w komputery nap\u0119dzane krzemem od Apple to mamy przyjemno\u015b\u0107 poinformowa\u0107, \u017ce w zesz\u0142y czwartek <a href=\"https:\/\/www.docker.com\/blog\/released-docker-desktop-for-mac-apple-silicon\/\">Docker og\u0142osi\u0142 pierwsze oficjalne wydanie na M1<\/a>.<\/p>\n<figure class=\"kg-card kg-image-card\"><img loading=\"lazy\" decoding=\"async\" class=\"kg-image\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/1_giphy-5.gif\" alt=\"\" width=\"500\" height=\"280\"><\/figure>\n<p>Ca\u0142o\u015b\u0107 okaza\u0142a si\u0119 mo\u017cliwa dzi\u0119ki temu, \u017ce w lutym Go (b\u0119d\u0105ce g\u0142\u00f3wnym j\u0119zykiem programowania u\u017cywanym w ramach Dockera) <a href=\"https:\/\/www.zdnet.com\/article\/go-programming-language-just-added-native-support-for-apples-mac-m1-arm-chip\/\">wypu\u015bci\u0142o swoje wsparcie dla nowych Mac\u00f3w<\/a>. Je\u017celi doda\u0107 do tego fakt, \u017ce <a href=\"https:\/\/brew.sh\/2021\/02\/05\/homebrew-3.0.0\/\">Homebrew r\u00f3wnie\u017c jest ju\u017c dost\u0119pne na nowej platformie<\/a>, coraz mniej przeszk\u00f3d stoi przed osobami chc\u0105cymi zaopatrzy\u0107 si\u0119 w nowiutkie komputery od Apple&#8230;<\/p>\n<figure class=\"kg-card kg-image-card\"><img loading=\"lazy\" decoding=\"async\" class=\"kg-image\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/aEP52Qe_460s.jpg\" alt=\"\" width=\"460\" height=\"258\"><\/figure>\n<p>&#8230;zw\u0142aszcza, \u017ce okazuje si\u0119 i\u017c sprz\u0119t ten staje si\u0119 coraz bardziej uniwersalny. Ot\u00f3\u017c <a href=\"https:\/\/arstechnica.com\/gadgets\/2021\/04\/apple-m1-hardware-support-merged-into-linux-5-13\">do j\u0105dra Linuxa trafi\u0142a poprawka<\/a> umo\u017cliwiaj\u0105ca uruchomienie tego systemu na procesorach z rodziny M1. Ze wzgl\u0119du na fakt, \u017ce Apple nie wypu\u015bci\u0142o pe\u0142nej specyfikacji swoich procesor\u00f3w, ca\u0142o\u015b\u0107 pracy opiera si\u0119 na in\u017cynierii wstecznej. Wspomniana poprawka jest pierwszym krokiem w tym prawdopodobnie \u017cmudnym procesie &#8211; na ten moment np. nie uda\u0142o si\u0119 jeszcze rozpracowa\u0107 jak dzia\u0142a GPU, przez co ca\u0142o\u015b\u0107 obs\u0142ugiwa\u0107 mo\u017cna jedynie z poziomu terminala, nie dzia\u0142a te\u017c wi\u0119kszo\u015b\u0107 sterownik\u00f3w.<\/p>\n<figure class=\"kg-card kg-image-card kg-card-hascaption\"><img loading=\"lazy\" decoding=\"async\" class=\"kg-image\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/6_image-13.png\" sizes=\"auto, (min-width: 720px) 720px\" srcset=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/7_image-13.png 600w, https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/6_image-13.png 800w\" alt=\"\" width=\"800\" height=\"450\">&nbsp;<figcaption>Przed programistami wi\u0119c jeszcze d\u0142uga droga, ale sam fakt \u017ce kto\u015b postanowi\u0142 po\u0142o\u017cy\u0107 kamie\u0144 w\u0119gielny pod ten proces jest godne szacunku.&nbsp;<\/figcaption><\/figure>\n<p><strong>\u0179r\u00f3d\u0142a:<\/strong><\/p>\n<ul>\n<li><a href=\"https:\/\/debugger.medium.com\/why-is-apples-m1-chip-so-fast-3262b158cba2\">Why Is Apple\u2019s M1 Chip So Fast?<\/a><\/li>\n<li><a href=\"https:\/\/isapplesiliconready.com\/\">Is Apple Silicon Ready?<\/a><\/li>\n<li><a href=\"https:\/\/www.docker.com\/blog\/released-docker-desktop-for-mac-apple-silicon\/\">Released: Docker Desktop for Mac [Apple Silicon]<\/a><\/li>\n<li><a href=\"https:\/\/www.zdnet.com\/article\/go-programming-language-just-added-native-support-for-apples-mac-m1-arm-chip\/\">Go programming language just added native support for Apple&#8217;s Mac M1 Arm chip<\/a><\/li>\n<li><a href=\"https:\/\/arstechnica.com\/gadgets\/2021\/04\/apple-m1-hardware-support-merged-into-linux-5-13\/\">Apple M1 hardware support merged into Linux 5.13<\/a><\/li>\n<\/ul>\n<h2 id=\"bonus-ukazal-sie-nowy-technology-radar-od-thoughtworks\" data-num=4>Bonus: <a href=\"https:\/\/www.thoughtworks.com\/radar\">ukaza\u0142 si\u0119 nowy Technology Radar od ThoughtWorks<\/a><\/h2>\n<p>A w nim jak zwykle masa interesuj\u0105cych rynkowych trend\u00f3w kt\u00f3re in\u017cynierowie firmy zauwa\u017cyli pracuj\u0105c z najwi\u0119kszymi klientami na ca\u0142ym \u015bwiecie.<\/p>\n<p>Dzisiaj informujemy o tym mocno symbolicznie, bowiem mamy w planach jeszcze do tematu Technology Radaru wr\u00f3ci\u0107 . Stay Tuned.<\/p>\n<hr>\n<p>I pami\u0119tajcie, \u017ceby spr\u00f3bowa\u0107 <a href=\"https:\/\/blog.vived.io\/keep-up-czyli-o-tym-jak-byc-na-biezaco-bez-uczucia-przytloczenia-contentem\/\"><strong>Vived<\/strong><\/a>, je\u015bli chcesz otrzymywa\u0107 tego typu tre\u015bci spersonalizowane pod Ciebie!<\/p>\n<ul>\n<li><a href=\"https:\/\/apple.co\/3fB8Kcf\" rel=\"nofollow noopener\">App Store<\/a><\/li>\n<li><a href=\"https:\/\/bit.ly\/3m421dx\" rel=\"nofollow noopener\">Play Store<\/a><\/li>\n<li><a href=\"http:\/\/bit.ly\/2M7CeUN\">Wersja PWA<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Witamy w kolejn\u0105 sobot\u0119. Dzisiaj mamy dla Was now\u0105 (\u203c) metod\u0119 w HTTP, ci\u0105g dalszy wojny Amazon vs Elastic, a tak\u017ce wa\u017cne\/ciekawe og\u0142oszenia dotycz\u0105ce procesora M1.<\/p>\n<p>Zapraszamy do lektury \ud83d\ude03<\/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":[266],"tags":[],"class_list":["post-10151","post","type-post","status-publish","format-standard","hentry","category-craftsmanship"],"acf":{"weekly_summary":true,"estimated_reading_time":"6"},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.0 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Software Craftsmanship Saturday vol. 33 - 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\/software-craftsmanship-saturday-vol-33\/\" \/>\n<meta property=\"og:locale\" content=\"pl_PL\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Software Craftsmanship Saturday vol. 33 - Vived\" \/>\n<meta property=\"og:description\" content=\"Witamy w kolejn\u0105 sobot\u0119. Dzisiaj mamy dla Was now\u0105 (\u203c) metod\u0119 w HTTP, ci\u0105g dalszy wojny Amazon vs Elastic, a tak\u017ce wa\u017cne\/ciekawe og\u0142oszenia dotycz\u0105ce procesora M1. Zapraszamy do lektury \ud83d\ude03\" \/>\n<meta property=\"og:url\" content=\"https:\/\/vived.io\/pl\/software-craftsmanship-saturday-vol-33\/\" \/>\n<meta property=\"og:site_name\" content=\"Vived\" \/>\n<meta property=\"article:published_time\" content=\"2021-04-17T07:00:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-09-19T11:20:13+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/3_image-12.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\/software-craftsmanship-saturday-vol-33\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/vived.io\/pl\/software-craftsmanship-saturday-vol-33\/\"},\"author\":{\"name\":\"Artur Skowro\u0144ski\",\"@id\":\"https:\/\/vived.io\/pl\/#\/schema\/person\/0eb0878110cb27edfbfe46e841fe6db3\"},\"headline\":\"Software Craftsmanship Saturday vol. 33\",\"datePublished\":\"2021-04-17T07:00:00+00:00\",\"dateModified\":\"2022-09-19T11:20:13+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/vived.io\/pl\/software-craftsmanship-saturday-vol-33\/\"},\"wordCount\":1335,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/vived.io\/pl\/#organization\"},\"image\":{\"@id\":\"https:\/\/vived.io\/pl\/software-craftsmanship-saturday-vol-33\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/3_image-12.png\",\"articleSection\":[\"Craftsmanship\"],\"inLanguage\":\"pl-PL\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/vived.io\/pl\/software-craftsmanship-saturday-vol-33\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/vived.io\/pl\/software-craftsmanship-saturday-vol-33\/\",\"url\":\"https:\/\/vived.io\/pl\/software-craftsmanship-saturday-vol-33\/\",\"name\":\"Software Craftsmanship Saturday vol. 33 - Vived\",\"isPartOf\":{\"@id\":\"https:\/\/vived.io\/pl\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/vived.io\/pl\/software-craftsmanship-saturday-vol-33\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/vived.io\/pl\/software-craftsmanship-saturday-vol-33\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/3_image-12.png\",\"datePublished\":\"2021-04-17T07:00:00+00:00\",\"dateModified\":\"2022-09-19T11:20:13+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/vived.io\/pl\/software-craftsmanship-saturday-vol-33\/#breadcrumb\"},\"inLanguage\":\"pl-PL\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/vived.io\/pl\/software-craftsmanship-saturday-vol-33\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\/\/vived.io\/pl\/software-craftsmanship-saturday-vol-33\/#primaryimage\",\"url\":\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/3_image-12.png\",\"contentUrl\":\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/3_image-12.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/vived.io\/pl\/software-craftsmanship-saturday-vol-33\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Strona g\u0142\u00f3wna\",\"item\":\"https:\/\/vived.io\/pl\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Software Craftsmanship Saturday vol. 33\"}]},{\"@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":"Software Craftsmanship Saturday vol. 33 - 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\/software-craftsmanship-saturday-vol-33\/","og_locale":"pl_PL","og_type":"article","og_title":"Software Craftsmanship Saturday vol. 33 - Vived","og_description":"Witamy w kolejn\u0105 sobot\u0119. Dzisiaj mamy dla Was now\u0105 (\u203c) metod\u0119 w HTTP, ci\u0105g dalszy wojny Amazon vs Elastic, a tak\u017ce wa\u017cne\/ciekawe og\u0142oszenia dotycz\u0105ce procesora M1. Zapraszamy do lektury \ud83d\ude03","og_url":"https:\/\/vived.io\/pl\/software-craftsmanship-saturday-vol-33\/","og_site_name":"Vived","article_published_time":"2021-04-17T07:00:00+00:00","article_modified_time":"2022-09-19T11:20:13+00:00","og_image":[{"url":"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/3_image-12.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\/software-craftsmanship-saturday-vol-33\/#article","isPartOf":{"@id":"https:\/\/vived.io\/pl\/software-craftsmanship-saturday-vol-33\/"},"author":{"name":"Artur Skowro\u0144ski","@id":"https:\/\/vived.io\/pl\/#\/schema\/person\/0eb0878110cb27edfbfe46e841fe6db3"},"headline":"Software Craftsmanship Saturday vol. 33","datePublished":"2021-04-17T07:00:00+00:00","dateModified":"2022-09-19T11:20:13+00:00","mainEntityOfPage":{"@id":"https:\/\/vived.io\/pl\/software-craftsmanship-saturday-vol-33\/"},"wordCount":1335,"commentCount":0,"publisher":{"@id":"https:\/\/vived.io\/pl\/#organization"},"image":{"@id":"https:\/\/vived.io\/pl\/software-craftsmanship-saturday-vol-33\/#primaryimage"},"thumbnailUrl":"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/3_image-12.png","articleSection":["Craftsmanship"],"inLanguage":"pl-PL","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/vived.io\/pl\/software-craftsmanship-saturday-vol-33\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/vived.io\/pl\/software-craftsmanship-saturday-vol-33\/","url":"https:\/\/vived.io\/pl\/software-craftsmanship-saturday-vol-33\/","name":"Software Craftsmanship Saturday vol. 33 - Vived","isPartOf":{"@id":"https:\/\/vived.io\/pl\/#website"},"primaryImageOfPage":{"@id":"https:\/\/vived.io\/pl\/software-craftsmanship-saturday-vol-33\/#primaryimage"},"image":{"@id":"https:\/\/vived.io\/pl\/software-craftsmanship-saturday-vol-33\/#primaryimage"},"thumbnailUrl":"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/3_image-12.png","datePublished":"2021-04-17T07:00:00+00:00","dateModified":"2022-09-19T11:20:13+00:00","breadcrumb":{"@id":"https:\/\/vived.io\/pl\/software-craftsmanship-saturday-vol-33\/#breadcrumb"},"inLanguage":"pl-PL","potentialAction":[{"@type":"ReadAction","target":["https:\/\/vived.io\/pl\/software-craftsmanship-saturday-vol-33\/"]}]},{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/vived.io\/pl\/software-craftsmanship-saturday-vol-33\/#primaryimage","url":"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/3_image-12.png","contentUrl":"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/3_image-12.png"},{"@type":"BreadcrumbList","@id":"https:\/\/vived.io\/pl\/software-craftsmanship-saturday-vol-33\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Strona g\u0142\u00f3wna","item":"https:\/\/vived.io\/pl\/"},{"@type":"ListItem","position":2,"name":"Software Craftsmanship Saturday vol. 33"}]},{"@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-nowa-metoda-search-zaproponowana-jako-rozwini%C4%99cie-http-%F0%9F%94%8D\">1. Nowa Metoda SEARCH zaproponowana jako rozwini\u0119cie HTTP<\/h2>\nPropozycja dodania nowej metody w HTTP to nie jest ma\u0142a rzecz - ostatni raz co\u015b takiego wydarzy\u0142o si\u0119 wraz z opublikowanie HTTP\/1.1 w roku 1999, ponad 20 lat temu. Dlatego te\u017c informacja o opublikowaniu przez IETF - Internet Engineering Task Force - proposala dotycz\u0105cego dodania do protoko\u0142u (obok dobrze znanych metod pokroju GETa i POSTa, czy te\u017c mniej znanych TRACE i CONNECT) metody SEARCH z pewno\u015bci\u0105 jest du\u017cym wydarzeniem. Wydarzeniem bliskim memu sercu poniewa\u017c wielokrotnie przy pracy z RESTowymi API musia\u0142em obchodzi\u0107 ograniczenia HTTP - ograniczenia, kt\u00f3re SEARCH ma zniwelowa\u0107.\n\nWyobra\u017acie sobie, \u017ce macie zaprojektowa\u0107 API pozwalaj\u0105ce na wygodne wyszukiwanie danych za pomoc\u0105 kilku r\u00f3\u017cnych parametr\u00f3w - niech to b\u0119dzie cho\u0107by API geolokalizacyjne, gdzie dana encja mo\u017ce by\u0107 wyszukana np. po odleg\u0142o\u015bci od konkretnych koordynat, ale r\u00f3wnie\u017c np. po typie. W momencie kiedy tych parametr\u00f3w pojawia si\u0119 du\u017co, bardzo trudno modeluje si\u0119 je za pomoc\u0105 \"query parametr\u00f3w\" GETa - niestety, link okazuje si\u0119 by\u0107 wtedy mocno nieczytelny. Nieco lepiej sprawa wygl\u0105da je\u015bli u\u017cyjemy metody POST i nasze zapytanie stanie si\u0119 JSONem, czego prekursorem (a przynajmniej wokalnym adwokatem) swego czasu <a href=\"https:\/\/dropbox.tech\/developers\/limitations-of-the-get-method-in-http\">by\u0142 Dropbox<\/a>. Niestety, r\u00f3wnie\u017c to podej\u015bcie, mimo swojej niew\u0105tpliwie lepszej ekspresywno\u015bci, <a href=\"https:\/\/evertpot.com\/dropbox-post-api\/\">posiada mas\u0119 problem\u00f3w<\/a>, w\u015br\u00f3d kt\u00f3rych warto wymieni\u0107 cho\u0107by fakt braku wsparcia dla cache.\n\nSEARCH mo\u017cna rozumie\u0107 jako form\u0119 GETa posiadaj\u0105cego r\u00f3wnie\u017c \u201ccia\u0142o\u201d. Ca\u0142o\u015b\u0107 przydatna b\u0119dzie nie tylko w opisanym przeze mnie powy\u017cej przypadku, ale r\u00f3wnie\u017c jako standardowy protok\u00f3\u0142 transferowy dla zdobywaj\u0105cego coraz wi\u0119ksz\u0105 popularno\u015b\u0107 GraphQL - jego tw\u00f3rcy <a href=\"https:\/\/github.com\/graphql\/graphql-over-http\/blob\/main\/ROADMAP.md\">ju\u017c ostrz\u0105 sobie z\u0119by na jego u\u017cycie<\/a>.\n<figure class=\"kg-card kg-image-card kg-card-hascaption\"><img class=\"kg-image\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/3_image-12.png\" alt=\"\" width=\"598\" height=\"598\"><figcaption>GraphQL znany jest z tego, \u017ce do\u015b\u0107 frywolnie podchodzi do u\u017cywania metod GET i POST<\/figcaption><\/figure>\nProponowana obecnie implementacja ma bazowa\u0107 na implementacji <a href=\"https:\/\/tools.ietf.org\/html\/rfc5323\">SEARCH udost\u0119pnionej w ramach WebDAV<\/a> (rozszerzeniu HTTP, pozwalaj\u0105cym na zarz\u0105dzanie i kontrol\u0119 wersji plik\u00f3w na serwerze WWW). Ma to sprawi\u0107, \u017ce istniej\u0105ce serwery Proxy powinny by\u0107 w stanie pos\u0142u\u017cy\u0107 si\u0119 bez wi\u0119kszych rewolucji.\n\nOczywi\u015bcie, dodanie przed tw\u00f3rcami implementacji czai si\u0119 troch\u0119 problem\u00f3w (bardzo dobrze opisanych w <a href=\"https:\/\/httptoolkit.tech\/blog\/http-search-method\/\">artykule od HTTP Toolkit<\/a>), a adopcja ca\u0142o\u015bci pewnie zajmie chwil\u0119, osobi\u015bcie bardzo czekam. Je\u015bli wszystko p\u00f3jdzie zgodnie z planami tw\u00f3rc\u00f3w, uzyskamy bardzo przydatn\u0105 opcj\u0119 przy projektowaniu API.\n\nPS: W temacie HTTP - Firefox doda\u0142 <a href=\"https:\/\/hacks.mozilla.org\/2021\/04\/quic-and-http-3-support-now-in-firefox-nightly-and-beta\/\">wsparcie HTTP\/3 w swoich wersjach rozwojowych<\/a>.\n\n<strong>\u0179r\u00f3d\u0142a:<\/strong>\n<ul>\n \t<li><a href=\"https:\/\/dropbox.tech\/developers\/limitations-of-the-get-method-in-http\">Limitations of the GET method in HTTP by Dropbox<\/a><\/li>\n \t<li><a href=\"https:\/\/evertpot.com\/dropbox-post-api\/\">Dropbox starts using POST, and why this is poor API design.<\/a><\/li>\n \t<li><a href=\"https:\/\/github.com\/graphql\/graphql-over-http\/blob\/main\/ROADMAP.md\">GraphQL over HTTP Specification Roadmap<\/a><\/li>\n \t<li><a href=\"https:\/\/tools.ietf.org\/html\/rfc5323\">Web Distributed Authoring and Versioning (WebDAV) SEARCH<\/a><\/li>\n \t<li><a href=\"https:\/\/httptoolkit.tech\/blog\/http-search-method\/\">Defining a new HTTP method: HTTP SEARCH<\/a><\/li>\n \t<li><a href=\"https:\/\/hacks.mozilla.org\/2021\/04\/quic-and-http-3-support-now-in-firefox-nightly-and-beta\/\">QUIC and HTTP\/3 Support now in Firefox Nightly and Beta<\/a><\/li>\n<\/ul>\n<h2 id=\"2-amazon-publikuje-fork-opensearch-elastic-sprzymierza-si%C4%99-z-kafk%C4%85-%F0%9F%8D%B4\">2. Amazon publikuje fork OpenSearch, Elastic sprzymierza si\u0119 z Kafk\u0105<\/h2>\nZmiana licencji ElasticSearch by\u0142a jednym z najbardziej kontrowersyjnych og\u0142osze\u0144 pierwszego kwarta\u0142u 2021 roku. Dla tych kt\u00f3rzy nie pami\u0119taj\u0105 - ca\u0142o\u015b\u0107 posz\u0142a o zmian\u0119 licencji tego bardzo popularnego silnika wyszukiwania pe\u0142notekstowego opartego na Apache Lucene - ca\u0142o\u015b\u0107 opisywali\u015bmy zreszt\u0105 ju\u017c dwukrotnie: najpierw <a href=\"https:\/\/blog.vived.io\/software-craftsmanship-saturday\/\">informuj\u0105c o ca\u0142ym zaj\u015bciu<\/a>, potem za\u015b <a href=\"https:\/\/blog.vived.io\/software-craftsmanship-saturday-21\/\">relacjonuj\u0105c reakcje spo\u0142eczno\u015bci<\/a>, w\u015br\u00f3d kt\u00f3rych na pierwszy plan wysz\u0142a zapowied\u017a <a href=\"https:\/\/aws.amazon.com\/blogs\/opensource\/introducing-opensearch\/\">forka projektu<\/a> tworzonego przez Amazon.\n\nRzeczony fork ukaza\u0142 si\u0119 w tym tygodniu, udost\u0119pniaj\u0105c otwarte (w rozumieniu - oparte na licencji Apache) OpenSearch (oparte na Elasticsearch 7.10.2) oraz OpenSearch Dashboards (oparte o zbudowany na Elasticsearchu dashboard Kibana 7.10.2). Nie mog\u0119 pozby\u0107 si\u0119 wra\u017cenia, \u017ce Amazon celowo da\u0142 w nazwie nowych projekt\u00f3w Open, \u017ceby zagra\u0107 na nosie Elasticowi. Projekt rozwijany ma by\u0107 przez spo\u0142eczno\u015b\u0107, a opr\u00f3cz Amazona w projekt zaanga\u017cowane s\u0105 Red Hat, SAP, Capital One, oraz Logz.io. Wszystkie us\u0142ugi w ramach AWS zostan\u0105 oparte w\u0142a\u015bnie o t\u0105 dystrybucj\u0119 i przejd\u0105 stosowny rebranding.\n<figure class=\"kg-card kg-image-card kg-card-hascaption\"><img class=\"kg-image\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/tumblr_inline_np8l7ervhD1raprkq_500-1.gif\" alt=\"\" width=\"500\" height=\"280\">&nbsp;\n\n<figcaption>Bo wiecie, Amazon robi to z mi\u0142o\u015bci do otwartego oprogramowania i w og\u00f3le...<\/figcaption><\/figure>\nOczywi\u015bcie, to \u017ce OpenSearch zyska\u0142 nieco \u015bwiat\u0142a reflektor\u00f3w nie oznacza wcale, \u017ce Elastic.co z\u0142o\u017cy\u0142 bro\u0144. <a href=\"https:\/\/www.elastic.co\/blog\/elastic-and-confluent-partner-to-deliver-an-enhanced-kafka-elasticsearch-experience\">Sprzymierzy\u0142 si\u0119 on z innym znacz\u0105cym graczem - zajmuj\u0105cym si\u0119 rozwojem Kafki Confluentem<\/a>. Obie firmy zapowiedzia\u0142y strategiczne partnerstwo, kt\u00f3rego pierwszym owocem jest oficjalny \u201cconnector\u201d \u0142\u0105cz\u0105cy Elastic Cloud i Confluent Cloud. Ciekawe czy przysz\u0142o\u015b\u0107, kt\u00f3ra nam si\u0119 rysuje, to w\u0142a\u015bnie walka \u201czintegrowanych\u201d chmur typu AWS czy Azure z lu\u017ano powi\u0105zanymi, wyspecjalizowanymi rozwi\u0105zaniami typu MongoDB Atlas czy wspomniana wy\u017cej dw\u00f3jka. Temat jest ciekawy i je\u015bli kto\u015b jest nim zainteresowany to Corey Quinn (kt\u00f3rego tekst zreszt\u0105 znalaz\u0142 si\u0119 w naszej poprzedniej edycji) pope\u0142ni\u0142 swego czasu <a href=\"https:\/\/www.lastweekinaws.com\/blog\/how-to-compete-with-aws\/\">ciekawy esej na temat tego jakie opcje maj\u0105 firmy chc\u0105ce konkurowa\u0107 z du\u017cymi chmurami<\/a>.\n\n<strong>\u0179r\u00f3d\u0142a:<\/strong>\n<ul>\n \t<li><a href=\"https:\/\/aws.amazon.com\/blogs\/opensource\/introducing-opensearch\/\">Introducing OpenSearch<\/a><\/li>\n \t<li><a href=\"https:\/\/www.elastic.co\/blog\/elastic-and-confluent-partner-to-deliver-an-enhanced-kafka-elasticsearch-experience\">Elastic and Confluent partner to deliver an enhanced Kafka + Elasticsearch experience<\/a><\/li>\n \t<li><a href=\"https:\/\/www.lastweekinaws.com\/blog\/how-to-compete-with-aws\/\">How to Compete with AWS<\/a><\/li>\n<\/ul>\n<h2 id=\"3-procesor-m1-nie-daje-o-sobie-zapomnie%C4%87-%F0%9F%90%B3-%F0%9F%90%A7\">3. Procesor M1 nie daje o sobie zapomnie\u0107<\/h2>\nA na zako\u0144czenie co\u015b dla fan\u00f3w jab\u0142ek - ale zaskakuj\u0105co nie tylko ich. &nbsp;\n\nTak jak pocz\u0105tkiem tego roku sp\u00f3r Elastic vs AWS rozpala\u0142 wyobra\u017anie, tak z pewno\u015bci\u0105 ko\u0144c\u00f3wka zesz\u0142ego nale\u017ca\u0142a do procesor\u00f3w M1 zaprezentowanych przez Apple. Wszyscy zastanawiali si\u0119 jak <a href=\"https:\/\/debugger.medium.com\/why-is-apples-m1-chip-so-fast-3262b158cba2\">to mo\u017cliwe, \u017ce s\u0105\na\u017c tak wydajne<\/a>, pojawi\u0142a si\u0119 te\u017c cho\u0107by strona <a href=\"https:\/\/isapplesiliconready.com\/\">listuj\u0105ca poziom kompatybilno\u015bci oprogramowania z t\u0105 architektur\u0105 procesora<\/a>.\n\nDla wielu programist\u00f3w problematycznym przy podejmowaniu decyzji o przej\u015bciu na now\u0105 architektur\u0119 by\u0142 fakt, \u017ce jednym z program\u00f3w nie tylko nie dzia\u0142aj\u0105cych na M1 natywnie, ale r\u00f3wnie\u017c posiadaj\u0105cym problemy z \u015brodowiskiem translacyjnym Rosetta 2 by\u0142 niezb\u0119dny dla wielu Docker. Na szcz\u0119\u015bcie je\u015bli to by\u0142o dla was g\u0142\u00f3wn\u0105 przeszkod\u0105 przed zaopatrzeniem si\u0119 w komputery nap\u0119dzane krzemem od Apple to mamy przyjemno\u015b\u0107 poinformowa\u0107, \u017ce w zesz\u0142y czwartek <a href=\"https:\/\/www.docker.com\/blog\/released-docker-desktop-for-mac-apple-silicon\/\">Docker og\u0142osi\u0142 pierwsze oficjalne wydanie na M1<\/a>.\n<figure class=\"kg-card kg-image-card\"><img class=\"kg-image\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/1_giphy-5.gif\" alt=\"\" width=\"500\" height=\"280\"><\/figure>\nCa\u0142o\u015b\u0107 okaza\u0142a si\u0119 mo\u017cliwa dzi\u0119ki temu, \u017ce w lutym Go (b\u0119d\u0105ce g\u0142\u00f3wnym j\u0119zykiem programowania u\u017cywanym w ramach Dockera) <a href=\"https:\/\/www.zdnet.com\/article\/go-programming-language-just-added-native-support-for-apples-mac-m1-arm-chip\/\">wypu\u015bci\u0142o swoje wsparcie dla nowych Mac\u00f3w<\/a>. Je\u017celi doda\u0107 do tego fakt, \u017ce <a href=\"https:\/\/brew.sh\/2021\/02\/05\/homebrew-3.0.0\/\">Homebrew r\u00f3wnie\u017c jest ju\u017c dost\u0119pne na nowej platformie<\/a>, coraz mniej przeszk\u00f3d stoi przed osobami chc\u0105cymi zaopatrzy\u0107 si\u0119 w nowiutkie komputery od Apple...\n<figure class=\"kg-card kg-image-card\"><img class=\"kg-image\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/aEP52Qe_460s.jpg\" alt=\"\" width=\"460\" height=\"258\"><\/figure>\n...zw\u0142aszcza, \u017ce okazuje si\u0119 i\u017c sprz\u0119t ten staje si\u0119 coraz bardziej uniwersalny. Ot\u00f3\u017c <a href=\"https:\/\/arstechnica.com\/gadgets\/2021\/04\/apple-m1-hardware-support-merged-into-linux-5-13\">do j\u0105dra Linuxa trafi\u0142a poprawka<\/a> umo\u017cliwiaj\u0105ca uruchomienie tego systemu na procesorach z rodziny M1. Ze wzgl\u0119du na fakt, \u017ce Apple nie wypu\u015bci\u0142o pe\u0142nej specyfikacji swoich procesor\u00f3w, ca\u0142o\u015b\u0107 pracy opiera si\u0119 na in\u017cynierii wstecznej. Wspomniana poprawka jest pierwszym krokiem w tym prawdopodobnie \u017cmudnym procesie - na ten moment np. nie uda\u0142o si\u0119 jeszcze rozpracowa\u0107 jak dzia\u0142a GPU, przez co ca\u0142o\u015b\u0107 obs\u0142ugiwa\u0107 mo\u017cna jedynie z poziomu terminala, nie dzia\u0142a te\u017c wi\u0119kszo\u015b\u0107 sterownik\u00f3w.\n<figure class=\"kg-card kg-image-card kg-card-hascaption\"><img class=\"kg-image\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/6_image-13.png\" sizes=\"(min-width: 720px) 720px\" srcset=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/7_image-13.png 600w, https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/6_image-13.png 800w\" alt=\"\" width=\"800\" height=\"450\">&nbsp;\n\n<figcaption>Przed programistami wi\u0119c jeszcze d\u0142uga droga, ale sam fakt \u017ce kto\u015b postanowi\u0142 po\u0142o\u017cy\u0107 kamie\u0144 w\u0119gielny pod ten proces jest godne szacunku.&nbsp;<\/figcaption><\/figure>\n<strong>\u0179r\u00f3d\u0142a:<\/strong>\n<ul>\n \t<li><a href=\"https:\/\/debugger.medium.com\/why-is-apples-m1-chip-so-fast-3262b158cba2\">Why Is Apple\u2019s M1 Chip So Fast?<\/a><\/li>\n \t<li><a href=\"https:\/\/isapplesiliconready.com\/\">Is Apple Silicon Ready?<\/a><\/li>\n \t<li><a href=\"https:\/\/www.docker.com\/blog\/released-docker-desktop-for-mac-apple-silicon\/\">Released: Docker Desktop for Mac [Apple Silicon]<\/a><\/li>\n \t<li><a href=\"https:\/\/www.zdnet.com\/article\/go-programming-language-just-added-native-support-for-apples-mac-m1-arm-chip\/\">Go programming language just added native support for Apple's Mac M1 Arm chip<\/a><\/li>\n \t<li><a href=\"https:\/\/arstechnica.com\/gadgets\/2021\/04\/apple-m1-hardware-support-merged-into-linux-5-13\/\">Apple M1 hardware support merged into Linux 5.13<\/a><\/li>\n<\/ul>\n<h2 id=\"bonus-ukaza%C5%82-si%C4%99-nowy-technology-radar-od-thoughtworks\">Bonus: <a href=\"https:\/\/www.thoughtworks.com\/radar\">ukaza\u0142 si\u0119 nowy Technology Radar od ThoughtWorks<\/a><\/h2>\nA w nim jak zwykle masa interesuj\u0105cych rynkowych trend\u00f3w kt\u00f3re in\u017cynierowie firmy zauwa\u017cyli pracuj\u0105c z najwi\u0119kszymi klientami na ca\u0142ym \u015bwiecie.\n\nDzisiaj informujemy o tym mocno symbolicznie, bowiem mamy w planach jeszcze do tematu Technology Radaru wr\u00f3ci\u0107 . Stay Tuned.\n\n<hr>\n\nI pami\u0119tajcie, \u017ceby spr\u00f3bowa\u0107 <a href=\"https:\/\/blog.vived.io\/keep-up-czyli-o-tym-jak-byc-na-biezaco-bez-uczucia-przytloczenia-contentem\/\"><strong>Vived<\/strong><\/a>, je\u015bli chcesz otrzymywa\u0107 tego typu tre\u015bci spersonalizowane pod Ciebie!\n<ul>\n \t<li><a href=\"https:\/\/apple.co\/3fB8Kcf\" rel=\"nofollow noopener\">App Store<\/a><\/li>\n \t<li><a href=\"https:\/\/bit.ly\/3m421dx\" rel=\"nofollow noopener\">Play Store<\/a><\/li>\n \t<li><a href=\"http:\/\/bit.ly\/2M7CeUN\">Wersja PWA<\/a><\/li>\n<\/ul>","innerContent":["<h2 id=\"1-nowa-metoda-search-zaproponowana-jako-rozwini%C4%99cie-http-%F0%9F%94%8D\">1. Nowa Metoda SEARCH zaproponowana jako rozwini\u0119cie HTTP<\/h2>\nPropozycja dodania nowej metody w HTTP to nie jest ma\u0142a rzecz - ostatni raz co\u015b takiego wydarzy\u0142o si\u0119 wraz z opublikowanie HTTP\/1.1 w roku 1999, ponad 20 lat temu. Dlatego te\u017c informacja o opublikowaniu przez IETF - Internet Engineering Task Force - proposala dotycz\u0105cego dodania do protoko\u0142u (obok dobrze znanych metod pokroju GETa i POSTa, czy te\u017c mniej znanych TRACE i CONNECT) metody SEARCH z pewno\u015bci\u0105 jest du\u017cym wydarzeniem. Wydarzeniem bliskim memu sercu poniewa\u017c wielokrotnie przy pracy z RESTowymi API musia\u0142em obchodzi\u0107 ograniczenia HTTP - ograniczenia, kt\u00f3re SEARCH ma zniwelowa\u0107.\n\nWyobra\u017acie sobie, \u017ce macie zaprojektowa\u0107 API pozwalaj\u0105ce na wygodne wyszukiwanie danych za pomoc\u0105 kilku r\u00f3\u017cnych parametr\u00f3w - niech to b\u0119dzie cho\u0107by API geolokalizacyjne, gdzie dana encja mo\u017ce by\u0107 wyszukana np. po odleg\u0142o\u015bci od konkretnych koordynat, ale r\u00f3wnie\u017c np. po typie. W momencie kiedy tych parametr\u00f3w pojawia si\u0119 du\u017co, bardzo trudno modeluje si\u0119 je za pomoc\u0105 \"query parametr\u00f3w\" GETa - niestety, link okazuje si\u0119 by\u0107 wtedy mocno nieczytelny. Nieco lepiej sprawa wygl\u0105da je\u015bli u\u017cyjemy metody POST i nasze zapytanie stanie si\u0119 JSONem, czego prekursorem (a przynajmniej wokalnym adwokatem) swego czasu <a href=\"https:\/\/dropbox.tech\/developers\/limitations-of-the-get-method-in-http\">by\u0142 Dropbox<\/a>. Niestety, r\u00f3wnie\u017c to podej\u015bcie, mimo swojej niew\u0105tpliwie lepszej ekspresywno\u015bci, <a href=\"https:\/\/evertpot.com\/dropbox-post-api\/\">posiada mas\u0119 problem\u00f3w<\/a>, w\u015br\u00f3d kt\u00f3rych warto wymieni\u0107 cho\u0107by fakt braku wsparcia dla cache.\n\nSEARCH mo\u017cna rozumie\u0107 jako form\u0119 GETa posiadaj\u0105cego r\u00f3wnie\u017c \u201ccia\u0142o\u201d. Ca\u0142o\u015b\u0107 przydatna b\u0119dzie nie tylko w opisanym przeze mnie powy\u017cej przypadku, ale r\u00f3wnie\u017c jako standardowy protok\u00f3\u0142 transferowy dla zdobywaj\u0105cego coraz wi\u0119ksz\u0105 popularno\u015b\u0107 GraphQL - jego tw\u00f3rcy <a href=\"https:\/\/github.com\/graphql\/graphql-over-http\/blob\/main\/ROADMAP.md\">ju\u017c ostrz\u0105 sobie z\u0119by na jego u\u017cycie<\/a>.\n<figure class=\"kg-card kg-image-card kg-card-hascaption\"><img class=\"kg-image\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/3_image-12.png\" alt=\"\" width=\"598\" height=\"598\"><figcaption>GraphQL znany jest z tego, \u017ce do\u015b\u0107 frywolnie podchodzi do u\u017cywania metod GET i POST<\/figcaption><\/figure>\nProponowana obecnie implementacja ma bazowa\u0107 na implementacji <a href=\"https:\/\/tools.ietf.org\/html\/rfc5323\">SEARCH udost\u0119pnionej w ramach WebDAV<\/a> (rozszerzeniu HTTP, pozwalaj\u0105cym na zarz\u0105dzanie i kontrol\u0119 wersji plik\u00f3w na serwerze WWW). Ma to sprawi\u0107, \u017ce istniej\u0105ce serwery Proxy powinny by\u0107 w stanie pos\u0142u\u017cy\u0107 si\u0119 bez wi\u0119kszych rewolucji.\n\nOczywi\u015bcie, dodanie przed tw\u00f3rcami implementacji czai si\u0119 troch\u0119 problem\u00f3w (bardzo dobrze opisanych w <a href=\"https:\/\/httptoolkit.tech\/blog\/http-search-method\/\">artykule od HTTP Toolkit<\/a>), a adopcja ca\u0142o\u015bci pewnie zajmie chwil\u0119, osobi\u015bcie bardzo czekam. Je\u015bli wszystko p\u00f3jdzie zgodnie z planami tw\u00f3rc\u00f3w, uzyskamy bardzo przydatn\u0105 opcj\u0119 przy projektowaniu API.\n\nPS: W temacie HTTP - Firefox doda\u0142 <a href=\"https:\/\/hacks.mozilla.org\/2021\/04\/quic-and-http-3-support-now-in-firefox-nightly-and-beta\/\">wsparcie HTTP\/3 w swoich wersjach rozwojowych<\/a>.\n\n<strong>\u0179r\u00f3d\u0142a:<\/strong>\n<ul>\n \t<li><a href=\"https:\/\/dropbox.tech\/developers\/limitations-of-the-get-method-in-http\">Limitations of the GET method in HTTP by Dropbox<\/a><\/li>\n \t<li><a href=\"https:\/\/evertpot.com\/dropbox-post-api\/\">Dropbox starts using POST, and why this is poor API design.<\/a><\/li>\n \t<li><a href=\"https:\/\/github.com\/graphql\/graphql-over-http\/blob\/main\/ROADMAP.md\">GraphQL over HTTP Specification Roadmap<\/a><\/li>\n \t<li><a href=\"https:\/\/tools.ietf.org\/html\/rfc5323\">Web Distributed Authoring and Versioning (WebDAV) SEARCH<\/a><\/li>\n \t<li><a href=\"https:\/\/httptoolkit.tech\/blog\/http-search-method\/\">Defining a new HTTP method: HTTP SEARCH<\/a><\/li>\n \t<li><a href=\"https:\/\/hacks.mozilla.org\/2021\/04\/quic-and-http-3-support-now-in-firefox-nightly-and-beta\/\">QUIC and HTTP\/3 Support now in Firefox Nightly and Beta<\/a><\/li>\n<\/ul>\n<h2 id=\"2-amazon-publikuje-fork-opensearch-elastic-sprzymierza-si%C4%99-z-kafk%C4%85-%F0%9F%8D%B4\">2. Amazon publikuje fork OpenSearch, Elastic sprzymierza si\u0119 z Kafk\u0105<\/h2>\nZmiana licencji ElasticSearch by\u0142a jednym z najbardziej kontrowersyjnych og\u0142osze\u0144 pierwszego kwarta\u0142u 2021 roku. Dla tych kt\u00f3rzy nie pami\u0119taj\u0105 - ca\u0142o\u015b\u0107 posz\u0142a o zmian\u0119 licencji tego bardzo popularnego silnika wyszukiwania pe\u0142notekstowego opartego na Apache Lucene - ca\u0142o\u015b\u0107 opisywali\u015bmy zreszt\u0105 ju\u017c dwukrotnie: najpierw <a href=\"https:\/\/blog.vived.io\/software-craftsmanship-saturday\/\">informuj\u0105c o ca\u0142ym zaj\u015bciu<\/a>, potem za\u015b <a href=\"https:\/\/blog.vived.io\/software-craftsmanship-saturday-21\/\">relacjonuj\u0105c reakcje spo\u0142eczno\u015bci<\/a>, w\u015br\u00f3d kt\u00f3rych na pierwszy plan wysz\u0142a zapowied\u017a <a href=\"https:\/\/aws.amazon.com\/blogs\/opensource\/introducing-opensearch\/\">forka projektu<\/a> tworzonego przez Amazon.\n\nRzeczony fork ukaza\u0142 si\u0119 w tym tygodniu, udost\u0119pniaj\u0105c otwarte (w rozumieniu - oparte na licencji Apache) OpenSearch (oparte na Elasticsearch 7.10.2) oraz OpenSearch Dashboards (oparte o zbudowany na Elasticsearchu dashboard Kibana 7.10.2). Nie mog\u0119 pozby\u0107 si\u0119 wra\u017cenia, \u017ce Amazon celowo da\u0142 w nazwie nowych projekt\u00f3w Open, \u017ceby zagra\u0107 na nosie Elasticowi. Projekt rozwijany ma by\u0107 przez spo\u0142eczno\u015b\u0107, a opr\u00f3cz Amazona w projekt zaanga\u017cowane s\u0105 Red Hat, SAP, Capital One, oraz Logz.io. Wszystkie us\u0142ugi w ramach AWS zostan\u0105 oparte w\u0142a\u015bnie o t\u0105 dystrybucj\u0119 i przejd\u0105 stosowny rebranding.\n<figure class=\"kg-card kg-image-card kg-card-hascaption\"><img class=\"kg-image\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/tumblr_inline_np8l7ervhD1raprkq_500-1.gif\" alt=\"\" width=\"500\" height=\"280\">&nbsp;\n\n<figcaption>Bo wiecie, Amazon robi to z mi\u0142o\u015bci do otwartego oprogramowania i w og\u00f3le...<\/figcaption><\/figure>\nOczywi\u015bcie, to \u017ce OpenSearch zyska\u0142 nieco \u015bwiat\u0142a reflektor\u00f3w nie oznacza wcale, \u017ce Elastic.co z\u0142o\u017cy\u0142 bro\u0144. <a href=\"https:\/\/www.elastic.co\/blog\/elastic-and-confluent-partner-to-deliver-an-enhanced-kafka-elasticsearch-experience\">Sprzymierzy\u0142 si\u0119 on z innym znacz\u0105cym graczem - zajmuj\u0105cym si\u0119 rozwojem Kafki Confluentem<\/a>. Obie firmy zapowiedzia\u0142y strategiczne partnerstwo, kt\u00f3rego pierwszym owocem jest oficjalny \u201cconnector\u201d \u0142\u0105cz\u0105cy Elastic Cloud i Confluent Cloud. Ciekawe czy przysz\u0142o\u015b\u0107, kt\u00f3ra nam si\u0119 rysuje, to w\u0142a\u015bnie walka \u201czintegrowanych\u201d chmur typu AWS czy Azure z lu\u017ano powi\u0105zanymi, wyspecjalizowanymi rozwi\u0105zaniami typu MongoDB Atlas czy wspomniana wy\u017cej dw\u00f3jka. Temat jest ciekawy i je\u015bli kto\u015b jest nim zainteresowany to Corey Quinn (kt\u00f3rego tekst zreszt\u0105 znalaz\u0142 si\u0119 w naszej poprzedniej edycji) pope\u0142ni\u0142 swego czasu <a href=\"https:\/\/www.lastweekinaws.com\/blog\/how-to-compete-with-aws\/\">ciekawy esej na temat tego jakie opcje maj\u0105 firmy chc\u0105ce konkurowa\u0107 z du\u017cymi chmurami<\/a>.\n\n<strong>\u0179r\u00f3d\u0142a:<\/strong>\n<ul>\n \t<li><a href=\"https:\/\/aws.amazon.com\/blogs\/opensource\/introducing-opensearch\/\">Introducing OpenSearch<\/a><\/li>\n \t<li><a href=\"https:\/\/www.elastic.co\/blog\/elastic-and-confluent-partner-to-deliver-an-enhanced-kafka-elasticsearch-experience\">Elastic and Confluent partner to deliver an enhanced Kafka + Elasticsearch experience<\/a><\/li>\n \t<li><a href=\"https:\/\/www.lastweekinaws.com\/blog\/how-to-compete-with-aws\/\">How to Compete with AWS<\/a><\/li>\n<\/ul>\n<h2 id=\"3-procesor-m1-nie-daje-o-sobie-zapomnie%C4%87-%F0%9F%90%B3-%F0%9F%90%A7\">3. Procesor M1 nie daje o sobie zapomnie\u0107<\/h2>\nA na zako\u0144czenie co\u015b dla fan\u00f3w jab\u0142ek - ale zaskakuj\u0105co nie tylko ich. &nbsp;\n\nTak jak pocz\u0105tkiem tego roku sp\u00f3r Elastic vs AWS rozpala\u0142 wyobra\u017anie, tak z pewno\u015bci\u0105 ko\u0144c\u00f3wka zesz\u0142ego nale\u017ca\u0142a do procesor\u00f3w M1 zaprezentowanych przez Apple. Wszyscy zastanawiali si\u0119 jak <a href=\"https:\/\/debugger.medium.com\/why-is-apples-m1-chip-so-fast-3262b158cba2\">to mo\u017cliwe, \u017ce s\u0105\na\u017c tak wydajne<\/a>, pojawi\u0142a si\u0119 te\u017c cho\u0107by strona <a href=\"https:\/\/isapplesiliconready.com\/\">listuj\u0105ca poziom kompatybilno\u015bci oprogramowania z t\u0105 architektur\u0105 procesora<\/a>.\n\nDla wielu programist\u00f3w problematycznym przy podejmowaniu decyzji o przej\u015bciu na now\u0105 architektur\u0119 by\u0142 fakt, \u017ce jednym z program\u00f3w nie tylko nie dzia\u0142aj\u0105cych na M1 natywnie, ale r\u00f3wnie\u017c posiadaj\u0105cym problemy z \u015brodowiskiem translacyjnym Rosetta 2 by\u0142 niezb\u0119dny dla wielu Docker. Na szcz\u0119\u015bcie je\u015bli to by\u0142o dla was g\u0142\u00f3wn\u0105 przeszkod\u0105 przed zaopatrzeniem si\u0119 w komputery nap\u0119dzane krzemem od Apple to mamy przyjemno\u015b\u0107 poinformowa\u0107, \u017ce w zesz\u0142y czwartek <a href=\"https:\/\/www.docker.com\/blog\/released-docker-desktop-for-mac-apple-silicon\/\">Docker og\u0142osi\u0142 pierwsze oficjalne wydanie na M1<\/a>.\n<figure class=\"kg-card kg-image-card\"><img class=\"kg-image\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/1_giphy-5.gif\" alt=\"\" width=\"500\" height=\"280\"><\/figure>\nCa\u0142o\u015b\u0107 okaza\u0142a si\u0119 mo\u017cliwa dzi\u0119ki temu, \u017ce w lutym Go (b\u0119d\u0105ce g\u0142\u00f3wnym j\u0119zykiem programowania u\u017cywanym w ramach Dockera) <a href=\"https:\/\/www.zdnet.com\/article\/go-programming-language-just-added-native-support-for-apples-mac-m1-arm-chip\/\">wypu\u015bci\u0142o swoje wsparcie dla nowych Mac\u00f3w<\/a>. Je\u017celi doda\u0107 do tego fakt, \u017ce <a href=\"https:\/\/brew.sh\/2021\/02\/05\/homebrew-3.0.0\/\">Homebrew r\u00f3wnie\u017c jest ju\u017c dost\u0119pne na nowej platformie<\/a>, coraz mniej przeszk\u00f3d stoi przed osobami chc\u0105cymi zaopatrzy\u0107 si\u0119 w nowiutkie komputery od Apple...\n<figure class=\"kg-card kg-image-card\"><img class=\"kg-image\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/aEP52Qe_460s.jpg\" alt=\"\" width=\"460\" height=\"258\"><\/figure>\n...zw\u0142aszcza, \u017ce okazuje si\u0119 i\u017c sprz\u0119t ten staje si\u0119 coraz bardziej uniwersalny. Ot\u00f3\u017c <a href=\"https:\/\/arstechnica.com\/gadgets\/2021\/04\/apple-m1-hardware-support-merged-into-linux-5-13\">do j\u0105dra Linuxa trafi\u0142a poprawka<\/a> umo\u017cliwiaj\u0105ca uruchomienie tego systemu na procesorach z rodziny M1. Ze wzgl\u0119du na fakt, \u017ce Apple nie wypu\u015bci\u0142o pe\u0142nej specyfikacji swoich procesor\u00f3w, ca\u0142o\u015b\u0107 pracy opiera si\u0119 na in\u017cynierii wstecznej. Wspomniana poprawka jest pierwszym krokiem w tym prawdopodobnie \u017cmudnym procesie - na ten moment np. nie uda\u0142o si\u0119 jeszcze rozpracowa\u0107 jak dzia\u0142a GPU, przez co ca\u0142o\u015b\u0107 obs\u0142ugiwa\u0107 mo\u017cna jedynie z poziomu terminala, nie dzia\u0142a te\u017c wi\u0119kszo\u015b\u0107 sterownik\u00f3w.\n<figure class=\"kg-card kg-image-card kg-card-hascaption\"><img class=\"kg-image\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/6_image-13.png\" sizes=\"(min-width: 720px) 720px\" srcset=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/7_image-13.png 600w, https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/6_image-13.png 800w\" alt=\"\" width=\"800\" height=\"450\">&nbsp;\n\n<figcaption>Przed programistami wi\u0119c jeszcze d\u0142uga droga, ale sam fakt \u017ce kto\u015b postanowi\u0142 po\u0142o\u017cy\u0107 kamie\u0144 w\u0119gielny pod ten proces jest godne szacunku.&nbsp;<\/figcaption><\/figure>\n<strong>\u0179r\u00f3d\u0142a:<\/strong>\n<ul>\n \t<li><a href=\"https:\/\/debugger.medium.com\/why-is-apples-m1-chip-so-fast-3262b158cba2\">Why Is Apple\u2019s M1 Chip So Fast?<\/a><\/li>\n \t<li><a href=\"https:\/\/isapplesiliconready.com\/\">Is Apple Silicon Ready?<\/a><\/li>\n \t<li><a href=\"https:\/\/www.docker.com\/blog\/released-docker-desktop-for-mac-apple-silicon\/\">Released: Docker Desktop for Mac [Apple Silicon]<\/a><\/li>\n \t<li><a href=\"https:\/\/www.zdnet.com\/article\/go-programming-language-just-added-native-support-for-apples-mac-m1-arm-chip\/\">Go programming language just added native support for Apple's Mac M1 Arm chip<\/a><\/li>\n \t<li><a href=\"https:\/\/arstechnica.com\/gadgets\/2021\/04\/apple-m1-hardware-support-merged-into-linux-5-13\/\">Apple M1 hardware support merged into Linux 5.13<\/a><\/li>\n<\/ul>\n<h2 id=\"bonus-ukaza%C5%82-si%C4%99-nowy-technology-radar-od-thoughtworks\">Bonus: <a href=\"https:\/\/www.thoughtworks.com\/radar\">ukaza\u0142 si\u0119 nowy Technology Radar od ThoughtWorks<\/a><\/h2>\nA w nim jak zwykle masa interesuj\u0105cych rynkowych trend\u00f3w kt\u00f3re in\u017cynierowie firmy zauwa\u017cyli pracuj\u0105c z najwi\u0119kszymi klientami na ca\u0142ym \u015bwiecie.\n\nDzisiaj informujemy o tym mocno symbolicznie, bowiem mamy w planach jeszcze do tematu Technology Radaru wr\u00f3ci\u0107 . Stay Tuned.\n\n<hr>\n\nI pami\u0119tajcie, \u017ceby spr\u00f3bowa\u0107 <a href=\"https:\/\/blog.vived.io\/keep-up-czyli-o-tym-jak-byc-na-biezaco-bez-uczucia-przytloczenia-contentem\/\"><strong>Vived<\/strong><\/a>, je\u015bli chcesz otrzymywa\u0107 tego typu tre\u015bci spersonalizowane pod Ciebie!\n<ul>\n \t<li><a href=\"https:\/\/apple.co\/3fB8Kcf\" rel=\"nofollow noopener\">App Store<\/a><\/li>\n \t<li><a href=\"https:\/\/bit.ly\/3m421dx\" rel=\"nofollow noopener\">Play Store<\/a><\/li>\n \t<li><a href=\"http:\/\/bit.ly\/2M7CeUN\">Wersja PWA<\/a><\/li>\n<\/ul>"]}],"_links":{"self":[{"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/posts\/10151","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=10151"}],"version-history":[{"count":1,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/posts\/10151\/revisions"}],"predecessor-version":[{"id":10692,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/posts\/10151\/revisions\/10692"}],"wp:attachment":[{"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/media?parent=10151"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/categories?post=10151"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/tags?post=10151"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}