[{"data":1,"prerenderedAt":1135},["ShallowReactive",2],{"post:\u002Fblog\u002F9-zasad-programowania-z-ai-2-ustalcie-o-co-chodzi":3,"surround:\u002Fblog\u002F9-zasad-programowania-z-ai-2-ustalcie-o-co-chodzi":235,"related:\u002Fblog\u002F9-zasad-programowania-z-ai-2-ustalcie-o-co-chodzi":240,"categories":268,"tags":339,"post-author:maciej-walczak":1121},{"id":4,"title":5,"author":6,"body":7,"categories":214,"comments":216,"cover":15,"coverAlt":13,"date":217,"description":218,"draft":219,"extension":220,"hidden":219,"meta":221,"navigation":216,"path":222,"readingTime":223,"redirectFrom":224,"seo":225,"sitemap":226,"slug":227,"stem":228,"tags":229,"updated":233,"wpId":233,"__hash__":234},"blog\u002Fblog\u002F2026-10-31-9-zasad-programowania-z-ai-2-ustalcie-o-co-chodzi.md","9 zasad programowania z AI - #2: Ustalcie, o co chodzi","maciej-walczak",{"type":8,"value":9,"toc":202},"minimark",[10,17,30,33,38,44,60,64,71,74,78,85,88,92,95,108,114,117,121,124,127,131,134,137,141,151,155,193,196,199],[11,12],"figure",{"alt":13,"height":14,"src":15,"width":16},"Okładka z napisem „9 zasad programowania z AI” i pod nim „#2 Ustalcie, o co chodzi” w prawym górnym rogu. Ilustracja w stylu płaskiej grafiki wektorowej. Po lewej programista w okularach i czarnej bluzie stoi przed dużą tablicą i wskazuje markerem diagram: pole z pytajnikiem, strzałka do kartki z listą, strzałka do pola z haczykiem, wokół kolorowe karteczki. Obok tablicy mały biały robot z jednym wizjerem trzyma podkładkę z listą i przechyla głowę, jakby zadawał pytanie. W prawym dolnym rogu stoi zielona roślina i świeci pomarańczowa żarówka.",1086,"https:\u002F\u002F5icqmonbzxnrw2bn.public.blob.vercel-storage.com\u002F2026\u002F10\u002F9-zasad-2-ustalcie-okladka.png",1448,[18,19,20,21,29],"p",{},"W ",[22,23,25],"a",{"href":24},"\u002Fblog\u002F9-zasad-programowania-z-ai-1-zarzadzaj-kontekstem",[26,27,28],"strong",{},"poprzedniej części"," pisałem o kontekście: agent robi to, co wynika z tego, co ma w oknie. Teraz krok wcześniej – skąd ten kontekst się bierze i czy w ogóle opisuje to, co chcemy zbudować.",[18,31,32],{},"Każdy, kto trochę popracował z agentem, zna to rozczarowanie: prosimy o funkcję, dostajemy działający, zgrabny kod, tylko że zupełnie nie ten, o który chodziło. Zanim zaczniemy szukać winy w modelu, zapytajmy, czy agent w ogóle wiedział, czego od niego chcemy.",[34,35,37],"h2",{"id":36},"zasada-2-najpierw-ustalcie-o-co-chodzi","Zasada #2: najpierw ustalcie, o co chodzi",[18,39,40,43],{},[26,41,42],{},"Najdroższy błąd w pracy z agentem to nie zły kod, tylko nietrafione zrozumienie zadania."," Zły kod da się poprawić. Ale jeśli agent zrozumiał zadanie inaczej niż my, napisze to, co zrozumiał – szybko i na dużą skalę.",[18,45,46,47,51,52,55,56,59],{},"Matt Pocock w wystąpieniu ",[48,49,50],"em",{},"Software Fundamentals Matter More Than Ever"," wskazuje przyczynę: brakuje wspólnego „konceptu projektu” (",[48,53,54],{},"design concept"," – termin z książki Brooksa ",[48,57,58],{},"The Design of Design","). Nasza wersja jest w naszej głowie, a nie w głowie agenta. Dex Horthy z HumanLayer dorzuca rachunek: zły fragment planu to setki złych linii kodu, a błąd w researchu (czyli w rozpoznaniu, jak działa system) psuje wszystko, co powstaje potem.",[34,61,63],{"id":62},"niech-agent-wypyta-ciebie","Niech agent wypyta Ciebie",[18,65,66,67,70],{},"Pocock proponuje odwrócić zwykły układ. Zamiast pisać długi opis zadania, prosimy agenta, żeby to on zadawał pytania, aż osiągniemy wspólne rozumienie. Jego instrukcja dla agenta (tzw. skill) nazywa się ",[48,68,69],{},"Grill Me"," i według autora pytań potrafi być nawet 40–100. Dopiero wynik takiej rozmowy zamieniamy w opis wymagań (PRD) albo listę zadań.",[18,72,73],{},"Prawdopodobnie działa to dlatego, że przy pisaniu opisu z góry widzimy tylko to, o czym pamiętamy. Wywiad wyciąga braki, o których nam nie przyszło do głowy wspomnieć – a agent, który ich nie znał, wypełniłby je po swojemu.",[34,75,77],{"id":76},"słownik-pojęć","Słownik pojęć",[18,79,80,81,84],{},"Drugie narzędzie od Pococka jest zupełnie proste: zwykły plik tekstowy z tabelą terminów (",[48,82,83],{},"ubiquitous language",", czyli wspólny język zespołu z metody DDD). Każde pojęcie z domeny ma jedno znaczenie i jedną nazwę, a plik jest używany i w planowaniu, i w kodzie. Według autora poprawia to planowanie i skraca „myślenie” modelu, a do tego ogranicza rozwlekłość agenta.",[18,86,87],{},"Brzmi nieefektownie, ale odpowiada na konkretny kłopot: gdy w jednej rozmowie „klient”, „użytkownik” i „konto” znaczą co innego, agent zgaduje, o które chodzi.",[34,89,91],{"id":90},"research-plan-implementacja","Research, plan, implementacja",[18,93,94],{},"Horthy dzieli pracę na 3 kroki:",[96,97,98,102,105],"ol",{},[99,100,101],"li",{},"research – obiektywne zrozumienie, jak system działa dziś,",[99,103,104],{},"plan – kroki z nazwami plików, fragmentami kodu i testami po każdej zmianie,",[99,106,107],{},"implementacja – już przy małym kontekście, o którym była mowa w poprzedniej części.",[11,109],{"alt":110,"height":111,"src":112,"width":113},"Schemat czterech kroków od ustalenia zadania do kodu: wywiad (agent zadaje pytania, powstaje słownik pojęć), research (jak działa system dziś, plik research.md, sesja 1), plan (pliki, fragmenty kodu, testy, plik plan.md, sesja 2) i implementacja (mały kontekst, kod i testy, sesja 3). Po researchu i po planie człowiek czyta wynik. Błąd w planie poprawia się w planie, nie w kodzie.",520,"https:\u002F\u002F5icqmonbzxnrw2bn.public.blob.vercel-storage.com\u002F2026\u002F10\u002F9-zasad-2-ustalcie-schemat.svg",1200,[18,115,116],{},"Wynik researchu i planu ląduje w pliku, więc kolejny krok startuje z niego, nie z historii rozmowy. Nazwy plików i podział na sesje na schemacie to przykład, nie dosłowny opis metody. Jako przykłady skuteczności Horthy podaje poprawkę w bazie kodu w języku Rust (projekt BAML) liczącej 300 tys. linii, którą zaakceptował CTO, czyli szef techniczny firmy, oraz ok. 35 tys. linii w 7 godzin (część to kod generowany). To relacje autora, nie pomiary, ale pokazują, do czego ta metoda służy: do pracy w dużych, starych bazach kodu.",[34,118,120],{"id":119},"plan-trzeba-przeczytać","Plan trzeba przeczytać",[18,122,123],{},"Cały ten porządek traci sens, jeśli nikt nie czyta researchu i planu. Hasło Horthy’ego brzmi: nie outsourcuj myślenia. Czytanie planów (a nie tysięcy linii kodu) jest też dobrym sposobem na to, żeby zespół rozumiał zmiany. Jest tu pewien kompromis: plan dłuższy jest bardziej niezawodny, ale mniej czytelny, więc zespół musi znaleźć swój złoty środek.",[18,125,126],{},"Ryan Lopopolo z OpenAI idzie dalej. Plan zatwierdzony bez czytania koduje instrukcje, których wcale nie chcemy. Dlatego plany wrzucajmy jako osobną propozycję zmian (PR) z samym planem i obowiązkowym przeglądem przez człowieka, zanim ruszy implementacja. W przeciwnym razie ryzykujemy, że czas pójdzie na realizację złych poleceń.",[34,128,130],{"id":129},"nie-każde-zadanie-potrzebuje-tego-wszystkiego","Nie każde zadanie potrzebuje tego wszystkiego",[18,132,133],{},"Skala procesu zależy od zadania. Dla dodania przycisku pełna ścieżka od researchu do implementacji to przesada, dla dużej funkcji już nie. Metoda ma też granice: Horthy opowiada o próbie usunięcia jednej dużej biblioteki (Hadoop) z projektu Parquet Java, przy której po wyrzuceniu planów zespół wrócił do tablicy.",[18,135,136],{},"Sam Lopopolo stoi jednak na drugim biegunie – w ogóle nie używa trybu planowania, bo oczekuje, że samo zgłoszenie zadania (ticket) wystarczy, żeby agent wykonał zadanie. Ale za jego agentem stoi cała infrastruktura sprawdzająca wynik. O niej będzie w kolejnych częściach.",[34,138,140],{"id":139},"a-co-z-sdd","A co z SDD?",[18,142,143,144,150],{},"Ta metoda przypomina Spec Driven Development (tworzenie oprogramowania od specyfikacji) – i słusznie, bo w obu chodzi o to samo: najpierw ustalić, potem pisać. Samo pojęcie jest jednak „semantycznie rozmyte”, jak zauważa Horthy, i znaczy około 100 różnych rzeczy. Liczy się kontrola kontekstu i wspólne rozumienie zadania, nie etykieta. Pocock jest jeszcze ostrzejszy: samo przerabianie specyfikacji na kod, bez dbania o jego jakość, daje coraz gorsze wyniki. Jeśli ktoś chce zobaczyć SDD jako konkretną metodę, pisałem o niej w ",[22,145,147],{"href":146},"\u002Fblog\u002Fspec-driven-development-jako-inzynierska-odpowiedz-na-vibe-coding",[26,148,149],{},"osobnym wpisie",".",[34,152,154],{"id":153},"co-z-tym-zrobić-od-jutra","Co z tym zrobić od jutra?",[156,157,158,164,175,181,187],"ul",{},[99,159,160,163],{},[26,161,162],{},"Przed większym zadaniem"," napisz agentowi: „Wypytaj mnie, aż będziesz wiedział, co budujemy”. Odpowiedzi zapisz do pliku",[99,165,166,169,170,174],{},[26,167,168],{},"Załóż słownik pojęć"," z kilkunastoma terminami domeny i wskaż go w ",[171,172,173],"code",{},"CLAUDE.md"," (pliku z zasadami dla agenta)",[99,176,177,180],{},[26,178,179],{},"Podziel pracę na 3 sesje",": research, plan, implementacja – wynik każdej do pliku",[99,182,183,186],{},[26,184,185],{},"Przeczytaj plan",", zanim ruszy implementacja. Jeśli nie zamierzasz go czytać, lepiej nie wprowadzać planów w ogóle",[99,188,189,192],{},[26,190,191],{},"Zadania na jeden plik"," rób bez ceremonii",[18,194,195],{},"Jedna pułapka: zatwierdzenie planu, bo „wygląda dobrze”. Plan jest wtedy zwykłą formalnością, a agent i tak zrobi swoje.",[18,197,198],{},"W następnej części zajmiemy się zapisaniem, co znaczy „gotowe”, zanim agent napisze pierwszą linijkę – i tym, dlaczego testy napisane po kodzie częściej potwierdzają decyzje agenta, niż łapią jego błędy.",[18,200,201],{},"A Wy – agent wypytuje Was przed zadaniem, czy raczej opisujecie wszystko z góry? Jestem ciekaw, co u Was sprawdza się lepiej – napiszcie w komentarzach 🙂",{"title":203,"searchDepth":204,"depth":204,"links":205},"",2,[206,207,208,209,210,211,212,213],{"id":36,"depth":204,"text":37},{"id":62,"depth":204,"text":63},{"id":76,"depth":204,"text":77},{"id":90,"depth":204,"text":91},{"id":119,"depth":204,"text":120},{"id":129,"depth":204,"text":130},{"id":139,"depth":204,"text":140},{"id":153,"depth":204,"text":154},[215],"artykuly",true,"2026-10-31","Zasada #2: najdroższy błąd w pracy z agentem to nietrafione zrozumienie zadania, więc ustalcie, co budujemy, zanim padnie pierwsza linijka kodu.",false,"md",{},"\u002Fblog\u002F9-zasad-programowania-z-ai-2-ustalcie-o-co-chodzi",5,[],{"title":5,"description":218},{"loc":222},"9-zasad-programowania-z-ai-2-ustalcie-o-co-chodzi","blog\u002F2026-10-31-9-zasad-programowania-z-ai-2-ustalcie-o-co-chodzi",[230,231,232],"ai","claude-code","spec-driven-development",null,"8pUe4djDXM8sDXlp8gbo81LsvVcbKNBjEu-1hZYNdLY",[236,233],{"title":237,"path":24,"stem":238,"description":239,"children":-1},"9 zasad programowania z AI - #1: Zarządzaj kontekstem","blog\u002F2026-10-29-9-zasad-programowania-z-ai-1-zarzadzaj-kontekstem","Zaczynam serię o pracy z agentami kodującymi. Zasada #1: o tym, co zrobi agent, decyduje to, co ma w kontekście, a nie długość promptu.",[241,252,262],{"path":242,"title":243,"description":244,"date":245,"categories":246,"tags":247,"readingTime":250,"draft":219,"cover":251},"\u002Fblog\u002Fszybciej-wolniej-a-moze-po-prostu-inaczej-co-mierza-badania-o-ai","Szybciej, wolniej, a może po prostu inaczej – czyli co naprawdę mierzą badania o AI","Jedni mówią, że AI przyspiesza pracę o połowę, inni, że spowalnia. Sprawdziłem badania i 4 filmy – i okazało się, że często mierzą zupełnie co innego…","2026-10-27",[215],[230,248,231,249,232],"programowanie","kariera-w-it",11,"https:\u002F\u002F5icqmonbzxnrw2bn.public.blob.vercel-storage.com\u002F2026\u002F10\u002Fszybciej-wolniej-okladka.png",{"path":146,"title":253,"description":254,"date":255,"categories":256,"tags":257,"readingTime":260,"draft":219,"cover":261},"Spec Driven Development jako inżynierska odpowiedź na „vibe coding”","Zamiast w kółko poprawiać prompt, aż „jakoś zadziała” – najpierw decyzje, potem kod. Czyli o Spec Driven Development, zanim sam się za nie zabiorę…","2026-10-23",[215],[230,231,258,248,259,232],"vibe-coding","organizacja-pracy",12,"https:\u002F\u002F5icqmonbzxnrw2bn.public.blob.vercel-storage.com\u002F2026\u002F10\u002Fsdd-okladka.png",{"path":24,"title":237,"description":239,"date":263,"categories":264,"tags":265,"readingTime":266,"draft":219,"cover":267},"2026-10-29",[215],[230,231,248],6,"https:\u002F\u002F5icqmonbzxnrw2bn.public.blob.vercel-storage.com\u002F2026\u002F10\u002F9-zasad-1-kontekst-okladka.png",[269,276,283,290,297,304,311,318,325,332],{"id":270,"description":233,"extension":271,"meta":272,"name":273,"slug":215,"stem":274,"__hash__":275},"categories\u002Fcategories\u002Fartykuly.yml","yml",{},"Artykuły","categories\u002Fartykuly","aw37OCuccDz54Q07CDyESiid8VqHzN1nGf8cMOk_mI0",{"id":277,"description":233,"extension":271,"meta":278,"name":279,"slug":280,"stem":281,"__hash__":282},"categories\u002Fcategories\u002Fdostepnosc-cyfrowa.yml",{},"Dostępność cyfrowa","dostepnosc-cyfrowa","categories\u002Fdostepnosc-cyfrowa","6m7Ag8ZZ1EzfdgLuQnAUAMmRcjkgb2tpFM9n1qxANOM",{"id":284,"description":233,"extension":271,"meta":285,"name":286,"slug":287,"stem":288,"__hash__":289},"categories\u002Fcategories\u002Fkonferencje.yml",{},"Konferencje","konferencje","categories\u002Fkonferencje","dQl4MW7163iEG-b7Cv6FJ2gUxLqnpaiMOLixCXvhHTw",{"id":291,"description":233,"extension":271,"meta":292,"name":293,"slug":294,"stem":295,"__hash__":296},"categories\u002Fcategories\u002Fkonfiguracja.yml",{},"Konfiguracja","konfiguracja","categories\u002Fkonfiguracja","ESTOPlJnBPnwuuqgOm7yqGAwgllsRJfSPVk22K_nQe0",{"id":298,"description":233,"extension":271,"meta":299,"name":300,"slug":301,"stem":302,"__hash__":303},"categories\u002Fcategories\u002Fnauka.yml",{},"Nauka","nauka","categories\u002Fnauka","3hQRPpuXqoNblW09Gj46arWFgH-3YfsMcgDyd4xLkN4",{"id":305,"description":233,"extension":271,"meta":306,"name":307,"slug":308,"stem":309,"__hash__":310},"categories\u002Fcategories\u002Fosx.yml",{},"OSX","osx","categories\u002Fosx","WW8-0hUIqcivgAUl8WQuAvJ3-xVLRLjLkmP00PP4eXY",{"id":312,"description":233,"extension":271,"meta":313,"name":314,"slug":315,"stem":316,"__hash__":317},"categories\u002Fcategories\u002Fpolecane.yml",{},"Polecane","polecane","categories\u002Fpolecane","ckLXqMEBUHLxZavR7FGvpQjhxc7ycP_sQ7myEw64R9I",{"id":319,"description":233,"extension":271,"meta":320,"name":321,"slug":322,"stem":323,"__hash__":324},"categories\u002Fcategories\u002Fpomoce.yml",{},"Pomoce","pomoce","categories\u002Fpomoce","3oKSrG-VgrihP1nofQwuUItxUsyzVfgEfTMF2vq7EIw",{"id":326,"description":233,"extension":271,"meta":327,"name":328,"slug":329,"stem":330,"__hash__":331},"categories\u002Fcategories\u002Fprezentacje.yml",{},"Prezentacje","prezentacje","categories\u002Fprezentacje","4L5LUH8zxl0qXRvdymYTwtrkuj1tQun8R7yYz_OfndE",{"id":333,"description":233,"extension":271,"meta":334,"name":335,"slug":336,"stem":337,"__hash__":338},"categories\u002Fcategories\u002Fvue-js.yml",{},"Vue.js","vue-js","categories\u002Fvue-js","wOIuiF3jWQ-Zph8v7hYGNuLdJbCx0VguVg0loyh-Mwk",[340,346,351,357,364,371,378,385,391,398,405,412,418,425,432,439,446,453,460,466,473,480,486,492,498,504,510,516,522,528,534,540,547,553,559,565,571,577,583,590,596,602,609,616,622,628,635,641,646,651,657,664,671,677,683,690,697,702,709,716,723,729,735,740,747,754,760,767,773,779,786,792,799,805,811,816,822,829,835,842,848,854,861,868,875,881,888,894,900,906,913,920,927,933,939,945,952,959,966,972,979,985,992,999,1005,1011,1017,1024,1030,1036,1042,1049,1056,1063,1069,1075,1081,1087,1093,1100,1107,1114],{"id":341,"extension":271,"meta":342,"name":343,"slug":343,"stem":344,"__hash__":345},"tags\u002Ftags\u002Faccessibility.yml",{},"accessibility","tags\u002Faccessibility","luflFOwd8bzxVK2qeBv80Pzxhje6x-hbJYaDUihuwOk",{"id":347,"extension":271,"meta":348,"name":230,"slug":230,"stem":349,"__hash__":350},"tags\u002Ftags\u002Fai.yml",{},"tags\u002Fai","dps1QD2_kN7ri7PVTP0uaeL-lYhL69nCwndkqEqLLhU",{"id":352,"extension":271,"meta":353,"name":354,"slug":354,"stem":355,"__hash__":356},"tags\u002Ftags\u002Fanalityka.yml",{},"analityka","tags\u002Fanalityka","OazPvU9cHqo-nX1NPUamjhpZH7roEImTsqB55m-1Ewg",{"id":358,"extension":271,"meta":359,"name":360,"slug":361,"stem":362,"__hash__":363},"tags\u002Ftags\u002Fangular.yml",{},"Angular","angular","tags\u002Fangular","z6SH0xA8FvB2X9kVmW-gtOdfx__mVrgIuA7HVCzfLjo",{"id":365,"extension":271,"meta":366,"name":367,"slug":368,"stem":369,"__hash__":370},"tags\u002Ftags\u002Fapache2.yml",{},"Apache2","apache2","tags\u002Fapache2","unCvGoDYof2-UiVE0lnN8eq5ru5roRg5_2mAo4TdEHk",{"id":372,"extension":271,"meta":373,"name":374,"slug":375,"stem":376,"__hash__":377},"tags\u002Ftags\u002Faplikacje-i-uslugi-internetowe.yml",{},"aplikacje i usługi internetowe","aplikacje-i-uslugi-internetowe","tags\u002Faplikacje-i-uslugi-internetowe","G2Vojqp3Zd7QgL3zFleglcNCFkjzkAAeDQCScU6P8bc",{"id":379,"extension":271,"meta":380,"name":381,"slug":382,"stem":383,"__hash__":384},"tags\u002Ftags\u002Fasynchronicznosc.yml",{},"asynchroniczność","asynchronicznosc","tags\u002Fasynchronicznosc","9RMRbHed9wQxDzVpEjO6Ay9zxWDCI0e4hE8F4zqGgj0",{"id":386,"extension":271,"meta":387,"name":388,"slug":388,"stem":389,"__hash__":390},"tags\u002Ftags\u002Fautomatyzacja.yml",{},"automatyzacja","tags\u002Fautomatyzacja","vfUpLN8opVGvKUQgjGwEYxKfsZsLo3jxneMF9YMMVD0",{"id":392,"extension":271,"meta":393,"name":394,"slug":395,"stem":396,"__hash__":397},"tags\u002Ftags\u002Fblokowanie-reklam.yml",{},"blokowanie reklam","blokowanie-reklam","tags\u002Fblokowanie-reklam","lq-tfiZ_uB_SerIlaIQFMOXvGIF3QoVVVyPxjwrEsR4",{"id":399,"extension":271,"meta":400,"name":401,"slug":402,"stem":403,"__hash__":404},"tags\u002Ftags\u002Fblue-media.yml",{},"Blue Media","blue-media","tags\u002Fblue-media","z8G577CxZ7uSy-oNOkWtn3XgbsbjeKhuNby5Q6BCRuM",{"id":406,"extension":271,"meta":407,"name":408,"slug":409,"stem":410,"__hash__":411},"tags\u002Ftags\u002Fchrome-extensions.yml",{},"chrome extensions","chrome-extensions","tags\u002Fchrome-extensions","Ip0fOTD9TMJiHcbXwgvAB2mFf_D1rlP5ZfkJG3GbCL0",{"id":413,"extension":271,"meta":414,"name":415,"slug":231,"stem":416,"__hash__":417},"tags\u002Ftags\u002Fclaude-code.yml",{},"claude code","tags\u002Fclaude-code","wJZCEyRD6Cq9w7YKW0WDw94B_K-Y-nbkt1sLGN2RgEw",{"id":419,"extension":271,"meta":420,"name":421,"slug":422,"stem":423,"__hash__":424},"tags\u002Ftags\u002Fcmr.yml",{},"CMR","cmr","tags\u002Fcmr","eNv_ncSDXVsAFBCM8A4uJqAJItqSOP29I1Kabpm-l3Y",{"id":426,"extension":271,"meta":427,"name":428,"slug":429,"stem":430,"__hash__":431},"tags\u002Ftags\u002Fcodersday.yml",{},"CodersDay","codersday","tags\u002Fcodersday","jLWUVGvGvi2irKFpFs0Ea6hkW71mLoiroOaGDcv1KWw",{"id":433,"extension":271,"meta":434,"name":435,"slug":436,"stem":437,"__hash__":438},"tags\u002Ftags\u002Fcoderslab.yml",{},"CodersLab","coderslab","tags\u002Fcoderslab","NQEy1mD_tk9h71yZtjSoC4LhXGE54DGYaYgj3JOoUqY",{"id":440,"extension":271,"meta":441,"name":442,"slug":443,"stem":444,"__hash__":445},"tags\u002Ftags\u002Fcolor-contrast-analyzer.yml",{},"Color Contrast Analyzer","color-contrast-analyzer","tags\u002Fcolor-contrast-analyzer","hGu3gO_owf9Tn4p5-FssJGVt4ToSsRfgjMjWdX2YgEI",{"id":447,"extension":271,"meta":448,"name":449,"slug":450,"stem":451,"__hash__":452},"tags\u002Ftags\u002Fcolor-contrast-checker.yml",{},"Color Contrast Checker","color-contrast-checker","tags\u002Fcolor-contrast-checker","w8QKUWUH691wTFtUWDJMjbCvC6zlFZo6j4UDDSg1NDY",{"id":454,"extension":271,"meta":455,"name":456,"slug":457,"stem":458,"__hash__":459},"tags\u002Ftags\u002Fconfrontjs.yml",{},"ConFrontJS","confrontjs","tags\u002Fconfrontjs","G4ePmrCbuLVA_ccxs7rcKSveQ3Kvn7y6-Ie9-H_5gpc",{"id":461,"extension":271,"meta":462,"name":463,"slug":463,"stem":464,"__hash__":465},"tags\u002Ftags\u002Fcss3.yml",{},"css3","tags\u002Fcss3","f5Gtp9yzvmyMSZ-IN--19c7OR-v5LXzdvhNaEmiOsuw",{"id":467,"extension":271,"meta":468,"name":469,"slug":470,"stem":471,"__hash__":472},"tags\u002Ftags\u002Fdesi-2020.yml",{},"DESI 2020","desi-2020","tags\u002Fdesi-2020","KeSFSj6VcXN0OciAUSTR8C1kiGUE3nLzGR1Pi5h_USE",{"id":474,"extension":271,"meta":475,"name":476,"slug":477,"stem":478,"__hash__":479},"tags\u002Ftags\u002Fdns.yml",{},"DNS","dns","tags\u002Fdns","_TzsfpRL_ROm8MT5opDE1gg4GnuukbCyKY87W-IFl68",{"id":481,"extension":271,"meta":482,"name":483,"slug":280,"stem":484,"__hash__":485},"tags\u002Ftags\u002Fdostepnosc-cyfrowa.yml",{},"dostępność cyfrowa","tags\u002Fdostepnosc-cyfrowa","8xZ6WRsys1qnr-vWH_Y4Ne8ac2RBONWyLrrm31u00xI",{"id":487,"extension":271,"meta":488,"name":489,"slug":489,"stem":490,"__hash__":491},"tags\u002Ftags\u002Febook.yml",{},"ebook","tags\u002Febook","2Eqjl28-mK0fxpryAfGFMCel8MSByJVuQRsvy_S_cgY",{"id":493,"extension":271,"meta":494,"name":495,"slug":495,"stem":496,"__hash__":497},"tags\u002Ftags\u002Felgato.yml",{},"elgato","tags\u002Felgato","ys3dC5VhSFe1JP_z6vIBB8W8WSJmrbB2C3gwTjSkINM",{"id":499,"extension":271,"meta":500,"name":501,"slug":501,"stem":502,"__hash__":503},"tags\u002Ftags\u002Fevent.yml",{},"event","tags\u002Fevent","xcUCN7zoFrW8LCakRgx4s2r8YTGvycTdYQEyx_Yg7Fk",{"id":505,"extension":271,"meta":506,"name":507,"slug":507,"stem":508,"__hash__":509},"tags\u002Ftags\u002Ffacebook.yml",{},"facebook","tags\u002Ffacebook","xk1FSKdOP155PdsTUy6lbefdoi6pOrwzZtVO8B52vMo",{"id":511,"extension":271,"meta":512,"name":513,"slug":513,"stem":514,"__hash__":515},"tags\u002Ftags\u002Ffanpage.yml",{},"fanpage","tags\u002Ffanpage","RoMU1ceix1opnNG2LPoGzfOjVZE128Gmk12ZtDAQxrM",{"id":517,"extension":271,"meta":518,"name":519,"slug":519,"stem":520,"__hash__":521},"tags\u002Ftags\u002Ffigcraft.yml",{},"figcraft","tags\u002Ffigcraft","WTLpMjDrY2RSAriKP_PIhPFrUfRbSjesfrpRp5_eTQ4",{"id":523,"extension":271,"meta":524,"name":525,"slug":525,"stem":526,"__hash__":527},"tags\u002Ftags\u002Ffigma.yml",{},"figma","tags\u002Ffigma","HqDjUE96DWwR7A2TOHbGrBJgtOm0WhFG5odvyZ2Sd30",{"id":529,"extension":271,"meta":530,"name":531,"slug":531,"stem":532,"__hash__":533},"tags\u002Ftags\u002Fflora-art.yml",{},"flora-art","tags\u002Fflora-art","EZJoljjwcgycvXhzhoZltu8jVe2P_rSd_t7-DmugrCs",{"id":535,"extension":271,"meta":536,"name":537,"slug":537,"stem":538,"__hash__":539},"tags\u002Ftags\u002Ffront-end.yml",{},"front-end","tags\u002Ffront-end","xKzeWb2B7yr2l4WBGtpyUzD1T_sBK5i-sb21-MEDOWw",{"id":541,"extension":271,"meta":542,"name":543,"slug":544,"stem":545,"__hash__":546},"tags\u002Ftags\u002Ffront-end-developer.yml",{},"front-end developer","front-end-developer","tags\u002Ffront-end-developer","rHwMfWcbpd8wXqIVD1HzPWxBheHq8V_9TdHCHkz4Sp8",{"id":548,"extension":271,"meta":549,"name":550,"slug":550,"stem":551,"__hash__":552},"tags\u002Ftags\u002Ffrontend.yml",{},"frontend","tags\u002Ffrontend","CxnBlT8roa7DydGYGxgRVXKKTvJrkjMMQrvHZQMxukA",{"id":554,"extension":271,"meta":555,"name":556,"slug":556,"stem":557,"__hash__":558},"tags\u002Ftags\u002Fga4.yml",{},"ga4","tags\u002Fga4","rRvTzxNn5DJ4Sf5NYfC7bdlPytNph9v_BV9e-9z8mng",{"id":560,"extension":271,"meta":561,"name":562,"slug":562,"stem":563,"__hash__":564},"tags\u002Ftags\u002Fgamepad.yml",{},"gamepad","tags\u002Fgamepad","Gsi3HzAfw68AJR6qCt8qeuS7Euw22ZMSpnaKNw0QV-A",{"id":566,"extension":271,"meta":567,"name":568,"slug":568,"stem":569,"__hash__":570},"tags\u002Ftags\u002Fgoalkicker.yml",{},"goalkicker","tags\u002Fgoalkicker","L_zNfxJfO6lZOUiLaE5m_ggQUX0komBXXth0SrszFUk",{"id":572,"extension":271,"meta":573,"name":574,"slug":574,"stem":575,"__hash__":576},"tags\u002Ftags\u002Fgoogle-analytics.yml",{},"google-analytics","tags\u002Fgoogle-analytics","04tt2kepradezfP_kRSWsq1w1BDQ6kJaoVd5RB3wCT4",{"id":578,"extension":271,"meta":579,"name":580,"slug":580,"stem":581,"__hash__":582},"tags\u002Ftags\u002Fhandbook.yml",{},"handbook","tags\u002Fhandbook","D0-VmrV-_WQQnlVvaePXWciWrJ8zuWNJoJULW_rOpmI",{"id":584,"extension":271,"meta":585,"name":586,"slug":587,"stem":588,"__hash__":589},"tags\u002Ftags\u002Fhtml-api.yml",{},"HTML API","html-api","tags\u002Fhtml-api","DBZv8DJ2hZR64GhJALF_-YzUG4mZWG9m2VZE76eM_wY",{"id":591,"extension":271,"meta":592,"name":593,"slug":593,"stem":594,"__hash__":595},"tags\u002Ftags\u002Fhtml5.yml",{},"html5","tags\u002Fhtml5","fcqPnoul30jPoEk6tO8K9WWwU8XyFz3N7-GAse2uwsQ",{"id":597,"extension":271,"meta":598,"name":599,"slug":599,"stem":600,"__hash__":601},"tags\u002Ftags\u002Fimmich.yml",{},"immich","tags\u002Fimmich","yRqxfTgoJptMOBpcKUS-JAmsUYKQZe4N5gyGFXSxoyU",{"id":603,"extension":271,"meta":604,"name":605,"slug":606,"stem":607,"__hash__":608},"tags\u002Ftags\u002Finteligentny-dom.yml",{},"inteligentny dom","inteligentny-dom","tags\u002Finteligentny-dom","LwWCH_MYDfKSgfl9wyRWrWegvCgb2hAnXMlON3OQ0dk",{"id":610,"extension":271,"meta":611,"name":612,"slug":613,"stem":614,"__hash__":615},"tags\u002Ftags\u002Fjaws.yml",{},"Jaws","jaws","tags\u002Fjaws","aklZIj6z2_fzRQ_h9RtAfvXgDhHH9v02f224m6u8B7s",{"id":617,"extension":271,"meta":618,"name":619,"slug":619,"stem":620,"__hash__":621},"tags\u002Ftags\u002Fjunior.yml",{},"junior","tags\u002Fjunior","ega8Cjq-Z5swNxexQG-ROW8hvi0eaDCJj-l4ILDW-4U",{"id":623,"extension":271,"meta":624,"name":625,"slug":249,"stem":626,"__hash__":627},"tags\u002Ftags\u002Fkariera-w-it.yml",{},"kariera w IT","tags\u002Fkariera-w-it","tyqsMUw9eQaVgTnsZy9DZAHFQXZNe0sDZavdgJ0KTcA",{"id":629,"extension":271,"meta":630,"name":631,"slug":632,"stem":633,"__hash__":634},"tags\u002Ftags\u002Fkobiety-w-it.yml",{},"kobiety w IT","kobiety-w-it","tags\u002Fkobiety-w-it","Gm0D6QX7IUT1CDThH6LuhQtWOOWFop09QiDZwX_Tm7c",{"id":636,"extension":271,"meta":637,"name":638,"slug":638,"stem":639,"__hash__":640},"tags\u002Ftags\u002Fkonferencja.yml",{},"konferencja","tags\u002Fkonferencja","-n95F1XvVC7rR9O9sOxyxnKIJBm4i5o3Md_Q-Z72occ",{"id":642,"extension":271,"meta":643,"name":287,"slug":287,"stem":644,"__hash__":645},"tags\u002Ftags\u002Fkonferencje.yml",{},"tags\u002Fkonferencje","Qf_9S1xyR0mqWi1CzdU_iGIwcU8Z0ET_3JBEIOWhaxA",{"id":647,"extension":271,"meta":648,"name":294,"slug":294,"stem":649,"__hash__":650},"tags\u002Ftags\u002Fkonfiguracja.yml",{},"tags\u002Fkonfiguracja","r2NNwL_ZY7xvPy0pUN2IPK8U6qBXSfay_MZbt1FpC2I",{"id":652,"extension":271,"meta":653,"name":654,"slug":654,"stem":655,"__hash__":656},"tags\u002Ftags\u002Fkoronawirus.yml",{},"koronawirus","tags\u002Fkoronawirus","8DgCLCZ1uSF_kl0dmgiEVVM-KkZFxGpXJus3fmMH4sE",{"id":658,"extension":271,"meta":659,"name":660,"slug":661,"stem":662,"__hash__":663},"tags\u002Ftags\u002Fksiazki-programistyczne.yml",{},"książki programistyczne","ksiazki-programistyczne","tags\u002Fksiazki-programistyczne","DF1l0MrjODlaeQ0evw8JedIJJb3v4MpesV0Fi6HpViQ",{"id":665,"extension":271,"meta":666,"name":667,"slug":668,"stem":669,"__hash__":670},"tags\u002Ftags\u002Flenovo-m710q.yml",{},"lenovo m710q","lenovo-m710q","tags\u002Flenovo-m710q","H2DSlpm_FUSkpZXj5AZxrXjTzdGXcfWhIFXE8MAjoJw",{"id":672,"extension":271,"meta":673,"name":674,"slug":674,"stem":675,"__hash__":676},"tags\u002Ftags\u002Fmcp.yml",{},"mcp","tags\u002Fmcp","3PkWXTczUl4idUlqZVtwyAQ2kQ3-wsGGRK8B5IciLZI",{"id":678,"extension":271,"meta":679,"name":680,"slug":680,"stem":681,"__hash__":682},"tags\u002Ftags\u002Fmid.yml",{},"mid","tags\u002Fmid","61US_hzDYC5fw5yPUWya7ZNjc9fOddRUJyOJU3oVKaM",{"id":684,"extension":271,"meta":685,"name":686,"slug":687,"stem":688,"__hash__":689},"tags\u002Ftags\u002Fmini-pc.yml",{},"mini pc","mini-pc","tags\u002Fmini-pc","zCEZkcdMTwLbaNGmGiT8qGCtnECxEafkiJ-glDrozw0",{"id":691,"extension":271,"meta":692,"name":693,"slug":694,"stem":695,"__hash__":696},"tags\u002Ftags\u002Fnas.yml",{},"NAS","nas","tags\u002Fnas","RsN64SVV6BmbaR7e4pVVvGgbxQ0q8ihj5J4b_1oPH2k",{"id":698,"extension":271,"meta":699,"name":301,"slug":301,"stem":700,"__hash__":701},"tags\u002Ftags\u002Fnauka.yml",{},"tags\u002Fnauka","bMIyGRMcT5SRj0bxdrER6sibTNLAHr1enmElQI67jTo",{"id":703,"extension":271,"meta":704,"name":705,"slug":706,"stem":707,"__hash__":708},"tags\u002Ftags\u002Fnauka-programowania.yml",{},"nauka programowania","nauka-programowania","tags\u002Fnauka-programowania","M04c5RtH0Fu4ikOuW9fLy2-g2YBIAX0Yj9SHKEwOuUg",{"id":710,"extension":271,"meta":711,"name":712,"slug":713,"stem":714,"__hash__":715},"tags\u002Ftags\u002Fnvda.yml",{},"NVDA","nvda","tags\u002Fnvda","AS3XsW73sA9-MAI4JVv4y7luo2oGkpXrGptc51MKLQY",{"id":717,"extension":271,"meta":718,"name":719,"slug":720,"stem":721,"__hash__":722},"tags\u002Ftags\u002Fochrona-rodzicielska.yml",{},"ochrona rodzicielska","ochrona-rodzicielska","tags\u002Fochrona-rodzicielska","DZHsS1aBzb6OmeQFhCXy3Qu3QUMHsrbbN62bXmyBB0Q",{"id":724,"extension":271,"meta":725,"name":726,"slug":726,"stem":727,"__hash__":728},"tags\u002Ftags\u002Foptimization.yml",{},"optimization","tags\u002Foptimization","fJedkuv-GIoYXYs-z7AFgjvCxunavWHOWZDesN1EgFU",{"id":730,"extension":271,"meta":731,"name":732,"slug":259,"stem":733,"__hash__":734},"tags\u002Ftags\u002Forganizacja-pracy.yml",{},"organizacja pracy","tags\u002Forganizacja-pracy","IJWHAuqRIlzOIgQbp6B0dYJLpApXOyvDii-k8n_CUCQ",{"id":736,"extension":271,"meta":737,"name":307,"slug":308,"stem":738,"__hash__":739},"tags\u002Ftags\u002Fosx.yml",{},"tags\u002Fosx","QymfouNjzTcNrsPkrZeaPTZdKpMsdYilpn7HRI1FxQQ",{"id":741,"extension":271,"meta":742,"name":743,"slug":744,"stem":745,"__hash__":746},"tags\u002Ftags\u002Fpanel-macro.yml",{},"panel macro","panel-macro","tags\u002Fpanel-macro","WrhWywY5PTfhm7n_TuxTZEWwebeWKfYiQf6n6nh19t4",{"id":748,"extension":271,"meta":749,"name":750,"slug":751,"stem":752,"__hash__":753},"tags\u002Ftags\u002Fpassword-manager.yml",{},"password manager","password-manager","tags\u002Fpassword-manager","viAfKlsGbzjczJJrb8pwaB4tInjCfLzynbSm-GRQz4Y",{"id":755,"extension":271,"meta":756,"name":757,"slug":757,"stem":758,"__hash__":759},"tags\u002Ftags\u002Fpdf.yml",{},"pdf","tags\u002Fpdf","UTB02hK82S5LzDB9kqZWrDRFb8SYzHfFRgCsqFwdBcE",{"id":761,"extension":271,"meta":762,"name":763,"slug":764,"stem":765,"__hash__":766},"tags\u002Ftags\u002Fphp.yml",{},"PHP","php","tags\u002Fphp","Id59psmnOEw6xZ04LGSXqaCSXElgAZVfZdIWk4TTMmU",{"id":768,"extension":271,"meta":769,"name":770,"slug":770,"stem":771,"__hash__":772},"tags\u002Ftags\u002Fpi-hole.yml",{},"pi-hole","tags\u002Fpi-hole","1YJ1tr1Tr23ItFg6rYXw6iKjvPJCdYb2MB_5W1FdZNw",{"id":774,"extension":271,"meta":775,"name":776,"slug":776,"stem":777,"__hash__":778},"tags\u002Ftags\u002Fpixel-mania.yml",{},"pixel-mania","tags\u002Fpixel-mania","N9WX_K8mFmAndjRdRzZX1PonLHyneP4XCJe9kQlGOpY",{"id":780,"extension":271,"meta":781,"name":782,"slug":783,"stem":784,"__hash__":785},"tags\u002Ftags\u002Fplaywright.yml",{},"PlayWright","playwright","tags\u002Fplaywright","fZAbd5k3k85yeGire7iJzvnRk00Wfww8OTu1h6rEuZM",{"id":787,"extension":271,"meta":788,"name":789,"slug":789,"stem":790,"__hash__":791},"tags\u002Ftags\u002Fpraca.yml",{},"praca","tags\u002Fpraca","ra3_bHnZqDrux1PiJ_pW6eqfX7l-uIFUPUhPqaq5cf4",{"id":793,"extension":271,"meta":794,"name":795,"slug":796,"stem":797,"__hash__":798},"tags\u002Ftags\u002Fpraca-zdalna.yml",{},"praca zdalna","praca-zdalna","tags\u002Fpraca-zdalna","HD5EOgzs-b3t5KIBRxlWQr0FuQVJ4N7eLQJV77YWcqc",{"id":800,"extension":271,"meta":801,"name":802,"slug":802,"stem":803,"__hash__":804},"tags\u002Ftags\u002Fprezentacja.yml",{},"prezentacja","tags\u002Fprezentacja","eiP5x-l400TtOy-gxO3TyOqYwcD4LP65jJ--7H-jyng",{"id":806,"extension":271,"meta":807,"name":808,"slug":808,"stem":809,"__hash__":810},"tags\u002Ftags\u002Fprivacy.yml",{},"privacy","tags\u002Fprivacy","Ln1AAZQ3fPOzuMJB0BWwUsjwaWTI7cFtzI6TaPrvKXc",{"id":812,"extension":271,"meta":813,"name":248,"slug":248,"stem":814,"__hash__":815},"tags\u002Ftags\u002Fprogramowanie.yml",{},"tags\u002Fprogramowanie","EUO8owu6V8cJivzRtVvD12KgW4ojOCp-N7aI4euHEa0",{"id":817,"extension":271,"meta":818,"name":819,"slug":819,"stem":820,"__hash__":821},"tags\u002Ftags\u002Fproxmox.yml",{},"proxmox","tags\u002Fproxmox","2AZfZmPZffxT3YuTVGHbsGvqKzpNRfot-OjFS6kkSYs",{"id":823,"extension":271,"meta":824,"name":825,"slug":826,"stem":827,"__hash__":828},"tags\u002Ftags\u002Fprywatny-dns.yml",{},"prywatny DNS","prywatny-dns","tags\u002Fprywatny-dns","kq-27-SNzP2YitFANg5iLgu0kdzyufoiOCLYApAehUc",{"id":830,"extension":271,"meta":831,"name":832,"slug":832,"stem":833,"__hash__":834},"tags\u002Ftags\u002Fprzekwalifikowanie.yml",{},"przekwalifikowanie","tags\u002Fprzekwalifikowanie","TqQNM6H8dfkRMTjNT8ZWyzynSMGeFjxseCt7-fZq0nA",{"id":836,"extension":271,"meta":837,"name":838,"slug":839,"stem":840,"__hash__":841},"tags\u002Ftags\u002Freact.yml",{},"React","react","tags\u002Freact","nXIcvF19iFz3UIXk2jbbJKRrr1_S9NLNYH3PUX_a2C4",{"id":843,"extension":271,"meta":844,"name":845,"slug":845,"stem":846,"__hash__":847},"tags\u002Ftags\u002Fredux.yml",{},"redux","tags\u002Fredux","CYtiFQKJae6MZE4Z_2qWwt7OGctPAutMzfD9f35a6-A",{"id":849,"extension":271,"meta":850,"name":851,"slug":851,"stem":852,"__hash__":853},"tags\u002Ftags\u002Fretro.yml",{},"retro","tags\u002Fretro","5AjMkMU44tDn8TV2FSTzbrvxoE7rplMmkLej7E-RIYM",{"id":855,"extension":271,"meta":856,"name":857,"slug":858,"stem":859,"__hash__":860},"tags\u002Ftags\u002Fretropi.yml",{},"RetroPi","retropi","tags\u002Fretropi","v_z0VjrAHiqYkzENB2DRMmo-V9VwE-8D2V_pRT-EBxw",{"id":862,"extension":271,"meta":863,"name":864,"slug":865,"stem":866,"__hash__":867},"tags\u002Ftags\u002Frozwoj.yml",{},"rozwój","rozwoj","tags\u002Frozwoj","RkL4It2FQnfcyHt1gNPjQ7cLqxrpgMy9ewFnPkF5sms",{"id":869,"extension":271,"meta":870,"name":871,"slug":872,"stem":873,"__hash__":874},"tags\u002Ftags\u002Frzemieslnik.yml",{},"rzemieślnik","rzemieslnik","tags\u002Frzemieslnik","fLVgsq47mga12X6gNKQ6QM5tpWdwICnLJwfSDwk1xEE",{"id":876,"extension":271,"meta":877,"name":878,"slug":878,"stem":879,"__hash__":880},"tags\u002Ftags\u002Fsaas.yml",{},"saas","tags\u002Fsaas","IJK35nx0P9hIm-I-szhYuII4LVixyUi2zgQINNh0irc",{"id":882,"extension":271,"meta":883,"name":884,"slug":885,"stem":886,"__hash__":887},"tags\u002Ftags\u002Fsamodzielnosc.yml",{},"samodzielność","samodzielnosc","tags\u002Fsamodzielnosc","mu6DqJVN-dhRiXCnV4A5ewTRx_ndkWH_pu7Fdf7n6XI",{"id":889,"extension":271,"meta":890,"name":891,"slug":891,"stem":892,"__hash__":893},"tags\u002Ftags\u002Fselfhosting.yml",{},"selfhosting","tags\u002Fselfhosting","ScAMu2i5h-QpOOGEuIvBN9fQn0ZmfyYfvD-561cUzKs",{"id":895,"extension":271,"meta":896,"name":897,"slug":897,"stem":898,"__hash__":899},"tags\u002Ftags\u002Fsenior.yml",{},"senior","tags\u002Fsenior","DFUFihqxLSI2g34_DFYLVSXQnP79966itG8NnBs44TE",{"id":901,"extension":271,"meta":902,"name":903,"slug":903,"stem":904,"__hash__":905},"tags\u002Ftags\u002Fsentry.yml",{},"sentry","tags\u002Fsentry","1GB1pnjVg6ZwTqvwK7ZE529QpP-274G7z278-psv9U8",{"id":907,"extension":271,"meta":908,"name":909,"slug":910,"stem":911,"__hash__":912},"tags\u002Ftags\u002Fsieci-komputerowe.yml",{},"sieci komputerowe","sieci-komputerowe","tags\u002Fsieci-komputerowe","lziU51DXijHvzSYVgbK5r_aRCBS9KLdgU5FWjE3pD4s",{"id":914,"extension":271,"meta":915,"name":916,"slug":917,"stem":918,"__hash__":919},"tags\u002Ftags\u002Fsmart-home.yml",{},"smart home","smart-home","tags\u002Fsmart-home","wjGS16vdTWjBvPIfyZ7Jjv2rSAUfgKxYQTfVmfE_oNc",{"id":921,"extension":271,"meta":922,"name":923,"slug":924,"stem":925,"__hash__":926},"tags\u002Ftags\u002Fsmr.yml",{},"SMR","smr","tags\u002Fsmr","hd_86HRNRQ5vp9GFDgvFR3iXcRs57XNvESz05e-vh-o",{"id":928,"extension":271,"meta":929,"name":930,"slug":232,"stem":931,"__hash__":932},"tags\u002Ftags\u002Fspec-driven-development.yml",{},"spec driven development","tags\u002Fspec-driven-development","pRJfzF2rB7P3VMxiDxsyAopJH0NcnJST_JxiVDwkL68",{"id":934,"extension":271,"meta":935,"name":936,"slug":936,"stem":937,"__hash__":938},"tags\u002Ftags\u002Fspotkanie.yml",{},"spotkanie","tags\u002Fspotkanie","G-4xZsmDWDaZnA1t7fWrsGY0CvA2PWBRch_ISxgV3eY",{"id":940,"extension":271,"meta":941,"name":942,"slug":942,"stem":943,"__hash__":944},"tags\u002Ftags\u002Fstash.yml",{},"stash","tags\u002Fstash","x-cfxrcr_me1q-Ea4BqtRl041a1CjwZbFM76VlobkVE",{"id":946,"extension":271,"meta":947,"name":948,"slug":949,"stem":950,"__hash__":951},"tags\u002Ftags\u002Fstore-management.yml",{},"store management","store-management","tags\u002Fstore-management","BDlb8jliEvzP4ByR_nwh5YcPAphegyjsvxnwheppvwM",{"id":953,"extension":271,"meta":954,"name":955,"slug":956,"stem":957,"__hash__":958},"tags\u002Ftags\u002Fstream-deck.yml",{},"stream deck","stream-deck","tags\u002Fstream-deck","ETKaTcPMSGRXiF8fX9HaCChrkWvjK1Qhc8DCtKNRLFo",{"id":960,"extension":271,"meta":961,"name":962,"slug":963,"stem":964,"__hash__":965},"tags\u002Ftags\u002Fstudia-podyplomowe.yml",{},"studia podyplomowe","studia-podyplomowe","tags\u002Fstudia-podyplomowe","CllbIMrpHwk7nHpdgNS5EJlfoY37AYtu6D28xcL7B8Y",{"id":967,"extension":271,"meta":968,"name":969,"slug":969,"stem":970,"__hash__":971},"tags\u002Ftags\u002Fswitch.yml",{},"switch","tags\u002Fswitch","PqeuQm8ai89DcVFTdIBBYnrs6IVq0oystkF3JdV2cbQ",{"id":973,"extension":271,"meta":974,"name":975,"slug":976,"stem":977,"__hash__":978},"tags\u002Ftags\u002Fszafa-rack.yml",{},"szafa rack","szafa-rack","tags\u002Fszafa-rack","Tdq-0TqjtHfOvyhnHIwrDsPzQYMI6Rkb3iJBoqgudAc",{"id":980,"extension":271,"meta":981,"name":982,"slug":982,"stem":983,"__hash__":984},"tags\u002Ftags\u002Fszkolenia.yml",{},"szkolenia","tags\u002Fszkolenia","Ty9KLofCdboQngGvYkJOH1YZpBX-E3_Y1SLrdGucptY",{"id":986,"extension":271,"meta":987,"name":988,"slug":989,"stem":990,"__hash__":991},"tags\u002Ftags\u002Fszkolenie-front-end.yml",{},"szkolenie front-end","szkolenie-front-end","tags\u002Fszkolenie-front-end","yv2XwBbhwF8m1vceHXglBt_lax32HDj4iqYS8ymfIpM",{"id":993,"extension":271,"meta":994,"name":995,"slug":996,"stem":997,"__hash__":998},"tags\u002Ftags\u002Fszkolnictwo-zawodowe.yml",{},"szkolnictwo zawodowe","szkolnictwo-zawodowe","tags\u002Fszkolnictwo-zawodowe","wHy70cvPzW-iXNTesa8dnmsUN3GZ6RQ_08rvp2jcr-o",{"id":1000,"extension":271,"meta":1001,"name":1002,"slug":1002,"stem":1003,"__hash__":1004},"tags\u002Ftags\u002Ftech3camp.yml",{},"tech3camp","tags\u002Ftech3camp","2xN4prsqldeVcTsCibyLj-T84k_q27SekfsQ9H3ml6w",{"id":1006,"extension":271,"meta":1007,"name":1008,"slug":1008,"stem":1009,"__hash__":1010},"tags\u002Ftags\u002Ftestowanie.yml",{},"testowanie","tags\u002Ftestowanie","bQ7J7HLrZe6c9Me3bn_3VCbshav5tsqNTBIwd0xkRaQ",{"id":1012,"extension":271,"meta":1013,"name":1014,"slug":1014,"stem":1015,"__hash__":1016},"tags\u002Ftags\u002Ftesty.yml",{},"testy","tags\u002Ftesty","JDNtVkIDLY5e-th779qHOQFRrQ6Ywoq8us2HXlBz9PY",{"id":1018,"extension":271,"meta":1019,"name":1020,"slug":1021,"stem":1022,"__hash__":1023},"tags\u002Ftags\u002Ftruenas.yml",{},"TrueNas","truenas","tags\u002Ftruenas","jGviBDrcOLcc4LIDAMUINs_clt6cqQIbnmCsGjlBoEU",{"id":1025,"extension":271,"meta":1026,"name":1027,"slug":1027,"stem":1028,"__hash__":1029},"tags\u002Ftags\u002Ftuya.yml",{},"tuya","tags\u002Ftuya","MwpPoYlxeAiebaRVNdxytmFq9k0BpiTEbiEvwh4pfq4",{"id":1031,"extension":271,"meta":1032,"name":1033,"slug":1033,"stem":1034,"__hash__":1035},"tags\u002Ftags\u002Fublock.yml",{},"ublock","tags\u002Fublock","EPnKEvKkfWB2hbpkolTIytNQ9c12jSrnctf8CWEVbUM",{"id":1037,"extension":271,"meta":1038,"name":1039,"slug":258,"stem":1040,"__hash__":1041},"tags\u002Ftags\u002Fvibe-coding.yml",{},"vibe coding","tags\u002Fvibe-coding","7opTTOzdTg7lmOqjdEXuPDBmub2bke1Tqn1DEPdtUT4",{"id":1043,"extension":271,"meta":1044,"name":1045,"slug":1046,"stem":1047,"__hash__":1048},"tags\u002Ftags\u002Fvirtual-host.yml",{},"virtual host","virtual-host","tags\u002Fvirtual-host","Ru2r4wU7txKcWDbL3hq2QGx7v8gKwTJE25BItrzjqCQ",{"id":1050,"extension":271,"meta":1051,"name":1052,"slug":1053,"stem":1054,"__hash__":1055},"tags\u002Ftags\u002Fvoiceover.yml",{},"VoiceOver","voiceover","tags\u002Fvoiceover","7_jZqkfOk163vezQCATCpkIhdxmxfXe5dsLjgORGRWc",{"id":1057,"extension":271,"meta":1058,"name":1059,"slug":1060,"stem":1061,"__hash__":1062},"tags\u002Ftags\u002Fvue.yml",{},"Vue","vue","tags\u002Fvue","9ztytvQnoFLSGIXCwVz0HDl1yEBgdxBtwfIb4xxED8w",{"id":1064,"extension":271,"meta":1065,"name":1066,"slug":336,"stem":1067,"__hash__":1068},"tags\u002Ftags\u002Fvue-js.yml",{},"vue.js","tags\u002Fvue-js","ZEglZJ4b32MxGRUCWg3ij0_Sz-YkJDI60yOFUG3Dip8",{"id":1070,"extension":271,"meta":1071,"name":1072,"slug":1072,"stem":1073,"__hash__":1074},"tags\u002Ftags\u002Fvuejs.yml",{},"vuejs","tags\u002Fvuejs","Qz3030ujqXE_33tL5hbF8n1MGIh1jpRtdzXVrQT79jA",{"id":1076,"extension":271,"meta":1077,"name":1078,"slug":1078,"stem":1079,"__hash__":1080},"tags\u002Ftags\u002Fvuenews.yml",{},"vuenews","tags\u002Fvuenews","5I7T-cG9aZzeR62I-tWYDruQvjkSbRxtAeDI9otWrR8",{"id":1082,"extension":271,"meta":1083,"name":1084,"slug":1084,"stem":1085,"__hash__":1086},"tags\u002Ftags\u002Fvuetoolbox.yml",{},"vuetoolbox","tags\u002Fvuetoolbox","y5NXiZfQviI16DIkNjTxSwnLQIyrXs7OBZjVY1IyNmk",{"id":1088,"extension":271,"meta":1089,"name":1090,"slug":1090,"stem":1091,"__hash__":1092},"tags\u002Ftags\u002Fvuex.yml",{},"vuex","tags\u002Fvuex","ksF82HLoN49mJn2cJ0DhYz_Dt6mlrJDT82Ufu6QKmKQ",{"id":1094,"extension":271,"meta":1095,"name":1096,"slug":1097,"stem":1098,"__hash__":1099},"tags\u002Ftags\u002Fweb-development.yml",{},"web development","web-development","tags\u002Fweb-development","144N0DLmtEIX98zdSuOWIsCZYMHyxStp8_ZksWK2M7E",{"id":1101,"extension":271,"meta":1102,"name":1103,"slug":1104,"stem":1105,"__hash__":1106},"tags\u002Ftags\u002Fwladyslawowo.yml",{},"Władysławowo","wladyslawowo","tags\u002Fwladyslawowo","LgrtfAzosbyNoEeZ6_GWMrueP29fN7fPL3N5Kp5Wm4w",{"id":1108,"extension":271,"meta":1109,"name":1110,"slug":1111,"stem":1112,"__hash__":1113},"tags\u002Ftags\u002Fwork-life-balance.yml",{},"work-life balance","work-life-balance","tags\u002Fwork-life-balance","hXw9EMtMUVm71LSUBz1o6Ttz7xlyrsnMo-VOEfMJwr0",{"id":1115,"extension":271,"meta":1116,"name":1117,"slug":1118,"stem":1119,"__hash__":1120},"tags\u002Ftags\u002Fxbox.yml",{},"XBOX","xbox","tags\u002Fxbox","tDsqBFEx88ZSQxV8Q78dFlkSdjNdQOwFU4jn0D2wcYQ",{"id":1122,"avatar":1123,"bio":1124,"extension":271,"intro":1125,"links":1126,"meta":1131,"name":1132,"slug":6,"stem":1133,"__hash__":1134},"authors\u002Fauthors\u002Fmaciej-walczak.yml","\u002Fmaciej.png","Senior Front-End Developer, właściciel MacWebcoder.","Cześć! Nazywam się Maciek i od ponad 20 lat zajmuję się programowaniem – głównie front‑endu. Na tym blogu piszę o swoich przemyśleniach z pracy programisty, o technologii, homelab i ciekawostkach ze świata IT.",[1127],{"label":1128,"url":1129,"icon":1130},"YouTube","https:\u002F\u002Fwww.youtube.com\u002Fchannel\u002FUCMG_PvHPcSe0TCmnIXvzB1Q","i-lucide-youtube",{},"Maciej Walczak","authors\u002Fmaciej-walczak","zR4CssmAAiZ3XLyomJsaFt6vS-eKt3306erj5lV90_8",1793419249706]