
Odkryj nieznane możliwości Javy
- Sieci semantyczne i neuronowe
- Przetwarzanie grafiki i multimediów
- Obliczenia naukowe
Java, mimo stosunkowo krótkiej obecności na rynku, stała się jednym z najpopularniejszych języków programowania. Codziennie korzystają z niej setki tysięcy programistów z całego świata. Największe korporacje świata za jej pomocą budują systemy informatyczne przetwarzające potężne porcje danych. Aplikacje bazodanowe, serwlety i aplety to najbardziej znane zastosowania Javy, jednak nie jedyne. W sieci dostępna jest ogromna ilość bibliotek tworzonych przez pasjonatów, którzy wykorzystują Javę do odmiennych celów, takich jak przetwarzanie grafiki, modelowanie sieci neuronowych, przeprowadzanie złożonych obliczeń i wielu innych zadań.
Dzięki książce "Java. Programowanie, biblioteki open-source i pomysły na nowe projekty" poznasz mniej znane zastosowania Javy. Dowiesz się, jak za pomocą bibliotek dostępnych na licencji open-source tworzyć ciekawe projekty i pisać nietypowe aplikacje. Nauczysz się przetwarzać pliki XML i HTML, obrabiać i generować grafikę a także wyświetlać pliki multimedialne. Przeczytasz o sieciach semantycznych i neuronowych, odczytywaniu kanałów RSS i sterowaniu urządzeniami podłączonymi do komputera.
- Nieznane funkcje standardowego API Javy
- Przetwarzanie łańcuchów tekstowych
- Analiza plików XML i HTML
- Stosowanie RDF w projektach
- Czytanie kanałów RSS
- Obliczenia o dowolnej precyzji
- Realizacja algorytmów genetycznych
- Symulowanie sieci neuronowych
- Generowanie plików SVG
- Współpraca z interfejsem MIDI
Jeśli lubisz eksperymentować z językami programowania,
ta książka będzie dla Ciebie doskonałym źródłem inspiracji.
Podziękowania (9)Wstęp (11)
1. Standardowe API Javy (15)
- Użycie nowej wersji pętli for (16)
- Wykorzystanie konstrukcji enum (18)
- Mapy bez rzutowania w dół (21)
- Pisanie metod z parametrami generycznymi (22)
- Metody ze zmienną liczbą parametrów (25)
- Asercje w Javie (27)
- Użycie System.nanoTime (29)
- Uśpienie wątku na czas krótszy od milisekundy (30)
- Klasy anonimowe (31)
- Porównania == != .equals (33)
- Podsumowanie (35)
- Użycie wyrażeń regularnych do wyszukiwania tekstów (38)
- Użycie metody String.split (40)
- Wyszukiwanie fragmentów w łańcuchach tekstowych (41)
- Użycie grup w wyrażeniach regularnych (42)
- Wykonywanie zamiany tekstów za pomocą wyrażeń regularnych (44)
- Przetwarzanie z użyciem klasy Scanner (47)
- Analiza skomplikowanej składni przy użyciu klasy Scanner (49)
- Generowanie przypadkowego tekstu (51)
- Drukowanie zawartości tablic w Javie 1.5 (52)
- Kodowanie i dekodowanie danych binarnych (54)
- Formatowanie tekstów za pomocą MessageFormat (57)
- Powrót funkcji printf - formatowanie tekstów z klasą Formatter (58)
- Podsumowanie (59)
- Szybkie wprowadzenie do XML (62)
- Użycie WebRowSet do utworzenia dokumentu XML (63)
- Zapamiętywanie zależności między elementami w SAX (64)
- Bezpośrednie wywoływanie zdarzeń obiektu ContentHandler (69)
- Filtrowanie zdarzeń interfejsu ContentHandler (71)
- Czytanie dokumentów XML z wykorzystaniem DOM4J (74)
- Użycie XPath do łatwego pobierania danych (76)
- Niewidoczne tagi, czyli filtrowanie dokumentu przed załadowaniem do DOM4J (80)
- Generowanie kodu analizatorów za pomocą JavaCC (83)
- Konwersja innych gramatyk na XML (87)
- Wykorzystanie techniki screen scraping do stron HTML (93)
- Wyszukiwanie z Lucene (95)
- Podsumowanie (97)
- Krótkie wprowadzenie do N3 i Jena (101)
- Tworzenie słowników RDF na własne potrzeby (103)
- Użycie hierarchii RDF w Jena (106)
- Dołączanie Dublin Core do dokumentów HTML (108)
- Zapytania w Jena RDQL (109)
- Lojban, RDF i projekt Jorne (111)
- RSS i Informa (113)
- Czytanie źródeł RSS (115)
- Odpytywanie i aktualizacja kanałów RSS (116)
- Filtrowanie danych RSS (117)
- Podsumowanie (119)
- Tworzenie i zastosowanie funktorów (122)
- Użycie funktorów złożonych (125)
- Bity dużego kalibru - BitVector z biblioteki Colt (126)
- Tworzenie tablic prawdy za pomocą BitMatrix (128)
- Dwa terafurlongi w dwa tygodnie - wielkości fizyczne z JScience (130)
- Krnąbrne ułamki - arytmetyka dowolnej precyzji (133)
- Funkcje algebraiczne w JScience (135)
- Łączenie tablic prawdy za pomocą portów (136)
- Łączenie za pomocą JGraphT (139)
- Łączenie ogólnych jednostek obliczeniowych (141)
- Budowanie sieci neuronowych z Joone (144)
- Użycie JGAP do algorytmów genetycznych (146)
- Tworzenie inteligentnych agentów przy użyciu Jade (149)
- Język angielski z JWorkNet (153)
- Podsumowanie (155)
- Definiowanie graficznego interfejsu aplikacji Javy w XML (158)
- Wizualizacja danych w SVG (160)
- Wyświetlanie obrazów SVG (163)
- Konwersja JGraphT do JGraphView (164)
- Użycie map atrybutów w JGraph (166)
- Tworzenie wykresów z JFreeChart (167)
- Tworzenie raportów w Javie (169)
- Prosta dwuwymiarowa wizualizacja danych (171)
- Użycie transformacji afinicznych w Java 2D (174)
- Budowanie aplikacji graficznych z funkcją "zoom" na pomocą Piccolo (176)
- Podsumowanie (177)
- Tworzenie muzyki z JFugue (180)
- Użycie JFugue razem z Java Sound MIDI (181)
- Wysyłanie zdarzeń do urządzeń wyjściowych MIDI (183)
- Tworzenie dźwięków w JMusic (184)
- Użycie szumu i skomplikowanej syntezy w JMusic (186)
- Niskopoziomowy dostęp do Java Sound (189)
- Czytanie dźwięku z linii wejściowej (191)
- Użycie Java Speech do tworzenia mówiących programów (192)
- Odśmiecacz i Javolution (193)
- Synchronizacja wątków za pomocą CyclicBarrier (196)
- Podsumowanie (197)
- Użycie Javy do sterowania robotem LEGO (200)
- Kontrolowanie myszy z użyciem klasy AWT Robot (201)
- Wybór dat z pomocą JCalendar (202)
- Użycie klasy HttpClient do obsługi metody POST (203)
- Symulacja systemu Cell Matrix w Javie (204)
- Cell Matrix i algorytmy genetyczne (206)
- Uruchamianie aplikacji z Ant (207)
- Skrypty BeanShell (208)
- Tworzenie testów JUnit (210)
- Użycie JXTA w aplikacjach Peer-to-Peer (211)
- Pakiet narzędziowy Globus oraz sieci rozproszone (212)
- Użycie Jabbera w aplikacjach (212)
- Pisanie w języku asemblera JVM (213)
- Połączenie programowania genetycznego z BCEL (214)
- Kompilowanie innych języków do kodu Javy (215)
- Wizualizacja gramatyki języka Lojban (215)
- Edytor instrumentów muzycznych (216)
- WordNet Explorer (216)
- Automatyczny generator RSS (217)
- Sieci neuronowe w robotach (217)
- Narzędzie zarządzania metadanymi (adnotacjami) Javy 5 (218)
- CVS i kontrola kodu źródłowego (218)
- Wykorzystaj SourceForge do swoich projektów (219)
- Posumowanie (219)
Skorowidz (235)