REKLAMA

Programista 10/2016 (53) – C++ 17. Co znajdziemy w nowym standardzie – 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.

Magazyn programistów i liderów zespołów IT

BIBLIOTEKI I NARZĘDZIA

MVVM w Androidzie. Część 1 (>>więcej o tym artykule<<)

Jakiś czas temu pokazałem koledze programującemu w Androidzie, jak łatwo jest wyświetlić ostylowaną listę w aplikacji WPF. Binding, DataTemplate, odrobina XAMLa, kilka linijek kodu w C# i w zasadzie tyle – zestawienie przykładu zajęło mniej niż pięć minut. Kolega patrzył osłupiały w ekran. „Rany” – powiedział po chwili – „ale mało kodu!”. Zacząłem się wtedy zastanawiać, czy również pod Androidem nie udałoby się tego osiągnąć: spiąć logikę biznesową z wizualizacją i zrobić to kosztem możliwie najmniejszej ilości kodu-kleju (ang. glue code).

Wojciech Sura

Docker w środowisku produkcyjnym

Docker postrzegany jest jako świetne narzędzie do zarządzania środowiskami developerskimi. Ostatnio jednak coraz częściej mówi się o wykorzystaniu Dockera do wsparcia obsługi środowisk produkcyjnych. W poniższym artykule zostanie opisane, jak zacząć przygodę z Dockerem na produkcji.

Łukasz Wawrzyniak, Łukasz Czyszczonik

JĘZYKI PROGRAMOWANIA

C++17. Co znajdziemy w nowym standardzie (>>więcej o tym artykule<<)

Jest już niemal pewne, że następnym standardem języka C++ będzie C++17. Czy będzie on – zgodnie z oczekiwaniami – równie wielkim trzęsieniem ziemi jak C++11? Niestety, zgodnie z prawem nagłówków Betteridge’a odpowiedź na to pytanie jest przecząca. Ale i tak jest z czego się cieszyć.

Paweł "KrzaQ" Zakrzewski

PROGRAMOWANIE URZĄDZEŃ MOBILNYCH

Programowanie mobilnych aplikacji dla urządzeń rzeczywistości wirtualnej w środowisku Windows

Parametry sprzętowe dzisiejszych smartfonów umożliwiają ich bardzo szybką zamianę w mobilne urządzenia rzeczywistości wirtualnej (VR). Do tego celu wystarczy dokupienie odpowiedniego modułu sprzętowego, który dzięki projektowi Google Cardboard może kosztować nawet kilkanaście złotych! Otwiera to drzwi do całkowicie nowych zastosowań smartfonów i co za tym idzie – nowej gałęzi aplikacji mobilnych, niewymagającej kosztownego sprzętu. W tym artykule zostaną zaprezentowane podstawowe aspekty dotyczące tworzenia mobilnych aplikacji VR w środowisku Windows z wykorzystaniem Unity 3D oraz ALPS VR SDK.

Dawid Borycki

PROGRAMOWANIE SYSTEMOWE

Reverse engineering, czyli jak radzić sobie z brakiem dokumentacji

Zdarza się, że czas nagli, projekt nie idzie tak szybko jak zaplanowano, a robota stoi i czeka, bo klient nie dostarczył dokumentacji. Ratunku! Na szczęście z pomocą przychodzi szeroko rozumiana „inżynieria wsteczna”. A więc czas ruszyć szare komórki, włączyć pomysłowość i dać się wpędzić w wir asemblerowych instrukcji.

Wojciech Macek

INŻYNIERIA OPROGRAMOWANIA 

Zacznij teraz – praca z zastanym kodem

Planujemy dzieło, które pokaże cały nasz geniusz i zdobyte doświadczenie. Zdarza się jednak, że produkt istnieje już od dawna i wiele wyborów zostało dokonanych. Czy to tragedia? Nie, to szansa. Jak pracować z zastanym kodem, by nie wpaść w pułapkę cudzych błędów? Jak usuwać nadmiarowość kodu i systematycznie go refaktoryzować? Praca z zastanym kodem jest problemem niezależnym od języka programowania. Nikt jej nie lubi, a ta przeciwnie: lubi przypomnieć o sobie w najmniej oczekiwanym momencie.

Grzegorz Gałęzowski

BEZPIECZEŃSTWO

