REKLAMA

Programista 11/2013 (18) – Spis treści

Wydanie 11/2013 (18) - specjalne wydanie świąteczne 144 stron!

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 cieższej i lżejszej, by wszystkie czytniki mogły sobie poradzić z tymi plikami : formularz zamówienia

*Magazyn opłaca się nabyć wraz z prenumeratą. Jego cena w prenumeracie jest o 10 zł niższa niż w sprzedaży detalicznej w Empiku.

 BIBLIOTEKI I NARZĘDZIA

Jak używać IBM Worklight

Pamiętam, jak zmieniając parę miesięcy temu telefon, zostałem pozbawiony kilku moich ulubionych aplikacji używanych codziennie. To były aplikacje do mojego prywatnego użycia, a co by było w przypadku biznesowych aplikacji, które przestają działać, bo zmienię telefon na inny? Czy też nie będę mógł używać swojego prywatnego Smartphona, bo nie działa na nim służbowa aplikacja? A może będę zmuszony do noszenia ze sobą dwóch urządzeń jednocześnie?

Andrzej Kowalczyk

Windows 8.1 okiem programisty

Windows 8.1 miał swoją premierę w październiku. Co się zmieniło? Spojrzymy na to zarówno z ogólnej perspektywy, jak również z poziomu wybranych platform. Zapraszam na wycieczkę w głąb nowego systemu, podczas której opowiem o jego nowych funkcjonalnościach. Nie zapomnimy też o narzędziach.

Marcin Kruszyński

Calabash – automatyzacja wykonywania testów funkcjonalnych dla aplikacji
mobilnych na przykładzie iOS

Calabash to zautomatyzowana technologia do wykonywania testów dla aplikacji natywnych i hybrydowych działających na systemach Android lub iOS. Projekt Calabash jest typu open soure zapoczątkowany przez LessPainful, a rozwijany obecnie przez Xamarin. Calabash jest całkowicie darmowy, dodatkowo firma Xamarin zapewnia szereg usług komercyjnych skupionych wokół Calabash oraz zapewnia serwisy testowania QA dla urządzeń mobilnych, a mianowicie testy w chmurze Xamarin Cloud. Jest ona tam providerem środowisk testowych, pozwalających wykonywać testy na dużej liczbie urządzeń. Artykuł ten opisuje, jak rozpocząć pracę z Calabash na przykładzie systemu iOS.

Łukasz Mazur

Rozpoznawanie i syntetyzacja mowy w Windows 8.1

Techniki rozpoznawania i syntetyzacji mowy znajdują wiele zastosowań jako metody ułatwiające dostęp do systemów operacyjnych. Ze względu na rosnące znaczenie automatyki i robotyki są one coraz częściej spotykane w wielu aplikacjach i systemach. W tym artykule omówię zagadnienia rozpoznawania i syntetyzacji mowy w systemie operacyjnym Windows 8.1 na przykładzie aplikacji zaimplementowanej w środowisku Visual Studio 2013 z wykorzystaniem biblioteki .NET 4.5.1.

Dawid Borycki

Rozpocznij przygodę z Javą na z/OS

Wszyscy mówili, że „dinozaury” wyginęły. Proza życia jak zwykle pokazała, że nie jest to do końca prawdą. Mówiąc o „dinozaurach”, mam na myśli serwery mainframe, które większości czytelnikom mogą kojarzyć się z czasami przed nastaniem ery Internetu (i nie jest to błędem). Jednak mainframe radzi sobie równie dobrze dzisiaj. Poza takimi językami jak COBOL, PL/I z powodzeniem możemy wykorzystać Javę przy przetwarzaniu wsadowym i nie tylko.

Dawid Morawiec

JĘZYKI PROGRAMOWANIA

F# – nieco inne programowanie w .NET

Język F# to jeden z niewielu nowych języków programowania, który zyskał sporą popularność od momentu pojawienia się pierwszej wersji razem ze środowiskiem Visual Studio 2010. Jednak prace na F# rozpoczęły się już w roku 2002. Rozpoczęto wtedy prace nad adaptacją rozwiązań funkcyjnych opartych o języki z rodziny ML dla platformy .NET, również w kontekście typów uogólnionych. Grupa, która zajmowała się tymi zagadnieniami, wzorowała się też na języku Ocaml, który stał się niejako rodzicem języka F#.

Marek Sawerwain

PROGRAMOWANIE URZĄDZEŃ MOBILNYCH

Rzeczywistość rozszerzona w Androidzie

Intensywne prace nad rzeczywistością rozszerzoną trwają już od co najmniej kilkunastu lat. Być może już niedługo doczekamy się momentu, w którym rozwiązania wzbogacające rzeczywistość o elementy wirtualne staną się rzeczywiście popularne i powszechnie przyjęte. Spore nadzieje wiązane są z upowszechnieniem się tabletów, smartfonów, a także z premierą okularów Google Glass.

Paweł Wolniewicz

5 głównych błędów, które popełniają programiści rozpoczynający tworzenie aplikacji mobilnych

Aby pomóc programistom w tworzeniu aplikacji mobilnych z intuicyjnymi i przemyślanymi
interfejsami, przygotowaliśmy listę najczęstszych błędów, które popełniają
developerzy podczas rozpoczynania swojej przygody z rozwiązaniami mobilnymi –
pokażemy także, jak tych błędów uniknąć.

Bogdan Polak

