{
    "version": "https://jsonfeed.org/version/1",
    "title": "Type of Web",
    "home_page_url": "https://pl.typeofweb.com",
    "description": "Blog o programowaniu. Dla front-end i back-end developerów. Trochę o urokach pracy zdalnej, ale przede wszystkim o: JavaScript, React, Vue, Angular, node.js, TypeScript, HapiJS…",
    "icon": "https://pl.typeofweb.com/apple-touch-icon.png",
    "author": {
        "name": "Type of Web",
        "url": "https://pl.typeofweb.com"
    },
    "items": [
        {
            "id": "haszowanie-hasel-w-przegladarce",
            "url": "https://pl.typeofweb.com/haszowanie-hasel-w-przegladarce",
            "title": "Haszowanie haseł w przeglądarce",
            "summary": "Niedawno na X (Twitterze) wiralowy stał się post na temat haszowania haseł. Sugerował, że hasła należy haszować po stronie klienta, np. w przeglądarce, przed wysłaniem ich do serwera. Oto artykuł o tym, dlaczego zazwyczaj nie ma to sensu, kiedy ma, oraz dlaczego może być błędnie zrozumiane – a przez to…",
            "date_modified": "2025-02-22T21:51:42.569Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "why-i-wont-use-next.js-kent-c-dodds-en",
            "url": "https://pl.typeofweb.com/why-i-wont-use-next.js-kent-c-dodds-en",
            "title": "Response to „Why I won’t use Next.js” by Kent C. Dodds",
            "summary": "A few days ago, the tech world was abuzz with Kent C. Dodds' article with the attention-grabbing title \"Why I won't use Next.js.\" In it, Kent criticizes Next.js and uses Remix as an example of a framework that solves all the problems. Well, it's not entirely precise... Below you'll find…",
            "date_modified": "2023-10-29T12:30:42.569Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "why-i-wont-use-next.js-kent-c-dodds",
            "url": "https://pl.typeofweb.com/why-i-wont-use-next.js-kent-c-dodds",
            "title": "Odpowiedź na artykuł „Why I won’t use Next.js” autorstwa Kent C. Dodds",
            "summary": "Kilka dni temu świat obiegł artykuł Kent C. Dodds o krzykliwym tytule „Why I won't use Next.js”. Kent krytykuje w nim Next.js, a jako przykład frameworka rozwiązującego wszystkie problemy podaje Remix. Cóż, to nie do końca tak… Poniżej znajdziecie moją odpowiedź na każdy z podpunktów.",
            "date_modified": "2023-10-28T18:00:42.569Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "uzywanie-usecallback-zawsze-czy-to-dobry-pomysl",
            "url": "https://pl.typeofweb.com/uzywanie-usecallback-zawsze-czy-to-dobry-pomysl",
            "title": "Używanie `useCallback` zawsze: Czy to dobry pomysł?",
            "summary": "W świecie React.js ważne jest, aby pisać kod, który jest zarówno wydajny, jak i czytelny. Jednym ze sposobów na osiągnięcie tego celu jest stosowanie React Hooks, takich jak useCallback. W tym artykule przedstawimy argumenty za stosowaniem useCallback dla każdej funkcji, aby poprawić czytelność i spójność, nie wpływając negatywnie na wydajność.",
            "date_modified": "2023-04-09T18:30:42.569Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "nepotyzm-w-branzy-it-krotko-o-zdobywaniu-pracy",
            "url": "https://pl.typeofweb.com/nepotyzm-w-branzy-it-krotko-o-zdobywaniu-pracy",
            "title": "Nepotyzm w branży IT: krótko o zdobywaniu pracy",
            "summary": "Znacie ten dowcip, że bezrobocie to były najgorsze dwie godziny życia programisty? Faktem jest, że seniorzy rzadko szukają pracy, a gdy mają potrzebę coś w życiu zawodowym zmienić, to ta praca po prostu na nich czeka gdzie indziej. Ale czy tak naprawdę liczą się umiejętności i staż, czy raczej znajomości…",
            "date_modified": "2022-08-18T16:50:28.824Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "nextjs-server-side-rendering-static-site-generation",
            "url": "https://pl.typeofweb.com/nextjs-server-side-rendering-static-site-generation",
            "title": "Next.js: Server Side Rendering, Static Site Generation",
            "summary": "Od dłuższego czasu głośno jest o Next.js, a także o podobnych do niego konkurentach, czyli Remix oraz Nuxt. Czym się wyróżnia to narzędzie? O co tyle szumu? I czy statyczne generowanie stron nadaje się do każdej aplikacji?",
            "date_modified": "2022-05-04T09:45:28.824Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "16-rzeczy-na-ktore-jestem-za-stary-po-30-urodzinach",
            "url": "https://pl.typeofweb.com/16-rzeczy-na-ktore-jestem-za-stary-po-30-urodzinach",
            "title": "16 rzeczy, na które jestem za stary po 30. urodzinach",
            "summary": "Trójka z przodu to już nie przelewki. Nie wiem ile Ty masz lat. W sumie to nie obchodzi mnie to. Ale gdy przekroczysz 30, to cały świat się nagle zmienia. Ja minąłem tę magiczną granicę właśnie dzisiaj i już zaczynam to odczuwać – na pytanie kolegi czy zjemy coś na…",
            "date_modified": "2022-01-18T16:44:28.824Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "podsumowanie-2021-wielka-zbiorka-charytatywna-30-urodziny",
            "url": "https://pl.typeofweb.com/podsumowanie-2021-wielka-zbiorka-charytatywna-30-urodziny",
            "title": "Podsumowanie roku 2021 i wielka zbiórka charytatywna z okazji 30‑urodzin!",
            "summary": "Kolejny fantastyczny rok za nami! Mimo wszystko, mimo okoliczności, muszę uznać minione 12 miesięcy za bardzo udane! Przede wszystkim był to dla mnie rok nowych pomysłów i inicjatyw. Na końcu wpisu informacja o moich 30. urodzinach i wielkiej zbiórce charytatwnej. Ale po kolei.",
            "date_modified": "2022-01-03T17:16:28.824Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "iot-smart-home-architektura-z-wave-i-zastosowania",
            "url": "https://pl.typeofweb.com/iot-smart-home-architektura-z-wave-i-zastosowania",
            "title": "Smart home: architektura z-wave i zastosowania",
            "summary": "W poprzednim artykule opisałem moje przemyślenia odnośnie różnych bezprzewodowych technologii używanych do tworzenia inteligentnego domu. Dzisiaj skupiam się konkretnie na wybranym przeze mnie z-wave: architekturze rozwiązania, a także zastosowaniach.",
            "date_modified": "2021-12-09T21:37:28.824Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "iot-smart-home-zigbee-z-wave-wifi",
            "url": "https://pl.typeofweb.com/iot-smart-home-zigbee-z-wave-wifi",
            "title": "Pierwsze starcia z IoT i smart home: zigbee, z-wave czy wifi?",
            "summary": "Jak pewnie niektórzy z Was wiedzą, wkrótce stanę się szczęśliwym posiadaczem domu. Dom w XXI wieku napakowany jest elektroniką i praktycznie nie da się bez niej żyć – mikroprocesory mają w sobie choćby piec i wentylacja, a także każdy z dziesięciu termostatów (!). Jak to ogarnąć? Czy da się to…",
            "date_modified": "2021-12-02T21:37:28.824Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "x-team-odchodze-zmieniam-prace-zdalna",
            "url": "https://pl.typeofweb.com/x-team-odchodze-zmieniam-prace-zdalna",
            "title": "X-Team – po 5 latach odchodzę – zmieniam pracę 😱",
            "summary": "X-Teamu nikomu chyba przedstawiać nie trzeba, a większość z Was pewnie mnie z tą firmą kojarzy. Cóż. Wszystko, co ma początek, ma też koniec… A jak ja patrzę na minione lata? Dlaczego chcę coś zmienić? No i dokąd odchodzę?",
            "date_modified": "2021-10-10T10:05:05.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "zatrudnianie-juniorow-i-seniorow-a-produktywnosc-model-i-symulacja",
            "url": "https://pl.typeofweb.com/zatrudnianie-juniorow-i-seniorow-a-produktywnosc-model-i-symulacja",
            "title": "Zatrudnianie juniorów i seniorów a produktywność – model i symulacja",
            "summary": "Jakiś czas temu w czeluściach Internetu wpadłem na niezwykle ciekawy artykuł, który mówił o zatrudnianiu juniorów do zespołu i ich wpływie na wydajność pracy. Przedstawiał kilka prostych symulacji, z których wprost wynikało… no właśnie, co z nich wynikało? Czy „opłaca się” zatrudniać osoby bez doświadczenia? Na końcu artykułu interaktywna symulacja!",
            "date_modified": "2021-09-19T15:57:42.569Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "ktory-hosting-jest-najszybszy-9-rzeczy-ktore-maja-najwieksze-znaczenie",
            "url": "https://pl.typeofweb.com/ktory-hosting-jest-najszybszy-9-rzeczy-ktore-maja-najwieksze-znaczenie",
            "title": "Który hosting jest najszybszy? 9 rzeczy, które mają największe znaczenie",
            "summary": "Hosting to jeden z najważniejszych filarów strony internetowej. To w dużej mierze od niego właśnie zależy, czy będzie ona szybka, stabilna i bezpieczna. A jak wybrać serwer, który faktycznie pozwoli Twojej witrynie „wrzucić wyższy bieg”? Zobacz, jakie elementy wpływają na szybkość serwera.",
            "date_modified": "2021-09-04T11:39:42.569Z",
            "author": {
                "name": "Mateusz Mazurek"
            }
        },
        {
            "id": "wzgledne-postrzeganie-czasu-model-matematyczny",
            "url": "https://pl.typeofweb.com/wzgledne-postrzeganie-czasu-model-matematyczny",
            "title": "Względne postrzeganie czasu: model matematyczny",
            "summary": "Wielu osobom wydaje się, że im stajemy się starsi, tym czas szybciej płynie. Mamy tysiące wspomnień ze wczesnej młodości, a później trudno nam odróżnić rok od roku. Ale czy aby na pewno tylko nam się wydaje? Czy to zjawisko jest jakoś opisane i uzasadnione?",
            "date_modified": "2021-07-07T14:47:50.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "youtube-moje-pierwsze-kroki",
            "url": "https://pl.typeofweb.com/youtube-moje-pierwsze-kroki",
            "title": "YouTube: Moje pierwsze kroki",
            "summary": "Jak za pewne zauważyliście, na blogu Type of Web ostatnio dzieje się mniej. Przyczyna jest prosta: poświęcam sporo czasu przygotowaniu materiałów wideo na YouTube!",
            "date_modified": "2021-04-06T09:26:57.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "typescript-infer-i-typy-warunkowe",
            "url": "https://pl.typeofweb.com/typescript-infer-i-typy-warunkowe",
            "title": "TypeScript: `infer` i typy warunkowe",
            "summary": "Poprzedni wpis na temat typów warunkowych (Conditional Types) omawiał dokładnie teorię oraz podstawowe zastosowania. W tym artykule skupimy się na niuansach, kompatybilności oraz słowie kluczowym infer, które daje nam nieograniczone możliwości instruowania kompilatora!",
            "date_modified": "2021-01-30T12:50:09.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "self-publishing-podsumowanie-sprzedazy-typescript-na-powaznie",
            "url": "https://pl.typeofweb.com/self-publishing-podsumowanie-sprzedazy-typescript-na-powaznie",
            "title": "Self-publishing: Podsumowanie sprzedaży TypeScript na poważnie",
            "summary": "Jakiś czas temu na moim instagramie zadałem pytanie, czy chcielibyście zobaczyć podsumowanie sprzedaży książki „TypeScript na poważnie” w self-publishing. Blisko 100% odpowiedzi było na TAK, więc oto i ono :)",
            "date_modified": "2021-01-01T12:27:22.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "conditional-types-typescript-typy-warunkowe",
            "url": "https://pl.typeofweb.com/conditional-types-typescript-typy-warunkowe",
            "title": "Conditional types – TypeScript – typy warunkowe",
            "summary": "Typy warunkowe (conditional types) to prawdopodobnie najtrudniejsza część TypeScripta. Jednocześnie, jak to zwykle bywa, jest to element najpotężniejszy i dający ogromne możliwości tworzenia rozbudowanych i zaawansowanych typów, dzięki którym Twoje aplikacje staną się jeszcze bardziej bezpieczne.",
            "date_modified": "2020-12-14T15:35:34.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "self-publishing-jak-napisalem-ksiazke-w-markdownie",
            "url": "https://pl.typeofweb.com/self-publishing-jak-napisalem-ksiazke-w-markdownie",
            "title": "Self-publishing: Jak napisałem książkę w markdownie?",
            "summary": "Wciąż dopytujecie się o proces self-publishing mojej książki „TypeScript na poważnie” od strony technicznej. W czym ją pisałem? Jak tworzyłem e-booki? Dlaczego zdecydowałem się na markdown? Jakich narzędzi używałem? Śpieszę odpowiedzieć – to wszystko w tym wpisie :)",
            "date_modified": "2020-09-30T14:24:58.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "napisalem-ksiazke-kilka-slow-o-typescript-na-powaznie",
            "url": "https://pl.typeofweb.com/napisalem-ksiazke-kilka-slow-o-typescript-na-powaznie",
            "title": "Napisałem książkę! Kilka słów o „TypeScript na poważnie”",
            "summary": "Książka mojego autorstwa „TypeScript na poważnie” została ukończona i jest możliwość zakupu po niższej cenie w przedsprzedaży. Kilka osób prosiło mnie o opisanie tego, jak proces twórczy i wydawniczy wygląda od podszewki – wszak zdecydowałem się self-publishing! Zapraszam więc do serii wpisów :)",
            "date_modified": "2020-08-24T12:27:41.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "hey-com-rewolucyjny-email-od-tworcow-basecampa",
            "url": "https://pl.typeofweb.com/hey-com-rewolucyjny-email-od-tworcow-basecampa",
            "title": "Hey.com – rewolucyjny email od twórców Basecampa?",
            "summary": "Od chwili, gdy pierwszy raz usłyszałem o Hey byłem niesamowicie podekscytowany. Zarządzanie mailami to coś, co wiecznie sprawia mi problem, a Inbox zero jest dla mnie praktycznie nieosiągalne. Dlatego ucieszyłem się, że ktoś próbuje coś w tym temacie zmienić i zbudować konkurencję dla Gmaila: Hey.com od twórców Basecampa!",
            "date_modified": "2020-07-03T08:40:02.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "licencje-oprogramowania",
            "url": "https://pl.typeofweb.com/licencje-oprogramowania",
            "title": "Licencje na oprogramowanie",
            "summary": "Każdy szanujący się programista korzysta z oprogramowania open source. Warto pamiętać, że wykorzystując otwarte oprogramowanie musimy przestrzegać warunków licencji, na jakiej zostało ono udostępnione. Licencje typu open source z reguły udzielają zgody na używanie, modyfikowanie i dystrybucję oprogramowania w dowolnym celu, z zastrzeżeniem warunków chroniących jego pochodzenie i otwartość. Istnieje…",
            "date_modified": "2020-06-24T11:17:23.000Z",
            "author": {
                "name": "Paulina Piątek"
            }
        },
        {
            "id": "react-hooks-wlasne-hooki",
            "url": "https://pl.typeofweb.com/react-hooks-wlasne-hooki",
            "title": "React Hooks: Piszemy własne hooki!",
            "summary": "Niewątpliwą zaletą React Hooks jest to, jak łatwo możemy wydzielać fragmenty logiki do własnych hooków. W tym artykule pokazuję Ci, jak napisać swoje hooki, jakie obowiązują zasady i jak sprawić, aby Twój kod był lepszy!",
            "date_modified": "2020-06-10T11:07:22.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "podsumowanie-roku-2019",
            "url": "https://pl.typeofweb.com/podsumowanie-roku-2019",
            "title": "Podsumowanie roku 2019",
            "summary": "Nieco spóźnione, ale oto i ono: Podsumowanie mojego roku 2019. Długo zwlekałem z napisaniem tego posta głównie ze względu na sytuację panującą na świecie… wiele moich planów uległo zmianie; musiałem też przeprioretyzować pewne sprawy. Ale jest też kilka bardzo dobrych wiadomości!",
            "date_modified": "2020-04-27T14:49:48.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "praca-zdalna-narzedzia",
            "url": "https://pl.typeofweb.com/praca-zdalna-narzedzia",
            "title": "Praca zdalna: Lista 20 przydatnych narzędzi",
            "summary": "Jakie narzędzia sprawiają, że praca zdalna z domu staje się prostsza? Ostatnie zagrożenie epidemiologiczne, z którym przychodzi nam się mierzyć sprawiło, że pracodawcy szukało rozwiązań pozwalających na omijanie do biura, w związku z czym pracownicy i pracowniczki wielu firm przeszli w tryb Home Office. Jednak, dla niektórych praca zdalna jest…",
            "date_modified": "2020-03-16T16:40:30.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "dowiedz-sie-ile-zarabiaja-gwiazdy-frontendu",
            "url": "https://pl.typeofweb.com/dowiedz-sie-ile-zarabiaja-gwiazdy-frontendu",
            "title": "Dowiedz się ile zarabiają gwiazdy frontendu!",
            "summary": "Ostatnio na Twitterze pojawił się ciekawa moda polegająca na ujawnianiu swojego doświadczenia i zarobków przez programistów i programistki w celu uświadamiania i zmniejszenia nierówności płac. Udział w zabawie wzięły także znane gwiazdy takie, jak Dan Abramov albo Sara Vieira. Ile zarabiają?",
            "date_modified": "2020-03-04T14:58:19.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "wady-react-hooks",
            "url": "https://pl.typeofweb.com/wady-react-hooks",
            "title": "Wady React Hooks",
            "summary": "Od wielu tygodni nie opada kurz po zamieszaniu związanym z React Hooks. Poziom hype przebił wszelki hajpometry, a rozsądna debata na temat kodu została zastąpiona prześciganiem się w pisaniu co raz to sprytniejszych i czystszych (w sensie pure) reReact Hooków. Zastanówmy się jednak nad wadami tego rozwiązania.",
            "date_modified": "2020-02-13T09:26:57.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "struktury-danych-kolejka-fifo-lifo-priorytetowa",
            "url": "https://pl.typeofweb.com/struktury-danych-kolejka-fifo-lifo-priorytetowa",
            "title": "Kolejka FIFO, LIFO i priorytetowa – struktury danych",
            "summary": "Kolejka (FIFO), stos (LIFO) i kolejka priorytetowa. Przechodzimy do nieco bardziej abstrakcyjnych struktur danych. Omówimy ich właściwości i złożoności, krótko porozmawiamy o możliwych implementacjach, a także spróbujemy sami napisać!",
            "date_modified": "2020-01-31T11:49:10.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "deploy-przez-ssh-sftp-lub-rsync-w-buddy-works",
            "url": "https://pl.typeofweb.com/deploy-przez-ssh-sftp-lub-rsync-w-buddy-works",
            "title": "Deploy przez SSH, SFTP lub rsync w Buddy.works",
            "summary": "Po poprzednich wpisach wiele osób pytało mnie, w jaki sposób automatycznie wrzucać ich aplikacje z repozytorium GitHub na hosting używając SSH (SFTP) w Buddy.works. Czy w ogóle jest to możliwe? Oczywiście! A Buddy znacznie to ułatwia dzięki predefiniowanej akcji.",
            "date_modified": "2020-01-09T09:31:28.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "podstawowe-struktury-danych-tablica-i-lista",
            "url": "https://pl.typeofweb.com/podstawowe-struktury-danych-tablica-i-lista",
            "title": "Podstawowe struktury danych — tablica i lista",
            "summary": "Znajomość podstawowych struktur danych takich, jak tablica czy lista, jest w środowisku akademickim uważana za wiedzę podstawową w programowaniu. Czy tak jest naprawdę? Moim zdaniem nie jest to absolutnie niezbędne do codziennego klepania kodu. Mimo to, warto jednak poznać różnorodne struktury danych, gdyż ta wiedza może mieć wpływ na nasze…",
            "date_modified": "2019-12-10T18:57:12.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "automatyczne-uruchamianie-testow-w-buddy",
            "url": "https://pl.typeofweb.com/automatyczne-uruchamianie-testow-w-buddy",
            "title": "Automatyczne uruchamianie testów w Buddy",
            "summary": "Jednym z najbardziej potrzebnych elementów tworzenia niezawodnych aplikacji jest pisanie testów i ich automatyczne uruchamianie po stworzeniu Pull Requesta. W tym artykule pokazuję, jak łatwo skonfigurować w tym celu Buddy.works tak, aby automatycznie uruchamiał testy jednostkowe i testy integracyjne.",
            "date_modified": "2019-12-03T13:29:17.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "continuous-integration-na-github-pages-w-buddy-works",
            "url": "https://pl.typeofweb.com/continuous-integration-na-github-pages-w-buddy-works",
            "title": "Continuous Integration na GitHub Pages w Buddy.works",
            "summary": "Ustawienie narzędzi do Continuous Integration i Continuous Delivery nierzadko odstrasza nawet zaawansowane osoby. Nie dziwię się! Pisanie plików konfiguracyjnych w YML do najprzyjemniejszych nie należy. W tym wpisie pokazuję ciekawą alternatywę: jak łatwo wyklikać Continuous Integration w Buddy.works na przykładzie aplikacji React.js i GitHub Pages!",
            "date_modified": "2019-11-18T15:51:56.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "reactive-conference-2019-relacja",
            "url": "https://pl.typeofweb.com/reactive-conference-2019-relacja",
            "title": "Reactive Conference 2019 – relacja",
            "summary": "ReactiveConf 2019 ponownie w czeskiej Pradze. Jak obiecałem, tak zrobiłem i pojechałem na tę konferencję poświęconą tematom takim, jak: JavaScript, React, Vue, Angular, Programowanie Reaktywne, TypeScript i innym. Czy było warto?",
            "date_modified": "2019-11-07T16:50:44.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "continuous-integration-recenzja-buddy-works",
            "url": "https://pl.typeofweb.com/continuous-integration-recenzja-buddy-works",
            "title": "Continuous Integration — Recenzja Buddy.works",
            "summary": "Przez ostatnie kilka lat pracy w branży poznałem wiele różnych narzędzi do Continuous Integration (CI) i Continuous Delivery (CD). Sądziłem, że już nic nie będzie w stanie mnie zaskoczyć i nic nie będzie łatwiejsze, bo niby co dałoby się tutaj uprościć? Otóż, myliłem się. Poznajcie Buddy.works!",
            "date_modified": "2019-11-04T13:55:01.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "zlozonosc-obliczeniowa-czasowa-pamieciowa-algorytmow",
            "url": "https://pl.typeofweb.com/zlozonosc-obliczeniowa-czasowa-pamieciowa-algorytmow",
            "title": "Złożoność obliczeniowa, czasowa i pamięciowa algorytmów",
            "summary": "Często w algorytmicznych zadaniach rekrutacyjnych można natrafić na wymagania dotyczące pojęć takich, jak złożoność obliczeniowa lub złożoność pamięciowa algorytmów. Są to też pojęcia, które warto znać, aby bardziej świadomie podejmować codzienne decyzje dotyczące kodu. Ale co to oznacza? W tym wpisie wyjaśniam, o co chodzi z notacją „duże O” O(n).…",
            "date_modified": "2019-09-16T16:45:25.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "syndrom-oszusta-impostor-syndrome",
            "url": "https://pl.typeofweb.com/syndrom-oszusta-impostor-syndrome",
            "title": "Syndrom oszusta – impostor syndrome",
            "summary": "Czasami zdarza mi się leżeć w nocy i zastanawiać się nad tym, jak niewiele potrafię. Jest cienka, ale bardzo ważna granica pomiędzy skromnością i dostrzeganiem swoich braków, a poczuciem, że wszystko, co wiem jest bezwartościowe. Czasami sam nie wiem, po której stronie stoję. Przypomina Ci to coś? Czy to już…",
            "date_modified": "2019-06-14T14:27:46.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "problem-xy-czyli-gdy-nie-wiemy-o-co-pytamy",
            "url": "https://pl.typeofweb.com/problem-xy-czyli-gdy-nie-wiemy-o-co-pytamy",
            "title": "Problem XY, czyli gdy nie wiemy, o co pytamy",
            "summary": "Na pewno każda i każdy z Was napotkał kiedyś w swoim życiu Problem XY, być może nawet o tym nie wiedząc. Część z was pewnie go „popełnia”. Problem XY występuje wtedy, gdy pytamy o rozwiązanie problemu, zamiast o sam problem. Dlaczego to źle? Jak zadawać pytania?",
            "date_modified": "2019-05-31T13:54:13.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "usememo-usecallback-czyli-rozwiazanie-problemow-ze-zmieniajacymi-sie-propsami",
            "url": "https://pl.typeofweb.com/usememo-usecallback-czyli-rozwiazanie-problemow-ze-zmieniajacymi-sie-propsami",
            "title": "useMemo, useCallback, czyli rozwiązanie problemów ze zmieniającymi się propsami",
            "summary": "Powszechnym zmartwieniem osób poznających komponenty funkcyjne jest tworzenie funkcji-callbacków przekazywanych dalej jako props. Wszak przy każdym renderze funkcja tworzona jest na nowo! Czy to aby nie marnotrastwo? Czy nie powoduje to problemów? React Hooks useMemo i useCallback przychodzą na ratunek!",
            "date_modified": "2019-05-21T09:31:46.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "usereducer-przenoszenie-logiki-poza-komponent",
            "url": "https://pl.typeofweb.com/usereducer-przenoszenie-logiki-poza-komponent",
            "title": "useReducer — przenoszenie logiki poza komponent",
            "summary": "useReducer to alternatywa dla useState. Ale po co i kiedy jej używać? W skrócie: Gdy logika komponentu się rozrasta i chcemy oddzielić ją całkowicie od widoku. Zgodnie z dobrymi praktykami!",
            "date_modified": "2019-05-07T15:16:31.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "react-hooks-a-zadania-do-api",
            "url": "https://pl.typeofweb.com/react-hooks-a-zadania-do-api",
            "title": "React Hooks a żądania do API",
            "summary": "React Hooks mocno upraszczają właściwie wszystko, co do tej pory robiłaś. W jednym z pierwszych odcinków kursu pokazywałem, jak można w szybki sposób pobierać dane z API używając fetch w Reakcie. Czy Hooki coś tutaj zmieniają? Ależ tak!",
            "date_modified": "2019-04-16T09:27:55.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "10-powodow-dla-ktorych-uzywam-jquery-razem-z-react",
            "url": "https://pl.typeofweb.com/10-powodow-dla-ktorych-uzywam-jquery-razem-z-react",
            "title": "10 powodów, dla których używam jQuery razem z React",
            "summary": "W dobie frameworków takich jak React i bibliotek takich jak Angular, można by pomyśleć, że jQuery nie ma już prawa bytu. Nic bardziej mylnego! Ten najpopularniejszy dawniej framework nadal jest niezwykle przydatny w codziennej pracy!",
            "date_modified": "2019-04-01T09:54:18.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "obsluga-zdarzen-w-vue-js-za-pomoca-dyrektywy-v-on",
            "url": "https://pl.typeofweb.com/obsluga-zdarzen-w-vue-js-za-pomoca-dyrektywy-v-on",
            "title": "Obsługa zdarzeń w Vue.js za pomocą dyrektywy v-on",
            "summary": "Aby aplikacja była ciekawa, musi pozwalać użytkownikowi na interakcję. Może to być nie tylko wprowadzanie danych do pól formularzy, ale również reagowanie na zdarzenia kliknięcia, czy ruchy myszką. Niezależnie od tego, jaki rodzaj interakcji chcesz oprogramować, Vue.js pozwoli Ci obsłużyć go za pomocą dyrektywy v-on.",
            "date_modified": "2019-03-10T12:36:33.000Z",
            "author": {
                "name": "Wojtek Urbański"
            }
        },
        {
            "id": "react-hooks-useeffect-efekty-uboczne-w-komponencie",
            "url": "https://pl.typeofweb.com/react-hooks-useeffect-efekty-uboczne-w-komponencie",
            "title": "React Hooks: useEffect — efekty uboczne w komponencie",
            "summary": "W tym wpisie opowiadam o hooku useEffect w React. Na pewno często musisz wykonywać żądania HTTP wewnątrz komponentów, prawda? Albo nasłuchiwać jakichś subskrypcji? Jak często zdarzyło Ci się wykonywać dokładnie ten sam kod w componentDidMount, a potem też w componentDidUpdate? Mi cały czas się to przytrafia! A do tego jeszcze…",
            "date_modified": "2019-03-05T11:28:36.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "funkcyjny-kod-programowanie-listy",
            "url": "https://pl.typeofweb.com/funkcyjny-kod-programowanie-listy",
            "title": "Fragmenty funkcyjnego kodu, które zmieniły moje spojrzenie na programowanie — listy",
            "summary": "Jakiś czas temu zacząłem się mocniej interesować programowaniem funkcyjnym. O ile wydawało mi się, że rozumiem rxjs, lodash/fp i inne podobne biblioteki, to jednak tak naprawdę nigdy nie próbowałem pisać w 100% funkcyjnie. I uwierz mi, to niesamowite doświadczenie! W tym krótkim wpisie pokazuję jeden przykład kodu, który mocno poszerzył…",
            "date_modified": "2019-02-26T15:29:51.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "react-hooks-usestate-wiele-stanow-callbacki-i-inne-niuanse",
            "url": "https://pl.typeofweb.com/react-hooks-usestate-wiele-stanow-callbacki-i-inne-niuanse",
            "title": "React Hooks: useState — wiele stanów, callbacki i inne niuanse",
            "summary": "W poprzednim wpisie omówiłem wstępnie React Hook useState. Pod postem na blogu oraz na Facebooku pojawiło się wiele komentarzy z pytaniami. Chciałbym odpowiedzieć na nie i wyjaśnić kilka niuansów tutaj. Jak to jest z rozbudowanym stanem? Czy można wywoływać useState w jednym komponencie wiele razy? I jak budować stan w…",
            "date_modified": "2019-02-15T12:03:18.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "react-hooks-usestate-czyli-stan-w-komponentach-funkcyjnych",
            "url": "https://pl.typeofweb.com/react-hooks-usestate-czyli-stan-w-komponentach-funkcyjnych",
            "title": "React Hooks: useState, czyli stan w komponentach funkcyjnych",
            "summary": "Wbudowanych Hooków w React jest kilka, a jeszcze więcej możesz tworzyć sam(a). Zaczniemy jednak od podstawowego wbudowanego Hooka useState. Dodamy stan do komponentu funkcyjnego!",
            "date_modified": "2019-02-11T16:55:10.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "react-hooks-wprowadzenie-i-motywacja",
            "url": "https://pl.typeofweb.com/react-hooks-wprowadzenie-i-motywacja",
            "title": "React Hooks — wprowadzenie i motywacja",
            "summary": "Jakiś czas temu zrobiło się głośno na temat React Hooks. Co to jest i po co Ci to? Przez dłuższy czas celowo nie pisałem o tym na blogu, gdyż była to ledwie propozycja i to do tego mocno niestabilna. Teraz jednak sytuacja się zmieniła i wszystko wskazuje na to, że…",
            "date_modified": "2019-02-04T08:36:21.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "podsumowanie-roku-2018-i-plany-na-2019",
            "url": "https://pl.typeofweb.com/podsumowanie-roku-2018-i-plany-na-2019",
            "title": "Podsumowanie roku 2018 i plany na 2019",
            "summary": "Niedługo wyjeżdżam na zasłużony urlop. Zanim to jednak zrobię, chciałbym podsumować rok 2018 i przybliżyć moje plany na 2019. Zacznijmy od rozliczenia się z obietnic za 2018. Chciałbym, aby nowy rok był nieco inny niż wszystkie poprzednie.",
            "date_modified": "2019-01-07T14:48:31.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "dolar-na-poczatku-dolar-na-koncu-czyli-o-notacji-wegierskiej-w-js",
            "url": "https://pl.typeofweb.com/dolar-na-poczatku-dolar-na-koncu-czyli-o-notacji-wegierskiej-w-js",
            "title": "Dolar na początku, dolar na końcu, czyli o notacji węgierskiej w JS",
            "summary": "Na pewno często spotykasz kod, w którym nazwy zmiennych mają znak dolara na początku. Albo na końcu. Taki sposób oznaczania szczególnych zmiennych nazywa się Notacja węgierska. Czy to dobra praktyka?",
            "date_modified": "2018-12-17T18:37:53.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "zasoby-z-ktorych-ja-nauczylem-sie-prawie-wszystkiego-o-front-endzie",
            "url": "https://pl.typeofweb.com/zasoby-z-ktorych-ja-nauczylem-sie-prawie-wszystkiego-o-front-endzie",
            "title": "Zasoby, z których ja nauczyłem się (prawie) wszystkiego o front-endzie",
            "summary": "Nie tak dawno temu, nie umiałem zupełnie nic. Nie miałem pojęcia na temat Internetu, front-endu czy programowania w ogóle. Dziś, umiem już nieco więcej. W tym nieco biograficznym artykule opisuję, skąd się nauczyłem prawie wszystkiego, co potrafię dzisiaj.",
            "date_modified": "2018-12-13T07:40:44.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "bylem-na-reactiveconf-2018",
            "url": "https://pl.typeofweb.com/bylem-na-reactiveconf-2018",
            "title": "Byłem na ReactiveConf 2018",
            "summary": "Tegoroczna konferencja ReactiveConf odbywała się w czeskiej Pradze. Po pozytywnych doświadczeniach w ubiegłym roku, nie myślałem długo, nie przeglądałem nawet agendy, po prostu kupiłem bilet i pojechałem. Spodziewałem się dużo JS, React, Elm, FRP… i w zasadzie się nie zawiodłem. W zasadzie, bo przecież nie o to w tym wszystkim…",
            "date_modified": "2018-11-15T19:30:12.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "call-for-proposals-na-meet-js-summit-2018",
            "url": "https://pl.typeofweb.com/call-for-proposals-na-meet-js-summit-2018",
            "title": "Call For Proposals na meet.js Summit 2018",
            "summary": "meet.js Summit 2018 już za nami. Łącznie wystąpiło 11 prelegentów i prelegentek. Jak dokładnie wyglądał proces ich wyboru? Jak starać się, aby Call For Papers było obiektywne? O poprawie procesów organizacji konferencji.",
            "date_modified": "2018-10-23T14:24:40.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "metody-oraz-pola-typu-computed-w-vue-js",
            "url": "https://pl.typeofweb.com/metody-oraz-pola-typu-computed-w-vue-js",
            "title": "Metody oraz pola typu computed w Vue.js",
            "summary": "Czasami musisz zrobić coś więcej, niż tylko wyświetlić pola komponentu w szablonie. Np. mając pola firstName i lastName chcesz wyświetlić pełne imię i nazwisko osoby. Oczywiście możesz zrobić to za pomocą wyrażenia w szablonie {{ firstName + ' ' + lastName }}. Jest to jednak mało efektywne, i to z…",
            "date_modified": "2018-09-28T16:39:45.000Z",
            "author": {
                "name": "Wojtek Urbański"
            }
        },
        {
            "id": "atrybuty-class-i-style-w-vue-js",
            "url": "https://pl.typeofweb.com/atrybuty-class-i-style-w-vue-js",
            "title": "Atrybuty class i style w Vue.js",
            "summary": "Czym dla mnie jest Vue.js? To przede wszystkim genialne \"developer experience\", czyli taki UX, ale w odniesieniu do wygody korzystania z narzędzia przydatnego w pracy programisty. Świetnym tego przykładem jest fakt, że Vue traktuje inaczej dwa atrybuty html - class i style - sprawiając, że korzystanie z tego frameworka jest…",
            "date_modified": "2018-07-25T17:36:46.000Z",
            "author": {
                "name": "Wojtek Urbański"
            }
        },
        {
            "id": "petle-w-vue-js-z-uzyciem-dyrektywy-v-for",
            "url": "https://pl.typeofweb.com/petle-w-vue-js-z-uzyciem-dyrektywy-v-for",
            "title": "Pętle w Vue.js z użyciem dyrektywy v-for",
            "summary": "Pisząc aplikacje w Vue.js bardzo często będziesz chciał(a) wyświetlić listę elementów w pętli na podstawie tablicy. Właśnie w tym celu \"język szablonów\" wbudowany w Vue.js udostępnia dyrektywę v-for. W najprostszej postaci odpowiada ona pętli for znanej z JavaScriptu.",
            "date_modified": "2018-07-13T12:34:07.000Z",
            "author": {
                "name": "Wojtek Urbański"
            }
        },
        {
            "id": "dyrektywy-warunkowe-w-vue-js",
            "url": "https://pl.typeofweb.com/dyrektywy-warunkowe-w-vue-js",
            "title": "Dyrektywy warunkowe w Vue.js",
            "summary": "Pisząc aplikacje w Vue.js często spotkasz się z sytuacją, w której wyświetlenie lub nie danego elementu będzie zależało od wartości zmiennej. Właśnie do tego służą dyrektywy warunkowe v-if, v-else, v-else-if, (oraz w pewnym sensie v-show), które odpowiadają instrukcjom warunkowym znanym z JavaScript. To właśnie te dyrektywy Ci dziś zademonstruję.",
            "date_modified": "2018-07-04T18:58:00.000Z",
            "author": {
                "name": "Wojtek Urbański"
            }
        },
        {
            "id": "poradnik-dla-organizatorow-konferencji",
            "url": "https://pl.typeofweb.com/poradnik-dla-organizatorow-konferencji",
            "title": "Poradnik dla organizatorów konferencji",
            "summary": "Chciałabyś/chciałbyś zorganizować konferencję? Martwisz się, czy o wszystkim pomyślałaś/pomyślałeś? Czy wszystko będzie idealnie? Nie jesteś sam(a)! Po 5 latach organizowania spotkań meet.js Gdańsk, na które za każdym razem przychodzi ponad 150 osób, po 2 edycjach meet.js Summit Gdańsk, na których pojawiło się łącznie blisko 1000 uczestników i po udziale w…",
            "date_modified": "2018-07-03T09:49:29.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "higher-order-reducers-redux-i-powtarzanie-kodu",
            "url": "https://pl.typeofweb.com/higher-order-reducers-redux-i-powtarzanie-kodu",
            "title": "Higher Order Reducers — Redux i powtarzanie kodu",
            "summary": "Higher Order Reducers — co to takiego? Gdy popracujesz dłużej z Reduksem to na pewno zauważysz pewne powtarzalne wzorce. Napisanie akcji i reducerów do obsługi API to konieczność powtórzenia bardzo podobnego kodu kilka, kilkanaście razy! Czy na pewno jest to konieczne? Z pomocą przychodzą właśnie Higher Order Reducers i kompozycja.",
            "date_modified": "2018-06-28T09:08:28.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "dynamiczne-atrybuty-w-vue-js-dyrektywa-v-bind",
            "url": "https://pl.typeofweb.com/dynamiczne-atrybuty-w-vue-js-dyrektywa-v-bind",
            "title": "Dynamiczne atrybuty w Vue.js - dyrektywa v-bind",
            "summary": "W poprzednim wpisie pokazałem Ci jak wyświetlić dynamiczne dane w Vue.js za pomocą wąsów, czyli podwójnych nawiasów klamrowych ({{ nazwaZmiennej }}). Dziś dowiesz się jak przekazać je do atrybutów elementu HTML za pomocą dyrektywy v-bind.",
            "date_modified": "2018-06-25T07:45:37.000Z",
            "author": {
                "name": "Wojtek Urbański"
            }
        },
        {
            "id": "pierwszy-komponent-vue-js",
            "url": "https://pl.typeofweb.com/pierwszy-komponent-vue-js",
            "title": "Pierwszy komponent Vue.js",
            "summary": "Vue.js jest reaktywnym frameworkiem JavaScript. Znaczy to, że dowolna zmiana danych używanych do wyświetlania strony sprawia, że widok automatycznie jest aktualizowany tak, aby odzwierciedlić tę zmianę.",
            "date_modified": "2018-06-18T11:15:12.000Z",
            "author": {
                "name": "Wojtek Urbański"
            }
        },
        {
            "id": "w-2018-migruje-z-githuba",
            "url": "https://pl.typeofweb.com/w-2018-migruje-z-githuba",
            "title": "W 2018 migruję z GitHuba",
            "summary": "Microsoft kupił GitHuba za przewrotną kwotę 7,5 miliarda dolarów. Co to oznacza dla użytkowników? I najważniejsze: Co to oznacza dla idei Open Source?",
            "date_modified": "2018-06-11T08:39:26.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "wprowadzenie-do-kursu-vue-js-od-podstaw",
            "url": "https://pl.typeofweb.com/wprowadzenie-do-kursu-vue-js-od-podstaw",
            "title": "Wprowadzenie do kursu Vue.js od podstaw",
            "summary": "Witaj w kursie Vue.js od podstaw. Bardzo się cieszę, że chcesz się nauczyć tego wspaniałego frameworka JavaScript. Niezależnie od tego, czy chcesz szukać pracy, w której będziesz wykorzystywać Vue.js, napisać w nim hobbystyczny projekt, czy po prostu poszerzyć swoje horyzonty jako programist(k)a JavaScript ten kurs jest dla Ciebie.",
            "date_modified": "2018-06-08T12:20:00.000Z",
            "author": {
                "name": "Wojtek Urbański"
            }
        },
        {
            "id": "leniwe-ladowanie-komponentow-w-react-dzieki-import",
            "url": "https://pl.typeofweb.com/leniwe-ladowanie-komponentow-w-react-dzieki-import",
            "title": "Leniwe ładowanie komponentów w React dzięki import",
            "summary": "Czy w React da się ładować komponenty leniwie? A więc masz już sporą aplikację. Chcesz ją jakoś zoptymalizować. Do głowy przychodzi Ci, oczywiście, podział jej na kilka części, które będą ładowane na żądanie, dopiero gdy będą potrzebne — tzw. lazy load. Z pomocą przychodzi operator import(…) — po prostu!",
            "date_modified": "2018-06-04T11:05:42.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "nowe-metody-cyklu-zycia-getderivedstatefromprops-i-getsnapshotbeforeupdate",
            "url": "https://pl.typeofweb.com/nowe-metody-cyklu-zycia-getderivedstatefromprops-i-getsnapshotbeforeupdate",
            "title": "Nowe metody cyklu życia: getDerivedStateFromProps i getSnapshotBeforeUpdate",
            "summary": "Od wersji React 16.3 funkcje componentWillMount, componentWillReceiveProps i componentWillUpdate zostają oznaczone jako deprecated. Pojawiają się też dwie nowe metody cyklu życia: getDerivedStateFromProps i getSnapshotBeforeUpdate. Co to dla nas oznacza? Do czego one służą? Jak ich używać?",
            "date_modified": "2018-05-29T10:18:46.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "24-blogi-ktore-musi-sledzic-javascript-developer",
            "url": "https://pl.typeofweb.com/24-blogi-ktore-musi-sledzic-javascript-developer",
            "title": "24 blogi, które musi śledzić każdy JavaScript developer",
            "summary": "Wciąż pytacie jakie blogi polecam śledzić. A ja nigdy nie pamiętam! No, ale teraz jest już cała lista! Moja lista polecanych linków dla front-end developerów! To drugi wpis z serii.",
            "date_modified": "2018-05-22T09:49:31.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "kiedy-uzywac-state-a-kiedy-redux",
            "url": "https://pl.typeofweb.com/kiedy-uzywac-state-a-kiedy-redux",
            "title": "Kiedy używać state, a kiedy Redux?",
            "summary": "Bardzo często osoby poznające bibliotekę Redux próbują przenieść cały stan każdego komponentu do Reduksowego store'a. Czy to ma sens? Czy powinnaś całkowicie przestać używać setState?",
            "date_modified": "2018-05-16T07:22:17.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "asynchronicznosc-w-redux-redux-thunk",
            "url": "https://pl.typeofweb.com/asynchronicznosc-w-redux-redux-thunk",
            "title": "Asynchroniczność w Redux: redux-thunk",
            "summary": "Do tej pory dane z API pobierałem po prostu w komponencie App, a po przyjściu odpowiedzi wysyłałem odpowiednią akcję (contactsFetched). To działało. Ale wymyśliłem sobie nową funkcję w aplikacji: Możliwość parametryzowania zapytań do API. Posłuży mi do tego nowy komponent. Jak teraz mam wykonywać zapytania do API? Przekazywać coś do…",
            "date_modified": "2018-05-07T10:24:32.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "projektowanie-komponentow-presentational-container-components",
            "url": "https://pl.typeofweb.com/projektowanie-komponentow-presentational-container-components",
            "title": "Projektowanie komponentów: Presentational & Container Components",
            "summary": "Często w różnych artykułach poświęconych Reactowi i Reduksowi napotkasz takie sformułowania jak Presentational and Container Components albo Skinny and Fat Components albo Dumb and Smart Components i być może jeszcze kilka innych podobnych ;) Wszystkie te określenia oznaczają to samo: Podział komponentów na 2 rodzaje: Służące prezentacji oraz zawierające logikę.",
            "date_modified": "2018-04-30T19:53:07.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "react-redux-filtrowanie-listy-selektory",
            "url": "https://pl.typeofweb.com/react-redux-filtrowanie-listy-selektory",
            "title": "React + Redux — filtrowanie listy, proste selektory",
            "summary": "Jak dokładnie wygląda komunikacja pomiędzy komponentami przy użyciu Redux w React? W tym wpisie pokazuję jak zaimplementować filtrowanie listy przy użyciu Reduksa. Na dokładkę — poznasz pojęcie „selektor” i pewien ważny koncept w Reduksie. Do kodu!",
            "date_modified": "2018-04-23T13:37:00.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "react-amsterdam-najgorsza-konferencja",
            "url": "https://pl.typeofweb.com/react-amsterdam-najgorsza-konferencja",
            "title": "Czy React.Amsterdam to najgorsza konferencja na jakiej byłem?",
            "summary": "Zachęcony ciekawym miejscem, dobrą agendą i tematyką, kupiłem bilet na React.Amsterdam. I poleciałem. Jakie są moje wrażenia? Jaka jest moja opinia? Czy była to najgorsza konferencja na jakiej byłem?",
            "date_modified": "2018-04-20T13:16:18.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "tdd-react-testing-library",
            "url": "https://pl.typeofweb.com/tdd-react-testing-library",
            "title": "TDD w React.js z pomocą react-testing-library",
            "summary": "Jak tworzyć komponenty w React.js zgodnie z TDD dzięki react-testing-library? Jak zamockować axios? Jak napisać testy odporne na refactoring? To i kilka innych sztuczek w artykule poniżej :)",
            "date_modified": "2018-04-13T09:28:29.000Z",
            "author": {
                "name": "Michał Baranowski"
            }
        },
        {
            "id": "lokalny-serwer-http-proste-sposoby-na-problemy-z-file",
            "url": "https://pl.typeofweb.com/lokalny-serwer-http-proste-sposoby-na-problemy-z-file",
            "title": "Serwer HTTP lokalnie: Sposób na problemy z CORS i file:///",
            "summary": "Po co Ci lokalny serwer HTTP? Bardzo wiele osób skarży się mi na dziwne problemy z aplikacjami. Błędy są przeróżne np. nawiązujące do magicznego „CORS”, a często mają wspólne źródło: Próba otwarcia pliku .html w przeglądarce przez file:// i brak serwera HTTP.",
            "date_modified": "2018-04-09T14:24:38.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "react-redux-kurs-wprowadzenie-i-podstawy",
            "url": "https://pl.typeofweb.com/react-redux-kurs-wprowadzenie-i-podstawy",
            "title": "React + Redux — kurs: wprowadzenie i podstawy",
            "summary": "Redux! Kurs Reacta dorobił się odcinka o Reduksie! Powoli wprowadzę Cię świat Reduksa, nauczysz się używać tej łatwej biblioteki, poznasz koncepty stojące za nią i napiszesz prostą aplikację.",
            "date_modified": "2018-04-06T11:54:56.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "grupy-facebook-front-end-developer",
            "url": "https://pl.typeofweb.com/grupy-facebook-front-end-developer",
            "title": "20 grup na Facebooku, które powinien śledzić każdy front-end developer",
            "summary": "Często pytacie mnie jakie strony, blogi, newslettery, RSS-y i Twittery śledzę. Zazwyczaj nie potrafiłem na to pytanie szybko odpowiedzieć, bo nie miałem nigdzie pod ręką zebranej listy. Dotychczas. Ale oto jest. Powstaje. Moja lista polecanych linków dla front-end developerów! To pierwszy wpis z serii.",
            "date_modified": "2018-03-29T14:41:17.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "flux-i-redux-globalny-store-jednokierunkowy-przeplyw-danych",
            "url": "https://pl.typeofweb.com/flux-i-redux-globalny-store-jednokierunkowy-przeplyw-danych",
            "title": "Flux i Redux: globalny store i jednokierunkowy przepływ danych",
            "summary": "Na co dzień korzystam z Redux razem z React. Dawniej używałem też własnej implementacji architektury Flux razem z AngularJS. Postanowiłem napisać o tym koncepcie coś więcej — bo jest to bez wątpienia bardzo ciekawe! Jednokierunkowy przepływ danych, akcje, dispatcher, action creator, reducer… to wszystko w tym wpisie :) A do…",
            "date_modified": "2018-03-29T11:16:34.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "odpowiadam-na-pytania-props-nawiasy-klamrowe-funkcje-vs-klasy-import-react",
            "url": "https://pl.typeofweb.com/odpowiadam-na-pytania-props-nawiasy-klamrowe-funkcje-vs-klasy-import-react",
            "title": "Odpowiadam na pytania: props, nawiasy klamrowe, funkcje vs klasy, import react",
            "summary": "Kolejna seria Waszych pytań i moich odpowiedzi na temat React. W komentarzach i na fejsie pojawia się ich mnóstwo, staram się wyłapywać, zapisywać i kompilować w postaci artykułu. Oto one :)",
            "date_modified": "2018-03-26T15:12:56.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "formularze-w-react-js-niekontrolowane-komponenty",
            "url": "https://pl.typeofweb.com/formularze-w-react-js-niekontrolowane-komponenty",
            "title": "Formularze w React.js — niekontrolowane komponenty",
            "summary": "Część druga formularzy w React.js — tym razem formularze tak zwane „niekontrolowane” — czyli Uncontrolled Components. Czym są i jak się ich używa? No i po co Ci w ogóle formularze niekontrolowane w React.js?",
            "date_modified": "2018-03-20T12:13:30.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "tworzymy-wlasne-dependency-injection-w-typescript",
            "url": "https://pl.typeofweb.com/tworzymy-wlasne-dependency-injection-w-typescript",
            "title": "Tworzymy własne Dependency Injection w TypeScript",
            "summary": "Najlepiej uczy się na konkretnych przykładach. Dzisiaj napiszesz własną bibliotekę do Dependency Injection w TypeScripcie! Przydadzą nam się dekoratory, metadane, refleksja i kilka sztuczek. Do dzieła :)",
            "date_modified": "2018-03-15T00:14:33.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "jak-kurs-programowania-ani-bootcamp-nie-zrobi-z-ciebie-programisty-w-dwa-miesiące",
            "url": "https://pl.typeofweb.com/jak-kurs-programowania-ani-bootcamp-nie-zrobi-z-ciebie-programisty-w-dwa-miesiące",
            "title": "Jak kurs programowania ani bootcamp nie zrobi z Ciebie programisty w dwa miesiące",
            "summary": "Jestem absolwentką dwóch kursów programowania: Front-end z biblioteką React oraz podstaw Javy.",
            "date_modified": "2018-03-12T10:30:55.000Z",
            "author": {
                "name": "Karolina Kreft"
            }
        },
        {
            "id": "formularze-react-js-kontrolowane-komponenty",
            "url": "https://pl.typeofweb.com/formularze-react-js-kontrolowane-komponenty",
            "title": "Formularze w React.js — kontrolowane komponenty",
            "summary": "Dzisiaj zajmiesz się imlementacją formularzy w React.js. Już wcześniej dokonywałaś/eś interakcji z polami formularza — ale raczej w prosty sposób. Dzisiaj o formularzach kontrolowanych w React.js",
            "date_modified": "2018-03-06T09:14:25.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "x-team-opis-rekrutacja-opinia",
            "url": "https://pl.typeofweb.com/x-team-opis-rekrutacja-opinia",
            "title": "X-Team — opis, rekrutacja, moja opinia",
            "summary": "Od momentu gdy zdecydowałem się na 100% pracę zdalną, kilka razy zmieniałem już „pracę” — klientów. Od pewnego czasu współpracuję z X-Team. Jak mi jest z X-Team? Dawno obiecywałem sobie, że opiszę moje doświadczenia z tą firmą i ten dzień nadszedł właśnie dzisiaj. Jeśli szukasz tylko krótkiego podsumowania to bardzo…",
            "date_modified": "2018-02-28T11:41:09.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "komunikacja-z-api-w-react-js",
            "url": "https://pl.typeofweb.com/komunikacja-z-api-w-react-js",
            "title": "Komunikacja z API w React.js",
            "summary": "Bardzo często powracającym wątkiem jest pytanie o to, w jaki sposób zaimplementować komunikację z API w React.js. Moja odpowiedź może Cię nieco zaskoczyć: React nie ma nic do tego. Możesz to robić absolutnie dowolnie.",
            "date_modified": "2018-02-27T06:58:57.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "komunikacja-pomiedzy-komponentami-w-react-js",
            "url": "https://pl.typeofweb.com/komunikacja-pomiedzy-komponentami-w-react-js",
            "title": "Komunikacja pomiędzy komponentami w React.js",
            "summary": "Przyszedł ten moment, gdy Twoja aplikacja zaczyna się rozrastać i zmagasz się z różnymi problemami z architekturą. Zacznijmy od prostego problemu: Komunikacja pomiędzy komponentami. Ale nie tylko tymi, które są bezpośrednio obok siebie, ale też tymi dowolnie oddalonymi w aplikacji…",
            "date_modified": "2018-02-24T09:15:02.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "odpowiadam-na-pytania-babel-ecmascript-destrukturyzacja-onclick-classname",
            "url": "https://pl.typeofweb.com/odpowiadam-na-pytania-babel-ecmascript-destrukturyzacja-onclick-classname",
            "title": "Odpowiadam na pytania: Babel, ECMAScript, destrukturyzacja, onClick, className",
            "summary": "W komentarzach na blogu i na Facebooku pojawiło się całe mnóstwo różnych pytań do mnie. Super! Staram się odpowiadać na nie na biężąco. Ale teraz postanowiłem też zebrać je w jednym miejscu wraz z odpowiedziami — i stworzyć swego rodzaju kompendium wiedzy ;) Jeśli masz jakieś pytania to pisz! Odpowiem…",
            "date_modified": "2018-02-21T18:41:32.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "poprawne-bindowanie-funkcji-react-js",
            "url": "https://pl.typeofweb.com/poprawne-bindowanie-funkcji-react-js",
            "title": "Poprawne bindowanie funkcji w React.js",
            "summary": "Jak pewnie zauważyłaś/eś — wywołanie metody klasy w React.js z poziomu funkcji render kończy się źle, o ile nie użyjesz bind. Wspominałem też o tym w kursie i sam używałem po prostu bind w czasie renderowania. Ale czy to dobre rozwiązanie? Co z wydajnością i czytelnością takiego kodu?",
            "date_modified": "2018-02-16T15:34:32.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "testowanie-react-js-enzyme-props-state-interakcje",
            "url": "https://pl.typeofweb.com/testowanie-react-js-enzyme-props-state-interakcje",
            "title": "Testowanie React.js w Enzyme — props, state i interakcje",
            "summary": "Pokazałem już jak pisać proste testy do aplikacji React.js z użyciem Enzyme. Sprawdzanie czy coś się renderuje, czy zawiera tekst, czy dobrze pokazuje elementy… W tym wpisie idę o krok dalej. Pokazuję jak w Enzyme testować interakcje z komponentami, odczytywać i zmieniać propsy a także state.",
            "date_modified": "2018-02-13T13:46:21.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "testowanie-aplikacji-react-js-podstawy-enzyme",
            "url": "https://pl.typeofweb.com/testowanie-aplikacji-react-js-podstawy-enzyme",
            "title": "Testowanie aplikacji React.js — podstawy Enzyme",
            "summary": "Testowanie aplikacji to rzecz ważna. Do tej pory jednak nie wspomniałem ani słowem o testowaniu React.js. Czas najwyższy to zrobić! I od razu wrzucam Cię na głęboką wodę — użyjesz React.js i Enzyme — przemiłej biblioteki do testowania komponentów.",
            "date_modified": "2018-02-09T08:20:22.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "react-js-na-github-pages-dzieki-create-react-app",
            "url": "https://pl.typeofweb.com/react-js-na-github-pages-dzieki-create-react-app",
            "title": "React.js na GitHub Pages dzięki create-react-app",
            "summary": "Bardzo często początkujący pytają mnie gdzie mogą łatwo wrzucić nieco bardziej rozbudowany projekt, żeby go pokazać. Nie mają swojego hostingu, na Codepenie nie będzie to wygodne jeśli aplikacja podzielona jest na wiele plików. Co robić? Zazwyczaj odpowiadam: GitHub Pages.",
            "date_modified": "2018-01-31T16:14:36.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "tworzenie-aplikacji-react-js-dzieki-create-react-app",
            "url": "https://pl.typeofweb.com/tworzenie-aplikacji-react-js-dzieki-create-react-app",
            "title": "Tworzenie aplikacji React.js dzięki create-react-app",
            "summary": "Do tej pory pokazałem kilka przykładów z React.js, a wszystkie wrzuciłem na codepen. Jak się pewnie domyślasz, tworzenie rozbudowanych aplikacji wygląda nieco inaczej. Dzielisz je na wiele plików, chcesz odpalać testy jednostkowe, a ostatecznie chciałabyś kod zminifikować. create-react-app to paczka pozwalająca na łatwe stworzenie projektu opartego o React.js. Tworzy dla…",
            "date_modified": "2018-01-29T15:19:49.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "nowa-inicjatywa-recenzje-portali-praca-zdalna",
            "url": "https://pl.typeofweb.com/nowa-inicjatywa-recenzje-portali-praca-zdalna",
            "title": "Nowa inicjatywa: Recenzje portali z pracą zdalną",
            "summary": "Praca zdalna jest celem dla wielu osób. Wiele razy ludzie pytali mnie: „Gdzie szukać pracy zdalnej?”. Z pamięci jestem w stanie przytoczyć zazwyczaj tylko kilka serwisów. A przecież podobnych portali z pracą zdalną w Internecie na pewno jest więcej! Dlatego stworzyłem stronę, na której zbierzemy wszystkie interesujące portale z pracą…",
            "date_modified": "2018-01-28T01:00:20.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "react-js-w-przykladach-filtrowanie-statycznej-listy",
            "url": "https://pl.typeofweb.com/react-js-w-przykladach-filtrowanie-statycznej-listy",
            "title": "React.js w przykładach: filtrowanie statycznej listy",
            "summary": "W jednym z komentarzy ktoś zasugerował mi, abym pokazywał jak najwięcej praktycznych przykładów. Inna osoba pytała konkretnie o przykład filtrowania listy na podstawie tekstu wpisywanego w input. Stwierdziłem, że warto skorzystać z tych sugestii. Oto powstaje seria wpisów, które będą się przeplatały z kursem Reacta jako takim. Tutaj będę pokazywał…",
            "date_modified": "2018-01-24T09:19:30.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "odmiana-rzeczownikow-przy-liczebnikach-jezyku-polskim",
            "url": "https://pl.typeofweb.com/odmiana-rzeczownikow-przy-liczebnikach-jezyku-polskim",
            "title": "Odmiana rzeczowników przy liczebnikach w języku polskim",
            "summary": "A to Ci nietypowe temat na tym blogu :D Ale spokojnie, będzie o programowaniu ;) Ostatnio szlifuję pierwszą publiczną wersję pewnej aplikacji, nad którą pracuję hobbystycznie. Gryzła mnie tylko jedna rzecz: Odmiana słów przy liczbach. Temat powszechnie znany i irytujący. Jak ładnie i prosto zapisać w kodzie „1 komentarz”, „2…",
            "date_modified": "2018-01-22T20:26:28.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "metody-cyklu-zycia-komponentu-react-js",
            "url": "https://pl.typeofweb.com/metody-cyklu-zycia-komponentu-react-js",
            "title": "Metody cyklu życia komponentu w React.js",
            "summary": "Przy okazji omawiania komponentów będących klasami w React.js, wspomniałem też o możliwości korzystania z metod cyklu życia (lifecycle methods). Chciałbym do tego tematu teraz powrócić. Pokażę jakie metody cyklu życia definiuje React.js, do czego one służą i kiedy mogą się przydać.",
            "date_modified": "2018-01-18T17:33:42.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "state-react-js-2",
            "url": "https://pl.typeofweb.com/state-react-js-2",
            "title": "State w React.js 2",
            "summary": "Pod koniec poprzedniego wpisu zadałem podchwytliwe ćwiczenie dotyczące state w React.js. Jeśli jeszcze go nie wykonałaś/eś to teraz jest ten moment, aby wrócić i spróbować ;) W tym wpisie rozwijam temat state, opisuję dokładniej jak działa setState i jakie argumenty przyjmuje.",
            "date_modified": "2018-01-15T12:51:05.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "podsumowanie-roku-2017-plany-2018",
            "url": "https://pl.typeofweb.com/podsumowanie-roku-2017-plany-2018",
            "title": "Podsumowanie roku 2017 i plany na 2018",
            "summary": "Właśnie wracam z ponad dwutygodniowego urlopu. Była to dla mnie całkowita przerwa od wszystkiego co robię na co dzień — przerwa od pracy, od bloga, bez internetu, z dala od domu. Życzyłem Wam chwili wytchnienia od projektów, dedlajnów i fakapów — i sam się do swoich zaleceń zastosowałem. W tym…",
            "date_modified": "2018-01-13T08:03:46.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "state-react-js",
            "url": "https://pl.typeofweb.com/state-react-js",
            "title": "Stan komponentów React.js",
            "summary": "Przyszedł czas na poznanie tajemniczego state w React.js. Udało nam się tworzyć komponenty, które pięknie wyświetlały przekazane propsy, ale trzeba przyznać szczerze: Bez wewnętrznego stanu nie da się zbudować funkcjonalnej aplikacji. Dzisiaj nauczysz się taki stan dodawać i wykorzystywać :)",
            "date_modified": "2018-01-11T14:34:52.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "joi-walidacja-danych",
            "url": "https://pl.typeofweb.com/joi-walidacja-danych",
            "title": "Joi — walidacja danych",
            "summary": "Walidacja danych to bardzo ciekawy i rozbudowany temat, a ja znalazłem swoją ulubioną paczkę do tego :) Ten wpis poświęcam w 100% bibliotece Joi. Wbrew pozorom, nie jest to wcale tak banalna sprawa, jakby się mogło wydawać! Joi służy do walidacji danych w Node.js. Można jej używać z dowolnym frameworkiem,…",
            "date_modified": "2018-01-10T10:25:04.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "interakcja-komponentami-react-js",
            "url": "https://pl.typeofweb.com/interakcja-komponentami-react-js",
            "title": "Interakcja z komponentami React.js",
            "summary": "Tworzenie aplikacji nie miałoby sensu, gdyby użytkownik nie mógł wchodzić z nią w interakcje :) Dzisiaj nauczysz się obsługiwać zdarzenia wywoływane przez użytkowników: Kliknięcia, najechania kursorem, zmiany tekstu w polu tekstowym… oczywiście w React.js.",
            "date_modified": "2018-01-08T02:12:39.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "klasy-jako-komponenty-react-js",
            "url": "https://pl.typeofweb.com/klasy-jako-komponenty-react-js",
            "title": "Klasy jako komponenty React.js",
            "summary": "Do tej pory używaliśmy prostych funkcji i z nich tworzyliśmy komponenty React. Mimo, że przeważająca część komponentów, które tworzę są właśnie takimi prostymi funkcjami, to jednak nie wszystkie. Funkcje są bardzo przydatne, jednak poniekąd ograniczone. Jak więc inaczej można tworzyć komponenty w React.js? Używając klas!",
            "date_modified": "2017-12-19T12:26:57.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "podzial-komponenty-react-js",
            "url": "https://pl.typeofweb.com/podzial-komponenty-react-js",
            "title": "Podział na komponenty w React.js",
            "summary": "W tej części skupisz się na teorii i praktyce dzielenia zaprojektowanych aplikacji na poszczególne komponenty. Zaczniesz też tworzyć prostą appkę — menedżer kontaktów. W planach wyświetlanie, dodawanie i edycja kontaktów. Ale najpierw — musimy przecież zaprojektować HTML i CSS dla tej aplikacji.",
            "date_modified": "2017-12-17T10:48:35.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "hackowanie-css",
            "url": "https://pl.typeofweb.com/hackowanie-css",
            "title": "Hackowanie CSS",
            "summary": "Numerem 1 podatności aplikacji internetowych wg. OWASP jest szerokopojęte „Injection”. Zazwyczaj kiedy o tym mówimy gdzieś z tyłu głowy mamy wyłącznie JavaScript i tylko XSS. A to przecież błąd 😲 W tym wpisie pokażę Ci jak można wykorzystać ciekawe elementy języka CSS do kradzieży wrażliwych danych z aplikacji ofiary.",
            "date_modified": "2017-12-15T12:36:18.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "props-czyli-atrybuty-react-js",
            "url": "https://pl.typeofweb.com/props-czyli-atrybuty-react-js",
            "title": "Props czyli atrybuty w React.js",
            "summary": "W tej części nauczysz się parametryzować komponenty w React.js. Poznasz pojęcie \"props\" oraz dowiesz się do czego one (te „propsy”) służą.",
            "date_modified": "2017-12-12T14:25:59.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "pierwszy-komponent-react-js",
            "url": "https://pl.typeofweb.com/pierwszy-komponent-react-js",
            "title": "Pierwszy komponent w React.js",
            "summary": "W tym wpisie pokażę prosty komponent React.js, opiszę jego budowę i podstawowe elementy. Napiszemy też (razem) pierwszą pełnoprawną aplikację w React, którą będziesz mogła/mógł uruchomić u siebie na dysku. Będzie to baza do dalszych części kursu React.js.",
            "date_modified": "2017-12-08T14:30:58.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "poznaj-react-js",
            "url": "https://pl.typeofweb.com/poznaj-react-js",
            "title": "Poznaj React.js",
            "summary": "React jest biblioteką do budowania interfejsów w JavaScript, stworzoną przez Facebooka. React zdobył ogromną popularność wśród programistów i jest jedną z tych bibliotek, w których pisze się całkiem przyjemnie. Koncept Reacta opiera się o znane od dawna wzorce, które zostały tutaj odświeżone i zunifikowane: Jednokierunkowy przepływ danych i budowanie aplikacji…",
            "date_modified": "2017-12-05T14:00:54.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "wprowadzenie-kurs-react-js",
            "url": "https://pl.typeofweb.com/wprowadzenie-kurs-react-js",
            "title": "React.js: Wprowadzenie do kursu od podstaw",
            "summary": "Oto kurs React.js od podstaw. Moje gratulacje za podjęcie tego tematu! To pierwszy krok w kierunku realizacji Twoich ambicji i poznania tego niezwykle przydatnego narzędzia. Ten kurs React.js sprawi, że będziesz umiał(a) tworzyć rozbudowane i profesjonalne aplikacje internetowe oraz przybliży Cię do celu jakim zapewne jest znalezienie pracy w tej…",
            "date_modified": "2017-11-28T14:54:47.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "this-js-kontekst-wywolania-funkcji",
            "url": "https://pl.typeofweb.com/this-js-kontekst-wywolania-funkcji",
            "title": "this w JS — czyli kilka słów o kontekście wywołania funkcji",
            "summary": "Czy kiedykolwiek spotkałaś(-eś) się z błędem w aplikacji, który wynikał z tego, że \"this\" było ustawione na coś innego, niż się spodziewałaś/eś? Jeśli tak, to nie jesteś jedyna(-y). W swojej karierze programisty miałem okazję występować w roli rekrutera na ponad 160-ciu rozmowach kwalifikacyjnych na stanowiska front-endowe. Jeśli nauczyło mnie to…",
            "date_modified": "2017-11-14T17:33:21.000Z",
            "author": {
                "name": "Wojtek Urbański"
            }
        },
        {
            "id": "krotka-relacja-z-reactiveconf-2017",
            "url": "https://pl.typeofweb.com/krotka-relacja-z-reactiveconf-2017",
            "title": "Krótka relacja z ReactiveConf 2017",
            "summary": "W tym roku po raz pierwszy wybrałem się na ReactiveConf do Bratysławy (Słowacja). Strona konferencji zachęcała znanymi prelegentami i ciekawymi prezentacjami, więc bez dłuższego namysłu kupiłem bilet. ReactiveConf to 2 dni prezentacji oraz 1 dzień warsztatów poświęconych programowaniu reaktywnemu, FRP, React.js, Angular, Elm i wielu, wielu innym tematom…",
            "date_modified": "2017-11-07T19:16:05.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "kilka-faktow-na-temat-promise",
            "url": "https://pl.typeofweb.com/kilka-faktow-na-temat-promise",
            "title": "Promise: 9 rzeczy, których nie wiesz na temat Promise",
            "summary": "Każdy programista wcześniej czy później ściera się z problemem asynchroniczności. Jest to temat bardzo złożony, nawet w języku jednowątkowym jakim jest JavaScript. Promise jest abstrakcją, która stara się asynchroniczność ukryć oraz sprawić, aby korzystanie z niej było dla nas przyjemniejsze i bardziej przewidywalne.",
            "date_modified": "2017-10-23T20:09:58.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "symlink-zip-upload-plikow-dla-hackera",
            "url": "https://pl.typeofweb.com/symlink-zip-upload-plikow-dla-hackera",
            "title": "Symlink, zip i upload plików – łatwo padniesz łupem hackera",
            "summary": "Bardzo często ścieram się z sytuacjami gdzie ktoś kopiuje kod z Internetu do aplikacji bez zweryfikowania co ten kod do końca robi… Zresztą: Kto nie wykorzystał gotowca ze StackOverflow bez czytania opisu i komentarzy niech pierwszy rzuci kamień ;) Czasem jednak pozornie niewinne fragmenty kodu mogą doprowadzić do katastrofy. Weźmy…",
            "date_modified": "2017-10-17T11:45:29.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "twoja-strona-powinna-byc-na-https",
            "url": "https://pl.typeofweb.com/twoja-strona-powinna-byc-na-https",
            "title": "HTTPS: Dlaczego Twoja kolejna strona powinna to mieć?",
            "summary": "Niemal cała Twoja aktywność w Internecie odbywa się za pośrednictwem protokołu HTTP (Hypertext Transfer Protocol). Właściwie niezależnie co robisz, z czym albo skąd się łączysz – prawdopodobnie robisz to przez HTTP. Wraz z tym jak Twoja zależność od Internetu rośnie, jesteś narażona/y na coraz więcej różnego rodzaju zagrożeń. Każde nieszyfrowane…",
            "date_modified": "2017-10-10T10:28:14.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "meet-js-summit-2017-nasze-podsumowanie",
            "url": "https://pl.typeofweb.com/meet-js-summit-2017-nasze-podsumowanie",
            "title": "meet.js Summit 2017: Nasze podsumowanie",
            "summary": "meet.js Summit 2017 dobiegł końca! Minął ponad tydzień i opadły już emocje po zakończeniu największej tego typu konferencji w Polsce i przede wszystkim największego meet.js Summit w historii meet.js! Jako organizatorzy, chcielibyśmy tutaj przedstawić naszą relację: Jak to wszystko wyglądało z drugiej strony, czy organizacja konferencji to czysta przyjemność, co…",
            "date_modified": "2017-10-03T22:47:32.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "usuwanie-bialych-paskow-safari-iphone-x",
            "url": "https://pl.typeofweb.com/usuwanie-bialych-paskow-safari-iphone-x",
            "title": "Usuwanie białych pasków w Safari na iPhone X",
            "summary": "Apple przedstawiło niedawno swojego nowego flagowego smartfona – iPhone X. To co odróżnia go od poprzedników to głównie wyświetlacz rozciągający się od krawędzi do krawędzi. Oprócz pięknego wyglądu, niestety rodzi to pewne nowe problemy – między innymi z tym, że Safari na iOS domyślnie wyświetla białe paski po prawej i…",
            "date_modified": "2017-09-25T20:29:55.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "meet-js-summit-2017-kulisami",
            "url": "https://pl.typeofweb.com/meet-js-summit-2017-kulisami",
            "title": "meet.js Summit 2017 za kulisami",
            "summary": "Już za nieco ponad 12 godzin rozpoczyna się meet.js Summit 2017. Jest to największa konferencja JavaScript w Polsce i oczywiście największe spotkanie meet.js w historii. W tym krótkim wpisie chciałbym przedstawić kilka liczb i wniosków, a także opowiedzieć jak meet.js wygląda „od kuchni”.",
            "date_modified": "2017-09-17T15:17:00.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "payment-request-api-platnosci-przegladarce",
            "url": "https://pl.typeofweb.com/payment-request-api-platnosci-przegladarce",
            "title": "Payment Request API: bezpieczne płatności w przeglądarce",
            "summary": "Płatności online niejednokrotnie okazują się być problematyczne. W szczególności na telefonach – przypomnij sobie kiedy ostatni raz chciałaś/eś za coś zapłacić, ale zrezygnowałaś/eś, bo wpisywanie wszystkich danych i numeru karty na telefonie Cię zmęczyło? Właśnie. Ja miewam tak często. Na szczęście koniec tej męki wydaje się być bliski: Wchodzi Payment…",
            "date_modified": "2017-09-14T20:42:06.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "czemu-porzucilem-ghost-rzecz-wordpress",
            "url": "https://pl.typeofweb.com/czemu-porzucilem-ghost-rzecz-wordpress",
            "title": "Dlaczego porzuciłem Ghost na rzecz WordPress, ale Ty nie powinieneś?",
            "summary": "Od nieco ponad tygodnia możesz podziwiać całkowicie nową wersję strony Type of Web. Do tej pory korzystałem z systemu Ghost, jednak zrezygnowałem z niego na rzecz WordPress. Prawdę mówiąc, nosiłem się z tym zamiarem już od dłuższego czasu… co było moją motywacją? Dlaczego Type of Web lepiej sprawdza się na…",
            "date_modified": "2017-09-11T18:28:43.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "praca-zdalna-rekrutacja-do-toptal",
            "url": "https://pl.typeofweb.com/praca-zdalna-rekrutacja-do-toptal",
            "title": "Praca zdalna – rekrutacja do Toptal",
            "summary": "Na pewno wiele osób kojarzy mnie z firmą Toptal – w szczególności ci, którzy brali udział w lokalnych meetupach w Gdańsku, na których opowiadałem o pracy zdalnej na przykładzie Toptala. W tym wpisie opisuję rekrutację do Toptala, mimo że od kilku miesięcy nie współpracuję już z Toptalem – zrezygnowałem z…",
            "date_modified": "2017-08-30T08:00:00.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "weekly-javascript-challenge-reaktywacja",
            "url": "https://pl.typeofweb.com/weekly-javascript-challenge-reaktywacja",
            "title": "Weekly JavaScript Challenge – Reaktywacja!",
            "summary": "Ponad rok temu rozpocząłem inicjatywę o nazwie Weekly JavaScript Challenge – stworzyłem grupę na Facebooku, która miała na celu wzajemną pomoc w nauce JavaScriptu. Założeniem grupy było wspólne rozwiązywanie zadań i wrzucanie ich na Facebooka do oceny. Głównym pomysłem było tworzenie realnych aplikacji, a nie implementowanie algorytmów, a każde rozwiązanie…",
            "date_modified": "2017-08-24T08:13:59.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "praca-zdalna-obalamy-mity",
            "url": "https://pl.typeofweb.com/praca-zdalna-obalamy-mity",
            "title": "Praca zdalna – dla mnie rewelacja! Obalamy mity",
            "summary": "Od dłuższego czasu pracuję zdalnie. W poprzedniej firmie miałem biuro, do którego nie musiałem przychodzić, więc w praktyce sporo pracowałem z domu. Od ponad roku pracuję już wyłącznie zdalnie. Jakie są moje dotychczasowe doświadczenia związane z pracą zdalną? Czy praca zdalna jest rozwiązaniem wszystkich moich problemów?",
            "date_modified": "2017-06-13T12:01:55.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "observable-rxjs",
            "url": "https://pl.typeofweb.com/observable-rxjs",
            "title": "Observable – rxjs 5",
            "summary": "To nie będzie wpis na temat teorii reaktywnego programowania funkcyjnego. Nie jest to też wyciąg z dokumentacji rxjs. Ten wpis jest krótkim praktycznym wprowadzeniem do Obserwabli na przykładzie. Zaczynajmy!",
            "date_modified": "2017-05-19T18:57:00.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "map-i-reduce-w-js",
            "url": "https://pl.typeofweb.com/map-i-reduce-w-js",
            "title": "Map i Reduce w JS",
            "summary": "Napisałem artykuł o obserwablach, ale czegoś mi w nim zabrakło: Objaśnienia tak podstawowych pojęć i funkcji jak map i reduce. Observable na blogu pojawią się wkrótce, a ten krótki wpis ma na celu tylko lekkie wprowadzenie. Bardzo krótko i pobieżnie.",
            "date_modified": "2017-05-12T12:12:03.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "tworzenie-rest-api-w-node-js-z-wykorzystaniem-frameworka-hapijs-czesc-3-dokumentacja-api",
            "url": "https://pl.typeofweb.com/tworzenie-rest-api-w-node-js-z-wykorzystaniem-frameworka-hapijs-czesc-3-dokumentacja-api",
            "title": "REST API w node.js z HapiJS – dokumentacja API",
            "summary": "Dalej na temat tworzenia backendu w node.js z wykorzystaniem HapiJS. Ten wpis jest o automatycznym generowaniu dokumentacji do endpointów. Zapraszam!",
            "date_modified": "2017-04-14T08:50:23.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "hapi-js-wprowadzenie",
            "url": "https://pl.typeofweb.com/hapi-js-wprowadzenie",
            "title": "Hapi.js – Wprowadzenie",
            "summary": "Po moich dwóch poprzednich wpisach dotyczących frameworka hapi.js na platformę Node.js, wiele osób zaczęło zadawać mi różne pytania. Poniżej zebrałem najciekawsze z nich oraz kilka własnych przemyśleń. Należy potraktować to jako miękkie wprowadzenie do tworzenia backendu w Node.js z hapi.js.",
            "date_modified": "2017-01-29T20:18:00.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "tworzenie-rest-api-w-node-js-z-wykorzystaniem-frameworka-hapijs-czesc-2",
            "url": "https://pl.typeofweb.com/tworzenie-rest-api-w-node-js-z-wykorzystaniem-frameworka-hapijs-czesc-2",
            "title": "REST API w node.js z HapiJS – definicja route'ów i prosta walidacja",
            "summary": "Kontynuuję serię wpisów na temat tworzenia backendu w node.js z wykorzystaniem HapiJS. Dzisiaj o obsługiwaniu parametrów i zapytań oraz o walidacji. Zapraszam!",
            "date_modified": "2017-01-28T21:24:08.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "tworzenie-rest-api-w-node-js-z-wykorzystaniem-frameworka-hapijs-czesc-1",
            "url": "https://pl.typeofweb.com/tworzenie-rest-api-w-node-js-z-wykorzystaniem-frameworka-hapijs-czesc-1",
            "title": "REST API w node.js z HapiJS – pierwsza aplikacja",
            "summary": "Tym wpisem chciałbym rozpocząć serię dotyczącą tworzenia REST API w node.js. Zaczniemy od prostych przykładów i konfiguracji, a skończymy na stworzeniu działającego REST-owego endpointa.",
            "date_modified": "2017-01-24T18:36:47.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "dobry-czytelny-czysty-kod",
            "url": "https://pl.typeofweb.com/dobry-czytelny-czysty-kod",
            "title": "Dobry kod: Ty też możesz pisać czytelny kod!",
            "summary": "Pisanie czytelnego kodu sprawia wielu programistom ogromne kłopoty. Ta uwaga bynajmniej nie dotyczy wyłącznie osób początkujących, ale niestety także tych z latami doświadczenia. Z czego wynika problem? Jak sprawić, aby pisany kod był bardziej czytelny i przystępny? Co to jest czysty kod?",
            "date_modified": "2016-11-25T11:43:24.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "innerhtml-furtka-do-xss",
            "url": "https://pl.typeofweb.com/innerhtml-furtka-do-xss",
            "title": "innerHTML, czyli najbardziej banalna furtka do XSS",
            "summary": "Bardzo często popełnianym błędem, na który zwracam uwagę praktycznie w każdym kolejnym Weekly JavaScript Challenge, jest niewłaściwe wykorzystywanie innerHTML. Bardzo łatwo może to doprowadzić do wystąpienia podatności typu XSS! Ten wpis chciałem poświęcić tej właściwości oraz zagrożeniom, które płyną z jej nieprawidłowego wykorzystania. Będę analizował konkretny przykład kodu z nadesłanego…",
            "date_modified": "2016-09-11T06:41:07.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "kurs-typescript-czesc-3",
            "url": "https://pl.typeofweb.com/kurs-typescript-czesc-3",
            "title": "Kurs TypeScript – część 3",
            "summary": "Kontynuuję serię wpisów na temat TypeScript. Pisząc poprzedni post złapałem się na tym, że dobijałem już do blisko 1800 słów. Uznałem, że to zdecydowanie za dużo jak na jeden wpis i stąd tak szybko kolejna część ;) W tym odcinku mówię o zaawansowanych typach, aliasach i literałach. Dodatkowo poruszam również…",
            "date_modified": "2016-08-10T08:22:00.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "kurs-typescript-czesc-2",
            "url": "https://pl.typeofweb.com/kurs-typescript-czesc-2",
            "title": "Kurs TypeScript – część 2",
            "summary": "Poprzedni wpis na temat TypeScript cieszył się niemałym zainteresowaniem i wiele osób pisało do mnie z pytaniem, kiedy pojawi się kontynuacja. I oto ona! W tym artykule nauczymy się korzystać z klas, klas abstrakcyjnych i dziedziczenia. Dodatkowo będziemy implementować interfejsy i zobaczymy czym różnią się od klas abstrakcyjnych. Zapraszam do…",
            "date_modified": "2016-08-08T13:55:32.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "weekly-javascript-challenge-3",
            "url": "https://pl.typeofweb.com/weekly-javascript-challenge-3",
            "title": "3. Weekly JavaScript Challenge",
            "summary": "Zakończył się trzeci Weekly JavaScript Challenge. Grupa zyskuje co raz większą popularność, zapisały się do niej już 494 osoby. Dziękuję wszystkim, którzy rozwiązują zadania i komentują pod rozwiązaniami innych osób!",
            "date_modified": "2016-08-07T13:15:30.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "weekly-javascript-challenge-2",
            "url": "https://pl.typeofweb.com/weekly-javascript-challenge-2",
            "title": "2. Weekly JavaScript Challenge",
            "summary": "Dobiega końca drugi Weekly JavaScript Challenge, którego jestem organizotorem. Jeśli jeszcze nie wiesz o co chodzi, to już wyjaśniam! Jest to grupa na Facebooku, na której mniej-więcej raz w tygodniu pojawia się nowe zadanie do wykonania w JavaScripcie. Celem istnienia grupy jest wzajemna pomoc i nauka JS-a. A wszystko to…",
            "date_modified": "2016-07-27T09:34:00.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "weekly-javascript-challenge-1",
            "url": "https://pl.typeofweb.com/weekly-javascript-challenge-1",
            "title": "1. Weekly JavaScript Challenge",
            "summary": "Jakiś czas temu zainspirowałem się dość mocno Facebookową grupą Weekly WebDev Challenge i postanowiłem utworzyć grupę siostrzaną: Weekly JavaScript Challenge. Jest to miejsce, w którym średnio raz w tygodniu będę wrzucał nowe zadanie do wykonania. Celem jest wspólna nauka JavaScriptu, code review i wzajemna pomoc.",
            "date_modified": "2016-07-25T05:09:00.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "dependency-injection-w-angular-2",
            "url": "https://pl.typeofweb.com/dependency-injection-w-angular-2",
            "title": "Dependency Injection w Angular 2",
            "summary": "Angular 2 aktywnie korzysta ze wzorca projektowego Dependency Injection. Ten wpis poświęciłem wyłącznie implementacji DI w tym frameworku. Jest ona bardzo rozbudowana i niezwykle ciekawa, a jej dokładne poznanie pozwoli na lepsze zrozumienie wstrzykiwania zależności w Angularze oraz sprawi, że będziemy tworzyć aplikacje bardziej świadomie i łatwiej.",
            "date_modified": "2016-07-19T10:40:43.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "nowy-font-na-githubie-font-systemowy",
            "url": "https://pl.typeofweb.com/nowy-font-na-githubie-font-systemowy",
            "title": "Nowy font na GitHubie – font systemowy",
            "summary": "Zauważyliście, że GitHub zmienił fonta? Zainteresowało mnie to, gdy zauważyłem, że teraz strona wygląda inaczej na OS X i inaczej na Windowsie. Po sprawdzeniu źródła okazało się, że GitHub korzysta teraz z domyślnego fonta systemowego, który zależy od użytkownika. Jak to jest zrobione?",
            "date_modified": "2016-07-12T12:44:19.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "typescript-czesc-1",
            "url": "https://pl.typeofweb.com/typescript-czesc-1",
            "title": "TypeScript – część 1",
            "summary": "„TypeScript – typowany nadzbiór JavaScriptu, kompilowany do czystego JavaScriptu” – głosi napis na stronie głównej typescriptlang.org. Używam go praktycznie codziennie, w różnych projektach, z różnymi technologiami. Od pewnego czasu, w dużej mierze za sprawą Angulara 2, ale nie tylko, TS zaczął zyskiwać sporą popularność i uznanie w społeczności webdeveloperów.",
            "date_modified": "2016-07-11T06:19:00.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "wzorce-projektowe-dependency-injection",
            "url": "https://pl.typeofweb.com/wzorce-projektowe-dependency-injection",
            "title": "Wzorce Projektowe: Dependency Injection",
            "summary": "Wiele razy wspominałem o wstrzykiwaniu zależności, nigdy jednak nie wytłumaczyłem tego konceptu do końca. Na czym polega wzorzec Dependency Injection i jakie problemy rozwiązuje? W tym artykule chciałbym odpowiedzieć na te pytania oraz omówić teorię stojącą za wstrzykiwaniem zależności.",
            "date_modified": "2016-07-07T13:43:00.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "angular-2-i-redux",
            "url": "https://pl.typeofweb.com/angular-2-i-redux",
            "title": "Angular 2 i Redux",
            "summary": "Otóż okazuje się, że Redux świetnie współgra z aplikacjami w Angular 2 i biblioteka ta jest bardzo często wykorzystywana razem z tym frameworkiem. Poprzednio opisywałem sposoby na komunikację pomiędzy komponentami sugerowane przez twórców Angulara, wszystkie miały jednak pewną wadę: Dobrze działały tylko w przypadku prostych scenariuszy. Użycie Reduksa znacznie upraszcza…",
            "date_modified": "2016-07-04T06:35:51.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "komunikacja-pomiedzy-komponentami-w-angular-2",
            "url": "https://pl.typeofweb.com/komunikacja-pomiedzy-komponentami-w-angular-2",
            "title": "Komunikacja pomiędzy komponentami w Angular 2",
            "summary": "Przed Wami trzecia część kursu Angular 2. W tym wpisie omawiam różne sposoby komunikacji pomiędzy komponentami na prostych przykładach.",
            "date_modified": "2016-07-02T13:29:16.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "wlasne-komponenty-w-angular-2",
            "url": "https://pl.typeofweb.com/wlasne-komponenty-w-angular-2",
            "title": "Własne komponenty w Angular 2",
            "summary": "W poprzedniej części kursu Angular 2 omówiłem założenia frameworka, tworzenie nowego projektu, podstawy bindingów oraz wreszcie kod pierwszego komponentu. Pominąłem jednak kilka kwestii takich jak bindingi na własnych komponentach, pełna składnia bindingu dwukierunkowego, czy możliwość odwoływania się do referencji do obiektów na poziomie szablonów (brzmi skomplikowanie, ale nie jest!). Chciałbym…",
            "date_modified": "2016-06-14T17:27:29.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "wstep-do-angular-2",
            "url": "https://pl.typeofweb.com/wstep-do-angular-2",
            "title": "Wstęp do Angular 2",
            "summary": "Obiecywałem i oto jest: Mój wstęp do tworzenia aplikacji w Angular 2. Chciałbym omówić tutaj podstawy nowego frameworka oraz narzędzia Angular CLI na przykładzie zbudowania od zera prostej Single Page Application – listy zadań. Jest to typowy, wielokrotnie powielany przykład używany do szybkiego poznania nowych front-endowych narzędzi.",
            "date_modified": "2016-06-03T12:05:10.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "struktura-aplikacji-angularjs-czesc-2-komponenty",
            "url": "https://pl.typeofweb.com/struktura-aplikacji-angularjs-czesc-2-komponenty",
            "title": "Struktura aplikacji AngularJS (część 2 ‑ komponenty)",
            "summary": "W poprzednim artykule z tej serii opowiadałem bardziej o osobistych doświadczeniach z początków pracy z AngularJS 1.0 oraz o drodze jaką przebyło środowisko AngularJS - w skrócie od bałaganu aż do komponentów. Wspomniałem tam również, że AngularJS 1.5 wprowadził nową pomocniczą funkcję angular.component(…) i na jej wykorzystaniu chciałbym się skupić…",
            "date_modified": "2016-05-15T15:46:17.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "struktura-aplikacji-angularjs-czesc-1",
            "url": "https://pl.typeofweb.com/struktura-aplikacji-angularjs-czesc-1",
            "title": "Struktura aplikacji AngularJS (część 1 ‑ trochę historii)",
            "summary": "W trakcie kilku ostatnich lat pracy z AngularJS obserwuję całkowitą zmianę podejścia do architektury aplikacji internetowych. Była to powolna ewolucja, po drodze mocno inspirowana dobrymi wzorcami projektowymi, szkicem Web Components oraz biblioteką React. Sublimacją tego wysiłku jest powstanie angular2, ale wszystkie wypracowane praktyki wdrożono również do AngularJS 1. Od bałaganu,…",
            "date_modified": "2016-05-14T17:08:00.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "komunikacja-pomiedzy-kontrolerami",
            "url": "https://pl.typeofweb.com/komunikacja-pomiedzy-kontrolerami",
            "title": "Komunikacja pomiędzy kontrolerami w AngularJS",
            "summary": "Jednym z aspektów sprawiających trudność w AngularJS, który wciąż i wciąż powraca w moich rozmowach z różnymi programistami jest prawidłowa implementacja komunikacji pomiędzy modułami. Dokumentacja i poradniki najczęściej opisują tylko najbardziej podstawowe przykłady porozumiewania się np. pomiędzy komponentem-rodzicem a komponentem-dzieckiem, co w zasadzie nie sprawia problemu. Co jednak w przypadku,…",
            "date_modified": "2016-05-05T12:47:00.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "angularjs-i-seo",
            "url": "https://pl.typeofweb.com/angularjs-i-seo",
            "title": "Single Page Applications a SEO",
            "summary": "Wielokrotnie na licznych forach, grupach dyskusyjnych i spotkaniach pada pytanie odnośnie Single Page Applications i SEO. React, Angular, AngularJS, Vue — jak się mają do SEO? Jak to zrobić? Jak sprawić, by wyszukiwarki indeksowały strony www oparte o frameworki JavaScript? Jak poprawić podgląd udostępnianych linków do Single Page Application na…",
            "date_modified": "2016-04-19T19:08:14.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "asi-czyli-automatyczne-wstawianie-srednikow",
            "url": "https://pl.typeofweb.com/asi-czyli-automatyczne-wstawianie-srednikow",
            "title": "ASI czyli automatyczne wstawianie średników",
            "summary": "Specyfikacja ECMAScript zawiera w sobie wiele zaskakujących elementów i mechanizmów, i gorąco polecam się z nią zapoznać. Jeśli język, którym napisano specyfikację wydaje się być odstraszający, to warto przeczytać chociaż serię artykułów ECMA-262-3 in detail i ECMA-262-5 in detail których autorem jest Dmitry Soshnikov. Dmitry omawia w nich specyfikację ES…",
            "date_modified": "2016-04-12T19:19:06.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        },
        {
            "id": "typescript-na-serwerze",
            "url": "https://pl.typeofweb.com/typescript-na-serwerze",
            "title": "Po co TypeScript?",
            "summary": "Jakiś czas temu na Facebookowej grupie JS News: After Hours zadałem pytanie dotyczące szczegółów użycia języka TypeScript razem z node.js. Wiele osób w swoich komentarzach wyrażało jednak wątpliwość względem zastosowania TypeScriptu na serwerze w ogóle, a ponieważ liczba komentarzy była niemała, odniosłem się tam do nich w całkiem długiej odpowiedzi.…",
            "date_modified": "2016-04-06T18:06:00.000Z",
            "author": {
                "name": "Michał Miszczyszyn"
            }
        }
    ]
}