Omijając piaskownicę. Techniki i sposoby, jak nie dać się złapać w Cuckoo Sandbox

Piaskownice oraz środowiska wirtualne są powszechnie używane do analizy złośliwego oprogramowania w celach zapobiegania ich rozpowszechnianiu, uszkodzeniu czy wykradzeniu poufnych danych. Większość współczesnego złośliwego oprogramowania próbuje wykryć środowisko wirtualne, a także ominąć moduł odpowiedzialny za analizę ich zachowania w piaskownicy. Jeżeli złośliwe oprogramowanie wykryło, że zostało uruchomione w środowisku wirtualnym, może zacząć wykonywać czynności, które wcale nie są złośliwe. W ten sposób informacja, dostarczona podczas wykonania danej próbki, będzie fałszywa, ponieważ po uruchomieniu na rzeczywistym systemie operacyjnym użytkownika będzie działało w zupełnie inny sposób.

Ariel "Ariel" Wasteskeen

OAuth 2.0 – jak działa i co może pójść nie tak (>>więcej o tym artykule<<)

Potrzeba integracji różnych systemów informatycznych to już od jakiegoś czasu standard. Jeden z problemów, jaki może pojawić się po drodze, to kwestia udzielania dostępu do zasobów oraz skalowalności tego rozwiązania. Podobne kwestie podnoszone są, gdy zachodzi potrzeba udzielenia dostępu do systemu tylko w określonym zakresie. Jednym z zaproponowanych rozwiązań jest implementacja omawianego w tym artykule standardu OAuth 2.0.

Marcin Piosek

KLUB LIDERA IT

Pomóż swojemu zespołowi osiągnąć sukces!

„Społeczeństwo czci i gloryfikuje indywidualistów – Jobs, Musk, LeBron James. My wszyscy to robimy. Jednak indywidualiści nie uzyskują monumentalnych osiągnięć całkiem sami. Sukces jest wynikiem pracy zespołu. Od wysłania łazika na Marsa, po zdekodowanie ludzkiego genomu lub zbudowanie autonomicznych samochodów, zespoły osiągają znacznie więcej niż jakakolwiek pojedyncza osoba mogłaby zdołać”.

Katarzyna Suska

STREFA CTF

Hackover CTF 2016 – robocaptcha

Tegoroczny Hackover CTF był drugą edycją CTFa organizowaną przez hamburski oddział Chaos Computer Club. CTF jest częścią konferencji Hackover. W tym roku organizatorzy udostępnili 23 zadania, z czego większość w kategoriach crypto (9 zadań) i binary (6 zadań). Organizatorzy postanowili również przetestować nowatorski, dynamiczny system punktacji. Na początku każde zadanie miało wartość 130 punktów, która zmniejszała się wraz z liczbą rozwiązań. Warto zaznaczyć, że metoda ta używana była tylko do wyznaczenia końcowej wartości zadania, bo wszystkie drużyny otrzymywały tę samą ilość punktów za rozwiązanie.

tezeb

PWNing 2016 CTF – omówienie zadań

Security PWNing to konferencja organizowana przez PWN poświęcona bezpieczeństwu IT. Uczestnicy tego wydarzenia mieli możliwość rywalizowania ze sobą podczas niewielkiego CTFa przygotowanego na tę okazję przez grupę p4. Konkurs cieszył się dość dużym zainteresowaniem, a niektórzy uczestnicy poświęcili naprawdę sporo czasu na walkę z zadaniami. W tym opracowaniu publikujemy podstawowe informacje o tej rywalizacji i krótkie opisy rozwiązań do każdego z zadań.

 Jarosław Jedynak, Adam Krasuski, Michał Leszczyński, Stanisław Podgórski, Michał Praszmo, Paweł Srokosz, Mateusz Szymaniec

PLANETA IT

Jakość tłumaczeń książek programistycznych. Część 2

W poprzednim artykule nakreśliłem ogólny zarys problemu jakości książek informatycznych, nie tylko w odniesieniu do tłumaczeń. Dziś rozwijam temat bardziej pod kątem terminologicznym, trochę się tłumaczę i zgodnie z rzuconą groźbą piszę szerzej o Słowniku terminologii programistycznej.

Łukasz Piwko

KLUB DOBREJ KSIĄŻKI

Getting Things Programmed. Droga do efektywności

Rafał Kocisz