REKLAMA

Programista 03/2014 (22) – Akka – Spis treści

Zapraszamy do zamówienia magazynu w prenumeracie. Magazyn jest dostępny w formie papierowej, .pdf, .ePUB i .mobi. Formularz zamówienia

Spis treści:

BIBLIOTEKI I NARZĘDZIA

IronPython, czyli integracja platformy .NET z językiem Python

Interdyscyplinarne projekty informatyczne, realizowane przez wiele zespołów, wymagają integracji kodu źródłowego powstającego z użyciem różnych narzędzi oraz języków programowania. Osobiście spotkałem się już kilkukrotnie z koniecznością integracji oprogramowania tworzonego w oparciu o język Python z bibliotekami .NET i vice versa. Przydatnym narzędziem okazał się być wówczas IronPython, który umożliwia dwukierunkową integrację Pythona z platformą .NET. W tym artukule omówię podstawowe właściwości tego narzędzia.

Dawid Borycki

Wprowadzenie do Microsoft Roslyn CTP

Nierzadko zdarza się, że musimy znaleźć w swoim kodzie jakieś zależności, np. sporządzić listę klas, które napisaliśmy, aby później móc przekazać je innemu programiście. Takie operacje wymagają od nas skorzystania z analizatora składniowego. Celem tego artykułu jest przybliżenie developerom projektu Roslyn, opracowanego przez Microsoft, dzięki któremu możemy tworzyć przydatne narzędzia do analizowania kodu źródłowego pod kątem występowania przeróżnych wyrażeń czy też zależności.

Aleksander Kania

Wstęp do WPF – część 3: Stylowania kontrolek ciąg dalszy

Po przeczytaniu poprzednich części artykułu możemy mieć już pewne wyobrażenie na temat tego, jak bardzo elastycznie można modelować interface użytkownika w WPFie. Wiemy też, że przy pomocy szablonów (ControlTemplate) mamy możliwość przeprojektowania wyglądu kontrolki praktycznie od zera. Idźmy dalej! Ciekawe, jak daleko leżą granice możliwości tego frameworka...

Wojciech Sura

PROGRAMOWANIE APLIKACJI WEBOWYCH

Mustache – czyli szablony w JavaScript

Mustache to prosty i wydajny system szablonów, który z powodzeniem można zastosować w kodzie JavaScript w celu oddzielenia logiki od widoku aplikacji. Obecnie każda nowa strona WWW nie może obejść się bez stosowania JavaScript'u w celu dynamicznej prezentacji kodu HTML. System z powodzeniem można używać w urządzeniach mobilnych.

Piotr Tołłoczko

PROGRAMOWANIE SYSTEMOWE

Jak napisać własny debugger w systemie Windows – część 2

Interfejs Debug API dostępny w systemie Windows co najmniej od czasów Windowsa XP posiada ogromny potencjał, który może być wykorzystany do różnorakich celów przez dowolnego pasjonata niskopoziomowych aspektów informatyki, zainteresowanego badaniem i monitorowaniem przebiegu działania aplikacji, tworzeniem zabezpieczeń antypirackich czy rozpakowywaniem plików wykonywalnych zabezpieczonych tzw. protectorami lub packerami plików PE. Wchodzenie w interakcję z zewnętrznymi procesami poprzez odczytywanie i zapisywanie wartości rejestrów, pamięci operacyjnej oraz obsługiwanie pochodzących z nich zdarzeń może służyć wielu celom, jednak jedno jest pewne - płynna znajomość tej części WinAPI jest istotnym elementem wiedzy o działaniu systemu Windows, w szczególności zaś wiedzy o fundamentalnych prawach, jakimi rządzi się wykonywanie programów na linii system operacyjny – procesor. (część 1 w numerze 02/2014)

Mateusz “j00ru” Jurczyk

PRZETWARZANIE RÓWNOLEGŁE I ROZPROSZONE

Akka – wydajny szkielet dla aplikacji wielowątkowych

Akka to framework radykalnie zmieniający sposób pisania skalowalnych, wielowątkowych aplikacji. Zamiast ręcznego zarządzania wątkami oraz wymiany informacji poprzez współdzieloną pamięć i synchronizację, Akka proponuje model obliczeń oparty o aktorów. Każdy aktor jest niezależnym, wyizolowanym obiektem, a komunikacja pomiędzy nimi odbywa się jedynie poprzez asynchroniczną wymianę komunikatów. Takie podejście stwarza zupełnie nowe możliwości, ale również wyzwania.

Tomasz Nurkiewicz

CUDA z liczbą Pi

