Software Developer's Journal nr. 140 (08/2006) - Java
Biblioteka miesiąca: Boost.Regex
Wyrażenia regularne stanowią użyteczne narzędzie, wspomagające przetwarzanie danych tekstowych i wiele języków programowania posiada natywnie wbudowaną obsługę tego mechanizmu. Niestety, do zbioru tych języków nie zalicza sie C++, przez co wykorzystujący go programiści muszą szukać alternatywnych rozwiązań. Rafał prezentuje Boost.Regex. Jest to potężne narzędzie do obsługi wyrażeń regularnych, które w odniesieniu do pokrewnych rozwiązań ma dodatkowa zaletę: świetnie integruje sie z mechanizmami biblioteki standardowej C++. Tezę tę potwierdza fakt, że Boost.Regex ma być częścią nowej odsłony standardu języka C++: Cx09.
Programowanie w Javie:
Java Modeling Language
Autor prezentuje możliwości oraz wykorzystanie JML w modelowaniu aplikacji, w których kod wykonywany jest sekwencyjnie. W artykule zaprezentowano sposób użycia JML na przykładzie biblioteki matematycznej. Ponadto dowiesz się jak aplikacja jml pozwala na statyczną weryfikację kodu, jak generować testy dla JUnit
Java Native Interface – łączenie Javy i C/C++
JNI pozwala na wywoływanie z poziomu Javy funkcji zaimplementowanych w C/C++. Artykuł omawia procedurę zastosowania funkcji rodzimej i wywoływania jej w programie. Autor ktrok po kroku wyjaśnia po co łączyć Javę z C/C++.
Aplikacje Javy jako usługi systemu WindowsW artykule został przedstawiony program JavaService. Krzysztof przedstawia możliwości oraz wykorzystywanie aplikacji napisanych w języku Java jako usługi systemowe. Wskazuje, że główną zaletą Javy jest przenośność utworzonych przy jej pomocy aplikacji.
Warsztat:
Skalowanie czasu i tonacji dźwiękówAuror prezentuje techniki nazywa się skalowaniem czasu/tonacji. Omawia podejścia do pojętego skalowania czasu bądź tonacji tj. działające dla dowolnego rodzaju nagranych próbek, niezależnie od tego czy jest to głos, muzyka czy cokolwiek innego: przetwarzanie w dziedzinie czasu oraz w dziedzinie częstotliwości. Metody z dziedziny czasu, na przykład przedstawiony w niniejszym artykule algorytm SOLA, manipulują bezpośrednio próbkami dźwięku. Ich zaletą jest względnie prosta implementacja – dane dźwięku są przetwarzane (a później odtwarzane) w tym samym formacie, co dane wejściowe. Wadą przetwarzania w dziedzinie czasu jest to, że mają one tendencję do tworzenia sztucznych pogłosów – szczególnie wyraźnych w przypadku większych zmian czasu/tonacji, odbiegających od oryginalnego brzmienia o przynajmniej 15%. Drugim sposobem jest skorzystanie z przetwarzania w dziedzinie częstotliwości, przy korzystaniu z którego nagrany dźwięk przekształcany jest w krótkie komponenty częstotliwość/amplituda, skalowanie zaś odbywa się na danych częstotliwości. Przykładem takiej metody jest opisany dalej Phase Vocoder.
Narzędzia programistyczne
OpenMap: proste narzędzia do rozwiązywania trudnych problemów
OpenMap to zestaw narzędzi do wizualizacji danych geograficzno-przestrzennych, którego celem jest ułatwienie i przyśpieszenie interakcji miedzy użytkownikiem oraz danymi, które użytkownik musi przetwarzać w celu rozwiązywania określonych problemów. OpenMap opiera się na technologii Java i jest dostępny jako wolne oprogramowanie.
Inżynieria oprogramowania:
Data Protection API i .NET Framework 2.0
DPAPI jest interfejsem programistycznym umożliwiającym bezpieczne szyfrowanie oraz odszyfrowanie danych w oparciu o algorytm szyfrujący wykorzystujący klucz symetryczny. Tomasz wskazuje, że użycie takiego algorytmu oznacza iż do zaszyfrowania i odszyfrowania danego bloku danych służy ten sam klucz. To z kolei oznacza iż zaszyfrowana informacja będzie bezpieczna dopóki klucz nie zostanie poznany przez osoby niepowołane. Artykuł omawia zastosowanie DPAPI w .NET Framework 2.0.
Zarządzanie pamięcią w systemach operacyjnych
Artykuł omówilia algorytmy przydziału pamięci. Dowiesz się czym jest stronicowanie oraz zrozumiesz działanie alokatora pamięci. Wszystkie te informacje możemy wykorzystać w naszym jądrze, aby było ono bardziej rozwinięte i profesjonalne.
Kluby techniczne:
CentraSite Administrator
Artykuł omawia panel administracyjny oraz funkcje CentraSite Administrator.
Magic eDeveloper – łączenie danych z wielu tabel – definicja relacji 1:1
Artykuł omawia funkcjonalności wykorzystywane podczas tworzenia zadań wizualizujących dane pochodzące z różnych źródeł. W terminologii środowiska Magic wspomniane łączenia obiektów określane będą mianem relacji 1:1 lub 1:N. Mechanizmy te stanowią istotny element w budowie algorytmów w środowisku Magic eDeveloper.
HITY NA PŁYCIE:
IBM Development Package for Eclipse
Java 2 Platform, Standard Edition (J2SE)
Tutorial Visual Basic 2005 Essentials
Ubuntu „Dapper Drake” 6.06 LTS
Microsoft Visual C# 2005 Express Edition
Ponadto:
7 książek za darmo!