REKLAMA

Programista 12/2015 (43) – Programowanie urządzeń wbudowanych z wykorzystaniem Windows 10 IoT Core – 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.

BIBLIOTEKI I NARZĘDZIA

Boost.Corner: biblioteka ProgramOptions (więcej o tym artykule >>tutaj<<)

Obsługa parametrów przekazywanych z wiersza poleceń to jedno z tych zadań programistycznych, które chciałoby się wykonać szybko, łatwo i pewnie. W prostych przypadkach zadanie to da się wykonać na zasadzie ad hoc; przy bardziej skomplikowanych – nie obejdzie się bez wsparcia ze strony wyspecjalizowanej biblioteki. W niniejszym artykule przedstawiona jest biblioteka Boost.ProgramOptions, oferująca prostą i wygodną obsługę parametrów wiersza poleceń w programach pisanych w języku C++.

Rafał Kocisz

Wprowadzenie do scikit-learn na przykładzie analizy sentymentu

Scikit-learn jest biblioteką open-source do analizy danych i uczenia maszynowego dla języka Python. Możliwości tej biblioteki zaprezentujemy na prostym przykładzie. Pokażemy krok po kroku, jak wytrenować oraz ewaluować klasyfikator przypisujący zdaniom z recenzji filmowych sentyment pozytywny lub negatywny. Pokażemy przy tym, jak integrować własne funkcje przetwarzające dane z funkcjonalnością biblioteki.

Jan Potworowski

Enterprise Service Bus (ESB) – po szynach danych, prosto do celu

Jednym z najbardziej wartościowych zasobów firmy – zaraz po ludziach – są dane. To właśnie one są niezbędne do jej sprawnego funkcjonowania i rentowności. Gromadzenie danych jest połową sukcesu, należy jednak umieć je odpowiednio wykorzystać, pamiętając, że ze względu na różnorodność systemów wspomagających działanie przedsiębiorstw, są one często rozproszone. W tej sytuacji warto pomyśleć o wsparciu, jakie niesie za sobą wykorzystanie szyny ESB, dzięki której możemy w sprawny sposób przekazywać dane pomiędzy aplikacjami.

Piotr Janecki

PROGRAMOWANIE URZĄDZEŃ MOBILNYCH

iBeacon? A może jednak Eddystone?

iBeacon i Eddystone to dwa podejścia do określenia porozumiewania się beaconów ze smartfonami, tabletami. iBeacon został wprowadzony przez firmę Apple, Eddystone zaś przez Google. Od razu nasuwa się kilka pytań. Czym jest i do czego może służyć beacon? Jakie mechanizmy obsługi obydwu specyfikacji oferują systemy iOS oraz Android? Czy specyfikacje te mogą być traktowanie alternatywnie, a może reprezentują zupełnie odmienne filozofie?

Sławomir Moroz

HoloLens. Programowanie urządzeń rzeczywistości hybrydowej

HoloLens jest urządzeniem ubieralnym w formie okularów, które na pierwszy rzut oka przypominają specjalistyczne instrumenty znane z filmów fantastycznonaukowych. Z punktu widzenia programisty HoloLens to niezależny system komputerowy implementujący rzeczywistość hybrydową i działający pod kontrolą Windows 10. Dzięki temu praktycznie każdy developer, tworzący aplikacje dla Uniwersalnej Platformy Windows lub znający Unity, może tworzyć aplikacje wykorzystujące rzeczywistość hybrydową. Pod koniec zeszłego roku zostałem zaproszony przez Microsoft do uczestnictwa w testowaniu HoloLens podczas HoloLens Developer Demo w San Francisco. Celem tego artykułu jest podsumowanie moich doświadczeń z HoloLens w możliwie obiektywnym ujęciu.

Dawid Borycki

PROGRAMOWANIE URZĄDZEŃ WBUDOWANYCH

Internet of Things. Programowanie urządzeń wbudowanych z wykorzystaniem Windows 10 IoT Core (więcej o tym artykule >>tutaj<<)

Prawie każda firma z listy Fortune 500, związana z technologiami informatycznymi, kreuje własną wizję urządzeń IoT. Aby ułatwić wdrażanie tych pomysłów, Microsoft przygotował specjalną wersję systemu Windows 10 dedykowaną IoT. Jest nią Windows 10 IoT Core. W tym artykule zaprezentuję wybrane możliwości tego systemu oraz Uniwersalnej Platformy Windows w zakresie programowania urządzeń wbudowanych.

Dawid Borycki

PROGRAMOWANIE APLIKACJI WEBOWYCH

Jak usprawnić pracę frontendowca w ASP.NET przy wykorzystaniu Gulp?

Praca webdevelopera staje się coraz bardziej skoncentrowana na frontendzie. Dzisiejsze aplikacje posiadają szeroką logikę biznesową po stronie klienta, walidacje, ściąganie danych z wielu źródeł. Jest to szczególnie widoczne w aplikacjach SPA (Single Page Application), w których jedyną funkcją serwera może być zwrócenie źródeł i odpowiedzi na żądania z aplikacji. Dotychczasowe rozwiązania zastosowane w ASP.NET oferowały raczej skromne mechanizmy usprawniające pracę programistów frontendowych.

Radosław Maziarka

PYTHON HAS POWER

Testowanie aplikacji mobilnych z wykorzystaniem Selendroida

