REKLAMA

Programista 04/2016 (47) – Programowanie aplikacji wieloplatformowych – 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

Numer ten do 20 czerwca dostępny jest w salonach Empik.

BIBLIOTEKI I NARZĘDZIA

Julia – obliczenia inżynierskie (>>więcej o tym artykule<<)

Jeśli chcemy szybko odpowiedzieć na pytanie, czym jest Julia, to warto przytoczyć pierwsze zdania ze strony domowej projektu. A jest tam mowa o tym, iż Julia to pakiet darmowy oraz o otwartym kodzie, którego przeznaczeniem są obliczenia inżynierskie. To jednak nie wszystko, bowiem Julia oferuje bardzo dużą wydajność porównywalną z kodem produkowanym przez kompilatory języków C czy C++, ale oferowany język posiada syntaktykę podobną do języka pakietu Matlab czy Octave. Szczególnie ta ostatnia zaleta spowodowała duże zainteresowanie środowiskiem Julia, co przekłada się na sprawny rozwój całego systemu, a w efekcie otrzymaliśmy kolejny bardzo wartościowy pakiet do przeprowadzania obliczeń. Pod względem wydajności Julia może konkurować z językami kompilowanymi, co powoduje, iż warto bliżej poznać jej możliwości.

Marek Sawerwain

>>POBIERZ FRAGMENT TEGO ARTYKUŁU<<

PROGRAMOWANIE URZĄDZEŃ MOBILNYCH

Przegląd wybranych narzędzi do tworzenia aplikacji wieloplatformowych: Embarcadero RAD Studio i Qt Creator (>>więcej o tym artykule<<)

Programowanie aplikacji wieloplatformowych stanowi spore wyzwanie, w szczególności dla twórców aplikacji mobilnych. Wynika to głównie z różnorodności środowisk, języków oraz paradygmatów programowania dla poszczególnych platform. Aby rozwiązać te problemy, na przestrzeni kilku ostatnich lat powstało parę środowisk i koncepcji, których celem jest ujednolicenie tworzenia wieloplatformowych aplikacji. W tej mini-serii artykułów opiszę wybrane narzędzia wspierające programowanie tego typu aplikacji. W pierwszej kolejności omówię możliwości języka C++ w środowiskach Embarcadero RAD Studio oraz Qt Creator.

Dawid Borycki

PROGRAMOWANIE SYSTEMOWE

Rzućmy programu los, Na stos! (>>więcej o tym artykule<<)

Programista często staje przed koniecznością zapamiętania wartości rejestrów procesora, wykonania sekwencji operacji, a następnie odtworzenia poprzednich wartości w rejestrach procesora. W takich przypadkach przychodzi z pomocą stos, który jest kolejką typu LIFO (ang. Last-In, First-Out), na którym dane są odkładane na wierzchu i z wierzchołka są pobierane. Akcje odkładania danych na stos są wykonywane w odwrotnej kolejności niż akcje pobierania danych i chociaż ta operacja wydaje się trywialna, to jednak w oparciu o nią skonstruowano zaawansowane mechanizmy funkcjonowania systemów operacyjnych.

Kamil Rytarowski

PROGRAMOWANIE GIER

Silnik fizyczny NVIDIA PhysX w projektach gier i aplikacji. Szybki start

Symulacja układu fizycznego składającego się ze zbioru punktów materialnych jest stosunkowo łatwa do samodzielnego przygotowania (patrz artykuły w numerach 7/2013 i 2/2015). Znacznie trudniejsze jest symulowanie bryły sztywnej, czyli układów, które nie ulegają odkształceniom. Nie dlatego, że równania ruchu są mniej oczywiste, choć to też, ale przede wszystkim ze względu na znacznie bardziej złożoną detekcję kolizji w trójwymiarowej przestrzeni i konieczność zaimplementowania prawidłowej reakcji na zderzenia. W tym kontekście nieocenione są gotowe silniki fizyczne, w których NVIDIA PhysX wydaje się obecnie jednym z najbardziej interesujących. Szybko rośnie liczba gier, w których ten silnik jest wykorzystywany.

Radosław Skoroch, Jacek Matulewski

PYTHON HAS POWER

Wprowadzenie do biblioteki React.js

React.js to javascriptowa biblioteka pozwalająca na pisanie elementów interfejsu użytkownika, która okaże się nie mniej przydatna również w budowie bardziej złożonych UI. Może zostać zintegrowana z dowolnym innym narzędziem (jak choćby jQuery), wchodząc w skład praktycznie dowolnego stacku technologii JS-owych. Z tego powodu bardzo często programiści wybierają Reacta jako rozwiązanie pełniące rolę widoku (view) w aplikacjach opartych na architekturze MVC.

