REKLAMA

Programista 11/2017 (66) – C++ – 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 stycznia 2018 r.

BIBLIOTEKI I NARZĘDZIA

Google Architecture Components

Google na konferencji I/O’17 zaprezentowało nową bibliotekę narzędziową dla Androida – Architecture Components. Ułatwia ona obsługę czasu życia komponentów aplikacji (aktywności, fragmentów), pomaga w utrzymaniu czytelnej architektury MVVM, ale jednocześnie jest bardzo modularna – każdego z jej elementów możemy użyć pojedynczo, w miarę potrzeb. W ramach Architecture Components debiutuje również nowy ORM dla Androida o nazwie Room. Zobaczmy, co tym razem Google chce zaoferować programistom aplikacji mobilnych.

Wojciech Sura

JĘZYKI PROGAMOWANIA

C++17 – nowy, miłościwie panujący nam standard C++ (>>więcej o tym artykule<<)

Nieco ponad rok temu (Programista 10/2016) zapowiedziany został nadchodzący standard języka. Od tego czasu komitet standaryzacyjny zdążył się jeszcze spotkać i dokonać pewnych zmian.

PROGRAMOWANIE SYSTEMOWE

Bariery pamięci (>>więcej o tym artykule<<)

W czasach kiedy jednym z wąskich gardeł oprogramowania jest dostęp procesora do RAM, prawdopodobnie nikt nie wątpi w przydatność pamięci podręcznej (cache). Wielokrotnie szybszy dostęp do pamięci niesie jednak ze sobą pewne konsekwencje, z którymi nie zawsze jest się łatwo uporać. W tym artykule zajrzymy w ciemniejsze strony połączenia procesorów i pamięci operacyjnej oraz opiszemy wynikające z tego problemy.

Tomasz Widenka

PROGRAMOWANIE APLIKACJI WEBOWYCH

Komponenty – podstawowa składowa współczesnych UI

Komponenty są tym, co łączy popularne obecnie biblioteki i frameworki służące do budowania interfejsu użytkownika. Nie wszyscy znają jednak ich cechy i zalety, które wnoszą do życia twórców aplikacji webowych. Aby poznać odpowiedzi na tego typu pytania, przyjrzyjmy się frameworkowi Angular, którego rozwój daje nam pogląd na to, w którą stronę zmierza współczesny front-end.

Przemysław Smyrdek

Poznaj Magento 2

Systemy e-commerce na świecie dzielą się na dwie grupy: proste oraz te znacząco rozbudowane. Do drugiej grupy należy właśnie Magento. Wiele dużych e-commerce opiera swój biznes właśnie na Magento, m.in. takie marki jak: Coca-Cola, Ford, Castorama, Reserved i wiele, wiele innych. Magento posiada dwie wersje: Magento Open Source (dawniej Magento Community Edition) oraz Magento Commerce. W naszym artykule skupimy się właśnie na tej pierwszej. Chcemy zapoznać czytelnika z tym systemem i pokazać, że warto opierać na nim swoje e-biznesy.

Mateusz Borowik, Marek Milewski

PROGRAMOWANIE RÓWNOLEGŁE I ROZPROSZONE

Testowanie aplikacji rozproszonych

Gdyby porównać ze sobą tempo rozwoju różnych dyscyplin naukowych, informatyka prawdopodobnie znalazłaby się w ścisłej czołówce, jeżeli nie na pierwszym miejscu. Prędkość zmian, którą można zaobserwować w świecie IT, jest fascynująca i niepokojąca zarazem. Niemal każdy aspekt ulega ciągłym zmianom. Testowanie oraz rodzaje środowisk, w których uruchamiane są aplikacje, również. Tematy testowania i aplikacji rozproszonych z osobna są ostatnio popularne, jednak w połączeniu tworzą swoistą niszę.

Sławomir Zborowski

ALGORYTMIKA

Złożoność obliczeniowa algorytmów – ciąg dalszy (algorytmy rekurencyjne)

Celem napisania tego artykułu było przedstawienie metod wyznaczania rzędu złożoności obliczeniowej algorytmów rekurencyjnych. Algorytmy rekurencyjne stosuje się w informatyce w obszarach, w których rozwiązanie zadania wymaga podziału problemu na mniejsze podproblemy. Do zjawiska rekurencji należy podchodzić z dystansem, ponieważ algorytm rekurencyjny nie zawsze charakteryzuje się dobrą wydajnością. Pisząc artykuł, autor zakłada, że czytelnik zna podstawowe pojęcia związane ze złożonością obliczeniową algorytmów. Niniejsza praca jest uzupełnieniem do artykułu „Wyznaczanie złożoności obliczeniowej algorytmów”, który pojawił się w numerze 10/2017.

Marek Żukowicz

ZARZĄDZANIE PROJEKTAMI

O zaletach prototypów, czyli zwinny sposób na dokumentację

Prototypowanie to szybki i prosty sposób na zastąpienie części dokumentacji dotyczącej wymagań funkcjonalnych, wzbogacony o projektowanie doświadczeń użytkownika końcowego od samego początku prac.

Katarzyna Małecka

LABORATORIUM SYMMETRA

Być jak profesor Moriarty. Praktyczna steganografia

Bezpieczeństwo danych, ataki hakerskie na banki i korporacje, łamanie zabezpieczeń… - z tymi wszystkimi hasłami spotykamy się praktycznie codziennie. Nasze dane, nawet w formie zaszyfrowanej, nie mogą być już uznawane za bezpieczne. W tym artykule przedstawiamy pewne sposoby, które pozwolą na ukrycie informacji w przesyłanych komunikatach czy obrazach.

Maciej Szymkowski, Paweł Jan Czochański

KLUB DOBREJ KSIĄŻKI

Opus Magnum C++11. Programowanie w języku C++

Marek Sawerwain