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