REKLAMA

Programista 8/2017 (63) – Praktyczna kryptografia: szyfry blokowe – 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

3 najlepsze Python IDE dla data scientistów

Jak powszechnie wiadomo, praca Data Scientista nie ogranicza się jedynie to wyprowadzania skomplikowanych równań na kartce papieru, ale jest to też praktyczna, programistyczna praca przy komputerze. Znajomość języków programowania, np. Pythona, a także bibliotek, takich jak Numpy, Pandas, Matplotlib, to jedno. Jednak wybór IDE, środowiska, w którym Data Scientist będzie pisał swój program lub przeprowadzał analizę eksploracyjną jest także sprawą niesłychanie ważną.

Maciej Bartoszuk

JĘZYKI PROGRAMOWANIA

Automatyczne przetwarzanie kodu C++ z Clangiem (>>więcej o tym artykule<<)

Kompilator Clang udostępnia swój front-end w formie bibliotek. Możemy tworzyć własne narzędzia do refaktoryzacji. Wymagany nakład pracy wcale nie jest duży, zwłaszcza jeśli może nas uchronić przed ręcznym poprawianiem ogromnej ilości kodu. Przyjrzymy się też pułapkom, jakie na nas czekają, i problemom przy współpracy z GCC.

Tomasz Karwala

PROGRAMOWANIE SYSTEMOWE

Na granicy światów – technologia bezpieczeństwa ARM TrustZone (>>więcej o tym artykule<<)

Bezpieczeństwo systemów komputerowych to temat bardzo aktualny w dzisiejszych czasach, ponieważ coraz więcej wrażliwych i wartościowych informacji jest przechowywanych i transportowanych w świecie cyfrowym. Ciemna strona mocy nie śpi, poświęca mnóstwo środków na kreowanie coraz to bardziej wymyślnych i skutecznych ataków. Projektanci systemów komputerowych próbują sprostać wymaganiom rynku i przeciwdziałać tym niecnym zamiarom. W tej wojnie liczy się przede wszystkim kreatywność, elastyczność i ciągłe zmiany podejścia. Na tle rozwiązań konkurencji ciekawie prezentuje się firma ARM ze swoją technologią TrustZone, dającą stosunkowo dużą swobodę projektantom chipów oraz inżynierom bezpiecznego oprogramowania. Przyjrzyjmy się bliżej koncepcji dwóch światów i temu, co o sprzęcie musi wiedzieć programista, aby w pełni wykorzystać jego możliwości chronienia wrażliwych zasobów. Za architekturę referencyjną posłuży nam ARMv8.

Jan Dąbroś

PROGRAMOWANIE APLIKACJI WEBOWYCH

Office UI Fabric

„Czy ta aplikacja może wyglądać jak Excel?”. Takie pytanie może zadać użytkown końcowy Twojej aplikacji, który przyzwyczaił się do interfejsu Office i z tego powod oczekuje podobnych rozwiązań również i w innych aplikacjach. Z punktu widzen programisty rozwiązanie tego problemu polega na odpowiednim przygotowan warstwy wizualnej. To zadanie można jednak znacznie uprościć w oparciu o n rzędzie Office UI Fabric, które dostarcza style i komponenty umożliwiające szybk tworzenie aplikacji wyglądających jak Office. W tym artykule pokażę, w jaki sp sób wykorzystać Office UI Fabric do zaimplementowania aplikacji ASP.NET Core 2 w architekturze Single Page Application, obsługiwanej przez bibliotekę React.js.

Dawid Borycki

Co każdy webmaster o dostępności wiedzieć powinien

Coraz częściej mówi się o dostępności witryn internetowych. Niestety większość  developerów nadal traktuje ten temat pobieżnie, a część z nich w ogóle nie wie,  czym ona jest. Co oznacza pojęcie „dostępna strona” i dlaczego warto się tym tematem zainteresować?

Bartłomiej Krakowski

PROGRAMOWANIE GRAFIKI

Być jak Sherlock Holmes. Przetwarzanie obrazów w Biometrii

Sherlock Holmes, bohater literacki występujący w prozie autorstwa Sir Arthur Conan Doyle’a, bez cienia wątpliwości jest jednym z najbardziej fascynujących przykładów na to, jak nauka i umiejętność logicznego myślenia pozwalają na zdobywanie szczytów. Podstawowym celem detektywa-konsultanta było rozwiązywanie zagadek kryminalnych i wskazywanie sprawców zbrodni. W jednym z dzieł Sir Arthura Conan Doyle’a [1] Sherlock Holmes udowadnia winę podejrzanego poprzez wykorzystanie dowodu z miejsca przestępstwa, którym były odciski palców. W niniejszym artykule pokażę, że każdy z nas może nabyć umiejętności wspomnianego śledczego i poprzez zastosowanie prostych algorytmów przetwarzających obrazy dokonać analizy odcisku palca. Pamiętajmy bowiem, że „dla wielkiego umysłu nie ma rzeczy małych” [2].

Maciej Szymkowski

PROGRAMOWANIE BAZ DANYCH

Data Lake – to robi różnicę

Przez lata hurtownie danych nie miały godnego rywala. Wraz z upływem czasu  koszt przechowywania danych znacznie spadł, a alternatywne rozwiązania zaczęły dynamicznie dojrzewać.

Dawid Benski, Michał Dura

ZARZĄDZANIE I TESTOWANIE JAKOŚCIĄ

GitlabCI – od pomysłu do produkcji

Ciągła integracja jest sposobem na zwiększenie jakości kodu oraz skrócenie cyklu wytwarzania oprogramowania, a największe korzyści czerpiemy z niej, gdy  jest w pełni zautomatyzowana. Przyjrzyjmy się z bliska mechanizmom GitlabCI  i zautomatyzujmy proces integracji naszej aplikacji.

Michał Pawlik

Wyjdź poza schemat  – testuj dostępność aplikacji

Dlaczego accessibility testing jest tak ważne

Dostępność aplikacji mobilnych i webowych oznacza umożliwienie wszystkim użytkownikom Internetu, a w szczególności osobom niepełnosprawnym, doświadczać,  rozumieć, nawigować i w pełni korzystać z aplikacji. Umiejętność testowania do-stępności pozwala na podnoszenie jakości produktów oraz powiększenie grona  użytkowników aplikacji.

Kinga Witko

BEZPIECZEŃSTWO

Praktyczna kryptografia:  Szyfry blokowe (>>więcej o tym artykule<<)

„Ktokolwiek, poczynając od najbardziej bezmyślnego amatora, na najlepszym  kryptografie kończąc, może stworzyć algorytm, którego on sam nie będzie mógł  złamać”. Właśnie tak brzmi Prawo Schneiera – amerykańskiego badacza bez-pieczeństwa i kryptografa. Postaramy się je zweryfikować i przekonać przy tym  czytelników, że nawet korzystając z silnych, nowoczesnych algorytmów, można  popełnić błąd, który kompletnie rujnuje bezpieczeństwo całej aplikacji.

Jarosław Jedynak

PLANETA IT

Kurs angielskiego dla programistów. Lekcja 8

Przedstawiam ósmą lekcję minikursu angielskiego dla programistów. Tym razem  tematem przewodnim są serwery bazy danych. Zachęcam do wielokrotnego wy-konywania ćwiczeń, aby dobrze utrwalić sobie przyswojony materiał. Rozwią-zania do ćwiczeń zamieszczono na stronie internetowej, której adres podano na dole artykułu.

Łukasz Piwko

KLUB DOBREJ KSIĄŻKI

Indie Games. Podręcznik niezależnego twórcy gier

Mariusz „maryush” Witkowski