Prościej już być nie może, niż na GameCreatorze! ;-)
W tym numerze SDJ też będzie coś związanego z grafiką i programowaniem gier, tym razem na komórki i urządzenia przenośne :-)
W aktualnościach tym razem o tym, jak Komisja Europejska ma zamiar przyjrzeć się danym zbieranym przez Google o użytkownikach, o otrzymaniu certyfikatu użyteczności przez środowisko KDE, o dobijaniu do granicy szybkości mikroprocesorów. Można też przeczytać o coraz większym powodzeniu Linuxa [w Polskich firmach dogonił już Windows ;-J], oraz o ujawnieniu szczegółów umowy Novell-Microsoft. Jedną z dobrych nowin jest fakt, że jeszcze w tym roku ma wyjść nowa wersja OpenGL 3.0. Warto też przeczytać o nowym pomyśle na uniemożliwienie wysyłania spamu.
Na płytce w tym numerze między innymi: Druga część multimedialnego kursu Oracle, program do tworzenia wersji instalacyjnych Smart Install Maker, oraz dwa pomysłowe narzędzia dyskowe: DiskKeeper 2007 - zaawansowany program do defragmentacji, i Undelete 5 - program do odzyskiwania usuniętych plików.
W tym numerze, w dziale "Biblioteka miesiąca", znajduje się opis biblioteki GIL służącej do manipulacji obrazami bitmapowymi. Jest to nowoczesna biblioteka, obficie korzystająca z szablonów C++ i mechanizmów Biblioteki Standardowej C++, takich jak pojemniki, iteratory czy algorytmy ogólnego zastosowania. Pozwala na pracę z obrazami przechowywanymi w pamięci na różne sposoby [planarne, z przeplotem itp.] i z różną głębią kolorów, oraz wykonywanie na nich różnych operacji i przekształceń w prosty sposób. Pozwala też pracować z obrazami generowanymi proceduralnie, oraz zapisywać i odczytywać je z plików w róznych formatach. Autor tego artykułu jest jednym z twórców tej biblioteki, więc opisał ją bardzo przystępnie, wyjaśnił jakie problemy ona rozwiązuje i pokazał na wielu przykładach jak łatwe jest korzystanie z niej.
W dziale "Programowanie C/C++" znajduje się obszerny artykuł na temat nowego dziecka grupy Khronos [tej, która teraz zajmuje się rozwojem OpenGL], czyli zestawu bibliotek OpenKODE. Są to biblioteki umożliwiające programowanie gier na urządzenia przenośne [np. komórki czy palmtopy]. Biblioteki te pozwalają pisać przenośny kod, niezależny od platformy sprzętowej i systemu operacyjnego. Artykuł opisuje możliwości tej biblioteki i jej zastosowania. Pozwala czytelnikowi zapoznać się z budową biblioteki i sposobami jej użycia. Autor omawia podstawowe funkcje używane w typowych aplikacjach, np. związane z obsługą zdarzeń, inicjalizacją aplikacji, tworzeniem kontekstów OpenGL, czy obsługą klawiszy. Podaje też kilka przykładowych fragmentów kodu, jednak pozwalają one zaledwie na zapoznanie się z biblioteką, nie stanowią zbyt dużej wartości edukacyjnej. Autor nie porusza też żadnych kwestii związanych z programowaniem grafiki 3D czy dźwięku.
Kolejne trzy artykuły pozostawię bez oceny, ponieważ ani Java, ani ASP.NET nie leżą w kręgu moich zainteresowań i nie znam się na tym. Wszystkie one stanowią dla mnie bełkot, ale może ktoś, kto się na tym zna, coś zyska na ich przeczytaniu. Pierwszy omawia masowe przetwarzanie danych, drugi komponenty encyjne EJB 3.0 [czymkolwiek one są], a trzeci pokazuje przykład budowania prostego interfejsu WWW do rejestracji uczestników zlotu, z wykorzystaniem ASP.NET, bazy danych MS Access i C# [czyli wesoła rodzinka technologii MS ;-J].
Jest też artykuł na temat programowania wielowątkowego w C++ i jak pogodzić je z wzorcami projektowymi, takimi jak singletony. Autor prezentuje przykładowe kody korzystające z biblioteki Boost i rozwiązujące problemy "zakleszczeń" [pewnie chodziło o ang. deadlock
] i "wyścigów" [a to pewnie ang. race condition
;-J], oraz "głodzenia pisarzy przez czytelników" ;-) Ogólnie lepiej by zrobił, gdyby niektórych rzeczy nie spolszczał, albo spolszczył jakoś ładniej, bo jak widzę "zanotyfikuje" to mi oczy musztardą zachodzą ;-P Na szczęście autor użył też słowa "inicjalizacja" zamiast tej okropnej "inicjacji" i tym się wykupił ;-J
Następny artykuł omawia użycie tzw. "zaślepek" [ang. Mock Objects
], czyli fragmentów kodu umożliwiających testowanie innych części kodu. Takie zaślepki można stosować w miejscu, gdzie w przyszłości znajdą się gotowe moduły programu, jednak nie muszą one mieć pełnej funkcjonalności tych modułów. Autor prezentuje to rozwiązanie na przykładzie języka Java, jednak stosuje mechanizmy szczególne tylko dla tego języka, dlatego nie wiem czy da się go zastosować także dla innych języków programowania.
Dalej jest artykuł na temat zarządzania ryzykiem zgodnie z normami ISO 27001:2005. Nie znam się na tym i nie rozumiem z tego ani słowa, dlatego pozostawiam ten artykuł ocenie czytelników ;-P
W numerze jest też dość spory artykuł o "nowym" pomyśle firmy Microsoft, czyli technologii Silverlight. Umożliwia ona tworzenie i osadzanie multimedialnych prezentacji na stronach WWW. Jest to łudząco podobne do istniejących już rozwiązań typu SVG czy SMIL, jednak Microsoft jak zwykle musi wszystko robić po swojemu, z użyciem swoich badziewnych ActiveX'ów ;-P Autor artykułu pokazuje, jak osadzać kontrolki ActiveX na stronie WWW, jak obsługiwać zdarzenia poprzez JavaScript i sterować zawartością kontrolki, oraz kilka przykładowych efektów.
Artykuł pod tytułem "Migracja od DHTML do DOM Scripting" pokazuje różnice między starym i nowym podejściem do tworzenia dynamicznych stron WWW w oparciu o JavaScript i wyjaśnia, dlaczego warto stosować się do wytycznych W3C i ECMA. Według zapowiedzi we wstępie, miał być dokładnym omówieniem róznic między tymi techikami, jednak para poszła w gwizdek i pozostał z niej jedynie przykład stworzenia menu rozwijalnego ;-P
Kolejny artykuł omawia systemy rejestracji czasu pracy w zakładach pracy. Autor omawia wymagania stawiane takiemu systemowi i pokazuje przykładową strukturę takiego systemu. Są też przykładowe fragmenty kodu, jednak autor zapomniał napisać, w jakim języku programowania jest ten kod ;-J [choć przypomina mi on Visual Basic ;-P].
Jest też dalszy ciąg artykułu na temat tworzenia witryny internetowej z użyciem technologii Microsoftu, ASP.NET 2.0, ADO.NET 2.0 i C#. W tej części autor pokazuje, jak użyć arkuszy styli CSS, by nadać lepszy wygląd stworzonej wcześniej witrynie, oraz technologii AJAX, by stworzyć elementy dynamiczne.
Warto też przeczytać kolejny artykuł z cyklu na temat wykorzystania języka UML w inżynierii oprogramowania. Poprzedni artykuł pokazywał, jak użyć diagramów przypadków użycia do zamodelowania wymagań stawianych systemowi. Tym razem opisane zostały statyczne diagramy klas i komponentów, które służą do zamodelowania klas i obiektów składających się na gotowy system, ich budowy wewnętrznej, oraz zależności pomiędzy nimi.