REKLAMA

Programista 1/2014 (20) – Tworzenie usługi sieciowej opartej o Twisted i Python

Wydanie 01/2014 (20) - Tworzenie usługi sieciowej opartej o Twisted i Python

Zapraszamy do zamówienia magazynu w prenumeracie. Magazyn jest dostępny w formie papierowej, .pdf, .ePUB i .mobi. Cyfrowe wersje też występują w wersji cięższej i lżejszej, by wszystkie czytniki mogły sobie poradzić z tymi plikami : formularz zamówienia

 

BIBLIOTEKI I NARZĘDZIA

Wprowadzenie do Entity Framework

Tworzenie aplikacji korzystających z baz danych jest codziennością programistów. Nieocenioną pomocą są przy tym wszelkie narzędzia ułatwiające pracę, pośród których główną rolę grają narzędzia umożliwiające odwzorowanie obiektowo-relacyjne (ORM). Jest ich sporo. W samej platformie .NET „z pudełka” mamy trzy: tradycyjny ADO.NET oparty na klasie DataSet, ograniczony tylko do SQL Server, za to rewelacyjny LINQ to SQL oraz najnowszy Entity Framework, jedyny z tej trójki, który jest przez Microsoft nadal rozwijany – bohater tego artykułu. Poza tym programista może użyć jednego z wielu rozwiązań dostarczanych przez niezależne firmy, z których warto wspomnieć
przede wszystkim darmowe nHibernate.

Jacek Matulewski

Jak używać IBM Worklight – część 2

Słowa klasyka „Nikt nie jest samotną wyspą” dotyczą także systemów komputerowych, włączając w to również aplikacje mobilne. Dzisiejszy artykuł przedstawia możliwości integracyjne środowiska Worklight. Jeśli chcemy w naszych aplikacjach prezentować dane pochodzące z systemów backend czy też zasilać te systemy danymi wprowadzanymi na urządzeniach mobilnych, musimy do tych systemów zbudować adaptery.

Andrzej Kowalczyk

Wstęp do WPF – część 1

Ostatnimi czasy Microsoft bardzo wypromował Windows Presentation Foundation jako swój główny framework UI. Przy pomocy WPF możemy projektować interface aplikacji dekstopowych, aplikacji Windows Store, a także tych pracujących na platformie Windows Phone. Windows Presentation Foundation podchodzi do projektowania interface'u z nieco innej strony, niż ma to miejsce w przypadku Windows Forms: tym razem nacisk położono na szerokie możliwości projektowania UI, uniezależniając go jednocześnie od aspektów sprzętowych i związanych z API systemu operacyjnego. Rozpoczęcie pracy z WPF wymaga jednak zrozumienia pewnych podstawowych koncepcji, o których właśnie chciałbym w tym artykule opowiedzieć.

Wojciech Sura

Web Crawling oraz Text Mining przy wykorzystaniu RapidMiner

W artykule opisano, jak rozpocząć pracę z darmową wersją profesjonalnego narzędzia przeznaczonego do analizy danych – RapidMiner – oraz jak przy jego wykorzystaniu pobrać zawartość określonych stron z Internetu oraz później przeprowadzić analizę tak uzyskanych danych. Przedstawiono poszczególne komponenty wchodzące w skład takiego procesu oraz zobrazowano na schematach przykładowe jego modele. Dodatkowo scharakteryzowano wstępne przetwarzanie danych tekstowych, klasyfikację oraz grupowanie dokumentów.

Łukasz Mazur

JĘZYKI PROGRAMOWANIA

PLY oraz Python, czyli sposób na Lexa oraz Yacca

Analiza plików tekstowych, a dokładnie analiza syntaktyczna oraz gramatyczna, to obecnie zadanie o charakterze podstawowym, i można by mnożyć przykłady, kiedy należy przeprowadzić analizę danych zapisanych w plikach tekstowych. Dlatego, tworząc jakikolwiek typ oprogramowania, z pewnością napotkamy na konieczność analizy danych umieszczonych w plikach tekstowych. Główny przykład, jaki można podać, to analiza kodów źródłowych pisanych w różnych językach programowania. Ale nie tylko, różnego rodzaju informacje o konfiguracji programu również nader często zapisuje się w postaci plików tekstowych.

Marek Sawerwain

PROGRAMOWANIE ROZWIĄZAŃ SERWEROWYCH

Tworzenie usługi sieciowej opartej o Twisted

