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.
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.
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ć.
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.
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.
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.
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.
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.
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ń.
Ś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.
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ć?
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.