Programista 11/2013 (18)
Programista 11/2013 (18)
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?
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.
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.
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.
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.
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#.
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.
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ąć.
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.
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ę.
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.
Vaadin 7 jest frameworkiem pozwalającym na bardzo szybkie tworzenie aplikacji webowych w Javie. W przeciwieństwie do innych podobnych rozwiązań całość aplikacji można przygotować tylko w Javie bez konieczności pisania nawet najprostszego kodu HTML. W pierwszej części artykułu przedstawię podstawowe możliwości frameworku. W drugiej zaprezentuję prostą aplikację wykorzystującą jego elementy.
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.
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.
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.
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.
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.