{"componentChunkName":"component---src-templates-standard-tag-js","path":"/tags/javascript/","result":{"pageContext":{"page":{"id":"cGFnZToxMTA=","slug":"tag","title":"Tag","content":null,"databaseId":110,"featuredImage":null,"seo":{"focuskw":"","title":"Tag - Gladiatorzy JavaScriptu","opengraphTitle":"","metaKeywords":"","metaDesc":"","metaRobotsNofollow":"","metaRobotsNoindex":"","opengraphDescription":"","opengraphImage":null},"siteMetaData":{"description":"Gladiatorzy JavaScriptu","language":"pl_PL","title":"Gladiatorzy JavaScriptu","url":"http://gladiatorzy.api.localhost-group.com"}},"tag":{"name":"javascript","slug":"javascript","count":5},"products":[{"id":"cHJvZHVjdDo1NTE=","name":"DEMO Zbiorów - 15 zadań rekrutacyjnych - nie kupuj w ciemno, sprawdź!","slug":"demo-zbiorow-15-zadan-rekrutacyjnych-nie-kupuj-w-ciemno-tylko-sprawdz","productId":551,"description":"<h3>Nie kupuj kota w worku</h3>\n<p><strong>Sprawdź</strong> czy poziom Twoich frontendowych umiejętności <strong>już pozwala</strong> na rozwijanie się z moimi zbiorami</p>\n<h3>Zestaw 15 zadań rekrutacyjnych z 3 zbiorów Gladiatorow to:</h3>\n<ul>\n<li>5 Ambitnych zadań ze <a href=\"https://gladiators-of-javascript.com/shop/products/rozwijajace-i-utrwalajace-zadania-z-html-css-i-javascript/\">zbioru HTML + CSS + JS &#8211; dla Newbies</a></li>\n<li>5 Wymagających zadań ze <a href=\"https://gladiators-of-javascript.com/shop/products/ambitne-i-wymagajace-zadania-z-js-i-react/\">zbioru JS + React &#8211; dla Juniorów</a></li>\n<li>5 Sprawiających problemy zadań z testami ze <a href=\"https://gladiators-of-javascript.com/shop/products/nieprzewidziane-i-sprawiajace-problemy-testy-js-i-react/\">zbioru JS + React + Testy &#8211; dla Mocnych Juniorów/Midów</a></li>\n</ul>\n<p>Zadania do dema zostały wybrane tak, aby pokazać przykładowe zadania z każdego zbioru i są na średnim poziomie trudności w każdym ze zbiorów</p>\n<h4>Abyś łatwo mógł/mogła potwierdzić przed sobą do którego zbioru już wystarczająco dojrzałeś/-aś</h4>\n<h4>Aby być fair w stosunku do Ciebie i aby było wiadomo jakie i na jakim poziomie dostaniesz zadania w odpowiedniej dla Ciebie części zbiorów</h4>\n<p>Gwarancję satysfakcji z kształcenia się z moimi zadaniami i szybki rozwój potwierdza <a href=\"https://gladiators-of-javascript.com/blog/categories/nagrania-live-z-gladiatorow-javascriptu/\">2 Legiony Gladiatorów Javascriptu</a><br />\noraz 150+ innych osób, które zakupiło zbiory z zadaniami</p>\n<h3>A gdzie znajdziesz przykładowe rozwiązania zadań? -&gt; <a href=\"https://gladiators-of-javascript.com/blog/categories/nagrania-live-z-gladiatorow-javascriptu/\">TU</a></h3>\n<p><strong>Do każdego z tych zadań NIE MA JEDNEGO, dobrego rozwiązania</strong>. Różne podejścia do zadań wraz z omówieniem części teoretycznej oraz code review przykładowych rozwiązań można oglądać w nagraniach Gladiatorów Javascriptu &#8211; <a href=\"https://gladiators-of-javascript.com/blog/categories/nagrania-live-z-gladiatorow-javascriptu/\">pod tym linkiem</a></p>\n","shortDescription":"<p><strong>Nie kupuj kota w worku &#8211; Sprawdź</strong> czy Twój poziom frontendowych umiejętności <strong>już pozwala</strong> na rozwijanie się dalej z moimi zbiorami</p>\n","type":"SIMPLE","featured":true,"totalSales":null,"productCategories":{"nodes":[{"name":"Zbiory zadań","slug":"zbiory-zadan"}]},"productTags":{"nodes":[{"name":"css","slug":"css","count":3},{"name":"javascript","slug":"javascript","count":5},{"name":"junior","slug":"junior","count":6},{"name":"mid","slug":"mid","count":6},{"name":"react","slug":"react","count":4},{"name":"redux","slug":"redux","count":4},{"name":"testy","slug":"testy","count":3}]},"seo":{"title":"DEMO Zbiorów - 15 zadań rekrutacyjnych - nie kupuj w ciemno, sprawdź! - Gladiatorzy JavaScriptu","opengraphTitle":"DEMO Zbiorów - nie kupuj w ciemno, sprawdź! - Gladiatorzy JavaScriptu","metaKeywords":"","metaDesc":"Sprawdź czy Twój poziom frontendowych umiejętności już pozwala na rozwijanie się z moimi zbiorami i nie marnuj przy tym niepotrzebnie pieniędzy","metaRobotsNofollow":"","metaRobotsNoindex":"","opengraphDescription":"Sprawdź czy Twój poziom frontendowych umiejętności już pozwala na rozwijanie się z moimi zbiorami i nie marnuj przy tym niepotrzebnie pieniędzy","opengraphImage":{"sourceUrl":"https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/08/spartan-3696073_1920.jpg"}},"regularPrice":"21.00&nbsp;zł","salePrice":null,"image":{"altText":"","srcSet":"https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/08/spartan-3696073_1920-300x201.jpg 300w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/08/spartan-3696073_1920-1024x685.jpg 1024w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/08/spartan-3696073_1920-768x514.jpg 768w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/08/spartan-3696073_1920-1536x1027.jpg 1536w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/08/spartan-3696073_1920-600x401.jpg 600w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/08/spartan-3696073_1920.jpg 1920w","sourceUrl":"https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/08/spartan-3696073_1920.jpg","sizes":"(max-width: 300px) 100vw, 300px"},"attributes":{"nodes":[{"name":"pa_link","options":["intro-do-zbiorow"]}]},"upsell":{"nodes":[]},"crossSell":{"nodes":[]},"galleryImages":{"nodes":[{"slug":"gladiators-mid-junior","srcSet":"https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/05/gladiators-mid-junior.png 2418w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/05/gladiators-mid-junior-100x100.png 100w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/05/gladiators-mid-junior-600x593.png 600w","sourceUrl":"https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/05/gladiators-mid-junior.png"},{"slug":"gladiators-nevbie","srcSet":"https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/05/gladiators-nevbie.png 2418w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/05/gladiators-nevbie-100x100.png 100w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/05/gladiators-nevbie-600x593.png 600w","sourceUrl":"https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/05/gladiators-nevbie.png"},{"slug":"gladiators-junior","srcSet":"https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/05/gladiators-junior.png 2418w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/05/gladiators-junior-100x100.png 100w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/05/gladiators-junior-600x593.png 600w","sourceUrl":"https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/05/gladiators-junior.png"}]},"reviews":{"averageRating":0,"nodes":[]},"stockQuantity":null,"siteMetaData":{"description":"Gladiatorzy JavaScriptu","language":"pl_PL","title":"Gladiatorzy JavaScriptu","url":"http://gladiatorzy.api.localhost-group.com"}},{"id":"cHJvZHVjdDo5Ng==","name":"Wszystkie zbiory zadań Gladiatorów Javascriptu","slug":"wszystkie-zbiory-zadan","productId":96,"description":"<h3>Wszystkie 3 części zbiorów  zadań  z serii &#8222;Gladiator Javascriptu&#8221;</h3>\n<h4>Poziom: Newbie/Junior/Mid</h4>\n<h4>Praktyka: min 450h</h4>\n<p>Dla tych, którzy codziennie pracują jako programiści, ale wiedzą, że muszą się dalej uczyć bardziej zaawansowanej wiedzy z programowania. Dedykowany zbiór dla osób, które chcą uczyć się testowania. Obowiązkowa pozycja dla osób, które niskim kosztem chce mieć ogrom zadań praktycznych w rozwoju w kierunku awansu w pracy.</p>\n<div>\n<p>Daniel</p>\n<p>Polecam tego allegrowicza! Wymagające zadania sprawdzą Twoją wiedzę i pozwolą doszlifować umiejętności</p>\n</div>\n<h3>A gdzie znajdziesz przykładowe rozwiązania zadań? -&gt; <a href=\"https://gladiators-of-javascript.com/blog/categories/nagrania-live-z-gladiatorow-javascriptu/\">TU</a></h3>\n<p><strong>Do każdego z tych zadań NIE MA JEDNEGO, dobrego rozwiązania</strong>. Różne podejścia do zadań wraz z omówieniem części teoretycznej oraz code review przykładowych rozwiązań można oglądać w nagraniach Gladiatorów Javascriptu &#8211; <a href=\"https://gladiators-of-javascript.com/blog/categories/nagrania-live-z-gladiatorow-javascriptu/\">pod tym linkiem</a></p>\n<h5>Idealna pozycja w bibliotece każdego programisty frontendowego &#8211; książka, która nigdy się nie zdezaktualizuje. Można zawsze puścić commita z updatem 🙂</h5>\n<h6>Mały bonus:<br />\nKupienie jakiegokolwiek zbioru skutkuje rabatem -20% na zajęcia z mentorami 🙂</h6>\n","shortDescription":"<p><span data-sheets-formula-bar-text-style=\"font-size:13px;color:#000000;font-weight:bold;text-decoration:none;font-family:'Arial';font-style:normal;text-decoration-skip-ink:none;\">3 części zbiorów Gladiatorów Javascriptu, cała aktualna wiedza w pakiecie</span></p>\n","type":"SIMPLE","featured":true,"totalSales":null,"productCategories":{"nodes":[{"name":"Zbiory zadań","slug":"zbiory-zadan"}]},"productTags":{"nodes":[{"name":"css","slug":"css","count":3},{"name":"javascript","slug":"javascript","count":5},{"name":"junior","slug":"junior","count":6},{"name":"mid","slug":"mid","count":6},{"name":"react","slug":"react","count":4},{"name":"redux","slug":"redux","count":4},{"name":"testy","slug":"testy","count":3}]},"seo":{"title":"Wszystkie zbiory zadań Gladiatorów Javascriptu - Gladiatorzy JavaScriptu","opengraphTitle":"","metaKeywords":"","metaDesc":"Dla tych, którzy codziennie pracują jako programiści, ale wiedzą, że muszą się dalej uczyć bardziej zaawansowanej wiedzy z programowania.","metaRobotsNofollow":"","metaRobotsNoindex":"","opengraphDescription":"","opengraphImage":null},"regularPrice":"450.00&nbsp;zł","salePrice":"400.00&nbsp;zł","image":{"altText":"","srcSet":"https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/05/gladiators_logo.png 1001w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/05/gladiators_logo-300x300.png 300w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/05/gladiators_logo-100x100.png 100w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/05/gladiators_logo-600x600.png 600w","sourceUrl":"https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/05/gladiators_logo.png","sizes":null},"attributes":{"nodes":[{"name":"pa_link","options":["ambitne-i-wymagajace-zadania-z-js-i-react","nieprzewidziane-i-sprawiajace-problemy-testy-js-react","rozwijajace-i-utrwalajace-zadania-z-html-css-i-javascript"]}]},"upsell":{"nodes":[]},"crossSell":{"nodes":[]},"galleryImages":{"nodes":[{"slug":"gladiators-mid-junior","srcSet":"https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/05/gladiators-mid-junior.png 2418w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/05/gladiators-mid-junior-100x100.png 100w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/05/gladiators-mid-junior-600x593.png 600w","sourceUrl":"https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/05/gladiators-mid-junior.png"},{"slug":"gladiators-nevbie","srcSet":"https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/05/gladiators-nevbie.png 2418w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/05/gladiators-nevbie-100x100.png 100w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/05/gladiators-nevbie-600x593.png 600w","sourceUrl":"https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/05/gladiators-nevbie.png"},{"slug":"gladiators-junior","srcSet":"https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/05/gladiators-junior.png 2418w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/05/gladiators-junior-100x100.png 100w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/05/gladiators-junior-600x593.png 600w","sourceUrl":"https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/05/gladiators-junior.png"}]},"reviews":{"averageRating":0,"nodes":[]},"stockQuantity":null,"siteMetaData":{"description":"Gladiatorzy JavaScriptu","language":"pl_PL","title":"Gladiatorzy JavaScriptu","url":"http://gladiatorzy.api.localhost-group.com"}},{"id":"cHJvZHVjdDo2MQ==","name":"Nieprzewidziane i sprawiające problemy testy JS i React","slug":"nieprzewidziane-i-sprawiajace-problemy-testy-js-i-react","productId":61,"description":"<h3>Trzecia część zbioru rekrutacyjnych i treningowych zadań  z serii &#8222;Gladiator Javascriptu&#8221;</h3>\n<h4>Poziom: Junior/Mid</h4>\n<h4>Praktyka: min 200h</h4>\n<p>Dla tych, którzy codziennie pracują jako programiści, ale wiedzą, że muszą się dalej uczyć bardziej zaawansowanej wiedzy z programowania. Dedykowany zbiór dla osób, które chcą uczyć się testowania. Obowiązkowa pozycja dla osób, które niskim kosztem chce mieć ogrom zadań praktycznych w rozwoju w kierunku awansu w pracy. Trzecia część z 3 częściowego zestawu zbiorów</p>\n<div>\n<p>Rafał</p>\n<p>Ponad 3 lata jestem Javascript Devem, a do niektórych zadań, żeby podejść to musiałbym porządnie się zastanowić jak je zrobić. Świetny pomysł i wykonanie!</p>\n</div>\n<h5>Tematy rozwijane w tym zbiorze:</h5>\n<ul>\n<li><strong>JS</strong> &#8211;  testowanie jednostkowe i integracyjne algorytmów, struktur danych, programowania obiektowego i funkcyjnego, asynchroniczności</li>\n<li><strong>React</strong> &#8211; testowanie jednostkowe i integracyjne zaawansowanych komponenty + ContextApi, Hooks, HOC, Redux itd</li>\n</ul>\n<h3>A gdzie znajdziesz przykładowe rozwiązania zadań? -&gt; <a href=\"https://gladiators-of-javascript.com/blog/categories/nagrania-live-z-gladiatorow-javascriptu/\">TU</a></h3>\n<p><strong>Do każdego z tych zadań NIE MA JEDNEGO, dobrego rozwiązania</strong>. Różne podejścia do zadań wraz z omówieniem części teoretycznej oraz code review przykładowych rozwiązań można oglądać w nagraniach Gladiatorów Javascriptu &#8211; <a href=\"https://gladiators-of-javascript.com/blog/categories/nagrania-live-z-gladiatorow-javascriptu/\">pod tym linkiem</a></p>\n<h5>Idealna pozycja w bibliotece każdego programisty frontendowego &#8211; książka, która nigdy się nie zdezaktualizuje. Można zawsze puścić commita z updatem 🙂</h5>\n<h6>Mały bonus:<br />\nKupienie jakiegokolwiek zbioru skutkuje rabatem -20% na zajęcia z mentorami 🙂</h6>\n","shortDescription":"<p><span data-sheets-formula-bar-text-style=\"font-size:13px;color:#000000;font-weight:bold;text-decoration:none;font-family:'Arial';font-style:normal;text-decoration-skip-ink:none;\">Zbiór z zaawansowanymi zadaniami na testy z JS i React</span></p>\n","type":"SIMPLE","featured":false,"totalSales":null,"productCategories":{"nodes":[{"name":"Zbiory zadań","slug":"zbiory-zadan"}]},"productTags":{"nodes":[{"name":"javascript","slug":"javascript","count":5},{"name":"mid","slug":"mid","count":6},{"name":"react","slug":"react","count":4},{"name":"redux","slug":"redux","count":4},{"name":"testy","slug":"testy","count":3}]},"seo":{"title":"Nieprzewidziane i sprawiające problemy testy JS i React - Gladiatorzy JavaScriptu","opengraphTitle":"","metaKeywords":"","metaDesc":"Dla tych, którzy codziennie pracują jako programiści, ale wiedzą, że muszą się dalej uczyć bardziej zaawansowanej wiedzy z programowania","metaRobotsNofollow":"","metaRobotsNoindex":"","opengraphDescription":"","opengraphImage":null},"regularPrice":"180.00&nbsp;zł","salePrice":"150.00&nbsp;zł","image":{"altText":"","srcSet":"https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/05/gladiators-mid-junior.png 2418w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/05/gladiators-mid-junior-100x100.png 100w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/05/gladiators-mid-junior-600x593.png 600w","sourceUrl":"https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/05/gladiators-mid-junior.png","sizes":null},"attributes":{"nodes":[{"name":"pa_link","options":["nieprzewidziane-i-sprawiajace-problemy-testy-js-react"]}]},"upsell":{"nodes":[{"name":"Wszystkie zbiory zadań Gladiatorów Javascriptu","slug":"wszystkie-zbiory-zadan","image":{"sourceUrl":"https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/05/gladiators_logo.png","srcSet":"https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/05/gladiators_logo.png 1001w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/05/gladiators_logo-300x300.png 300w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/05/gladiators_logo-100x100.png 100w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/05/gladiators_logo-600x600.png 600w"}}]},"crossSell":{"nodes":[]},"galleryImages":{"nodes":[{"slug":"gladiators-mid-junior","srcSet":"https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/05/gladiators-mid-junior.png 2418w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/05/gladiators-mid-junior-100x100.png 100w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/05/gladiators-mid-junior-600x593.png 600w","sourceUrl":"https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/05/gladiators-mid-junior.png"}]},"reviews":{"averageRating":0,"nodes":[]},"stockQuantity":null,"siteMetaData":{"description":"Gladiatorzy JavaScriptu","language":"pl_PL","title":"Gladiatorzy JavaScriptu","url":"http://gladiatorzy.api.localhost-group.com"}},{"id":"cHJvZHVjdDo2MA==","name":"Ambitne i wymagające zadania z JS i React","slug":"ambitne-i-wymagajace-zadania-z-js-i-react","productId":60,"description":"<h3>Druga część zbioru rekrutacyjnych i treningowych zadań  z serii &#8222;Gladiator Javascriptu&#8221;</h3>\n<h4>Poziom: Junior/Mid</h4>\n<h4>Praktyka: min 200h</h4>\n<p>Dla tych, którzy są gotowi na rynek, ale wiedzą, że muszą się dalej uczyć bardziej zaawansowanej wiedzy z programowania. Obowiązkowa pozycja dla osób, które niskim kosztem chce mieć ogrom zadań praktycznych w rozwoju w kierunku pierwszej pracy bądź poznania Reacta lepiej i bardziej praktycznie. Druga część z 3 częściowego zestawu zbiorów</p>\n<div class=\"quote\">\n<p>Monika</p>\n<p>Ćwiczę z Przemkiem już jakiś czas zadania i czuję, że dopiero teraz zaczynam uczyć się dobrze kodować</p>\n</div>\n<h5>Tematy rozwijane w tym zbiorze:</h5>\n<ul>\n<li><strong>JS</strong> &#8211;  algorytmy, struktury danych, programowanie obiektowe i funkcyjne, asynchroniczność wzorce</li>\n<li><strong>React</strong> &#8211; Zaawansowane komponenty oraz wzorce, ContextApi, Hooks</li>\n<li><strong>Testy</strong> &#8211; budowanie prostych scenariuszy do testów integracyjnych i jednostkowych</li>\n</ul>\n<h3>Co dokładnie znajdziesz w środku?</h3>\n<h4>Zadania z JS:</h4>\n<ul>\n<li>10 zadań z pracy na arrayach</li>\n<li>4 zadania z pracy na promisach</li>\n<li>3 zadania ze implementacji wzorców projektowych</li>\n<li>1 zadanie z pracy na obiektach</li>\n<li>5 zadań z o różnej tematyce</li>\n</ul>\n<h4>Zadania z Reacta:</h4>\n<ul>\n<li>5 zadań z budowania komponentów</li>\n<li>2 zadania z pracy z React Context</li>\n<li>7 zadań z budowania customowych React Hooks</li>\n<li>4 zadania z budowania logiki routingu w apkach Reacta</li>\n</ul>\n<h4>Bonusy:</h4>\n<ul>\n<li>4 zadania ze zbióru <strong>Nieprzewidziane i sprawiające problemy testy JS i React</strong></li>\n<li>3 pomysły na ambitne projekty do portfolio</li>\n<li>Co 3-4 msc aktualizacja zadań</li>\n</ul>\n<h3>A gdzie znajdziesz przykładowe rozwiązania zadań? -&gt; <a href=\"https://gladiators-of-javascript.com/blog/categories/nagrania-live-z-gladiatorow-javascriptu/\">TU</a></h3>\n<p><strong>Do każdego z tych zadań NIE MA JEDNEGO, dobrego rozwiązania</strong>. Różne podejścia do zadań wraz z omówieniem części teoretycznej oraz code review przykładowych rozwiązań można oglądać w nagraniach Gladiatorów Javascriptu &#8211; <a href=\"https://gladiators-of-javascript.com/blog/categories/nagrania-live-z-gladiatorow-javascriptu/\">pod tym linkiem</a></p>\n<h5>Idealna pozycja w bibliotece każdego programisty frontendowego &#8211; książka, która nigdy się nie zdezaktualizuje. Można zawsze puścić commita z updatem 🙂</h5>\n<h6>Mały bonus:<br />\nKupienie jakiegokolwiek zbioru skutkuje rabatem -20% na zajęcia z mentorami 🙂</h6>\n","shortDescription":"<p><span data-sheets-formula-bar-text-style=\"font-size:13px;color:#000000;font-weight:bold;text-decoration:none;font-family:'Arial';font-style:normal;text-decoration-skip-ink:none;\">Zbiór z zaawansowanymi zadaniami z JS i React</span></p>\n","type":"SIMPLE","featured":true,"totalSales":null,"productCategories":{"nodes":[{"name":"Zbiory zadań","slug":"zbiory-zadan"}]},"productTags":{"nodes":[{"name":"hoc","slug":"hoc","count":1},{"name":"hooks","slug":"hooks","count":1},{"name":"javascript","slug":"javascript","count":5},{"name":"junior","slug":"junior","count":6},{"name":"react","slug":"react","count":4},{"name":"redux","slug":"redux","count":4},{"name":"router","slug":"router","count":1}]},"seo":{"title":"Ambitne i wymagające zadania z JS i React - Gladiatorzy JavaScriptu","opengraphTitle":"","metaKeywords":"","metaDesc":"Dla tych, którzy są gotowi na rynek, ale wiedzą, że muszą się dalej uczyć bardziej zaawansowanej wiedzy z programowania. Ponad 200h praktycznej pracy z JS i React","metaRobotsNofollow":"","metaRobotsNoindex":"","opengraphDescription":"","opengraphImage":null},"regularPrice":"150.00&nbsp;zł","salePrice":"120.00&nbsp;zł","image":{"altText":"","srcSet":"https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/05/gladiators-junior.png 2418w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/05/gladiators-junior-100x100.png 100w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/05/gladiators-junior-600x593.png 600w","sourceUrl":"https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/05/gladiators-junior.png","sizes":null},"attributes":{"nodes":[{"name":"pa_link","options":["ambitne-i-wymagajace-zadania-z-js-i-react"]}]},"upsell":{"nodes":[{"name":"Wszystkie zbiory zadań Gladiatorów Javascriptu","slug":"wszystkie-zbiory-zadan","image":{"sourceUrl":"https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/05/gladiators_logo.png","srcSet":"https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/05/gladiators_logo.png 1001w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/05/gladiators_logo-300x300.png 300w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/05/gladiators_logo-100x100.png 100w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/05/gladiators_logo-600x600.png 600w"}},{"name":"Nieprzewidziane i sprawiające problemy testy JS i React","slug":"nieprzewidziane-i-sprawiajace-problemy-testy-js-i-react","image":{"sourceUrl":"https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/05/gladiators-mid-junior.png","srcSet":"https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/05/gladiators-mid-junior.png 2418w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/05/gladiators-mid-junior-100x100.png 100w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/05/gladiators-mid-junior-600x593.png 600w"}}]},"crossSell":{"nodes":[]},"galleryImages":{"nodes":[{"slug":"gladiators2star","srcSet":"https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/05/gladiators2star.png 500w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/05/gladiators2star-300x300.png 300w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/05/gladiators2star-100x100.png 100w","sourceUrl":"https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/05/gladiators2star.png"}]},"reviews":{"averageRating":0,"nodes":[]},"stockQuantity":null,"siteMetaData":{"description":"Gladiatorzy JavaScriptu","language":"pl_PL","title":"Gladiatorzy JavaScriptu","url":"http://gladiatorzy.api.localhost-group.com"}},{"id":"cHJvZHVjdDoyNg==","name":"Rozwijające i utrwalające zadania z HTML, CSS i JAVASCRIPT","slug":"rozwijajace-i-utrwalajace-zadania-z-html-css-i-javascript","productId":26,"description":"<h3>Pierwsza część zbioru rekrutacyjnych i treningowych zadań  z serii &#8222;Gladiator Javascriptu&#8221;</h3>\n<h4>Poziom: Newbie/Junior</h4>\n<h4>Praktyka: min 200h</h4>\n<p>Dla tych, którzy ukończyli jakikolwiek kurs i chcą się przekonać jak dużo dał im kurs. Obowiązkowa pozycja dla osób, które niskim kosztem chce mieć ogrom zadań praktycznych w rozwoju w kierunku pierwszej pracy. Pierwsza i najłatwiejsza część z 3 częściowego zestawu zbiorów</p>\n<div class=\"quote\">\n<p>Dorota</p>\n<p>Ale trudne te zadania, uświadomiłam sobie jak niewiele umiem i jak dużo pracy jeszcze mnie czeka</p>\n</div>\n<h5>Tematy rozwijane w tym zbiorze:</h5>\n<ul>\n<li><strong>JS</strong> &#8211; algorytmy i struktury danych, budowanie logiki aplikacji i skryptów</li>\n<li><strong>CSS</strong> &#8211; animacje, przejścia oraz zaawansowane układy</li>\n<li><strong>HTML + CSS</strong> &#8211; zadania związane z budowaniem wyglądu aplikacji</li>\n<li><strong>JS + HTML</strong>&#8211; zadania związane z budowaniem logiki i działania aplikacji</li>\n<li><strong>HTML + JS + CSS</strong> &#8211; zadania związane z budowaniem wyglądu aplikacji</li>\n<li><strong>INSPIRACJE</strong> &#8211; kilka projektów do portfolio, które mogą Cię zainspirować</li>\n</ul>\n<h3>Co dokładnie znajdziesz w środku?</h3>\n<h4>Zadania z HTML, CSS, JS &#8211; budowanie wyglądu aplikacji:</h4>\n<ul>\n<li>7 zadań na budowanie logiki wyglądu oraz animacji</li>\n<li>1 zadanie na zbudowanie zaawansowanego feature wyglądu na stronie</li>\n<li>3 zaawansowanie zadania na użycie tylko HTML + CSS</li>\n</ul>\n<h4>Zadania z HTML + JS &#8211; działanie i budowanie logiki aplikacji:</h4>\n<ul>\n<li>6 zadań z budowaniem modułowych funkcjonalności</li>\n<li>8 zadań z budowania logiki aplikacji</li>\n</ul>\n<h4>Bonusy:</h4>\n<ul>\n<li>1 zadanie HARDCORE ze zbióru <strong>Nieprzewidziane i sprawiające problemy testy JS i React</strong></li>\n<li>2 pomysły na ambitne projekty do portfolio</li>\n<li>Co 3-4 msc aktualizacja zadań</li>\n</ul>\n<h3>A gdzie znajdziesz przykładowe rozwiązania zadań? -&gt; <a href=\"https://gladiators-of-javascript.com/blog/categories/nagrania-live-z-gladiatorow-javascriptu/\">TU</a></h3>\n<p><strong>Do każdego z tych zadań NIE MA JEDNEGO, dobrego rozwiązania</strong>. Różne podejścia do zadań wraz z omówieniem części teoretycznej oraz code review przykładowych rozwiązań można oglądać w nagraniach Gladiatorów Javascriptu &#8211; <a href=\"https://gladiators-of-javascript.com/blog/categories/nagrania-live-z-gladiatorow-javascriptu/\">pod tym linkiem</a></p>\n<h5>Idealna pozycja w bibliotece każdego programisty frontendowego &#8211; książka, która nigdy się nie zdezaktualizuje. Można zawsze puścić commita z updatem 🙂</h5>\n<h6>Mały bonus:<br />\nKupienie jakiegokolwiek zbioru skutkuje rabatem -20% na zajęcia z mentorami 🙂</h6>\n","shortDescription":"<p>Zbiór zaawansowanych zadań z HTML, CSS i JS</p>\n","type":"SIMPLE","featured":false,"totalSales":null,"productCategories":{"nodes":[{"name":"Zbiory zadań","slug":"zbiory-zadan"}]},"productTags":{"nodes":[{"name":"algorytmy","slug":"algorytmy","count":1},{"name":"css","slug":"css","count":3},{"name":"html","slug":"html","count":1},{"name":"javascript","slug":"javascript","count":5},{"name":"newbie","slug":"newbie","count":1}]},"seo":{"title":"Rozwijające i utrwalające zadania z HTML, CSS i JAVASCRIPT - Gladiatorzy JavaScriptu","opengraphTitle":"Rozwijające i utrwalające zadania z HTML, CSS i JAVASCRIPT","metaKeywords":"","metaDesc":"Część 1 zbioru zadań z serii \"Gladiator Javascriptu\". Poziom - Newbie/Junior. Dla tych, którzy ukończyli jakikolwiek kurs programowania i chcą się sprawdzić","metaRobotsNofollow":"","metaRobotsNoindex":"","opengraphDescription":"Część 1 zbioru zadań z serii \"Gladiator Javascriptu\". Poziom - Newbie/Junior. Dla tych, którzy ukończyli jakikolwiek kurs programowania i chcą się sprawdzić","opengraphImage":{"sourceUrl":"https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/05/gladiators-nevbie.png"}},"regularPrice":"150.00&nbsp;zł","salePrice":"100.00&nbsp;zł","image":{"altText":"","srcSet":"https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/05/gladiators-nevbie.png 2418w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/05/gladiators-nevbie-100x100.png 100w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/05/gladiators-nevbie-600x593.png 600w","sourceUrl":"https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/05/gladiators-nevbie.png","sizes":null},"attributes":{"nodes":[{"name":"pa_link","options":["rozwijajace-i-utrwalajace-zadania-z-html-css-i-javascript"]}]},"upsell":{"nodes":[]},"crossSell":{"nodes":[{"name":"Wszystkie zbiory zadań Gladiatorów Javascriptu","slug":"wszystkie-zbiory-zadan","image":{"sourceUrl":"https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/05/gladiators_logo.png","srcSet":"https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/05/gladiators_logo.png 1001w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/05/gladiators_logo-300x300.png 300w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/05/gladiators_logo-100x100.png 100w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/05/gladiators_logo-600x600.png 600w"}},{"name":"Nieprzewidziane i sprawiające problemy testy JS i React","slug":"nieprzewidziane-i-sprawiajace-problemy-testy-js-i-react","image":{"sourceUrl":"https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/05/gladiators-mid-junior.png","srcSet":"https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/05/gladiators-mid-junior.png 2418w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/05/gladiators-mid-junior-100x100.png 100w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/05/gladiators-mid-junior-600x593.png 600w"}},{"name":"Ambitne i wymagające zadania z JS i React","slug":"ambitne-i-wymagajace-zadania-z-js-i-react","image":{"sourceUrl":"https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/05/gladiators-junior.png","srcSet":"https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/05/gladiators-junior.png 2418w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/05/gladiators-junior-100x100.png 100w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/05/gladiators-junior-600x593.png 600w"}}]},"galleryImages":{"nodes":[{"slug":"gladiators-nevbie","srcSet":"https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/05/gladiators-nevbie.png 2418w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/05/gladiators-nevbie-100x100.png 100w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/05/gladiators-nevbie-600x593.png 600w","sourceUrl":"https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/05/gladiators-nevbie.png"}]},"reviews":{"averageRating":0,"nodes":[]},"stockQuantity":null,"siteMetaData":{"description":"Gladiatorzy JavaScriptu","language":"pl_PL","title":"Gladiatorzy JavaScriptu","url":"http://gladiatorzy.api.localhost-group.com"}}],"posts":[{"id":"cG9zdDoxNjI4","slug":"zapytaj-studenta-akademii-localhost-czesc-6-adam-react-frontend","title":"Zapytaj studenta Akademii Localhost &#8211; część 6 &#8211; Adam &#8211; React / Frontend","date":"2021-02-01T21:04:42","databaseId":1628,"content":"\n<h3>Jakiś czas temu uznałem, że chciałbym dowiedzieć się co myślą studenci po kilku pierwszych miesiącach rozwoju w Akademii</h3>\n\n\n\n<p>Przygotowałem kilka pytań i poprosiłem studentów &#8222;w połowie swojej drogi&#8221; na rynek o udzielenie brutalnie szczerych odpowiedzi &#8211; co mogę poprawić w Akademii i czy są zadowoleni z nauki</p>\n\n\n\n<p>Dzisiaj na pytania odpowiada Adam 🙂 </p>\n\n\n\n<h4>Do konkretów &#8211; QA czas zacząć:</h4>\n\n\n\n<p>Q &#8211; Dlaczego chcesz zostać programistą?</p>\n\n\n\n<h4>A &#8211; Od pierwszych kliknięć w klawiaturę, wiedziałem że zwiąże przyszłość z komputerem. Dopiero w gimnazjum odkryłem w sobie pasję do programowania. Programowanie pomaga mi rozwijać logiczne myślenie, rozwiązywanie problemów, oraz co uważam za najważniejsze: znajdywanie potrzebnych mi informacji. Nie ma co się okłamywać, programowanie jest przyszłością i pozwala rozwiązać wiele występujących problemów</h4>\n\n\n\n<p>Q &#8211; Jak długo się uczysz programować?</p>\n\n\n\n<h4>A &#8211; Przygodę z programowaniem zacząłem w gimnazjum. W szkole odbywały się dodatkowe zajęcia z tworzenia stron internetowych na których tworzyliśmy proste stronki w HTML&#8217;u wraz z CSS&#8217;em. Jeśli miałbym określić czas nauki programowania to byłyby to 3 lata z pewnymi przerwami</h4>\n\n\n\n<p>Q &#8211; Ile czasu dziennie poświecasz na naukę?</p>\n\n\n\n<h4>A &#8211; Dziennie poświęcam około 2-3h, stosując technikę pomodoro (25 minut pracy, 5 przerwy) żeby zwiększyć efektywność nauki</h4>\n\n\n\n<p>Q &#8211; Czego do tej pory się nauczyłeś w Akademii?</p>\n\n\n\n<h4>A &#8211; Już po kilku tygodniach zdałem sobie sprawę że mój kod nie jest za bardzo optymalny i może być napisany lepiej. </h4>\n\n\n\n<h4>Nauka w Akademii skupia się na najnowszych trendach, więc solidna nauka typescripta i testów jednostkowych była nieunikniona. Nie mogło również zabraknąć zasad SOLID i ich praktycznego zastosowania. Potem został React, w którym praktyczne zadania i testy komponentów były na porządku dziennym. Aktualnie zajmuję się projektem, który dał mi mnóstwo wiedzy</h4>\n\n\n\n<p>Q &#8211; Co było dla Ciebie najtrudniejsze w nauce programowania?</p>\n\n\n\n<h4>A &#8211; Głównym problemem podczas programowania było brak poczucia rozwoju a co za tym idzie brak motywacji. Multum prostych projektów nie dało mi praktycznej wiedzy, więc postanowiłem się zapisać do Akademii. </h4>\n\n\n\n<h4>Tam nie było mowy o znudzeniu się licznymi zadaniami, które poruszały najróżniejsze zakątki javascriptu. Równiez problemem był brak feedbacku, który jak się z czasem dowiadujesz jest jedną z głównych rzeczy, która przyczynia do rozwoju</h4>\n\n\n\n<p>Q &#8211; Czy odpowiada Ci forma prowadzenia zajęć i wsparcia mentorskiego?</p>\n\n\n\n<h4>A &#8211; Mentoring to jedna z głównych rzeczy, które skłoniło mnie do zapisania do Akademii. Czas który Przemek przeznacza na wyjaśnienie, małą podpowiedź do zadania to według mnie czas, w którym najwięcej mogę się nauczyć lub dopytać. Dzięki licznym dyskusją mogę zauważyć inne podejście na pisanie kodu i zrozumienie na czym polega problem w kodzie</h4>\n\n\n\n<p>Q &#8211; Jak oceniasz swój rozwój w Akademii i czy rozwijasz się zadowalająco szybko?</p>\n\n\n\n<h4>A &#8211; Akademia pozwoliła mi znaleźć ‚łatwy’ sposób rozwoju. Wystarczy tylko włożyć mnóstwo czasu w zadania i poszerzanie wiedzy. Gdy patrzę na swój dawny kod, umiem już z łatwością wytykać mnóstwo błędów, jakie spotkały mnie podczas nauki w Akademii. Aktualnie podczas robienia projektu widzę rozwój w swoim kodzie z dnia na dzień</h4>\n\n\n\n<p>Q &#8211; Co chciałbyś poprawić/ulepszyć w Akademii ?</p>\n\n\n\n<h4>A &#8211; Wiem, że w poprzednich punktach poruszałem tylko pozytywne strony Akademii, ale uważam, że jeśli programowanie jest twoją pasją lub wiążesz z nią przyszłość to jest to według mnie Akademia to idealne miejsce na rozwój wiedzy. Aktualnie nie widzę żadnej rzeczy do poprawy</h4>\n\n\n\n<p>Q &#8211; Czy uważasz, że płacisz dużo w stosunku do wsparcia, jakie otrzymujesz?</p>\n\n\n\n<h4>A &#8211; Myślę, że opłata jest odpowiednia co do ilości zadań, projektów i mentoringu 1 na 1, który otrzymujesz w Akademii. Feedback otrzymany podczas rozmów z mentorem jest według mnie bezcenny 🙂</h4>\n\n\n\n<p>Przeczytaj kolejne QA osób, które są w okolicy połowy swojej gotowości na rynek IT:</p>\n\n\n\n<ul><li><a href=\"https://gladiators-of-javascript.com/blog/zapytaj-studenta-akademii-localhost-czesc-1-maciek-js-backend-devops/\" data-type=\"URL\" data-id=\"https://gladiators-of-javascript.com/blog/zapytaj-studenta-akademii-localhost-czesc-1-maciek-js-backend-devops/\">Maciek &#8211; JS / Backend + Devops</a></li><li><a href=\"https://gladiators-of-javascript.com/blog/zapytaj-studenta-akademii-localhost-czesc-2-grzesiek-js-backend-devops/\" data-type=\"URL\" data-id=\"https://gladiators-of-javascript.com/blog/zapytaj-studenta-akademii-localhost-czesc-2-grzesiek-js-backend-devops/\">Grzesiek &#8211; JS / Backend + Devops</a></li></ul>\n\n\n\n<p>Do następnego commita!</p>\n","featuredImage":{"altText":"","sizes":"(max-width: 300px) 100vw, 300px","sourceUrl":"https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/10/people-2557451_1920.jpg","srcSet":"https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/10/people-2557451_1920-300x200.jpg 300w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/10/people-2557451_1920-1024x683.jpg 1024w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/10/people-2557451_1920-768x512.jpg 768w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/10/people-2557451_1920-1536x1024.jpg 1536w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/10/people-2557451_1920-600x400.jpg 600w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/10/people-2557451_1920.jpg 1920w"},"categories":{"nodes":[{"slug":"akademia-programowania","id":"Y2F0ZWdvcnk6MQ==","name":"Akademia Programowania"}]},"tags":{"nodes":[{"slug":"akademia","name":"akademia","count":17},{"slug":"javascript","name":"javascript","count":11},{"slug":"nauka","name":"nauka","count":45},{"slug":"qa","name":"qa","count":6},{"slug":"react","name":"react","count":10}]},"comments":{"nodes":[]},"seo":{"title":"Zapytaj studenta Akademii Localhost - część 6 - Adam - React / Frontend - Gladiatorzy JavaScriptu","opengraphTitle":"Zapytaj studenta Akademii Localhost - część 6 - Adam - React / Frontend - Gladiatorzy JavaScriptu","metaKeywords":"","metaDesc":"Jakiś czas temu uznałem, że chciałbym dowiedzieć się co myślą studenci po kilku pierwszych miesiącach rozwoju w Akademii - dzisiaj Adam odpowie na pytania","metaRobotsNofollow":"","metaRobotsNoindex":"","opengraphDescription":"Jakiś czas temu uznałem, że chciałbym dowiedzieć się co myślą studenci po kilku pierwszych miesiącach rozwoju w Akademii - dzisiaj Adam odpowie na pytania","opengraphImage":{"sourceUrl":"https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/10/people-2557451_1920.jpg"}},"siteMetaData":{"description":"Gladiatorzy JavaScriptu","language":"pl_PL","title":"Gladiatorzy JavaScriptu","url":"http://gladiatorzy.api.localhost-group.com"}},{"id":"cG9zdDoxNjI2","slug":"zapytaj-studenta-akademii-localhost-czesc-5-adam-i-pawe","title":"Zapytaj studenta Akademii Localhost &#8211; część 5 &#8211; Adam i Paweł","date":"2021-02-01T20:52:01","databaseId":1626,"content":"\n<h3>Jakiś czas temu uznałem, że chciałbym dowiedzieć się co myślą studenci po kilku pierwszych miesiącach rozwoju w Akademii</h3>\n\n\n\n<p>Przygotowałem kilka pytań i poprosiłem studentów &#8222;w połowie swojej drogi&#8221; na rynek o udzielenie brutalnie szczerych odpowiedzi &#8211; co mogę poprawić w Akademii i czy są zadowoleni z nauki</p>\n\n\n\n<p>Dzisiaj odpowiedzą moi uczniowie, którzy jako jedni z pierwszych w Akademii uczą się w 2-osobowej grupie &#8211; Adam i Paweł, na pytania odpowiada Adam, choć odpowiedzi Pawła są bardzo podobne 🙂 </p>\n\n\n\n<h4>Do konkretów &#8211; QA czas zacząć:</h4>\n\n\n\n<p>Q &#8211; Dlaczego chcesz zostać programistą?</p>\n\n\n\n<h4>A &#8211; Ponieważ środowisko IT pokazało mi, że bycie programistą daje wiele możliwości, które później można wykorzystać np. przy zakładaniu własnego biznesu</h4>\n\n\n\n<p>Q &#8211; Jak długo się uczysz programować?</p>\n\n\n\n<h4>A &#8211; Tak na poważnie zacząłem naukę programowania na początku września 2020 roku. Wcześniej zdarzało mi się próbować, ale raczej było to luźne oglądanie tutoriali</h4>\n\n\n\n<p>Q &#8211; Ile czasu dziennie poświecasz na naukę?</p>\n\n\n\n<h4>A &#8211; Aktualnie z powodu pisania pracy dyplomowej poświęcam około 2 godzin dziennie, ale wcześniej potrafiłem spędzać na nauce nawet do 6 godzin </h4>\n\n\n\n<p>Q &#8211; Czego do tej pory się nauczyłeś w Akademii?</p>\n\n\n\n<h4>A &#8211; Przede wszystkim nauczyłem się tworzyć logikę biznesową, ponieważ Przemek kładzie na to bardzo duży nacisk. </h4>\n\n\n\n<h4>Zdobyłem również wiedzę na temat dobrych praktyk pisania kodu np. zasady SOLID, Clean Code oraz inne. Do tego znacznie poszerzyłem wiedzę z zakresu JavaScript o takie zagadnienia jak TypeScript, testy jednostkowe w Jest-cie, konfiguracja środowisk opartych o Node.js oraz jak korzystać z wzorców projektowych OOP</h4>\n\n\n\n<p>Q &#8211; Co było dla Ciebie najtrudniejsze w nauce programowania?</p>\n\n\n\n<h4>A &#8211; Zrozumienie, że nie przychodzi ona tak łatwo a wymaga dużo poświęconego czasu, zaparcia oraz cierpliwości</h4>\n\n\n\n<p>Q &#8211; Czy odpowiada Ci forma prowadzenia zajęć i wsparcia mentorskiego?</p>\n\n\n\n<h4>A &#8211; Jak najbardziej, pomimo lekko spartańskiego podejścia prowadzącego – nic nie jest podane na tacy, ale właśnie taka forma prowadzenia zajęć pozwoliła mi nauczyć się rozwiązywać samemu problemy</h4>\n\n\n\n<p>Q &#8211; Jak oceniasz swój rozwój w Akademii i czy rozwijasz się zadowalająco szybko?</p>\n\n\n\n<h4>A &#8211; Jest on zdecydowanie zadowalający, już po ukończeniu drugiego modułu OOP poczułem znaczną różnicę w aktualnym poziomie wiedzy a tym sprzed kursu. </h4>\n\n\n\n<h4>Jedynie brakuje mi sprawdzania wiedzy teoretycznej, co do której nie jestem do końca pewny</h4>\n\n\n\n<p>Q &#8211; Co chciałbyś poprawić/ulepszyć w Akademii ?</p>\n\n\n\n<h4>A &#8211; Tak jak napisałem wyżej brakuje trochę sprawdzania wiedzy teoretycznej. Można by rozwiązać ten problem poprzez wprowadzenie np. kilku przykładowych pytań rekrutacyjnych zadawanych cyklicznie na Slacku, na które odpowiadaliby uczniowie, a odpowiedzi byłyby weryfikowane przez mentora</h4>\n\n\n\n<p>Q &#8211; Czy uważasz, że płacisz dużo w stosunku do wsparcia, jakie otrzymujesz?</p>\n\n\n\n<h4>A &#8211; Moim zdaniem cena jest jak najbardziej adekwatna do usługi. Na konsultacje przeważnie można umówić się jeszcze w tym samym dniu, a ich ilość zależy tak naprawdę zależy od tego jak bardzo zaangażowany jesteś w kurs</h4>\n\n\n\n<p>Przeczytaj kolejne QA osób, które są w okolicy połowy swojej gotowości na rynek IT:</p>\n\n\n\n<ul><li><a href=\"https://gladiators-of-javascript.com/blog/zapytaj-studenta-akademii-localhost-czesc-1-maciek-js-backend-devops/\" data-type=\"URL\" data-id=\"https://gladiators-of-javascript.com/blog/zapytaj-studenta-akademii-localhost-czesc-1-maciek-js-backend-devops/\">Maciek &#8211; JS / Backend + Devops</a></li><li><a href=\"https://gladiators-of-javascript.com/blog/zapytaj-studenta-akademii-localhost-czesc-2-grzesiek-js-backend-devops/\" data-type=\"URL\" data-id=\"https://gladiators-of-javascript.com/blog/zapytaj-studenta-akademii-localhost-czesc-2-grzesiek-js-backend-devops/\">Grzesiek &#8211; JS / Backend + Devops</a></li></ul>\n\n\n\n<p>Do następnego commita!</p>\n","featuredImage":{"altText":null,"sizes":"(max-width: 300px) 100vw, 300px","sourceUrl":"https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/10/people-2557451_1920.jpg","srcSet":"https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/10/people-2557451_1920-300x200.jpg 300w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/10/people-2557451_1920-1024x683.jpg 1024w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/10/people-2557451_1920-768x512.jpg 768w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/10/people-2557451_1920-1536x1024.jpg 1536w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/10/people-2557451_1920-600x400.jpg 600w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/10/people-2557451_1920.jpg 1920w"},"categories":{"nodes":[{"slug":"akademia-programowania","id":"Y2F0ZWdvcnk6MQ==","name":"Akademia Programowania"}]},"tags":{"nodes":[{"slug":"akademia","name":"akademia","count":17},{"slug":"express","name":"express","count":2},{"slug":"javascript","name":"javascript","count":11},{"slug":"nauka","name":"nauka","count":45},{"slug":"node","name":"node","count":6},{"slug":"qa","name":"qa","count":6},{"slug":"react","name":"react","count":10}]},"comments":{"nodes":[]},"seo":{"title":"Zapytaj studenta Akademii Localhost - część 5 - Adam i Paweł - Gladiatorzy JavaScriptu","opengraphTitle":"Zapytaj studenta Akademii Localhost - część 5 - Adam i Paweł - Gladiatorzy JavaScriptu","metaKeywords":"","metaDesc":"Jakiś czas temu uznałem, że chciałbym dowiedzieć się co myślą studenci po kilku pierwszych miesiącach rozwoju w Akademii - dzisiaj Adam i Paweł odpowiedzą na pytania","metaRobotsNofollow":"","metaRobotsNoindex":"","opengraphDescription":"Jakiś czas temu uznałem, że chciałbym dowiedzieć się co myślą studenci po kilku pierwszych miesiącach rozwoju w Akademii - dzisiaj Adam i Paweł odpowiedzą na pytania","opengraphImage":{"sourceUrl":"https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/10/people-2557451_1920.jpg"}},"siteMetaData":{"description":"Gladiatorzy JavaScriptu","language":"pl_PL","title":"Gladiatorzy JavaScriptu","url":"http://gladiatorzy.api.localhost-group.com"}},{"id":"cG9zdDoxNDkz","slug":"zapytaj-studenta-akademii-localhost-czesc-4-jarek-react-frontend","title":"Zapytaj studenta Akademii Localhost &#8211; część 4 &#8211; Jarek &#8211; React / Frontend","date":"2020-12-20T16:45:06","databaseId":1493,"content":"\n<h3>Jakiś czas temu uznałem, że chciałbym dowiedzieć się co myślą studenci po kilku pierwszych miesiącach rozwoju w Akademii</h3>\n\n\n\n<p>Przygotowałem kilka pytań i poprosiłem studentów &#8222;w połowie swojej drogi&#8221; na rynek o udzielenie brutalnie szczerych odpowiedzi &#8211; co mogę poprawić w Akademii i czy są zadowoleni z nauki</p>\n\n\n\n<h4>Do konkretów &#8211; QA czas zacząć:</h4>\n\n\n\n<p>Q &#8211; Dlaczego chcesz zostać programistą?</p>\n\n\n\n<h4>A &#8211; Przez prawie 5 lat pracowałem jako inżynier technolog-konstruktor. Zawód inżyniera owiany jest wieloma legendami o dużych perspektywach rozwoju i zarobkach. Niestety nie jest to do końca prawdą w naszym kraju. Zastanawiałem się nad wyjazdem do Niemiec, ale ostatecznie poszedłem śladem kolegów ze studiów technicznych, którzy poszli w kierunku programowania i postanowiłem, że też spróbuję, póki jeszcze jestem młody i mogę sobie na to pozwolić.</h4>\n\n\n\n<h4>Nie ukrywam, że na początku najbardziej motywujące były dla mnie ciągle rosnące perspektywy rozwoju, warunki pracy oraz zarobki. Dodatkowo zawsze lubiłem rozwiązywać problemy natury matematyczno-logicznej, ale przez to jak przedstawiono mi programowanie na studiach przez długi okres byłem do tego nastawiony bardzo negatywnie i w ogóle o tym nie myślałem. Obecnie programowanie sprawia mi dużo przyjemności, uczy logicznego myślenia i pozwala patrzeć na problemy różnych branż z innej perspektywy.</h4>\n\n\n\n<p>Q &#8211; Jak długo się uczysz programować?</p>\n\n\n\n<h4>A &#8211; Zacząłem uczyć się programowania na przełomie października oraz listopada zeszłego roku. Przez pół roku uczyłem się sam, korzystając z dostępnych materiałów, kursów oraz dokumentacji. </h4>\n\n\n\n<h4>Po około 7 miesiącach udało mi się dostać pierwszą pracę w IT. Obecnie pracuję od 6 miesięcy, a z Przemkiem podnoszę swoje umiejętności 4 miesiąc, bo obecna praca nie zapewnia mi takiego rozwoju zjakiego byłbym zadowolony.</h4>\n\n\n\n<p>Q &#8211; Ile czasu dziennie poświecasz na naukę?</p>\n\n\n\n<h4>A &#8211; Nauka programowania wymaga mnóstwo czasu. Jeszcze gdy pracowałem jako inżynier to uczyłem się po 2-3h dziennie, lecz czułem, że w takim tempie to nigdy nic z tego nie wyjdzie. </h4>\n\n\n\n<h4>„Wóz albo przewóz” – rzuciłem pracę i przez ponad 2,5 miesiąca cisnąłem ile się dało. Obecnie cały czas uczę się pracując, a dodatkowostaram się poświęcić przynajmniej 2-3 godziny dziennie na zadania z akademii. Zdecydowanie nie jest to zawód dla ludzi, którzy nie lubią uczyć się nowych rzeczy – zwłaszcza w dzisiejszym świecie, gdzie rozwój technologii jest bardzo szybki.</h4>\n\n\n\n<p>Q &#8211; Czego do tej pory się nauczyłeś w Akademii?</p>\n\n\n\n<h4>A &#8211; Innego, lepszego podejścia do postawionych mi problemów, które pozwala na skrócony, ale też bardziej czytelny zapis rozwiązań w postaci kodu. </h4>\n\n\n\n<h4>Poznałem lepiej JS, zacząłem pisać w TS, nauczyłem się testów jednostkowych. Teraz zaczynam poznawać dogłębnie Reacta w połączeniu z TS i testowaniem komponentów. Dodatkowo uświadomiłem sobie ile jeszcze nie umiem, co motywuje mnie do dalszej nauki.</h4>\n\n\n\n<p>Q &#8211; Co było dla Ciebie najtrudniejsze w nauce programowania?</p>\n\n\n\n<h4>A &#8211; Ilość technologii oraz bibliotek i zbyt duża ilość dostępnych materiałów do nauki –powodowało to przytłoczenie oraz problem z podjęciem decyzji na co warto poświęcić swój czas. </h4>\n\n\n\n<h4>Warto nauczyć się dobrze podstaw jednej technologii, a następnie dokładać do niej małe cegiełki, a nie uczyć się wszystkiego po trochu. Praca z dokumentacją, która jest trudna w rozszyfrowaniu nawet dla kogoś doświadczonego w branży również nie należy do najprzyjemniejszych. Dodatkowo konfigurowanie środowiska pracy jest zawsze dużą bolączką. </h4>\n\n\n\n<h4>Kolejna rzecz to feedback, kilkukrotnie krytykujący kolejne rozwiązania tego samego zadania. Nauka programowania to wzloty i upadki, z tym, że na jeden wzlot zaliczamy 10 upadków, co na początku jest trudne do przełknięcia i wyzwala w nas wiele negatywnych emocji.</h4>\n\n\n\n<p>Q &#8211; Czy odpowiada Ci forma prowadzenia zajęć i wsparcia mentorskiego?</p>\n\n\n\n<h4>A &#8211; Wielkim plusem jest duża elastyczność, łatwość w umawianiu zajęć oraz prostota w komunikacji &#8211; Przemek jest dostępny praktycznie codziennie od 12 do 22. Możliwość live code review oraz sposób tłumaczenia Przemka jest chyba najlepszą formą prowadzenia zajęć, która pozwala na najszybsze przyswajanie praktycznej wiedzy programowania.</h4>\n\n\n\n<p>Q &#8211; Jak oceniasz swój rozwój w Akademii i czy rozwijasz się zadowalająco szybko?</p>\n\n\n\n<h4>A &#8211; Uważam, że rozwijam się dużo szybciej niż jak uczyłem się sam. Wszystkie zadania są naprawdę wymagające i mają na celu nauczyć nas czegoś nowego. Rozwiązywanie napotkanych problemów w zadaniach pozwala mi łączyć zdobytąwiedzę w całość – elementy układanki zaczynają do siebie pasować.</h4>\n\n\n\n<p>Q &#8211; Co chciałbyś poprawić/ulepszyć w Akademii ?</p>\n\n\n\n<h4>A &#8211; Obecny system umawiania zajęć oraz samego mentoringu jest super, ciężko powiedzieć co można w tej chwili jeszcze ulepszyć. Ciekawym urozmaiceniem, mógłby być może swego rodzaju coding challenge dla uczniów, który poległby na rozwiązaniu danego problemu. </h4>\n\n\n\n<h4>Chętni uczniowie, mniej więcej na tym samym poziomie mieli by raz na jakiś czas do rozwiązania zadanie, którego rozwiązanie byłoby dostępne publicznie w akademii. Pozwoliłoby to zobaczyć różne podejścia uczestników akademii do tego samego problemu. Najlepsze rozwiązanie mogłobybyć jakoś nagradzane.</h4>\n\n\n\n<p>Q &#8211; Czy uważasz, że płacisz dużo w stosunku do wsparcia, jakie otrzymujesz?</p>\n\n\n\n<h4>A &#8211; To zależy od ilości czasu jaki możesz poświęcić stricte na naukę w akademii oraz ‘stażu’. Dla osoby początkującej, która ma więcej czasu na naukę, a tym samym więcej pytań, problemów, zadań do sprawdzenia i wymaga większej uwagi i poświęcenia cena jest jak najbardziej adekwatna do otrzymywanego wsparcia.</h4>\n\n\n\n<h4>Natomiast dla osób bardziej zaawansowanych, cena mogłaby być trochę niższa, ponieważ zadania są już bardziej złożone – wymagają więcej czasu, uczniowie już wiedzą, że najpierw muszą starać się szukać rozwiązań sami, a w ostateczności szukać pomocy u Przemka przez co nie są już tak absorbujący. Generalnie jest to kwestia mocno indywidualna, bo każdy dysponuje inną ilością czasu wolnego, a tym samym generuje odpowiednio więcej lub mniej problemów, które wymagają pomocy ze strony Przemka.</h4>\n\n\n\n<h4>Podsumowując, uważam, że te pieniądze są zdecydowanie warte zainwestowania w siebie i akademia pozwala na dużo bardziej efektywny rozwój niż nauka samemu. Rozpoczęcie nauki pod skrzydłami Przemka było najlepszym z możliwych rozwiązań – takiej wiedzy na udemy czy youtubie nie znajdziecie.</h4>\n\n\n\n<p>Przeczytaj kolejne QA osób, które są w okolicy połowy swojej gotowości na rynek IT:</p>\n\n\n\n<ul><li><a href=\"https://gladiators-of-javascript.com/blog/zapytaj-studenta-akademii-localhost-czesc-1-maciek-js-backend-devops/\" data-type=\"URL\" data-id=\"https://gladiators-of-javascript.com/blog/zapytaj-studenta-akademii-localhost-czesc-1-maciek-js-backend-devops/\">Maciek &#8211; JS / Backend + Devops</a></li><li><a href=\"https://gladiators-of-javascript.com/blog/zapytaj-studenta-akademii-localhost-czesc-2-grzesiek-js-backend-devops/\" data-type=\"URL\" data-id=\"https://gladiators-of-javascript.com/blog/zapytaj-studenta-akademii-localhost-czesc-2-grzesiek-js-backend-devops/\">Grzesiek &#8211; JS / Backend + Devops</a></li></ul>\n\n\n\n<p>Do następnego commita!</p>\n","featuredImage":{"altText":null,"sizes":"(max-width: 300px) 100vw, 300px","sourceUrl":"https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/10/people-2557451_1920.jpg","srcSet":"https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/10/people-2557451_1920-300x200.jpg 300w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/10/people-2557451_1920-1024x683.jpg 1024w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/10/people-2557451_1920-768x512.jpg 768w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/10/people-2557451_1920-1536x1024.jpg 1536w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/10/people-2557451_1920-600x400.jpg 600w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/10/people-2557451_1920.jpg 1920w"},"categories":{"nodes":[{"slug":"akademia-programowania","id":"Y2F0ZWdvcnk6MQ==","name":"Akademia Programowania"}]},"tags":{"nodes":[{"slug":"akademia","name":"akademia","count":17},{"slug":"javascript","name":"javascript","count":11},{"slug":"nauka","name":"nauka","count":45},{"slug":"qa","name":"qa","count":6},{"slug":"react","name":"react","count":10}]},"comments":{"nodes":[]},"seo":{"title":"Zapytaj studenta Akademii Localhost - część 4 - Jarek - React / Frontend - Gladiatorzy JavaScriptu","opengraphTitle":"Zapytaj studenta Akademii Localhost - część 4 - Jarek - React / Frontend - Gladiatorzy JavaScriptu","metaKeywords":"","metaDesc":"Jakiś czas temu uznałem, że chciałbym dowiedzieć się co myślą studenci po kilku pierwszych miesiącach rozwoju w Akademii - dzisiaj Jarek odpowie na pytania","metaRobotsNofollow":"","metaRobotsNoindex":"","opengraphDescription":"Jakiś czas temu uznałem, że chciałbym dowiedzieć się co myślą studenci po kilku pierwszych miesiącach rozwoju w Akademii - dzisiaj Jarek odpowie na pytania","opengraphImage":{"sourceUrl":"https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/10/people-2557451_1920.jpg"}},"siteMetaData":{"description":"Gladiatorzy JavaScriptu","language":"pl_PL","title":"Gladiatorzy JavaScriptu","url":"http://gladiatorzy.api.localhost-group.com"}},{"id":"cG9zdDoxMjU0","slug":"jak-pisac-lepszy-kod-clean-code-w-js-i-w-ts","title":"Jak pisać lepszy kod &#8211; Clean Code w JS i w TS","date":"2020-10-24T13:22:49","databaseId":1254,"content":"\n<h3>Dzisiaj krótko, ale mięsiście &#8211; 2 ważne linki do przykładów implementacji założeń Clean Code w JS i w TS oraz kilka rad ode mnie</h3>\n\n\n\n<h4>!!! Uwaga, za dużo wiedzy, nie do przyswojenia na raz !!!</h4>\n\n\n\n<p>Kiedyś już pisałem o Clean Code w kontekście playlisty z wykładami &#8211; <a href=\"https://gladiators-of-javascript.com/blog/9h-wykladow-clean-code-uncle-bob/\">Tutaj</a> -można obejrzeć sobie 9h wykładów Uncle Boba na temat pisania lepszego kodu. Proponuję oglądać tą playlistę średnio raz na 4 msc swojego rozwoju w kierunku bycia lepszym specjalistą IT</p>\n\n\n\n<h4>A dodatkowo zapoznaj się z tymi repozytoriami</h4>\n\n\n\n<p>Jedno jest z JS, drugie z TS &#8211; oba cenne i zawierają masę wiedzy, której stosowanie uczyni Cię lepszym programistą:</p>\n\n\n\n<p><a href=\"https://github.com/ryanmcdermott/clean-code-javascript\">https://github.com/ryanmcdermott/clean-code-javascript</a></p>\n\n\n\n<p><a href=\"https://github.com/labs42io/clean-code-typescript\">https://github.com/labs42io/clean-code-typescript</a></p>\n\n\n\n<p>A w środku:</p>\n\n\n\n<ul><li>jak lepiej opisywać nazwy zmiennych i funkcji</li><li>jak pisać lepsze i poprawne klasy</li><li>zasady solid na przykładach</li><li>jak tworzyć bardziej spójny logicznie kod</li><li>jak pisać logikę, którą chce się czytać</li><li>jak lepiej pisać testy i ich logikę</li></ul>\n\n\n\n<p>Do nich też polecam wracać raz na jakiś czas, aby przy każdej wizycie przyswajać kawałek wiedzy tam pozostawionej</p>\n\n\n\n<h3>Dodatkowo masz też kilka zdań ode mnie, które regularnie potwarzam studentom w swojej Akademii:</h3>\n\n\n\n<ul><li><em>pilnuj, aby errory były zawsze na górze kodu</em></li><li><em>każda dobra nazwa funkcji powinna zawierać czasownik</em></li><li><em>niech nazwy zmiennych opisują swój cel, a nie typ</em></li><li><em>jeśli używasz async/await to używaj też try/catch</em></li><li><em>pisz płaską logikę, im mniej zagnieżdżonych ifów tym lepiej</em></li><li><em>nie pisz kodu tak, aby działał &#8211; pisz go tak, aby się nie zepsuł</em></li><li><em>nie strzelaj z czołgu do wróbli &#8211; wybierz najprostrze rozwiązanie</em></li><li><em>jeśli wyrzucasz errory, łap je w try/catch najlepiej poziom wyżej</em></li><li><em>treść opisu testu powinna sugerować, jeśli coś się schrzani to co dokładnie się schrzaniło</em></li></ul>\n\n\n\n<p>Mam nadzieję, że wiedza, którą tu umieszczam pozwoli Ci każdego dnia stawać się lepszym programistą!</p>\n\n\n\n<p>Do następnego commita!</p>\n","featuredImage":{"altText":"","sizes":"(max-width: 300px) 100vw, 300px","sourceUrl":"https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/10/books-1655783_1920.jpg","srcSet":"https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/10/books-1655783_1920-300x200.jpg 300w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/10/books-1655783_1920-1024x683.jpg 1024w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/10/books-1655783_1920-768x512.jpg 768w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/10/books-1655783_1920-1536x1025.jpg 1536w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/10/books-1655783_1920-600x400.jpg 600w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/10/books-1655783_1920.jpg 1920w"},"categories":{"nodes":[{"slug":"materialy-do-nauki","id":"Y2F0ZWdvcnk6NjM=","name":"Materiały do nauki"}]},"tags":{"nodes":[{"slug":"clean-code","name":"clean code","count":1},{"slug":"javascript","name":"javascript","count":11},{"slug":"nauka","name":"nauka","count":45},{"slug":"solid","name":"solid","count":2},{"slug":"typescript","name":"typescript","count":11}]},"comments":{"nodes":[]},"seo":{"title":"Jak pisać lepszy kod - Clean Code w JS i w TS - Gladiatorzy JavaScriptu","opengraphTitle":"Jak pisać lepszy kod - Clean Code w JS i w TS - Gladiatorzy JavaScriptu","metaKeywords":"","metaDesc":"Dzisiaj krótko, ale mięsiście - 2 ważne linki do przykładów implementacji założeń Clean Code w JS i w TS oraz kilka rad ode mnie","metaRobotsNofollow":"","metaRobotsNoindex":"","opengraphDescription":"Dzisiaj krótko, ale mięsiście - 2 ważne linki do przykładów implementacji założeń Clean Code w JS i w TS oraz kilka rad ode mnie","opengraphImage":{"sourceUrl":"https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/10/books-1655783_1920.jpg"}},"siteMetaData":{"description":"Gladiatorzy JavaScriptu","language":"pl_PL","title":"Gladiatorzy JavaScriptu","url":"http://gladiatorzy.api.localhost-group.com"}},{"id":"cG9zdDoxMDQ4","slug":"zapytaj-studenta-akademii-localhost-czesc-2-grzesiek-js-backend-devops","title":"Zapytaj studenta Akademii Localhost &#8211; część 2 &#8211; Grzesiek &#8211; JS / Backend + Devops","date":"2020-10-11T14:45:08","databaseId":1048,"content":"\n<h3>Jakiś czas temu uznałem, że chciałbym dowiedzieć się co myślą studenci po kilku pierwszych miesiącach rozwoju w Akademii</h3>\n\n\n\n<p>Przygotowałem kilka pytań i poprosiłem studentów &#8222;w połowie swojej drogi&#8221; na rynek o udzielenie brutalnie szczerych odpowiedzi &#8211; co mogę poprawić w Akademii i czy są zadowoleni z nauki</p>\n\n\n\n<h4>Do konkretów &#8211; QA czas zacząć:</h4>\n\n\n\n<p>Q &#8211; Dlaczego chcesz zostać programistą?</p>\n\n\n\n<h4>A &#8211; Jestem typem introwertyka, więc marzeniem jest praca zdalna &#8211; najłatwiej to osiągnąć w branży IT</h4>\n\n\n\n<p>Q &#8211; Jak długo się uczysz programować?</p>\n\n\n\n<h4>A &#8211; Programowanie zacząłem dwa miesiące przed rozpoczęciem studiów, był to sierpień 2019.</h4>\n\n\n\n<p>Q &#8211; Ile czasu dziennie poświecasz na naukę?</p>\n\n\n\n<h4>A &#8211; Przed zaczęciem nauki w akademii były to luźne doskoki, odkiedy mam rozpiskę zadań które powinny być wykonane staram się wyrobić nawyk<br>programowania minimalnie 2 godzin dziennie, aczkolwiek często zdarza się że robię 3 dniowy maraton 6/7 godzinny po którym następuje dwu/trzy-dniowa przerwa</h4>\n\n\n\n<p>Q &#8211; Czego do tej pory się nauczyłeś w Akademii?</p>\n\n\n\n<h4>A &#8211; Na samym początku było wprowadzenie do programowania funkcyjnego, gdzie poznałem podstawy języka JS (funkcje natywne, pracę z tablicami). Następnie<br>była przeprawa z OOP, gdzie Przemek kładzie duży nacisk na zachowywanie zasad SOLID. </h4>\n\n\n\n<h4>W międzyczasie nastąpił przeskok z czystego JS , na TypeScripta. </h4>\n\n\n\n<h4>Kolejnym krokiem były testy jednostkowe w Jest-cie, które po napisaniu ich dla wszystkich dotychczas napisanych funkcji/obiektów, pokazały że samo sprawdzenie consol-logiem nie jest jednoznaczne z tym czy funkcja działa. </h4>\n\n\n\n<h4>Aktualnie jestem na ostatnim z czterch podstawowych modułów &#8211; skupia się on na przyswajaniu pracy<br>z zewnętrznymi API oraz asynchronicznych aspektach Node.js</h4>\n\n\n\n<p>Q &#8211; Co było dla Ciebie najtrudniejsze w nauce programowania?</p>\n\n\n\n<h4>A &#8211; Niewątpliwie pisanie czytelnego kodu, jak i przyswajanie dużej ilości wiedzy w szybkim tempie, jakie sobie narzuciłem</h4>\n\n\n\n<p>Q &#8211; Czy odpowiada Ci forma prowadzenia zajęć i wsparcia mentorskiego?</p>\n\n\n\n<h4>A &#8211; Tak. Ogromnym plusem zajęć jest to że mogę je zaplanować dosłownie z marszu &#8211; ramy czasowe w postaci 13.00-23.00 od poniedziałku do soboty są po prostu świetną sprawą.</h4>\n\n\n\n<h4>Wsparcie mentorskie Przemka można określić jako bardzo dobre &#8211; pod warunkiem że nie lubisz gdy ktoś po prostu daje ci odpowiedzi. On wymaga dużej ilości myślenia i sampozaparcia</h4>\n\n\n\n<p>Q &#8211; Jak oceniasz swój rozwój w Akademii i czy rozwijasz się zadowalająco szybko?</p>\n\n\n\n<h4>A &#8211; Zdecydowanie. Swój ogromny postęp zauważyłem już w 3 miesiącu nauki i każdego dnia widzę, że jestem krok dalej. Nauka w Akademii to był strzał w dziesiątkę</h4>\n\n\n\n<p>Q &#8211; Co chciałbyś poprawić/ulepszyć w Akademii ?</p>\n\n\n\n<h4>A &#8211; Chyba nic &#8211; nie jestem typem innowatora,a aktualne porządki są dla mnie idealne</h4>\n\n\n\n<p>Q &#8211; Czy uważasz, że płacisz dużo w stosunku do wsparcia, jakie otrzymujesz?</p>\n\n\n\n<h4>A &#8211; Nie, ponieważ wsparcie Przemka to nie dość że 2-4/h tygodniowo samych code-review, to także wymagające zadania do których dostęp sam w sobie jest cenny. Wisieńką na torcie jest możliwość szybkiej konsultacji zadania do 7h od prośbę o to</h4>\n\n\n\n<p>Przeczytaj kolejne QA osób, które są w okolicy połowy swojej gotowości na rynek IT:</p>\n\n\n\n<ul><li><a href=\"https://gladiators-of-javascript.com/blog/zapytaj-studenta-akademii-localhost-czesc-1-maciek-js-backend-devops/\" data-type=\"URL\" data-id=\"https://gladiators-of-javascript.com/blog/zapytaj-studenta-akademii-localhost-czesc-1-maciek-js-backend-devops/\">Maciek &#8211; JS / Backend + Devops</a></li><li><a href=\"https://gladiators-of-javascript.com/blog/zapytaj-studenta-akademii-localhost-czesc-3-karol-python-backend-devops/\">Karol &#8211; Python / Backend + Devops</a></li></ul>\n\n\n\n<p>Do następnego commita!</p>\n","featuredImage":{"altText":null,"sizes":"(max-width: 300px) 100vw, 300px","sourceUrl":"https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/10/people-2557451_1920.jpg","srcSet":"https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/10/people-2557451_1920-300x200.jpg 300w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/10/people-2557451_1920-1024x683.jpg 1024w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/10/people-2557451_1920-768x512.jpg 768w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/10/people-2557451_1920-1536x1024.jpg 1536w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/10/people-2557451_1920-600x400.jpg 600w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/10/people-2557451_1920.jpg 1920w"},"categories":{"nodes":[{"slug":"akademia-programowania","id":"Y2F0ZWdvcnk6MQ==","name":"Akademia Programowania"}]},"tags":{"nodes":[{"slug":"akademia","name":"akademia","count":17},{"slug":"javascript","name":"javascript","count":11},{"slug":"nauka","name":"nauka","count":45},{"slug":"node","name":"node","count":6},{"slug":"qa","name":"qa","count":6}]},"comments":{"nodes":[]},"seo":{"title":"Zapytaj studenta Akademii Localhost - część 2 - Grzesiek - JS / Backend + Devops - Gladiatorzy JavaScriptu","opengraphTitle":"Zapytaj studenta Akademii Localhost - część 2 - Grzesiek - JS / Backend + Devops - Gladiatorzy JavaScriptu","metaKeywords":"","metaDesc":"Jakiś czas temu uznałem, że chciałbym dowiedzieć się co myślą studenci po kilku pierwszych miesiącach rozwoju w Akademii - dzisiaj Grzesiek odpowie na pytania","metaRobotsNofollow":"","metaRobotsNoindex":"","opengraphDescription":"Jakiś czas temu uznałem, że chciałbym dowiedzieć się co myślą studenci po kilku pierwszych miesiącach rozwoju w Akademii - dzisiaj Grzesiek odpowie na pytania","opengraphImage":{"sourceUrl":"https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/10/people-2557451_1920.jpg"}},"siteMetaData":{"description":"Gladiatorzy JavaScriptu","language":"pl_PL","title":"Gladiatorzy JavaScriptu","url":"http://gladiatorzy.api.localhost-group.com"}},{"id":"cG9zdDoxMDQy","slug":"zapytaj-studenta-akademii-localhost-czesc-1-maciek-js-backend-devops","title":"Zapytaj studenta Akademii Localhost &#8211; część 1 &#8211; Maciek &#8211; JS / Backend + Devops","date":"2020-10-11T14:40:15","databaseId":1042,"content":"\n<h3>Jakiś czas temu uznałem, że chciałbym dowiedzieć się co myślą studenci po kilku pierwszych miesiącach rozwoju w Akademii</h3>\n\n\n\n<p>Przygotowałem kilka pytań i poprosiłem studentów &#8222;w połowie swojej drogi&#8221; na rynek o udzielenie brutalnie szczerych odpowiedzi &#8211; co mogę poprawić w Akademii i czy są zadowoleni z nauki</p>\n\n\n\n<h4>Do konkretów &#8211; QA czas zacząć:</h4>\n\n\n\n<p>Q &#8211; Dlaczego chcesz zostać programistą?</p>\n\n\n\n<h4>A &#8211; Od czasu jak w domu pojawił się pierwszy komputer wiedziałem, że kiedyś chce mieć pracę związaną z komputerem. Najpierw były plany zostać jakimś GameDevem, potem Game Testerem, ale zdecydowałem na specjalizowaniu się w JS-sie</h4>\n\n\n\n<p>Q &#8211; Jak długo się uczysz programować?</p>\n\n\n\n<h4>A &#8211; Zajawka zaczeła się poważnie jakoś w połowie 2018 roku, gdzie poświecałem multum czasu by zrozumieć programowanie. Na początku obrałem drogę frontend-owca, aczkolwiek poczułem miętę do node i generalnie backend-u i z tym wiąże przyszłość</h4>\n\n\n\n<p>Q &#8211; Ile czasu dziennie poświecasz na naukę?</p>\n\n\n\n<h4>A &#8211; Różnie. Nie mam jasno postawionej ilości czasu na naukę. Jednego dnia jest to godzina, a następnego wpadam w wir i mija 6. Ilość jest zależna od problemu z jakim przyjdzie mi się zmierzyć, bądź z zagadnieniem</h4>\n\n\n\n<p>Q &#8211; Czego do tej pory się nauczyłeś w Akademii?</p>\n\n\n\n<h4>A &#8211; Na pewno pokory i szacunku do nauki. Nauczyłem się inteligetnie podchodzić do problemów oraz inteligetnie je rozwiązywać, a nie liczyć, że ze wszystkim pomogą mi grupy rzucając gotowe rozwiąznaie</h4>\n\n\n\n<p>Q &#8211; Co było dla Ciebie najtrudniejsze w nauce programowania?</p>\n\n\n\n<h4>A &#8211; Myślę, że przyjmowanie odmiennego feedbacku niż ten na który liczyłem</h4>\n\n\n\n<p>Q &#8211; Czy odpowiada Ci forma prowadzenia zajęć i wsparcia mentorskiego?</p>\n\n\n\n<h4>A &#8211; Jak najbardziej. Dobrze się czuję z tym, że mój mentor jest wymagający i nie daje spocząć na laurach. Dzięki temu każdego dnia wiem, że jestem bliżej celu niż dnia poprzedniego</h4>\n\n\n\n<p>Q &#8211; Jak oceniasz swój rozwój w Akademii i czy rozwijasz się zadowalająco szybko?</p>\n\n\n\n<h4>A &#8211; Zdecydowanie. Swój ogromny postęp zauważyłem już w 3 miesiącu nauki i każdego dnia widzę, że jestem krok dalej. Nauka w Akademii to był strzał w dziesiątkę</h4>\n\n\n\n<p>Q &#8211; Co chciałbyś poprawić/ulepszyć w Akademii ?</p>\n\n\n\n<h4>A &#8211; Na ten moment ciężko mi powiedzieć, gdyż wszystko mi odpowiada i nie widzę żadnych negatywnych stron, a doskonale wiem, że Przemek z biegiem czasu jeszcze bardziej rozwinie Akademie</h4>\n\n\n\n<p>Q &#8211; Czy uważasz, że płacisz dużo w stosunku do wsparcia, jakie otrzymujesz?</p>\n\n\n\n<h4>A &#8211; Uważam, że płacę odpowiednie pieniądzę za wiedzę którą otrzymuje. A ponadto Przemek nagradza swoich uczniów, którzy chętnie się rozwijają rabatami na czesne. Przez co świetnie motywuje do jeszcze zacieklejszej nauki</h4>\n\n\n\n<p>Przeczytaj kolejne QA osób, które są w okolicy połowy swojej gotowości na rynek IT:</p>\n\n\n\n<ul><li><a href=\"https://gladiators-of-javascript.com/blog/zapytaj-studenta-akademii-localhost-czesc-2-grzesiek-js-backend-devops/\" data-type=\"URL\" data-id=\"https://gladiators-of-javascript.com/blog/zapytaj-studenta-akademii-localhost-czesc-2-grzesiek-js-backend-devops/\">Grzesiek &#8211; JS / Backend + Devops</a></li><li><a href=\"https://gladiators-of-javascript.com/blog/zapytaj-studenta-akademii-localhost-czesc-3-karol-python-backend-devops/\" data-type=\"URL\" data-id=\"https://gladiators-of-javascript.com/blog/zapytaj-studenta-akademii-localhost-czesc-3-karol-python-backend-devops/\">Karol &#8211; Python / Backend + Devops</a></li></ul>\n\n\n\n<p>Do następnego commita!</p>\n","featuredImage":{"altText":null,"sizes":"(max-width: 300px) 100vw, 300px","sourceUrl":"https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/10/people-2557451_1920.jpg","srcSet":"https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/10/people-2557451_1920-300x200.jpg 300w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/10/people-2557451_1920-1024x683.jpg 1024w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/10/people-2557451_1920-768x512.jpg 768w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/10/people-2557451_1920-1536x1024.jpg 1536w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/10/people-2557451_1920-600x400.jpg 600w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/10/people-2557451_1920.jpg 1920w"},"categories":{"nodes":[{"slug":"akademia-programowania","id":"Y2F0ZWdvcnk6MQ==","name":"Akademia Programowania"}]},"tags":{"nodes":[{"slug":"akademia","name":"akademia","count":17},{"slug":"javascript","name":"javascript","count":11},{"slug":"nauka","name":"nauka","count":45},{"slug":"node","name":"node","count":6},{"slug":"qa","name":"qa","count":6}]},"comments":{"nodes":[]},"seo":{"title":"Zapytaj studenta Akademii Localhost - część 1 - Maciek - JS / Backend + Devops - Gladiatorzy JavaScriptu","opengraphTitle":"Zapytaj studenta Akademii Localhost - część 1 - Maciek - JS / Backend + Devops - Gladiatorzy JavaScriptu","metaKeywords":"","metaDesc":"Jakiś czas temu uznałem, że chciałbym dowiedzieć się co myślą studenci po kilku pierwszych miesiącach rozwoju w Akademii - dzisiaj Maciek odpowie na pytania","metaRobotsNofollow":"","metaRobotsNoindex":"","opengraphDescription":"Jakiś czas temu uznałem, że chciałbym dowiedzieć się co myślą studenci po kilku pierwszych miesiącach rozwoju w Akademii - dzisiaj Maciek odpowie na pytania","opengraphImage":{"sourceUrl":"https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/10/people-2557451_1920.jpg"}},"siteMetaData":{"description":"Gladiatorzy JavaScriptu","language":"pl_PL","title":"Gladiatorzy JavaScriptu","url":"http://gladiatorzy.api.localhost-group.com"}},{"id":"cG9zdDo3OTc=","slug":"async-await-nie-takie-fajne-jak-myslisz-prostota-syntaxu-kosztem-uzytkownika","title":"Async / await &#8211; nie takie fajne jak myślisz &#8211; prostota syntaxu kosztem użytkownika","date":"2020-09-28T18:07:45","databaseId":797,"content":"\n<h3>Dzisiaj chciałbym poruszyć pewien temat, który pewnie nie jest wszystkim znany, a jeśli już jest znany to nie znają go na tyle, aby uświadomić sobie, że ma często więcej wad niż zalet </h3>\n\n\n\n<p>Będę dzisiaj kodzić w promisach i w async / await i liczyć czas wykonywania się wielu promisów. Także zaczynamy!</p>\n\n\n\n<p>Tym postem chciałbym pokazać, że pisanie kodu z async / await nie jest optymalne w przypadku więcej niż jednej promisy i stosowanie async / await w przypadku realnych przypadków może spowolnić Twój kod N-razy (N to liczba promis w funkcji)</p>\n\n\n\n<p>Cały przykład ma pokazać analogiczną sytuację, w której np na początku działania apki, robimy 3 zapytania do api np po posty, produkty i komentarze i chcemy zaprezentować aplikację.<strong> Symulacja zapytania rozpatruje tylko pozytywny przypadek (status 200 w response)</strong></p>\n\n\n\n<p>Zacznijmy od napisania sobie prostego poletka testowego w kilkoma promisami:</p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"826\" height=\"188\" src=\"https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/09/image-10.png\" alt=\"\" class=\"wp-image-801\" srcset=\"https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/09/image-10.png 826w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/09/image-10-300x68.png 300w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/09/image-10-768x175.png 768w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/09/image-10-600x137.png 600w\" sizes=\"(max-width: 826px) 100vw, 826px\" /></figure>\n\n\n\n<p>Tworzę sobie funkcję generującą promisę, która trwa 1 sekundę i przepycham definicję tej funkcji do arraya testowego, aby wywołać to nie od razu tylko w miejscu, w którym chcę to wywołać &#8211; czyli na inicjalizacji naszej zmyślonej &#8222;apki&#8221;</p>\n\n\n\n<h3>Jako benchmark weźmiemy sobie Promise.all:</h3>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"595\" height=\"279\" src=\"https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/09/image-8.png\" alt=\"\" class=\"wp-image-799\" srcset=\"https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/09/image-8.png 595w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/09/image-8-300x141.png 300w\" sizes=\"(max-width: 595px) 100vw, 595px\" /><figcaption>ostatni element arraya result to czas wykonania w milisekundach</figcaption></figure>\n\n\n\n<p>Czas wykonania Promise.all to niewiele ponad 1 sekundę</p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"421\" height=\"71\" src=\"https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/09/image-9.png\" alt=\"\" class=\"wp-image-800\" srcset=\"https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/09/image-9.png 421w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/09/image-9-300x51.png 300w\" sizes=\"(max-width: 421px) 100vw, 421px\" /></figure>\n\n\n\n<p>Czyli wszystkie 3 promisy zostały wystartowane jednocześnie i skończyły się prawie jednocześnie &#8211; jest to najlepszy, możliwy scenariusz</p>\n\n\n\n<h3>Teraz zbudujemy Promise.all od zera w oparciu o podstawową wiedzę o promisach:</h3>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"583\" height=\"420\" src=\"https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/09/image-13.png\" alt=\"\" class=\"wp-image-802\" srcset=\"https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/09/image-13.png 583w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/09/image-13-300x216.png 300w\" sizes=\"(max-width: 583px) 100vw, 583px\" /><figcaption>ostatni element arraya result to czas wykonania w milisekundach</figcaption></figure>\n\n\n\n<p>Czas wykonywania naszej metody Promise.all opartej o wiedzę z promisów to również niewiele ponad sekundę (1ms mniej niż Promise.all to błąd pomiaru):</p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"377\" height=\"66\" src=\"https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/09/image-14.png\" alt=\"\" class=\"wp-image-803\" srcset=\"https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/09/image-14.png 377w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/09/image-14-300x53.png 300w\" sizes=\"(max-width: 377px) 100vw, 377px\" /></figure>\n\n\n\n<p>Czyli znów wszystkie 3 promisy zostały wystartowane jednocześnie i skończyły się prawie jednocześnie &#8211; jest to kolejny najlepszy, możliwy scenariusz &#8211; <strong>jednak dla uproszczenia polecam stosować Promise.all</strong></p>\n\n\n\n<h3>A teraz &#8222;król parkietu&#8221; &#8211; async / await</h3>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"527\" height=\"381\" src=\"https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/09/image-15.png\" alt=\"\" class=\"wp-image-806\" srcset=\"https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/09/image-15.png 527w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/09/image-15-300x217.png 300w\" sizes=\"(max-width: 527px) 100vw, 527px\" /><figcaption>ostatni element arraya result to czas wykonania w milisekundach</figcaption></figure>\n\n\n\n<p>Czas wykonywania naszej metody Promise.all opartej o async / await to aż 3 sekundy!! <strong>czyli 3 razy dłużej</strong>. W przypadku 4 zapytań do api będzie to 4x dłużej</p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"422\" height=\"47\" src=\"https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/09/image-16.png\" alt=\"\" class=\"wp-image-807\" srcset=\"https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/09/image-16.png 422w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/09/image-16-300x33.png 300w\" sizes=\"(max-width: 422px) 100vw, 422px\" /></figure>\n\n\n\n<p>Czyli przez Twoją chęc zastosowania async / await kazałeś użytkownikowi aplikacji czekać 3 razy dłużej niż to realnie koniecznie </p>\n\n\n\n<h3>Tak wiem &#8211; zaraz ktoś się przyczepi, że to przypadek testowy albo, że można to inaczej napisać &#8211; tutaj chodziło głównie o pokazanie pewnego schematu</h3>\n\n\n\n<p>Dlatego chciałem też pokazać przypadek, który bardzo często widzę w jakichś projektach do portfolio, albo <strong>(o zgrozo&#8230;) na tutorialach&#8230; </strong>commit mi się cofa jak widzę, że tutorial obejrzało 10-15 tysięcy potencjalnych programistów i nauczyło się takich głupot</p>\n\n\n\n<h3>Więc odzwierciedlając przypadek stricte tutorialowy, robimy 3 zapytania do api z async / await i try / catch, aby wychwycić ewentualne błędy</h3>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"568\" height=\"477\" src=\"https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/09/image-17.png\" alt=\"\" class=\"wp-image-808\" srcset=\"https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/09/image-17.png 568w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/09/image-17-300x252.png 300w\" sizes=\"(max-width: 568px) 100vw, 568px\" /></figure>\n\n\n\n<h4>I znów powtarza się ta sama sytuacja &#8211; 3 zapytania 3 sekundy czekania użytkownika na załadowanie aplikacji</h4>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"485\" height=\"67\" src=\"https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/09/image-18.png\" alt=\"\" class=\"wp-image-809\" srcset=\"https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/09/image-18.png 485w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/09/image-18-300x41.png 300w\" sizes=\"(max-width: 485px) 100vw, 485px\" /></figure>\n\n\n\n<h3>3 zdania podsumowania:</h3>\n\n\n\n<ul><li>im mniej async / await w Twoim kodzie tym (prawdopodobnie) lepiej dla użytkownika</li><li>jeśli stosujesz async / await to pamiętaj, aby w zakresie funkcji była tylko jedna promisa, która &#8222;awaitujesz&#8221;, bo każda kolejna powoduję wydłużenie działania Twojego kodu</li><li>nie wszystko co widzisz na popularnych tutorialach to optymalny kod i należy powtarzać to w swoim projekcie</li></ul>\n\n\n\n<h4>EDIT &#8211; Sugestia zakończenia od Bartka Banacha:</h4>\n\n\n\n<p>Tak więc radzę na to uważać i używać Promise.all jeśli chcemy wykonać kilka zapytań do api jednocześnie, bo async / await wcale jednoczesności nie zapewnia, a tylko upraszcza składnię w kodzie dla programisty</p>\n\n\n\n<p>Do następnego commita!</p>\n","featuredImage":{"altText":"","sizes":"(max-width: 300px) 100vw, 300px","sourceUrl":"https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/09/photo-1596877153829-06339298dc34.jpeg","srcSet":"https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/09/photo-1596877153829-06339298dc34-300x200.jpeg 300w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/09/photo-1596877153829-06339298dc34-1024x683.jpeg 1024w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/09/photo-1596877153829-06339298dc34-768x512.jpeg 768w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/09/photo-1596877153829-06339298dc34-600x400.jpeg 600w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/09/photo-1596877153829-06339298dc34.jpeg 1350w"},"categories":{"nodes":[{"slug":"materialy-do-nauki","id":"Y2F0ZWdvcnk6NjM=","name":"Materiały do nauki"}]},"tags":{"nodes":[{"slug":"javascript","name":"javascript","count":11},{"slug":"programowanie","name":"programowanie","count":42},{"slug":"promisy","name":"promisy","count":1}]},"comments":{"nodes":[]},"seo":{"title":"Async / await - nie takie fajne jak myślisz - prostota syntaxu kosztem użytkownika - Gladiatorzy JavaScriptu","opengraphTitle":"Async / await - nie takie fajne jak myślisz - prostota syntaxu kosztem użytkownika - Gladiatorzy JavaScriptu","metaKeywords":"","metaDesc":"Dzisiaj chciałbym poruszyć pewien temat, który pewnie nie jest wszystkim znany, a jeśli już jest znany to nie znają go na tyle, aby uświadomić sobie, że ma często więcej wad niż zalet","metaRobotsNofollow":"","metaRobotsNoindex":"","opengraphDescription":"Dzisiaj chciałbym poruszyć pewien temat, który pewnie nie jest wszystkim znany, a jeśli już jest znany to nie znają go na tyle, aby uświadomić sobie, że ma często więcej wad niż zalet","opengraphImage":{"sourceUrl":"https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/09/photo-1596877153829-06339298dc34.jpeg"}},"siteMetaData":{"description":"Gladiatorzy JavaScriptu","language":"pl_PL","title":"Gladiatorzy JavaScriptu","url":"http://gladiatorzy.api.localhost-group.com"}},{"id":"cG9zdDo3MDQ=","slug":"javascript-to-popieprzony-jezyk-programowania","title":"Javascript to popieprzony język programowania","date":"2020-09-11T09:09:10","databaseId":704,"content":"\n<h3>W tym artykule chciałbym podlinkować jedną playlistę z YT, w której autor opowiada o różnych dziwnych rzeczach w JS. Nagranie z 2020</h3>\n\n\n\n<p>Więc jeśli kodujesz w JS i nie zamierzasz się przenosić na Typescript w najbliższym czasie to warto, abyś obejrzał/-a nagranie podlinkowane na dole</p>\n\n\n\n<h4>Przykładowe dziwne rzeczy w JS:</h4>\n\n\n\n<ul><li>chcesz zamienić Array na Object &#8211; proszę bardzo</li><li>a może by tak dodać numery do stringa &#8211; proszę bardzo</li><li>potrzebujesz sprawdzić czy zmienna jest obiektem &#8211; nie tak prędko</li><li>Not a Number (NaN) też jest typu numer</li><li>negując pusty string (!&#8221;) dostajesz boolean</li></ul>\n\n\n\n<p>A to dopiero początek listy &#8211; tych dziwnych rzeczy w JS jest masę</p>\n\n\n\n<h4>Bo pisanie kodu Javascript jest jak granie na padzie w Counter Strike, z włączonym friendly fire, gdzie biegasz z wyciągniętym nożem (bo szybciej), ale po chwili przez przypadek ucinasz sobie nogę i kończysz rundę przepełniony frustracją i gniewem</h4>\n\n\n\n<p>Friendly fire nie wyłączysz, ale świadomie możesz biegać ze schowanym nożem, bo dużo rzadziej obetniesz sobie nogę</p>\n\n\n\n<p>Dla tych co chcą się przesiąść na TS &#8211; załatwiłem rabat -10% na fajną książkę zawierającą masę dobrze uporządkowanej wiedzy o Typescript &#8211; <strong>Typescript na poważnie</strong></p>\n\n\n\n<p>Link do sklepu &#8211; <a href=\"https://sklep.typeofweb.com/\">https://sklep.typeofweb.com/</a><br>Kupon &#8211; <strong>dla-gladiatorow-javascriptu</strong></p>\n\n\n\n<p>Link do playlisty:</p>\n\n\n\n<figure class=\"wp-block-embed-youtube wp-block-embed is-type-video is-provider-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe title=\"01.Introduction and The Goal of This Course\" width=\"500\" height=\"281\" src=\"https://www.youtube.com/embed/videoseries?list=PLkFVVqINj4rP8YemOQ-pBlyL0AXjmiPR9\" frameborder=\"0\" allow=\"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen></iframe>\n</div></figure>\n\n\n\n<p>Do następnego commita!</p>\n","featuredImage":{"altText":"","sizes":"(max-width: 300px) 100vw, 300px","sourceUrl":"https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/09/pawel-czerwinski-yRgZunFGRSU-unsplash-scaled.jpg","srcSet":"https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/09/pawel-czerwinski-yRgZunFGRSU-unsplash-300x200.jpg 300w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/09/pawel-czerwinski-yRgZunFGRSU-unsplash-1024x683.jpg 1024w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/09/pawel-czerwinski-yRgZunFGRSU-unsplash-768x512.jpg 768w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/09/pawel-czerwinski-yRgZunFGRSU-unsplash-1536x1024.jpg 1536w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/09/pawel-czerwinski-yRgZunFGRSU-unsplash-2048x1365.jpg 2048w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/09/pawel-czerwinski-yRgZunFGRSU-unsplash-600x400.jpg 600w"},"categories":{"nodes":[{"slug":"materialy-do-nauki","id":"Y2F0ZWdvcnk6NjM=","name":"Materiały do nauki"}]},"tags":{"nodes":[{"slug":"javascript","name":"javascript","count":11},{"slug":"nauka","name":"nauka","count":45},{"slug":"programowanie","name":"programowanie","count":42}]},"comments":{"nodes":[]},"seo":{"title":"Javascript to popieprzony język programowania - Gladiatorzy JavaScriptu","opengraphTitle":"Javascript to popieprzony język programowania - Gladiatorzy JavaScriptu","metaKeywords":"","metaDesc":"W tym artykule chciałbym podlinkować jedną playlistę z YT, w której autor opowiada o różnych dziwnych rzeczach w JS. Nagranie z 2020","metaRobotsNofollow":"","metaRobotsNoindex":"","opengraphDescription":"W tym artykule chciałbym podlinkować jedną playlistę z YT, w której autor opowiada o różnych dziwnych rzeczach w JS. Nagranie z 2020","opengraphImage":{"sourceUrl":"https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/09/pawel-czerwinski-yRgZunFGRSU-unsplash-scaled.jpg"}},"siteMetaData":{"description":"Gladiatorzy JavaScriptu","language":"pl_PL","title":"Gladiatorzy JavaScriptu","url":"http://gladiatorzy.api.localhost-group.com"}},{"id":"cG9zdDoyODE=","slug":"sprawdz-czego-musisz-sie-nauczyc-tylko-o-samym-js-w-2020","title":"Sprawdź czego musisz się nauczyć tylko o samym JS w 2020","date":"2020-07-14T16:03:00","databaseId":281,"content":"\n<p>Filmik, który pokazuje jak wygląda ścieżka rozwoju w JS w 2020 roku i ile jest wymagane bez żadnych libek czy frameworków</p>\n\n\n\n<figure class=\"wp-block-embed-youtube wp-block-embed is-type-video is-provider-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe title=\"Modern JavaScript Learning Path in 2020\" width=\"500\" height=\"281\" src=\"https://www.youtube.com/embed/gSnbnYffz7k?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen></iframe>\n</div></figure>\n\n\n\n<p>[18min<a rel=\"noreferrer noopener\" href=\"https://www.youtube.com/watch?v=gSnbnYffz7k&amp;fbclid=IwAR04q3WdO_o-dN4IkMLddpjRNsOr3Zi32MZ3zJeSSZbMl5g6TvmS6bKcuDI\" target=\"_blank\">]</a></p>\n\n\n\n<p>Dla przypomnienia w czwartki o 20:00 są zajęcia z kodowania, można dołączyć do nich zapisując się do listy mailingowej</p>\n","featuredImage":{"altText":"","sizes":null,"sourceUrl":"https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/06/irvan-smith-5eBW5GomfhY-unsplash-scaled.jpg","srcSet":"https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/06/irvan-smith-5eBW5GomfhY-unsplash-scaled.jpg 2560w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/06/irvan-smith-5eBW5GomfhY-unsplash-scaled-600x338.jpg 600w"},"categories":{"nodes":[{"slug":"materialy-do-nauki","id":"Y2F0ZWdvcnk6NjM=","name":"Materiały do nauki"}]},"tags":{"nodes":[{"slug":"javascript","name":"javascript","count":11},{"slug":"materialy","name":"materiały","count":6},{"slug":"rozwoj","name":"rozwój","count":1}]},"comments":{"nodes":[]},"seo":{"title":"Sprawdź czego musisz się nauczyć tylko o samym JS w 2020 - Gladiatorzy JavaScriptu","opengraphTitle":"","metaKeywords":"","metaDesc":"Filmik [18min] który pokazuje jak wygląda ścieżka rozwoju w JS w 2020 roku i ile jest wymagane bez żadnych libek czy frameworków","metaRobotsNofollow":"","metaRobotsNoindex":"","opengraphDescription":"","opengraphImage":null},"siteMetaData":{"description":"Gladiatorzy JavaScriptu","language":"pl_PL","title":"Gladiatorzy JavaScriptu","url":"http://gladiatorzy.api.localhost-group.com"}},{"id":"cG9zdDoyNzM=","slug":"dlaczego-typescript-stopniowo-bedzie-wypierac-javascript","title":"Dlaczego Typescript stopniowo będzie wypierać Javascript*?","date":"2020-07-14T15:40:58","databaseId":273,"content":"\n<p>(*lub JS będzie kraść funkcjonalności od Typescript)</p>\n\n\n\n<p>Kto nie pisał, &#8222;głupich&#8221; walidacji w JS ten niech pierwszy rzuci kamień&#8230;</p>\n\n\n\n<p>To dla mnie chyba największy ból w JS&#8230;</p>\n\n\n\n<p>Zawsze trzeba dopisać te kilka linijek z walidacjami, aby upewnić się, że dana funkcja co przyjmuje Array z numerami, bo realnie przyjmie Array i że wszystkie elementy Arraya będą numerami</p>\n\n\n\n<p>a w TS ? Array&lt;Number&gt; i tyle&#8230;</p>\n\n\n\n<p>Nie mówiąć już o tym jak słaby jest JS jeśli chodzi o OOP i jak bardzo można ratować się funkcjonalnościami TS</p>\n\n\n\n<p>W moim przypadku w pracy FE Deva i raczej z kodem funkcyjnym w React Typescript sprawdza się głównie w przypadku statycznego typowania funkcjonalności oraz możliwości budowania customowych interfejsów dla propsów</p>\n\n\n\n<p>A jak TS sprawdza się u Ciebie, podczas nauki czy pracy?<br>Podziel się swoją opinią w komentarzu</p>\n\n\n\n<p>Dla tych co nie znają TS &#8211; 3 godzinny tutorial na 2020</p>\n\n\n\n<figure class=\"wp-block-embed-youtube wp-block-embed is-type-video is-provider-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe title=\"TypeScript Course for Beginners 2020 - Learn TypeScript from Scratch!\" width=\"500\" height=\"281\" src=\"https://www.youtube.com/embed/BwuLxPH8IDs?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen></iframe>\n</div></figure>\n\n\n\n<p>Do następnego commita!</p>\n","featuredImage":{"altText":null,"sizes":null,"sourceUrl":"https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/07/aaron-blanco-tejedor-VBe9zj-JHBs-unsplash-scaled.jpg","srcSet":"https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/07/aaron-blanco-tejedor-VBe9zj-JHBs-unsplash-scaled.jpg 2560w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/07/aaron-blanco-tejedor-VBe9zj-JHBs-unsplash-scaled-600x398.jpg 600w"},"categories":{"nodes":[{"slug":"materialy-do-nauki","id":"Y2F0ZWdvcnk6NjM=","name":"Materiały do nauki"}]},"tags":{"nodes":[{"slug":"javascript","name":"javascript","count":11},{"slug":"programowanie","name":"programowanie","count":42},{"slug":"tutorial","name":"tutorial","count":2},{"slug":"typescript","name":"typescript","count":11}]},"comments":{"nodes":[]},"seo":{"title":"Dlaczego Typescript stopniowo będzie wypierać Javascript*? - Gladiatorzy JavaScriptu","opengraphTitle":"","metaKeywords":"","metaDesc":"","metaRobotsNofollow":"","metaRobotsNoindex":"","opengraphDescription":"","opengraphImage":null},"siteMetaData":{"description":"Gladiatorzy JavaScriptu","language":"pl_PL","title":"Gladiatorzy JavaScriptu","url":"http://gladiatorzy.api.localhost-group.com"}},{"id":"cG9zdDoxNjE=","slug":"obejrzyj-to-zanim-zaczniesz-uczyc-sie-programowania","title":"Obejrzyj TO zanim zaczniesz uczyć się Reacta, Angulara czy Vue","date":"2020-06-17T13:27:34","databaseId":161,"content":"\n<p>(6min) Co trzeba wiedzieć ZANIM zaczniesz uczyć się Reacta / Angulara / Vue</p>\n\n\n\n<p>A więc&#8230;</p>\n\n\n\n<p>oglądaj od 1:12, bo wcześniej treści sponsorowane:</p>\n\n\n\n<figure class=\"wp-block-embed-youtube wp-block-embed is-type-video is-provider-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe title=\"Do This! BEFORE Learning A JavaScript Framework\" width=\"500\" height=\"281\" src=\"https://www.youtube.com/embed/KkdY8X61K9g?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen></iframe>\n</div></figure>\n","featuredImage":{"altText":"","sizes":null,"sourceUrl":"https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/06/greg-rakozy-vw3Ahg4x1tY-unsplash-scaled.jpg","srcSet":"https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/06/greg-rakozy-vw3Ahg4x1tY-unsplash-scaled.jpg 2560w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/06/greg-rakozy-vw3Ahg4x1tY-unsplash-scaled-600x450.jpg 600w"},"categories":{"nodes":[{"slug":"materialy-do-nauki","id":"Y2F0ZWdvcnk6NjM=","name":"Materiały do nauki"}]},"tags":{"nodes":[{"slug":"javascript","name":"javascript","count":11},{"slug":"nauka","name":"nauka","count":45},{"slug":"programowanie","name":"programowanie","count":42},{"slug":"react","name":"react","count":10}]},"comments":{"nodes":[]},"seo":{"title":"Obejrzyj TO zanim zaczniesz uczyć się Reacta, Angulara czy Vue - Gladiatorzy JavaScriptu","opengraphTitle":"","metaKeywords":"","metaDesc":"(6min) Co trzeba wiedzieć ZANIM zaczniesz uczyć się Reacta / Angulara / Vue. Filmik (6min) nakreśla jakie podstawy Javascriptu musisz wchłonąć przed dalszą nauką","metaRobotsNofollow":"","metaRobotsNoindex":"","opengraphDescription":"","opengraphImage":null},"siteMetaData":{"description":"Gladiatorzy JavaScriptu","language":"pl_PL","title":"Gladiatorzy JavaScriptu","url":"http://gladiatorzy.api.localhost-group.com"}}]}},"staticQueryHashes":["1753111286","3083960279","3707168034","3770601225","385925179","4187414897","908322333","908322333"]}