Corona SDK. Multiplatformowe programowanie na urządzenia mobilne. Cz. 2

W poprzednim artykule (Programista 9/2013) zostały przedstawione podstawowe założenia narzędzia Corona SDK, składnia języka Lua i metoda tworzenia dwóch prostych aplikacji. W ramach uzupełnienia poprzednio przedstawionego materiału zostanie omówiony sposób wyświetlania tekstu w aplikacji, czyli nieśmiertelne Hello World.

Grzegorz Gałęzowski

PROGRAMOWANIE SYSTEMÓW OSADZONYCH

Robot reagujący na światło – „zrób to sam”

Wśród elektroników amatorów panuje przekonanie, że budowa własnego robota wymaga ogromnej wiedzy i doświadczenia oraz że jest to niewykonalne bez zaplecza technicznego. Ten artykuł ma na celu przedstawienie, że nawet bez dużej wiedzy i doświadczenia, stosując się do kilku reguł, można stworzyć dobrą i prostą konstrukcję.

Marek Klimowicz

SONY DSC

PROGRAMOWANIE SYSTEMOWE

Bliżej silikonu #2 TEMAT Z OKŁADKI

Witamy w drugiej części serii traktującej o tym, jak współczesne komputery funkcjonują od środka. W części pierwszej omówiliśmy tematykę procesów zachodzących bezpośrednio po uruchomieniu komputera, a także stworzyliśmy program wyświetlający kolorowy napis „Hello world“ działający w środowisku, w którym w normalnych warunkach wykonuje się tzw. boot loader. W tym artykule kontynuujemy wątek boot loaderów, zajmujemy się początkową fazą uruchomienia systemu operacyjnego, a także wybieramy i przygotowujemy środowisko pracy oraz tworzymy własny boot loader odpowiedzialny za ładowanie podstawowego jądra naszego prostego systemu operacyjnego.

Gynvael Coldwind, Mateusz Jurczyk

PROGRAMOWANIE APLIKACJI WEBOWYCH

Vaadin 7 – naprawdę szybkie tworzenie aplikacji web w Javie

Vaadin 7 jest frameworkiem pozwalającym na bardzo szybkie tworzenie aplikacji webowychbw Javie. W przeciwieństwie do innych podobnych rozwiązań całość aplikacjibmożna przygotować tylko w Javie bez konieczności pisania nawet najprostszegobkodu HTML. W pierwszej części artykułu przedstawię podstawowe możliwości frameworku.W drugiej zaprezentuję prostą aplikację wykorzystującą jego elementy.

Bartek Kuczyński

PROGRAMOWANIE GIER

Wzorce Programowania Gier: Szkielet Aplikacji

W odpowiedzi na liczne zapytania Czytelników dotyczące publikacji większej liczby artykułów związanych z tematyką gamedev, rozpoczynamy w Programiście serię artykułów na temat wzorców programowania gier.

Rafał Kocisz

LABORATORIUM BOTTEGA

Zaawansowane programowanie na platformie Android
Część II: Odwracanie kontroli na platformie Android

Ze względu na to, że stosowanie zasady pojedynczej odpowiedzialności przy programowaniu na Androida to spore wyzwanie, artykuł ten poświęciłem na omówienie technik, które znacznie wspomagają w tym programistę. Implementacje omówionych w artykule wzorców zostały stworzone z myślą o urządzeniach mobilnych, tak więc znakomicie integrują się z Androidem, pomagając tworzyć modularne i testowalne aplikacje. Poza tym, techniki te pozwalają na redukcję niepotrzebnego „kodu kleju”, a jak wiadomo mniej kodu - mniej bugów.

Michał Charmas

STREFA CTF

Zdobyć flagę...
hack.lu CTF 2013 – Packed

Średnio co około dwa tygodnie gdzieś na świecie odbywają się komputerowe Capture The Flag – zawody, podczas których kilku/kilkunasto osobowe 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. Chcielibyśmy zaproponować Wam nowy dział w Programiście – Strefę CTF – w którym co miesiąc będziemy publikować wybrane zadanie pochodzące z jednego z minionych CTFów wraz z jego rozwiązaniem.

Gynvael Coldwind

PLANETA IT

Galaktyka JDD w Krakowie

W skrócie: wymiana doświadczeń i wiedzy to nie wszystko. Istotne jest także budowanie relacji w społeczności Javy. Podczas tegorocznej, ósmej już edycji JDD coraz częściej wykłady techniczne ustępowały zagadnieniom „miękkim”. Twórcy oprogramowania zaczynają dostrzegać wymiar ludzki w codziennym pisaniu kodu. Mimo że JDD 2013 odbywało się jakby w innej przestrzeni. Zapraszamy do przeczytania relacji z trzydniowej konferencji.

Łukasz Sobótka

KLUB LIDERA IT

Mantra architektoniczna

Ciągle powtarzamy, że nie mamy czasu. Nie ma czasu na testowanie jednostkowe, bo nasze szacowania są obcinane o połowę. Nie ma czasu na refaktoryzację, bo nasz kierownik projektu się na to nie zgadza. Nie ma czasu na przeglądy kodu, bo… nie ma czasu. Tak po prostu.

Michał Bartyzel, Mariusz Sieraczkiewicz

KLUB DOBREJ KSIĄŻKI

Implementing Domain-Driven Design

Sławomir Sobótka

Programowanie w języku Clojure

Rafał Kocisz