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
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