Przygotowanie struktury aplikacji, obsługa protokołu, dostęp do danych oraz interakcja pomiędzy systemami – jak to zebrać w całość? Z pomocą biblioteki Twisted (http://twistedmatrix.com) oraz języka Python utworzymy usługę sieciową. Użyjemy istniejącej aplikacji tworzącej zrzuty ekranu stron internetowych i udostępnimy dla niej API po protokole JSON-RPC, tak by aplikacje na naszym telefonie, strona internetowa lub aplikacja desktopowa mogła skorzystać z mocy serwera w celu otrzymania zrzutu ekranu z dowolnej strony w sieci.

Adam Wołk

TESTOWANIE I ZARZĄDZANIE JAKOŚCIĄ

Karma Test Runner

Automatyczne Testowanie Aplikacji JavaScript na przykładzie aplikacji napisanej w Backbone.JS

Karma Test Runner to darmowe narzędzie pozwalające na uruchamianie testów automatycznych w środowisku przeglądarki internetowej. Szybkość działania, łatwość konfiguracji, obsługa wielu przeglądarek, wsparcie dla Continuous Integration, łatwy debug oraz możliwość zainstalowania wielu rozszerzeń pozwala z łatwością tworzyć rożnego rodzaju scenariusze testowe dla aplikacji i bibliotek napisanych w języku JavaScript.

Arkadiusz Wasilonek

PLANETA IT

Zakodowana pomoc

W skrócie: Od dawna mówi się, że „w IT są pieniądze”. Programiści nie skupiają się jedynie na martwym kodzie, który wykorzysta jakieś urządzenie. Chcą tymi pieniędzmi podzielić się z potrzebującymi. Charytatywna edycja konferencji 33rd Degree była prawdopodobnie pierwszą taką akcją, która skupiła developerów z całego kraju.

Łukasz Sobótka

LABORATORIUM BOTTEGA

Receptury projektowe – niezbędnik początkującego architekta

Część VIII: Zarządzanie transakcjami w systemach klasy enterprise

Do czego może przydać mi się propagacja transakcji inna niż REQUIRED? Jak zachowa się wówczas EntityManager i cache pierwszego poziomu? Jak uniknąć zakleszczeń? Dlaczego moje transakcje tylko-do-odczytu nie są tylko do odczytu? Kiedy oddać sterowanie transakcjami klientom zamiast obsługiwać je aspektowo? Jakie anomalie w spójności danych mi zagrażają? Odpowiem na te problemy i opiszę ich rozwiązania w kontekście Spring oraz Java EE, jednak użytkownicy innych platform znajdą w artykule również coś dla siebie: wskazanie generycznych problemów i ich rozwiązań.

Sławomir Sobótka

STREFA CTF

30C3 CTF – cableguy

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

Tomasz Bukowski, Gynvael Coldwind

FELIETON

Pozyskaj pracownika albo zgiń!

Jeśli zadamy pytanie przedsiębiorcom, kto potrzebuje wykwalifikowanego pracownika do swojej firmy, to zdecydowana większość podniesie rękę. To powinno oznaczać, że nie ma bezrobocia. Niestety oznacza zupełnie co innego. A już na pewno nie to, że mamy niskie bezrobocie. A co będzie, jak zadamy pytanie, co robią przedsiębiorcy, aby takiego specjalistę pozyskać?

Michał Mętlewicz

KLUB LIDERA IT

Systemy proste, skomplikowane, złożone i chaotyczne, czyli Cynefin.
I co to ma wspólnego z tworzeniem oprogramowania?

Być może wcześniej miałeś do czynienia z pojęciami typu systemy złożone, skomplikowane, złożone systemy adaptacyjne na przykład przy okazji czytania Management 3.0 Jurgena Appelo albo czytając rozważania Kena Schwabera na temat aplikowalności Scruma. Być może to brzmi intrygująco, jednak trudno odnaleźć w tym logiczny sens, jeśli nie ma się pewnej bazy teoretycznej. I tutaj warto się przyjrzeć koncepcji Dave'a Snowdena zwanej Cynefin opartej między innymi na teorii systemów złożonych, antropologii, psychologii ewolucyjnej, psychologii poznawczej.

Mariusz Sieraczkiewicz

KLUB DOBREJ KSIĄŻKI

Programowanie równoległe i asynchroniczne w C# 5.0

Marek Sawerwain