Zapraszamy do zamówienia magazynu w >>prenumeracie<<. Miesięcznik jest dostępny w formie papierowej, PDF, EPUB i MOBI oraz AZW3. Do prenumeraty papierowej zawsze dołączamy wydania elektroniczne.
PROGRAMOWANIE ROZWIĄZAŃ SERWEROWYCH
Jak działa Internet.
Model OSI, warstwa fizyczna, adresy MAC i IP (>> więcej o artykule<<)
Jest to pierwszy z serii artykułów, w których chciałbym wprowadzić czytelnika w podstawy działania „Internetu”. Zaczniemy od omówienia modelu OSI, opisując pobieżnie warstwę fizyczną połączeń w sieciach, adresów MAC oraz IP (w obecnym artykule), dojdziemy kolejno do bardziej szczegółowego opisu protokołu TCP, systemu DNS, a skończymy na witrynach internetowych oraz API korzystających z HTTP. Przy okazji poznamy program Wireshark do analizy ruchu sieciowego. Zaczynajmy!
Dawid Pilarski
PROGRAMOWANIE SYSTEMÓW OSADZONYCH
Zbuduj własnego Linuxa z Buildrootem i Raspberry Pi (>>więcej o artykule<<)
Własna dystrybucja Linuxa zbudowana od podstaw – brzmi bardzo ambitnie. W końcu to, co potocznie rozumiemy przez „Linuxa”, to w rzeczywistości połączenie kilku różnych komponentów, takich jak np. kernel, główny system plików (rootfs), bootloader czy init system (np. systemd). W tym artykule poznamy narzędzie Buildroot oraz krok po kroku stworzymy funkcjonalny obraz systemu na platformę Raspberry Pi 4. Następnie dodamy dodatkowe programy i sprawimy, by WiFi łączyło się automatycznie po starcie systemu.
Karol Przybylski
PROGRAMOWANIE APLIKACJI WEBOWYCH
Konteneryzacja, orkiestracja i automatyzacja wdrażania aplikacji
Artykuł przedstawia ogólne spojrzenie na najważniejsze zagadnienia związane z konteneryzacją, orkiestracją oraz automatyzacją wdrażania aplikacji. Omawiam w nim, jak narzędzia takie jak Docker, Kubernetes, Helm i Terraform umożliwiają efektywne zarządzanie złożonymi środowiskami aplikacyjnymi, automatyzując procesy, które wcześniej wymagały znacznego nakładu pracy. Zastosowanie tych technologii pozwala na elastyczne skalowanie aplikacji, aktualizacje oraz utrzymanie wysokiej dostępności usług. Stanowi to fundament nowoczesnych praktyk DevOps, zwiększając efektywność i elastyczność procesów tworzenia oraz wdrażania oprogramowania.
Dawid Borycki
Zarządzanie stanem i danymi z RTK Query
W świecie technologii rządzą dane. To dzięki nim wszystko funkcjonuje w oczekiwany sposób, powodując, iż życie staje się wygodne. Miejscem, gdzie wszystkie dane są pokazywane, jest świat frontendu, który jest uzbrojony w niezliczoną ilość różnorodnych widgetów, specjalnie zaprojektowanych, by w efektywny sposób te dane ukazywać. Zarządzanie tymi danymi wydaje się jedną z bardziej poplątanych rzeczy, ale czy na pewno? Specjalnie do tego został stworzony RTK Query od twórców Reduxa, który w mistrzowski sposób rozwiązuje ten problem.
Mateusz Solnica
Angular i komponenty webowe – integracja dzięki Control Value Accessor (>>więcej o tym artykule<<)
Formularze są kluczowym elementem wielu aplikacji webowych, a Angular oferuje potężne narzędzia do ich tworzenia. Integracja niestandardowych komponentów web z formularzami może jednak okazać się wyzwaniem. W tym artykule przedstawimy Control Value Accessor (CVA), mechanizm Angulara, który ułatwia integrację komponentów web z formularzami.
Grzegorz Dąbrowski
INŻYNIERIA OPROGRAMOWANIA
Architektura systemu w obrazkach
Rysowanie diagramów architektonicznych (ang. architectural diagramming) jest kluczową częścią procesu rozwoju oprogramowania. Celem jest dostarczenie ogólnego obrazu systemu, wizualnej reprezentacji składników oprogramowania, ich różnych funkcji, implementacji i interakcji. Takie „obrazki” mają dać jasne zrozumienie struktury systemu, wspierać efektywną wymianę i udoskonalanie pomysłów, ułatwiać komunikację, planowanie, podejmowanie decyzji i wykonanie. W artykule zajrzymy w świat diagramów architektonicznych, eksplorując ich historię, typy, cele i znaczenie w inżynierii oprogramowania.
Maciej Norberciak
BEZPIECZEŃSTWO
Podatności LLMów na ataki – Prompt Injection
„Ignore all previous instructions” – te cztery słowa są kluczem otwierającym możliwości w wielu systemach AI. Często tylko tyle wystarczy, żeby przekonać LLM lub chatbota do wykonania naszych poleceń, niezależnie od celu przewidzianego przez twórców. Jakie konsekwencję za sobą niesie uzyskanie kontroli nad LLM? Czym jest Prompt Injection i jak się przed nim bronić? Na te pytania postaram się odpowiedzieć w tym artykule.
Maciej W. Majewski a.k.a Hawker
Z ARCHIWUM CVE
Windows Downdate
Przywykliśmy, iż specjaliści od bezpieczeństwa rekomendują aktualizację wykorzystywanego systemu jako jedną z żelaznych zasad utrzymania systemów. Sytuacji nie zmienia choćby fakt, iż czasami przy instalacji poprawek, zawierających również łaty bezpieczeństwa, dochodzi do nieodwracalnych uszkodzeń systemu. Jest to na tyle rzadka (incydent klasy CrowdStrike nie zdarza się co tydzień) i łatwa w zapobieganiu sytuacja (np. poprzez canary deployment – testowe wgrywanie aktualizacji na specjalnie przygotowanym do tego celu systemie, aby wstrzymać wgrywanie aktualizacji w całej organizacji do czasu rozwiązania wykrytych problemów), iż nie warto ryzykować pozostawiania niezaktualizowanego środowiska.
foxtrot_charlie
KLUB LIDERA IT
Oszust w mojej głowie
Dlaczego bardziej wierzymy swoim myślom niż rzeczywistości?
Większość moich sukcesów to przypadek. Swoją pozycję najwyraźniej osiągnąłem dzięki łutowi szczęścia. Inni ewidentnie mają lepsze kwalifikacje niż ja. Innym może się wydawać, iż jestem bardziej kompetentna niż naprawdę jestem. Zrobiłem coś dobrze? Przestań. Przecież każdy to potrafi. Inni zrobili to znacznie lepiej. Mam się wypowiedzieć na jakiś temat? W pracy? Przed klientem? Absolutnie nie! Tylko się skompromituję. Awans? Nie no, co ty. Może za klika czy kilkanaście lat. Jeszcze się wszyscy dowiedzą, jak kilka potrafię. Dzielenie się wiedzą? O czym niby miałbym mówić? Przecież to, co ja wiem, wiedzą wszyscy. Zdarza ci się myśleć i czuć w ten sposób? Możliwe, iż masz do czynienia z syndromem oszusta.
Anita Przybył