Istnieje wiele narzędzi, które wspomagają proces testowania manualnego poprzez automatyzację często powielanych scenariuszy. Podczas testów aplikacji mobilnych sprawdza się, czy zostały spełnione zarówno funkcjonalne, jak i niefunkcjonalne wymagania. Testowana jest poprawność instalacji aplikacji, samo jej działanie, jak i wyświetlanie się elementów na urządzeniach mobilnych. Jednak dopiero zastosowanie automatyzacji aplikacji mobilnych daje nam możliwość sprawnego uruchamiania testów na wielu różnych systemach oraz urządzeniach.

Marta Chimiak

BEZPIECZEŃSTWO

Czym jest atak Padding Oracle (więcej o tym artykule >>tutaj<<)

Padding Oracle to atak, który pozwala na wyłuskanie tekstu jawnego z zaszyfrowanych danych bez znajomości klucza szyfrującego, a także bez potrzeby znalezienia jakichkolwiek błędów w samym algorytmie szyfrującym. Swego czasu atak był wykorzystywany m.in. do złamania mechanizmu sesji w ASP.NET, co z kolei pozwalało na przejęcie uprawnień dowolnego użytkownika. Innym, świeższym przykładem jest opisany w 2014 roku atak POODLE, którego nazwa znaczy Padding Oracle On Downgraded Legacy Encryption, wskutek którego zaleca się, aby nie używać już SSLv3. W tym artykule omówimy, czym jest Padding Oracle, wraz ze schematem ataku oraz metodami obrony.

Michał Bentkowski

LABORATORIUM BOTTEGA

Jak nasze nawyki kognitywne prowadzą do niedopasowania protokołu komunikacyjnego na styku IT i biznesu

Pewnie nie raz spotkałeś/spotkałaś się z sytuacją, gdzie osoba bardzo biegła technicznie, która zainwestowała wiele swojego czasu w pracę nad pomysłem czy rozwiązaniem, nie jest w stanie opowiedzieć o tym, tak aby odbiorcy zrozumieli, co ma na myśli, nie wspominając już o ich przekonaniu do swego rozwiązania. Artykuł jest pierwszym z serii, która będzie miała na celu uświadomienie sobie mechanizmów, które stoją za porażką lub sukcesem w komunikacji, oraz poznanie praktycznych rozwiązań gotowych do natychmiastowego wdrożenia.

Sławomir Sobótka, Dorota Pawelec-Sobótka

FELIETON

Świat przyszłości. Systemy bardzo wbudowane

W życiu dojrzałego człowieka nadchodzi taki moment, w którym musi on uświadomić sobie, że niedawno zachwycające nas rozwiązania typu Big-Data czy Internet-of-Things są de facto rozwiązaniami z poprzedniej epoki. A jako takie ustąpić muszą miejsca innym, znacznie przewyższającym ich możliwości. Pytanie tylko brzmi: co to mogłoby być? Popuśćmy nieco wodze fantazji i wyobraźmy sobie kilka obrazów z przyszłości.

Jakub Palider

PRAWO

Ulga na działalność innowacyjną – zmiany w prawie podatkowym

1 stycznia 2016 r. w życie weszła ustawa z dnia 25 września 2015 r. o zmianie niektórych ustaw w związku ze wspieraniem innowacyjności (Dz.U. z 2015 r., poz. 1767). Jak wynika z uzasadnienia do projektu tej ustawy, jej celem „jest wsparcie innowacyjności polskiej gospodarki zarówno od strony sektora nauki, jak i przedsiębiorstw. Proponowane zmiany powinny spowodować usunięcie wielu istotnych barier prawnych napotykanych przez polskie instytucje naukowe, a także stworzyć zachęty fiskalne dla przedsiębiorstw do podejmowania większego ryzyka”.

Kamil Stolarski, Konrad Maj

PLANETA IT

Maintenance i kilka drobnych spraw

W poprzednim miesiącu zajmowałem się wyrażeniem „software maintenance”, do którego chciabym powrócić, a przy okazji poruszyć kilka dodatkowych zagadnień.

Łukasz Piwko

STREFA CTF

SECCON 2015 Online CTF – FSB: TreeWalker, Decrypt It

Jednym z ostatnich eventów w tym CTF-owym sezonie był japoński SECCON 2015 Online. Dziesięć najlepszych drużyn kwalifikowało się do finałów w następnym roku. Zadania, przygotowane przez organizatorów CTF-a, były dość ciekawe i różnorodne. Podczas jego trwania udało nam się zgromadzić 3100 pkt. – rozwiązując zadania o zróżnicowanym stopniu trudności. Dwa z nich chcielibyśmy dzisiaj przedstawić. Nasz wybór padł na banalną eksploitację, która w przedstawionej przez organizatorów formie okazała się być dość nietypowym wyzwaniem, oraz zadanie będące mieszanką kryptografii i inżynierii wstecznej, dające rozwiązać się w bardzo krótkim czasie dzięki pewnej obserwacji.

Ariel „ariel” Wasteskeen

KLUB LIDERA IT

Trudne rozmowy

Bez względu na to, czy jesteś programistą, liderem, testerem, zapewne wiesz, że nie wystarczą dobre rozwiązania techniczne, żeby powstał dobry system informatyczny. Po drodze wszystko rozbija się o ludzi i komunikację; pojawiają się emocje i warto znać narzędzie, które pozwoli odnaleźć się nam w trakcie takich sytuacji.

Mariusz Sieraczkiewicz

KLUB DOBREJ KSIĄŻKI

Zrozumieć programowanie

Rafał Kocisz