Software.Developers.Journal.2007.12.PL.pdf

(9626 KB) Pobierz
7294616 UNPDF
7294616.010.png
7294616.011.png
7294616.012.png
Spis treści
12/2007 (156)
Nie da się nie zauważyć, że Boże Narodzenie zbliża się wielkimi krokami – już
od początku listopada przypominają nam o tym wszędobylscy Mikołaje, koloro-
we wystawy sklepowe i Jingle Bells płynące z co drugiego głośnika (na zmianę
z Last Christmas). Wierzę jednak, że nie macie jeszcze dość i z każdą kolej-
ną czekoladką zjedzoną z adwentowego kalendarza coraz bardziej nie możecie
doczekać się świąt.
W naszej redakcji również panuje świąteczny nastrój. Nie zniechęca nas
jednak do pracy, a wręcz przeciwnie – motywuje, aby ten grudniowy numer był
szczególny i na tyle interesujący, by odciągnąć Waszą uwagę choć na chwilę
od stołu pełnego pyszności i worka pełnego prezentów.
Mam nadzieję, że każdy z Was znajdzie dla siebie coś ciekawego. Osobiście
gorąco polecam artykuł pt. „ Detekcja i rozpoznanie twarzy w programowaniu
C++ ” autorstwa Damiana Ostraszewskiego. Z pewnością zainteresuje Was rów-
nież Biblioteka miesiąca, w której Marcin Zając zachęca do zapoznania się z
biblioteką Joda-Time , przedstawioną jako rozwiązanie zaawansowane technicz-
nie i bardzo obszerne funkcjonalnie.
Jak zwykle, przygotowaliśmy ciekawy Warsztat – tym razem Piotr Róg zapre-
zentował podejście do tworzenia aplikacji opartej na przetwarzaniu obiektów
DTO. Nie zapomnieliśmy też o miłośnikach gier – dla Was, w artykule „ XNA
– zarządzana platforma dla gier ”, Marcin Duszyński i Jacek Matulewski zapre-
zentowali nową zarządzaną platformę programistyczną Microsoftu, przeznaczo-
ną do tworzenia gier dla systemów Windows i konsol Xbox.
Nie zabrało także interesujących programów na naszej płycie. W tym mie-
siącu zamieściliśmy drugą część multimedialnego kursu Java (część pierwsza
ukazała się w numerze 10/2007). Dowiecie się z niego m.in. na czym polega
różnica pomiędzy apletem i aplikacją, jak utworzyć prosty aplet Java i umie-
ścić go na stronie WWW, jak wyświetlać napisy, zmieniać czcionkę przez użycie
metody setFont() i wielu innych ciekawych rzeczy.
Dodatkowo na płycie znajdziecie próbną wersję Easy Projects .Net, który
jest aplikacją webową do zarządzania i śledzenia zadań i projektów opro-
gramowania. Na płycie zamieściliśmy licencję na jednego użytkownika, a ze
strony firmy Easy Projects możecie pobrać 45-dniową rozszerzoną wersję
próbną programu.
Płyta zawiera również pełną wersję programu Desktop Orbiter 5, który
dostarcza administratorom najbogatszy możliwy zestaw narzędzi do ochrony
i zarządzania wieloma komputerami z jednej, centralnej lokacji, a także pełną
wersję WebSite X5 Smart Edition, dzięki któremu w prosty sposób utworzycie
własną stronę WWW.
Mam nadzieję, że grudniowy numer okaże się dla Was interesujący – czeka-
my na Wasze opinie i komentarze. A tymczasem zostawiam Was sam na sam
z lekturą i życzeniami od całej redakcji magazynu SDJ – aby w te święta nie
zabrakło Wam radości, ciepła rodzinnego, odpoczynku od codzienności,
śniegu, mnóstwa pyszności na stole, no i prezentów, prezentów, prezentów!!!
Aktualności
6
Opis CD
12
Felieton
66
Algorytmy: Wyszukiwanie 70
wzorca trochę inaczej
Recenzja programu
74
Prenumerata PRO
75
Księgozbiór
76
Wywiad
78
Prenumerata
80
82
Redakcja SDJ
Zapowiedzi
Miesięcznik Software Developer’s Journal (12 numerów w roku)
jest wydawany przez Software-Wydawnictwo Sp. z o. o.
Adres korespondencyjny:
Software-Wydawnictwo Sp. z o. o., ul. Bokserska 1, 02-682 Warszawa
www.sdjournal.org redakcja@software.com.pl
Redaktor naczelny: Sylwia Pogroszewska
Redaktor prowadzący: Iwona Chwedoruk iwona.chwedoruk@software.com.pl
Redaktor: Patrycja Pruchner patrycja.pruchner@software.com.pl
Kierownik produkcji: Marta Kurpiewska marta@software.com.pl
Opracowanie graficzne: Robert Zadrożny robz@software.com.pl
Skład i łamanie: Robert Zadrożny robz@software.com.pl
Projekt okładki: Agnieszka Marchocka
Opracowanie CD: Michał Kozłowski
Opracowanie aktualności: Rafał Kocisz
Korekta: Piotr Ozaist
Stali współpracownicy: Stefan Turalski, Rafał Kocisz
Betatesterzy: R. Zacharczyk, S. Pikur, J. Rokicki
Dział reklamy: reklama@software.com.pl
Prenumerata: Marzena Dmowska pren@software.com.pl tel.: (22) 427 36 79; (22) 427 36 93
Drukarnia: Plus Media
Nakład: 6 000 egz.
Redakcja dokłada wszelkich starań, by publikowane w piśmie i na towarzyszących mu nośnikach informacje
i programy były poprawne, jednakże nie bierze odpowiedzialności za efekty wykorzystania ich; nie gwarantuje
także poprawnego działania programów shareware, freeware i public domain. Uszkodzone podczas wysyłki
płyty wymienia redakcja.
Wszelkie znaki irmowe zawarte w piśmie są własnością odpowiednich irm i zostały użyte wyłącznie
w celach informacyjnych.
Płyta CD dołączona do magazynu przetestowano programem AntiVirenKit irmy G DATA Software Sp. z o.o.
Redakcja używa systemu automatycznego składu
Sprzedaż aktualnych lub archiwalnych numerów pisma po innej cenie niż wydrukowana na okładce
– bez zgody wydawcy – jest działaniem na jego szkodę i skutkuje odpowiedzialnością sądową.
Pismo ukazuje się w następujących wersjach językowych: polskiej , angielskiej .
4
www.sdjournal.org
Software Developer’s Journal 12/2007
7294616.013.png 7294616.001.png 7294616.002.png 7294616.003.png 7294616.004.png 7294616.005.png 7294616.006.png
 
