Programista 10/2016 (53)
Programista 10/2016 (53)
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).
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.
Co znajdziemy w nowym standardzie
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ć.
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.
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.
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.
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.
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.
„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ć”.
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.
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ń.
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.