<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>brylka.net – Blog</title><description>Blog techniczny i portfolio. Programowanie, systemy i cyberbezpieczeństwo – Bartosz Bryniarski.</description><link>https://brylka.net/</link><language>pl-pl</language><item><title>Gdy kod sam się dubluje – sprzątanie pod osłoną testów</title><link>https://brylka.net/gdy-kod-sie-dubluje-sprzatanie-pod-oslona-testow/</link><guid isPermaLink="true">https://brylka.net/gdy-kod-sie-dubluje-sprzatanie-pod-oslona-testow/</guid><description>W dużym projekcie nie da się pamiętać, że gdzieś już jest funkcja licząca to samo – więc pisze się ją drugi i trzeci raz. To nie lenistwo, to koszt pamięci. Problem w tym, że kopie z czasem się rozchodzą: ta sama najlepsza próba ucznia potrafiła być inna na ekranie i w PDF-ie, a w aplikacji mobilnej ten sam egzamin pokazywał czas raz jako 12:05, raz jako 12 min 5 s. Ta sama choroba złapała niezależnie backend Django i aplikację w React Native. O tym, dlaczego duplikacja to fabryka takich rozjazdów, i jak posprzątać ją bezpiecznie: najpierw dopisać testy, potem scalać, a zielona suita ma świecić tak samo przed i po.</description><pubDate>Wed, 09 Sep 2026 00:00:00 GMT</pubDate><category>Python</category><category>Django</category><category>JavaScript</category><category>testy</category></item><item><title>SQL Injection dziś – dlaczego trzeba się naprawdę postarać, żeby być podatnym</title><link>https://brylka.net/sql-injection-dzis-dlaczego-trudno-o-podatnosc/</link><guid isPermaLink="true">https://brylka.net/sql-injection-dzis-dlaczego-trudno-o-podatnosc/</guid><description>Trzy lata temu pokazałem na blogu klasyczny SQL Injection: formularz logowania w PHP, sklejane zapytanie i wpisane w pole username „&apos; OR 1=1#. Wróćmy do tamtego kodu i zadajmy inne pytanie: czy dziś dałoby się go tak w ogóle napisać? Bo domyślna ścieżka współczesnego PHP i frameworków – obsługa formularza, ORM, zapytania parametryzowane z pudełka – prowadzi do kodu bezpiecznego, a żeby wstrzyknąć SQL, trzeba dziś z tej ścieżki świadomie zejść. Z uczciwym rozdziałem o tym, gdzie wstrzyknięcie wciąż jest łatwe.</description><pubDate>Sun, 06 Sep 2026 00:00:00 GMT</pubDate><category>php</category><category>bezpieczeństwo</category><category>MySQL</category></item><item><title>Skoro programiści piszą testy, to po co nam testerzy?</title><link>https://brylka.net/skoro-programisci-pisza-testy-po-co-testerzy/</link><guid isPermaLink="true">https://brylka.net/skoro-programisci-pisza-testy-po-co-testerzy/</guid><description>Teza krąży po branży od lat: gdyby programiści porządnie testowali własny kod, testerzy byliby zbędni. Patrzę na nią z nietypowej pozycji, bo jestem programistą po studiach podyplomowych z testowania – i rozkładam ją na łopatki trzema argumentami: moje testy testują moją wyobraźnię, tester patrzy na aplikację inaczej niż ja, a testowanie to zawód z własnym warsztatem. Z uczciwym rozdziałem o tym, co się w tej tezie mimo wszystko broni.</description><pubDate>Sat, 05 Sep 2026 00:00:00 GMT</pubDate><category>testy</category></item><item><title>Ile testów ma produkcyjna aplikacja? Liczby z zawodowe.edu.pl</title><link>https://brylka.net/ile-testow-ma-zawodowe-edu-pl/</link><guid isPermaLink="true">https://brylka.net/ile-testow-ma-zawodowe-edu-pl/</guid><description>Po serii o testowaniu czas na dowód z produkcji, policzony co do sztuki: backend Django z ponad 100 tysiącami linii kodu i 6,6 tysiąca testów, mobilka React Native z 44 tysiącami linii i ponad 1600 testami, do tego 298 testów Playwright, 7 przepływów Maestro i bramka w GitHub Actions, która nie raz zatrzymała zepsute wdrożenie przed produkcją. Z metodą liczenia, proporcjami kodu do testów i uczciwym rozdziałem o tym, czego wciąż nie pokrywam.</description><pubDate>Fri, 04 Sep 2026 00:00:00 GMT</pubDate><category>testy</category><category>Python</category><category>Django</category></item><item><title>Testy przepływów: Playwright i Maestro, czyli E2E bez dawnego bólu</title><link>https://brylka.net/testy-przeplywow-playwright-i-maestro/</link><guid isPermaLink="true">https://brylka.net/testy-przeplywow-playwright-i-maestro/</guid><description>Testy end-to-end miały u mnie zasłużenie złą opinię: Selenium z ręcznymi sleepami i łamliwymi XPathami, Appium z konfiguracją trudniejszą niż same testy. Dlatego latami ich unikałem – i to był błąd, tylko że wtedy racjonalny. Dziś flow na webie klika Playwright, a na mobile Maestro w kilkunastu linijkach YAML-a. Co konkretnie się zmieniło, tabela stare kontra dziś i uczciwy rozdział o tym, czemu E2E wciąż jest drogie.</description><pubDate>Thu, 03 Sep 2026 00:00:00 GMT</pubDate><category>testy</category><category>Python</category></item><item><title>Co testować i gdzie – piramida testów w praktyce, bez religii pokrycia</title><link>https://brylka.net/co-testowac-i-gdzie-piramida-testow-w-praktyce/</link><guid isPermaLink="true">https://brylka.net/co-testowac-i-gdzie-piramida-testow-w-praktyce/</guid><description>Skoro testować, to co dokładnie i na którym poziomie? Piramida testów opowiedziana po ludzku: testy jednostkowe w pytest, integracyjne z bazą i widokami Django, testy przepływów na samej górze. Skąd naprawdę biorą się luki w pokryciu, dlaczego sto procent pokrycia niczego nie gwarantuje – i dlaczego moje testy pilnują nie tylko kodu, ale też treści tego bloga.</description><pubDate>Wed, 02 Sep 2026 00:00:00 GMT</pubDate><category>testy</category><category>Python</category><category>Django</category></item><item><title>Ćwierć wieku testowania ręcznego – ile naprawdę kosztuje klik, klik, działa</title><link>https://brylka.net/cwierc-wieku-testowania-recznego/</link><guid isPermaLink="true">https://brylka.net/cwierc-wieku-testowania-recznego/</guid><description>Tytuł jest lekko na wyrost – testy automatyczne piszę od dawna, a z testowania oprogramowania skończyłem nawet studia podyplomowe. Ale pierwszym odruchem po napisaniu kodu przez ponad ćwierć wieku był ręczny klik: działa, wdrażam. O błędach mówiła mi produkcja – logami, użytkownikami albo wcale, gdy funkcja leżała kilka dni i nikt jej nie zgłosił. Historia trzech nakładających się epok jednego nawyku, z uczciwym rozdziałem o tym, czego test-first nie załatwia i kiedy ręczne testowanie wciąż ma sens.</description><pubDate>Tue, 01 Sep 2026 00:00:00 GMT</pubDate><category>testy</category></item><item><title>Jak liczyć pieniądze w kodzie – żeby grosze się zgadzały</title><link>https://brylka.net/jak-liczyc-pieniadze-arytmetyka-dziesietna/</link><guid isPermaLink="true">https://brylka.net/jak-liczyc-pieniadze-arytmetyka-dziesietna/</guid><description>0,1 + 0,2 to nie 0,3 – a to znaczy, że typu float nie wolno używać do pieniędzy. Nie chodzi o ostrożniejsze zaokrąglanie, tylko o inny typ danych. Przegląd tego, jak liczy się kwoty poprawnie: grosze jako liczby całkowite, DECIMAL w bazie, decimal w Pythonie, BigDecimal w Javie, BCMath w PHP i BigInt w JavaScripcie. Do tego zaokrąglenie bankierskie i słynny spór o VAT liczony od pozycji czy od sumy.</description><pubDate>Sat, 29 Aug 2026 00:00:00 GMT</pubDate><category>bazy danych</category><category>Python</category><category>php</category></item><item><title>Czy sztuczna inteligencja wyprowadzi nas z legacy? Historia COBOL-u i pewnego mema</title><link>https://brylka.net/czy-llm-wyprowadzi-nas-z-legacy-cobol/</link><guid isPermaLink="true">https://brylka.net/czy-llm-wyprowadzi-nas-z-legacy-cobol/</guid><description>Widziałem rolkę: programiści COBOL-a na bruku, bo AI ich zastąpiło. Postanowiłem sprawdzić, ile w tym prawdy – i okazało się, że mem sklejono z trzech prawdziwych rzeczy w jedno wydarzenie, które się nie zdarzyło. Przy okazji: dlaczego 65-letni język wciąż liczy pieniądze świata, co naprawdę potrafią modele językowe przy starym kodzie, a gdzie obietnica wyprzedza fakty.</description><pubDate>Fri, 28 Aug 2026 00:00:00 GMT</pubDate><category>bezpieczeństwo</category><category>migracja</category></item><item><title>Shellshock: jak działający od 22 lat kod z dnia na dzień stał się dziurą</title><link>https://brylka.net/shellshock-jak-cisza-w-legacy-stala-sie-dziura/</link><guid isPermaLink="true">https://brylka.net/shellshock-jak-cisza-w-legacy-stala-sie-dziura/</guid><description>We wrześniu 2014 okazało się, że bash – powłoka obecna niemal na każdym serwerze uniksowym – ma błąd pozwalający na zdalne wykonanie kodu. Nie w nowej funkcji, tylko w mechanizmie działającym niezmiennie od 1992 roku, uruchamianym przez wysłużone skrypty CGI. Anatomia podatności, która pokazała, że stare i sprawdzone znaczy bezpieczne tylko do momentu, w którym ktoś każe temu zrobić coś nowego.</description><pubDate>Tue, 25 Aug 2026 00:00:00 GMT</pubDate><category>bezpieczeństwo</category><category>Linux</category></item><item><title>Jak wyrzuciłem Bootstrap z produkcyjnej aplikacji Django, szablon po szablonie</title><link>https://brylka.net/jak-wyrzucilem-bootstrap-z-produkcyjnej-aplikacji-django/</link><guid isPermaLink="true">https://brylka.net/jak-wyrzucilem-bootstrap-z-produkcyjnej-aplikacji-django/</guid><description>Studium przypadku z zawodowe.edu.pl: platforma ruszyła na początku 2025 na Bootstrapie 5, po roku miałem w planach jego usunięcie, po półtora – było zrobione. Nie przez wielki przepis, tylko szablon po szablonie, z bezpiecznym przełącznikiem i testami pilnującymi, żeby Bootstrap nie wrócił tylnymi drzwiami. Co go zastąpiło: details, dialog, :has(), natywne selecty i garść vanilla JS.</description><pubDate>Sat, 22 Aug 2026 00:00:00 GMT</pubDate><category>Front-end</category><category>CSS</category><category>JavaScript</category><category>Django</category></item><item><title>Dlaczego nie od razu framework – czasem platformą jest sama przeglądarka</title><link>https://brylka.net/dlaczego-nie-framework-tylko-platforma/</link><guid isPermaLink="true">https://brylka.net/dlaczego-nie-framework-tylko-platforma/</guid><description>Nowy projekt i pierwsza decyzja: React czy Vue? Dla wielu to już nie decyzja, tylko odruch – zaczyna się od frameworka, zanim wiadomo, czy jest potrzebny. Kiedy framework naprawdę się broni (duży współdzielony stan, zespół, ekosystem), a kiedy wystarczy sama platforma: Web Components, moduły ES, Intl, View Transitions. Na przykładzie tego bloga – statyku prawie bez JavaScriptu.</description><pubDate>Fri, 21 Aug 2026 00:00:00 GMT</pubDate><category>Front-end</category><category>JavaScript</category><category>Web Components</category></item><item><title>Dlaczego coraz częściej piszę CSS tam, gdzie kiedyś był JavaScript</title><link>https://brylka.net/dlaczego-nie-javascript-tylko-css/</link><guid isPermaLink="true">https://brylka.net/dlaczego-nie-javascript-tylko-css/</guid><description>Rozwijane menu, zakładki, akordeon, tooltip, sticky nagłówek, płynne przewijanie, pozycjonowanie dymka względem przycisku – to wszystko pisaliśmy odruchowo w JavaScripcie, bo CSS tego nie potrafił. Dziś potrafi. Przegląd rzeczy przeniesionych ze skryptu do arkusza stylów: :has(), popover, details, scroll-snap, position: sticky, container queries – z przykładami before/after i uczciwym rozdziałem o granicach.</description><pubDate>Thu, 20 Aug 2026 00:00:00 GMT</pubDate><category>Front-end</category><category>CSS</category><category>JavaScript</category></item><item><title>Dlaczego nowe projekty zaczynam bez jQuery – i dlaczego to nie jest atak na jQuery</title><link>https://brylka.net/dlaczego-nowe-projekty-bez-jquery/</link><guid isPermaLink="true">https://brylka.net/dlaczego-nowe-projekty-bez-jquery/</guid><description>Nie piszę o was, piszę o sobie sprzed lat. Kiedy pojawiło się PHP, trzymałem się CGI i Perla tak długo, że na PHP spojrzałem dopiero koło wydania czwartego. Ten sam odruch – nauczyłem się czegoś raz i tak będę pisał dalej – dziś każe ludziom zaczynać nowe projekty od jQuery. Przegląd tego, po co naprawdę braliśmy tę bibliotekę i co z tego jest już w gołej przeglądarce, z uczciwym rozdziałem o tym, kiedy jQuery wciąż ma sens.</description><pubDate>Wed, 19 Aug 2026 00:00:00 GMT</pubDate><category>Front-end</category><category>JavaScript</category><category>html/css</category></item><item><title>Grafy w praktyce: BFS, DFS, Dijkstra i A*, czyli jak wyznacza się trasę</title><link>https://brylka.net/grafy-bfs-dfs-dijkstra-astar/</link><guid isPermaLink="true">https://brylka.net/grafy-bfs-dfs-dijkstra-astar/</guid><description>Ostatnia część serii o strukturach danych. Trzy algorytmy przeszukiwania na jednej mapie: BFS liczy kroki, Dijkstra koszt, A* dokłada heurystykę i przestaje błądzić. Do tego reprezentacja grafu, DFS i sortowanie topologiczne, struktura zbiorów rozłącznych z odwrotną funkcją Ackermanna oraz odpowiedź na pytanie, dlaczego prawdziwa nawigacja nie liczy Dijkstry na żywo, tylko przelicza mapę wcześniej.</description><pubDate>Sat, 15 Aug 2026 00:00:00 GMT</pubDate><category>algorytmy</category><category>Python</category></item><item><title>Kopce i kolejki priorytetowe: heapq, schedulery i token bucket</title><link>https://brylka.net/kopce-i-kolejki-priorytetowe/</link><guid isPermaLink="true">https://brylka.net/kopce-i-kolejki-priorytetowe/</guid><description>Piąta część serii o strukturach danych. Kopiec binarny zapisany w zwykłej tablicy, budowa w czasie liniowym i trzy operacje, które z niego wynikają. Po co utrzymywać częściowy porządek zamiast pełnego, jak wybrać dziesięć największych elementów bez sortowania miliona, czym jest heapq.merge przy danych większych niż pamięć i jak z kolejki priorytetowej robi się scheduler oraz ogranicznik ruchu.</description><pubDate>Fri, 14 Aug 2026 00:00:00 GMT</pubDate><category>algorytmy</category><category>Python</category></item><item><title>B-drzewa: dlaczego indeks w bazie nie jest zwykłym drzewem</title><link>https://brylka.net/b-drzewa-i-indeksy-w-bazie-danych/</link><guid isPermaLink="true">https://brylka.net/b-drzewa-i-indeksy-w-bazie-danych/</guid><description>Czwarta część serii o strukturach danych. Co się zmienia, gdy dane przestają mieścić się w pamięci: dlaczego drzewo binarne o wysokości 30 jest na dysku katastrofą, jak B-drzewo mieści setki kluczy w jednym węźle i schodzi do trzech poziomów przy miliardzie wierszy. Strona 16 KB w InnoDB, indeks klastrowy i wtórny, reguła lewego prefiksu w indeksie złożonym oraz pięć sytuacji, w których indeks nie pomoże.</description><pubDate>Thu, 13 Aug 2026 00:00:00 GMT</pubDate><category>algorytmy</category><category>MySQL</category><category>bazy danych</category></item><item><title>Drzewa poszukiwań: BST, AVL i czerwono-czarne</title><link>https://brylka.net/drzewa-bst-avl-czerwono-czarne/</link><guid isPermaLink="true">https://brylka.net/drzewa-bst-avl-czerwono-czarne/</guid><description>Trzecia część serii o strukturach danych. Jak drzewo poszukiwań binarnych trzyma porządek bez przesuwania tablicy, dlaczego na danych posortowanych degeneruje się do listy i wykonuje dokładnie tyle samo porównań co sortowanie bąbelkowe, oraz jak temu zaradzić rotacjami. AVL kontra drzewa czerwono-czarne, animacja obu przypadków i odpowiedź na pytanie, po co komu drzewo, skoro jest szybszy słownik.</description><pubDate>Wed, 12 Aug 2026 00:00:00 GMT</pubDate><category>algorytmy</category><category>Python</category></item><item><title>Wyszukiwanie liniowe i binarne: dwie pętle, w których łatwo się pomylić</title><link>https://brylka.net/wyszukiwanie-liniowe-i-binarne/</link><guid isPermaLink="true">https://brylka.net/wyszukiwanie-liniowe-i-binarne/</guid><description>Druga część serii o strukturach danych. Kiedy wyszukiwanie liniowe wystarcza, kiedy opłaca się posortować dane, jak napisać wyszukiwanie binarne bez pętli nieskończonej i skąd wziął się błąd przepełnienia, który siedział w bibliotece standardowej Javy przez dziewięć lat. Do tego moduł bisect, wyszukiwanie wykładnicze i rachunek, po ilu zapytaniach sortowanie zwraca się z nawiązką.</description><pubDate>Tue, 11 Aug 2026 00:00:00 GMT</pubDate><category>algorytmy</category><category>Python</category></item><item><title>Tablice mieszające: co naprawdę siedzi w słowniku i tablicy asocjacyjnej</title><link>https://brylka.net/tablice-mieszajace-jak-dziala-slownik/</link><guid isPermaLink="true">https://brylka.net/tablice-mieszajace-jak-dziala-slownik/</guid><description>Pierwsza część serii o strukturach danych. Jak z funkcji skrótu robi się dostęp w czasie stałym, co się dzieje przy kolizjach, czym różni się łańcuchowanie od adresowania otwartego i dlaczego słownik czasem nagle zwalnia. Kontrakt hash i eq w Pythonie, klucz, który gubi dane, koszt amortyzowany przy rozrastaniu tablicy oraz trzy różne rzeczy nazywane tym samym słowem hash: skrót do wyszukiwania, kryptograficzny i do haseł.</description><pubDate>Mon, 10 Aug 2026 00:00:00 GMT</pubDate><category>algorytmy</category><category>Python</category><category>bezpieczeństwo</category></item><item><title>Kiedy złożoność staje się podatnością: HashDoS, ReDoS i inne ataki na algorytmy</title><link>https://brylka.net/kiedy-zlozonosc-staje-sie-podatnoscia-hashdos-redos/</link><guid isPermaLink="true">https://brylka.net/kiedy-zlozonosc-staje-sie-podatnoscia-hashdos-redos/</guid><description>Tabelki złożoności czyta też atakujący. Jak kilka kilobajtów dobranego wejścia zajmuje rdzeń procesora na sekundy: kolizje w tablicach mieszających (HashDoS z 2011 roku), katastrofalny nawrót w wyrażeniach regularnych (27 minut awarii Cloudflare w 2019), pesymistyczny przypadek quicksorta, bomby dekompresyjne i encje XML. Z pomiarami w Pythonie, prawdziwymi liczbami i listą obron, które faktycznie działają.</description><pubDate>Sun, 09 Aug 2026 00:00:00 GMT</pubDate><category>bezpieczeństwo</category><category>algorytmy</category><category>Python</category></item><item><title>Jak sortuje twój język: TimSort, Powersort, pdqsort i reszta</title><link>https://brylka.net/jak-sortuje-twoj-jezyk-timsort-powersort-pdqsort/</link><guid isPermaLink="true">https://brylka.net/jak-sortuje-twoj-jezyk-timsort-powersort-pdqsort/</guid><description>Ostatnia część cyklu o sortowaniu: co naprawdę dzieje się po wywołaniu sorted() w Pythonie, Arrays.sort w Javie, std::sort w C++, sort() w PHP i JavaScripcie oraz sort_unstable w Ruście. Powersort od CPythona 3.11, dual-pivot quicksort dla typów prostych, stabilność wymuszona specyfikacją, sortowanie zewnętrzne, quickselect zamiast sortowania i klasyczne pułapki: sortowanie liczb jak napisów oraz niespójny komparator.</description><pubDate>Sat, 08 Aug 2026 00:00:00 GMT</pubDate><category>algorytmy</category><category>Python</category><category>JavaScript</category><category>php</category></item><item><title>Sortowanie bez porównań: zliczanie, pozycyjne i kubełkowe</title><link>https://brylka.net/algorytmy-sortowania-bez-porownan-zliczanie-pozycyjne-kubelkowe/</link><guid isPermaLink="true">https://brylka.net/algorytmy-sortowania-bez-porownan-zliczanie-pozycyjne-kubelkowe/</guid><description>Trzecia część cyklu o algorytmach sortowania. Skąd bierze się granica n log n dla wszystkich algorytmów porównawczych, dlaczego jest nieprzekraczalna i jak sortowanie przez zliczanie, pozycyjne i kubełkowe przechodzą pod nią suchą stopą, nie porównując ani razu dwóch elementów. Implementacje w Pythonie, animacje z licznikiem porównań ustawionym na zero oraz uczciwy rachunek kosztów: pamięć, zakres kluczy i rozkład danych.</description><pubDate>Fri, 07 Aug 2026 00:00:00 GMT</pubDate><category>algorytmy</category><category>Python</category><category>matematyka</category></item><item><title>Dziel i zwyciężaj: Merge, Quick, Heap, Tree, IntroSort i TimSort</title><link>https://brylka.net/algorytmy-sortowania-dziel-i-zwyciezaj-quick-merge-heap/</link><guid isPermaLink="true">https://brylka.net/algorytmy-sortowania-dziel-i-zwyciezaj-quick-merge-heap/</guid><description>Druga część cyklu o algorytmach sortowania: sortowanie przez scalanie, szybkie, przez kopcowanie i drzewiaste, a potem hybrydy, które naprawdę pracują w bibliotekach – IntroSort z C++ i TimSort z Pythona oraz Javy. Implementacje w Pythonie, animacje, wybór pivota, przypadek pesymistyczny quicksorta na żywo i pytanie, dlaczego szybkie bije scalanie mimo identycznej złożoności.</description><pubDate>Thu, 06 Aug 2026 00:00:00 GMT</pubDate><category>algorytmy</category><category>Python</category></item><item><title>Algorytmy sortowania w akcji: od bąbelkowego do Shella</title><link>https://brylka.net/algorytmy-sortowania-od-babelkowego-do-shella/</link><guid isPermaLink="true">https://brylka.net/algorytmy-sortowania-od-babelkowego-do-shella/</guid><description>Wyścig dziewięciu algorytmów sortowania na żywo w przeglądarce, a potem spokojny rozbiór tych najprostszych: bąbelkowego, koktajlowego, grzebieniowego, gnoma, przez wybieranie, przez wstawianie i Shella. Implementacje w Pythonie, liczniki porównań i zapisów, stabilność, sortowanie w miejscu i adaptacyjność. Oraz to, o czym podręczniki milczą: kiedy O(n kwadrat) naprawdę wygrywa.</description><pubDate>Wed, 05 Aug 2026 00:00:00 GMT</pubDate><category>algorytmy</category><category>Python</category></item><item><title>Dlaczego godzina ma 60 minut, a doba 24 godziny</title><link>https://brylka.net/dlaczego-godzina-ma-60-minut/</link><guid isPermaLink="true">https://brylka.net/dlaczego-godzina-ma-60-minut/</guid><description>W kieszeni nosisz babiloński kalkulator sprzed czterech tysięcy lat. Skąd wziął się system sześćdziesiątkowy i liczenie na paliczkach, czemu 60 i 12 wygrywają z 10 liczbą dzielników, jak Egipcjanie podzielili noc na 12 godzin, skąd pochodzą słowa minuta i sekunda – i dlaczego rewolucyjna Francja przegrała z 10-godzinną dobą, choć jej dziesiętny czas przeżył w uniksowym timestampie.</description><pubDate>Sat, 01 Aug 2026 00:00:00 GMT</pubDate><category>matematyka</category><category>Python</category><category>JavaScript</category></item><item><title>Cyfry kontrolne – jak PESEL, NIP, IBAN i numer karty łapią literówki</title><link>https://brylka.net/cyfry-kontrolne-pesel-nip-iban-luhn/</link><guid isPermaLink="true">https://brylka.net/cyfry-kontrolne-pesel-nip-iban-luhn/</guid><description>Ostatnia cyfra PESEL-u, NIP-u, numeru karty płatniczej i dwie cyfry w IBAN-ie nie są losowe – to sumy kontrolne oparte na arytmetyce modularnej. Jakie błędy człowiek robi najczęściej, dlaczego wagi i moduł pierwszy łapią przestawione cyfry, algorytm Luhna w 15 linijkach oraz implementacje walidacji PESEL, NIP i IBAN w Pythonie, PHP i JavaScript.</description><pubDate>Fri, 31 Jul 2026 00:00:00 GMT</pubDate><category>matematyka</category><category>JavaScript</category><category>Python</category><category>php</category></item><item><title>Od dni do sekund – uniksowy timestamp, problem roku 2038 i strefy czasowe</title><link>https://brylka.net/od-dni-do-sekund/</link><guid isPermaLink="true">https://brylka.net/od-dni-do-sekund/</guid><description>Trzecia część cyklu o czasie: komputery nie liczą dat, tylko sekundy od 1970 roku. Skąd się bierze problem roku 2038 (i kogo naprawdę dotknie), czym są sekundy przestępne i dlaczego znikną do 2035, oraz czemu strefy czasowe to baza danych IANA, a nie matematyka – z dniami, które nie istnieją, i godzinami, które zdarzają się dwa razy.</description><pubDate>Thu, 30 Jul 2026 00:00:00 GMT</pubDate><category>JavaScript</category><category>Python</category><category>Linux</category><category>MySQL</category></item><item><title>Jak obliczyć datę Wielkanocy – computus, algorytm Gaussa i ruchome święta</title><link>https://brylka.net/jak-obliczyc-date-wielkanocy/</link><guid isPermaLink="true">https://brylka.net/jak-obliczyc-date-wielkanocy/</guid><description>Dlaczego Wielkanoc skacze po kalendarzu między 22 marca a 25 kwietnia? Computus – najstarszy algorytm świata: reguła paschalna, cykl Metona i kościelna pełnia Księżyca, algorytmy Gaussa i Meeusa z implementacjami w Pythonie i JavaScript, wyliczanie ruchomych świąt oraz wbudowane funkcje PHP easter_date i easter_days.</description><pubDate>Wed, 29 Jul 2026 00:00:00 GMT</pubDate><category>matematyka</category><category>JavaScript</category><category>Python</category><category>php</category></item><item><title>Wieczny kalendarz – skąd się biorą lata przestępne i jak obliczyć dzień tygodnia</title><link>https://brylka.net/wieczny-kalendarz-teoria-i-algorytmy/</link><guid isPermaLink="true">https://brylka.net/wieczny-kalendarz-teoria-i-algorytmy/</guid><description>Pół historii, pół kodu: dlaczego mamy lata przestępne (reguła 4/100/400), jak Europa gubiła dni przy reformie gregoriańskiej – 10 dni w 1582, 11 dni w Anglii w 1752, szwedzki 30 lutego 1712 – oraz algorytmy wiecznego kalendarza: kongruencja Zellera, metoda Sakamoto i Doomsday, z implementacjami i wbudowanymi funkcjami języków.</description><pubDate>Tue, 28 Jul 2026 00:00:00 GMT</pubDate><category>matematyka</category><category>JavaScript</category><category>Python</category><category>php</category></item><item><title>Ciemny motyw i A−/A+ bez migotania – jak to działa na tej stronie</title><link>https://brylka.net/motyw-ciemny-i-rozmiar-tekstu-bez-migotania/</link><guid isPermaLink="true">https://brylka.net/motyw-ciemny-i-rozmiar-tekstu-bez-migotania/</guid><description>Przełącznik jasny/ciemny, który naprawdę szanuje ustawienia systemu (także zmieniane w trakcie sesji), i regulacja rozmiaru tekstu – w ~30 liniach czystego JS, bez FOUC i bez bibliotek. Sztuczka: w localStorage nie zapisuję koloru, tylko &apos;opposite&apos;.</description><pubDate>Thu, 02 Jul 2026 00:00:00 GMT</pubDate><category>Front-end</category><category>JavaScript</category><category>html/css</category><category>dostępność</category></item><item><title>Flask, FastAPI, Django – jak poznawałem trzy Pythony do weba</title><link>https://brylka.net/flask-fastapi-django-jak-poznawalem-trzy-pythony-do-weba/</link><guid isPermaLink="true">https://brylka.net/flask-fastapi-django-jak-poznawalem-trzy-pythony-do-weba/</guid><description>Nie ranking z internetu, tylko moja droga: Flask, gdy chciałem najszybciej wystawić HTML; FastAPI, gdy potrzebowałem szybkiego API z walidacją i /docs; Django, gdy chciałem użytkowników, panel i ORM z pudełka. Trzy frameworki przez pryzmat roboty, do której po nie sięgałem – z kodem i szczerą tabelą decyzyjną.</description><pubDate>Tue, 23 Jun 2026 00:00:00 GMT</pubDate><category>Python</category><category>Flask</category><category>FastAPI</category><category>Django</category></item><item><title>Easter eggi w kodzie: ASCII w view-source i styl w konsoli</title><link>https://brylka.net/easter-eggi-w-kodzie-view-source-i-konsola/</link><guid isPermaLink="true">https://brylka.net/easter-eggi-w-kodzie-view-source-i-konsola/</guid><description>Dwa drobne easter eggi, które wstawiłem na brylka.net: ASCII-art w komentarzu HTML (dla tych, co robią view-source) i stylizowany console.log w DevTools. Jak je zrobić w Astro, żeby przetrwały minifikację – plus jelonek z ASCII na szlakjelonkow.pl.</description><pubDate>Thu, 18 Jun 2026 00:00:00 GMT</pubDate><category>Front-end</category><category>Astro</category></item><item><title>Nowa kategoria w Lighthouse: Przeglądanie agentowe (i jak brylka.net robi 3/3)</title><link>https://brylka.net/lighthouse-przegladanie-agentowe-webmcp/</link><guid isPermaLink="true">https://brylka.net/lighthouse-przegladanie-agentowe-webmcp/</guid><description>Lighthouse dostał piątą kategorię – Przeglądanie agentowe – która ocenia, czy stronę da się obsłużyć agentom AI: drzewo dostępności, CLS, llms.txt i WebMCP. Co dokładnie sprawdza, jak brylka.net zdobywa 3/3 bez specjalnej roboty i czym jest WebMCP (navigator.modelContext).</description><pubDate>Thu, 18 Jun 2026 00:00:00 GMT</pubDate><category>GEO</category><category>llms.txt</category><category>SEO</category><category>Lighthouse</category></item><item><title>Jak dodałem WebMCP i frontową wyszukiwarkę – blog gotowy na agenty AI</title><link>https://brylka.net/jak-dodalem-webmcp-i-wyszukiwarke-na-statyku/</link><guid isPermaLink="true">https://brylka.net/jak-dodalem-webmcp-i-wyszukiwarke-na-statyku/</guid><description>Analiza i praktyka: czy statyczny blog (bez backendu) da radę wystawić WebMCP i czy da się ubić pełne 6/6 w Lighthouse Przeglądanie agentowe. Imperatywne navigator.modelContext.registerTool, deklaratywne adnotacje formularza (toolname/tooldescription), kliencka wyszukiwarka i szczera analiza, co naprawdę znaczy ten wynik.</description><pubDate>Thu, 18 Jun 2026 00:00:00 GMT</pubDate><category>GEO</category><category>WebMCP</category><category>Lighthouse</category><category>Front-end</category></item><item><title>Platforma webowa dogoniła biblioteki – co możesz dziś usunąć z projektu</title><link>https://brylka.net/platforma-webowa-dogonila-biblioteki/</link><guid isPermaLink="true">https://brylka.net/platforma-webowa-dogonila-biblioteki/</guid><description>jQuery, lodash, moment, Popper, jQuery UI datepicker – całe pokolenie bibliotek łatało dziury w przeglądarce. Dziś tych dziur już nie ma: CSS, HTML i natywny JavaScript przejęły to, co latami doklejaliśmy zależnościami, a miejscami CSS wyprzedził JavaScript. Przegląd z konkretnymi przykładami before/after i aktualnym stanem Baseline.</description><pubDate>Wed, 17 Jun 2026 00:00:00 GMT</pubDate><category>Front-end</category><category>CSS</category><category>JavaScript</category><category>HTML</category></item><item><title>Zamiana Liczb: Od Dziesiętnego do Binarnego</title><link>https://brylka.net/zamiana-liczb-od-dziesietnego-do-binarnego/</link><guid isPermaLink="true">https://brylka.net/zamiana-liczb-od-dziesietnego-do-binarnego/</guid><description>Zamiana liczb dziesiętnych na binarne – z częścią całkowitą i (rzadko porządnie tłumaczoną) częścią ułamkową. Algorytm mnożenia przez 2, kiedy ułamek jest skończony, a kiedy nieskończony, wykrywanie okresu oraz implementacje w Pythonie, JavaScript, PHP i C++. Plus most do niedokładności liczb zmiennoprzecinkowych.</description><pubDate>Wed, 17 Jun 2026 00:00:00 GMT</pubDate><category>php</category><category>JavaScript</category><category>Python</category><category>matematyka</category></item><item><title>Kalendarz w czystym JavaScript – bez jQuery</title><link>https://brylka.net/kalendarz-w-czystym-javascript-bez-jquery/</link><guid isPermaLink="true">https://brylka.net/kalendarz-w-czystym-javascript-bez-jquery/</guid><description>Ten sam kalendarz miesięczny co w serii z jQuery, ale bez żadnych zależności: Web Component, natywne API DOM, Intl do nazw miesięcy i dni oraz fetch zamiast AJAX-a. Pokazuję, że w 2026 jQuery jest po prostu zbędne.</description><pubDate>Tue, 16 Jun 2026 00:00:00 GMT</pubDate><category>Front-end</category><category>JavaScript</category><category>Web Components</category></item><item><title>llms.txt i GEO – jak przygotować stronę pod modele językowe</title><link>https://brylka.net/llms-txt-i-geo-jak-przygotowac-strone-pod-modele-jezykowe/</link><guid isPermaLink="true">https://brylka.net/llms-txt-i-geo-jak-przygotowac-strone-pod-modele-jezykowe/</guid><description>Czym jest GEO (Generative Engine Optimization) i plik /llms.txt z llmstxt.org. Jak wygenerować go automatycznie z treści w Astro oraz wzmocnić sygnały dla modeli AI danymi strukturalnymi schema.org (Person, Organization, BlogPosting).</description><pubDate>Mon, 15 Jun 2026 00:00:00 GMT</pubDate><category>GEO</category><category>llms.txt</category><category>SEO</category><category>schema.org</category><category>Astro</category></item><item><title>Z WordPressa na Astro + Cloudflare Workers – jak przebudowałem brylka.net</title><link>https://brylka.net/z-wordpressa-na-astro-cloudflare-workers/</link><guid isPermaLink="true">https://brylka.net/z-wordpressa-na-astro-cloudflare-workers/</guid><description>Case study migracji bloga z WordPressa (motyw Astra) na statyczny stack Astro 5 + Cloudflare Workers: treść z dumpa bazy, URL-e 1:1, 301-ki, WebP, Lighthouse ~98 i hosting bez serwera.</description><pubDate>Sun, 14 Jun 2026 00:00:00 GMT</pubDate><category>Astro</category><category>Cloudflare Workers</category><category>WordPress</category><category>migracja</category><category>SEO</category><category>wydajność</category></item><item><title>Tworzenie choinki w Pythonie - świąteczne programowanie</title><link>https://brylka.net/tworzenie-choinki-w-pythonie-swiateczne-programowanie/</link><guid isPermaLink="true">https://brylka.net/tworzenie-choinki-w-pythonie-swiateczne-programowanie/</guid><description>Stwórz choinkę w Pythonie i dodaj trochę magii świąt Bożego Narodzenia do swoich programistycznych umiejętności.</description><pubDate>Mon, 23 Dec 2024 18:00:00 GMT</pubDate><category>Python</category></item><item><title>Zrozumienie niedokładności liczb zmiennoprzecinkowych</title><link>https://brylka.net/zrozumienie-niedokladnosci-liczb-zmiennoprzecinkowych/</link><guid isPermaLink="true">https://brylka.net/zrozumienie-niedokladnosci-liczb-zmiennoprzecinkowych/</guid><description>Zrozumienie problemu niedokładności liczb zmiennoprzecinkowych w programowaniu. Dowiedz się, dlaczego obliczenia mogą dawać błędne wyniki.</description><pubDate>Wed, 18 Dec 2024 12:00:00 GMT</pubDate><category>matematyka</category></item><item><title>Hello World! Instalacja i pierwsze uruchomienie Flask</title><link>https://brylka.net/hello-world-instalacja-i-pierwsze-uruchomienie-flask/</link><guid isPermaLink="true">https://brylka.net/hello-world-instalacja-i-pierwsze-uruchomienie-flask/</guid><description>Stwórz aplikację webową w Pythonie za pomocą Flaska - prostego frameworka webowego. Poznaj jego zalety i zacznij korzystać już teraz.</description><pubDate>Thu, 20 Jun 2024 14:00:00 GMT</pubDate><category>Python</category><category>Flask</category></item><item><title>Rozbudowa kalendarza w HTML, CSS i jQuery o dynamiczne tłumaczenia z API za pomocą AJAXa w formacie JSONa</title><link>https://brylka.net/rozbudowa-kalendarza-o-dynamiczne-tlumaczenia-z-api/</link><guid isPermaLink="true">https://brylka.net/rozbudowa-kalendarza-o-dynamiczne-tlumaczenia-z-api/</guid><description>Rozbudowa kalendarza w JavaScript: dodawanie tłumaczeń dynamicznie za pomocą AJAX i JSON. Zwiększ funkcjonalność swojego kalendarza.</description><pubDate>Thu, 06 Jun 2024 22:30:00 GMT</pubDate><category>API</category><category>Front-end</category><category>JavaScript</category><category>html/css</category></item><item><title>Refaktoryzacja i rozbudowa Kalendarza w HTML, CSS i jQuery</title><link>https://brylka.net/refaktoryzacja-i-rozbudowa-kalendarza-w-html-css-i-jquery/</link><guid isPermaLink="true">https://brylka.net/refaktoryzacja-i-rozbudowa-kalendarza-w-html-css-i-jquery/</guid><description>Refaktoryzacja kalendarza w HTML, CSS i jQuery: optymalizacja kodu, CSS Grid i nawigacja między miesiącami.</description><pubDate>Sun, 02 Jun 2024 18:00:00 GMT</pubDate><category>Front-end</category><category>JavaScript</category><category>html/css</category></item><item><title>Kalendarz w HTML, CSS i jQuery</title><link>https://brylka.net/kalendarz-w-html-css-i-jquery/</link><guid isPermaLink="true">https://brylka.net/kalendarz-w-html-css-i-jquery/</guid><description>Naucz się tworzyć prosty kalendarz w HTML, CSS i jQuery. Zobacz krok po kroku, jak stworzyć funkcjonalne narzędzie do zarządzania czasem.</description><pubDate>Mon, 15 Apr 2024 20:00:00 GMT</pubDate><category>Front-end</category><category>JavaScript</category></item><item><title>Zamiana liczb binarnych na dziesiętne – Python, JS, PHP, C++</title><link>https://brylka.net/zamiana-liczb-od-binarnego-do-dziesietnego/</link><guid isPermaLink="true">https://brylka.net/zamiana-liczb-od-binarnego-do-dziesietnego/</guid><description>Jak zamienić liczbę binarną na dziesiętną: algorytm dla części całkowitej i ułamkowej oraz gotowy kod w Pythonie, JavaScripcie, PHP i C++. Krok po kroku.</description><pubDate>Thu, 07 Dec 2023 09:00:00 GMT</pubDate><category>php</category><category>JavaScript</category><category>Python</category><category>matematyka</category></item><item><title>MySQL: Dynamiczne tworzenie i wypełnianie Tabliczki Mnożenia</title><link>https://brylka.net/mysql-dynamiczne-tworzenie-i-wypelnianie-tabliczki-mnozenia/</link><guid isPermaLink="true">https://brylka.net/mysql-dynamiczne-tworzenie-i-wypelnianie-tabliczki-mnozenia/</guid><description>Odkryj, jak stworzyć i wypełnić tabliczkę mnożenia w MySQL, wykorzystując dynamiczne SQL i procedury przechowywane.</description><pubDate>Wed, 06 Dec 2023 20:00:00 GMT</pubDate><category>MySQL</category></item><item><title>Rozbudowa Systemu Zarządzanie Rolami w Laravelu 10</title><link>https://brylka.net/rozbudowa-systemu-zarzadzanie-rolami-w-laravelu/</link><guid isPermaLink="true">https://brylka.net/rozbudowa-systemu-zarzadzanie-rolami-w-laravelu/</guid><description>Zaawansowane zarządzanie rolami w Laravelu: od konfiguracji tras i kontrolera RoleController, po prosty i elastyczny widok użytkownika.</description><pubDate>Thu, 16 Nov 2023 22:00:00 GMT</pubDate><category>php</category><category>MVC</category><category>Laravel</category></item><item><title>Dodawanie Obsługi Ról w Laravelu 10</title><link>https://brylka.net/dodawanie-obslugi-rol-w-laravelu/</link><guid isPermaLink="true">https://brylka.net/dodawanie-obslugi-rol-w-laravelu/</guid><description>Implementacja systemu ról w Laravelu: od konfiguracji Breeze i Blade, przez middleware, po relacje w modelach i dyrektywy.</description><pubDate>Wed, 15 Nov 2023 22:00:00 GMT</pubDate><category>php</category><category>MVC</category><category>Laravel</category></item><item><title>Wprowadzenie do ataków Cross-Site Scripting (XSS)</title><link>https://brylka.net/wprowadzenie-do-atakow-cross-site-scripting-xss/</link><guid isPermaLink="true">https://brylka.net/wprowadzenie-do-atakow-cross-site-scripting-xss/</guid><description>Zapraszam do serii artykułów traktujących o atakach Cross-Site Scripting i jak zagrażają bezpieczeństwu aplikacji internetowych.</description><pubDate>Tue, 18 Jul 2023 14:13:31 GMT</pubDate><category>bezpieczeństwo</category></item><item><title>Tabliczka mnożenia - przykład refaktoryzacji w PHP</title><link>https://brylka.net/refaktoryzacja-w-php-przyklad-tabliczki-mnozenia/</link><guid isPermaLink="true">https://brylka.net/refaktoryzacja-w-php-przyklad-tabliczki-mnozenia/</guid><description>Dowiedz się, dlaczego tworzenie czystego kodu jest niezbędne. Odkryj proces refaktoryzacji na przykładzie tabliczki mnożenia w PHP.</description><pubDate>Fri, 14 Jul 2023 23:26:33 GMT</pubDate><category>php</category></item><item><title>Aplikacja sprawdzająca wiedzę ucznia</title><link>https://brylka.net/aplikacja-sprawdzajaca-wiedze-ucznia/</link><guid isPermaLink="true">https://brylka.net/aplikacja-sprawdzajaca-wiedze-ucznia/</guid><description>Innowacyjna aplikacja do nauki kodowania, śledzenia i oceny postępów ucznia z czasem, z funkcjami zabezpieczającymi.</description><pubDate>Sat, 29 Apr 2023 22:29:17 GMT</pubDate><category>php</category><category>JavaScript</category></item><item><title>Zrozumieć ataki SQL Injection</title><link>https://brylka.net/zrozumienie-atakow-sql-injection-przeglad-przyklady-i-zabezpieczenia/</link><guid isPermaLink="true">https://brylka.net/zrozumienie-atakow-sql-injection-przeglad-przyklady-i-zabezpieczenia/</guid><description>SQL Injection to technika ataku polegająca na wstrzyknięciu złośliwego kodu SQL, by zdobyć dostęp do nieautoryzowanych danych.</description><pubDate>Wed, 12 Apr 2023 12:41:16 GMT</pubDate><category>php</category><category>bezpieczeństwo</category><category>MySQL</category></item><item><title>Tworzenie SPA z paginacją: Porównanie frameworków</title><link>https://brylka.net/tworzenie-spa-z-paginacja-porownanie-jquery-react-js-i-vue-js/</link><guid isPermaLink="true">https://brylka.net/tworzenie-spa-z-paginacja-porownanie-jquery-react-js-i-vue-js/</guid><description>Artykuł omawia tworzenie aplikacji SPA z jQuery, React.js i Vue.js, porównując zaawansowanie i elastyczność tych podejść.</description><pubDate>Sun, 09 Apr 2023 23:12:40 GMT</pubDate><category>Front-end</category><category>JavaScript</category></item><item><title>Sortowanie w PHP: Analiza i optymalizacja</title><link>https://brylka.net/sortowanie-w-php-analiza-i-optymalizacja/</link><guid isPermaLink="true">https://brylka.net/sortowanie-w-php-analiza-i-optymalizacja/</guid><description>Omówienie sortowania danych w PHP. Odkryj przykładowy kod i sposoby optymalizacji dla starszych i nowszych wersji PHP.</description><pubDate>Tue, 28 Mar 2023 00:12:00 GMT</pubDate><category>php</category></item><item><title>Aktualizacja FreeBSD: Git, źródła i jądro</title><link>https://brylka.net/aktualizacja-freebsd-git-zrodla-i-jadro/</link><guid isPermaLink="true">https://brylka.net/aktualizacja-freebsd-git-zrodla-i-jadro/</guid><description>Korzystanie z Git do pobierania źródeł FreeBSD oraz aktualizacja systemu ze źródeł, tak aby utrzymać system aktualnym.</description><pubDate>Mon, 27 Mar 2023 00:12:00 GMT</pubDate><category>bezpieczeństwo</category><category>FreeBSD</category></item><item><title>GraphQL w Symfony: Elastyczne i wydajne API</title><link>https://brylka.net/graphql-w-symfony-elastyczne-i-wydajne-api/</link><guid isPermaLink="true">https://brylka.net/graphql-w-symfony-elastyczne-i-wydajne-api/</guid><description>Integracja GraphQL z Symfony i API Platform, aby uzyskać elastyczność i wydajność API. Przykłady zapytań, filtrów, błędów.</description><pubDate>Sun, 26 Mar 2023 00:05:52 GMT</pubDate><category>Symfony</category><category>php</category><category>API</category></item><item><title>Tworzenie endpointów API w Symfony z API Platform</title><link>https://brylka.net/tworzenie-endpointow-api-w-symfony-z-api-platform/</link><guid isPermaLink="true">https://brylka.net/tworzenie-endpointow-api-w-symfony-z-api-platform/</guid><description>Wprowadzenie do endpointów API: zrozumienie celu i praktyczne przykłady wykorzystania w rozbudowanych aplikacjach internetowych.</description><pubDate>Sat, 25 Mar 2023 11:56:02 GMT</pubDate><category>Symfony</category><category>php</category><category>API</category></item><item><title>Konfiguracja sieci w FreeBSD</title><link>https://brylka.net/konfiguracja-sieci-w-freebsd/</link><guid isPermaLink="true">https://brylka.net/konfiguracja-sieci-w-freebsd/</guid><description>Konfiguracja sieci w FreeBSD: statyczne IP, DHCP, DNS i wykorzystanie 127.0.0.1. Krok po kroku do optymalnej konfiguracji sieciowej.</description><pubDate>Fri, 24 Mar 2023 22:50:36 GMT</pubDate><category>FreeBSD</category></item><item><title>Instalacja i konfiguracja serwera pocztowego</title><link>https://brylka.net/instalacja-i-konfiguracja-serwera-pocztowego-przewodnik-krok-po-kroku/</link><guid isPermaLink="true">https://brylka.net/instalacja-i-konfiguracja-serwera-pocztowego-przewodnik-krok-po-kroku/</guid><description>Instalacja i konfiguracja serwera pocztowego: protokoły SMTP, POP3, IMAP, MySQL, MUA, RoundCube oraz zabezpieczenie Fail2ban.</description><pubDate>Fri, 24 Mar 2023 22:45:32 GMT</pubDate><category>testy</category><category>bezpieczeństwo</category><category>FreeBSD</category></item><item><title>Symfony 6.2: Auto-rozpoznawanie języka i tłumaczenie</title><link>https://brylka.net/symfony-6-2-internacjonalizacja-automatyczne-rozpoznawanie-jezyka-i-tlumaczen-poprzez-trase/</link><guid isPermaLink="true">https://brylka.net/symfony-6-2-internacjonalizacja-automatyczne-rozpoznawanie-jezyka-i-tlumaczen-poprzez-trase/</guid><description>Odkryj konfigurację i18n w Symfony 6.2, aby elastycznie i automatycznie obsługiwać tłumaczeń stron w aplikacji internetowej.</description><pubDate>Thu, 23 Mar 2023 00:12:00 GMT</pubDate><category>Symfony</category><category>php</category></item><item><title>Monitorowanie systemu w Debianie – procesy, CPU, pamięć i dysk</title><link>https://brylka.net/debian-monitorowanie-pracy-systemu/</link><guid isPermaLink="true">https://brylka.net/debian-monitorowanie-pracy-systemu/</guid><description>Narzędzia do monitorowania Debiana: procesy (top, htop), obciążenie CPU (mpstat), pamięć i dysk (vmstat, iostat) oraz ruch sieciowy (iftop). Co i czym sprawdzić.</description><pubDate>Wed, 22 Mar 2023 00:17:11 GMT</pubDate><category>Linux</category><category>bezpieczeństwo</category></item><item><title>Zabezpieczanie systemu Debian 11.6 przy użyciu UFW</title><link>https://brylka.net/firewall-w-systemie-debian-11-6-zabezpieczanie-twojego-systemu-przy-uzyciu-ufw/</link><guid isPermaLink="true">https://brylka.net/firewall-w-systemie-debian-11-6-zabezpieczanie-twojego-systemu-przy-uzyciu-ufw/</guid><description>UFW jako narzędzie do konfiguracji firewalla w Debian 11.6. Blokowanie pingów i odblokowywanie ruchu dla konkretnych usług i adresów IP.</description><pubDate>Tue, 21 Mar 2023 20:27:01 GMT</pubDate><category>Linux</category><category>bezpieczeństwo</category></item><item><title>Symfony 6: PHPUnit testowanie MVC z CRUD</title><link>https://brylka.net/symfony-6-testowanie-aplikacji-mvc-z-operacjami-crudowymi/</link><guid isPermaLink="true">https://brylka.net/symfony-6-testowanie-aplikacji-mvc-z-operacjami-crudowymi/</guid><description>Twórz testy w Symfony 6 dla aplikacji MVC z CRUD. Użyj PHPUnit, by zwiększyć jakość i niezawodność projektu.</description><pubDate>Mon, 20 Mar 2023 00:33:00 GMT</pubDate><category>Symfony</category><category>php</category><category>MVC</category><category>testy</category></item><item><title>Symfony 6 budowanie aplikacji MVC: Wyświetlanie, dodawanie, edycja i usuwanie rekordów z wykorzystaniem Bootstrap 5.3</title><link>https://brylka.net/symfony-6-budowanie-aplikacji-mvc-wyswietlanie-dodawanie-edycja-i-usuwanie-rekordow-z-wykorzystaniem-bootstrap-5-3/</link><guid isPermaLink="true">https://brylka.net/symfony-6-budowanie-aplikacji-mvc-wyswietlanie-dodawanie-edycja-i-usuwanie-rekordow-z-wykorzystaniem-bootstrap-5-3/</guid><description>Dowiedz się jak rozwijać aplikacje MVC w Symfony. Poradnik dotyczy tworzenia funkcji wyświetlania, dodawania, edycji i usuwania rekordów.</description><pubDate>Sun, 19 Mar 2023 14:53:59 GMT</pubDate><category>Symfony</category><category>php</category><category>MVC</category><category>Bootstrap</category></item><item><title>Symfony 6 współpraca z bazą danych: tworzenie tabeli i wypełnienie jej randomowymi danymi</title><link>https://brylka.net/symfony-6-wspolpraca-z-baza-danych-tworzenie-tabeli-i-wypelnienie-jej-randomowymi-danymi/</link><guid isPermaLink="true">https://brylka.net/symfony-6-wspolpraca-z-baza-danych-tworzenie-tabeli-i-wypelnienie-jej-randomowymi-danymi/</guid><description>Praca z bazą danych w Symfony. Poznaj Doctrine ORM i wzorzec MVC oraz ich wpływ na rozwój zaawansowanych aplikacji internetowych.</description><pubDate>Sat, 18 Mar 2023 21:13:54 GMT</pubDate><category>Symfony</category><category>php</category></item><item><title>Konfiguracja sieci w Debianie – karta sieciowa i statyczne IP</title><link>https://brylka.net/konfiguracja-sieci-na-debianie-11-6/</link><guid isPermaLink="true">https://brylka.net/konfiguracja-sieci-na-debianie-11-6/</guid><description>Jak skonfigurować kartę sieciową w Debianie: statyczny adres IP przez plik /etc/network/interfaces i tymczasowe ustawienia poleceniem ip. Krok po kroku, z przykładami.</description><pubDate>Fri, 17 Mar 2023 01:23:00 GMT</pubDate><category>Linux</category></item><item><title>Symfony 6 - aktualizacja wersji 6.0 do 6.2</title><link>https://brylka.net/symfony-6-aktualizacja-wersji-6-0-do-6-2/</link><guid isPermaLink="true">https://brylka.net/symfony-6-aktualizacja-wersji-6-0-do-6-2/</guid><description>Aktualizacja aplikacji Symfony z wersji 6.0 do 6.2: porady dotyczące ulepszeń i nowych funkcji oraz jak krok po kroku zaktualizować.</description><pubDate>Thu, 16 Mar 2023 00:12:00 GMT</pubDate><category>Symfony</category><category>php</category></item><item><title>Symfony 6 + wyświetlanie zawartości tablic w widoku</title><link>https://brylka.net/symfony-6-wyswietlanie-zawartosci-tablic-w-widoku/</link><guid isPermaLink="true">https://brylka.net/symfony-6-wyswietlanie-zawartosci-tablic-w-widoku/</guid><description>Stwórz tablice i wyświetl je w widoku za pomocą Symfony 6. Zapoznaj się z funkcjonalnościami sortowania, filtrowania i paginacji.</description><pubDate>Wed, 15 Mar 2023 00:03:56 GMT</pubDate><category>Symfony</category><category>php</category></item><item><title>Symfony 6 + obsługa danych przesyłanych metodą GET</title><link>https://brylka.net/symfony-6-obsluga-danych-przesylanych-metoda-get/</link><guid isPermaLink="true">https://brylka.net/symfony-6-obsluga-danych-przesylanych-metoda-get/</guid><description>Obsługa danych GET w Symfony 6 - dowiedz się, jak odczytywać i wykorzystywać wartości przekazywane przez użytkownika w adresie URL.</description><pubDate>Wed, 15 Mar 2023 00:02:37 GMT</pubDate><category>Symfony</category><category>php</category></item><item><title>Symfony 6 + obsługa formularzy metodą POST</title><link>https://brylka.net/symfony-6-obsluga-formularzy-metoda-post/</link><guid isPermaLink="true">https://brylka.net/symfony-6-obsluga-formularzy-metoda-post/</guid><description>Dowiedz się, jak chronić swoją aplikację PHP przed atakami CSRF. Z Symfony 6 łatwo i bezpiecznie obsługuj formularze metodą POST.</description><pubDate>Tue, 14 Mar 2023 10:45:48 GMT</pubDate><category>Symfony</category><category>php</category></item><item><title>Samba jako Kontroler Domeny Active Directory (AD DC)</title><link>https://brylka.net/samba-jako-kontroler-domeny-active-directory-ad-dc/</link><guid isPermaLink="true">https://brylka.net/samba-jako-kontroler-domeny-active-directory-ad-dc/</guid><description>Konfiguracja Samby jako kontrolera domeny AD w Debianie: przewodnik krok po kroku, od instalacji po zarządzanie użytkownikami.</description><pubDate>Tue, 14 Mar 2023 08:04:39 GMT</pubDate><category>Linux</category><category>Active Directory</category><category>Samba</category></item><item><title>Symfony 6 + pobieranie parametrów z adresu URL</title><link>https://brylka.net/symfony-6-pobieranie-parametrow-z-adresu-url/</link><guid isPermaLink="true">https://brylka.net/symfony-6-pobieranie-parametrow-z-adresu-url/</guid><description>Naucz się korzystać z potęgi Symfony 6 - frameworka PHP do budowania skutecznych aplikacji i stron internetowych.</description><pubDate>Mon, 13 Mar 2023 11:17:32 GMT</pubDate><category>Symfony</category><category>php</category></item><item><title>Symfony 6 + Apache vhost + Hello World</title><link>https://brylka.net/symfony-6-apache-vhost-hello-world/</link><guid isPermaLink="true">https://brylka.net/symfony-6-apache-vhost-hello-world/</guid><description>Poradnik instalacji Symfony 6 z Apache na XAMPP oraz tworzenia prostej strony &quot;Hello World&quot;. Poznaj krok po kroku proces konfiguracji.</description><pubDate>Sun, 12 Mar 2023 10:31:28 GMT</pubDate><category>Symfony</category><category>php</category></item><item><title>Konfiguracja serwera DHCP na Debianie – krok po kroku</title><link>https://brylka.net/konfiguracja-dhcp/</link><guid isPermaLink="true">https://brylka.net/konfiguracja-dhcp/</guid><description>Jak postawić i skonfigurować serwer DHCP na Debianie: automatyczne przydzielanie adresów IP w sieci lokalnej, zakres puli, brama i DNS. Praktyczny przewodnik z przykładami.</description><pubDate>Sun, 05 Mar 2023 21:09:35 GMT</pubDate><category>Linux</category></item><item><title>Serwer poczty na FreeBSD 13 (cz. 8): Roundcube, Fail2Ban, uruchomienie i testy</title><link>https://brylka.net/serwer-poczty-freebsd-roundcube-fail2ban-testy/</link><guid isPermaLink="true">https://brylka.net/serwer-poczty-freebsd-roundcube-fail2ban-testy/</guid><description>Finał serii: webmail Roundcube, ochrona Fail2Ban (ipfw), uruchomienie usług oraz testy całego systemu pocztowego – SMTP (Open Relay, mail-tester), POP3, IMAP, HTTPS.</description><pubDate>Wed, 30 Jun 2021 00:00:00 GMT</pubDate><category>FreeBSD</category><category>Roundcube</category><category>Fail2Ban</category><category>serwer pocztowy</category><category>bezpieczeństwo</category></item><item><title>Serwer poczty na FreeBSD 13 (cz. 7): antyspam i antywirus – SpamAssassin, ClamAV, Maia-Mailguard</title><link>https://brylka.net/serwer-poczty-freebsd-spamassassin-clamav-maia/</link><guid isPermaLink="true">https://brylka.net/serwer-poczty-freebsd-spamassassin-clamav-maia/</guid><description>Konfiguracja ochrony poczty na FreeBSD: SpamAssassin z bazą MySQL (Bayes), ClamAV, Razor oraz Maia-Mailguard (amavisd-new) jako filtr i panel kwarantanny.</description><pubDate>Sat, 26 Jun 2021 00:00:00 GMT</pubDate><category>FreeBSD</category><category>SpamAssassin</category><category>ClamAV</category><category>antyspam</category><category>serwer pocztowy</category><category>bezpieczeństwo</category></item><item><title>Serwer poczty na FreeBSD 13 (cz. 6): Postfix (SMTP) i PostfixAdmin</title><link>https://brylka.net/serwer-poczty-freebsd-postfix-postfixadmin/</link><guid isPermaLink="true">https://brylka.net/serwer-poczty-freebsd-postfix-postfixadmin/</guid><description>Konfiguracja Postfix na FreeBSD: SASL z Dovecot, TLS, domeny i skrzynki wirtualne w MySQL, antyspamowe RBL, oraz PostfixAdmin do zarządzania pocztą przez WWW.</description><pubDate>Tue, 22 Jun 2021 00:00:00 GMT</pubDate><category>FreeBSD</category><category>Postfix</category><category>SMTP</category><category>PostfixAdmin</category><category>serwer pocztowy</category><category>bezpieczeństwo</category></item><item><title>Serwer poczty na FreeBSD 13 (cz. 5): Dovecot – POP3, IMAP i skrzynki</title><link>https://brylka.net/serwer-poczty-freebsd-dovecot-pop3-imap/</link><guid isPermaLink="true">https://brylka.net/serwer-poczty-freebsd-dovecot-pop3-imap/</guid><description>Kompilacja i konfiguracja Dovecot z obsługą MySQL na FreeBSD: POP3/IMAP, SSL/TLS, Maildir, Sieve (Pigeonhole), quota oraz uwierzytelnianie skrzynek z bazy.</description><pubDate>Fri, 18 Jun 2021 00:00:00 GMT</pubDate><category>FreeBSD</category><category>Dovecot</category><category>IMAP</category><category>POP3</category><category>serwer pocztowy</category><category>bezpieczeństwo</category></item><item><title>Serwer poczty na FreeBSD 13 (cz. 4): MySQL, phpMyAdmin i bazy systemu pocztowego</title><link>https://brylka.net/serwer-poczty-freebsd-mysql-phpmyadmin/</link><guid isPermaLink="true">https://brylka.net/serwer-poczty-freebsd-mysql-phpmyadmin/</guid><description>Instalacja i zabezpieczenie MySQL 5.7 na FreeBSD (mysql_secure_installation), panel phpMyAdmin oraz utworzenie baz: maia, postfix i roundcube.</description><pubDate>Mon, 14 Jun 2021 00:00:00 GMT</pubDate><category>FreeBSD</category><category>MySQL</category><category>phpMyAdmin</category><category>serwer pocztowy</category><category>bezpieczeństwo</category></item><item><title>Serwer poczty na FreeBSD 13 (cz. 3): Apache, HTTPS (Let&apos;s Encrypt) i PHP</title><link>https://brylka.net/serwer-poczty-freebsd-apache-https-php/</link><guid isPermaLink="true">https://brylka.net/serwer-poczty-freebsd-apache-https-php/</guid><description>Instalacja Apache na FreeBSD, konfiguracja ServerName i vhosta, darmowy certyfikat SSL Let&apos;s Encrypt (certbot), wymuszenie HTTPS oraz instalacja PHP 7.4.</description><pubDate>Fri, 11 Jun 2021 00:00:00 GMT</pubDate><category>FreeBSD</category><category>Apache</category><category>PHP</category><category>Let&apos;s Encrypt</category><category>serwer pocztowy</category><category>bezpieczeństwo</category></item><item><title>Serwer poczty na FreeBSD 13 (cz. 2): instalacja systemu, DNS i SSH</title><link>https://brylka.net/serwer-poczty-freebsd-instalacja-dns-ssh/</link><guid isPermaLink="true">https://brylka.net/serwer-poczty-freebsd-instalacja-dns-ssh/</guid><description>Instalacja FreeBSD 13 na serwerze dedykowanym, podział dysku, aktualizacja jądra (IPFW, dummynet), konfiguracja DNS/revDNS oraz zabezpieczenie SSH.</description><pubDate>Tue, 08 Jun 2021 00:00:00 GMT</pubDate><category>FreeBSD</category><category>SSH</category><category>DNS</category><category>serwer pocztowy</category><category>bezpieczeństwo</category></item><item><title>Serwer poczty na FreeBSD 13 (cz. 1): architektura i komponenty</title><link>https://brylka.net/serwer-poczty-freebsd-architektura/</link><guid isPermaLink="true">https://brylka.net/serwer-poczty-freebsd-architektura/</guid><description>Jak działa serwer poczty elektronicznej i z czego się składa: SMTP, POP3/IMAP, Postfix, Dovecot, Apache, MySQL, Roundcube na FreeBSD 13. Część 1 serii.</description><pubDate>Sat, 05 Jun 2021 00:00:00 GMT</pubDate><category>FreeBSD</category><category>Postfix</category><category>Dovecot</category><category>MySQL</category><category>serwer pocztowy</category><category>bezpieczeństwo</category></item></channel></rss>