Damian Czapiewski

LABORATORIUM BOTTEGA

Jak przetrwać prezentację. Część 2: wystąpienie

W życiu każdego programisty lub programistki pojawia się prędzej czy później smutny dzień, gdy dostaje od przełożonego propozycję nie do odrzucenia: zrób prezentację. Bez względu na to, czy jest to prezentacja funkcjonalności, nad którą pracujemy, szkolenie wewnętrzne z tematu, w jakim się specjalizujemy, lansowanie w społeczności firmy, w której pracujemy, nawracanie niewiernych na nasz ulubiony ezoteryczny język czy framework, to twoje ciało i umysł chętnie wybawią Cię z tej opresji, załatwiając piękną reakcję psychosomatyczną typu syndrom jelita drażliwego, drgawki czy przejście w tryb prokastynacji.

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

BEZPIECZEŃSTWO

Opis błędu w Firefoksie (CVE-2015-7188)

W trzecim kwartale zeszłego roku zgłosiłem do Mozilli błąd bezpieczeństwa, który pozwalał na ominięcie Same Origin Policy (SOP) w przeglądarce Firefox. Dzięki temu możliwe było przeprowadzanie ataków polegających na wykradaniu danych należących do innych domen. Źródłem problemu był pewien pozornie mało istotny detal przy parsowaniu adresów IP.

Michał Bentkowski

FELIETON

Przegląd ponad podziałami

W numerze 1/2016 „Programisty” ukazał się artykuł trafnie opisujący celowość przeglądu kodu. Jest on jednym z podstawowych elementów wielu metodologii programistycznych. W niniejszym tekście chciałbym spojrzeć na temat z trochę innej perspektywy. W jakim środowisku przegląd jest zwykle przeprowadzany? Czy lubimy dzielić się owocami swojej pracy, przyjmować krytykę i otwierać się na dyskusję? Rzeczywistość pokazuje zazwyczaj, że nie: jak najdłużej opóźniamy dyskusję nad swoją implementacją, przywiązujemy się do własnych rozwiązań i bronimy nie zawsze otwarci na argumenty z zewnątrz. Wkraczają emocje i rozmowa na tematy techniczne staje miejscem personalnych uwag, niezdrowej rywalizacji. Skąd bierze się takie nastawienie i czy da z nim walczyć?

Grzegorz Kokot

PLANETA IT

Poplątanie z pomieszaniem

Rodzina terminów zawierających różne odmiany słowa hash nie doczekała się chyba jeszcze ogólnie akceptowanych i stosowanych przez wszystkich polskich ekwiwalentów. Zobaczymy, z jakich rozwiązań można skorzystać, i spróbujmy znaleźć satysfakcjonujący odpowiednik.

Łukasz Piwko

PRAWO

Współpraca z zagranicznym kontrahentem na zasadzie B2B

Coraz więcej zagranicznych firm zaczyna interesować się podjęciem współpracy z polskimi programistami. O czym należy pamiętać przy fakturowaniu takiego kontrahenta i jak poradzić sobie z czyhającymi w wielu miejscach pułapkami?

Dima Korlotian

KLUB LIDERA IT

Efektywne spotkania

Zmorą niemal każdego projektu są spotkania. Gdy zostaniesz liderem, będziesz prowadził wiele spotkań. Zabierają one mnóstwo czasu wielu osób i często kończą się brakiem konkretnych ustaleń. To sprawia, że większość z nas nie lubi brać udziału w takich zdarzeniach. Bardzo często zebrania kończą się fiaskiem, ponieważ nie są dobrze przygotowane. W tym artykule omówię bliżej, co można zrobić, żeby były bardziej efektywne.

Mariusz Sieraczkiewicz

STREFA CTF

ASIS CTF Quals 2016 – Binary Cloud

Nieprzerwanie od 2013 roku organizowany jest podzielony na 2 części ASIS CTF. Zaczyna się kwalifikacjami, w których to znalazło się opisywane tu zadanie, a kończy finałem. Autorami CTF są gracze irańskiej ekipy ASIS, która utrzymuje się w obecnym roku wśród najlepszych 20 drużyn sceny CTF. W najnowszej odsłonie zawodów zadania stały na wysokim poziomie, a te z kategorii Web były na tyle ciekawe, że rozwiązanie jednego z nich opisujemy w niniejszej części „Zdobyć flagę…”.

Damian "Damonsson" Murawski

KLUB DOBREJ KSIĄŻKI

Wielkie umysły programowania

Rafał Kocisz