Inżynieria
oprogramowania
Maszynowe tłumaczenie w Q-Query 42
Maciej Stanusch, Agata Stachowicz-Stanusch
Autorzy w artykule zaprezentowali koncepcję algorytmu tłumaczenia maszy-
nowego wykorzystywanego przez system raportujący Q-Query oparty o zapy-
tania w języku naturalnym. System ten dokonuje translacji zapytania podane-
go przez użytkownika w języku polskim na język SQL. W artykule przedstawio-
no poszczególne fazy procesu tłumaczenia poczynając od analizy morfologicz-
nej, poprzez analizę składniową, po analizę semantyczną. Autorzy zaprezento-
wali także podstawowe problemy, na jakie może natknąć się projektant podob-
nych systemów i jak ich uniknąć rozwijając własne systemy tłumaczenia maszy-
nowego.
Nowe technologie
XNA – zarządzana platforma dla gier 48
Marcin Duszyński, Jacek Matulewski
Marcin i Jacek prezentują nową zarządzaną platformę programistyczną ze
stajni Microsoft. XNA, bo o niej mowa, jest przeznaczona do tworzenia gier dla
systemów Windows i konsol Xbox. Nowa platforma jest następczynią Mana-
ged DirectX (MDX), a co za tym idzie łączy w sobie możliwości platformy .NET i
biblioteki DirectX.
Biblioteka miesiąca
Warsztaty
Joda Time API
16
Rozszerzenie wzorców J2EE 54
Piotr Róg
Piotr w artykule miał na celu zaprezentowanie podejścia do tworzenia aplika-
cji (niekoniecznie webowych) opartej na przetwarzaniu obiektów DTO, które
jest niezależne nie tylko od implementacji obiektów biznesowych ale nawet ich
interfejsów.
Marcin Zając
Marcin w artykule zachęca Czytelników do zapoznania się z biblioteką Joda-
Time , którą przedstawia jako rozwiązanie zaawansowane technicznie i bardzo
obszerne funkcjonalnie. Zastosowany model opisu czasu bardzo dobrze
odzwierciedla wszystkie te pojęcia w odniesieniu do czasu, którymi posługuje-
my się na co dzień. Z drugiej jednak strony rożni się on dość znacznie od tego
z czym zwykle miały do czynienia osoby używające standardowych możliwości
Java SE czy rozwiązań konkurencyjnych.
Biometryka w C++
Detekcja i rozpoznanie twarzy w C++ 28
Damian Ostraszewski
Damian w artykule opisuje jedną z metod jaką jest detekcja i identyfikacja osoby
na podstawie obrazu twarzy przy wykorzystaniu biblioteki OpenCV. Autor przed-
stawia algorytmy: Haar'a like feature do wyodrębnienia twarzy z obrazu oraz
Eigenface do identyfikacji osoby.
Graika komputerowa
Cząsteczkowe generowanie 36
ukształtowania terenu
Korneliusz Warszawski
Korneliusz przedstawia sposób zastosowania systemu cząstek do automa-
tycznego generowania ukształtowania terenu bazującego na mapie wysoko-
ściowej. Metoda zorientowana jest na kompleksowe modelowanie powierzch-
ni terenu, a dzięki temu, iż algorytm nie wymaga dużych mocy obliczeniowych,
zadowalające rezultaty można osiągnąć w rozsądnym czasie również na kom-
puterach osobistych.
Software Developer’s Journal 12/2007
www.sdjournal.org
5
7294616.007.png 7294616.008.png 7294616.009.png
Zgłoś jeśli naruszono regulamin