[{"data":1,"prerenderedAt":1107},["ShallowReactive",2],{"post:\u002Fblog\u002F9-zasad-programowania-z-ai-5-zamien-bledy-w-guardraile":3,"surround:\u002Fblog\u002F9-zasad-programowania-z-ai-5-zamien-bledy-w-guardraile":208,"related:\u002Fblog\u002F9-zasad-programowania-z-ai-5-zamien-bledy-w-guardraile":213,"categories":237,"tags":308,"post-author:maciej-walczak":1093},{"id":4,"title":5,"author":6,"body":7,"categories":187,"comments":189,"cover":15,"coverAlt":13,"date":190,"description":191,"draft":192,"extension":193,"hidden":192,"meta":194,"navigation":189,"path":195,"readingTime":196,"redirectFrom":197,"seo":198,"sitemap":199,"slug":200,"stem":201,"tags":202,"updated":206,"wpId":206,"__hash__":207},"blog\u002Fblog\u002F2026-11-06-9-zasad-programowania-z-ai-5-zamien-bledy-w-guardraile.md","9 zasad programowania z AI - #5: Zamień błędy w guardraile","maciej-walczak",{"type":8,"value":9,"toc":176},"minimark",[10,17,30,35,41,44,54,58,61,64,68,71,87,90,94,97,100,104,107,113,117,120,123,131,135,164,167,170,173],[11,12],"figure",{"alt":13,"height":14,"src":15,"width":16},"Okładka z napisem „9 zasad programowania z AI” i pod nim „#5 Zamień błędy w guardraile” w prawym górnym rogu. Ilustracja w stylu płaskiej grafiki wektorowej. Na krętej górskiej drodze po lewej programista w okularach kuca z pędzlem i puszką farby i maluje pomarańczową barierkę. Pośrodku mały biały robot jedzie pomarańczowym gokartem, a przy barierce po prawej stoi znak ze strzałką w prawo, wskazujący zakręt.",1086,"https:\u002F\u002F5icqmonbzxnrw2bn.public.blob.vercel-storage.com\u002F2026\u002F11\u002F9-zasad-5-guardraile-okladka.png",1448,[18,19,20,21,29],"p",{},"W ",[22,23,25],"a",{"href":24},"\u002Fblog\u002F9-zasad-programowania-z-ai-4-zadaj-dowodu",[26,27,28],"strong",{},"poprzedniej części"," agent musiał udowodnić, że skończył pracę. Ale jeśli co tydzień dowodzi tego samego, a my co tydzień poprawiamy ten sam błąd, to dowody niewiele zmieniają. Czas zająć się przyczyną.",[31,32,34],"h2",{"id":33},"zasada-5-zamień-powtarzające-się-błędy-w-guardraile","Zasada #5: zamień powtarzające się błędy w guardraile",[18,36,37,40],{},[26,38,39],{},"Gdy ten sam błąd wraca w kolejnych zadaniach, nie poprawiaj kodu, tylko środowisko."," Automatyczny sprawdzacz kodu (tzw. lint), specjalny test, plik z zasadami albo drugi agent-recenzent przypomną agentowi o wymaganiu dokładnie wtedy, gdy trzeba, i zrobią to na stałe.",[18,42,43],{},"Guardrail to po polsku barierka: coś, co nie pozwala zjechać z drogi, zamiast prosić kierowcę, żeby uważał.",[18,45,46,47,53],{},"Dlaczego samo polecenie dla agenta nie wystarczy? Ryan Lopopolo z OpenAI mówi, że do jednej dobrej poprawki w kodzie potrzeba mniej więcej 500 drobnych decyzji w sprawach, których nie widać na pierwszy rzut oka: jak długo czekać na odpowiedź innego systemu, co robić przy błędzie, jak porządkować kod. Agent widział mnóstwo kodu z każdym możliwym wyborem, więc to my musimy zapisać, który jest dla nas akceptowalny. Nie zmieści się to w jednym poleceniu, a kontekst jest przecież ograniczony (",[22,48,50],{"href":49},"\u002Fblog\u002F9-zasad-programowania-z-ai-1-zarzadzaj-kontekstem",[26,51,52],{},"o czym była mowa na początku serii",").",[31,55,57],{"id":56},"przykład-timeout-i-retry","Przykład: timeout i retry",[18,59,60],{},"Weźmy przykład znany każdemu, kogo kiedyś wezwano do awarii sieciowej. Gdy program pyta inny system o dane, a ten nie odpowiada, trzeba ustalić dwie rzeczy: ile czekać (tzw. timeout) i czy spróbować jeszcze raz (retry). Kto o tym zapomni, ryzykuje awarię, której jedno ponowienie by uniknęło. Lopopolo przyznaje, że sam nieraz dopisywał te zabezpieczenia w poprawce błędu i szedł dalej, bo jako autor i recenzent kodu nie jest w tym niezawodny.",[18,62,63],{},"Zamiast na pamięć, postawił na system: dokument oraz własny sprawdzacz kodu (lint), który pilnuje, żeby każde wywołanie sieciowe miało limit czasu i ponowienie. Problem rozwiązany raz na stałe, bo agent potrafi przerobić cały istniejący kod pod nową regułę.",[31,65,67],{"id":66},"testy-na-kod-źródłowy","Testy na kod źródłowy",[18,69,70],{},"Drugi rodzaj to testy, które sprawdzają nie to, co program robi, tylko jak jest zbudowany. W jego zespole takich testów jest kilka:",[72,73,74,78,81,84],"ul",{},[75,76,77],"li",{},"plik nie może mieć więcej niż 350 linii (agentowi łatwiej go zmieścić w kontekście),",[75,79,80],{},"porządek w tym, który fragment kodu może korzystać z którego,",[75,82,83],{},"jedno wspólne narzędzie do danej czynności zamiast wielu kopii,",[75,85,86],{},"brak zdublowanych opisów tych samych danych.",[18,88,89],{},"Powód? Agent czasem dba o porządek w jednym fragmencie kodu i pisze własne rozwiązanie, zamiast sięgnąć po wspólne narzędzie. Taki test to wychwytuje, a człowiek nie musi tracić uwagi na takie rzeczy podczas przeglądu zmian.",[31,91,93],{"id":92},"komunikat-błędu-jest-promptem","Komunikat błędu jest promptem",[18,95,96],{},"Sama blokada nie uczy. Różnicę widać na przykładzie: zamiast suchego „błąd w linii 12” komunikat powinien powiedzieć, czego nie wolno, dlaczego (dane sprawdzamy przy wejściu do programu, a nie w środku) i co zamiast tego zrobić (użyć gotowego opisu danych). To samo dotyczy złączy MCP, przez które agent korzysta z zewnętrznych narzędzi: według materiału o ich projektowaniu błąd powinien mówić, co poszło nie tak, dlaczego i co spróbować dalej. W przykładzie z Goose, gdy plik jest za duży (ponad 400 KB), komunikat tłumaczy limit i podpowiada, jak wczytać tylko jego fragment.",[18,98,99],{},"Jeszcze jedna rada z materiału o MCP: loguj najczęstsze błędy agenta, bo często wskazują błąd w opisie narzędzia, a nie w samym agencie.",[31,101,103],{"id":102},"instrukcje-wtedy-gdy-są-potrzebne","Instrukcje wtedy, gdy są potrzebne",[18,105,106],{},"Nie trzeba też ładować wszystkich wymagań na starcie. Dobrze to widać na przykładzie interfejsu strony, który ma składać się z małych, niezależnych kawałków. Zamiast wciskać to w polecenie na początku, Lopopolo pozwala agentowi najpierw pobawić się interfejsem, a dopiero przy sprawdzeniu mówi: żeby to skończyć, rozbij ten fragment na mniejsze. Agent traktuje to jako nową instrukcję i poprawia swoją pracę. Takie podejście ma przy okazji tę zaletę, że nie zestarzeje się wraz z kolejnymi modelami.",[11,108],{"alt":109,"height":110,"src":111,"width":112},"Pętla z czterech kroków: „Błąd w PR” (ten sam po raz drugi), „Reguła” (lint, test, plik z zasadami), „Komunikat” (mówi, co zrobić), „Samonaprawa” (agent sam, przed PR). Strzałka zwrotna z ostatniego kroku do pierwszego: mniej uwag w kolejnych PR-ach. Nad krokiem „Reguła” podpis: raz w tygodniu dzień porządków. Nagłówek: „Pętla guardraili”.",420,"https:\u002F\u002F5icqmonbzxnrw2bn.public.blob.vercel-storage.com\u002F2026\u002F11\u002F9-zasad-5-guardraile-schemat.svg",1200,[31,114,116],{"id":115},"rytuał-dzień-porządków","Rytuał: dzień porządków",[18,118,119],{},"Reguły nie biorą się znikąd. Zespół Lopopolo ma w piątki dzień „sprzątania” (po angielsku „garbage collection”): każdy zbiera „śmieci”, które w tygodniu utrudniały włączanie zmian do głównej wersji kodu, i szuka sposobu, żeby wyeliminować całą klasę takich problemów. Uwaga z przeglądu zmian staje się dokumentem w repozytorium, a potem testem albo agentem-recenzentem.",[18,121,122],{},"Takich recenzentów mają kilku, każdy w innej roli (architekt interfejsu, inżynier niezawodności, ktoś od skalowalności). Uruchamiają się przy każdej wysłanej zmianie i zgłaszają problemy poważniejsze niż drobna uwaga, na podstawie dokumentów opisujących, jak wygląda dobra robota. Po dopisaniu kolejnych reguł „śmieci” w PR-ach zaczęło ubywać.",[18,124,125,126,130],{},"W zespole Claude Code działa podobnie: powtarzający się komentarz zamienia się w poprawkę u źródła, czyli w instrukcję dla agenta (skill), regułę sprawdzacza kodu albo plik z zasadami. Jednym z takich plików jest ",[127,128,129],"code",{},"REVIEW.md"," (zasady przeglądu zmian), który piszą właściciele kodu: jak wygląda porażka w danym miejscu, ile drobnych uwag wolno zgłaszać, które fragmenty pomijać i że każde znalezisko wymaga dowodu (plik i linia).",[31,132,134],{"id":133},"co-z-tym-zrobić-od-jutra","Co z tym zrobić od jutra?",[72,136,137,143,149,158],{},[75,138,139,142],{},[26,140,141],{},"Prowadź listę „co poprawiam drugi raz”",", a raz w tygodniu zamień jedną pozycję w automatyczną regułę lub test",[75,144,145,148],{},[26,146,147],{},"Zacznij od jednej prostej reguły",", np. maksymalnej długości pliku, i jednego komunikatu błędu z instrukcją naprawy",[75,150,151,154,155,157],{},[26,152,153],{},"Spisz zasady przeglądu zmian"," (np. w pliku ",[127,156,129],{},"): czego szukać, czego nie komentować, jak wygląda dowód",[75,159,160,163],{},[26,161,162],{},"Błędy w swoich narzędziach pisz tak",", żeby agent po nich wiedział, co zrobić",[18,165,166],{},"Jedna pułapka: guardrail bez komunikatu naprawczego tylko blokuje agenta. Reguła ma wskazywać drogę, a nie ją zamykać.",[18,168,169],{},"To praktyka jednego zespołu na dużą skalę, z bardzo dużym budżetem na tokeny. Zasada jest jednak niezależna od rozmiaru: błąd, który wraca raz po raz, zasługuje na regułę.",[18,171,172],{},"W następnej części zajmiemy się skillami: dlaczego lepiej mieć ich mało, małe i mierzone.",[18,174,175],{},"A Wy – jakiego błędu agenta poprawiacie najczęściej i co by go zamknęło: lint, test czy recenzent? Napiszcie w komentarzach 🙂",{"title":177,"searchDepth":178,"depth":178,"links":179},"",2,[180,181,182,183,184,185,186],{"id":33,"depth":178,"text":34},{"id":56,"depth":178,"text":57},{"id":66,"depth":178,"text":67},{"id":92,"depth":178,"text":93},{"id":102,"depth":178,"text":103},{"id":115,"depth":178,"text":116},{"id":133,"depth":178,"text":134},[188],"artykuly",true,"2026-11-06","Zasada #5: gdy ten sam błąd wraca w każdym zadaniu, nie poprawiaj kodu. Zamień go w lint, test lub regułę, która sama przypomni agentowi o wymaganiu.",false,"md",{},"\u002Fblog\u002F9-zasad-programowania-z-ai-5-zamien-bledy-w-guardraile",5,[],{"title":5,"description":191},{"loc":195},"9-zasad-programowania-z-ai-5-zamien-bledy-w-guardraile","blog\u002F2026-11-06-9-zasad-programowania-z-ai-5-zamien-bledy-w-guardraile",[203,204,205],"ai","claude-code","testowanie",null,"5gwxs9CP8JlvkrQtNS2q4vFvIlSfDM7QzThpF8v_tZU",[209,206],{"title":210,"path":24,"stem":211,"description":212,"children":-1},"9 zasad programowania z AI - #4: Żądaj dowodu","blog\u002F2026-11-04-9-zasad-programowania-z-ai-4-zadaj-dowodu","Zasada #4: agent napisze „zrobione”, nawet jeśli nie zrobił. Zamiast prosić o uczciwość, zadbajmy, żeby dowód był najłatwiejszą drogą do końca zadania.",[214,220,228],{"path":24,"title":210,"description":212,"date":215,"categories":216,"tags":217,"readingTime":218,"draft":192,"cover":219},"2026-11-04",[188],[203,204,205],4,"https:\u002F\u002F5icqmonbzxnrw2bn.public.blob.vercel-storage.com\u002F2026\u002F11\u002F9-zasad-4-dowod-okladka.png",{"path":221,"title":222,"description":223,"date":224,"categories":225,"tags":226,"readingTime":218,"draft":192,"cover":227},"\u002Fblog\u002F9-zasad-programowania-z-ai-3-zdefiniuj-gotowe","9 zasad programowania z AI - #3: Zdefiniuj „gotowe”","Zasada #3: jeśli „gotowe” definiuje ten sam agent, który napisał kod, jego testy potwierdzają decyzje zamiast łapać błędy. Kryteria zapisz przed kodem.","2026-11-02",[188],[203,204,205],"https:\u002F\u002F5icqmonbzxnrw2bn.public.blob.vercel-storage.com\u002F2026\u002F11\u002F9-zasad-3-gotowe-okladka.png",{"path":229,"title":230,"description":231,"date":232,"categories":233,"tags":234,"readingTime":196,"draft":192,"cover":236},"\u002Fblog\u002F9-zasad-programowania-z-ai-2-ustalcie-o-co-chodzi","9 zasad programowania z AI - #2: Ustalcie, o co chodzi","Zasada #2: najdroższy błąd w pracy z agentem to nietrafione zrozumienie zadania, więc ustalcie, co budujemy, zanim padnie pierwsza linijka kodu.","2026-10-31",[188],[203,204,235],"spec-driven-development","https:\u002F\u002F5icqmonbzxnrw2bn.public.blob.vercel-storage.com\u002F2026\u002F10\u002F9-zasad-2-ustalcie-okladka.png",[238,245,252,259,266,273,280,287,294,301],{"id":239,"description":206,"extension":240,"meta":241,"name":242,"slug":188,"stem":243,"__hash__":244},"categories\u002Fcategories\u002Fartykuly.yml","yml",{},"Artykuły","categories\u002Fartykuly","aw37OCuccDz54Q07CDyESiid8VqHzN1nGf8cMOk_mI0",{"id":246,"description":206,"extension":240,"meta":247,"name":248,"slug":249,"stem":250,"__hash__":251},"categories\u002Fcategories\u002Fdostepnosc-cyfrowa.yml",{},"Dostępność cyfrowa","dostepnosc-cyfrowa","categories\u002Fdostepnosc-cyfrowa","6m7Ag8ZZ1EzfdgLuQnAUAMmRcjkgb2tpFM9n1qxANOM",{"id":253,"description":206,"extension":240,"meta":254,"name":255,"slug":256,"stem":257,"__hash__":258},"categories\u002Fcategories\u002Fkonferencje.yml",{},"Konferencje","konferencje","categories\u002Fkonferencje","dQl4MW7163iEG-b7Cv6FJ2gUxLqnpaiMOLixCXvhHTw",{"id":260,"description":206,"extension":240,"meta":261,"name":262,"slug":263,"stem":264,"__hash__":265},"categories\u002Fcategories\u002Fkonfiguracja.yml",{},"Konfiguracja","konfiguracja","categories\u002Fkonfiguracja","ESTOPlJnBPnwuuqgOm7yqGAwgllsRJfSPVk22K_nQe0",{"id":267,"description":206,"extension":240,"meta":268,"name":269,"slug":270,"stem":271,"__hash__":272},"categories\u002Fcategories\u002Fnauka.yml",{},"Nauka","nauka","categories\u002Fnauka","3hQRPpuXqoNblW09Gj46arWFgH-3YfsMcgDyd4xLkN4",{"id":274,"description":206,"extension":240,"meta":275,"name":276,"slug":277,"stem":278,"__hash__":279},"categories\u002Fcategories\u002Fosx.yml",{},"OSX","osx","categories\u002Fosx","WW8-0hUIqcivgAUl8WQuAvJ3-xVLRLjLkmP00PP4eXY",{"id":281,"description":206,"extension":240,"meta":282,"name":283,"slug":284,"stem":285,"__hash__":286},"categories\u002Fcategories\u002Fpolecane.yml",{},"Polecane","polecane","categories\u002Fpolecane","ckLXqMEBUHLxZavR7FGvpQjhxc7ycP_sQ7myEw64R9I",{"id":288,"description":206,"extension":240,"meta":289,"name":290,"slug":291,"stem":292,"__hash__":293},"categories\u002Fcategories\u002Fpomoce.yml",{},"Pomoce","pomoce","categories\u002Fpomoce","3oKSrG-VgrihP1nofQwuUItxUsyzVfgEfTMF2vq7EIw",{"id":295,"description":206,"extension":240,"meta":296,"name":297,"slug":298,"stem":299,"__hash__":300},"categories\u002Fcategories\u002Fprezentacje.yml",{},"Prezentacje","prezentacje","categories\u002Fprezentacje","4L5LUH8zxl0qXRvdymYTwtrkuj1tQun8R7yYz_OfndE",{"id":302,"description":206,"extension":240,"meta":303,"name":304,"slug":305,"stem":306,"__hash__":307},"categories\u002Fcategories\u002Fvue-js.yml",{},"Vue.js","vue-js","categories\u002Fvue-js","wOIuiF3jWQ-Zph8v7hYGNuLdJbCx0VguVg0loyh-Mwk",[309,315,320,326,333,340,347,354,360,367,374,381,387,394,401,408,415,422,429,435,442,449,455,461,467,473,479,485,491,497,503,509,516,522,528,534,540,546,552,559,565,571,578,585,591,598,605,611,616,621,627,634,641,647,653,660,667,672,679,686,693,699,706,711,718,725,731,738,744,750,757,763,770,776,782,788,794,801,807,814,820,826,833,840,847,853,860,866,872,878,885,892,899,905,911,917,924,931,938,944,951,957,964,971,977,982,988,995,1001,1007,1014,1021,1028,1035,1041,1047,1053,1059,1065,1072,1079,1086],{"id":310,"extension":240,"meta":311,"name":312,"slug":312,"stem":313,"__hash__":314},"tags\u002Ftags\u002Faccessibility.yml",{},"accessibility","tags\u002Faccessibility","luflFOwd8bzxVK2qeBv80Pzxhje6x-hbJYaDUihuwOk",{"id":316,"extension":240,"meta":317,"name":203,"slug":203,"stem":318,"__hash__":319},"tags\u002Ftags\u002Fai.yml",{},"tags\u002Fai","dps1QD2_kN7ri7PVTP0uaeL-lYhL69nCwndkqEqLLhU",{"id":321,"extension":240,"meta":322,"name":323,"slug":323,"stem":324,"__hash__":325},"tags\u002Ftags\u002Fanalityka.yml",{},"analityka","tags\u002Fanalityka","OazPvU9cHqo-nX1NPUamjhpZH7roEImTsqB55m-1Ewg",{"id":327,"extension":240,"meta":328,"name":329,"slug":330,"stem":331,"__hash__":332},"tags\u002Ftags\u002Fangular.yml",{},"Angular","angular","tags\u002Fangular","z6SH0xA8FvB2X9kVmW-gtOdfx__mVrgIuA7HVCzfLjo",{"id":334,"extension":240,"meta":335,"name":336,"slug":337,"stem":338,"__hash__":339},"tags\u002Ftags\u002Fapache2.yml",{},"Apache2","apache2","tags\u002Fapache2","unCvGoDYof2-UiVE0lnN8eq5ru5roRg5_2mAo4TdEHk",{"id":341,"extension":240,"meta":342,"name":343,"slug":344,"stem":345,"__hash__":346},"tags\u002Ftags\u002Faplikacje-i-uslugi-internetowe.yml",{},"aplikacje i usługi internetowe","aplikacje-i-uslugi-internetowe","tags\u002Faplikacje-i-uslugi-internetowe","G2Vojqp3Zd7QgL3zFleglcNCFkjzkAAeDQCScU6P8bc",{"id":348,"extension":240,"meta":349,"name":350,"slug":351,"stem":352,"__hash__":353},"tags\u002Ftags\u002Fasynchronicznosc.yml",{},"asynchroniczność","asynchronicznosc","tags\u002Fasynchronicznosc","9RMRbHed9wQxDzVpEjO6Ay9zxWDCI0e4hE8F4zqGgj0",{"id":355,"extension":240,"meta":356,"name":357,"slug":357,"stem":358,"__hash__":359},"tags\u002Ftags\u002Fautomatyzacja.yml",{},"automatyzacja","tags\u002Fautomatyzacja","vfUpLN8opVGvKUQgjGwEYxKfsZsLo3jxneMF9YMMVD0",{"id":361,"extension":240,"meta":362,"name":363,"slug":364,"stem":365,"__hash__":366},"tags\u002Ftags\u002Fblokowanie-reklam.yml",{},"blokowanie reklam","blokowanie-reklam","tags\u002Fblokowanie-reklam","lq-tfiZ_uB_SerIlaIQFMOXvGIF3QoVVVyPxjwrEsR4",{"id":368,"extension":240,"meta":369,"name":370,"slug":371,"stem":372,"__hash__":373},"tags\u002Ftags\u002Fblue-media.yml",{},"Blue Media","blue-media","tags\u002Fblue-media","z8G577CxZ7uSy-oNOkWtn3XgbsbjeKhuNby5Q6BCRuM",{"id":375,"extension":240,"meta":376,"name":377,"slug":378,"stem":379,"__hash__":380},"tags\u002Ftags\u002Fchrome-extensions.yml",{},"chrome extensions","chrome-extensions","tags\u002Fchrome-extensions","Ip0fOTD9TMJiHcbXwgvAB2mFf_D1rlP5ZfkJG3GbCL0",{"id":382,"extension":240,"meta":383,"name":384,"slug":204,"stem":385,"__hash__":386},"tags\u002Ftags\u002Fclaude-code.yml",{},"claude code","tags\u002Fclaude-code","wJZCEyRD6Cq9w7YKW0WDw94B_K-Y-nbkt1sLGN2RgEw",{"id":388,"extension":240,"meta":389,"name":390,"slug":391,"stem":392,"__hash__":393},"tags\u002Ftags\u002Fcmr.yml",{},"CMR","cmr","tags\u002Fcmr","eNv_ncSDXVsAFBCM8A4uJqAJItqSOP29I1Kabpm-l3Y",{"id":395,"extension":240,"meta":396,"name":397,"slug":398,"stem":399,"__hash__":400},"tags\u002Ftags\u002Fcodersday.yml",{},"CodersDay","codersday","tags\u002Fcodersday","jLWUVGvGvi2irKFpFs0Ea6hkW71mLoiroOaGDcv1KWw",{"id":402,"extension":240,"meta":403,"name":404,"slug":405,"stem":406,"__hash__":407},"tags\u002Ftags\u002Fcoderslab.yml",{},"CodersLab","coderslab","tags\u002Fcoderslab","NQEy1mD_tk9h71yZtjSoC4LhXGE54DGYaYgj3JOoUqY",{"id":409,"extension":240,"meta":410,"name":411,"slug":412,"stem":413,"__hash__":414},"tags\u002Ftags\u002Fcolor-contrast-analyzer.yml",{},"Color Contrast Analyzer","color-contrast-analyzer","tags\u002Fcolor-contrast-analyzer","hGu3gO_owf9Tn4p5-FssJGVt4ToSsRfgjMjWdX2YgEI",{"id":416,"extension":240,"meta":417,"name":418,"slug":419,"stem":420,"__hash__":421},"tags\u002Ftags\u002Fcolor-contrast-checker.yml",{},"Color Contrast Checker","color-contrast-checker","tags\u002Fcolor-contrast-checker","w8QKUWUH691wTFtUWDJMjbCvC6zlFZo6j4UDDSg1NDY",{"id":423,"extension":240,"meta":424,"name":425,"slug":426,"stem":427,"__hash__":428},"tags\u002Ftags\u002Fconfrontjs.yml",{},"ConFrontJS","confrontjs","tags\u002Fconfrontjs","G4ePmrCbuLVA_ccxs7rcKSveQ3Kvn7y6-Ie9-H_5gpc",{"id":430,"extension":240,"meta":431,"name":432,"slug":432,"stem":433,"__hash__":434},"tags\u002Ftags\u002Fcss3.yml",{},"css3","tags\u002Fcss3","f5Gtp9yzvmyMSZ-IN--19c7OR-v5LXzdvhNaEmiOsuw",{"id":436,"extension":240,"meta":437,"name":438,"slug":439,"stem":440,"__hash__":441},"tags\u002Ftags\u002Fdesi-2020.yml",{},"DESI 2020","desi-2020","tags\u002Fdesi-2020","KeSFSj6VcXN0OciAUSTR8C1kiGUE3nLzGR1Pi5h_USE",{"id":443,"extension":240,"meta":444,"name":445,"slug":446,"stem":447,"__hash__":448},"tags\u002Ftags\u002Fdns.yml",{},"DNS","dns","tags\u002Fdns","_TzsfpRL_ROm8MT5opDE1gg4GnuukbCyKY87W-IFl68",{"id":450,"extension":240,"meta":451,"name":452,"slug":249,"stem":453,"__hash__":454},"tags\u002Ftags\u002Fdostepnosc-cyfrowa.yml",{},"dostępność cyfrowa","tags\u002Fdostepnosc-cyfrowa","8xZ6WRsys1qnr-vWH_Y4Ne8ac2RBONWyLrrm31u00xI",{"id":456,"extension":240,"meta":457,"name":458,"slug":458,"stem":459,"__hash__":460},"tags\u002Ftags\u002Febook.yml",{},"ebook","tags\u002Febook","2Eqjl28-mK0fxpryAfGFMCel8MSByJVuQRsvy_S_cgY",{"id":462,"extension":240,"meta":463,"name":464,"slug":464,"stem":465,"__hash__":466},"tags\u002Ftags\u002Felgato.yml",{},"elgato","tags\u002Felgato","ys3dC5VhSFe1JP_z6vIBB8W8WSJmrbB2C3gwTjSkINM",{"id":468,"extension":240,"meta":469,"name":470,"slug":470,"stem":471,"__hash__":472},"tags\u002Ftags\u002Fevent.yml",{},"event","tags\u002Fevent","xcUCN7zoFrW8LCakRgx4s2r8YTGvycTdYQEyx_Yg7Fk",{"id":474,"extension":240,"meta":475,"name":476,"slug":476,"stem":477,"__hash__":478},"tags\u002Ftags\u002Ffacebook.yml",{},"facebook","tags\u002Ffacebook","xk1FSKdOP155PdsTUy6lbefdoi6pOrwzZtVO8B52vMo",{"id":480,"extension":240,"meta":481,"name":482,"slug":482,"stem":483,"__hash__":484},"tags\u002Ftags\u002Ffanpage.yml",{},"fanpage","tags\u002Ffanpage","RoMU1ceix1opnNG2LPoGzfOjVZE128Gmk12ZtDAQxrM",{"id":486,"extension":240,"meta":487,"name":488,"slug":488,"stem":489,"__hash__":490},"tags\u002Ftags\u002Ffigcraft.yml",{},"figcraft","tags\u002Ffigcraft","WTLpMjDrY2RSAriKP_PIhPFrUfRbSjesfrpRp5_eTQ4",{"id":492,"extension":240,"meta":493,"name":494,"slug":494,"stem":495,"__hash__":496},"tags\u002Ftags\u002Ffigma.yml",{},"figma","tags\u002Ffigma","HqDjUE96DWwR7A2TOHbGrBJgtOm0WhFG5odvyZ2Sd30",{"id":498,"extension":240,"meta":499,"name":500,"slug":500,"stem":501,"__hash__":502},"tags\u002Ftags\u002Fflora-art.yml",{},"flora-art","tags\u002Fflora-art","EZJoljjwcgycvXhzhoZltu8jVe2P_rSd_t7-DmugrCs",{"id":504,"extension":240,"meta":505,"name":506,"slug":506,"stem":507,"__hash__":508},"tags\u002Ftags\u002Ffront-end.yml",{},"front-end","tags\u002Ffront-end","xKzeWb2B7yr2l4WBGtpyUzD1T_sBK5i-sb21-MEDOWw",{"id":510,"extension":240,"meta":511,"name":512,"slug":513,"stem":514,"__hash__":515},"tags\u002Ftags\u002Ffront-end-developer.yml",{},"front-end developer","front-end-developer","tags\u002Ffront-end-developer","rHwMfWcbpd8wXqIVD1HzPWxBheHq8V_9TdHCHkz4Sp8",{"id":517,"extension":240,"meta":518,"name":519,"slug":519,"stem":520,"__hash__":521},"tags\u002Ftags\u002Ffrontend.yml",{},"frontend","tags\u002Ffrontend","CxnBlT8roa7DydGYGxgRVXKKTvJrkjMMQrvHZQMxukA",{"id":523,"extension":240,"meta":524,"name":525,"slug":525,"stem":526,"__hash__":527},"tags\u002Ftags\u002Fga4.yml",{},"ga4","tags\u002Fga4","rRvTzxNn5DJ4Sf5NYfC7bdlPytNph9v_BV9e-9z8mng",{"id":529,"extension":240,"meta":530,"name":531,"slug":531,"stem":532,"__hash__":533},"tags\u002Ftags\u002Fgamepad.yml",{},"gamepad","tags\u002Fgamepad","Gsi3HzAfw68AJR6qCt8qeuS7Euw22ZMSpnaKNw0QV-A",{"id":535,"extension":240,"meta":536,"name":537,"slug":537,"stem":538,"__hash__":539},"tags\u002Ftags\u002Fgoalkicker.yml",{},"goalkicker","tags\u002Fgoalkicker","L_zNfxJfO6lZOUiLaE5m_ggQUX0komBXXth0SrszFUk",{"id":541,"extension":240,"meta":542,"name":543,"slug":543,"stem":544,"__hash__":545},"tags\u002Ftags\u002Fgoogle-analytics.yml",{},"google-analytics","tags\u002Fgoogle-analytics","04tt2kepradezfP_kRSWsq1w1BDQ6kJaoVd5RB3wCT4",{"id":547,"extension":240,"meta":548,"name":549,"slug":549,"stem":550,"__hash__":551},"tags\u002Ftags\u002Fhandbook.yml",{},"handbook","tags\u002Fhandbook","D0-VmrV-_WQQnlVvaePXWciWrJ8zuWNJoJULW_rOpmI",{"id":553,"extension":240,"meta":554,"name":555,"slug":556,"stem":557,"__hash__":558},"tags\u002Ftags\u002Fhtml-api.yml",{},"HTML API","html-api","tags\u002Fhtml-api","DBZv8DJ2hZR64GhJALF_-YzUG4mZWG9m2VZE76eM_wY",{"id":560,"extension":240,"meta":561,"name":562,"slug":562,"stem":563,"__hash__":564},"tags\u002Ftags\u002Fhtml5.yml",{},"html5","tags\u002Fhtml5","fcqPnoul30jPoEk6tO8K9WWwU8XyFz3N7-GAse2uwsQ",{"id":566,"extension":240,"meta":567,"name":568,"slug":568,"stem":569,"__hash__":570},"tags\u002Ftags\u002Fimmich.yml",{},"immich","tags\u002Fimmich","yRqxfTgoJptMOBpcKUS-JAmsUYKQZe4N5gyGFXSxoyU",{"id":572,"extension":240,"meta":573,"name":574,"slug":575,"stem":576,"__hash__":577},"tags\u002Ftags\u002Finteligentny-dom.yml",{},"inteligentny dom","inteligentny-dom","tags\u002Finteligentny-dom","LwWCH_MYDfKSgfl9wyRWrWegvCgb2hAnXMlON3OQ0dk",{"id":579,"extension":240,"meta":580,"name":581,"slug":582,"stem":583,"__hash__":584},"tags\u002Ftags\u002Fjaws.yml",{},"Jaws","jaws","tags\u002Fjaws","aklZIj6z2_fzRQ_h9RtAfvXgDhHH9v02f224m6u8B7s",{"id":586,"extension":240,"meta":587,"name":588,"slug":588,"stem":589,"__hash__":590},"tags\u002Ftags\u002Fjunior.yml",{},"junior","tags\u002Fjunior","ega8Cjq-Z5swNxexQG-ROW8hvi0eaDCJj-l4ILDW-4U",{"id":592,"extension":240,"meta":593,"name":594,"slug":595,"stem":596,"__hash__":597},"tags\u002Ftags\u002Fkariera-w-it.yml",{},"kariera w IT","kariera-w-it","tags\u002Fkariera-w-it","tyqsMUw9eQaVgTnsZy9DZAHFQXZNe0sDZavdgJ0KTcA",{"id":599,"extension":240,"meta":600,"name":601,"slug":602,"stem":603,"__hash__":604},"tags\u002Ftags\u002Fkobiety-w-it.yml",{},"kobiety w IT","kobiety-w-it","tags\u002Fkobiety-w-it","Gm0D6QX7IUT1CDThH6LuhQtWOOWFop09QiDZwX_Tm7c",{"id":606,"extension":240,"meta":607,"name":608,"slug":608,"stem":609,"__hash__":610},"tags\u002Ftags\u002Fkonferencja.yml",{},"konferencja","tags\u002Fkonferencja","-n95F1XvVC7rR9O9sOxyxnKIJBm4i5o3Md_Q-Z72occ",{"id":612,"extension":240,"meta":613,"name":256,"slug":256,"stem":614,"__hash__":615},"tags\u002Ftags\u002Fkonferencje.yml",{},"tags\u002Fkonferencje","Qf_9S1xyR0mqWi1CzdU_iGIwcU8Z0ET_3JBEIOWhaxA",{"id":617,"extension":240,"meta":618,"name":263,"slug":263,"stem":619,"__hash__":620},"tags\u002Ftags\u002Fkonfiguracja.yml",{},"tags\u002Fkonfiguracja","r2NNwL_ZY7xvPy0pUN2IPK8U6qBXSfay_MZbt1FpC2I",{"id":622,"extension":240,"meta":623,"name":624,"slug":624,"stem":625,"__hash__":626},"tags\u002Ftags\u002Fkoronawirus.yml",{},"koronawirus","tags\u002Fkoronawirus","8DgCLCZ1uSF_kl0dmgiEVVM-KkZFxGpXJus3fmMH4sE",{"id":628,"extension":240,"meta":629,"name":630,"slug":631,"stem":632,"__hash__":633},"tags\u002Ftags\u002Fksiazki-programistyczne.yml",{},"książki programistyczne","ksiazki-programistyczne","tags\u002Fksiazki-programistyczne","DF1l0MrjODlaeQ0evw8JedIJJb3v4MpesV0Fi6HpViQ",{"id":635,"extension":240,"meta":636,"name":637,"slug":638,"stem":639,"__hash__":640},"tags\u002Ftags\u002Flenovo-m710q.yml",{},"lenovo m710q","lenovo-m710q","tags\u002Flenovo-m710q","H2DSlpm_FUSkpZXj5AZxrXjTzdGXcfWhIFXE8MAjoJw",{"id":642,"extension":240,"meta":643,"name":644,"slug":644,"stem":645,"__hash__":646},"tags\u002Ftags\u002Fmcp.yml",{},"mcp","tags\u002Fmcp","3PkWXTczUl4idUlqZVtwyAQ2kQ3-wsGGRK8B5IciLZI",{"id":648,"extension":240,"meta":649,"name":650,"slug":650,"stem":651,"__hash__":652},"tags\u002Ftags\u002Fmid.yml",{},"mid","tags\u002Fmid","61US_hzDYC5fw5yPUWya7ZNjc9fOddRUJyOJU3oVKaM",{"id":654,"extension":240,"meta":655,"name":656,"slug":657,"stem":658,"__hash__":659},"tags\u002Ftags\u002Fmini-pc.yml",{},"mini pc","mini-pc","tags\u002Fmini-pc","zCEZkcdMTwLbaNGmGiT8qGCtnECxEafkiJ-glDrozw0",{"id":661,"extension":240,"meta":662,"name":663,"slug":664,"stem":665,"__hash__":666},"tags\u002Ftags\u002Fnas.yml",{},"NAS","nas","tags\u002Fnas","RsN64SVV6BmbaR7e4pVVvGgbxQ0q8ihj5J4b_1oPH2k",{"id":668,"extension":240,"meta":669,"name":270,"slug":270,"stem":670,"__hash__":671},"tags\u002Ftags\u002Fnauka.yml",{},"tags\u002Fnauka","bMIyGRMcT5SRj0bxdrER6sibTNLAHr1enmElQI67jTo",{"id":673,"extension":240,"meta":674,"name":675,"slug":676,"stem":677,"__hash__":678},"tags\u002Ftags\u002Fnauka-programowania.yml",{},"nauka programowania","nauka-programowania","tags\u002Fnauka-programowania","M04c5RtH0Fu4ikOuW9fLy2-g2YBIAX0Yj9SHKEwOuUg",{"id":680,"extension":240,"meta":681,"name":682,"slug":683,"stem":684,"__hash__":685},"tags\u002Ftags\u002Fnvda.yml",{},"NVDA","nvda","tags\u002Fnvda","AS3XsW73sA9-MAI4JVv4y7luo2oGkpXrGptc51MKLQY",{"id":687,"extension":240,"meta":688,"name":689,"slug":690,"stem":691,"__hash__":692},"tags\u002Ftags\u002Fochrona-rodzicielska.yml",{},"ochrona rodzicielska","ochrona-rodzicielska","tags\u002Fochrona-rodzicielska","DZHsS1aBzb6OmeQFhCXy3Qu3QUMHsrbbN62bXmyBB0Q",{"id":694,"extension":240,"meta":695,"name":696,"slug":696,"stem":697,"__hash__":698},"tags\u002Ftags\u002Foptimization.yml",{},"optimization","tags\u002Foptimization","fJedkuv-GIoYXYs-z7AFgjvCxunavWHOWZDesN1EgFU",{"id":700,"extension":240,"meta":701,"name":702,"slug":703,"stem":704,"__hash__":705},"tags\u002Ftags\u002Forganizacja-pracy.yml",{},"organizacja pracy","organizacja-pracy","tags\u002Forganizacja-pracy","IJWHAuqRIlzOIgQbp6B0dYJLpApXOyvDii-k8n_CUCQ",{"id":707,"extension":240,"meta":708,"name":276,"slug":277,"stem":709,"__hash__":710},"tags\u002Ftags\u002Fosx.yml",{},"tags\u002Fosx","QymfouNjzTcNrsPkrZeaPTZdKpMsdYilpn7HRI1FxQQ",{"id":712,"extension":240,"meta":713,"name":714,"slug":715,"stem":716,"__hash__":717},"tags\u002Ftags\u002Fpanel-macro.yml",{},"panel macro","panel-macro","tags\u002Fpanel-macro","WrhWywY5PTfhm7n_TuxTZEWwebeWKfYiQf6n6nh19t4",{"id":719,"extension":240,"meta":720,"name":721,"slug":722,"stem":723,"__hash__":724},"tags\u002Ftags\u002Fpassword-manager.yml",{},"password manager","password-manager","tags\u002Fpassword-manager","viAfKlsGbzjczJJrb8pwaB4tInjCfLzynbSm-GRQz4Y",{"id":726,"extension":240,"meta":727,"name":728,"slug":728,"stem":729,"__hash__":730},"tags\u002Ftags\u002Fpdf.yml",{},"pdf","tags\u002Fpdf","UTB02hK82S5LzDB9kqZWrDRFb8SYzHfFRgCsqFwdBcE",{"id":732,"extension":240,"meta":733,"name":734,"slug":735,"stem":736,"__hash__":737},"tags\u002Ftags\u002Fphp.yml",{},"PHP","php","tags\u002Fphp","Id59psmnOEw6xZ04LGSXqaCSXElgAZVfZdIWk4TTMmU",{"id":739,"extension":240,"meta":740,"name":741,"slug":741,"stem":742,"__hash__":743},"tags\u002Ftags\u002Fpi-hole.yml",{},"pi-hole","tags\u002Fpi-hole","1YJ1tr1Tr23ItFg6rYXw6iKjvPJCdYb2MB_5W1FdZNw",{"id":745,"extension":240,"meta":746,"name":747,"slug":747,"stem":748,"__hash__":749},"tags\u002Ftags\u002Fpixel-mania.yml",{},"pixel-mania","tags\u002Fpixel-mania","N9WX_K8mFmAndjRdRzZX1PonLHyneP4XCJe9kQlGOpY",{"id":751,"extension":240,"meta":752,"name":753,"slug":754,"stem":755,"__hash__":756},"tags\u002Ftags\u002Fplaywright.yml",{},"PlayWright","playwright","tags\u002Fplaywright","fZAbd5k3k85yeGire7iJzvnRk00Wfww8OTu1h6rEuZM",{"id":758,"extension":240,"meta":759,"name":760,"slug":760,"stem":761,"__hash__":762},"tags\u002Ftags\u002Fpraca.yml",{},"praca","tags\u002Fpraca","ra3_bHnZqDrux1PiJ_pW6eqfX7l-uIFUPUhPqaq5cf4",{"id":764,"extension":240,"meta":765,"name":766,"slug":767,"stem":768,"__hash__":769},"tags\u002Ftags\u002Fpraca-zdalna.yml",{},"praca zdalna","praca-zdalna","tags\u002Fpraca-zdalna","HD5EOgzs-b3t5KIBRxlWQr0FuQVJ4N7eLQJV77YWcqc",{"id":771,"extension":240,"meta":772,"name":773,"slug":773,"stem":774,"__hash__":775},"tags\u002Ftags\u002Fprezentacja.yml",{},"prezentacja","tags\u002Fprezentacja","eiP5x-l400TtOy-gxO3TyOqYwcD4LP65jJ--7H-jyng",{"id":777,"extension":240,"meta":778,"name":779,"slug":779,"stem":780,"__hash__":781},"tags\u002Ftags\u002Fprivacy.yml",{},"privacy","tags\u002Fprivacy","Ln1AAZQ3fPOzuMJB0BWwUsjwaWTI7cFtzI6TaPrvKXc",{"id":783,"extension":240,"meta":784,"name":785,"slug":785,"stem":786,"__hash__":787},"tags\u002Ftags\u002Fprogramowanie.yml",{},"programowanie","tags\u002Fprogramowanie","EUO8owu6V8cJivzRtVvD12KgW4ojOCp-N7aI4euHEa0",{"id":789,"extension":240,"meta":790,"name":791,"slug":791,"stem":792,"__hash__":793},"tags\u002Ftags\u002Fproxmox.yml",{},"proxmox","tags\u002Fproxmox","2AZfZmPZffxT3YuTVGHbsGvqKzpNRfot-OjFS6kkSYs",{"id":795,"extension":240,"meta":796,"name":797,"slug":798,"stem":799,"__hash__":800},"tags\u002Ftags\u002Fprywatny-dns.yml",{},"prywatny DNS","prywatny-dns","tags\u002Fprywatny-dns","kq-27-SNzP2YitFANg5iLgu0kdzyufoiOCLYApAehUc",{"id":802,"extension":240,"meta":803,"name":804,"slug":804,"stem":805,"__hash__":806},"tags\u002Ftags\u002Fprzekwalifikowanie.yml",{},"przekwalifikowanie","tags\u002Fprzekwalifikowanie","TqQNM6H8dfkRMTjNT8ZWyzynSMGeFjxseCt7-fZq0nA",{"id":808,"extension":240,"meta":809,"name":810,"slug":811,"stem":812,"__hash__":813},"tags\u002Ftags\u002Freact.yml",{},"React","react","tags\u002Freact","nXIcvF19iFz3UIXk2jbbJKRrr1_S9NLNYH3PUX_a2C4",{"id":815,"extension":240,"meta":816,"name":817,"slug":817,"stem":818,"__hash__":819},"tags\u002Ftags\u002Fredux.yml",{},"redux","tags\u002Fredux","CYtiFQKJae6MZE4Z_2qWwt7OGctPAutMzfD9f35a6-A",{"id":821,"extension":240,"meta":822,"name":823,"slug":823,"stem":824,"__hash__":825},"tags\u002Ftags\u002Fretro.yml",{},"retro","tags\u002Fretro","5AjMkMU44tDn8TV2FSTzbrvxoE7rplMmkLej7E-RIYM",{"id":827,"extension":240,"meta":828,"name":829,"slug":830,"stem":831,"__hash__":832},"tags\u002Ftags\u002Fretropi.yml",{},"RetroPi","retropi","tags\u002Fretropi","v_z0VjrAHiqYkzENB2DRMmo-V9VwE-8D2V_pRT-EBxw",{"id":834,"extension":240,"meta":835,"name":836,"slug":837,"stem":838,"__hash__":839},"tags\u002Ftags\u002Frozwoj.yml",{},"rozwój","rozwoj","tags\u002Frozwoj","RkL4It2FQnfcyHt1gNPjQ7cLqxrpgMy9ewFnPkF5sms",{"id":841,"extension":240,"meta":842,"name":843,"slug":844,"stem":845,"__hash__":846},"tags\u002Ftags\u002Frzemieslnik.yml",{},"rzemieślnik","rzemieslnik","tags\u002Frzemieslnik","fLVgsq47mga12X6gNKQ6QM5tpWdwICnLJwfSDwk1xEE",{"id":848,"extension":240,"meta":849,"name":850,"slug":850,"stem":851,"__hash__":852},"tags\u002Ftags\u002Fsaas.yml",{},"saas","tags\u002Fsaas","IJK35nx0P9hIm-I-szhYuII4LVixyUi2zgQINNh0irc",{"id":854,"extension":240,"meta":855,"name":856,"slug":857,"stem":858,"__hash__":859},"tags\u002Ftags\u002Fsamodzielnosc.yml",{},"samodzielność","samodzielnosc","tags\u002Fsamodzielnosc","mu6DqJVN-dhRiXCnV4A5ewTRx_ndkWH_pu7Fdf7n6XI",{"id":861,"extension":240,"meta":862,"name":863,"slug":863,"stem":864,"__hash__":865},"tags\u002Ftags\u002Fselfhosting.yml",{},"selfhosting","tags\u002Fselfhosting","ScAMu2i5h-QpOOGEuIvBN9fQn0ZmfyYfvD-561cUzKs",{"id":867,"extension":240,"meta":868,"name":869,"slug":869,"stem":870,"__hash__":871},"tags\u002Ftags\u002Fsenior.yml",{},"senior","tags\u002Fsenior","DFUFihqxLSI2g34_DFYLVSXQnP79966itG8NnBs44TE",{"id":873,"extension":240,"meta":874,"name":875,"slug":875,"stem":876,"__hash__":877},"tags\u002Ftags\u002Fsentry.yml",{},"sentry","tags\u002Fsentry","1GB1pnjVg6ZwTqvwK7ZE529QpP-274G7z278-psv9U8",{"id":879,"extension":240,"meta":880,"name":881,"slug":882,"stem":883,"__hash__":884},"tags\u002Ftags\u002Fsieci-komputerowe.yml",{},"sieci komputerowe","sieci-komputerowe","tags\u002Fsieci-komputerowe","lziU51DXijHvzSYVgbK5r_aRCBS9KLdgU5FWjE3pD4s",{"id":886,"extension":240,"meta":887,"name":888,"slug":889,"stem":890,"__hash__":891},"tags\u002Ftags\u002Fsmart-home.yml",{},"smart home","smart-home","tags\u002Fsmart-home","wjGS16vdTWjBvPIfyZ7Jjv2rSAUfgKxYQTfVmfE_oNc",{"id":893,"extension":240,"meta":894,"name":895,"slug":896,"stem":897,"__hash__":898},"tags\u002Ftags\u002Fsmr.yml",{},"SMR","smr","tags\u002Fsmr","hd_86HRNRQ5vp9GFDgvFR3iXcRs57XNvESz05e-vh-o",{"id":900,"extension":240,"meta":901,"name":902,"slug":235,"stem":903,"__hash__":904},"tags\u002Ftags\u002Fspec-driven-development.yml",{},"spec driven development","tags\u002Fspec-driven-development","pRJfzF2rB7P3VMxiDxsyAopJH0NcnJST_JxiVDwkL68",{"id":906,"extension":240,"meta":907,"name":908,"slug":908,"stem":909,"__hash__":910},"tags\u002Ftags\u002Fspotkanie.yml",{},"spotkanie","tags\u002Fspotkanie","G-4xZsmDWDaZnA1t7fWrsGY0CvA2PWBRch_ISxgV3eY",{"id":912,"extension":240,"meta":913,"name":914,"slug":914,"stem":915,"__hash__":916},"tags\u002Ftags\u002Fstash.yml",{},"stash","tags\u002Fstash","x-cfxrcr_me1q-Ea4BqtRl041a1CjwZbFM76VlobkVE",{"id":918,"extension":240,"meta":919,"name":920,"slug":921,"stem":922,"__hash__":923},"tags\u002Ftags\u002Fstore-management.yml",{},"store management","store-management","tags\u002Fstore-management","BDlb8jliEvzP4ByR_nwh5YcPAphegyjsvxnwheppvwM",{"id":925,"extension":240,"meta":926,"name":927,"slug":928,"stem":929,"__hash__":930},"tags\u002Ftags\u002Fstream-deck.yml",{},"stream deck","stream-deck","tags\u002Fstream-deck","ETKaTcPMSGRXiF8fX9HaCChrkWvjK1Qhc8DCtKNRLFo",{"id":932,"extension":240,"meta":933,"name":934,"slug":935,"stem":936,"__hash__":937},"tags\u002Ftags\u002Fstudia-podyplomowe.yml",{},"studia podyplomowe","studia-podyplomowe","tags\u002Fstudia-podyplomowe","CllbIMrpHwk7nHpdgNS5EJlfoY37AYtu6D28xcL7B8Y",{"id":939,"extension":240,"meta":940,"name":941,"slug":941,"stem":942,"__hash__":943},"tags\u002Ftags\u002Fswitch.yml",{},"switch","tags\u002Fswitch","PqeuQm8ai89DcVFTdIBBYnrs6IVq0oystkF3JdV2cbQ",{"id":945,"extension":240,"meta":946,"name":947,"slug":948,"stem":949,"__hash__":950},"tags\u002Ftags\u002Fszafa-rack.yml",{},"szafa rack","szafa-rack","tags\u002Fszafa-rack","Tdq-0TqjtHfOvyhnHIwrDsPzQYMI6Rkb3iJBoqgudAc",{"id":952,"extension":240,"meta":953,"name":954,"slug":954,"stem":955,"__hash__":956},"tags\u002Ftags\u002Fszkolenia.yml",{},"szkolenia","tags\u002Fszkolenia","Ty9KLofCdboQngGvYkJOH1YZpBX-E3_Y1SLrdGucptY",{"id":958,"extension":240,"meta":959,"name":960,"slug":961,"stem":962,"__hash__":963},"tags\u002Ftags\u002Fszkolenie-front-end.yml",{},"szkolenie front-end","szkolenie-front-end","tags\u002Fszkolenie-front-end","yv2XwBbhwF8m1vceHXglBt_lax32HDj4iqYS8ymfIpM",{"id":965,"extension":240,"meta":966,"name":967,"slug":968,"stem":969,"__hash__":970},"tags\u002Ftags\u002Fszkolnictwo-zawodowe.yml",{},"szkolnictwo zawodowe","szkolnictwo-zawodowe","tags\u002Fszkolnictwo-zawodowe","wHy70cvPzW-iXNTesa8dnmsUN3GZ6RQ_08rvp2jcr-o",{"id":972,"extension":240,"meta":973,"name":974,"slug":974,"stem":975,"__hash__":976},"tags\u002Ftags\u002Ftech3camp.yml",{},"tech3camp","tags\u002Ftech3camp","2xN4prsqldeVcTsCibyLj-T84k_q27SekfsQ9H3ml6w",{"id":978,"extension":240,"meta":979,"name":205,"slug":205,"stem":980,"__hash__":981},"tags\u002Ftags\u002Ftestowanie.yml",{},"tags\u002Ftestowanie","bQ7J7HLrZe6c9Me3bn_3VCbshav5tsqNTBIwd0xkRaQ",{"id":983,"extension":240,"meta":984,"name":985,"slug":985,"stem":986,"__hash__":987},"tags\u002Ftags\u002Ftesty.yml",{},"testy","tags\u002Ftesty","JDNtVkIDLY5e-th779qHOQFRrQ6Ywoq8us2HXlBz9PY",{"id":989,"extension":240,"meta":990,"name":991,"slug":992,"stem":993,"__hash__":994},"tags\u002Ftags\u002Ftruenas.yml",{},"TrueNas","truenas","tags\u002Ftruenas","jGviBDrcOLcc4LIDAMUINs_clt6cqQIbnmCsGjlBoEU",{"id":996,"extension":240,"meta":997,"name":998,"slug":998,"stem":999,"__hash__":1000},"tags\u002Ftags\u002Ftuya.yml",{},"tuya","tags\u002Ftuya","MwpPoYlxeAiebaRVNdxytmFq9k0BpiTEbiEvwh4pfq4",{"id":1002,"extension":240,"meta":1003,"name":1004,"slug":1004,"stem":1005,"__hash__":1006},"tags\u002Ftags\u002Fublock.yml",{},"ublock","tags\u002Fublock","EPnKEvKkfWB2hbpkolTIytNQ9c12jSrnctf8CWEVbUM",{"id":1008,"extension":240,"meta":1009,"name":1010,"slug":1011,"stem":1012,"__hash__":1013},"tags\u002Ftags\u002Fvibe-coding.yml",{},"vibe coding","vibe-coding","tags\u002Fvibe-coding","7opTTOzdTg7lmOqjdEXuPDBmub2bke1Tqn1DEPdtUT4",{"id":1015,"extension":240,"meta":1016,"name":1017,"slug":1018,"stem":1019,"__hash__":1020},"tags\u002Ftags\u002Fvirtual-host.yml",{},"virtual host","virtual-host","tags\u002Fvirtual-host","Ru2r4wU7txKcWDbL3hq2QGx7v8gKwTJE25BItrzjqCQ",{"id":1022,"extension":240,"meta":1023,"name":1024,"slug":1025,"stem":1026,"__hash__":1027},"tags\u002Ftags\u002Fvoiceover.yml",{},"VoiceOver","voiceover","tags\u002Fvoiceover","7_jZqkfOk163vezQCATCpkIhdxmxfXe5dsLjgORGRWc",{"id":1029,"extension":240,"meta":1030,"name":1031,"slug":1032,"stem":1033,"__hash__":1034},"tags\u002Ftags\u002Fvue.yml",{},"Vue","vue","tags\u002Fvue","9ztytvQnoFLSGIXCwVz0HDl1yEBgdxBtwfIb4xxED8w",{"id":1036,"extension":240,"meta":1037,"name":1038,"slug":305,"stem":1039,"__hash__":1040},"tags\u002Ftags\u002Fvue-js.yml",{},"vue.js","tags\u002Fvue-js","ZEglZJ4b32MxGRUCWg3ij0_Sz-YkJDI60yOFUG3Dip8",{"id":1042,"extension":240,"meta":1043,"name":1044,"slug":1044,"stem":1045,"__hash__":1046},"tags\u002Ftags\u002Fvuejs.yml",{},"vuejs","tags\u002Fvuejs","Qz3030ujqXE_33tL5hbF8n1MGIh1jpRtdzXVrQT79jA",{"id":1048,"extension":240,"meta":1049,"name":1050,"slug":1050,"stem":1051,"__hash__":1052},"tags\u002Ftags\u002Fvuenews.yml",{},"vuenews","tags\u002Fvuenews","5I7T-cG9aZzeR62I-tWYDruQvjkSbRxtAeDI9otWrR8",{"id":1054,"extension":240,"meta":1055,"name":1056,"slug":1056,"stem":1057,"__hash__":1058},"tags\u002Ftags\u002Fvuetoolbox.yml",{},"vuetoolbox","tags\u002Fvuetoolbox","y5NXiZfQviI16DIkNjTxSwnLQIyrXs7OBZjVY1IyNmk",{"id":1060,"extension":240,"meta":1061,"name":1062,"slug":1062,"stem":1063,"__hash__":1064},"tags\u002Ftags\u002Fvuex.yml",{},"vuex","tags\u002Fvuex","ksF82HLoN49mJn2cJ0DhYz_Dt6mlrJDT82Ufu6QKmKQ",{"id":1066,"extension":240,"meta":1067,"name":1068,"slug":1069,"stem":1070,"__hash__":1071},"tags\u002Ftags\u002Fweb-development.yml",{},"web development","web-development","tags\u002Fweb-development","144N0DLmtEIX98zdSuOWIsCZYMHyxStp8_ZksWK2M7E",{"id":1073,"extension":240,"meta":1074,"name":1075,"slug":1076,"stem":1077,"__hash__":1078},"tags\u002Ftags\u002Fwladyslawowo.yml",{},"Władysławowo","wladyslawowo","tags\u002Fwladyslawowo","LgrtfAzosbyNoEeZ6_GWMrueP29fN7fPL3N5Kp5Wm4w",{"id":1080,"extension":240,"meta":1081,"name":1082,"slug":1083,"stem":1084,"__hash__":1085},"tags\u002Ftags\u002Fwork-life-balance.yml",{},"work-life balance","work-life-balance","tags\u002Fwork-life-balance","hXw9EMtMUVm71LSUBz1o6Ttz7xlyrsnMo-VOEfMJwr0",{"id":1087,"extension":240,"meta":1088,"name":1089,"slug":1090,"stem":1091,"__hash__":1092},"tags\u002Ftags\u002Fxbox.yml",{},"XBOX","xbox","tags\u002Fxbox","tDsqBFEx88ZSQxV8Q78dFlkSdjNdQOwFU4jn0D2wcYQ",{"id":1094,"avatar":1095,"bio":1096,"extension":240,"intro":1097,"links":1098,"meta":1103,"name":1104,"slug":6,"stem":1105,"__hash__":1106},"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.",[1099],{"label":1100,"url":1101,"icon":1102},"YouTube","https:\u002F\u002Fwww.youtube.com\u002Fchannel\u002FUCMG_PvHPcSe0TCmnIXvzB1Q","i-lucide-youtube",{},"Maciej Walczak","authors\u002Fmaciej-walczak","zR4CssmAAiZ3XLyomJsaFt6vS-eKt3306erj5lV90_8",1793937672006]