<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>Type of Web</title>
        <link>https://pl.typeofweb.com</link>
        <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…</description>
        <lastBuildDate>Sun, 23 Feb 2025 08:59:22 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>Type of Web</generator>
        <language>pl</language>
        <image>
            <title>Type of Web</title>
            <url>https://pl.typeofweb.com/apple-touch-icon.png</url>
            <link>https://pl.typeofweb.com</link>
        </image>
        <copyright>Type of Web</copyright>
        <atom:link href="https://pl.typeofweb.com/feed" rel="self" type="application/rss+xml"/>
        <item>
            <title><![CDATA[Haszowanie haseł w przeglądarce]]></title>
            <link>https://pl.typeofweb.com/haszowanie-hasel-w-przegladarce</link>
            <guid>haszowanie-hasel-w-przegladarce</guid>
            <pubDate>Sat, 22 Feb 2025 21:51:42 GMT</pubDate>
            <description><![CDATA[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…]]></description>
        </item>
        <item>
            <title><![CDATA[Response to „Why I won’t use Next.js” by Kent C. Dodds]]></title>
            <link>https://pl.typeofweb.com/why-i-wont-use-next.js-kent-c-dodds-en</link>
            <guid>why-i-wont-use-next.js-kent-c-dodds-en</guid>
            <pubDate>Sun, 29 Oct 2023 12:30:42 GMT</pubDate>
            <description><![CDATA[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…]]></description>
        </item>
        <item>
            <title><![CDATA[Odpowiedź na artykuł „Why I won’t use Next.js” autorstwa Kent C. Dodds]]></title>
            <link>https://pl.typeofweb.com/why-i-wont-use-next.js-kent-c-dodds</link>
            <guid>why-i-wont-use-next.js-kent-c-dodds</guid>
            <pubDate>Sat, 28 Oct 2023 18:00:42 GMT</pubDate>
            <description><![CDATA[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.]]></description>
        </item>
        <item>
            <title><![CDATA[Używanie `useCallback` zawsze: Czy to dobry pomysł?]]></title>
            <link>https://pl.typeofweb.com/uzywanie-usecallback-zawsze-czy-to-dobry-pomysl</link>
            <guid>uzywanie-usecallback-zawsze-czy-to-dobry-pomysl</guid>
            <pubDate>Sun, 09 Apr 2023 18:30:42 GMT</pubDate>
            <description><![CDATA[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ść.]]></description>
        </item>
        <item>
            <title><![CDATA[Nepotyzm w branży IT: krótko o zdobywaniu pracy]]></title>
            <link>https://pl.typeofweb.com/nepotyzm-w-branzy-it-krotko-o-zdobywaniu-pracy</link>
            <guid>nepotyzm-w-branzy-it-krotko-o-zdobywaniu-pracy</guid>
            <pubDate>Thu, 18 Aug 2022 16:50:28 GMT</pubDate>
            <description><![CDATA[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…]]></description>
        </item>
        <item>
            <title><![CDATA[Next.js: Server Side Rendering, Static Site Generation]]></title>
            <link>https://pl.typeofweb.com/nextjs-server-side-rendering-static-site-generation</link>
            <guid>nextjs-server-side-rendering-static-site-generation</guid>
            <pubDate>Wed, 04 May 2022 09:45:28 GMT</pubDate>
            <description><![CDATA[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?]]></description>
        </item>
        <item>
            <title><![CDATA[16 rzeczy, na które jestem za stary po 30. urodzinach]]></title>
            <link>https://pl.typeofweb.com/16-rzeczy-na-ktore-jestem-za-stary-po-30-urodzinach</link>
            <guid>16-rzeczy-na-ktore-jestem-za-stary-po-30-urodzinach</guid>
            <pubDate>Tue, 18 Jan 2022 16:44:28 GMT</pubDate>
            <description><![CDATA[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…]]></description>
        </item>
        <item>
            <title><![CDATA[Podsumowanie roku 2021 i wielka zbiórka charytatywna z okazji 30‑urodzin!]]></title>
            <link>https://pl.typeofweb.com/podsumowanie-2021-wielka-zbiorka-charytatywna-30-urodziny</link>
            <guid>podsumowanie-2021-wielka-zbiorka-charytatywna-30-urodziny</guid>
            <pubDate>Mon, 03 Jan 2022 17:16:28 GMT</pubDate>
            <description><![CDATA[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.]]></description>
        </item>
        <item>
            <title><![CDATA[Smart home: architektura z-wave i zastosowania]]></title>
            <link>https://pl.typeofweb.com/iot-smart-home-architektura-z-wave-i-zastosowania</link>
            <guid>iot-smart-home-architektura-z-wave-i-zastosowania</guid>
            <pubDate>Thu, 09 Dec 2021 21:37:28 GMT</pubDate>
            <description><![CDATA[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.]]></description>
        </item>
        <item>
            <title><![CDATA[Pierwsze starcia z IoT i smart home: zigbee, z-wave czy wifi?]]></title>
            <link>https://pl.typeofweb.com/iot-smart-home-zigbee-z-wave-wifi</link>
            <guid>iot-smart-home-zigbee-z-wave-wifi</guid>
            <pubDate>Thu, 02 Dec 2021 21:37:28 GMT</pubDate>
            <description><![CDATA[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…]]></description>
        </item>
        <item>
            <title><![CDATA[X-Team – po 5 latach odchodzę – zmieniam pracę 😱]]></title>
            <link>https://pl.typeofweb.com/x-team-odchodze-zmieniam-prace-zdalna</link>
            <guid>x-team-odchodze-zmieniam-prace-zdalna</guid>
            <pubDate>Sun, 10 Oct 2021 10:05:05 GMT</pubDate>
            <description><![CDATA[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ę?]]></description>
        </item>
        <item>
            <title><![CDATA[Zatrudnianie juniorów i seniorów a produktywność – model i symulacja]]></title>
            <link>https://pl.typeofweb.com/zatrudnianie-juniorow-i-seniorow-a-produktywnosc-model-i-symulacja</link>
            <guid>zatrudnianie-juniorow-i-seniorow-a-produktywnosc-model-i-symulacja</guid>
            <pubDate>Sun, 19 Sep 2021 15:57:42 GMT</pubDate>
            <description><![CDATA[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!]]></description>
        </item>
        <item>
            <title><![CDATA[Który hosting jest najszybszy? 9 rzeczy, które mają największe znaczenie]]></title>
            <link>https://pl.typeofweb.com/ktory-hosting-jest-najszybszy-9-rzeczy-ktore-maja-najwieksze-znaczenie</link>
            <guid>ktory-hosting-jest-najszybszy-9-rzeczy-ktore-maja-najwieksze-znaczenie</guid>
            <pubDate>Sat, 04 Sep 2021 11:39:42 GMT</pubDate>
            <description><![CDATA[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.]]></description>
        </item>
        <item>
            <title><![CDATA[Względne postrzeganie czasu: model matematyczny]]></title>
            <link>https://pl.typeofweb.com/wzgledne-postrzeganie-czasu-model-matematyczny</link>
            <guid>wzgledne-postrzeganie-czasu-model-matematyczny</guid>
            <pubDate>Wed, 07 Jul 2021 14:47:50 GMT</pubDate>
            <description><![CDATA[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?]]></description>
        </item>
        <item>
            <title><![CDATA[YouTube: Moje pierwsze kroki]]></title>
            <link>https://pl.typeofweb.com/youtube-moje-pierwsze-kroki</link>
            <guid>youtube-moje-pierwsze-kroki</guid>
            <pubDate>Tue, 06 Apr 2021 09:26:57 GMT</pubDate>
            <description><![CDATA[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!]]></description>
        </item>
        <item>
            <title><![CDATA[TypeScript: `infer` i typy warunkowe]]></title>
            <link>https://pl.typeofweb.com/typescript-infer-i-typy-warunkowe</link>
            <guid>typescript-infer-i-typy-warunkowe</guid>
            <pubDate>Sat, 30 Jan 2021 12:50:09 GMT</pubDate>
            <description><![CDATA[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!]]></description>
        </item>
        <item>
            <title><![CDATA[Self-publishing: Podsumowanie sprzedaży TypeScript na poważnie]]></title>
            <link>https://pl.typeofweb.com/self-publishing-podsumowanie-sprzedazy-typescript-na-powaznie</link>
            <guid>self-publishing-podsumowanie-sprzedazy-typescript-na-powaznie</guid>
            <pubDate>Fri, 01 Jan 2021 12:27:22 GMT</pubDate>
            <description><![CDATA[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 :)]]></description>
        </item>
        <item>
            <title><![CDATA[Conditional types – TypeScript – typy warunkowe]]></title>
            <link>https://pl.typeofweb.com/conditional-types-typescript-typy-warunkowe</link>
            <guid>conditional-types-typescript-typy-warunkowe</guid>
            <pubDate>Mon, 14 Dec 2020 15:35:34 GMT</pubDate>
            <description><![CDATA[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.]]></description>
        </item>
        <item>
            <title><![CDATA[Self-publishing: Jak napisałem książkę w markdownie?]]></title>
            <link>https://pl.typeofweb.com/self-publishing-jak-napisalem-ksiazke-w-markdownie</link>
            <guid>self-publishing-jak-napisalem-ksiazke-w-markdownie</guid>
            <pubDate>Wed, 30 Sep 2020 14:24:58 GMT</pubDate>
            <description><![CDATA[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 :)]]></description>
        </item>
        <item>
            <title><![CDATA[Napisałem książkę! Kilka słów o „TypeScript na poważnie”]]></title>
            <link>https://pl.typeofweb.com/napisalem-ksiazke-kilka-slow-o-typescript-na-powaznie</link>
            <guid>napisalem-ksiazke-kilka-slow-o-typescript-na-powaznie</guid>
            <pubDate>Mon, 24 Aug 2020 12:27:41 GMT</pubDate>
            <description><![CDATA[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 :)]]></description>
        </item>
        <item>
            <title><![CDATA[Hey.com – rewolucyjny email od twórców Basecampa?]]></title>
            <link>https://pl.typeofweb.com/hey-com-rewolucyjny-email-od-tworcow-basecampa</link>
            <guid>hey-com-rewolucyjny-email-od-tworcow-basecampa</guid>
            <pubDate>Fri, 03 Jul 2020 08:40:02 GMT</pubDate>
            <description><![CDATA[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!]]></description>
        </item>
        <item>
            <title><![CDATA[Licencje na oprogramowanie]]></title>
            <link>https://pl.typeofweb.com/licencje-oprogramowania</link>
            <guid>licencje-oprogramowania</guid>
            <pubDate>Wed, 24 Jun 2020 11:17:23 GMT</pubDate>
            <description><![CDATA[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…]]></description>
        </item>
        <item>
            <title><![CDATA[React Hooks: Piszemy własne hooki!]]></title>
            <link>https://pl.typeofweb.com/react-hooks-wlasne-hooki</link>
            <guid>react-hooks-wlasne-hooki</guid>
            <pubDate>Wed, 10 Jun 2020 11:07:22 GMT</pubDate>
            <description><![CDATA[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!]]></description>
        </item>
        <item>
            <title><![CDATA[Podsumowanie roku 2019]]></title>
            <link>https://pl.typeofweb.com/podsumowanie-roku-2019</link>
            <guid>podsumowanie-roku-2019</guid>
            <pubDate>Mon, 27 Apr 2020 14:49:48 GMT</pubDate>
            <description><![CDATA[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!]]></description>
        </item>
        <item>
            <title><![CDATA[Praca zdalna: Lista 20 przydatnych narzędzi]]></title>
            <link>https://pl.typeofweb.com/praca-zdalna-narzedzia</link>
            <guid>praca-zdalna-narzedzia</guid>
            <pubDate>Mon, 16 Mar 2020 16:40:30 GMT</pubDate>
            <description><![CDATA[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…]]></description>
        </item>
        <item>
            <title><![CDATA[Dowiedz się ile zarabiają gwiazdy frontendu!]]></title>
            <link>https://pl.typeofweb.com/dowiedz-sie-ile-zarabiaja-gwiazdy-frontendu</link>
            <guid>dowiedz-sie-ile-zarabiaja-gwiazdy-frontendu</guid>
            <pubDate>Wed, 04 Mar 2020 14:58:19 GMT</pubDate>
            <description><![CDATA[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ą?]]></description>
        </item>
        <item>
            <title><![CDATA[Wady React Hooks]]></title>
            <link>https://pl.typeofweb.com/wady-react-hooks</link>
            <guid>wady-react-hooks</guid>
            <pubDate>Thu, 13 Feb 2020 09:26:57 GMT</pubDate>
            <description><![CDATA[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.]]></description>
        </item>
        <item>
            <title><![CDATA[Kolejka FIFO, LIFO i priorytetowa – struktury danych]]></title>
            <link>https://pl.typeofweb.com/struktury-danych-kolejka-fifo-lifo-priorytetowa</link>
            <guid>struktury-danych-kolejka-fifo-lifo-priorytetowa</guid>
            <pubDate>Fri, 31 Jan 2020 11:49:10 GMT</pubDate>
            <description><![CDATA[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ć!]]></description>
        </item>
        <item>
            <title><![CDATA[Deploy przez SSH, SFTP lub rsync w Buddy.works]]></title>
            <link>https://pl.typeofweb.com/deploy-przez-ssh-sftp-lub-rsync-w-buddy-works</link>
            <guid>deploy-przez-ssh-sftp-lub-rsync-w-buddy-works</guid>
            <pubDate>Thu, 09 Jan 2020 09:31:28 GMT</pubDate>
            <description><![CDATA[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.]]></description>
        </item>
        <item>
            <title><![CDATA[Podstawowe struktury danych — tablica i lista]]></title>
            <link>https://pl.typeofweb.com/podstawowe-struktury-danych-tablica-i-lista</link>
            <guid>podstawowe-struktury-danych-tablica-i-lista</guid>
            <pubDate>Tue, 10 Dec 2019 18:57:12 GMT</pubDate>
            <description><![CDATA[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…]]></description>
        </item>
        <item>
            <title><![CDATA[Automatyczne uruchamianie testów w Buddy]]></title>
            <link>https://pl.typeofweb.com/automatyczne-uruchamianie-testow-w-buddy</link>
            <guid>automatyczne-uruchamianie-testow-w-buddy</guid>
            <pubDate>Tue, 03 Dec 2019 13:29:17 GMT</pubDate>
            <description><![CDATA[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.]]></description>
        </item>
        <item>
            <title><![CDATA[Continuous Integration na GitHub Pages w Buddy.works]]></title>
            <link>https://pl.typeofweb.com/continuous-integration-na-github-pages-w-buddy-works</link>
            <guid>continuous-integration-na-github-pages-w-buddy-works</guid>
            <pubDate>Mon, 18 Nov 2019 15:51:56 GMT</pubDate>
            <description><![CDATA[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!]]></description>
        </item>
        <item>
            <title><![CDATA[Reactive Conference 2019 – relacja]]></title>
            <link>https://pl.typeofweb.com/reactive-conference-2019-relacja</link>
            <guid>reactive-conference-2019-relacja</guid>
            <pubDate>Thu, 07 Nov 2019 16:50:44 GMT</pubDate>
            <description><![CDATA[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?]]></description>
        </item>
        <item>
            <title><![CDATA[Continuous Integration — Recenzja Buddy.works]]></title>
            <link>https://pl.typeofweb.com/continuous-integration-recenzja-buddy-works</link>
            <guid>continuous-integration-recenzja-buddy-works</guid>
            <pubDate>Mon, 04 Nov 2019 13:55:01 GMT</pubDate>
            <description><![CDATA[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!]]></description>
        </item>
        <item>
            <title><![CDATA[Złożoność obliczeniowa, czasowa i pamięciowa algorytmów]]></title>
            <link>https://pl.typeofweb.com/zlozonosc-obliczeniowa-czasowa-pamieciowa-algorytmow</link>
            <guid>zlozonosc-obliczeniowa-czasowa-pamieciowa-algorytmow</guid>
            <pubDate>Mon, 16 Sep 2019 16:45:25 GMT</pubDate>
            <description><![CDATA[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).…]]></description>
        </item>
        <item>
            <title><![CDATA[Syndrom oszusta – impostor syndrome]]></title>
            <link>https://pl.typeofweb.com/syndrom-oszusta-impostor-syndrome</link>
            <guid>syndrom-oszusta-impostor-syndrome</guid>
            <pubDate>Fri, 14 Jun 2019 14:27:46 GMT</pubDate>
            <description><![CDATA[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ż…]]></description>
        </item>
        <item>
            <title><![CDATA[Problem XY, czyli gdy nie wiemy, o co pytamy]]></title>
            <link>https://pl.typeofweb.com/problem-xy-czyli-gdy-nie-wiemy-o-co-pytamy</link>
            <guid>problem-xy-czyli-gdy-nie-wiemy-o-co-pytamy</guid>
            <pubDate>Fri, 31 May 2019 13:54:13 GMT</pubDate>
            <description><![CDATA[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?]]></description>
        </item>
        <item>
            <title><![CDATA[useMemo, useCallback, czyli rozwiązanie problemów ze zmieniającymi się propsami]]></title>
            <link>https://pl.typeofweb.com/usememo-usecallback-czyli-rozwiazanie-problemow-ze-zmieniajacymi-sie-propsami</link>
            <guid>usememo-usecallback-czyli-rozwiazanie-problemow-ze-zmieniajacymi-sie-propsami</guid>
            <pubDate>Tue, 21 May 2019 09:31:46 GMT</pubDate>
            <description><![CDATA[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!]]></description>
        </item>
        <item>
            <title><![CDATA[useReducer — przenoszenie logiki poza komponent]]></title>
            <link>https://pl.typeofweb.com/usereducer-przenoszenie-logiki-poza-komponent</link>
            <guid>usereducer-przenoszenie-logiki-poza-komponent</guid>
            <pubDate>Tue, 07 May 2019 15:16:31 GMT</pubDate>
            <description><![CDATA[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!]]></description>
        </item>
        <item>
            <title><![CDATA[React Hooks a żądania do API]]></title>
            <link>https://pl.typeofweb.com/react-hooks-a-zadania-do-api</link>
            <guid>react-hooks-a-zadania-do-api</guid>
            <pubDate>Tue, 16 Apr 2019 09:27:55 GMT</pubDate>
            <description><![CDATA[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!]]></description>
        </item>
        <item>
            <title><![CDATA[10 powodów, dla których używam jQuery razem z React]]></title>
            <link>https://pl.typeofweb.com/10-powodow-dla-ktorych-uzywam-jquery-razem-z-react</link>
            <guid>10-powodow-dla-ktorych-uzywam-jquery-razem-z-react</guid>
            <pubDate>Mon, 01 Apr 2019 09:54:18 GMT</pubDate>
            <description><![CDATA[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!]]></description>
        </item>
        <item>
            <title><![CDATA[Obsługa zdarzeń w Vue.js za pomocą dyrektywy v-on]]></title>
            <link>https://pl.typeofweb.com/obsluga-zdarzen-w-vue-js-za-pomoca-dyrektywy-v-on</link>
            <guid>obsluga-zdarzen-w-vue-js-za-pomoca-dyrektywy-v-on</guid>
            <pubDate>Sun, 10 Mar 2019 12:36:33 GMT</pubDate>
            <description><![CDATA[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.]]></description>
        </item>
        <item>
            <title><![CDATA[React Hooks: useEffect — efekty uboczne w komponencie]]></title>
            <link>https://pl.typeofweb.com/react-hooks-useeffect-efekty-uboczne-w-komponencie</link>
            <guid>react-hooks-useeffect-efekty-uboczne-w-komponencie</guid>
            <pubDate>Tue, 05 Mar 2019 11:28:36 GMT</pubDate>
            <description><![CDATA[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…]]></description>
        </item>
        <item>
            <title><![CDATA[Fragmenty funkcyjnego kodu, które zmieniły moje spojrzenie na programowanie — listy]]></title>
            <link>https://pl.typeofweb.com/funkcyjny-kod-programowanie-listy</link>
            <guid>funkcyjny-kod-programowanie-listy</guid>
            <pubDate>Tue, 26 Feb 2019 15:29:51 GMT</pubDate>
            <description><![CDATA[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ł…]]></description>
        </item>
        <item>
            <title><![CDATA[React Hooks: useState — wiele stanów, callbacki i inne niuanse]]></title>
            <link>https://pl.typeofweb.com/react-hooks-usestate-wiele-stanow-callbacki-i-inne-niuanse</link>
            <guid>react-hooks-usestate-wiele-stanow-callbacki-i-inne-niuanse</guid>
            <pubDate>Fri, 15 Feb 2019 12:03:18 GMT</pubDate>
            <description><![CDATA[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…]]></description>
        </item>
        <item>
            <title><![CDATA[React Hooks: useState, czyli stan w komponentach funkcyjnych]]></title>
            <link>https://pl.typeofweb.com/react-hooks-usestate-czyli-stan-w-komponentach-funkcyjnych</link>
            <guid>react-hooks-usestate-czyli-stan-w-komponentach-funkcyjnych</guid>
            <pubDate>Mon, 11 Feb 2019 16:55:10 GMT</pubDate>
            <description><![CDATA[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!]]></description>
        </item>
        <item>
            <title><![CDATA[React Hooks — wprowadzenie i motywacja]]></title>
            <link>https://pl.typeofweb.com/react-hooks-wprowadzenie-i-motywacja</link>
            <guid>react-hooks-wprowadzenie-i-motywacja</guid>
            <pubDate>Mon, 04 Feb 2019 08:36:21 GMT</pubDate>
            <description><![CDATA[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…]]></description>
        </item>
        <item>
            <title><![CDATA[Podsumowanie roku 2018 i plany na 2019]]></title>
            <link>https://pl.typeofweb.com/podsumowanie-roku-2018-i-plany-na-2019</link>
            <guid>podsumowanie-roku-2018-i-plany-na-2019</guid>
            <pubDate>Mon, 07 Jan 2019 14:48:31 GMT</pubDate>
            <description><![CDATA[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.]]></description>
        </item>
        <item>
            <title><![CDATA[Dolar na początku, dolar na końcu, czyli o notacji węgierskiej w JS]]></title>
            <link>https://pl.typeofweb.com/dolar-na-poczatku-dolar-na-koncu-czyli-o-notacji-wegierskiej-w-js</link>
            <guid>dolar-na-poczatku-dolar-na-koncu-czyli-o-notacji-wegierskiej-w-js</guid>
            <pubDate>Mon, 17 Dec 2018 18:37:53 GMT</pubDate>
            <description><![CDATA[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?]]></description>
        </item>
        <item>
            <title><![CDATA[Zasoby, z których ja nauczyłem się (prawie) wszystkiego o front-endzie]]></title>
            <link>https://pl.typeofweb.com/zasoby-z-ktorych-ja-nauczylem-sie-prawie-wszystkiego-o-front-endzie</link>
            <guid>zasoby-z-ktorych-ja-nauczylem-sie-prawie-wszystkiego-o-front-endzie</guid>
            <pubDate>Thu, 13 Dec 2018 07:40:44 GMT</pubDate>
            <description><![CDATA[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.]]></description>
        </item>
        <item>
            <title><![CDATA[Byłem na ReactiveConf 2018]]></title>
            <link>https://pl.typeofweb.com/bylem-na-reactiveconf-2018</link>
            <guid>bylem-na-reactiveconf-2018</guid>
            <pubDate>Thu, 15 Nov 2018 19:30:12 GMT</pubDate>
            <description><![CDATA[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…]]></description>
        </item>
        <item>
            <title><![CDATA[Call For Proposals na meet.js Summit 2018]]></title>
            <link>https://pl.typeofweb.com/call-for-proposals-na-meet-js-summit-2018</link>
            <guid>call-for-proposals-na-meet-js-summit-2018</guid>
            <pubDate>Tue, 23 Oct 2018 14:24:40 GMT</pubDate>
            <description><![CDATA[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.]]></description>
        </item>
        <item>
            <title><![CDATA[Metody oraz pola typu computed w Vue.js]]></title>
            <link>https://pl.typeofweb.com/metody-oraz-pola-typu-computed-w-vue-js</link>
            <guid>metody-oraz-pola-typu-computed-w-vue-js</guid>
            <pubDate>Fri, 28 Sep 2018 16:39:45 GMT</pubDate>
            <description><![CDATA[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…]]></description>
        </item>
        <item>
            <title><![CDATA[Atrybuty class i style w Vue.js]]></title>
            <link>https://pl.typeofweb.com/atrybuty-class-i-style-w-vue-js</link>
            <guid>atrybuty-class-i-style-w-vue-js</guid>
            <pubDate>Wed, 25 Jul 2018 17:36:46 GMT</pubDate>
            <description><![CDATA[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…]]></description>
        </item>
        <item>
            <title><![CDATA[Pętle w Vue.js z użyciem dyrektywy v-for]]></title>
            <link>https://pl.typeofweb.com/petle-w-vue-js-z-uzyciem-dyrektywy-v-for</link>
            <guid>petle-w-vue-js-z-uzyciem-dyrektywy-v-for</guid>
            <pubDate>Fri, 13 Jul 2018 12:34:07 GMT</pubDate>
            <description><![CDATA[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.]]></description>
        </item>
        <item>
            <title><![CDATA[Dyrektywy warunkowe w Vue.js]]></title>
            <link>https://pl.typeofweb.com/dyrektywy-warunkowe-w-vue-js</link>
            <guid>dyrektywy-warunkowe-w-vue-js</guid>
            <pubDate>Wed, 04 Jul 2018 18:58:00 GMT</pubDate>
            <description><![CDATA[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ę.]]></description>
        </item>
        <item>
            <title><![CDATA[Poradnik dla organizatorów konferencji]]></title>
            <link>https://pl.typeofweb.com/poradnik-dla-organizatorow-konferencji</link>
            <guid>poradnik-dla-organizatorow-konferencji</guid>
            <pubDate>Tue, 03 Jul 2018 09:49:29 GMT</pubDate>
            <description><![CDATA[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…]]></description>
        </item>
        <item>
            <title><![CDATA[Higher Order Reducers — Redux i powtarzanie kodu]]></title>
            <link>https://pl.typeofweb.com/higher-order-reducers-redux-i-powtarzanie-kodu</link>
            <guid>higher-order-reducers-redux-i-powtarzanie-kodu</guid>
            <pubDate>Thu, 28 Jun 2018 09:08:28 GMT</pubDate>
            <description><![CDATA[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.]]></description>
        </item>
        <item>
            <title><![CDATA[Dynamiczne atrybuty w Vue.js - dyrektywa v-bind]]></title>
            <link>https://pl.typeofweb.com/dynamiczne-atrybuty-w-vue-js-dyrektywa-v-bind</link>
            <guid>dynamiczne-atrybuty-w-vue-js-dyrektywa-v-bind</guid>
            <pubDate>Mon, 25 Jun 2018 07:45:37 GMT</pubDate>
            <description><![CDATA[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.]]></description>
        </item>
        <item>
            <title><![CDATA[Pierwszy komponent Vue.js]]></title>
            <link>https://pl.typeofweb.com/pierwszy-komponent-vue-js</link>
            <guid>pierwszy-komponent-vue-js</guid>
            <pubDate>Mon, 18 Jun 2018 11:15:12 GMT</pubDate>
            <description><![CDATA[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ę.]]></description>
        </item>
        <item>
            <title><![CDATA[W 2018 migruję z GitHuba]]></title>
            <link>https://pl.typeofweb.com/w-2018-migruje-z-githuba</link>
            <guid>w-2018-migruje-z-githuba</guid>
            <pubDate>Mon, 11 Jun 2018 08:39:26 GMT</pubDate>
            <description><![CDATA[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?]]></description>
        </item>
        <item>
            <title><![CDATA[Wprowadzenie do kursu Vue.js od podstaw]]></title>
            <link>https://pl.typeofweb.com/wprowadzenie-do-kursu-vue-js-od-podstaw</link>
            <guid>wprowadzenie-do-kursu-vue-js-od-podstaw</guid>
            <pubDate>Fri, 08 Jun 2018 12:20:00 GMT</pubDate>
            <description><![CDATA[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.]]></description>
        </item>
        <item>
            <title><![CDATA[Leniwe ładowanie komponentów w React dzięki import]]></title>
            <link>https://pl.typeofweb.com/leniwe-ladowanie-komponentow-w-react-dzieki-import</link>
            <guid>leniwe-ladowanie-komponentow-w-react-dzieki-import</guid>
            <pubDate>Mon, 04 Jun 2018 11:05:42 GMT</pubDate>
            <description><![CDATA[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!]]></description>
        </item>
        <item>
            <title><![CDATA[Nowe metody cyklu życia: getDerivedStateFromProps i getSnapshotBeforeUpdate]]></title>
            <link>https://pl.typeofweb.com/nowe-metody-cyklu-zycia-getderivedstatefromprops-i-getsnapshotbeforeupdate</link>
            <guid>nowe-metody-cyklu-zycia-getderivedstatefromprops-i-getsnapshotbeforeupdate</guid>
            <pubDate>Tue, 29 May 2018 10:18:46 GMT</pubDate>
            <description><![CDATA[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ć?]]></description>
        </item>
        <item>
            <title><![CDATA[24 blogi, które musi śledzić każdy JavaScript developer]]></title>
            <link>https://pl.typeofweb.com/24-blogi-ktore-musi-sledzic-javascript-developer</link>
            <guid>24-blogi-ktore-musi-sledzic-javascript-developer</guid>
            <pubDate>Tue, 22 May 2018 09:49:31 GMT</pubDate>
            <description><![CDATA[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.]]></description>
        </item>
        <item>
            <title><![CDATA[Kiedy używać state, a kiedy Redux?]]></title>
            <link>https://pl.typeofweb.com/kiedy-uzywac-state-a-kiedy-redux</link>
            <guid>kiedy-uzywac-state-a-kiedy-redux</guid>
            <pubDate>Wed, 16 May 2018 07:22:17 GMT</pubDate>
            <description><![CDATA[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?]]></description>
        </item>
        <item>
            <title><![CDATA[Asynchroniczność w Redux: redux-thunk]]></title>
            <link>https://pl.typeofweb.com/asynchronicznosc-w-redux-redux-thunk</link>
            <guid>asynchronicznosc-w-redux-redux-thunk</guid>
            <pubDate>Mon, 07 May 2018 10:24:32 GMT</pubDate>
            <description><![CDATA[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…]]></description>
        </item>
        <item>
            <title><![CDATA[Projektowanie komponentów: Presentational & Container Components]]></title>
            <link>https://pl.typeofweb.com/projektowanie-komponentow-presentational-container-components</link>
            <guid>projektowanie-komponentow-presentational-container-components</guid>
            <pubDate>Mon, 30 Apr 2018 19:53:07 GMT</pubDate>
            <description><![CDATA[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ę.]]></description>
        </item>
        <item>
            <title><![CDATA[React + Redux — filtrowanie listy, proste selektory]]></title>
            <link>https://pl.typeofweb.com/react-redux-filtrowanie-listy-selektory</link>
            <guid>react-redux-filtrowanie-listy-selektory</guid>
            <pubDate>Mon, 23 Apr 2018 13:37:00 GMT</pubDate>
            <description><![CDATA[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!]]></description>
        </item>
        <item>
            <title><![CDATA[Czy React.Amsterdam to najgorsza konferencja na jakiej byłem?]]></title>
            <link>https://pl.typeofweb.com/react-amsterdam-najgorsza-konferencja</link>
            <guid>react-amsterdam-najgorsza-konferencja</guid>
            <pubDate>Fri, 20 Apr 2018 13:16:18 GMT</pubDate>
            <description><![CDATA[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?]]></description>
        </item>
        <item>
            <title><![CDATA[TDD w React.js z pomocą react-testing-library]]></title>
            <link>https://pl.typeofweb.com/tdd-react-testing-library</link>
            <guid>tdd-react-testing-library</guid>
            <pubDate>Fri, 13 Apr 2018 09:28:29 GMT</pubDate>
            <description><![CDATA[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 :)]]></description>
        </item>
        <item>
            <title><![CDATA[Serwer HTTP lokalnie: Sposób na problemy z CORS i file:///]]></title>
            <link>https://pl.typeofweb.com/lokalny-serwer-http-proste-sposoby-na-problemy-z-file</link>
            <guid>lokalny-serwer-http-proste-sposoby-na-problemy-z-file</guid>
            <pubDate>Mon, 09 Apr 2018 14:24:38 GMT</pubDate>
            <description><![CDATA[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.]]></description>
        </item>
        <item>
            <title><![CDATA[React + Redux — kurs: wprowadzenie i podstawy]]></title>
            <link>https://pl.typeofweb.com/react-redux-kurs-wprowadzenie-i-podstawy</link>
            <guid>react-redux-kurs-wprowadzenie-i-podstawy</guid>
            <pubDate>Fri, 06 Apr 2018 11:54:56 GMT</pubDate>
            <description><![CDATA[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ę.]]></description>
        </item>
        <item>
            <title><![CDATA[20 grup na Facebooku, które powinien śledzić każdy front-end developer]]></title>
            <link>https://pl.typeofweb.com/grupy-facebook-front-end-developer</link>
            <guid>grupy-facebook-front-end-developer</guid>
            <pubDate>Thu, 29 Mar 2018 14:41:17 GMT</pubDate>
            <description><![CDATA[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.]]></description>
        </item>
        <item>
            <title><![CDATA[Flux i Redux: globalny store i jednokierunkowy przepływ danych]]></title>
            <link>https://pl.typeofweb.com/flux-i-redux-globalny-store-jednokierunkowy-przeplyw-danych</link>
            <guid>flux-i-redux-globalny-store-jednokierunkowy-przeplyw-danych</guid>
            <pubDate>Thu, 29 Mar 2018 11:16:34 GMT</pubDate>
            <description><![CDATA[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…]]></description>
        </item>
        <item>
            <title><![CDATA[Odpowiadam na pytania: props, nawiasy klamrowe, funkcje vs klasy, import react]]></title>
            <link>https://pl.typeofweb.com/odpowiadam-na-pytania-props-nawiasy-klamrowe-funkcje-vs-klasy-import-react</link>
            <guid>odpowiadam-na-pytania-props-nawiasy-klamrowe-funkcje-vs-klasy-import-react</guid>
            <pubDate>Mon, 26 Mar 2018 15:12:56 GMT</pubDate>
            <description><![CDATA[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 :)]]></description>
        </item>
        <item>
            <title><![CDATA[Formularze w React.js — niekontrolowane komponenty]]></title>
            <link>https://pl.typeofweb.com/formularze-w-react-js-niekontrolowane-komponenty</link>
            <guid>formularze-w-react-js-niekontrolowane-komponenty</guid>
            <pubDate>Tue, 20 Mar 2018 12:13:30 GMT</pubDate>
            <description><![CDATA[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?]]></description>
        </item>
        <item>
            <title><![CDATA[Tworzymy własne Dependency Injection w TypeScript]]></title>
            <link>https://pl.typeofweb.com/tworzymy-wlasne-dependency-injection-w-typescript</link>
            <guid>tworzymy-wlasne-dependency-injection-w-typescript</guid>
            <pubDate>Thu, 15 Mar 2018 00:14:33 GMT</pubDate>
            <description><![CDATA[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 :)]]></description>
        </item>
        <item>
            <title><![CDATA[Jak kurs programowania ani bootcamp nie zrobi z Ciebie programisty w dwa miesiące]]></title>
            <link>https://pl.typeofweb.com/jak-kurs-programowania-ani-bootcamp-nie-zrobi-z-ciebie-programisty-w-dwa-miesiące</link>
            <guid>jak-kurs-programowania-ani-bootcamp-nie-zrobi-z-ciebie-programisty-w-dwa-miesiące</guid>
            <pubDate>Mon, 12 Mar 2018 10:30:55 GMT</pubDate>
            <description><![CDATA[Jestem absolwentką dwóch kursów programowania: Front-end z biblioteką React oraz podstaw Javy.]]></description>
        </item>
        <item>
            <title><![CDATA[Formularze w React.js — kontrolowane komponenty]]></title>
            <link>https://pl.typeofweb.com/formularze-react-js-kontrolowane-komponenty</link>
            <guid>formularze-react-js-kontrolowane-komponenty</guid>
            <pubDate>Tue, 06 Mar 2018 09:14:25 GMT</pubDate>
            <description><![CDATA[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]]></description>
        </item>
        <item>
            <title><![CDATA[X-Team — opis, rekrutacja, moja opinia]]></title>
            <link>https://pl.typeofweb.com/x-team-opis-rekrutacja-opinia</link>
            <guid>x-team-opis-rekrutacja-opinia</guid>
            <pubDate>Wed, 28 Feb 2018 11:41:09 GMT</pubDate>
            <description><![CDATA[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…]]></description>
        </item>
        <item>
            <title><![CDATA[Komunikacja z API w React.js]]></title>
            <link>https://pl.typeofweb.com/komunikacja-z-api-w-react-js</link>
            <guid>komunikacja-z-api-w-react-js</guid>
            <pubDate>Tue, 27 Feb 2018 06:58:57 GMT</pubDate>
            <description><![CDATA[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.]]></description>
        </item>
        <item>
            <title><![CDATA[Komunikacja pomiędzy komponentami w React.js]]></title>
            <link>https://pl.typeofweb.com/komunikacja-pomiedzy-komponentami-w-react-js</link>
            <guid>komunikacja-pomiedzy-komponentami-w-react-js</guid>
            <pubDate>Sat, 24 Feb 2018 09:15:02 GMT</pubDate>
            <description><![CDATA[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…]]></description>
        </item>
        <item>
            <title><![CDATA[Odpowiadam na pytania: Babel, ECMAScript, destrukturyzacja, onClick, className]]></title>
            <link>https://pl.typeofweb.com/odpowiadam-na-pytania-babel-ecmascript-destrukturyzacja-onclick-classname</link>
            <guid>odpowiadam-na-pytania-babel-ecmascript-destrukturyzacja-onclick-classname</guid>
            <pubDate>Wed, 21 Feb 2018 18:41:32 GMT</pubDate>
            <description><![CDATA[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…]]></description>
        </item>
        <item>
            <title><![CDATA[Poprawne bindowanie funkcji w React.js]]></title>
            <link>https://pl.typeofweb.com/poprawne-bindowanie-funkcji-react-js</link>
            <guid>poprawne-bindowanie-funkcji-react-js</guid>
            <pubDate>Fri, 16 Feb 2018 15:34:32 GMT</pubDate>
            <description><![CDATA[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?]]></description>
        </item>
        <item>
            <title><![CDATA[Testowanie React.js w Enzyme — props, state i interakcje]]></title>
            <link>https://pl.typeofweb.com/testowanie-react-js-enzyme-props-state-interakcje</link>
            <guid>testowanie-react-js-enzyme-props-state-interakcje</guid>
            <pubDate>Tue, 13 Feb 2018 13:46:21 GMT</pubDate>
            <description><![CDATA[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.]]></description>
        </item>
        <item>
            <title><![CDATA[Testowanie aplikacji React.js — podstawy Enzyme]]></title>
            <link>https://pl.typeofweb.com/testowanie-aplikacji-react-js-podstawy-enzyme</link>
            <guid>testowanie-aplikacji-react-js-podstawy-enzyme</guid>
            <pubDate>Fri, 09 Feb 2018 08:20:22 GMT</pubDate>
            <description><![CDATA[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.]]></description>
        </item>
        <item>
            <title><![CDATA[React.js na GitHub Pages dzięki create-react-app]]></title>
            <link>https://pl.typeofweb.com/react-js-na-github-pages-dzieki-create-react-app</link>
            <guid>react-js-na-github-pages-dzieki-create-react-app</guid>
            <pubDate>Wed, 31 Jan 2018 16:14:36 GMT</pubDate>
            <description><![CDATA[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.]]></description>
        </item>
        <item>
            <title><![CDATA[Tworzenie aplikacji React.js dzięki create-react-app]]></title>
            <link>https://pl.typeofweb.com/tworzenie-aplikacji-react-js-dzieki-create-react-app</link>
            <guid>tworzenie-aplikacji-react-js-dzieki-create-react-app</guid>
            <pubDate>Mon, 29 Jan 2018 15:19:49 GMT</pubDate>
            <description><![CDATA[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…]]></description>
        </item>
        <item>
            <title><![CDATA[Nowa inicjatywa: Recenzje portali z pracą zdalną]]></title>
            <link>https://pl.typeofweb.com/nowa-inicjatywa-recenzje-portali-praca-zdalna</link>
            <guid>nowa-inicjatywa-recenzje-portali-praca-zdalna</guid>
            <pubDate>Sun, 28 Jan 2018 01:00:20 GMT</pubDate>
            <description><![CDATA[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ą…]]></description>
        </item>
        <item>
            <title><![CDATA[React.js w przykładach: filtrowanie statycznej listy]]></title>
            <link>https://pl.typeofweb.com/react-js-w-przykladach-filtrowanie-statycznej-listy</link>
            <guid>react-js-w-przykladach-filtrowanie-statycznej-listy</guid>
            <pubDate>Wed, 24 Jan 2018 09:19:30 GMT</pubDate>
            <description><![CDATA[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ł…]]></description>
        </item>
        <item>
            <title><![CDATA[Odmiana rzeczowników przy liczebnikach w języku polskim]]></title>
            <link>https://pl.typeofweb.com/odmiana-rzeczownikow-przy-liczebnikach-jezyku-polskim</link>
            <guid>odmiana-rzeczownikow-przy-liczebnikach-jezyku-polskim</guid>
            <pubDate>Mon, 22 Jan 2018 20:26:28 GMT</pubDate>
            <description><![CDATA[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…]]></description>
        </item>
        <item>
            <title><![CDATA[Metody cyklu życia komponentu w React.js]]></title>
            <link>https://pl.typeofweb.com/metody-cyklu-zycia-komponentu-react-js</link>
            <guid>metody-cyklu-zycia-komponentu-react-js</guid>
            <pubDate>Thu, 18 Jan 2018 17:33:42 GMT</pubDate>
            <description><![CDATA[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ć.]]></description>
        </item>
        <item>
            <title><![CDATA[State w React.js 2]]></title>
            <link>https://pl.typeofweb.com/state-react-js-2</link>
            <guid>state-react-js-2</guid>
            <pubDate>Mon, 15 Jan 2018 12:51:05 GMT</pubDate>
            <description><![CDATA[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.]]></description>
        </item>
        <item>
            <title><![CDATA[Podsumowanie roku 2017 i plany na 2018]]></title>
            <link>https://pl.typeofweb.com/podsumowanie-roku-2017-plany-2018</link>
            <guid>podsumowanie-roku-2017-plany-2018</guid>
            <pubDate>Sat, 13 Jan 2018 08:03:46 GMT</pubDate>
            <description><![CDATA[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…]]></description>
        </item>
        <item>
            <title><![CDATA[Stan komponentów React.js]]></title>
            <link>https://pl.typeofweb.com/state-react-js</link>
            <guid>state-react-js</guid>
            <pubDate>Thu, 11 Jan 2018 14:34:52 GMT</pubDate>
            <description><![CDATA[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ć :)]]></description>
        </item>
        <item>
            <title><![CDATA[Joi — walidacja danych]]></title>
            <link>https://pl.typeofweb.com/joi-walidacja-danych</link>
            <guid>joi-walidacja-danych</guid>
            <pubDate>Wed, 10 Jan 2018 10:25:04 GMT</pubDate>
            <description><![CDATA[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,…]]></description>
        </item>
        <item>
            <title><![CDATA[Interakcja z komponentami React.js]]></title>
            <link>https://pl.typeofweb.com/interakcja-komponentami-react-js</link>
            <guid>interakcja-komponentami-react-js</guid>
            <pubDate>Mon, 08 Jan 2018 02:12:39 GMT</pubDate>
            <description><![CDATA[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.]]></description>
        </item>
        <item>
            <title><![CDATA[Klasy jako komponenty React.js]]></title>
            <link>https://pl.typeofweb.com/klasy-jako-komponenty-react-js</link>
            <guid>klasy-jako-komponenty-react-js</guid>
            <pubDate>Tue, 19 Dec 2017 12:26:57 GMT</pubDate>
            <description><![CDATA[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!]]></description>
        </item>
        <item>
            <title><![CDATA[Podział na komponenty w React.js]]></title>
            <link>https://pl.typeofweb.com/podzial-komponenty-react-js</link>
            <guid>podzial-komponenty-react-js</guid>
            <pubDate>Sun, 17 Dec 2017 10:48:35 GMT</pubDate>
            <description><![CDATA[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.]]></description>
        </item>
        <item>
            <title><![CDATA[Hackowanie CSS]]></title>
            <link>https://pl.typeofweb.com/hackowanie-css</link>
            <guid>hackowanie-css</guid>
            <pubDate>Fri, 15 Dec 2017 12:36:18 GMT</pubDate>
            <description><![CDATA[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.]]></description>
        </item>
        <item>
            <title><![CDATA[Props czyli atrybuty w React.js]]></title>
            <link>https://pl.typeofweb.com/props-czyli-atrybuty-react-js</link>
            <guid>props-czyli-atrybuty-react-js</guid>
            <pubDate>Tue, 12 Dec 2017 14:25:59 GMT</pubDate>
            <description><![CDATA[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żą.]]></description>
        </item>
        <item>
            <title><![CDATA[Pierwszy komponent w React.js]]></title>
            <link>https://pl.typeofweb.com/pierwszy-komponent-react-js</link>
            <guid>pierwszy-komponent-react-js</guid>
            <pubDate>Fri, 08 Dec 2017 14:30:58 GMT</pubDate>
            <description><![CDATA[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.]]></description>
        </item>
        <item>
            <title><![CDATA[Poznaj React.js]]></title>
            <link>https://pl.typeofweb.com/poznaj-react-js</link>
            <guid>poznaj-react-js</guid>
            <pubDate>Tue, 05 Dec 2017 14:00:54 GMT</pubDate>
            <description><![CDATA[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…]]></description>
        </item>
        <item>
            <title><![CDATA[React.js: Wprowadzenie do kursu od podstaw]]></title>
            <link>https://pl.typeofweb.com/wprowadzenie-kurs-react-js</link>
            <guid>wprowadzenie-kurs-react-js</guid>
            <pubDate>Tue, 28 Nov 2017 14:54:47 GMT</pubDate>
            <description><![CDATA[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…]]></description>
        </item>
        <item>
            <title><![CDATA[this w JS — czyli kilka słów o kontekście wywołania funkcji]]></title>
            <link>https://pl.typeofweb.com/this-js-kontekst-wywolania-funkcji</link>
            <guid>this-js-kontekst-wywolania-funkcji</guid>
            <pubDate>Tue, 14 Nov 2017 17:33:21 GMT</pubDate>
            <description><![CDATA[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…]]></description>
        </item>
        <item>
            <title><![CDATA[Krótka relacja z ReactiveConf 2017]]></title>
            <link>https://pl.typeofweb.com/krotka-relacja-z-reactiveconf-2017</link>
            <guid>krotka-relacja-z-reactiveconf-2017</guid>
            <pubDate>Tue, 07 Nov 2017 19:16:05 GMT</pubDate>
            <description><![CDATA[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…]]></description>
        </item>
        <item>
            <title><![CDATA[Promise: 9 rzeczy, których nie wiesz na temat Promise]]></title>
            <link>https://pl.typeofweb.com/kilka-faktow-na-temat-promise</link>
            <guid>kilka-faktow-na-temat-promise</guid>
            <pubDate>Mon, 23 Oct 2017 20:09:58 GMT</pubDate>
            <description><![CDATA[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.]]></description>
        </item>
        <item>
            <title><![CDATA[Symlink, zip i upload plików – łatwo padniesz łupem hackera]]></title>
            <link>https://pl.typeofweb.com/symlink-zip-upload-plikow-dla-hackera</link>
            <guid>symlink-zip-upload-plikow-dla-hackera</guid>
            <pubDate>Tue, 17 Oct 2017 11:45:29 GMT</pubDate>
            <description><![CDATA[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…]]></description>
        </item>
        <item>
            <title><![CDATA[HTTPS: Dlaczego Twoja kolejna strona powinna to mieć?]]></title>
            <link>https://pl.typeofweb.com/twoja-strona-powinna-byc-na-https</link>
            <guid>twoja-strona-powinna-byc-na-https</guid>
            <pubDate>Tue, 10 Oct 2017 10:28:14 GMT</pubDate>
            <description><![CDATA[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…]]></description>
        </item>
        <item>
            <title><![CDATA[meet.js Summit 2017: Nasze podsumowanie]]></title>
            <link>https://pl.typeofweb.com/meet-js-summit-2017-nasze-podsumowanie</link>
            <guid>meet-js-summit-2017-nasze-podsumowanie</guid>
            <pubDate>Tue, 03 Oct 2017 22:47:32 GMT</pubDate>
            <description><![CDATA[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…]]></description>
        </item>
        <item>
            <title><![CDATA[Usuwanie białych pasków w Safari na iPhone X]]></title>
            <link>https://pl.typeofweb.com/usuwanie-bialych-paskow-safari-iphone-x</link>
            <guid>usuwanie-bialych-paskow-safari-iphone-x</guid>
            <pubDate>Mon, 25 Sep 2017 20:29:55 GMT</pubDate>
            <description><![CDATA[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…]]></description>
        </item>
        <item>
            <title><![CDATA[meet.js Summit 2017 za kulisami]]></title>
            <link>https://pl.typeofweb.com/meet-js-summit-2017-kulisami</link>
            <guid>meet-js-summit-2017-kulisami</guid>
            <pubDate>Sun, 17 Sep 2017 15:17:00 GMT</pubDate>
            <description><![CDATA[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”.]]></description>
        </item>
        <item>
            <title><![CDATA[Payment Request API: bezpieczne płatności w przeglądarce]]></title>
            <link>https://pl.typeofweb.com/payment-request-api-platnosci-przegladarce</link>
            <guid>payment-request-api-platnosci-przegladarce</guid>
            <pubDate>Thu, 14 Sep 2017 20:42:06 GMT</pubDate>
            <description><![CDATA[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…]]></description>
        </item>
        <item>
            <title><![CDATA[Dlaczego porzuciłem Ghost na rzecz WordPress, ale Ty nie powinieneś?]]></title>
            <link>https://pl.typeofweb.com/czemu-porzucilem-ghost-rzecz-wordpress</link>
            <guid>czemu-porzucilem-ghost-rzecz-wordpress</guid>
            <pubDate>Mon, 11 Sep 2017 18:28:43 GMT</pubDate>
            <description><![CDATA[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…]]></description>
        </item>
        <item>
            <title><![CDATA[Praca zdalna – rekrutacja do Toptal]]></title>
            <link>https://pl.typeofweb.com/praca-zdalna-rekrutacja-do-toptal</link>
            <guid>praca-zdalna-rekrutacja-do-toptal</guid>
            <pubDate>Wed, 30 Aug 2017 08:00:00 GMT</pubDate>
            <description><![CDATA[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…]]></description>
        </item>
        <item>
            <title><![CDATA[Weekly JavaScript Challenge – Reaktywacja!]]></title>
            <link>https://pl.typeofweb.com/weekly-javascript-challenge-reaktywacja</link>
            <guid>weekly-javascript-challenge-reaktywacja</guid>
            <pubDate>Thu, 24 Aug 2017 08:13:59 GMT</pubDate>
            <description><![CDATA[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…]]></description>
        </item>
        <item>
            <title><![CDATA[Praca zdalna – dla mnie rewelacja! Obalamy mity]]></title>
            <link>https://pl.typeofweb.com/praca-zdalna-obalamy-mity</link>
            <guid>praca-zdalna-obalamy-mity</guid>
            <pubDate>Tue, 13 Jun 2017 12:01:55 GMT</pubDate>
            <description><![CDATA[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?]]></description>
        </item>
        <item>
            <title><![CDATA[Observable – rxjs 5]]></title>
            <link>https://pl.typeofweb.com/observable-rxjs</link>
            <guid>observable-rxjs</guid>
            <pubDate>Fri, 19 May 2017 18:57:00 GMT</pubDate>
            <description><![CDATA[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!]]></description>
        </item>
        <item>
            <title><![CDATA[Map i Reduce w JS]]></title>
            <link>https://pl.typeofweb.com/map-i-reduce-w-js</link>
            <guid>map-i-reduce-w-js</guid>
            <pubDate>Fri, 12 May 2017 12:12:03 GMT</pubDate>
            <description><![CDATA[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.]]></description>
        </item>
        <item>
            <title><![CDATA[REST API w node.js z HapiJS – dokumentacja API]]></title>
            <link>https://pl.typeofweb.com/tworzenie-rest-api-w-node-js-z-wykorzystaniem-frameworka-hapijs-czesc-3-dokumentacja-api</link>
            <guid>tworzenie-rest-api-w-node-js-z-wykorzystaniem-frameworka-hapijs-czesc-3-dokumentacja-api</guid>
            <pubDate>Fri, 14 Apr 2017 08:50:23 GMT</pubDate>
            <description><![CDATA[Dalej na temat tworzenia backendu w node.js z wykorzystaniem HapiJS. Ten wpis jest o automatycznym generowaniu dokumentacji do endpointów. Zapraszam!]]></description>
        </item>
        <item>
            <title><![CDATA[Hapi.js – Wprowadzenie]]></title>
            <link>https://pl.typeofweb.com/hapi-js-wprowadzenie</link>
            <guid>hapi-js-wprowadzenie</guid>
            <pubDate>Sun, 29 Jan 2017 20:18:00 GMT</pubDate>
            <description><![CDATA[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.]]></description>
        </item>
        <item>
            <title><![CDATA[REST API w node.js z HapiJS – definicja route'ów i prosta walidacja]]></title>
            <link>https://pl.typeofweb.com/tworzenie-rest-api-w-node-js-z-wykorzystaniem-frameworka-hapijs-czesc-2</link>
            <guid>tworzenie-rest-api-w-node-js-z-wykorzystaniem-frameworka-hapijs-czesc-2</guid>
            <pubDate>Sat, 28 Jan 2017 21:24:08 GMT</pubDate>
            <description><![CDATA[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!]]></description>
        </item>
        <item>
            <title><![CDATA[REST API w node.js z HapiJS – pierwsza aplikacja]]></title>
            <link>https://pl.typeofweb.com/tworzenie-rest-api-w-node-js-z-wykorzystaniem-frameworka-hapijs-czesc-1</link>
            <guid>tworzenie-rest-api-w-node-js-z-wykorzystaniem-frameworka-hapijs-czesc-1</guid>
            <pubDate>Tue, 24 Jan 2017 18:36:47 GMT</pubDate>
            <description><![CDATA[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.]]></description>
        </item>
        <item>
            <title><![CDATA[Dobry kod: Ty też możesz pisać czytelny kod!]]></title>
            <link>https://pl.typeofweb.com/dobry-czytelny-czysty-kod</link>
            <guid>dobry-czytelny-czysty-kod</guid>
            <pubDate>Fri, 25 Nov 2016 11:43:24 GMT</pubDate>
            <description><![CDATA[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?]]></description>
        </item>
        <item>
            <title><![CDATA[innerHTML, czyli najbardziej banalna furtka do XSS]]></title>
            <link>https://pl.typeofweb.com/innerhtml-furtka-do-xss</link>
            <guid>innerhtml-furtka-do-xss</guid>
            <pubDate>Sun, 11 Sep 2016 06:41:07 GMT</pubDate>
            <description><![CDATA[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…]]></description>
        </item>
        <item>
            <title><![CDATA[Kurs TypeScript – część 3]]></title>
            <link>https://pl.typeofweb.com/kurs-typescript-czesc-3</link>
            <guid>kurs-typescript-czesc-3</guid>
            <pubDate>Wed, 10 Aug 2016 08:22:00 GMT</pubDate>
            <description><![CDATA[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ż…]]></description>
        </item>
        <item>
            <title><![CDATA[Kurs TypeScript – część 2]]></title>
            <link>https://pl.typeofweb.com/kurs-typescript-czesc-2</link>
            <guid>kurs-typescript-czesc-2</guid>
            <pubDate>Mon, 08 Aug 2016 13:55:32 GMT</pubDate>
            <description><![CDATA[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…]]></description>
        </item>
        <item>
            <title><![CDATA[3. Weekly JavaScript Challenge]]></title>
            <link>https://pl.typeofweb.com/weekly-javascript-challenge-3</link>
            <guid>weekly-javascript-challenge-3</guid>
            <pubDate>Sun, 07 Aug 2016 13:15:30 GMT</pubDate>
            <description><![CDATA[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!]]></description>
        </item>
        <item>
            <title><![CDATA[2. Weekly JavaScript Challenge]]></title>
            <link>https://pl.typeofweb.com/weekly-javascript-challenge-2</link>
            <guid>weekly-javascript-challenge-2</guid>
            <pubDate>Wed, 27 Jul 2016 09:34:00 GMT</pubDate>
            <description><![CDATA[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…]]></description>
        </item>
        <item>
            <title><![CDATA[1. Weekly JavaScript Challenge]]></title>
            <link>https://pl.typeofweb.com/weekly-javascript-challenge-1</link>
            <guid>weekly-javascript-challenge-1</guid>
            <pubDate>Mon, 25 Jul 2016 05:09:00 GMT</pubDate>
            <description><![CDATA[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.]]></description>
        </item>
        <item>
            <title><![CDATA[Dependency Injection w Angular 2]]></title>
            <link>https://pl.typeofweb.com/dependency-injection-w-angular-2</link>
            <guid>dependency-injection-w-angular-2</guid>
            <pubDate>Tue, 19 Jul 2016 10:40:43 GMT</pubDate>
            <description><![CDATA[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.]]></description>
        </item>
        <item>
            <title><![CDATA[Nowy font na GitHubie – font systemowy]]></title>
            <link>https://pl.typeofweb.com/nowy-font-na-githubie-font-systemowy</link>
            <guid>nowy-font-na-githubie-font-systemowy</guid>
            <pubDate>Tue, 12 Jul 2016 12:44:19 GMT</pubDate>
            <description><![CDATA[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?]]></description>
        </item>
        <item>
            <title><![CDATA[TypeScript – część 1]]></title>
            <link>https://pl.typeofweb.com/typescript-czesc-1</link>
            <guid>typescript-czesc-1</guid>
            <pubDate>Mon, 11 Jul 2016 06:19:00 GMT</pubDate>
            <description><![CDATA[„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.]]></description>
        </item>
        <item>
            <title><![CDATA[Wzorce Projektowe: Dependency Injection]]></title>
            <link>https://pl.typeofweb.com/wzorce-projektowe-dependency-injection</link>
            <guid>wzorce-projektowe-dependency-injection</guid>
            <pubDate>Thu, 07 Jul 2016 13:43:00 GMT</pubDate>
            <description><![CDATA[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.]]></description>
        </item>
        <item>
            <title><![CDATA[Angular 2 i Redux]]></title>
            <link>https://pl.typeofweb.com/angular-2-i-redux</link>
            <guid>angular-2-i-redux</guid>
            <pubDate>Mon, 04 Jul 2016 06:35:51 GMT</pubDate>
            <description><![CDATA[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…]]></description>
        </item>
        <item>
            <title><![CDATA[Komunikacja pomiędzy komponentami w Angular 2]]></title>
            <link>https://pl.typeofweb.com/komunikacja-pomiedzy-komponentami-w-angular-2</link>
            <guid>komunikacja-pomiedzy-komponentami-w-angular-2</guid>
            <pubDate>Sat, 02 Jul 2016 13:29:16 GMT</pubDate>
            <description><![CDATA[Przed Wami trzecia część kursu Angular 2. W tym wpisie omawiam różne sposoby komunikacji pomiędzy komponentami na prostych przykładach.]]></description>
        </item>
        <item>
            <title><![CDATA[Własne komponenty w Angular 2]]></title>
            <link>https://pl.typeofweb.com/wlasne-komponenty-w-angular-2</link>
            <guid>wlasne-komponenty-w-angular-2</guid>
            <pubDate>Tue, 14 Jun 2016 17:27:29 GMT</pubDate>
            <description><![CDATA[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…]]></description>
        </item>
        <item>
            <title><![CDATA[Wstęp do Angular 2]]></title>
            <link>https://pl.typeofweb.com/wstep-do-angular-2</link>
            <guid>wstep-do-angular-2</guid>
            <pubDate>Fri, 03 Jun 2016 12:05:10 GMT</pubDate>
            <description><![CDATA[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.]]></description>
        </item>
        <item>
            <title><![CDATA[Struktura aplikacji AngularJS (część 2 ‑ komponenty)]]></title>
            <link>https://pl.typeofweb.com/struktura-aplikacji-angularjs-czesc-2-komponenty</link>
            <guid>struktura-aplikacji-angularjs-czesc-2-komponenty</guid>
            <pubDate>Sun, 15 May 2016 15:46:17 GMT</pubDate>
            <description><![CDATA[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ć…]]></description>
        </item>
        <item>
            <title><![CDATA[Struktura aplikacji AngularJS (część 1 ‑ trochę historii)]]></title>
            <link>https://pl.typeofweb.com/struktura-aplikacji-angularjs-czesc-1</link>
            <guid>struktura-aplikacji-angularjs-czesc-1</guid>
            <pubDate>Sat, 14 May 2016 17:08:00 GMT</pubDate>
            <description><![CDATA[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,…]]></description>
        </item>
        <item>
            <title><![CDATA[Komunikacja pomiędzy kontrolerami w AngularJS]]></title>
            <link>https://pl.typeofweb.com/komunikacja-pomiedzy-kontrolerami</link>
            <guid>komunikacja-pomiedzy-kontrolerami</guid>
            <pubDate>Thu, 05 May 2016 12:47:00 GMT</pubDate>
            <description><![CDATA[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,…]]></description>
        </item>
        <item>
            <title><![CDATA[Single Page Applications a SEO]]></title>
            <link>https://pl.typeofweb.com/angularjs-i-seo</link>
            <guid>angularjs-i-seo</guid>
            <pubDate>Tue, 19 Apr 2016 19:08:14 GMT</pubDate>
            <description><![CDATA[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…]]></description>
        </item>
        <item>
            <title><![CDATA[ASI czyli automatyczne wstawianie średników]]></title>
            <link>https://pl.typeofweb.com/asi-czyli-automatyczne-wstawianie-srednikow</link>
            <guid>asi-czyli-automatyczne-wstawianie-srednikow</guid>
            <pubDate>Tue, 12 Apr 2016 19:19:06 GMT</pubDate>
            <description><![CDATA[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…]]></description>
        </item>
        <item>
            <title><![CDATA[Po co TypeScript?]]></title>
            <link>https://pl.typeofweb.com/typescript-na-serwerze</link>
            <guid>typescript-na-serwerze</guid>
            <pubDate>Wed, 06 Apr 2016 18:06:00 GMT</pubDate>
            <description><![CDATA[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.…]]></description>
        </item>
    </channel>
</rss>