Technologia CUDA oferowana przez firmę NVIDIA stała się bardzo popularna, jeśli chodzi o technologię wykorzystania kart graficznych w szeroko rozumianych obliczeniach. Nie jest to jedyna technologia tego typu, bowiem jest jeszcze standard OpenCL oraz rozwiązanie Microsoftu o nazwie C++AMP. Jednakże mimo iż CUDA jest dedykowana tylko dla kart NVIDIA, to wydaje się, iż oferuje największą elastyczność w procesie tworzenia oprogramowania dla GPU „zielonych”.

Marek Sawerwain

INŻYNIERIA OPROGRAMOWANIA

Wykorzystanie zasad SOLID podczas wytwarzania oprogramowania w paradygmacie obiektowym

Artykuł przedstawia zbiór pięciu zasad dotyczących projektowania obiektowego i na przykładach pokazane jest, w jaki sposób można je zastosować w swoim projekcie. Wspomniana jest także literatura dla zainteresowanych czytelników dla pogłębienia wiedzy o przytoczonych zasadach i ograniczeniach ich stosowania.

Wojciech Czabański

W artykuł "Solid.." wkradł się chochlik; Listingi 6 i 7 są identyczne. Zamieszczamy prawidłowy Listing 7. Pobierz tutaj

chochlik

PROGRAMOWANIE BAZ DANYCH

ORM w PHP z wykorzystaniem wzorca Active Record

Aby tworzyć aplikacje korzystające z baz danych, niekoniecznie trzeba pisać mnóstwo zapytań SQL. Programując obiektowo, dostęp do bazy danych można przedstawić w sposób zupełnie inny, niż tradycyjnie – za pomocą obiektów. W niniejszym artykule wyjaśnię, czym jest ORM, jak wyglądają jego podstawowe wzorce projektowe oraz pokażę praktyczne zobrazowanie na przykładzie języka PHP.

Jędrzej Czarnecki

ANKIETA

Ankieta magazynu Programista: „Proces wytwarzania oprogramowania w Twojej firmie”

W ostatnim kwartale 2013 roku magazyn Programista przeprowadził badanie pt. „Proces wytwarzania oprogramowania w Twojej firmie” przy współpracy z IBM Polska i firmą Arrow ECS. Sondaż dotyczył małych i średnich przedsiębiorstw, a jego efektem miało być wykazanie, jak zbudowane są zespoły programistyczne, jakie mają metodyki pracy oraz jakich narzędzi używają. Badanie miało również na celu dostosowanie oferty IBM związanej z oprogramowaniem wspierającym wytwarzanie aplikacji (narzędzia IBM Rational) do wymogów polskiego rynku w sektorze MŚP.

LABORATORIUM BOTTEGA

Brakujący element Agile. Część 2: Wprowadzanie feedbacku w życie

W tym artykule przedstawię wyzwania, które napotykamy przy wprowadzaniu feedbacku w życie. Opiszę skuteczne metody jego implementacji i sposoby radzenia sobie z często pojawiającymi się problemami. Pokażę przede wszystkim propozycję frameworka, który pomoże Ci podejść do feedbacku „po inżyniersku”, czyli profesjonalnei i ze strukturą.

Paweł Badeński

WYWIAD

5G made in Wrocław. Rozmowa z Bartoszem Ciepluchem, Dyrektorem Europejskiego Centrum Inżynierii i Oprogramowania NSN we Wrocławiu

STREFA CTF

Zdobyć flagę… RuCTF Quals 2014 – Nyan-task

Średnio co około dwa tygodnie gdzieś na świecie odbywają się komputerowe Capture The Flag - zawody, podczas których kilku-, kilkunastoosobowe drużyny starają się rozwiązać jak najwięcej technicznych zadań z różnych dziedzin informatyki: kryptografii, steganografii, programowania, informatyki śledczej, bezpieczeństwa aplikacji internetowych itd. W serii „Zdobyć flagę..." co miesiąc publikujemy wybrane zadanie pochodzące z jednego z minionych CTFów wraz z jego rozwiązaniem.

Gynvael Coldwind

KLUB LIDERA IT

Jak całkowicie odmienić sposób programowania,używając refaktoryzacji (część 7)

Większość programistów wie, co to refaktoryzacja, zna zalety wynikające z jej stosowania, zna również konsekwencje zaniedbywania refaktoryzacji. Jednocześnie wielu programistów uważa, że refaktoryzacja to bardzo kosztowny proces, wymaga wysiłku i brak na nią czasu w szybko zmieniających się warunkach biznesowych. Zapraszam do kolejnej części artykułu poswięconego zagadnieniu refaktoryzacji.

Mariusz Sieraczkiewicz

KLUB DOBREJ KSIĄŻKI

Scrum. Praktyczny przewodnik po najpopularniejszej metodyce Agile

Rafał Kocisz