Programista 3/2013 (10)
Magazyn można zamówić w prenumeracie przez formularz na stronie: http://www.programistamag.pl/infosite/register
Programista 3/2013 (10) - Spis treści:
BIBLIOTEKI I NARZĘDZIA
Przechwytywanie wywołań funkcji w bibliotekach DLL
Czasami zdarza się taka sytuacja, że chcemy przechwycić wywołanie jakiejś funkcji w bibliotece dynamicznej DLL, być może odkryliśmy błąd w aplikacji albo chcemy dodać dodatkową funkcjonalność czy też logowanie wywoływanych funkcji i ich parametrów. W normalnych przypadkach mamy dostęp do kodów źródłowych i modyfikacja funkcji wymaga jedynie edycji odpowiedniego pliku źródłowego, lecz czasami nie mamy dostępudo kodów źródłowych biblioteki lub producent ich po prostu nie udostępnia. Co w takich sytuacjach robić? W poniższym artykule przeczytacie o popularnych rozwiązaniach oraz zaprezentowane zostanie nieco inne podejście do tego tematu
Bartosz Wójcik
PROGRAMOWANIE URZĄDZEŃ MOBILNYCH
iOS 6 – ekosystem Passbook'a
Passbook Apple zmieni sposób korzystania z kart lojalnościowych, kart sklepowych,biletów tranzytowych czy kuponów. Korzyści dla firm będą wielkie, począwszy odwiększej wydajności, a skończywszy na lepszej obsłudze klienta. Z pewnością kliencibędą teraz zwracać uwagę na producentów, czy posiadają zintegrowanego Passbook'a, dostarczając im wygody i możliwości korzystania, których potrzebują.
Łukasz Mazur
Androidowe Listy & Adaptery.
Czyli jak za pomocą rzemiosła programistycznego urzeczywistnić marzenia projektanta i grafika
Artykuł skierowany jest przede wszystkim do początkujących praktyków programowania na zielone urządzenia mobilne, choć pewnie i osoby mające trochę więcej doświadczenia znajdą tu coś dla siebie: od najprostszych przykładów, przez metody optymalizacyjne, do skomplikowanego przykładu pokazującego, jak poprawiać czytelność i reużywalność kodu podczas tworzenia listy z elementami różnych typów.
Maciej Górski
PROGRAMOWANIE SYSTEMÓW OSADZONYCH
VHDL – gdy mamy już dość C/C++/C#i Javy
Jeśli po ciężkim dniu, po wielogodzinnym tworzeniu obiektów, implementowaniu klas, projektowania interfejsów bądź walki z szablonami mamy jeszcze ochotę napisanie programów, to może warto zmienić język wysokiego poziomu na nieco niższy. Na przykład na VHDLa i napisać jakiś program dla układów FPGA.
Marek Sawarwain
PROGRAMOWANIE ROZWIĄZAŃ SERWEROWYCH
Deployment aplikacji dla Ruby on Rails
Dla Ruby on Rails wyróżniamy kilka metod dostarczania aplikacji do serwera. Przedstawię gema Capistrano, który jest najczęściej używany przez społeczność Ruby on Rails. Ciekawe autorskie rozwiązania posiadają także komercyjne serwisy EngineYard i Heroku. Opiszę je, zwracając uwagę na najciekawsze aspekty.
Marcin Czesak
PROGRAMOWANIE APLIKACJI WEBOWYCH
Poznaj ASP.NET MVC 4 (część 4)
Formy z bliska i z daleka
Czym właściwie jest forma w świecie stron internetowych? Jest ona elementem, dzięki któremu strona żyje. Wiem, że trudno sobie wyobrazić taką sytuację, alegdyby nie ten tag, Internet byłby zbiorem statycznych treści jedynie do odczytu. Straszliwie nudna wizja jak dla mnie.
Karol Rogowski
Ruby on Rails – ActiveRecord w praktyce
Ruby on Rails jest połączeniem przejrzystej i czytelnej składni języka Ruby z szybkim projektowaniem aplikacji dzięki konwencjom oraz rozwiązaniom w nim zawartych.Jednym z tych składników jest ActiveRecord – moduł służący do komunikacjiz bazą danych oraz implementowania logiki biznesowej aplikacji. Zanim jednak zagłębimy się w naszą tytułową bibliotekę, warto wspomnieć o innych elementach Ruby on Rails, które składają się na końcowy efekt.
Kamil Baćkowski
Startup w Rails – #3 Interfejs z Bootstrap
Często bywa tak, że sam pomysł funkcjonalny na startup jest niewystarczający. Użytkownicy oraz potencjalni inwestorzy „kupują projekt oczami”. Serwis może posiadaćmnóstwo funkcjonalności, jednak bez odpowiedniej prezentacji graficznejnie przyciągnie nie-technicznych użytkowników. W wielu wypadkach w początkowej fazie na grafikę nie ma zasobów, budżetu ani czasu. Wtedy najczęściej programistamusi wykazać się zdolnościami graficznymi, co nie zawsze wychodzi projektowina dobre.
Grzegorz Forysiński
PROGRAMOWANIE GRAFIKI
Programowanie okienek w języku Ruby
Aktualnym trendem w dziedzinie oprogramowania są aplikacje pisane na platformy mobilne oraz aplikacje WWW uruchamiane w chmurach obliczeniowych. Powoli odchodzisię od typowych, klasycznych programów desktopowych. Pomimo tego, chciałbym pokazać, że ciekawą aplikację okienkową można stworzyć nawet za pomocą językaprogramowania Ruby, który raczej nie jest kojarzony z takim zastosowaniem. Będziemy mogli się przekonać o sile tego języka i możliwościach, jakie oferuje biblioteka graficzna Qt na przykładzie programu wizualizującego fraktal Mandelbrota.
Tomasz Wielgocki
PROGRAMOWANIE APLIKACJI DESKTOPOWYCH
Rozszerzanie możliwości aplikacji
Kiedy w czasie projektowania aplikacji zaistnieje potrzeba wprowadzenia mechanizmuwtyczek, zwiększenia modularności oprogramowania w celu dopasowaniaaplikacji pod potrzeby różnych klientów lub uproszczenia mechanizmu automatycznychaktualizacji, programista staje przed potrzebą oddelegowania wykonaniafragmentu programu poza plik wykonywalny – do zewnętrznego modułu. Istniejewiele sposobów rozwiązania tego problemu, w tym kilka wbudowanych w systemoperacyjny oraz framework .NET.
Wojciech Sura
TESTOWANIE I ZARZĄDZANIE JAKOŚCIĄ
Test i Behaviour Driven Development – duet wspomagający pracę programisty
TDD jest podstawą dla BDD. Praktyki wdrażane za pomocąTDD zostały zastosowane i rozszerzone w nowym podejściu do rozwoju oprogramowania, czyli w BDD.
W wielu projektach stosuje się tradycyjne techniki prowadzenia projektów, np.zgodne z modelem wodospadowym. Analizujemy wymagania, w kolejnych krokachprzeprowadzamy złożone testy, wykazując zgodność produktu z zamówieniem.Metodyki zwinne takie jak Extreme Programming (XP) wprowadzają odwrotne podejście. W pierwszym kroku tworzymy testy, następnie implementujemy funkcjonalność. Artykuł przedstawia TDD i BDD (ang. Test Behaviour Driven Development),opisuje wskazówki dotyczące wdrażania oraz prezentuje narzędzie jBahave.
Łukasz Lechert
Test Driven Development – support i zastosowanie w Ruby on Rails
Testowanie jest nieodłącznym elementem tworzenia każdej aplikacji. Ruby posiadawiele ciekawych narzędzi automatyzujących proces, w wyniku którego szybko i przyjemnie można tworzyć programy wysokiej jakości.
Michał Krajewski
LABORATORIUM MACOPEDIA
Poznaj TYPO3 CMS
Obecnie na rynku dostępnych jest wiele systemów do zarządzania stronami internetowymizwanymi CMS – Content Management System. Każdy z nich ma zastosowanie wokreślonych zadaniach, np. WordPress jest doskonały do blogów, a Joomla, Drupal domniejszych wdrożeń. Jest jednak jeden system, który przychodzi na myśl przy wdrożeniachnajwiększych portali, stron korporacyjnych czy aplikacji internetowych. Tym systememjest TYPO3. Dzisiejszy artykuł rozpoczyna cykl tematyczny o systemie TYPO3.
Tomasz Grzemski
KLUB LIDERA IT
x-Driven Design, y-Driven Development niczego nie zmienią
Domain-Driven Design, Test-Driven Development, Behaviour-Driven Development, Data-Driven Design, Data-Driven Development, Use Case-Driven Design, Use Case-DrivenDevelopment, Architecture-Driven Design, Architecture-Driven Development,Model-Driven Development, Agile Model-Driven Development i tak dalej, i tak dalej...
Michał Bartyzel, Mariusz Sieraczkiewicz
WYWIAD
Szukamy wyjątkowych programistów
Rozmowa ze Zbigniewem Rybczyńskim, laureatem OSCARA, twórcą nowych technologii obrazu.
KLUB DOBREJ KSIĄŻKI
Perełki programowania gier
Rafał Kocisz