REKLAMA

Programista 2/2018 (69) – Cryptery i packery – spis treści

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

Boost.Asio na przykładzie bota do sieci IRC (>>więcej o tym artykule<<)

Boost to zestaw luźno powiązanych ze sobą bibliotek dla języka C++, zapewniających całe spektrum funkcjonalności – od obsługi dat zaczynając, kontynuując przez nowoczesne metaprogramowanie, a kończąc na implementacji obliczeń na kwaternionach.

Paweł "KrzaQ" Zakrzewski

Tworzenie analizatorów kodu i narzędzi do refaktoryzacji za pomocą Roslyn

Jednym z założeń projektu Roslyn było udostępnienie olbrzymiej ilości informacji o kodzie źródłowym, do której do tej pory miał dostęp przede wszystkim kompilator. W ramach projektu zbudowano potężne i niesamowicie rozbudowane API, które na kilku poziomach szczegółowości daje dostęp do każdej porcji informacji dostępnej dla kompilatora. Ponadto, powstały też narzędzia do edytowania tych informacji. Dzięki temu, wykorzystując gotowe klocki, można tworzyć własne narzędzia do analizy kodu czy też refaktoryzacji.

Rafał Major

JĘZYKI PROGRAMOWANIA

(Chez Scheme) – kompilator oraz interpreter

Chez Scheme (CS) to, jak przeczytamy na oficjalnej stronie projektu, zarówno środowisko, jak i język programowania oparty o język Scheme. Należy od razu dodać, iż Scheme wywodzi się z LISP’a, czyli pierwszego języka programowania funkcyjnego powstałego w latach sześćdziesiątych XX wieku. Jednakże Chez Scheme to jedna z najlepszych implementacji Scheme, w tym także kompilatora (zazwyczaj mamy tylko interpreter). Przez długi czas kompilator był dostępny tylko na licencji komercyjnej, ale od około dwóch lat implementacja Chez Scheme jest otwarta i dostępna na licencji Apache 2.0.

Marek Sawerwain

PROGRAMOWANIE URZĄDZEŃ MOBILNYCH

Projekt Rome. Tworzenie aplikacji typu cross-device

Cyfrowa rewolucja sprawiła, że użytkownicy oprócz komputerów wykorzystują do pracy również różne urządzenia mobilne. Mogą one być kontrolowane przez odmienne systemy operacyjne. W efekcie coraz częściej rozpoczynamy pewną aktywność na jednym urządzeniu (np. na komputerze w biurze), a kończymy ją na innym (np. w smartfonie podczas powrotu do domu). Aby wspierać tego typu wieloplatformowe i wielourządzeniowe aplikacje, Microsoft rozwija projekt Rome. Jego celem jest dostarczenie interfejsów programistycznych umożliwiających tworzenie spersonalizowanych aplikacji, działających na różnych urządzeniach danego użytkownika.

Dawid Borycki

PROGRAMOWANIE APLIKACJI WEBOWYCH

Mikroserwisy na frontendzie

Jak można rozwiązać problem z organizacją aplikacji webowej, gdy monolityczne podejście jest niemożliwe? Dlaczego warto wrócić do renderowania po stronie serwera? Czy mikroserwisy na frontendzie mają jakiś sens? W tym artykule pokażę, jak można podejść do tematu rozdziału aplikacji webowych na mniejsze fragmenty.

Rafał Warzycha

TESTOWANIE I ZARZĄDZANIE JAKOŚCIĄ

Allure, Selenium WebDriver, SpecFlow na platformie .NET – czytelne raporty z egzekucji testów

Raportowanie w świecie pisania testów akceptacyjnych jest bardzo przydatną umiejętnością. Jakiś czas temu miałem zadanie znalezienia wartościowego narzędzia do raportowania wyników testów tworzonych w SpecFlow. O wiele łatwiej analizuje się wyniki uruchomienia testów, gdy posiada się czytelny raport. Możemy zawrzeć w nim informacje o czasie wykonania testów oraz zaprezentować wyniki przypadków testowych, które stworzyliśmy dla klienta końcowego.

