{"id":60,"date":"2025-06-08T20:20:24","date_gmt":"2025-06-08T18:20:24","guid":{"rendered":"http:\/\/wp.jankiewicz.pl\/index.php\/krzysztof-jankiewicz-zaawansowane-przetwarzanie-strumieni-danych-w-apache-flink\/"},"modified":"2025-06-08T20:20:24","modified_gmt":"2025-06-08T18:20:24","slug":"zaawansowane-przetwarzanie-strumieni-danych-w-apache-flink","status":"publish","type":"post","link":"https:\/\/jankiewicz.pl\/index.php\/zaawansowane-przetwarzanie-strumieni-danych-w-apache-flink\/","title":{"rendered":"Zaawansowane przetwarzanie strumieni danych w Apache Flink"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">Harmonogram<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><a href=\"#day1\" data-type=\"internal\" data-id=\"#day1\">Dzie\u0144 1<\/a><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Wprowadzenie do system\u00f3w przetwarzania strumieni danych<\/li>\n\n\n\n<li><em>Apache Flink<\/em> &#8211; wprowadzenie<\/li>\n\n\n\n<li><em>DataStream API<\/em> &#8211; podstawy<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><a href=\"#day2\" data-type=\"internal\" data-id=\"#day2\">Dzie\u0144 2<\/a><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><em>DataStream API<\/em> &#8211; elementy zaawansowane &#8211; cz\u0119\u015b\u0107 1<\/li>\n\n\n\n<li><em>DataStream API<\/em> &#8211; elementy zaawansowane &#8211; cz\u0119\u015b\u0107 2<\/li>\n\n\n\n<li><em>DataStream API<\/em> &#8211; obs\u0142uga stanu<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><a href=\"#day3\" data-type=\"internal\" data-id=\"#day3\">Dzie\u0144 3<\/a><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><em>Table API<\/em> i <em>SQL<\/em> &#8211; podstawy <\/li>\n\n\n\n<li><em>Complex Event Processing<\/em> (<em>CEP<\/em>)<\/li>\n\n\n\n<li>Przetwarzanie danych wsadowych<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Wprowadzenie<\/h2>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"alignright size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"150\" height=\"167\" src=\"https:\/\/jankiewicz.pl\/wp-content\/uploads\/2022\/06\/flink1_989bb55d7e.svg\" alt=\"\" class=\"wp-image-198\" style=\"width:142px;height:159px\"\/><\/figure>\n<\/div>\n\n\n<p>Aplikacje analizuj\u0105ce nap\u0142ywaj\u0105ce dane, reaguj\u0105ce na pojawiaj\u0105ce si\u0119 anomalie, \u015bledz\u0105ce przebieg proces\u00f3w biznesowych, analizuj\u0105ce zmian\u0119 trend\u00f3w w sieciach spo\u0142eczno\u015bciowych. Platformy odbieraj\u0105ce bez przerwy dane z system\u00f3w \u017ar\u00f3d\u0142owych celem ich ci\u0105g\u0142ego przetwarzania dla przyk\u0142adu zasilaj\u0105cego hurtowni\u0119 danych, czy aktualizuj\u0105cego panele managerskie. To przyk\u0142ady zastosowa\u0144, kt\u00f3re jak powietrza potrzebuj\u0105 zaawansowanych platform przetwarzaj\u0105cych strumienie danych.<\/p>\n\n\n\n<p>\u015arodowiska Big Data od ponad dekady k\u0142ad\u0105 coraz wi\u0119kszy nacisk na przetwarzanie strumieni danych. Rezultatem jest dynamiczny rozw\u00f3j narz\u0119dzi s\u0142u\u017c\u0105cych do tego celu. Wydaje si\u0119, \u017ce szczytem obecnych rozwi\u0105za\u0144 jest Apache Flink (nie umniejszaj\u0105c znaczenia wielu innych narz\u0119dzi), kt\u00f3ry cz\u0119sto uznawany jest jako standard <em>de facto<\/em> przetwarzania strumieni danych w Big Data.<\/p>\n\n\n\n<p>Szkolenie <em><strong>Zaawansowane przetwarzanie strumieni danych w Apache Flink<\/strong><\/em> obejmuje praktycznie wszystkie najwa\u017cniejsze mechanizmy dostarczane przez to z\u0142o\u017cone narz\u0119dzie. Rozpoczynamy od zagadnie\u0144 dotycz\u0105cej samej platformy i jej architektury, poznajmy w szczeg\u00f3\u0142ach podstawowe <em>DataStream API<\/em>, ostatecznie docieraj\u0105c do wysokopoziomowych <em>Table API<\/em> czy <em>Complex Event Processing<\/em>. <\/p>\n\n\n\n<p>Powy\u017csza tematyka mo\u017ce by\u0107 uzupe\u0142niona o dodatkowe tematy takie jak: obs\u0142uga punkt\u00f3w kontrolnych i punkt\u00f3w zachowania, tryb wysokiej dost\u0119pno\u015bci (HA) z wykorzystaniem klastra Kubernetes czy te\u017c wprowadzenie dotycz\u0105ce mechanizm\u00f3w funkcjonuj\u0105cych w systemach przetwarzania strumieni danych.<\/p>\n\n\n\n<p>Szkolenie prowadzone we wsp\u00f3\u0142pracy z firm\u0105 <a href=\"https:\/\/www.sages.pl\/szkolenia\/zaawansowane-przetwarzanie-strumieni-w-apache-flink\" data-type=\"URL\" data-id=\"https:\/\/www.sages.pl\/szkolenia\/zaawansowane-przetwarzanie-strumieni-w-apache-flink\">Sages<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Podstawowe cele szkolenia<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Zapoznanie si\u0119 z architektur\u0105 i Apache Flink i mechanizmami przetwarzania za jego pomoc\u0105 strumieni danych<\/li>\n\n\n\n<li>Opanowanie poszczeg\u00f3lnych API oferowanych przez Apache Flink, z uwzgl\u0119dnieniem ich specyficznych w\u0142asno\u015bci i zastosowa\u0144<\/li>\n\n\n\n<li>Implementacja szeregu praktycznych proces\u00f3w przetwarzaj\u0105cych strumienie danych<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">G\u0142\u00f3wne zalety<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Kompleksowe wprowadzenie do platformy Apache Flink<\/li>\n\n\n\n<li>Przedstawienie praktycznych przyk\u0142ad\u00f3w oraz praktyk zwi\u0105zanych z analiz\u0105 strumieni danych w \u015brodowiskach Big Data<\/li>\n\n\n\n<li>Szczeg\u00f3\u0142owe zapoznanie si\u0119 z kluczowymi rodzajami API dostarczanymi przez Apache Flink<\/li>\n\n\n\n<li>Jest to unikalne szkolenie na rynku, kt\u00f3re zag\u0142\u0119bia si\u0119 w zaawansowane aspekty przetwarzania strumieniowego w Apache Flink. Dostarcza wiedzy, kt\u00f3ra wychodzi poza podstawy, umo\u017cliwiaj\u0105c uczestnikom pe\u0142ne zrozumienie technologii<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Dla kogo?<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Analitycy i programi\u015bci, kt\u00f3rzy znaj\u0105 podstawy i maj\u0105 uporz\u0105dkowan\u0105 wiedz\u0119 na temat zar\u00f3wno mechanizm\u00f3w Big Data jak i tych, kt\u00f3re dotycz\u0105 przetwarzania strumieni danych i chc\u0105 zapozna\u0107 si\u0119 z platform\u0105 Apache Flink oferuj\u0105c\u0105 w tym zakresie najwi\u0119ksze mo\u017cliwo\u015bci w por\u00f3wnaniu do alternatywnych rozwi\u0105za\u0144<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Wymagania<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Dobra znajomo\u015b\u0107: j\u0119zyka SQL, relacyjnego modelu danych<\/li>\n\n\n\n<li>Podstawowa znajomo\u015b\u0107 obiektowego j\u0119zyka programowania Java, a opcjonalnie (jako uzupe\u0142nienie) Python i Scala.<\/li>\n\n\n\n<li>Znajomo\u015b\u0107 zagadnie\u0144 Big Data, platformy Hadoop oraz powi\u0105zanych z ni\u0105 narz\u0119dzi<\/li>\n\n\n\n<li>Uporz\u0105dkowana i usystematyzowana wiedza na temat przetwarzania strumieni danych<\/li>\n\n\n\n<li>Bardzo zalecany jest wcze\u015bniejszy udzia\u0142 w szkoleniach:\n<ul class=\"wp-block-list\">\n<li><em><a href=\"https:\/\/jankiewicz.pl\/index.php\/2021\/05\/20\/krzysztof-jankiewicz-big-data-i-platforma-hadoop-wprowadzenie\/\" data-type=\"post\" data-id=\"52\">Big Data i platforma Hadoop &#8211; wprowadzenie<\/a><\/em><\/li>\n\n\n\n<li><em><a href=\"https:\/\/jankiewicz.pl\/index.php\/2021\/06\/18\/przetwarzanie-strumieni-danych-w-srodowiskach-big-data\/\" data-type=\"post\" data-id=\"56\">Przetwarzanie strumieni danych w \u015brodowiskach Big Data<\/a><\/em><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Struktura kursu<\/h2>\n\n\n\n<p>Kurs podzielony jest na tematy. Ka\u017cdy z temat\u00f3w obejmuje wyk\u0142adowy materia\u0142 wprowadzaj\u0105cy i zestaw<br>\u0107wicze\u0144\/zada\u0144\/tutoriali, kt\u00f3ry w praktyczny spos\u00f3b pozwala zaznajomi\u0107 si\u0119 z przedstawianym tematem.<\/p>\n\n\n\n<p>Materia\u0142 <strong>wyk\u0142adowy<\/strong> ilustrowany jest slajdami z du\u017c\u0105 liczb\u0105 przyk\u0142ad\u00f3w.<\/p>\n\n\n\n<p>Materia\u0142 <strong>praktyczny<\/strong> ma charakter zada\u0144\/warsztat\u00f3w\/tutoriali do samodzielnego wykonania.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Lista temat\u00f3w<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"day1\">Dzie\u0144 1<\/h3>\n\n\n\n<ol start=\"0\" id=\"flink-intro\" class=\"wp-block-list\">\n<li>Wprowadzenie do system\u00f3w przetwarzania strumieni danych \n<ul class=\"wp-block-list\">\n<li>Materia\u0142 wyk\u0142adowy\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/jankiewicz.pl\/szkolenia\/bigdata-bf\/BF00_l1_25-PrzetwarzanieStrumieniDanych-wprowadzenie-cz1.pdf\" target=\"_blank\" rel=\"noreferrer noopener\">Cz\u0119\u015b\u0107 1<\/a>* &#8211; wprowadzenie i podstawy<\/li>\n\n\n\n<li><a href=\"https:\/\/jankiewicz.pl\/szkolenia\/bigdata-bf\/BF00_l1_25-PrzetwarzanieStrumieniDanych-wprowadzenie-cz2.pdf\" target=\"_blank\" rel=\"noreferrer noopener\">Cze\u015b\u0107 2<\/a>** &#8211; czas, obs\u0142uga awarii<\/li>\n\n\n\n<li><a href=\"https:\/\/jankiewicz.pl\/szkolenia\/bigdata-bf\/BF00_l1_25-PrzetwarzanieStrumieniDanych-wprowadzenie-cz3.pdf\" target=\"_blank\" rel=\"noreferrer noopener\">Cze\u015b\u0107 3<\/a>*** &#8211; dualizm strumieni i tabel i <em>Complex Event Processing<\/em><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Warsztat\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/jankiewicz.pl\/szkolenia\/bigdata-bf\/BF00_w1_25-%C5%9Arodowisko-GCP.pdf\" target=\"_blank\" rel=\"noreferrer noopener\">Konfiguracja \u015brodowiska GCP<\/a><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Flink &#8211; wprowadzenie*\n<ul class=\"wp-block-list\">\n<li>Materia\u0142 wyk\u0142adowy\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/jankiewicz.pl\/szkolenia\/bigdata-bf\/BF01_l1_25-Flink-wprowadzenie.pdf\" target=\"_blank\" rel=\"noreferrer noopener\">Flink &#8211; wprowadzenie<\/a><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Warsztat\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/jankiewicz.pl\/szkolenia\/bigdata-bf\/BF01_w1_25-Flink-wprowadzenie-gcp-zadania.pdf\" target=\"_blank\" rel=\"noreferrer noopener\">Flink &#8211; wprowadzenie &#8211; warsztat<\/a><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><em>DataStream API<\/em> &#8211; podstawy\n<ul class=\"wp-block-list\">\n<li>Materia\u0142 wyk\u0142adowy\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/jankiewicz.pl\/szkolenia\/bigdata-bf\/BF02_l1_25-Flink-DataStream-podstawy.pdf\" target=\"_blank\" rel=\"noreferrer noopener\"><em>DataStream API<\/em> &#8211; podstawy<\/a><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Warsztat\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/jankiewicz.pl\/szkolenia\/bigdata-bf\/BF02_w1_25-Flink-DataStreamAPI-podstawy-gcp-zadania.pdf\" target=\"_blank\" rel=\"noreferrer noopener\"><em>DataStream API<\/em> &#8211; podstawy &#8211; warsztat<\/a><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"day2\">Dzie\u0144 2<\/h3>\n\n\n\n<ol id=\"flink-intro\" class=\"wp-block-list\">\n<li><em>DataStream API<\/em> &#8211; elementy zaawansowane &#8211; Cz\u0119\u015b\u0107 1**\n<ul class=\"wp-block-list\">\n<li>Materia\u0142 wyk\u0142adowy\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/jankiewicz.pl\/szkolenia\/bigdata-bf\/BF03_l1_25-Flink-DataStream-zaawansowane-cz1.pdf\" target=\"_blank\" rel=\"noreferrer noopener\"><em>DataStream API<\/em> &#8211; elementy zaawansowane &#8211; cz\u0119\u015b\u0107 1<\/a><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Warsztat\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/jankiewicz.pl\/szkolenia\/bigdata-bf\/BF03_w1_25-Flink-DataStream-zaawansowane-cz1-zadania.pdf\" target=\"_blank\" rel=\"noreferrer noopener\"><em>DataStream API<\/em> &#8211; elementy zaawansowane &#8211; cz\u0119\u015b\u0107 1 &#8211; warsztat<\/a><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><em>DataStream API<\/em> &#8211; elementy zaawansowane &#8211; Cz\u0119\u015b\u0107 2\n<ul class=\"wp-block-list\">\n<li>Materia\u0142 wyk\u0142adowy\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/jankiewicz.pl\/szkolenia\/bigdata-bf\/BF04_l1_25-Flink-DataStream-zaawansowane-cz2.pdf\" target=\"_blank\" rel=\"noreferrer noopener\"><em>DataStream API<\/em> &#8211; elementy zaawansowane &#8211; cz\u0119\u015b\u0107 2<\/a><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Warsztat\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/jankiewicz.pl\/szkolenia\/bigdata-bf\/BF04_w1_25-Flink-DataStream-zaawansowane-cz2-zadania.pdf\" target=\"_blank\" rel=\"noreferrer noopener\"><em>DataStream API<\/em> &#8211; elementy zaawansowane &#8211; cz\u0119\u015b\u0107 2 &#8211; warsztat<\/a><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><em>DataStream API<\/em> &#8211; obs\u0142uga stanu\n<ul class=\"wp-block-list\">\n<li>Materia\u0142 wyk\u0142adowy\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/jankiewicz.pl\/szkolenia\/bigdata-bf\/BF05_l1_25-Flink-Obs%C5%82uga-stanu.pdf\" target=\"_blank\" rel=\"noreferrer noopener\"><em>DataStream API<\/em> &#8211; obs\u0142uga stanu<\/a><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Warsztat\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/jankiewicz.pl\/szkolenia\/bigdata-bf\/BF05_w1_25-Flink-Punkty-kontrolne-zadania.pdf\" target=\"_blank\" rel=\"noreferrer noopener\"><em>DataStream API<\/em> &#8211; punkty kontrolne &#8211; warsztaty<\/a> (dodatek)<\/li>\n\n\n\n<li><a href=\"https:\/\/jankiewicz.pl\/szkolenia\/bigdata-bf\/BF05_w2_25-Flink-Obs\u0142uga-stanu-zadania.pdf\" target=\"_blank\" rel=\"noreferrer noopener\">DataStream API &#8211; obs\u0142uga stanu &#8211; warsztaty<\/a><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"day3\">Dzie\u0144 3<\/h3>\n\n\n\n<ol id=\"flink-intro\" class=\"wp-block-list\">\n<li><em>Table API<\/em> i <em>SQL <\/em>&#8211; podstawy***\n<ul class=\"wp-block-list\">\n<li>Materia\u0142 wyk\u0142adowy\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/jankiewicz.pl\/szkolenia\/bigdata-bf\/BF06_l1_25-Flink-TableAPI-podstawy.pdf\" target=\"_blank\" rel=\"noreferrer noopener\"><em>Table API<\/em> i <em>SQL<\/em> &#8211; podstawy<\/a><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Warsztat\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/jankiewicz.pl\/szkolenia\/bigdata-bf\/BF06_w1_25-Flink-TableAPI-podstawy-zadania.pdf\" target=\"_blank\" rel=\"noreferrer noopener\"><em>Table API<\/em> i <em>SQL<\/em> &#8211; podstawy &#8211; warsztat<\/a><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><em>Complex Event Processing<\/em> (CEP)\n<ul class=\"wp-block-list\">\n<li>Materia\u0142 wyk\u0142adowy\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/jankiewicz.pl\/szkolenia\/bigdata-bf\/BF07_l1_25-Flink-CEP.pdf\" target=\"_blank\" rel=\"noreferrer noopener\"><em>Complex Event Processing<\/em> (CEP)<\/a><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Warsztat\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/jankiewicz.pl\/szkolenia\/bigdata-bf\/BF07_w1_25-Flink-CEP-zadania.pdf\" target=\"_blank\" rel=\"noreferrer noopener\"><em>Complex Event Processing<\/em> (CEP)<\/a><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Przetwarzanie danych wsadowych\n<ul class=\"wp-block-list\">\n<li>Materia\u0142 wyk\u0142adowy\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/jankiewicz.pl\/szkolenia\/bigdata-bf\/BF08_l1_25-Flink-BatchProcessing.pdf\" target=\"_blank\" rel=\"noreferrer noopener\">Przetwarzanie danych wsadowych<\/a><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Warsztat\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/jankiewicz.pl\/szkolenia\/bigdata-bf\/BF08_w1_25-Flink-BatchProcessing-zadania.pdf\" target=\"_blank\" rel=\"noreferrer noopener\">Przetwarzanie danych wsadowych &#8211; warsztat<\/a><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n\n","protected":false},"excerpt":{"rendered":"<p>Aplikacje analizuj\u0105ce nap\u0142ywaj\u0105ce dane, reaguj\u0105ce na pojawiaj\u0105ce si\u0119 anomalie, \u015bledz\u0105ce przebieg<br \/>\nproces\u00f3w biznesowych, analizuj\u0105ce zmian\u0119 trend\u00f3w w sieciach spo\u0142eczno\u015bciowych. Platformy odbieraj\u0105ce bez przerwy dane z system\u00f3w \u017ar\u00f3d\u0142owych celem ich ci\u0105g\u0142ego przetwarzania dla przyk\u0142adu zasilaj\u0105cego hurtowni\u0119 danych, czy aktualizuj\u0105cego panele managerskie. To przyk\u0142ady zastosowa\u0144, kt\u00f3re jak powietrza potrzebuj\u0105 zaawansowanych platform przetwarzaj\u0105cych strumienie danych.<\/p>\n","protected":false},"author":2,"featured_media":182,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"footnotes":""},"categories":[7],"tags":[14,15,40,18],"class_list":["post-60","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-big-data","tag-apache-kafka","tag-flink","tag-java","tag-sql"],"_links":{"self":[{"href":"https:\/\/jankiewicz.pl\/index.php\/wp-json\/wp\/v2\/posts\/60","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jankiewicz.pl\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jankiewicz.pl\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jankiewicz.pl\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/jankiewicz.pl\/index.php\/wp-json\/wp\/v2\/comments?post=60"}],"version-history":[{"count":66,"href":"https:\/\/jankiewicz.pl\/index.php\/wp-json\/wp\/v2\/posts\/60\/revisions"}],"predecessor-version":[{"id":1159,"href":"https:\/\/jankiewicz.pl\/index.php\/wp-json\/wp\/v2\/posts\/60\/revisions\/1159"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/jankiewicz.pl\/index.php\/wp-json\/wp\/v2\/media\/182"}],"wp:attachment":[{"href":"https:\/\/jankiewicz.pl\/index.php\/wp-json\/wp\/v2\/media?parent=60"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jankiewicz.pl\/index.php\/wp-json\/wp\/v2\/categories?post=60"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jankiewicz.pl\/index.php\/wp-json\/wp\/v2\/tags?post=60"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}