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