Michał Ślęzak

BEZPIECZEŃSTWO

Cryptery i packery. Budowa plików wykonywalnych i ich modyfikacje (>>więcej o tym artykule<<)

Ostatnimi czasy na popularności zyskuje tak zwane fileless malware, jednak na uwagę zasługują także inne metody ukrywania lub zaciemniania kodu, które mogą być użyte wraz z tymi znanymi z fileless malware. Packery i cryptery, które realizują to zadanie, cieszą się dużą popularnością wśród twórców złośliwego oprogramowania ze względu na ilość poświęconego czasu na otrzymany efekt. W niniejszym artykule postaram się przybliżyć czytelnikowi wiedzę na temat plików wykonywalnych, która jest niezbędna do zrozumienia, jak działają techniki używane przez twórców malware, i autorów oprogramowania, którzy chcą ukryć swój kod przed inżynierią wsteczną.

Mateusz Garncarek

Bezpieczeństwo kodu języka Java (>>więcej o tym artykule<<)

Domyślne ustawienia Javy umożliwiają działającym aplikacjom dokonywanie dowolnych czynności w kontekście aktualnego użytkownika, takich jak otwieranie portów, czy też odczyt plików systemowych. Nie każda aplikacja potrzebuje takich uprawnień i z powodów bezpieczeństwa często chcielibyśmy uniemożliwić aplikacjom i bibliotekom używania takiej funkcjonalności.

Marek Puchalski

KLUB LIDERA IT

Od Waterfalla przez Scruma do Kanban – wybudzanie programistów z marazmu poprzez ciągłe usprawnianie

Kiedy zacząłem pracę po studiach, myślałem, że będę tworzył nowe rzeczy w rozwijających się firmach. Miałem nadzieję, że będę podnosił swoje kompetencje i tworzył dobre oprogramowanie. Niestety wyglądało to trochę inaczej niż sobie wyobrażałem. Mailowo, telefonicznie lub ustnie od przełożonego dostawałem kolejne zadania do realizacji. Najważniejszą umiejętnością wydawało się czytanie dokumentacji. W kolejnych firmach wytwarzanie oprogramowania wyglądało podobnie, a Waterfall wydawał się jedyną słuszną metodą pracy w świecie IT.

Mariusz Kaczmarek

LABORATORIUM TEINA

Dark patterns, czyli UX wita po ciemnej stronie mocy

Szansa, że spotkaliście się z takim określeniem – albo spotkacie już niebawem – jest bardzo duża. W momencie gdy UX staje się coraz ważniejszy, na scenę coraz śmielej wkracza także jego ciemna strona. W końcu wiedza o tym, jak projektować interfejsy by były: wygodniejsze, łatwiejsze w używaniu, o gładkiej ścieżce przekliku z punktu startowego do celu, może być wykorzystana zarówno w dobrym, jak i złym celu.

Katarzyna Małecka

PLANETA IT

JIMU AstroBot – nauka programowania przez zabawę

Żyjemy w ciekawych czasach. Kiedyś by zainteresować swoje pociechy tematem robotyki, trzeba było mieć w miarę bogato wyposażony warsztat, samemu ogromną wiedzę w tym temacie i poświęcić dziecku mnóstwo czasu, by zaspokoić jego ciekawość i wprowadzić go choćby w podstawy robotyki. Obecnie wystarczy do tego odpowiedni zestaw klocków. Na rynku znajduje się kilka różnych produktów przeznaczonych dla najmłodszych, które mają na celu zainteresowanie ich tą skomplikowaną tematyką w prosty i przystępny sposób. Jednym z nich jest zestaw JIMU AstroBot. Jest to następca zestawu JIMU Robot, który został wyposażony w dodatkowe czujniki oraz klocki.

Mariusz „maryush” Witkowski

KLUB DOBREJ KSIĄŻKI

The Manga Guide. Bazy danych

Mariusz „maryush” Witkowski