REKLAMA

Programista 9/2017 (64) – 64 sposoby na crash – 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. Wydanie dostępne jest też w salonach Empik do końca listopada 2017 r.

BIBLIOTEKI I NARZĘDZIA

Filtr Blooma – niepozorny strażnik wydajności

Nikt nie lubi czekać. Miło jest móc dostawać informacje, które nas interesują tak szybko jak to tylko możliwe. W tym artykule opowiem, co sprawia, że filtr Blooma jest tak użyteczny oraz dlaczego firmy między innymi takie jak Google, Facebook czy LinkedIn zdecydowały się na jego użycie. Mimo swoich niewątpliwych zalet ma również kaprysy, zdarza się mu czasem oszukiwać. Postaramy się pokazać, jak te błędy można zniwelować.

Damian Stygar

Lemon oraz re2c – duet do analizy gramatyczno-leksykalnej

Analiza gramatyczno-leksykalna to zadanie powszechnie wykonywane w wielu typach programów. Głównym przykładem programów, gdzie tego typu analiza jest stosowna, są kompilatory, jednak wiele innych programów posiada pliki tekstowe opisujące konfigurację, zatem i tam taka analiza zawartości pliku jest wykonywana.

Marek Sawerwain

JĘZYKI PROGRAMOWANIA

Modernizacja kodu w C++

We wrześniu tego roku standard C++17 został formalnie zaakceptowany przez komitet ISO, co oznacza, że można uznać go za zamknięty. W najbliższych miesiącach wsparcie dla tego standardu zdecydowanie poprawi się i bez większych problemów będziemy mogli używać go w swoich projektach.

Michał Papierski

PROGRAMOWANIE GIER

Przygoda z wokselowym silnikiem gry. Część 1 (>>więcej o tym artykule<<)

Na rynku można znaleźć bardzo dużo zaawansowanych silników gier, które pozwalają na szybkie stworzenie gry bez zbytniego zastanawiania się: „jak to działa pod spodem?”. Czasami twórcy gier decydują się na stworzenie własnego silnika, ponieważ te dostępne na rynku nie nadają się do gry, jaką sobie wymarzyli. Często też napisanie własnego silnika lepiej doszlifować finalny produkt, poprzez rezygnację z komponentów, które są dla nas zbędne. Ogólnodostępne silniki posiadają ich wiele, ponieważ muszą objąć swoimi możliwościami jak najwięcej gier, które potencjalni developerzy będą tworzyć za ich pomocą. Jednym z takich przypadków, gdzie warto spróbować napisać własny silnik gry, może być gra opierająca się na wokselach. A na pewno będzie to świetny pretekst, by spróbować napisać własny silnik dla celów edukacyjnych i dowiedzieć się więcej „jak to działa pod spodem?”.

Michał Krawczyk

INŻYNIERIA OPROGAMOWANIA

SonarQube – kod mojszy niż twojszy (>>więcej o tym artykule<<)

Napisaliśmy kod. Ktoś go zazwyczaj sprawdza. Nietrudno tu o różnicę zdań, który wariant lepszy, czytelniejszy itp. Jak również o wykrycie oczywistych defektów. Dobrze, gdyby pod ręką znajdował się jakiś automat, a najlepiej pozwalający na przekrojowe analizy, również w dziedzinie czasu. To nasz nowy kolega – SonarQube. Wykonuje te i kilka innych czynności, a jak się postaramy, to dla każdego pull-request'u. Artykuł pozwala nam go lepiej poznać, a zwłaszcza jak pracuje nad kodem .NET samego Jon'a Skeet'a.

Marcin Wachulski

64 sposoby na crash ( >>więcej o tym artykule<<)

Czy zastanawialiście się kiedyś, jak bardzo kruche są podstawy, na których budujemy oprogramowanie, i jak niewiele trzeba, aby zachęcić system operacyjny do nieplanowanego zamknięcia procesu? W tym artykule przedstawione zostaną okrągłe 64 wybrane metody na uzyskanie takiego rezultatu.

Paweł "KrzaQ" Zakrzewski

ZARZĄDZANIE PROJEKTAMI

Niekończąca się praca w toku, czyli zmora Product Ownera

Praca rozpoczęta i niezakończona w ustalonym terminie to coś, co często zdarza się przy pracy z niejednym produktem. Często winą obarczamy zespoły. Jednak powodów porażki możemy doszukiwać się także w działaniach PO. W dalszej części artykułu przedstawię Ci kilka przyczyn niezakończonej pracy oraz kilka rozwiązań, które pomogą lepiej sobie z nimi radzić.

Michał Cichy

BEZPIECZEŃSTWO

Praktyczna kryptografia: Hashowanie, podpisy cyfrowe i wyprowadzanie klucza

W dzisiejszych czasach bezpieczeństwo każdej istniejącej aplikacji internetowej silnie polega na skrótach kryptograficznych. Co więcej, znalezienie praktycznej metody ich odwracania wywołałoby globalny kryzys w całej informatyce. To argument, który sprawia, że warto się z nimi zapoznać. W tym artykule pokażemy, jak poprawnie używać hashy oraz jak skonstruowane są algorytmy HMAC i PBKDF2.

Michał Leszczyński, Jarosław Jedynak

STREFA CTF

EKOPARTY CTF 2017 – OldPC

W połowie września miała miejsce trzecia edycja zawodów EKOPARTY CTF organizowanych przez drużynę Null Life (zawodnicy pochodzą z Ameryki Południowej i Środkowej). Ja w EKOPARTY brałem udział po raz drugi i nie mogę się doczekać kolejnej edycji. Zadań zawsze jest dużo, są różnorodne i ciekawe. A ponieważ większość z nich jest raczej prosta, nawet osoby rozpoczynające przygodę z CTFami mają szansę zdobyć kilka flag, a przy okazji czegoś nowego się nauczyć.

Jarosław Górny

WSPOMNIENIA ZGREDA

Jak ciekawość nas napędzała

Jakiś czas temu pojawił się na łamach naszego pisma nowy dział „Wspomnienia zgreda”. Jego istnienie zainicjowane zostało przytoczoną pewną kontrowersyjną historią, lekko podkolorowaną, tego, co działo się ponad piętnaście lat temu na scenie. Może współcześnie wyglądać to troszkę dziwnie. Jednak wtedy nie było to aż tak nietypowe, jak może się wydawać autorowi tamtego tekstu.

Mariusz „ maryush” Witkowski

PLANETA IT

Kurs angielskiego dla programistów. Lekcja 9

Przedstawiam dziewiątą lekcję minikursu angielskiego dla programistów. Tym razem tematem przewodnim jest bezpieczeństwo. Zachęcam do wielokrotnego wykonywania ćwiczeń, aby dobrze utrwalić sobie przyswojony materiał.

Łukasz Piwko

Czy programista musi być pasjonatem?

Uwaga, uwaga! Oto ON! Wybraniec! Zbawca! Czysty, płonący, zapamiętały. W ognistym rydwanie, z seledynowymi, zero-jedynkowymi lejcami. Programista pasjonat. Poświęcony programowaniu. Prawdziwie.

Maciej Aniserowicz

KLUB DOBREJ KSIĄŻKI

Game Engine Black Book. Wolfenstein 3D

Rafał Kocisz