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.
BIBLIOTEKI I NARZĘDZIA
Debugowanie niskopoziomowe z Pwndbg
GDB, czyli GNU Debugger, to potężne narzędzie do debugowania aplikacji. Pozwala ono na dynamiczną analizę kodu źródłowego i natywnego; procesów użytkownika, jak i jądra systemów. GDB jest jednak nieco „toporny”: niektóre z jego komend są niewygodne w użyciu, a tekstowy interfejs (TUI) mógłby wyświetlać więcej informacji. Sytuację tę poprawia tytułowe Pwndbg – plugin do GDB, z którym zapoznamy się w tym artykule.
Dominik 'Disconnect3d' Czarnota
Własny asystent AI
„AI zastąpi programistów". „Sztuczna inteligencja zwolni programistów". Takie i podobne tytuły artykułów i wpisów blogowych mogliśmy przeczytać, gdy ChatGPT zyskiwał popularność i po raz pierwszy zobaczyliśmy jego możliwości w dziedzinie tworzenia kodu i stron internetowych. I choć w tej chwili głosy wyrażające podobne tezy są już trochę bardziej stonowane (w tytułach wpisów dodano słowo „Czy"), a także pojawiają się coraz głośniejsze opinie krytyczne, nadszedł czas na zmierzenie się z tematem pracy z takim asystentem AI. Czy faktycznie jest się czego obawiać?
Paweł Łukasik
JĘZYKI PROGRAMOWANIA
Co przyniesie C++ 23?
W chwili pisania tego artykułu jest niemal pewne, iż C++23 będzie czwartym wydaniem C++ z rzędu, które zostanie opublikowane bez opóźnień. Wedle przewidywań będzie to grudzień br. C++23 ma w tej chwili status feature freeze, co oznacza, iż jego obecna wersja będzie zasadniczo tożsama z ostateczną. W tym artykule opiszę co ciekawsze nowości z nadchodzącego standardu.
Paweł "Krzaq" Zakrzewski
Co nowego w Java 21
Przed nami premiera Javy LTS 21, której stabilna wersja ukaże się 19 września br. Planowanych jest 15 nowych zmian, choć część z nich możemy już znać z poprzednich wersji. W tym artykule przyjrzyjmy się ośmiu najważniejszym moim zdaniem funkcjonalnościom.
Juliusz Marciniak
PROGRAMOWANIE SYSTEMÓW OSADZONYCH
FreeRTOS od środka
Od ponad dekady Electronic Engineering Times publikuje „Embedded Market Study” [1] – prawdopodobnie największą i najbardziej miarodajną analizę rynku systemów wbudowanych. Od samego początku na pierwszym-drugim miejscu wśród używanych systemów operacyjnych jest FreeRTOS – twór praktycznie nieznany poza światkiem embedded. W tym artykule opiszę, czym jest FreeRTOS, jaką ma architekturę, jakie oferuje funkcjonalności i jak był rozwijany w ciągu 20 lat swojego istnienia.
Maciej Norberciak
PROGRAMOWANIE APLIKACJI WEBOWYCH
Cztery sposoby komunikacji międzymodułowej w monolicie
Monolit przez wiele osób utożsamiany jest z takimi określeniami, jak „nieuporządkowany”, „stary” czy „trudny w utrzymaniu”. Uważam, iż jest to błędne myślenie, ponieważ powinien on być rozpatrywany w kategorii wdrożeniowej, jako pojedyncza jednostka wdrożeniowa. Nie ma on nic wspólnego z bałaganem w kodzie czy użytą technologią.
Cezary Sanecki
TESTOWANIE I ZARZĄDZANIE JAKOŚCIĄ
Dwukierunkowe testy kontraktowe w praktyce
Nie ulega wątpliwości, iż testowanie interakcji między usługami odgrywa kluczową rolę z perspektywy procesów biznesowych. Jak jednak upewnić się, iż jesteśmy odporni na zmiany, które nie zależą od nas? W dynamicznie zmieniających się systemach, gdzie różne jego składowe są ciągle aktualizowane, ryzyko niezgodności staje się coraz większe. adekwatne strategie i narzędzia do testowania interakcji mogą stać się naszymi sprzymierzeńcami w dążeniu do ciągłości i niezawodności działania aplikacji.
Bartłomiej Krakowski
BEZPIECZEŃSTWO
Sekrety w środowisku programistycznym
Wymagania wobec wytwarzanego systemu stale ewoluują. Objętość kodu źródłowego zaczyna wzrastać, a mnogość funkcji powoduje, iż złożoność logiki, którą musi rozumieć programista, stale się powiększa. Do tego dochodzi komunikacja z usługami zewnętrznymi, takimi jak bazy danych czy też różnorodne API. Nie zawsze są to powszechnie dostępne funkcjonalności i mogą one wymagać od użytkownika uwierzytelnienia się przy pomocy różnego rodzaju poświadczeń. To z kolei zaczyna komplikować sytuację. Nieprawidłowe przechowywanie sekretów, które z definicji nie powinny być przecież jawne, prowadzić może do nadużyć, takich jak nieautoryzowany dostęp do systemów czy naruszenie poufności informacji.
Foxtrot_Charlie