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ępu do 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.
Proces funkcjonowania ekosystemu 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 od większej wydajności, a skończywszy na lepszej obsłudze klienta. Z pewnością klienci będą teraz zwracać uwagę na producentów, czy posiadają zintegrowanego Passbook'a, dostarczając im wygody i możliwości korzystania, których potrzebują.
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.
Jeśli po ciężkim dniu, po wielogodzinnym tworzeniu obiektów, implementowaniu klas, projektowania interfejsów bądź walki z szablonami mamy jeszcze ochotę na pisanie 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.
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.
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ę, ale gdyby nie ten tag, Internet byłby zbiorem statycznych treści jedynie do odczytu. Straszliwie nudna wizja jak dla mnie.
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 komunikacji z 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.
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 graficznej nie 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 programista musi wykazać się zdolnościami graficznymi, co nie zawsze wychodzi projektowi na dobre.
Aktualnym trendem w dziedzinie oprogramowania są aplikacje pisane na platformy mobilne oraz aplikacje WWW uruchamiane w chmurach obliczeniowych. Powoli odchodzi się od typowych, klasycznych programów desktopowych. Pomimo tego, chciałbym pokazać, że ciekawą aplikację okienkową można stworzyć nawet za pomocą języka programowania 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.
Kiedy w czasie projektowania aplikacji zaistnieje potrzeba wprowadzenia mechanizmu wtyczek, zwiększenia modularności oprogramowania w celu dopasowania aplikacji pod potrzeby różnych klientów lub uproszczenia mechanizmu automatycznych aktualizacji, programista staje przed potrzebą oddelegowania wykonania fragmentu programu poza plik wykonywalny – do zewnętrznego modułu. Istnieje wiele sposobów rozwiązania tego problemu, w tym kilka wbudowanych w system operacyjny oraz framework .NET.
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 krokach przeprowadzamy 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.
Testowanie jest nieodłącznym elementem tworzenia każdej aplikacji. Ruby posiada wiele ciekawych narzędzi automatyzujących proces, w wyniku którego szybko i przyjemnie można tworzyć programy wysokiej jakości.
Obecnie na rynku dostępnych jest wiele systemów do zarządzania stronami internetowymi zwanymi CMS – Content Management System. Każdy z nich ma zastosowanie w określonych zadaniach, np. Wordpress jest doskonały do blogów, a Joomla, Drupal do mniejszych wdrożeń. Jest jednak jeden system, który przychodzi na myśl przy wdrożeniach największych portali, stron korporacyjnych czy aplikacji internetowych. Tym systemem jest TYPO3. Dzisiejszy artykuł rozpoczyna cykl tematyczny o systemie TYPO3.
Domain-Driven Design, Test-Driven Development, Behaviour-Driven Development, Data-Driven Design, Data-Driven Development, Use Case-Driven Design, Use Case-Driven Development, Architecture-Driven Design, Architecture-Driven Development, Model-Driven Development, Agile Model-Driven Development i tak dalej, i tak dalej...
Rozmowa ze Zbigniewem Rybczyńskim
Rozmowa ze Zbigniewem Rybczyńskim, laureatem OSCARA, twórcą nowych technologii obrazu