Java to wspaniałe narzędzie w rękach programisty. Ale nawet najlepsze narzędzie może zostać źle użyte. Istnieje wiele książek, które opisują ten język programowania, skupiając się na przedstawieniu jego składni. Ta książka jest zupełnie inna. Adresowana do osób znających już Javę, przedstawia 57 praktycznych zasad pisania efektywnego, poprawnego kodu.
Każda wskazówka to oddzielny podrozdział, przedstawiający opis problemu, przykłady poprawnego (i błędnego!) kodu, a także historie wzięte z doświadczenia autora. Dzięki książce zapoznasz się z idiomami właściwymi językowi Java oraz z istotnymi z praktycznego punktu widzenia wzorcami projektowymi.
Wskazówki dotyczą między innymi:
* Tworzenia i usuwania obiektów
* Pisania metod wspólnych dla wielu obiektów
* Klas i interfejsów
* Javowych odpowiedników konstrukcji znanych z C
* Pisania poprawnych metod
* Obsługi wyjątków
* Korzystania z wątków
* Serializacji obiektów
O autorze:
Joshua Bloch jest współautorem wielu bibliotek języka Java, takich jak Java Collections Framework i java.math, a także autorem licznych prac naukowych.
[więcej...]
Poznaj specyfikę języka Java i zostań mistrzem programowania
* Jak korzystać z bibliotek języka Java?
* Jak pisać funkcjonalny i klarowny kod?
* Jak stworzyć profesjonalny i efektowny program?
Język Java jest językiem obiektowym z dziedziczeniem jednobazowym. Wewnątrz każdej metody korzysta on ze zorientowanego na instrukcje stylu kodowania. Aby dobrze poznać jakikolwiek język, należy nauczyć się posługiwać jego regułami, zasadami i składnią — podobnie jest z językiem programowania. Jeśli chcesz zyskać możliwość efektywnego programowania w języku Java, powinieneś poznać struktury danych, operacje i udogodnienia, oferowane przez biblioteki standardowe, a także często stosowane i efektywne sposoby tworzenia kodu. Całą potrzebną Ci wiedzę znajdziesz właśnie w tym podręczniku.
W książce „Java. Efektywne programowanie” w sposób zrozumiały i klarowny przedstawiono zasady opisujące mechanizmy używane w najlepszych technikach programowania. Ten podręcznik podpowie Ci, jak najbardziej racjonalnie korzystać z języka Java oraz jego podstawowych bibliotek. Dowiesz się, jak stosować wyjątki przechwytywalne i wyjątki czasu wykonania, poznasz także zalety stosowania statycznych klas składowych. Opanujesz metody sprawdzania poprawności parametrów i projektowania sygnatur oraz wszelkie instrukcje, które pozwolą Ci na wydajne i profesjonalne programowanie.
* Tworzenie i usuwanie obiektów
* Klasy i interfejsy
* Zapewnianie niezmienności obiektu
* Projektowanie i dokumentowanie klas przeznaczonych do dziedziczenia
* Zalety stosowania statycznych klas składowych
* Typy ogólne
* Typy wyliczeniowe i adnotacje
* Metody
* Programowanie
* Wykorzystanie ogólnie przyjętych konwencji nazewnictwa
* Wyjątki
* Współbieżność i serializacja
* Dokumentowanie bezpieczeństwa dla wątków
Nie wystarczy samo poznanie języka Java. Trzeba wiedzieć, jak z niego efektywnie korzystać!
Java jest jednym z najpopularniejszych języków programowania na świecie wykorzystywanym przy tworzeniu popularnych aplikacji. Język ten dla początkujących programistów jest często pierwszym poznanym językiem programowania. Dzięki przemyślanej architekturze obiektowej Javy łatwiej Ci będzie nabrać prawidłowych nawyków programistycznych, z kolei funkcjonalność tego języka sprawi, że nauka nie pójdzie na marne, a zdobytą wiedzę wykorzystasz w praktyce. W Javie można bowiem napisać prawie każdą aplikację, od prostej gry działającej w telefonie komórkowym, po skomplikowany system uruchamiany na potężnym serwerze.
"Po prostu Java 2" to książka, dzięki której nauczysz się pisać programy w tym języku, nawet jeśli programowanie było Ci do tej pory zupełnie obce. Książka jest pozbawiona zbędnego balastu teorii. Prezentuje ona wiele zastosowań Javy.
Dzięki książce nauczysz się:
* Składni Javy oraz podstawowych instrukcji
* Korzystać z obiektów i rozpoznawać ich metody
* Tworzyć interfejs użytkownika dla aplikacji Javy
* Pisać aplety i osadzać je w stronach WWW
* Łączyć Javę z JavaScript
* Pisać servlety i strony JSP
* Korzystać z XML z poziomu Javy
Chcesz szybko i bez zbędnych dywagacji dowiedzieć się, dlaczego Java cieszy się takim powodzeniem? Chcesz wykorzystać ją do swoich potrzeb? Ta książka z pewnością Ci w tym pomoże.
Kompletny przewodnik po języku asemblera
Asembler, mimo że jest zdecydowanie trudniejszy w nauce niż języki programowania wysokiego poziomu, jest wśród programisów bardzo popularny. Tworzone w nim programy są mniejsze, zajmują mniej pamięci i miejsca na dysku, a przede wszystkim działają szybciej. Opracowano język HLA, dzięki któremu programowanie w asemblerze przebiega płynnie i polega na analizie implementacji poszczególnych, wysokopoziomowych konstrukcji, znanych z języków takich jak C, C++ czy Pascal.
Książka "Asembler. Sztuka programowania" to podręcznik programowania w języku asemblera oparty na języku HLA. Opisuje 32-bitową architekturę procesorów Intel oraz zasady tworzenia programów w języku HLA. Przedstawia sposoby pisania, kompilacji i uruchamiania programów wykorzystujących różne, nawet najbardziej złożone typy danych.
* Wprowadzenie do języka HLA
* Sposoby reprezentacji danych
* Organizacja pamięci i tryby adresowania
* Typy danych
* Podział programu na procedury i moduły
* Sterowanie wykonaniem programu
* Instrukcje arytmetyczne
* Operacje na plikach
* Operacje bitowe i łańcuchowe
* Makrodefinicje
* Klasy i obiekty
* Połączenie asemblera z programami w innych językach
Przekonaj się, jak prosty jest język asemblera.
Choć Java to język gwarantujący efektywną pracę, to jednak kryje w sobie wiele pułapek, które mogą zniweczyć jej efekty. Książka ta ma za zadanie oszczędzić Twój czas i zapobiec frustracji przeprowadzając Cię bezpiecznie przez skomplikowane zagadnienia. Zespół ekspertów od języka Java pod wodzą guru programowania w osobie Michaela Daconta proponuje Ci zestaw sprawdzonych rozwiązań 50 trudnych problemów pojawiających się w praktyce każdego programisty. Rozwiązania te pozwolą Ci uniknąć problemów wynikających z niedostatków języka Java oraz jego interfejsów programowych, w tym pakietów java.util, java.io, java.awt i javax.swing. Autorzy dzielą się także z Czytelnikiem swoimi sposobami na poprawę wydajności aplikacji pisanych w Javie.
Oto niektóre z omawianych zagadnień:
* Składnia języka: zastosowanie metody equals() zamiast operatora == do porównywania obiektów klasy String
* Funkcjonalność wbudowana w język: rozdział metod a mechanizm refleksji, interfejsy i klasy anonimowe
* Użyteczne klasy i kolekcje: wybór klasy PropertyFile i ResourceBundle
* Wejście i wyjście, w tym subtelności związane z przesyłaniem serializowanych obiektów za pomocą gniazd sieciowych
* Graficzny interfejs użytkownika: sposoby uniknięcia typowej pułapki polegającej na zastosowaniu metody repaint() zamiast metody validate() w celu uzyskania nowego układu komponentów
* Graficzny interfejs użytkownika -- sterowanie: m.in. bardziej funkcjonalna kontrola danych wprowadzanych przez użytkownika
* Wydajność: m.in. zastosowanie odroczonego ładowania, tak by zwiększyć szybkość uruchamiania programów
Poznaj tajniki programowania w języku PL/SQL
* Jak pisać kod w języku PL/SQL?
* Jak zarządzać błędami?
* Jak tworzyć funkcje i procedury?
PL/SQL to wbudowany język proceduralny baz danych Oracle. Jest on rozszerzeniem języka SQL i umożliwia tworzenie takich konstrukcji, jak pętle, instrukcje warunkowe, zmienne i wyzwalacze. Dzięki temu można zautomatyzować wiele czynności administracyjnych oraz rejestrować zmiany danych lub nadzorować ich modyfikacje. Język ten pozwala więc na budowanie dynamicznych i stabilnych aplikacji, opartych na bazach danych typu klient-serwer.
Książka „Oracle Database 11g. Programowanie w języku PL/SQL” zawiera omówienie wszystkich najnowszych funkcji i narzędzi tego języka programowania. Szczegółowe wyjaśnienia wzbogacone zostały o studia przypadków oraz przykładowy kod, który można wkleić do własnej aplikacji. Z tym podręcznikiem nauczysz się pobierać i modyfikować informacje w bazach danych, tworzyć wartościowe instrukcje w języku PL/SQL, skutecznie wykonywać zapytania i budować niezawodne zabezpieczenia. Dowiesz się także między innymi, jak stosować procedury, funkcje, pakiety, kolekcje i wyzwalacze oraz jak zoptymalizować wydajność aplikacji.
* Język PL/SQL — architektura i funkcje
* Struktury sterujące
* Instrukcje
* Zarządzanie błędami
* Programowanie w języku PL/SQL
* Kolekcje
* Obiekty i pakiety
* Wyzwalacze
* Komunikacja między sesjami
* Podprogramy zewnętrzne
* Typy obiektowe
* Biblioteka języka Java
* Rozwój aplikacji sieciowych
Twórz solidne aplikacje sieciowe w języku PL/SQL
Twórz bezpieczne i wydajne aplikacje wielowątkowe
Chcesz podnieść wydajność swoich aplikacji? Planujesz stworzenie systemu, który będzie uruchamiany na maszynach wyposażonych w procesory wielordzeniowe? A może próbowałeś już tworzyć aplikacje wielowątkowe, ale zniechęciłeś się po wielogodzinnych poszukiwaniach przyczyn błędów, które pojawiają się przy wysokich obciążeniach? Java niemal od początku swego istnienia jest wyposażona w mechanizmy umożliwiające tworzenie aplikacji wielowątkowych, lecz dopiero wersja 5. wniosła zupełnie nową jakość, dzięki wielu poprawkom zwiększającym wydajność maszyny wirtualnej oraz dodatkowym klasom ułatwiającym osiąganie lepszej współbieżności.
W książce "Java. Współbieżność dla praktyków" znajdziesz wyczerpujący opis metod projektowania i tworzenia aplikacji wielowątkowych. Przeczytasz nie tylko o klasach, ich działaniu i sposobach wykorzystania, ale również poznasz wzorce projektowe, praktyki programistyczne i modele, dzięki którym programowanie współbieżne jest łatwiejsze. Znajdziesz tu praktyczne aspekty oraz przykłady tworzenia pewnych, skalowalnych i łatwych w konserwacji aplikacji współbieżnych. Dowiesz się także, w jaki sposób testować aplikacje wielowątkowe, wynajdywać w nich błędy i usuwać je.
Dzięki książce poznasz:
* Możliwości wykorzystania wątków
* Podstawy stosowania wątków
* Współdzielenie obiektów
* Struktura aplikacji wielowątkowych
* Zarządzanie wątkami i zadaniami
* Zastosowania pul wątków
* Optymalizowanie wydajności
* Skalowalność aplikacji wielowątkowych
* Testowanie aplikacji współbieżnych
* Model pamięci Javy
* Tworzenie własnych synchronizatorów
Przysłowie "kto pyta, nie błądzi" nie zawiera całej prawdy. Nie wystarczy pytać, trzeba jeszcze znajdować odpowiedzi. Książka "Programowanie w języku C. FAQ" to zbiór kilkuset odpowiedzi na najczęściej zadawane pytania na temat tego języka programowania. Z pewnością część z przedstawionych tu pytań już pojawiła się w Twojej praktyce programistycznej (pamiętasz, ile czasu straciłeś poszukując odpowiedzi?). Inne problemy dopiero się pojawią i jeśli na Twojej półce będzie ta książka, szybko znajdziesz w niej zwięzłe, ale wyczerpujące rozwiązanie często wzbogacone przykładem kodu źródłowego.
Chociaż książka żadną miarą nie powinna być traktowana jako podręcznik, z którego można nauczyć się programowania w C, z pewnością przyda się każdej osobie używającej tego języka w codziennej praktyce. Autor porusza wiele przydatnych zagadnień obejmujących szeroki zestaw tematów.
Omówiono między innymi:
* Deklaracje
* Struktury i unie
* Puste wskaźniki
* Wyrażenia
* Makroprocesor
* Alokację pamięci
* Różnice między standardami C
* Standardową bibliotekę wejścia-wyjścia
* Kwestie związane z systemami operacyjnymi
Popularność języka Java stale rośnie. Programiści z całego świata wykorzystują go do tworzenia zarówno prostych aplikacji, jak i złożonych systemów. Podstawowa zaleta Javy -- przenośność kodu -- powoduje, że programy napisane w Javie możemy spotkać nie tylko na dyskach komputerów i serwerów, ale również w telefonach komórkowych i innych urządzeniach mobilnych. Java jest ciągle rozwijana -- w każdej kolejnej wersji pojawiają się nowe elementy, ułatwiające realizację coraz bardziej złożonych zagadnień programistycznych.
"Java. Kompendium programisty" to doskonały przewodnik po najnowszym wcieleniu języka Java, noszącym oznaczenie J2SE5. Każdy twórca aplikacji w Javie znajdzie tu niezbędne do swojej pracy informacje. Autor -- Herb Schildt, znany z wielu bestsellerowych pozycji dotyczących programowania w Javie i C++ -- opisuje wszystkie elementy języka Java w wersji 5. Typy danych, metody, konstrukcje, podstawowe biblioteki i techniki programistyczne -- wszystko zostało opisane prostym i zrozumiałym językiem oraz zilustrowane przykładami.
* Historia języka Java
* Podstawowe założenia programowania obiektowego
* Typy danych i zmienne
* Operatory
* Klasy, metody, pakiety i interfejsy
* Wątki i wyjątki
* Elementy bibliotek Javy
* Operacje wejścia i wyjścia
* Programowanie sieciowe
* Biblioteki AWT i Swing
* JavaBeans i serwlety
W tym podręczniku znajdziesz odpowiedzi na wszystkie pytania związane z Javą.
O autorze:
Herb Schildt jest autorytetem w sprawach języków C, C++, Java i C#, a także doskonałym programistą systemu Windows.
[więcej...]
Poznaj specyfikę języka Java i zostań mistrzem programowania
* Jak korzystać z bibliotek języka Java?
* Jak pisać funkcjonalny i klarowny kod?
* Jak stworzyć profesjonalny i efektowny program?
Język Java jest językiem obiektowym z dziedziczeniem jednobazowym. Wewnątrz każdej metody korzysta on ze zorientowanego na instrukcje stylu kodowania. Aby dobrze poznać jakikolwiek język, należy nauczyć się posługiwać jego regułami, zasadami i składnią — podobnie jest z językiem programowania. Jeśli chcesz zyskać możliwość efektywnego programowania w języku Java, powinieneś poznać struktury danych, operacje i udogodnienia, oferowane przez biblioteki standardowe, a także często stosowane i efektywne sposoby tworzenia kodu. Całą potrzebną Ci wiedzę znajdziesz właśnie w tym podręczniku.
W książce „Java. Efektywne programowanie” w sposób zrozumiały i klarowny przedstawiono zasady opisujące mechanizmy używane w najlepszych technikach programowania. Ten podręcznik podpowie Ci, jak najbardziej racjonalnie korzystać z języka Java oraz jego podstawowych bibliotek. Dowiesz się, jak stosować wyjątki przechwytywalne i wyjątki czasu wykonania, poznasz także zalety stosowania statycznych klas składowych. Opanujesz metody sprawdzania poprawności parametrów i projektowania sygnatur oraz wszelkie instrukcje, które pozwolą Ci na wydajne i profesjonalne programowanie.
* Tworzenie i usuwanie obiektów
* Klasy i interfejsy
* Zapewnianie niezmienności obiektu
* Projektowanie i dokumentowanie klas przeznaczonych do dziedziczenia
* Zalety stosowania statycznych klas składowych
* Typy ogólne
* Typy wyliczeniowe i adnotacje
* Metody
* Programowanie
* Wykorzystanie ogólnie przyjętych konwencji nazewnictwa
* Wyjątki
* Współbieżność i serializacja
* Dokumentowanie bezpieczeństwa dla wątków
Nie wystarczy samo poznanie języka Java. Trzeba wiedzieć, jak z niego efektywnie korzystać!
Java jest jednym z najpopularniejszych języków programowania na świecie wykorzystywanym przy tworzeniu popularnych aplikacji. Język ten dla początkujących programistów jest często pierwszym poznanym językiem programowania. Dzięki przemyślanej architekturze obiektowej Javy łatwiej Ci będzie nabrać prawidłowych nawyków programistycznych, z kolei funkcjonalność tego języka sprawi, że nauka nie pójdzie na marne, a zdobytą wiedzę wykorzystasz w praktyce. W Javie można bowiem napisać prawie każdą aplikację, od prostej gry działającej w telefonie komórkowym, po skomplikowany system uruchamiany na potężnym serwerze.
"Po prostu Java 2" to książka, dzięki której nauczysz się pisać programy w tym języku, nawet jeśli programowanie było Ci do tej pory zupełnie obce. Książka jest pozbawiona zbędnego balastu teorii. Prezentuje ona wiele zastosowań Javy.
Dzięki książce nauczysz się:
* Składni Javy oraz podstawowych instrukcji
* Korzystać z obiektów i rozpoznawać ich metody
* Tworzyć interfejs użytkownika dla aplikacji Javy
* Pisać aplety i osadzać je w stronach WWW
* Łączyć Javę z JavaScript
* Pisać servlety i strony JSP
* Korzystać z XML z poziomu Javy
Chcesz szybko i bez zbędnych dywagacji dowiedzieć się, dlaczego Java cieszy się takim powodzeniem? Chcesz wykorzystać ją do swoich potrzeb? Ta książka z pewnością Ci w tym pomoże.
Kompletny przewodnik po języku asemblera
Asembler, mimo że jest zdecydowanie trudniejszy w nauce niż języki programowania wysokiego poziomu, jest wśród programisów bardzo popularny. Tworzone w nim programy są mniejsze, zajmują mniej pamięci i miejsca na dysku, a przede wszystkim działają szybciej. Opracowano język HLA, dzięki któremu programowanie w asemblerze przebiega płynnie i polega na analizie implementacji poszczególnych, wysokopoziomowych konstrukcji, znanych z języków takich jak C, C++ czy Pascal.
Książka "Asembler. Sztuka programowania" to podręcznik programowania w języku asemblera oparty na języku HLA. Opisuje 32-bitową architekturę procesorów Intel oraz zasady tworzenia programów w języku HLA. Przedstawia sposoby pisania, kompilacji i uruchamiania programów wykorzystujących różne, nawet najbardziej złożone typy danych.
* Wprowadzenie do języka HLA
* Sposoby reprezentacji danych
* Organizacja pamięci i tryby adresowania
* Typy danych
* Podział programu na procedury i moduły
* Sterowanie wykonaniem programu
* Instrukcje arytmetyczne
* Operacje na plikach
* Operacje bitowe i łańcuchowe
* Makrodefinicje
* Klasy i obiekty
* Połączenie asemblera z programami w innych językach
Przekonaj się, jak prosty jest język asemblera.
Choć Java to język gwarantujący efektywną pracę, to jednak kryje w sobie wiele pułapek, które mogą zniweczyć jej efekty. Książka ta ma za zadanie oszczędzić Twój czas i zapobiec frustracji przeprowadzając Cię bezpiecznie przez skomplikowane zagadnienia. Zespół ekspertów od języka Java pod wodzą guru programowania w osobie Michaela Daconta proponuje Ci zestaw sprawdzonych rozwiązań 50 trudnych problemów pojawiających się w praktyce każdego programisty. Rozwiązania te pozwolą Ci uniknąć problemów wynikających z niedostatków języka Java oraz jego interfejsów programowych, w tym pakietów java.util, java.io, java.awt i javax.swing. Autorzy dzielą się także z Czytelnikiem swoimi sposobami na poprawę wydajności aplikacji pisanych w Javie.
Oto niektóre z omawianych zagadnień:
* Składnia języka: zastosowanie metody equals() zamiast operatora == do porównywania obiektów klasy String
* Funkcjonalność wbudowana w język: rozdział metod a mechanizm refleksji, interfejsy i klasy anonimowe
* Użyteczne klasy i kolekcje: wybór klasy PropertyFile i ResourceBundle
* Wejście i wyjście, w tym subtelności związane z przesyłaniem serializowanych obiektów za pomocą gniazd sieciowych
* Graficzny interfejs użytkownika: sposoby uniknięcia typowej pułapki polegającej na zastosowaniu metody repaint() zamiast metody validate() w celu uzyskania nowego układu komponentów
* Graficzny interfejs użytkownika -- sterowanie: m.in. bardziej funkcjonalna kontrola danych wprowadzanych przez użytkownika
* Wydajność: m.in. zastosowanie odroczonego ładowania, tak by zwiększyć szybkość uruchamiania programów
Poznaj tajniki programowania w języku PL/SQL
* Jak pisać kod w języku PL/SQL?
* Jak zarządzać błędami?
* Jak tworzyć funkcje i procedury?
PL/SQL to wbudowany język proceduralny baz danych Oracle. Jest on rozszerzeniem języka SQL i umożliwia tworzenie takich konstrukcji, jak pętle, instrukcje warunkowe, zmienne i wyzwalacze. Dzięki temu można zautomatyzować wiele czynności administracyjnych oraz rejestrować zmiany danych lub nadzorować ich modyfikacje. Język ten pozwala więc na budowanie dynamicznych i stabilnych aplikacji, opartych na bazach danych typu klient-serwer.
Książka „Oracle Database 11g. Programowanie w języku PL/SQL” zawiera omówienie wszystkich najnowszych funkcji i narzędzi tego języka programowania. Szczegółowe wyjaśnienia wzbogacone zostały o studia przypadków oraz przykładowy kod, który można wkleić do własnej aplikacji. Z tym podręcznikiem nauczysz się pobierać i modyfikować informacje w bazach danych, tworzyć wartościowe instrukcje w języku PL/SQL, skutecznie wykonywać zapytania i budować niezawodne zabezpieczenia. Dowiesz się także między innymi, jak stosować procedury, funkcje, pakiety, kolekcje i wyzwalacze oraz jak zoptymalizować wydajność aplikacji.
* Język PL/SQL — architektura i funkcje
* Struktury sterujące
* Instrukcje
* Zarządzanie błędami
* Programowanie w języku PL/SQL
* Kolekcje
* Obiekty i pakiety
* Wyzwalacze
* Komunikacja między sesjami
* Podprogramy zewnętrzne
* Typy obiektowe
* Biblioteka języka Java
* Rozwój aplikacji sieciowych
Twórz solidne aplikacje sieciowe w języku PL/SQL
Twórz bezpieczne i wydajne aplikacje wielowątkowe
Chcesz podnieść wydajność swoich aplikacji? Planujesz stworzenie systemu, który będzie uruchamiany na maszynach wyposażonych w procesory wielordzeniowe? A może próbowałeś już tworzyć aplikacje wielowątkowe, ale zniechęciłeś się po wielogodzinnych poszukiwaniach przyczyn błędów, które pojawiają się przy wysokich obciążeniach? Java niemal od początku swego istnienia jest wyposażona w mechanizmy umożliwiające tworzenie aplikacji wielowątkowych, lecz dopiero wersja 5. wniosła zupełnie nową jakość, dzięki wielu poprawkom zwiększającym wydajność maszyny wirtualnej oraz dodatkowym klasom ułatwiającym osiąganie lepszej współbieżności.
W książce "Java. Współbieżność dla praktyków" znajdziesz wyczerpujący opis metod projektowania i tworzenia aplikacji wielowątkowych. Przeczytasz nie tylko o klasach, ich działaniu i sposobach wykorzystania, ale również poznasz wzorce projektowe, praktyki programistyczne i modele, dzięki którym programowanie współbieżne jest łatwiejsze. Znajdziesz tu praktyczne aspekty oraz przykłady tworzenia pewnych, skalowalnych i łatwych w konserwacji aplikacji współbieżnych. Dowiesz się także, w jaki sposób testować aplikacje wielowątkowe, wynajdywać w nich błędy i usuwać je.
Dzięki książce poznasz:
* Możliwości wykorzystania wątków
* Podstawy stosowania wątków
* Współdzielenie obiektów
* Struktura aplikacji wielowątkowych
* Zarządzanie wątkami i zadaniami
* Zastosowania pul wątków
* Optymalizowanie wydajności
* Skalowalność aplikacji wielowątkowych
* Testowanie aplikacji współbieżnych
* Model pamięci Javy
* Tworzenie własnych synchronizatorów
Przysłowie "kto pyta, nie błądzi" nie zawiera całej prawdy. Nie wystarczy pytać, trzeba jeszcze znajdować odpowiedzi. Książka "Programowanie w języku C. FAQ" to zbiór kilkuset odpowiedzi na najczęściej zadawane pytania na temat tego języka programowania. Z pewnością część z przedstawionych tu pytań już pojawiła się w Twojej praktyce programistycznej (pamiętasz, ile czasu straciłeś poszukując odpowiedzi?). Inne problemy dopiero się pojawią i jeśli na Twojej półce będzie ta książka, szybko znajdziesz w niej zwięzłe, ale wyczerpujące rozwiązanie często wzbogacone przykładem kodu źródłowego.
Chociaż książka żadną miarą nie powinna być traktowana jako podręcznik, z którego można nauczyć się programowania w C, z pewnością przyda się każdej osobie używającej tego języka w codziennej praktyce. Autor porusza wiele przydatnych zagadnień obejmujących szeroki zestaw tematów.
Omówiono między innymi:
* Deklaracje
* Struktury i unie
* Puste wskaźniki
* Wyrażenia
* Makroprocesor
* Alokację pamięci
* Różnice między standardami C
* Standardową bibliotekę wejścia-wyjścia
* Kwestie związane z systemami operacyjnymi
Popularność języka Java stale rośnie. Programiści z całego świata wykorzystują go do tworzenia zarówno prostych aplikacji, jak i złożonych systemów. Podstawowa zaleta Javy -- przenośność kodu -- powoduje, że programy napisane w Javie możemy spotkać nie tylko na dyskach komputerów i serwerów, ale również w telefonach komórkowych i innych urządzeniach mobilnych. Java jest ciągle rozwijana -- w każdej kolejnej wersji pojawiają się nowe elementy, ułatwiające realizację coraz bardziej złożonych zagadnień programistycznych.
"Java. Kompendium programisty" to doskonały przewodnik po najnowszym wcieleniu języka Java, noszącym oznaczenie J2SE5. Każdy twórca aplikacji w Javie znajdzie tu niezbędne do swojej pracy informacje. Autor -- Herb Schildt, znany z wielu bestsellerowych pozycji dotyczących programowania w Javie i C++ -- opisuje wszystkie elementy języka Java w wersji 5. Typy danych, metody, konstrukcje, podstawowe biblioteki i techniki programistyczne -- wszystko zostało opisane prostym i zrozumiałym językiem oraz zilustrowane przykładami.
* Historia języka Java
* Podstawowe założenia programowania obiektowego
* Typy danych i zmienne
* Operatory
* Klasy, metody, pakiety i interfejsy
* Wątki i wyjątki
* Elementy bibliotek Javy
* Operacje wejścia i wyjścia
* Programowanie sieciowe
* Biblioteki AWT i Swing
* JavaBeans i serwlety
W tym podręczniku znajdziesz odpowiedzi na wszystkie pytania związane z Javą.
O autorze:
Herb Schildt jest autorytetem w sprawach języków C, C++, Java i C#, a także doskonałym programistą systemu Windows.
[więcej...]
Błyskawiczny kurs programowania aplikacji w języku C
Język C, mimo prawie 30-letniej historii, cieszy się niesłabnącą popularnością wśród programistów. Wszyscy jego użytkownicy cenią w nim prostą i czytelną składnię, niewielki i łatwy do zapamiętania zakres słów kluczowych oraz duże możliwości, dzięki którym za pomocą C można rozwiązać niemal każde zagadnienie programistyczne. Zewnętrzne biblioteki, dostępne w sieci oraz dołączane do najpopularniejszych narzędzi programistycznych, dodatkowo rozszerzają możliwości C.
Książka "Programowanie w języku C. Szybki start" to podręcznik dla tych, którzy chcą poznać C w praktyce i nie chcą przebijać się przez dziesiątki stron opisów teoretycznych. Każde zagadnienie -- od najprostszych, związanych ze strukturą programu i zasadami kompilacji aż do złożonych typów danych i obsługi plików zewnętrznych -- jest przedstawione w postaci bogato ilustrowanej sekwencji czynności. Wykonując kolejne przykłady z książki, poznasz wszystkie podstawowe wiadomości o programowaniu w języku C.
* Struktura programu w języku C
* Typy danych
* Sterowanie działaniem programu
* Korzystanie ze standardowego wejścia i wyjścia
* Deklarowanie i stosowanie funkcji
* Dyrektywy preprocesora
* Wskaźniki i zarządzanie pamięcią
* Obsługa plików
* Złożone typy danych
Poznaj zalety i możliwości najpopularniejszego języka programowania.
Delphi 6 to kolejna wersja popularnego środowiska programistycznego firmy Borland, służącego do szybkiego tworzenia aplikacji za pomocą języka ObjectPascal. W Delphi napisano już wiele profesjonalnych aplikacji, co nie oznacza, iż jest ono środowiskiem wyłącznie dla zawodowców. Wręcz przeciwnie, dzięki prostocie obsługi i zaletom wzorowanego na Pascalu języka ObjectPascal, jest ono doskonałym narzędziem dla początkujących programistów, także dla tych, którzy nie mieli wcześniej wiele wspólnego z programowaniem obiektowym.
Dla nich właśnie przeznaczona jest ta książka omawiająca:
* Podstawy programowania w języku ObjectPascal
* Projektowanie zorientowane obiektowo (OOD)
* Zintegrowane środowisko programistyczne
* ObjectPascal w wydaniu Delphi 6
* Biblioteki VCL i CLX
* Tworzenie własnych komponentów
* Biblioteki DLL
Pomocą w zgłębianiu tajników Delphi 6 jest 19 kompletnych przykładowych projektów, ilustrujących najważniejsze ćwiczenia. Po przeczytaniu "ABC Delphi 6", będziesz mógł samodzielnie pisać aplikacje działające w środowisku Windows. Książka stanowi także doskonały wstęp do innych, bardziej zaawansowanych pozycji, omawiających Delphi.
Wejdź w świat programowania w języku asemblera
* Dowiedz się, kiedy użycie asemblera jest niezbędne
* Poznaj zasady programowania w asemblerze
* Napisz szybkie i wydajne programy dla DOS-a i Windows
* Zdobądź wiedzę o zasadach działania procesora i pamięci
Uważasz, że możliwości języków programowania wysokiego poziomu nie pozwalają na napisanie programu, którego potrzebujesz? Chcesz stworzyć sterownik, program rezydentny, demo lub... wirusa? Interesuje Cię, co dzieje się w komputerze podczas wykonywania programu?
Wykorzystaj potencjał asemblera!
Programowanie w języku niskiego poziomu daje niemal nieograniczoną kontrolę nad sprzętem i działaniem aplikacji. Programy napisane w języku asemblera działają szybko, są niewielkie i zajmują mało pamięci. Są bardzo wydajne i otwierają dostęp do takich obszarów komputera, do których dostęp z poziomu C++ czy Visual Basica jest niemożliwy.
Książka "Praktyczny kurs asemblera" wprowadzi Cię w świat programowania w tym języku. Dowiesz się, jak działa procesor, w jaki sposób komunikuje się z pamięcią i pozostałymi elementami komputera. Poznasz typy rozkazów procesora, tryby adresowania i zasady tworzenia programów w asemblerze. Lepiej poznasz swój komputer i dowiesz się, w jaki sposób zapamiętuje i przetwarza dane. Komputer przestanie być dla Ciebie "czarną skrzynką" wykonującą w czarodziejski sposób Twoje polecenia.
* Podstawowe wiadomości o architekturze procesorów Intel
* Organizacja pamięci i tryby adresowania
* Omówienie listy rozkazów procesora
* Narzędzia do tworzenia programów w języku asemblera
* Struktura programu w asemblerze
* Definiowanie zmiennych
* Tworzenie podprogramów i makrorozkazów
* Wykorzystanie funkcji BIOS-a oraz MS-DOS
* Programy w asemblerze uruchamiane w systemie Windows
* Optymalizacja kodu
* Tworzenie modułów dla innych języków programowania
Po przeczytaniu tej książki przestaniesz postrzegać asemblera jako zbiór magicznych zaklęć, zrozumiałych jedynie dla brodatych guru pamiętających jeszcze czasy komputerów zajmujących powierzchnię sali gimnastycznej. Napiszesz programy, których uruchomienie nie będzie wymagało od użytkownika posiadania superkomputera. Poznasz wszystkie, nawet najgłębiej ukryte, możliwości komputera.
Język programowania PHP stanowi dla wielu osób przepustkę w świat pisania aplikacji działających po stronie serwera WWW. Łatwość z jaką przychodzi nauczenie się tego języka, sprawiła, że używają go setki tysięcy amatorów i profesjonalistów na całym świecie.
Po pewnym czasie wiedza wyniesiona z podręczników opisujących podstawy PHP języka przestaje wystarczać. Niniejsza książka pomoże Ci w wykonaniu kolejnego kroku: kroku w kierunku pisania zaawansowanych aplikacji. Dzięki niej wzbogacisz swoją wiedzę i staniesz się prawdziwym ekspertem programowania w PHP, poszukiwanym na rynku pracy.
* Poznasz tajniki programowania obiektowego.
* Nauczysz się korzystać z baz danych.
* Dowiesz się, w jaki sposób zabezpieczać stworzone przez siebie aplikacje.
* Napiszesz własny sklep internetowy, korzystając z sesji i bazy SQL.
* Poznasz sposoby uruchamiania programów PHP w oderwaniu od serwera WWW.
* Nauczysz się generować nie tylko strony WWW, ale także grafikę i pliki PDF.
* Dowiesz się, jak i po co używać języka XML.
* Skorzystasz z wielu rozszerzeń języka, które ułatwiają rozwiązywanie złożonych problemów.
Pomoże Ci w tym prosty język w jakim napisana jest książka oraz liczne przykłady kodu, a także osoba autora, doświadczonego programisty i wykładowcy PHP na Uniwersytecie Kalifornijskim w Berkeley.
* Obszerny przewodnik po języku Java -- zaktualizowany dla wersji JDK 1.3
* Pełne omówienie środowiska programowania zorientowanego obiektowo oraz klas Swing
* Więcej przykładowch kodów przydatnych profesjonalnym programistom
* CD-ROM zawiera kod źródłowy wszystkich programów, J2SE w wersji 1.3, Forte™ -- Java Community Edition i wiele więcej!
Pięć wydań w USA, pierwsze wydanie w Polsce!
"Java 2. Podstawy” jest najlepszą książką dla programistów. Nie ma sobie równych pod względem ilości przekazanych informacji, a mimo to pozostaje bardzo czytelna. -- K. N. King, Computer Reviews
Programiści znajdą tu wszystko, czego potrzeba, aby wykorzystać potęgę języka Java… -- PC Week
"Java 2. Podstawy" dostarcza wszystkiego, czego potrzebujesz, aby ukończyć nawet najbardziej skomplikowane projekty. Dlatego właśnie ta książka przez pięć lat była międzynarodowym bestsellerem. "Java 2. Podstawy" omawia podstawy platformy Java 2 Standard Edition w wersji 1.3, zawiera pełny opis zorientowanego obiektowo środowiska programistycznego Javy, komponentów interfejsu użytkownika Swing i wiele, wiele więcej.
Piąta wydanie prezentuje wiele nowych, gotowych do zastosowania programów, z których zasłynęły poprzednie edycje tej książki: pojawiły się również nowe programy dotyczące mechanizmu odbicia oraz optymalizacji kodu. Szczegółowo wyjaśniono koncepcję klas wewnętrznych, funkcjonowanie proxy, obsługę wyjątków, techniki usuwania błędów, model zdarzeń Javy, interfejs wejścia/wyjścia oraz zarządzania plikami.
Kompendium dla programistów Javy, a w nim:
* Omówienie języka Java i tworzenia aplikacji w środowisku Forte(tm)
* Tworzenie aplikacji GUI przy pomocy nowych klas Swing
* Sposoby pisania klas proxy i klas wewnętrznych
* Korzystanie z modelu zdarzeń Javy
* Omówienie klas strumieni oraz mechanizmu zarządzania plikami
To idealna książka dla profesjonalnych programistów, którzy chcą nauczyć się Javy i wykorzystać ją w swojej pracy zawodowej. Zawiera CD-ROM z kodem źródłowy wszystkich przykładów, Forte ™ -- Java Community Edition (zintegrowane środowisko programistyczne Javy) oraz wersje testowe wielu innych użytecznych programów.
Opanuj język programowania, który zmienił oblicze sieci
* Jakie elementy tworzą język Java?
* Jak wykorzystać pełnię możliwości programowania obiektowego?
* Jak tworzyć własne aplety i aplikacje?
Interesuje Cię język programowania, który zyskuje coraz większą popularność wśród twórców rozwiązań korporacyjnych? A może zamierzasz tworzyć aplikacje dla urządzeń mobilnych? Najwyższa pora poznać tajniki Javy. Ten język już dawno przestał być narzędziem do tworzenia prostych programików osadzanych na stronach WWW. Współczesna Java to potężny obiektowy język programowania wykorzystywany w aplikacjach bankowych i finansowych, portalach internetowych i wielu innych systemach. Jedna z jego wersji służy także do pisania oprogramowania dla telefonów komórkowych, terminali BlackBerry i komputerów przenośnych. Warto więc poznać Javę.
"Praktyczny kurs Java. Wydanie II" to kolejna edycja podręcznika, dzięki któremu poznasz tajniki tego niezwykłego języka programowania. Znajdziesz tu omówienie elementów najnowszej wersji Javy, słów kluczowych tego języka, konstrukcji sterujących i zasad programowania. Dowiesz się, na czym polega projektowanie i programowanie obiektowe. Nauczysz się korzystać z mechanizmów obsługi wyjątków, implementować w programach operacje wejścia i wyjścia oraz budować własne aplikacje i aplety.
* Instalacja Javy w Windows i Linuksie
* Instrukcje Javy
* Operacje na tablicach
* Podstawy programowania obiektowego
* Obsługa wyjątków
* Zaawansowane zagadnienia programowania obiektowego
* Operacje wejścia i wyjścia
* Obsługa myszy i klawiatury
* Tworzenie interfejsów użytkownika
* Korzystanie z komponentów
Zostań profesjonalnym programistą Javy.
Podobnie jak wszystkie książki z serii "Po prostu...", również ta ma na celu wyrwanie Cię z trybu pasywnego czytania i zachęcenie do rozpoczęcia pracy z programem. Ćwiczenia zawarte w książce uczą obsługi funkcji programu Flash. Książka jest przeznaczona zarówno dla początkujących użytkowników programu, jak i dla średnio zaawansowanych projektantów.
Początkowe rozdziały odkrywają podstawy tworzenia elementów graficznych z wykorzystaniem unikalnego zbioru narzędzi rysowniczych programu Flash. Następnie nauczysz się przekształcać elementy graficzne w animację. Potem poznasz sposoby tworzenia elementów interfejsu użytkownika, na przykład przycisków. Aby uczynić zawartość strony interaktywną, użyjesz panelu Behaviors do "napisania" podstawowych skryptów w języku ActionScript. W książce znajdują się też informacje o imporcie różnych plików spoza programu Flash -- czyli utworzonych w innych aplikacjach: grafik, dźwięków i klipów wideo -- oraz ich przetwarzania. Zamieszczono także przegląd nowych narzędzi edycyjnych. Na koniec nauczysz się korzystać z funkcji Publish, czyli tworzyć kod HTML, który jest potrzebny do umieszczania filmów Flasha na stronach WWW.
Język C# został opracowany w firmie Microsoft i wywodzi się z rodziny C/C++, choć zawiera również wiele elementów znanych programistom Javy, jak na przykład mechanizmy automatycznego odzyskiwanie pamięci. Łączy więc w sobie wszystko to, co najlepsze w Javie i C++, a dodatkowo pozwala na wygodne korzystanie z klas wchodzących w skład platformy .NET.
Dzięki książce "C#. Ćwiczenia" nauczysz się programować w C# niezależnie od tego, czy znasz już C++ lub Javę. Kilkadziesiąt ćwiczeń pozwoli Ci poznać język C# od podstaw po zagadnienia zaawansowane. Zaletą książki jest zwięzły i przystępny opis prezentowanych zagadnień i nastawienie na praktykę programistyczną, a nie na rozważania teoretyczne.
Poznasz:
* Środowisko uruchomieniowe C# i Visual Studio
* Zmienne, operatory i typy danych
* Instrukcje C#
* Podstawy programowania obiektowego, tworzenie klas, metod i konstruktorów
* Użycie tablic w C#
* Obsługę błędów za pomocą wyjątków
* Interfejsy i rzutowanie
* Obsługę zdarzeń
* Korzystanie z komponentów interfejsu użytkownika Windows
Aktualne źródło wiedzy o Flashu CS3
* Tworzenie plików interaktywnych
* Praca z ActionScript 3.0
* Importowanie plików audio i wideo
* Publikowanie dokumentów Flasha
"Adobe Flash CS3 Professional. Oficjalny podręcznik" to kolejna książka w bestsellerowej serii podręczników z ćwiczeniami na temat oprogramowania. Program Adobe Flash CS3 wykorzystywany jest przez profesjonalistów do tworzenia interaktywnych stron WWW bogatych w materiały audio, wideo, grafikę i animacje. Podręcznik, oprócz opisu podstawowych koncepcji i funkcji programu, zawiera również nowości, takie jak metody pracy z Action Script 3.0, wykorzystanie nowych komponentów do usprawnienia projektów, importowanie symboli z warstw programu Adobe Ilustrator oraz dołączanie materiałów wideo programu Adobe After Effects i wiele innych ciekawych możliwości.
"Adobe Flash CS3 Professional. Oficjalny podręcznik" jest nie tylko doskonałym kompendium dla początkujących, którzy -- wykonując kolejne lekcje -- poznają krok po kroku możliwości programu, ale także dla zaawansowanych projektantów, chcących wzbogacić swój warsztat, zdobyć dodatkowe umiejętności i poszerzyć wiedzę. Książka zawiera opis wielu zaawansowanych funkcji, w tym wskazówki i techniki dotyczące posługiwania się najnowszą wersją aplikacji.
* Podstawowe wiadomości o Flashu
* Tworzenie i edytowanie symboli
* Praca z tekstem statycznym i dynamicznym, grafiką, wideo i audio
* Tworzenie animacji
* Tworzenie plików interaktywnych
* Metody pracy z ActionScript
* Korzystanie z komponentów
* Ładowanie i optymalizacja zawartości Flasha
* Alternatywne opcje publikacji
Twórz wyjątkowe i oryginalne aplikacje we Flashu!
Dołączona płyta CD dla Windows oraz Mac OS zawiera dodatkowe materiały szkoleniowe dla programu Flash CS3 Basic oraz Professional, w tym 16 przewodników w formie filmów!
Delphi 7 jest kolejną wersją najpopularniejszego zintegrowanego środowiska programowania typu RAD dla platformy Windows. Delphi 7, współpracując z Kyliksem firmy Borland - pierwszym środowiskiem programistycznym RAD dla Linuksa - sprawia, że możliwości wykorzystania Delphi przez osoby znające język Object Pascal znacznie wzrastają. Dzięki prostocie obsługi i zaletom wzorowanego na Pascalu języka Object Pascal, Delphi jest doskonałym narzędziem dla początkujących programistów, także dla tych, którzy nie mieli wcześniej wiele wspólnego z programowaniem obiektowym.
Książka omawia:
* Podstawy programowania w języku Object Pascal
* Projektowanie zorientowane obiektowo (OOD)
* Zintegrowane środowisko programistyczne Delphi
* Object Pascal w wydaniu Delphi 6
* Biblioteki VCL i CLX
* Tworzenie i instalowanie własnych komponentów
W porównaniu z poprzednim wydaniem tej książki rozbudowano rozdziały traktujące o podstawach programowania w języku Object Pascal. Znacznie poszerzono też rozdział poświęcony programowaniu obiektowemu.
Pomocą w zgłębianiu tajników Delphi 7 będzie 28 kompletnych, przykładowych projektów dołączonych do książki, ilustrujących najważniejsze poruszane zagadnienia.
Rozpocznij swoją przygodę z JavaScript!
* Jak rozpocząć przygodę z JavaScript?
* Jakie obiekty dostarcza JavaScript?
* Jak reagować na błędy?
Język JavaScript, choć ma już blisko dwanaście lat, swoimi możliwościami wciąż potrafi zafascynować niejednego projektanta stron internetowych. Ma już za sobą gorsze dni, jednak aktualnie dzięki technologii AJAX znów jest na topie. Wykorzystując go w odpowiedni sposób, sprawisz, że twój serwis WWW stanie się bardziej interaktywny i dynamiczny.
Ta książka pozwoli Ci wyjść zwycięsko z pierwszego starcia z tym językiem! Dowiesz się z niej, jak używać zmiennych, operatorów oraz funkcji. Nauczysz się reagować na zdarzenia oraz wykorzystywać okna dialogowe. Ponadto zdobędziesz wiedzę na temat pracy z obiektami DOM HTML oraz na temat sposobów reagowania na błędy w skryptach. Autor przedstawia tu także dostępne obiekty JavaScript oraz pokazuje, jak wykonywać operacje związane z czasem. Ogromnym atutem tej książki jest przejrzystość i usystematyzowany sposób prezentowania informacji. Dzięki temu również Ty szybko i bezboleśnie poznasz JavaScript!
* Typowe konstrukcje języka JavaScript
* Wykorzystanie zmiennych
* Zastosowanie funkcji
* Reagowanie na zdarzenia
* Sposoby użycia okien dialogowych
* Wykonywanie operacji związanych z czasem
* Dostępne obiekty JavaScript
* Obiekty DOM HTML
* Przygotowanie własnych obiektów
* Dziedziczenie w JavaScript
* Obsługa błędów
Przejdź bezboleśnie pierwsze starcie z JavaScript!
Możliwości komercyjnych systemów operacyjnych nie odpowiadają Ci? Może Twój komputer nie spełnia minimalnych wymagań sprzętowych niezbędnych do ich uruchomienia? A może po prostu nie chcesz wydawać pieniędzy na licencjonowany system ani ryzykować używaniem wersji pirackiej? Skorzystaj z darmowej alternatywy! Zastosuj Linuksa. Popularność tego systemu operacyjnego, tworzonego i rozwijanego przez zapaleńców z całego świata, rośnie w lawinowym tempie. Linux już dawno przestał być zabawką dla pasjonatów -- teraz to w pełni funkcjonalny produkt, bezpieczny, stabilny i wygodny w obsłudze.
"Linux. Kurs. Wydanie II" to podręcznik, dzięki któremu poznasz i opanujesz możliwości tego systemu operacyjnego. Przedstawia on Mandrivę -- jedną z jego najpopularniejszych wersji, zwanych dystrybucjami. Czytając tę książkę, dowiesz się, jak zainstalować system i skonfigurować go. Nauczysz się korzystać z graficznego środowiska pracy, zarządzać kontami użytkowników i systemem plików, instalować i usuwać nowe aplikacje, nagrywać płyty CD i DVD oraz drukować. Przekonasz się także, że dołączony do Linuksa pakiet biurowy OpenOffice jest doskonałym narzędziem do edycji tekstów, przeprowadzania obliczeń i tworzenia baz danych. Ma również możliwość wymiany plików z popularnym, lecz komercyjnym MS Office.
* Pobieranie wersji instalacyjnej Linuksa
* Logowanie i korzystanie z terminala
* Praca ze środowiskiem graficznym
* Nagrywanie płyt CD i DVD
* Przeglądanie stron WWW
* Korzystanie z poczty elektronicznej
* Tworzenie grafiki za pomocą programu GIMP
* Redagowanie plików tekstowych za pomocą OpenOffice Writer
* Tworzenie arkuszy kalkulacyjnych za pomocą OpenOffice Calc
Przekonaj się, że nie musisz wydawać pieniędzy,
aby dysponować doskonałymi narzędziami do pracy.
Flash CS3 Professional PL. Techniki zaawansowane. Klatka po klatceWydawnictwo Helion
Odkryj najgłębiej strzeżone tajemnice Flasha
* Jak tworzyć rozbudowane animacje?
* W jaki sposób kontrolować obiekty, wykorzystując ActionScript?
* Jak pobierać dane z zewnętrznych źródeł?
Flash CS3 Professional to kolejne wcielenie narzędzia, które zyskało uznanie dziesiątek tysięcy twórców witryn WWW. Jednak jego niesamowite możliwości w zakresie tworzenia grafiki i animacji to tylko wierzchołek góry lodowej. Swoją prawdziwą potęgę Flash ujawnia, gdy sięgniemy po rozwiązania oparte na wbudowanym, obiektowym języku programowania noszącym nazwę ActionScript 3.0. Za jego pomocą możemy kontrolować niemal każdy aspekt animacji i wszystkie obiekty wchodzące w jej skład, sterować wyświetlaniem i pobieraniem danych oraz odtwarzaniem dźwięku. Jesteśmy w stanie wykreować niesamowite efekty, jakich nigdy nie uzyskalibyśmy, wykorzystując inne techniki.
W książce „Flash CS Professional PL. Techniki zaawansowane. Klatka po klatce" opisano techniki tworzenia animacji związane ze stosowaniem języka ActionScript. Czytając ją, poznasz podstawy tego języka, a także dowiesz się, w jaki sposób pisać skrypty i do jakich obiektów je dołączać. Nauczysz się kontrolować elementy graficzne, dźwiękowe, tekstowe i nawigacyjne umieszczone w prezentacji za pomocą poleceń ActionScriptu. Opanujesz sposoby łączenia witryn WWW tworzonych we Flashu z zewnętrznymi plikami, przeglądarką internetową i serwerem, na którym są publikowane. Znajdziesz tu także informacje o wykrywaniu błędów w skryptach i ich usuwaniu.
* Animacje poklatkowe i automatyczne
* Animowane maski
* Rotoskopia
* Edycja kodu ActionScript w panelu Actions
* Tworzenie funkcji
* Obsługa zdarzeń w animacji
* Zarządzanie listwami czasowymi
* Tworzenie elementów nawigacyjnych
* Pobieranie plików multimedialnych z zewnętrznych źródeł
* Przetwarzanie elementów graficznych i dźwiękowych oraz danych tekstowych
* Operacje matematyczne we Flashu
* Optymalizacja filmów
Odkryj zapierające dech w piersiach możliwości synergii Flasha i języka ActionScript!
Jeśli chcesz rozpocząć przygodę z programowaniem -- zacznij naukę od Perla. Po kilku godzinach pracy przekonasz się, że dokonałeś najlepszego wyboru. Perl posiada wielką zaletę, której brakuje konkurencyjnym narzędziom: nie znając wszystkich jego niuansów możesz pisać działające aplikacje.
Larry Wall stworzył Perla dla osób, które są niecierpliwe (programy w Perlu pisze się bardzo szybko), leniwe (kod programów jest zwięzły, a ich tworzenie ułatwia ogromna liczba gotowych modułów) i chcą być dumne z tego, co robią (sam przekonasz się, jak wiele satysfakcji dostarczy Ci programowanie w Perlu).
Książka przeznaczona jest dla początkujących programistów. Dowiesz się z niej jak zainstalować Perla, a następnie, krok po kroku, ćwiczenie po ćwiczeniu, zagłębisz się w jego świat.
Poznasz:
* Fundamenty języka: zmienne, instrukcje i referencje
* Wyrażenia regularne, umożliwiające szybkie przeszukiwanie tekstów i podmianę fragmentów
* Sposoby korzystania z plików
* Zasady pisania skryptów CGI
* Wysyłanie e-maili za pomocą Perla
* Łączenie Perla z bazami danych
Teoria i praktyka prowadzenia projektów programistycznych
* Naucz się zasad programowania ekstremalnego i zastosuj je w praktyce
* Od konceptualizacji do przekazania działającego systemu -- poznaj najlepsze sposoby pracy na każdym etapie tworzenia oprogramowania
* Poznaj znaczenie wszystkich uczestników procesu tworzenia oprogramowania: programistów, menedżerów i klientów
* Dowiedz się, jak rozwiązać najczęstsze problemy powstające przy wdrażaniu metodologii programowania ekstemalnego
"eXtreme programming" przedstawia nową metodologię i praktykę programowania w przystępny, a jednocześnie kompleksowy sposób. Autorzy omawiają podstawowe pojęcia programowania ekstremalnego: planowanie edycji, programowanie w parach, wczesne testowanie, "zręczne modelowanie" i refaktoryzację. Zostały one zaprezentowane na przykładzie konkretnego projektu, którego realizację omówiono w książce.
Kto powinien przeczytać tę książkę? Będzie ona niewątpliwie pożyteczną lekturą dla każdego, kto choć częściowo związał swe życie z tworzeniem oprogramowania -- programisty, menedżera czy koordynatora projektu. I nawet gdyby miało skończyć się tylko na czytaniu -- bez praktycznego zastosowania w najbliższym projekcie poznanych reguł, wiedza o programowaniu ekstremalnym okaże się bez wątpienia pożyteczna.
* Naucz się zasad programowania ekstremalnego i zastosuj je w praktyce
* Od konceptualizacji do oddania działającego systemu -- poznaj najlepsze sposoby pracy na każdym etapie tworzenia programowania
* Poznaj znaczenie wszystkich uczestników procesu tworzenia oprogramowania: programistów, menedżerów i klientów
* Dowiedz się, jak rozwiązać najczęstsze problemy powstające przy wdrażaniu metodologii programowania ekstemalnego
Znajomość języka PHP wykorzystywanego do tworzenia dynamicznych stron WWW to dziś jedna z podstawowych umiejętności wymaganych od webmastera. Era statycznych stron tworzonych za pomocą języka HTML przeminęła już dawno, a dynamiczne generowanie treści stało się obecnie standardem. Język PHP i baza danych MySQL stanowią platformę o wielkich możliwościach, stosowaną do tworzenia zarówno wielkich portali i witryn e-commerce, jak i prostych stron prywatnych.
Książka "PHP5. Praktyczny kurs" jest wprowadzeniem w tajniki nowoczesnego tworzenia stron WWW. Przedstawia proces instalacji języka PHP wraz z serwerami WWW, podstawowe konstrukcje języka i sposoby wykorzystania ich w procesie budowania witryny. Opisuje takie zagadnienia, jak współpraca z systemem plików, obsługa sesji, możliwości programowania obiektowego oraz współpraca z bazami danych. Dowiesz się z niej także, jak za pomocą PHP generować i przetwarzać elementy graficzne oraz wykorzystywać protokoły sieciowe.
* Instalacja i konfiguracja PHP w różnych systemach operacyjnych
* Zmienne, typy danych i operatory
* Instrukcje sterujące
* Komunikacja skryptów z przeglądarką
* Obsługa plików cookie i sesji
* Operacje na plikach
* Programowanie obiektowe w PHP
* Wykorzystywanie danych zgromadzonych w bazie
Poznaj i wykorzystaj w swoich projektach możliwości języka PHP.
Borland C++ Builder to jedno z najwygodniejszych środowisk programistycznych dla programistów C++, platforma ciesząca się dużą popularnością i mająca za sobą długą historię. W języku C++ napisano wiele aplikacji dla Windows, z których znaczna część powstała właśnie w Builderze.
"C++ Builder. Ćwiczenia" to uzupełnienie poprzedniej publikacji Wydawnictwa Helion, zatytułowanej "C++ Builder 5. Ćwiczenia praktyczne". Książka omawia zmiany, jakie wprowadzono w nowej, szóstej już wersji C++ Buildera, a także porusza wiele zagadnień, które nie znalazły się w książce traktującej o poprzedniej edycji tego programu. Informacje zostały przekazane w formie ćwiczeń z dokładnym omówieniem prezentowanego kodu źródłowego.
Znajdziesz w niej między innymi:
Zagadnienia związane z kompatybilnością pomiędzy wersjami piątą i szóstą C++ Buildera
Serię ćwiczeń przybliżających język C++
Omówienie środowiska IDE C++ Builder
Ćwiczenia z programowania w C++ z wykorzystaniem C++ Builder
Ćwiczenia z pisania aplikacji wielowątkowych
Sposoby tworzenia własnych komponentów
Programowanie w Prologu różni się zasadniczo od programowania w językach strukturalnych, takich jak Pascal czy C i językach obiektowych jak Java. Dla wielu osób zaczynających przygodę z Prologiem zaskoczeniem jest fakt, że pisanie programu w tym języku nie polega na kodowaniu algorytmu. Programista opisuje obiekty i związki między nimi, a także podaje warunki, jakie powinno spełniać szukane rozwiązanie. System sam przeprowadza obliczenia w oparciu o podane zależności logiczne, zaś programista jedynie częściowo może wpływać na sposób działania programu.
Książka "Prolog. Programowanie" to podręcznik tego niezwykłego języka programowania stosowanego przy rozwiązywaniu problemów z różnych dziedzin: od logiki matematycznej i symbolicznego rozwiązywania równań przez analizę języka naturalnego, aż do zagadnień związanych ze sztuczną inteligencją. Zawiera ona:
* Wprowadzenie do Prologu
* Podstawowe struktury danych
* Nawracanie, sterowanie nawracaniem za pomocą symbolu odcięcia
* Operacje wejścia/wyjścia
* Predykaty
* Składnię reguł gramatycznych i analizę języka naturalnego
* Wiele przykładowych programów
Wszystkim rozdziałom towarzyszą ćwiczenia. Uzupełnieniem tekstu książki są dodatki omawiające m.in. rozwiązania ćwiczeń i różnice między najważniejszymi wersjami Prologu.
"Prolog. Programowanie" to książka dla studentów matematyki i informatyki, a także dla wszystkich zainteresowanych programowaniem opartym na regułach logicznych. Jeśli chcesz podjąć wyzwanie i nauczyć się Prologu, jest książka dla Ciebie.
* Przewodnik dla doświadczonych programistów omawiający zaawansowane możliwości platformy Java dla wersji JDK 1.3 i 1.4.
* Dostarcza wielu praktycznych przykładów kodu!
* Zawiera nowe bądź zaktualizowane omówienie: języka XML, problematyki bezpieczeństwa, programowania aplikacji sieciowych, wielowątkowości, kolekcji, zdalnych obiektów, interfejsu JDBC™, architektury komponentów JavaBeans™, biblioteki Swing i wielu innych zagadnień.
Przewodnik po zaawansowanych metodach programowania w Javie dla zaawansowanych programistów.
Książka ta dostarcza doświadczonym programistom rozwiązań niezbędnych do pełnego wykorzystania możliwości Javy. To praktyczny przewodnik ułatwiający rozwiązywanie nawet najbardziej złożonych problemów programistycznych. Dodatkowo zawiera zupełnie nowy rozdział poświęcony wykorzystaniu języka XML w programach pisanych w Javie oraz zaktualizowane omówienie wielu zaawansowanych możliwości tej platformy -- od kolekcji po metody macierzyste, od bezpieczeństwa po bibliotekę Swing.
Autorzy identyfikują problemy najczęściej napotykane przez doświadczonych programistów Javy i dostarczają przemyślanych rozwiązań zilustrowanych przykładami kodu, które uczyniły z tej książki prawdziwy bestseller. Dzięki niej ujrzysz w nowym świetle zagadnienia interfejsu ODBC™, tworzenia aplikacji sieciowych, wykorzystania zdalnych obiektów i wiele innych.
Najważniejsze informacje dla programistów Java:
* Zaktualizowane omówienie wielowątkowości, kolekcji i aplikacji sieciowych.
* Zmienione przedstawienie problematyki zdalnych obiektów.
* Nowe, zaawansowane techniki wykorzystania architektury komponentów JavaBeans™.
* Zaawansowane techniki tworzenia interfejsu użytkownika wykorzystujące biblioteki Swing i AWT.
Książka będzie dla Ciebie kolejnym krokiem w poznaniu możliwości Javy. Jest rozszerzeniem i doskonałym uzupełnieniem publikacji "Java 2. Postawy".
O autorach:
CAY S. HORSTMANN wykłada informatykę na uniwersytecie stanowym w San Jose. Napisał sześć książek o C++, Javie i programowaniu zorientowanym obiektowo. Jest redaktorem naczelnym bestselerowego cyklu Core Series, wydawnictwa Prentice Hall PTR.
GARY CORNELL zrobił doktorat na uniwersytecie Brown i współpracował z IBM Watson Labs. Jest autorem lub współautorem 20 książek oraz wielu artykułów, wydrukowanych w czasopismach komputerowych. Obecnie kieruje programem Modern Visual Programming na Uniwersytecie Connecticut.
Zwięzły przewodnik opisujący najczęściej używane instrukcje języka Java
* Naucz się kompilować i uruchamiać programy w Javie
* Poznaj najpopularniejsze polecenia tego języka
* Pisz programy działające na wielu platformach
Już od wielu lat Java jest jednym z najpopularniejszych języków programowania, a znający ją programiści są poszukiwani i cenieni na rynku pracy. Jej atrakcyjność wynika głównie z tego, że kod napisany w tym języku można uruchamiać na wielu platformach, włączając w to różne systemy operacyjne, a także urządzenia przenośne, na przykład telefony komórkowe. Prosty jest także dostęp do wielu narzędzi oraz bezpłatnych bibliotek ułatwiających programowanie w Javie. Ponadto język ten otwiera wielkie możliwości w zakresie tworzenia aplikacji sieciowych.
"Java. Rozmówki" przedstawia skuteczne rozwiązania najczęściej występujących problemów i pomoże Ci błyskawicznie rozpocząć programowanie w tym języku. Dowiesz się, jak kompilować i uruchamiać programy w Javie. Nauczysz się manipulować ciągami, strukturami danych i datami oraz stosować wyrażenia regularne. Poznasz operacje wejścia i wyjścia, a także sposoby pracy z katalogami i plikami. Przeczytasz o aplikacjach sieciowych działających zarówno po stronie klienta, jak i po stronie serwera. Opanujesz efektywne techniki pracy z bazami danych i korzystanie z formatu XML.
* Kompilowanie i uruchamianie programów w Javie
* Współpraca ze środowiskiem
* Obsługa ciągów i liczb
* Korzystanie ze struktur danych
* Operacje wejścia i wyjścia
* Manipulowanie plikami i katalogami
* Praca z klientami i serwerami sieciowymi
* Komunikacja z bazami danych i używanie XML
* Programowanie wielowątkowe
Dzięki treściwym rozmówkom błyskawicznie poznasz praktyczne podstawy programowania w Javie.
Błyskawiczny kurs programowania aplikacji w języku C
Język C, mimo prawie 30-letniej historii, cieszy się niesłabnącą popularnością wśród programistów. Wszyscy jego użytkownicy cenią w nim prostą i czytelną składnię, niewielki i łatwy do zapamiętania zakres słów kluczowych oraz duże możliwości, dzięki którym za pomocą C można rozwiązać niemal każde zagadnienie programistyczne. Zewnętrzne biblioteki, dostępne w sieci oraz dołączane do najpopularniejszych narzędzi programistycznych, dodatkowo rozszerzają możliwości C.
Książka "Programowanie w języku C. Szybki start" to podręcznik dla tych, którzy chcą poznać C w praktyce i nie chcą przebijać się przez dziesiątki stron opisów teoretycznych. Każde zagadnienie -- od najprostszych, związanych ze strukturą programu i zasadami kompilacji aż do złożonych typów danych i obsługi plików zewnętrznych -- jest przedstawione w postaci bogato ilustrowanej sekwencji czynności. Wykonując kolejne przykłady z książki, poznasz wszystkie podstawowe wiadomości o programowaniu w języku C.
* Struktura programu w języku C
* Typy danych
* Sterowanie działaniem programu
* Korzystanie ze standardowego wejścia i wyjścia
* Deklarowanie i stosowanie funkcji
* Dyrektywy preprocesora
* Wskaźniki i zarządzanie pamięcią
* Obsługa plików
* Złożone typy danych
Poznaj zalety i możliwości najpopularniejszego języka programowania.
Delphi 6 to kolejna wersja popularnego środowiska programistycznego firmy Borland, służącego do szybkiego tworzenia aplikacji za pomocą języka ObjectPascal. W Delphi napisano już wiele profesjonalnych aplikacji, co nie oznacza, iż jest ono środowiskiem wyłącznie dla zawodowców. Wręcz przeciwnie, dzięki prostocie obsługi i zaletom wzorowanego na Pascalu języka ObjectPascal, jest ono doskonałym narzędziem dla początkujących programistów, także dla tych, którzy nie mieli wcześniej wiele wspólnego z programowaniem obiektowym.
Dla nich właśnie przeznaczona jest ta książka omawiająca:
* Podstawy programowania w języku ObjectPascal
* Projektowanie zorientowane obiektowo (OOD)
* Zintegrowane środowisko programistyczne
* ObjectPascal w wydaniu Delphi 6
* Biblioteki VCL i CLX
* Tworzenie własnych komponentów
* Biblioteki DLL
Pomocą w zgłębianiu tajników Delphi 6 jest 19 kompletnych przykładowych projektów, ilustrujących najważniejsze ćwiczenia. Po przeczytaniu "ABC Delphi 6", będziesz mógł samodzielnie pisać aplikacje działające w środowisku Windows. Książka stanowi także doskonały wstęp do innych, bardziej zaawansowanych pozycji, omawiających Delphi.
Wejdź w świat programowania w języku asemblera
* Dowiedz się, kiedy użycie asemblera jest niezbędne
* Poznaj zasady programowania w asemblerze
* Napisz szybkie i wydajne programy dla DOS-a i Windows
* Zdobądź wiedzę o zasadach działania procesora i pamięci
Uważasz, że możliwości języków programowania wysokiego poziomu nie pozwalają na napisanie programu, którego potrzebujesz? Chcesz stworzyć sterownik, program rezydentny, demo lub... wirusa? Interesuje Cię, co dzieje się w komputerze podczas wykonywania programu?
Wykorzystaj potencjał asemblera!
Programowanie w języku niskiego poziomu daje niemal nieograniczoną kontrolę nad sprzętem i działaniem aplikacji. Programy napisane w języku asemblera działają szybko, są niewielkie i zajmują mało pamięci. Są bardzo wydajne i otwierają dostęp do takich obszarów komputera, do których dostęp z poziomu C++ czy Visual Basica jest niemożliwy.
Książka "Praktyczny kurs asemblera" wprowadzi Cię w świat programowania w tym języku. Dowiesz się, jak działa procesor, w jaki sposób komunikuje się z pamięcią i pozostałymi elementami komputera. Poznasz typy rozkazów procesora, tryby adresowania i zasady tworzenia programów w asemblerze. Lepiej poznasz swój komputer i dowiesz się, w jaki sposób zapamiętuje i przetwarza dane. Komputer przestanie być dla Ciebie "czarną skrzynką" wykonującą w czarodziejski sposób Twoje polecenia.
* Podstawowe wiadomości o architekturze procesorów Intel
* Organizacja pamięci i tryby adresowania
* Omówienie listy rozkazów procesora
* Narzędzia do tworzenia programów w języku asemblera
* Struktura programu w asemblerze
* Definiowanie zmiennych
* Tworzenie podprogramów i makrorozkazów
* Wykorzystanie funkcji BIOS-a oraz MS-DOS
* Programy w asemblerze uruchamiane w systemie Windows
* Optymalizacja kodu
* Tworzenie modułów dla innych języków programowania
Po przeczytaniu tej książki przestaniesz postrzegać asemblera jako zbiór magicznych zaklęć, zrozumiałych jedynie dla brodatych guru pamiętających jeszcze czasy komputerów zajmujących powierzchnię sali gimnastycznej. Napiszesz programy, których uruchomienie nie będzie wymagało od użytkownika posiadania superkomputera. Poznasz wszystkie, nawet najgłębiej ukryte, możliwości komputera.
Język programowania PHP stanowi dla wielu osób przepustkę w świat pisania aplikacji działających po stronie serwera WWW. Łatwość z jaką przychodzi nauczenie się tego języka, sprawiła, że używają go setki tysięcy amatorów i profesjonalistów na całym świecie.
Po pewnym czasie wiedza wyniesiona z podręczników opisujących podstawy PHP języka przestaje wystarczać. Niniejsza książka pomoże Ci w wykonaniu kolejnego kroku: kroku w kierunku pisania zaawansowanych aplikacji. Dzięki niej wzbogacisz swoją wiedzę i staniesz się prawdziwym ekspertem programowania w PHP, poszukiwanym na rynku pracy.
* Poznasz tajniki programowania obiektowego.
* Nauczysz się korzystać z baz danych.
* Dowiesz się, w jaki sposób zabezpieczać stworzone przez siebie aplikacje.
* Napiszesz własny sklep internetowy, korzystając z sesji i bazy SQL.
* Poznasz sposoby uruchamiania programów PHP w oderwaniu od serwera WWW.
* Nauczysz się generować nie tylko strony WWW, ale także grafikę i pliki PDF.
* Dowiesz się, jak i po co używać języka XML.
* Skorzystasz z wielu rozszerzeń języka, które ułatwiają rozwiązywanie złożonych problemów.
Pomoże Ci w tym prosty język w jakim napisana jest książka oraz liczne przykłady kodu, a także osoba autora, doświadczonego programisty i wykładowcy PHP na Uniwersytecie Kalifornijskim w Berkeley.
* Obszerny przewodnik po języku Java -- zaktualizowany dla wersji JDK 1.3
* Pełne omówienie środowiska programowania zorientowanego obiektowo oraz klas Swing
* Więcej przykładowch kodów przydatnych profesjonalnym programistom
* CD-ROM zawiera kod źródłowy wszystkich programów, J2SE w wersji 1.3, Forte™ -- Java Community Edition i wiele więcej!
Pięć wydań w USA, pierwsze wydanie w Polsce!
"Java 2. Podstawy” jest najlepszą książką dla programistów. Nie ma sobie równych pod względem ilości przekazanych informacji, a mimo to pozostaje bardzo czytelna. -- K. N. King, Computer Reviews
Programiści znajdą tu wszystko, czego potrzeba, aby wykorzystać potęgę języka Java… -- PC Week
"Java 2. Podstawy" dostarcza wszystkiego, czego potrzebujesz, aby ukończyć nawet najbardziej skomplikowane projekty. Dlatego właśnie ta książka przez pięć lat była międzynarodowym bestsellerem. "Java 2. Podstawy" omawia podstawy platformy Java 2 Standard Edition w wersji 1.3, zawiera pełny opis zorientowanego obiektowo środowiska programistycznego Javy, komponentów interfejsu użytkownika Swing i wiele, wiele więcej.
Piąta wydanie prezentuje wiele nowych, gotowych do zastosowania programów, z których zasłynęły poprzednie edycje tej książki: pojawiły się również nowe programy dotyczące mechanizmu odbicia oraz optymalizacji kodu. Szczegółowo wyjaśniono koncepcję klas wewnętrznych, funkcjonowanie proxy, obsługę wyjątków, techniki usuwania błędów, model zdarzeń Javy, interfejs wejścia/wyjścia oraz zarządzania plikami.
Kompendium dla programistów Javy, a w nim:
* Omówienie języka Java i tworzenia aplikacji w środowisku Forte(tm)
* Tworzenie aplikacji GUI przy pomocy nowych klas Swing
* Sposoby pisania klas proxy i klas wewnętrznych
* Korzystanie z modelu zdarzeń Javy
* Omówienie klas strumieni oraz mechanizmu zarządzania plikami
To idealna książka dla profesjonalnych programistów, którzy chcą nauczyć się Javy i wykorzystać ją w swojej pracy zawodowej. Zawiera CD-ROM z kodem źródłowy wszystkich przykładów, Forte ™ -- Java Community Edition (zintegrowane środowisko programistyczne Javy) oraz wersje testowe wielu innych użytecznych programów.
Opanuj język programowania, który zmienił oblicze sieci
* Jakie elementy tworzą język Java?
* Jak wykorzystać pełnię możliwości programowania obiektowego?
* Jak tworzyć własne aplety i aplikacje?
Interesuje Cię język programowania, który zyskuje coraz większą popularność wśród twórców rozwiązań korporacyjnych? A może zamierzasz tworzyć aplikacje dla urządzeń mobilnych? Najwyższa pora poznać tajniki Javy. Ten język już dawno przestał być narzędziem do tworzenia prostych programików osadzanych na stronach WWW. Współczesna Java to potężny obiektowy język programowania wykorzystywany w aplikacjach bankowych i finansowych, portalach internetowych i wielu innych systemach. Jedna z jego wersji służy także do pisania oprogramowania dla telefonów komórkowych, terminali BlackBerry i komputerów przenośnych. Warto więc poznać Javę.
"Praktyczny kurs Java. Wydanie II" to kolejna edycja podręcznika, dzięki któremu poznasz tajniki tego niezwykłego języka programowania. Znajdziesz tu omówienie elementów najnowszej wersji Javy, słów kluczowych tego języka, konstrukcji sterujących i zasad programowania. Dowiesz się, na czym polega projektowanie i programowanie obiektowe. Nauczysz się korzystać z mechanizmów obsługi wyjątków, implementować w programach operacje wejścia i wyjścia oraz budować własne aplikacje i aplety.
* Instalacja Javy w Windows i Linuksie
* Instrukcje Javy
* Operacje na tablicach
* Podstawy programowania obiektowego
* Obsługa wyjątków
* Zaawansowane zagadnienia programowania obiektowego
* Operacje wejścia i wyjścia
* Obsługa myszy i klawiatury
* Tworzenie interfejsów użytkownika
* Korzystanie z komponentów
Zostań profesjonalnym programistą Javy.
Podobnie jak wszystkie książki z serii "Po prostu...", również ta ma na celu wyrwanie Cię z trybu pasywnego czytania i zachęcenie do rozpoczęcia pracy z programem. Ćwiczenia zawarte w książce uczą obsługi funkcji programu Flash. Książka jest przeznaczona zarówno dla początkujących użytkowników programu, jak i dla średnio zaawansowanych projektantów.
Początkowe rozdziały odkrywają podstawy tworzenia elementów graficznych z wykorzystaniem unikalnego zbioru narzędzi rysowniczych programu Flash. Następnie nauczysz się przekształcać elementy graficzne w animację. Potem poznasz sposoby tworzenia elementów interfejsu użytkownika, na przykład przycisków. Aby uczynić zawartość strony interaktywną, użyjesz panelu Behaviors do "napisania" podstawowych skryptów w języku ActionScript. W książce znajdują się też informacje o imporcie różnych plików spoza programu Flash -- czyli utworzonych w innych aplikacjach: grafik, dźwięków i klipów wideo -- oraz ich przetwarzania. Zamieszczono także przegląd nowych narzędzi edycyjnych. Na koniec nauczysz się korzystać z funkcji Publish, czyli tworzyć kod HTML, który jest potrzebny do umieszczania filmów Flasha na stronach WWW.
Język C# został opracowany w firmie Microsoft i wywodzi się z rodziny C/C++, choć zawiera również wiele elementów znanych programistom Javy, jak na przykład mechanizmy automatycznego odzyskiwanie pamięci. Łączy więc w sobie wszystko to, co najlepsze w Javie i C++, a dodatkowo pozwala na wygodne korzystanie z klas wchodzących w skład platformy .NET.
Dzięki książce "C#. Ćwiczenia" nauczysz się programować w C# niezależnie od tego, czy znasz już C++ lub Javę. Kilkadziesiąt ćwiczeń pozwoli Ci poznać język C# od podstaw po zagadnienia zaawansowane. Zaletą książki jest zwięzły i przystępny opis prezentowanych zagadnień i nastawienie na praktykę programistyczną, a nie na rozważania teoretyczne.
Poznasz:
* Środowisko uruchomieniowe C# i Visual Studio
* Zmienne, operatory i typy danych
* Instrukcje C#
* Podstawy programowania obiektowego, tworzenie klas, metod i konstruktorów
* Użycie tablic w C#
* Obsługę błędów za pomocą wyjątków
* Interfejsy i rzutowanie
* Obsługę zdarzeń
* Korzystanie z komponentów interfejsu użytkownika Windows
Aktualne źródło wiedzy o Flashu CS3
* Tworzenie plików interaktywnych
* Praca z ActionScript 3.0
* Importowanie plików audio i wideo
* Publikowanie dokumentów Flasha
"Adobe Flash CS3 Professional. Oficjalny podręcznik" to kolejna książka w bestsellerowej serii podręczników z ćwiczeniami na temat oprogramowania. Program Adobe Flash CS3 wykorzystywany jest przez profesjonalistów do tworzenia interaktywnych stron WWW bogatych w materiały audio, wideo, grafikę i animacje. Podręcznik, oprócz opisu podstawowych koncepcji i funkcji programu, zawiera również nowości, takie jak metody pracy z Action Script 3.0, wykorzystanie nowych komponentów do usprawnienia projektów, importowanie symboli z warstw programu Adobe Ilustrator oraz dołączanie materiałów wideo programu Adobe After Effects i wiele innych ciekawych możliwości.
"Adobe Flash CS3 Professional. Oficjalny podręcznik" jest nie tylko doskonałym kompendium dla początkujących, którzy -- wykonując kolejne lekcje -- poznają krok po kroku możliwości programu, ale także dla zaawansowanych projektantów, chcących wzbogacić swój warsztat, zdobyć dodatkowe umiejętności i poszerzyć wiedzę. Książka zawiera opis wielu zaawansowanych funkcji, w tym wskazówki i techniki dotyczące posługiwania się najnowszą wersją aplikacji.
* Podstawowe wiadomości o Flashu
* Tworzenie i edytowanie symboli
* Praca z tekstem statycznym i dynamicznym, grafiką, wideo i audio
* Tworzenie animacji
* Tworzenie plików interaktywnych
* Metody pracy z ActionScript
* Korzystanie z komponentów
* Ładowanie i optymalizacja zawartości Flasha
* Alternatywne opcje publikacji
Twórz wyjątkowe i oryginalne aplikacje we Flashu!
Dołączona płyta CD dla Windows oraz Mac OS zawiera dodatkowe materiały szkoleniowe dla programu Flash CS3 Basic oraz Professional, w tym 16 przewodników w formie filmów!
Delphi 7 jest kolejną wersją najpopularniejszego zintegrowanego środowiska programowania typu RAD dla platformy Windows. Delphi 7, współpracując z Kyliksem firmy Borland - pierwszym środowiskiem programistycznym RAD dla Linuksa - sprawia, że możliwości wykorzystania Delphi przez osoby znające język Object Pascal znacznie wzrastają. Dzięki prostocie obsługi i zaletom wzorowanego na Pascalu języka Object Pascal, Delphi jest doskonałym narzędziem dla początkujących programistów, także dla tych, którzy nie mieli wcześniej wiele wspólnego z programowaniem obiektowym.
Książka omawia:
* Podstawy programowania w języku Object Pascal
* Projektowanie zorientowane obiektowo (OOD)
* Zintegrowane środowisko programistyczne Delphi
* Object Pascal w wydaniu Delphi 6
* Biblioteki VCL i CLX
* Tworzenie i instalowanie własnych komponentów
W porównaniu z poprzednim wydaniem tej książki rozbudowano rozdziały traktujące o podstawach programowania w języku Object Pascal. Znacznie poszerzono też rozdział poświęcony programowaniu obiektowemu.
Pomocą w zgłębianiu tajników Delphi 7 będzie 28 kompletnych, przykładowych projektów dołączonych do książki, ilustrujących najważniejsze poruszane zagadnienia.
Rozpocznij swoją przygodę z JavaScript!
* Jak rozpocząć przygodę z JavaScript?
* Jakie obiekty dostarcza JavaScript?
* Jak reagować na błędy?
Język JavaScript, choć ma już blisko dwanaście lat, swoimi możliwościami wciąż potrafi zafascynować niejednego projektanta stron internetowych. Ma już za sobą gorsze dni, jednak aktualnie dzięki technologii AJAX znów jest na topie. Wykorzystując go w odpowiedni sposób, sprawisz, że twój serwis WWW stanie się bardziej interaktywny i dynamiczny.
Ta książka pozwoli Ci wyjść zwycięsko z pierwszego starcia z tym językiem! Dowiesz się z niej, jak używać zmiennych, operatorów oraz funkcji. Nauczysz się reagować na zdarzenia oraz wykorzystywać okna dialogowe. Ponadto zdobędziesz wiedzę na temat pracy z obiektami DOM HTML oraz na temat sposobów reagowania na błędy w skryptach. Autor przedstawia tu także dostępne obiekty JavaScript oraz pokazuje, jak wykonywać operacje związane z czasem. Ogromnym atutem tej książki jest przejrzystość i usystematyzowany sposób prezentowania informacji. Dzięki temu również Ty szybko i bezboleśnie poznasz JavaScript!
* Typowe konstrukcje języka JavaScript
* Wykorzystanie zmiennych
* Zastosowanie funkcji
* Reagowanie na zdarzenia
* Sposoby użycia okien dialogowych
* Wykonywanie operacji związanych z czasem
* Dostępne obiekty JavaScript
* Obiekty DOM HTML
* Przygotowanie własnych obiektów
* Dziedziczenie w JavaScript
* Obsługa błędów
Przejdź bezboleśnie pierwsze starcie z JavaScript!
Możliwości komercyjnych systemów operacyjnych nie odpowiadają Ci? Może Twój komputer nie spełnia minimalnych wymagań sprzętowych niezbędnych do ich uruchomienia? A może po prostu nie chcesz wydawać pieniędzy na licencjonowany system ani ryzykować używaniem wersji pirackiej? Skorzystaj z darmowej alternatywy! Zastosuj Linuksa. Popularność tego systemu operacyjnego, tworzonego i rozwijanego przez zapaleńców z całego świata, rośnie w lawinowym tempie. Linux już dawno przestał być zabawką dla pasjonatów -- teraz to w pełni funkcjonalny produkt, bezpieczny, stabilny i wygodny w obsłudze.
"Linux. Kurs. Wydanie II" to podręcznik, dzięki któremu poznasz i opanujesz możliwości tego systemu operacyjnego. Przedstawia on Mandrivę -- jedną z jego najpopularniejszych wersji, zwanych dystrybucjami. Czytając tę książkę, dowiesz się, jak zainstalować system i skonfigurować go. Nauczysz się korzystać z graficznego środowiska pracy, zarządzać kontami użytkowników i systemem plików, instalować i usuwać nowe aplikacje, nagrywać płyty CD i DVD oraz drukować. Przekonasz się także, że dołączony do Linuksa pakiet biurowy OpenOffice jest doskonałym narzędziem do edycji tekstów, przeprowadzania obliczeń i tworzenia baz danych. Ma również możliwość wymiany plików z popularnym, lecz komercyjnym MS Office.
* Pobieranie wersji instalacyjnej Linuksa
* Logowanie i korzystanie z terminala
* Praca ze środowiskiem graficznym
* Nagrywanie płyt CD i DVD
* Przeglądanie stron WWW
* Korzystanie z poczty elektronicznej
* Tworzenie grafiki za pomocą programu GIMP
* Redagowanie plików tekstowych za pomocą OpenOffice Writer
* Tworzenie arkuszy kalkulacyjnych za pomocą OpenOffice Calc
Przekonaj się, że nie musisz wydawać pieniędzy,
aby dysponować doskonałymi narzędziami do pracy.
Flash CS3 Professional PL. Techniki zaawansowane. Klatka po klatceWydawnictwo Helion
Odkryj najgłębiej strzeżone tajemnice Flasha
* Jak tworzyć rozbudowane animacje?
* W jaki sposób kontrolować obiekty, wykorzystując ActionScript?
* Jak pobierać dane z zewnętrznych źródeł?
Flash CS3 Professional to kolejne wcielenie narzędzia, które zyskało uznanie dziesiątek tysięcy twórców witryn WWW. Jednak jego niesamowite możliwości w zakresie tworzenia grafiki i animacji to tylko wierzchołek góry lodowej. Swoją prawdziwą potęgę Flash ujawnia, gdy sięgniemy po rozwiązania oparte na wbudowanym, obiektowym języku programowania noszącym nazwę ActionScript 3.0. Za jego pomocą możemy kontrolować niemal każdy aspekt animacji i wszystkie obiekty wchodzące w jej skład, sterować wyświetlaniem i pobieraniem danych oraz odtwarzaniem dźwięku. Jesteśmy w stanie wykreować niesamowite efekty, jakich nigdy nie uzyskalibyśmy, wykorzystując inne techniki.
W książce „Flash CS Professional PL. Techniki zaawansowane. Klatka po klatce" opisano techniki tworzenia animacji związane ze stosowaniem języka ActionScript. Czytając ją, poznasz podstawy tego języka, a także dowiesz się, w jaki sposób pisać skrypty i do jakich obiektów je dołączać. Nauczysz się kontrolować elementy graficzne, dźwiękowe, tekstowe i nawigacyjne umieszczone w prezentacji za pomocą poleceń ActionScriptu. Opanujesz sposoby łączenia witryn WWW tworzonych we Flashu z zewnętrznymi plikami, przeglądarką internetową i serwerem, na którym są publikowane. Znajdziesz tu także informacje o wykrywaniu błędów w skryptach i ich usuwaniu.
* Animacje poklatkowe i automatyczne
* Animowane maski
* Rotoskopia
* Edycja kodu ActionScript w panelu Actions
* Tworzenie funkcji
* Obsługa zdarzeń w animacji
* Zarządzanie listwami czasowymi
* Tworzenie elementów nawigacyjnych
* Pobieranie plików multimedialnych z zewnętrznych źródeł
* Przetwarzanie elementów graficznych i dźwiękowych oraz danych tekstowych
* Operacje matematyczne we Flashu
* Optymalizacja filmów
Odkryj zapierające dech w piersiach możliwości synergii Flasha i języka ActionScript!
Jeśli chcesz rozpocząć przygodę z programowaniem -- zacznij naukę od Perla. Po kilku godzinach pracy przekonasz się, że dokonałeś najlepszego wyboru. Perl posiada wielką zaletę, której brakuje konkurencyjnym narzędziom: nie znając wszystkich jego niuansów możesz pisać działające aplikacje.
Larry Wall stworzył Perla dla osób, które są niecierpliwe (programy w Perlu pisze się bardzo szybko), leniwe (kod programów jest zwięzły, a ich tworzenie ułatwia ogromna liczba gotowych modułów) i chcą być dumne z tego, co robią (sam przekonasz się, jak wiele satysfakcji dostarczy Ci programowanie w Perlu).
Książka przeznaczona jest dla początkujących programistów. Dowiesz się z niej jak zainstalować Perla, a następnie, krok po kroku, ćwiczenie po ćwiczeniu, zagłębisz się w jego świat.
Poznasz:
* Fundamenty języka: zmienne, instrukcje i referencje
* Wyrażenia regularne, umożliwiające szybkie przeszukiwanie tekstów i podmianę fragmentów
* Sposoby korzystania z plików
* Zasady pisania skryptów CGI
* Wysyłanie e-maili za pomocą Perla
* Łączenie Perla z bazami danych
Teoria i praktyka prowadzenia projektów programistycznych
* Naucz się zasad programowania ekstremalnego i zastosuj je w praktyce
* Od konceptualizacji do przekazania działającego systemu -- poznaj najlepsze sposoby pracy na każdym etapie tworzenia oprogramowania
* Poznaj znaczenie wszystkich uczestników procesu tworzenia oprogramowania: programistów, menedżerów i klientów
* Dowiedz się, jak rozwiązać najczęstsze problemy powstające przy wdrażaniu metodologii programowania ekstemalnego
"eXtreme programming" przedstawia nową metodologię i praktykę programowania w przystępny, a jednocześnie kompleksowy sposób. Autorzy omawiają podstawowe pojęcia programowania ekstremalnego: planowanie edycji, programowanie w parach, wczesne testowanie, "zręczne modelowanie" i refaktoryzację. Zostały one zaprezentowane na przykładzie konkretnego projektu, którego realizację omówiono w książce.
Kto powinien przeczytać tę książkę? Będzie ona niewątpliwie pożyteczną lekturą dla każdego, kto choć częściowo związał swe życie z tworzeniem oprogramowania -- programisty, menedżera czy koordynatora projektu. I nawet gdyby miało skończyć się tylko na czytaniu -- bez praktycznego zastosowania w najbliższym projekcie poznanych reguł, wiedza o programowaniu ekstremalnym okaże się bez wątpienia pożyteczna.
* Naucz się zasad programowania ekstremalnego i zastosuj je w praktyce
* Od konceptualizacji do oddania działającego systemu -- poznaj najlepsze sposoby pracy na każdym etapie tworzenia programowania
* Poznaj znaczenie wszystkich uczestników procesu tworzenia oprogramowania: programistów, menedżerów i klientów
* Dowiedz się, jak rozwiązać najczęstsze problemy powstające przy wdrażaniu metodologii programowania ekstemalnego
Znajomość języka PHP wykorzystywanego do tworzenia dynamicznych stron WWW to dziś jedna z podstawowych umiejętności wymaganych od webmastera. Era statycznych stron tworzonych za pomocą języka HTML przeminęła już dawno, a dynamiczne generowanie treści stało się obecnie standardem. Język PHP i baza danych MySQL stanowią platformę o wielkich możliwościach, stosowaną do tworzenia zarówno wielkich portali i witryn e-commerce, jak i prostych stron prywatnych.
Książka "PHP5. Praktyczny kurs" jest wprowadzeniem w tajniki nowoczesnego tworzenia stron WWW. Przedstawia proces instalacji języka PHP wraz z serwerami WWW, podstawowe konstrukcje języka i sposoby wykorzystania ich w procesie budowania witryny. Opisuje takie zagadnienia, jak współpraca z systemem plików, obsługa sesji, możliwości programowania obiektowego oraz współpraca z bazami danych. Dowiesz się z niej także, jak za pomocą PHP generować i przetwarzać elementy graficzne oraz wykorzystywać protokoły sieciowe.
* Instalacja i konfiguracja PHP w różnych systemach operacyjnych
* Zmienne, typy danych i operatory
* Instrukcje sterujące
* Komunikacja skryptów z przeglądarką
* Obsługa plików cookie i sesji
* Operacje na plikach
* Programowanie obiektowe w PHP
* Wykorzystywanie danych zgromadzonych w bazie
Poznaj i wykorzystaj w swoich projektach możliwości języka PHP.
Borland C++ Builder to jedno z najwygodniejszych środowisk programistycznych dla programistów C++, platforma ciesząca się dużą popularnością i mająca za sobą długą historię. W języku C++ napisano wiele aplikacji dla Windows, z których znaczna część powstała właśnie w Builderze.
"C++ Builder. Ćwiczenia" to uzupełnienie poprzedniej publikacji Wydawnictwa Helion, zatytułowanej "C++ Builder 5. Ćwiczenia praktyczne". Książka omawia zmiany, jakie wprowadzono w nowej, szóstej już wersji C++ Buildera, a także porusza wiele zagadnień, które nie znalazły się w książce traktującej o poprzedniej edycji tego programu. Informacje zostały przekazane w formie ćwiczeń z dokładnym omówieniem prezentowanego kodu źródłowego.
Znajdziesz w niej między innymi:
Zagadnienia związane z kompatybilnością pomiędzy wersjami piątą i szóstą C++ Buildera
Serię ćwiczeń przybliżających język C++
Omówienie środowiska IDE C++ Builder
Ćwiczenia z programowania w C++ z wykorzystaniem C++ Builder
Ćwiczenia z pisania aplikacji wielowątkowych
Sposoby tworzenia własnych komponentów
Programowanie w Prologu różni się zasadniczo od programowania w językach strukturalnych, takich jak Pascal czy C i językach obiektowych jak Java. Dla wielu osób zaczynających przygodę z Prologiem zaskoczeniem jest fakt, że pisanie programu w tym języku nie polega na kodowaniu algorytmu. Programista opisuje obiekty i związki między nimi, a także podaje warunki, jakie powinno spełniać szukane rozwiązanie. System sam przeprowadza obliczenia w oparciu o podane zależności logiczne, zaś programista jedynie częściowo może wpływać na sposób działania programu.
Książka "Prolog. Programowanie" to podręcznik tego niezwykłego języka programowania stosowanego przy rozwiązywaniu problemów z różnych dziedzin: od logiki matematycznej i symbolicznego rozwiązywania równań przez analizę języka naturalnego, aż do zagadnień związanych ze sztuczną inteligencją. Zawiera ona:
* Wprowadzenie do Prologu
* Podstawowe struktury danych
* Nawracanie, sterowanie nawracaniem za pomocą symbolu odcięcia
* Operacje wejścia/wyjścia
* Predykaty
* Składnię reguł gramatycznych i analizę języka naturalnego
* Wiele przykładowych programów
Wszystkim rozdziałom towarzyszą ćwiczenia. Uzupełnieniem tekstu książki są dodatki omawiające m.in. rozwiązania ćwiczeń i różnice między najważniejszymi wersjami Prologu.
"Prolog. Programowanie" to książka dla studentów matematyki i informatyki, a także dla wszystkich zainteresowanych programowaniem opartym na regułach logicznych. Jeśli chcesz podjąć wyzwanie i nauczyć się Prologu, jest książka dla Ciebie.
* Przewodnik dla doświadczonych programistów omawiający zaawansowane możliwości platformy Java dla wersji JDK 1.3 i 1.4.
* Dostarcza wielu praktycznych przykładów kodu!
* Zawiera nowe bądź zaktualizowane omówienie: języka XML, problematyki bezpieczeństwa, programowania aplikacji sieciowych, wielowątkowości, kolekcji, zdalnych obiektów, interfejsu JDBC™, architektury komponentów JavaBeans™, biblioteki Swing i wielu innych zagadnień.
Przewodnik po zaawansowanych metodach programowania w Javie dla zaawansowanych programistów.
Książka ta dostarcza doświadczonym programistom rozwiązań niezbędnych do pełnego wykorzystania możliwości Javy. To praktyczny przewodnik ułatwiający rozwiązywanie nawet najbardziej złożonych problemów programistycznych. Dodatkowo zawiera zupełnie nowy rozdział poświęcony wykorzystaniu języka XML w programach pisanych w Javie oraz zaktualizowane omówienie wielu zaawansowanych możliwości tej platformy -- od kolekcji po metody macierzyste, od bezpieczeństwa po bibliotekę Swing.
Autorzy identyfikują problemy najczęściej napotykane przez doświadczonych programistów Javy i dostarczają przemyślanych rozwiązań zilustrowanych przykładami kodu, które uczyniły z tej książki prawdziwy bestseller. Dzięki niej ujrzysz w nowym świetle zagadnienia interfejsu ODBC™, tworzenia aplikacji sieciowych, wykorzystania zdalnych obiektów i wiele innych.
Najważniejsze informacje dla programistów Java:
* Zaktualizowane omówienie wielowątkowości, kolekcji i aplikacji sieciowych.
* Zmienione przedstawienie problematyki zdalnych obiektów.
* Nowe, zaawansowane techniki wykorzystania architektury komponentów JavaBeans™.
* Zaawansowane techniki tworzenia interfejsu użytkownika wykorzystujące biblioteki Swing i AWT.
Książka będzie dla Ciebie kolejnym krokiem w poznaniu możliwości Javy. Jest rozszerzeniem i doskonałym uzupełnieniem publikacji "Java 2. Postawy".
O autorach:
CAY S. HORSTMANN wykłada informatykę na uniwersytecie stanowym w San Jose. Napisał sześć książek o C++, Javie i programowaniu zorientowanym obiektowo. Jest redaktorem naczelnym bestselerowego cyklu Core Series, wydawnictwa Prentice Hall PTR.
GARY CORNELL zrobił doktorat na uniwersytecie Brown i współpracował z IBM Watson Labs. Jest autorem lub współautorem 20 książek oraz wielu artykułów, wydrukowanych w czasopismach komputerowych. Obecnie kieruje programem Modern Visual Programming na Uniwersytecie Connecticut.
Zwięzły przewodnik opisujący najczęściej używane instrukcje języka Java
* Naucz się kompilować i uruchamiać programy w Javie
* Poznaj najpopularniejsze polecenia tego języka
* Pisz programy działające na wielu platformach
Już od wielu lat Java jest jednym z najpopularniejszych języków programowania, a znający ją programiści są poszukiwani i cenieni na rynku pracy. Jej atrakcyjność wynika głównie z tego, że kod napisany w tym języku można uruchamiać na wielu platformach, włączając w to różne systemy operacyjne, a także urządzenia przenośne, na przykład telefony komórkowe. Prosty jest także dostęp do wielu narzędzi oraz bezpłatnych bibliotek ułatwiających programowanie w Javie. Ponadto język ten otwiera wielkie możliwości w zakresie tworzenia aplikacji sieciowych.
"Java. Rozmówki" przedstawia skuteczne rozwiązania najczęściej występujących problemów i pomoże Ci błyskawicznie rozpocząć programowanie w tym języku. Dowiesz się, jak kompilować i uruchamiać programy w Javie. Nauczysz się manipulować ciągami, strukturami danych i datami oraz stosować wyrażenia regularne. Poznasz operacje wejścia i wyjścia, a także sposoby pracy z katalogami i plikami. Przeczytasz o aplikacjach sieciowych działających zarówno po stronie klienta, jak i po stronie serwera. Opanujesz efektywne techniki pracy z bazami danych i korzystanie z formatu XML.
* Kompilowanie i uruchamianie programów w Javie
* Współpraca ze środowiskiem
* Obsługa ciągów i liczb
* Korzystanie ze struktur danych
* Operacje wejścia i wyjścia
* Manipulowanie plikami i katalogami
* Praca z klientami i serwerami sieciowymi
* Komunikacja z bazami danych i używanie XML
* Programowanie wielowątkowe
Dzięki treściwym rozmówkom błyskawicznie poznasz praktyczne podstawy programowania w Javie.
Poznaj tajniki najpopularniejszego języka programowania
w erze Internetu
Chyba wszyscy użytkownicy internetu spotkali się z Javą, często nawet o tym nie wiedząc. W ciągu ostatnich 10 lat zyskała ona ogromną popularność, szczególnie wśród programistów aplikacji sieciowych. Jednakże kojarzenie jej z językiem przeznaczonym wyłącznie do tworzenia takich programów jest dużym błędem. Java to w pełni funkcjonalny i doskonale dopracowany język programowania, nadający się do tworzenia różnych aplikacji, a nie tylko apletów działających na stronach internetowych.
W Javie pisane są gry sieciowe, systemy bankowości elektronicznej, pakiety wspomagające sprzedaż i obsługę klienta, a nawet aplikacje działające w telefonach komórkowych i komputerach przenośnych. Podstawową zaletą języka Java jest przenośność kodu -- raz napisany program można uruchomić na każdym urządzeniu, na którym zainstalowane jest odpowiednie środowisko uruchomieniowe, zwane JRE.
Książka "Praktyczny kurs Java" przeznaczona jest dla osób rozpoczynających swoją przygodę z programowaniem w tym języku. Opisuje podstawy języka, zasady programowania obiektowego i tworzenia własnych apletów i aplikacji. Czytając kolejne rozdziały, dowiesz się:
* Jakie typy danych wykorzystywane są w Javie
* Jak deklarować zmienne i wyprowadzać ich wartości na ekran
* W jaki sposób sterować przebiegiem wykonywania programu
* Jakie zasady rządzą programowaniem obiektowym
* Czym są klasy, obiekty, argumenty i metody
* Co to są wyjątki i jak je obsługiwać w programie
* Jak wykorzystać zaawansowane techniki programowania obiektowego w swoich aplikacjach
* W jaki sposób uzyskiwać dostęp do systemu plików z poziomu swojej aplikacji
* Jak tworzyć aplety i samodzielne aplikacje
Zapoznaj się z podstawami programowania w Javie i naucz się zasad programowania obiektowego, a także dowiedz się, czym są wyjątki w Javie i stwórz własne aplety i aplikacje.
Wyjątkowy język C++. 40 nowych łamigłówek, zadań programistycznych i rozwiązańWydawnictwo Helion
Poznaj skuteczne rozwiązania problemów, jakie napotkasz podczas codziennej pracy programisty
* Prawidłowo zoptymalizuj kod źródłowy
* Zaprojektuj efektywną obsługę wyjątków
* Naucz się odpowiednio korzystać z przestrzeni nazw
Nauka każdego nowego zagadnienia przebiega zdecydowanie szybciej i efektywniej pod kierunkiem osoby znającej temat. Nie inaczej jest w przypadku nauki programowania w języku C++. Programowanie w tym języku wymaga dogłębnego opanowania możliwości biblioteki standardowej, inżynierii oprogramowania i wielu innych tematów. Rozwiązując samodzielnie zagadki, jakie często pojawiają się podczas poznawania języka C++ lepiej zapamiętujemy ich rozwiązania, dzięki czemu łatwiej możemy zastosować je w codziennej pracy.
Książka "Wyjątkowy język C++. 40 nowych łamigłówek, zadań programistycznych i rozwiązań" to zbiór zagadnień związanych z niemal wszystkimi aspektami programowania w C++, przedstawionych w formie zagadek z rozwiązaniami. Opisuje zarówno podstawy stosowania szablonów, biblioteki standardowej i projektowanie klas, jak i tematy zaawansowane -- przestrzenie nazw, wyjątki, dziedziczenie i zarządzanie zasobami. Czytając ją, przekonasz się, w jaki sposób można użyć pozornie niezwiązanych ze sobą elementów do opracowania nowych i oryginalnych rozwiązań częstych problemów.
* Poprawne stosowanie predykatów
* Kontenery i wskaźniki
* Korzystanie z szablonów
* Optymalizacja kodu
* Bezpieczna obsługa wyjątków
* Mechanizmy dziedziczenia i polimorfizmu
* Zarządzanie zasobami i pamięcią
* Makrodefinicje
* Przestrzenie nazw
Gdy zrozumiesz zagadnienia opisywane w tej książce, nie będziesz musiał podczas programowania zastanawiać się nad szczegółami -- będziesz mógł skoncentrować się na problemach, które naprawdę chcesz rozwiązać.
O autorze:
Herb Sutter to ekspert od programowania w języku C++. Jest regularnie zapraszany do wygłaszania wykładów na konferencjach dla programistów.
[więcej...]
Praktyczne rozwiązania dla zaawansowanych programistów
Do tworzenia wydajnych programów nie wystarczy teoretyczna wiedza o algorytmach, strukturach danych i inżynierii oprogramowania. Istnieje pokaźna liczba sztuczek, sprytnych technik i praktycznych rozwiązań, których znajomość jest niezbędna każdemu programiście.
Niniejsza książka zawiera pokaźny zestaw technik, które pomogą zaoszczędzić sporo czasu. Techniki te zostały opracowane przez twórców kodu poszukujących eleganckich i wydajnych sposobów tworzenia lepszego oprogramowania. W "Uczcie programistów" doświadczony programista Hank Warren dzieli się z Czytelnikami znanymi sobie sztuczkami, które zgromadził wraz z imponującym doświadczeniem w dziedzinie programowania aplikacji i systemów operacyjnych. Większość z tych sztuczek jest niezwykle praktyczna, niektóre zostały przedstawione jako ciekawostki lub zaskakujące rozwiązania. Ich zestawienie stanowi niesamowitą kolekcję, która będzie pomocna nawet dla najbardziej doświadczonych programistów w rozszerzeniu ich umiejętności.
W książce opisano następujące zagadnienia:
* Obszerna kolekcja użytecznych sztuczek programistycznych
* Drobne algorytmy rozwiązujące często spotykane problemy
* Algorytmy kontroli przekroczenia ograniczeń
* Zmiana kolejności bitów i bajtów
* Dzielenie całkowite i dzielenie przez stałe
* Elementarne operacje na liczbach całkowitych
* Kod Gray"a
* Krzywa Hilberta
* Formuły wyznaczania liczb pierwszych
Niniejsza książka jest doskonałą pozycją dla wszystkich programistów, którzy mają zamiar tworzyć wydajny kod. "Uczta programistów" nauczy Cię tworzenia aplikacji wysokiej jakości -- wyższej niż wymagana na uczelniach i kursach programowania.
Wyzwól swój twórczy potencjał
-- projektuj z programem CorelDraw X3 PL
* Poznaj możliwości CorelDraw X3 PL
* Naucz się korzystać ze wszystkich dostępnych narzędzi
* Daj upust swojej kreatywności i twórz niezwykłe projekty!
CorelDraw to jeden z najbardziej znanych i lubianych programów graficznych. Słynie z łatwości obsługi i ogromnej różnorodności zastosowań. Można wykorzystywać go na wiele różnych sposobów: do projektowania plakatów i reklam, szyldów i wizytówek, tworzenia rysunków technicznych, a nawet dokumentów tekstowych. Jednak z uwagi na to, że jego działanie jest oparte na innych zasadach niż działanie konkurencyjnych programów, nauka obsługi CorelDraw wymaga trochę czasu. Jeśli chcesz skrócić go do minimum, powinieneś mieć tę książkę.
Książka "CorelDraw X3 PL. Kurs" w sposób jasny i przejrzysty wprowadzi Cię w świat CorelDraw X3 PL, czyli trzynastej już wersji programu. W tym podręczniku każde kolejne działanie -- od instalacji na dysku do używania najbardziej wyrafinowanych narzędzi -- zostało dokładnie i szczegółowo opisane oraz zobrazowane. Stąd możesz dowiedzieć się, jak otwierać i zapisywać dokumenty, dodawać i modyfikować obiekty, stosować kolorowe wypełnienia, wstawiać tekst i używać efektów specjalnych. Proponowany tu kurs pozwoli Ci swobodnie i bez żadnego problemu tworzyć świetne projekty w tym programie.
Nauczysz się:
* Instalować i uruchamiać CorelDraw X3 PL
* Otwierać, zapisywać i drukować rysunki
* Wstawiać, rysować i wypełniać kolorem obiekty
* Kopiować, modyfikować, grupować obiekty
* Wpisywać i formatować tekst
* Stosować wypełnienia i krzywe Beziera
* Używać linijek i dynamicznych prowadnic
* Wykorzystywać efekty specjalne
Książki wydawnictwa z serii "Kurs" adresowane są do początkujących użytkowników komputerów, którzy chcą w krótkim czasie nabyć praktyczne umiejętności przydatne w karierze zawodowej i codziennej pracy. Napisane przystępnym językiem i bogato ilustrowane są wspaniałą pomocą w samodzielnej nauce.
* Przeznaczone dla początkujących
* Praktyczne zadania omówione krok po kroku
* Przystępny i zrozumiały język
* Liczne ilustracje
* Idealny do samodzielnej nauki
Odkryj CorelDraw X3 PL -- i zacznij projektować z przyjemnością
Czytanie kodu. Punkt widzenia twórców oprogramowania open sourceWydawnictwo Helion
Książka "Czytanie kodu. Punkt widzenia twórców oprogramowania" open source to pierwszy na rynku podręcznik poświęcony czytaniu kodu źródłowego jako osobnej dziedzinie wiedzy, której znajomość jest przydatna każdemu programiście. Ponad 600 przykładów, w których wykorzystywane są kody oprogramowania open source , przedstawia sposoby identyfikowania dobrego i złego kodu, czytania go, przeszukiwania pod kątem konkretnych funkcji oraz wykorzystywania umiejętności czytania kodu do poprawy jakości kodów źródłowych pisanych samodzielnie.
* Podstawowe konstrukcje sterujące działaniem programu
* Proste i złożone typy danych
* Struktury i unie
* Dynamiczne zarządzanie pamięcią
* Metody analizy projektów informatycznych
* Konwencje pisania i formatowania kodu źródłowego
* Tworzenie i czytanie dokumentacji
* Architektura systemów
Poznaj umiejętność czytania kodu źródłowego i popraw samodzielnie pisany kod.
Język Pascal, kojarzący się głównie z nauką programowania, stał się podstawą jednego z najpopularniejszych obecnie środowisk programistycznych -- Delphi firmy Borland. To graficzne środowisko, pozwalające na szybkie tworzenie aplikacji dzięki możliwości składania ich z "klocków" zwanych komponentami, błyskawicznie zyskało uznanie programistów na całym świecie. Kolejne wersje Delphi oferowały coraz większe możliwości. Jego najnowsza wersja pozwala na tworzenie programów dla platformy .NET i korzystanie nie tylko z języka Pascal, ale również z coraz popularniejszego C#.
Książka "Delphi. Szybki start" to doskonały przewodnik po Delphi dla początkujących użytkowników. Dzięki niemu poznasz język Object Pascal i zasady programowania obiektowego. Nauczysz się wykorzystywać komponenty do tworzenia aplikacji i od zera napiszesz własne programy. Dowiesz się, czym się różni Delphi 7 od Delphi 2005, i wykorzystasz możliwości obu tych środowisk.
* Interfejs użytkownika środowiska Delphi
* Elementy języka Object Pascal
* Programowanie obiektowe
* Obsługa wyjątków
* Tworzenie okien dialogowych
* Projektowanie interfejsów użytkownika
* Korzystanie z komponentów
Poznaj możliwości środowiska Delphi.
Master Thesis - Comparative analysis of programming Environments based on Rub...Adam Skołuda
In this thesis, we analyzed technologies for creating web applications, using Ruby and JavaScript. Were chosen two tools for creating frontend and three responsible for the backend. The main emphasis has been on a comparison of selected tools. The preface provides background information to the problem, presents the purpose and division of work. This also explains the motivation to take the topic of work and arrangement of chapters. The theoretical introduction describes the essential issues of web application architecture, the understanding of which is crucial for the realization of the theme. Description of the technology is an important chapter, which describes the selected libraries. These chapters lead to the multivariate analysis. This chapter is a comparison of selected tools, aimed to identify the best in each category. At the end, there is a summary of the work carried out, the conclusions of the study, as well as a subjective assessment of examined technologies. It also takes a polemic about the future direction of web applications.
Tworzenie aplikacji dla Windows. Od prostych programów do gier komputerowychWydawnictwo Helion
Poznaj tajniki tworzenia aplikacji dla Windows
* Jak określić położenie, rozmiar i styl okna?
* Jak tworzyć wątki aplikacji za pomocą funkcji CreateThread?
* Jak definiować biblioteki?
Dev-C++ to zintegrowane środowisko programistyczne, którego niewątpliwym atutem są tzw. DevPaki, czyli rozszerzenia programu, pozwalające korzystać z różnych bibliotek, szablonów i narzędzi. Środowisko Dev-C++ wspomaga także pracę nad nowym projektem Windows — gotowym kodem tworzącym okno z obsługą podstawowych komunikatów. Wszystko to sprawia, że mamy do czynienia z wygodnym i funkcjonalnym środowiskiem, zarówno dla początkujących, jak i zaawansowanych programistów.
Z książki „Tworzenie aplikacji dla Windows. Od prostych programów do gier komputerowych” może skorzystać każdy, kto chce nauczyć się programowania: zarówno studenci kierunków informatycznych, jak i osoby, które nie mają takiego przygotowania. Podręcznik kolejno odsłania poszczególne elementy wiedzy programistycznej — od najprostszych po najbardziej zaawansowane. Dowiesz się więc, jak wprowadzać niewielkie zmiany w kodzie, jak projektować aplikacje wielowątkowe i definiować biblioteki, jak budować duże, składające się z kilku plików projekty, aby na koniec samodzielnie stworzyć grę komputerową.
* Instalacja środowiska Dev-C++
* Tworzenie narzędzia pióro
* Obsługa map bitowych
* Obsługa komunikatów myszy i klawiatury
* Obiekty sterujące w oknie
* Menu i plik zasobów
* Projektowanie aplikacji wielowątkowych
* Biblioteki statyczne i dynamiczne
* Multimedia
* Programowanie gier
Naucz się programowania i twórz własne gry!
Doskonały przewodnik po tajnikach języka JavaScript, przeznaczony dla tych projektantów WWW, którym przestał wystarczać HTML. Bogato ilustrowana praktycznymi przykładami książka jest kompletnym podręcznikiem najpopularniejszego języka skryptowego, którego znajomość pozwala ożywić strony internetowe. Autor nie zatrzymuje się na czysto wizualnych aspektach zastosowania JavaScriptu. Pokazuje także sposoby komunikowania się JavaScriptu z aplikacjami działającymi po stronie serwera, napisanymi w PHP, ASP czy Perlu, a także odczytywanie i przetwarzanie dokumentów XML.
JavaScript -- od podstaw po techniki zaawansowane.
* Składnia JavaScriptu
* Obsługa okienek z ostrzeżeniami i komunikatami
* Efekty podmiany obrazka (rollover) i animacja z wykorzystaniem warstw
* Odczytywanie i wysyłanie ciasteczek (cookies)
* Obsługa ramek i otwieranie nowych okien przeglądarki
* Model dokumentu DOM
* Krótkie wprowadzenie do ASP, Perla i PHP -- integracja JavaScriptu ze skryptami działającymi po stronie serwera
* Podstawy VBScript
* Łączenie JavaScriptu z apletami Javy
* Korzystanie z dokumentów XML
"JavaScript projekty", kompendium JavaScriptu, zawierające także wprowadzenie do wielu pokrewnych, przydatnych technologii, to obowiązkowa pozycja na półce twórcy stron internetowych. Ta książka rozszerzy Twoje horyzonty!
Kolejna, siódma już wersja języka Visual Basic (Visual Basic .NET) to prawdziwa rewolucja - firma Microsoft opracowała jednolite środowisko programistyczne, a jednym z jego podstawowych języków (oprócz Visual C++ i Visual C#) jest właśnie Visual Basic. Dzięki wsparciu potężnej firmy, jaką jest Microsoft i rozpowszechnieniu systemu Windows, Visual Basic .NET stał się jednym z najczęściej używanych języków programowania na świecie.
Książka "Visual Basic .NET. Ćwiczenia" adresowana jest do osób, które chcą poznać podstawowe zasady tworzenia w języku VB .NET programów sterowanych zdarzeniami. Jak wszystkie książki z tej serii jest ona skonstruowana w formie praktycznych ćwiczeń, pozwalających stopniowo zagłębiać się w niuanse programowania bez zbędnych rozważań teoretycznych.
Poznasz:
* Platformę .NET
* Programowanie sterowane zdarzeniami
* Zmienne i stałe
* Sterowanie przebiegiem wykonywania programu
* Podstawy programowania obiektowego
* Korzystanie z baz danych
* Obsługę błędów w Visual Basic .NET
Bezproblemowe wprowadzenie do języka JavaScript
* Chcesz budować bardziej interaktywne witryny internetowe?
* Chcesz zobaczyć, jak dynamicznie manipulować elementami stron?
* Chcesz dowiedzieć się, jak ulepszyć interfejs użytkownika za pomocą technologii Ajax?
W życiu każdego webmastera nadchodzi moment, w którym zwykły kod HTML oraz arkusze CSS już nie wystarczają i pora poszukać bardziej zaawansowanych narzędzi. Jeśli sięgnąłeś po tę książkę, prawdopodobnie pragniesz też tchnąć w swe witryny więcej życia i dynamiki. Naturalną drogą rozwoju jest nauka języka JavaScript, który umożliwia budowanie bardziej interaktywnych i efektownych stron internetowych. A skoro już zaczniesz poznawać ten język, dlaczego nie wypróbować bazującej na nim technologii Ajax, która pozwala tworzyć jeszcze ciekawsze i bardziej wygodne interfejsy użytkownika.
Dzięki książce "Po prostu JavaScript i Ajax. Wydanie VI" błyskawicznie nauczysz się wykorzystywać JavaScript do poprawy jakości własnych witryn internetowych. Poznasz podstawy składni tego języka, sposoby zagnieżdżania skryptów w kodzie HTML, techniki dynamicznego manipulowania rozmaitymi elementami stron internetowych oraz reagowania na zdarzenia zachodzące w przeglądarce. Dowiesz się też, do czego służy technologia Ajax oraz jak wykorzystać jej możliwości do tworzenia efektownych i szybkich interfejsów użytkownika.
* Podstawy języka JavaScript
* Dodawanie rysunków i animacji
* Korzystanie z ramek
* Sterowanie oknami przeglądarki
* Stosowanie formularzy
* Obsługa zdarzeń
* Używanie ciasteczek
* Stosowanie arkuszy CSS
* Manipulowanie modelem DOM
* Korzystanie z technologii Ajax
* Tworzenie skryptozakładek
Poznaj praktyczne zastosowania języka JavaScript
i twórz lepsze witryny internetowe.
C++ to popularny i uniwersalny język programowania. Jednak po dłuższym stosowaniu programiści zaczynają zauważać pewne jego niedoskonałości i ograniczenia. System typów, sposób działania niektórych kompilatorów, związki pomiędzy wskaźnikami i tablicami, nieprzewidziane w standardzie zachowania obiektów statycznych i bibliotek dynamicznych to tylko niektóre z nich. Aby je obejść, należy wykorzystywać wiele bardzo zaawansowanych i nieznanych wielu programistom metod.
Książka "Język C++. Gotowe rozwiązania dla programistów" to podręcznik dla tych programistów C++, którzy zaczęli już dostrzegać ograniczenia tego języka i zastanawiają się, jak sobie z nimi poradzić. Autor pokazuje sposoby ujarzmienia złożoności języka i uzyskania pełnej kontroli nad kodem. Przedstawia najpoważniejsze wady C++ i sposoby rozwiązywania powodowanych przez nie problemów. Opisuje również metody tworzenia stabilniejszego, bardziej uniwersalnego, wydajniejszego i łatwiejszego w pielęgnacji kodu.
* Wymuszanie założeń projektowych
* Cykl życia obiektów
* Hermetyzacja zasobów, danych i typów
* Modele dostępu do obiektów
* Obsługa wątków
* Korzystanie z obiektów statycznych
* Konwersja danych i typów
* Zarządzanie pamięcią
* Sterowanie działaniem kompilatora
Wszyscy programiści, niezależnie od stopnia zaawansowania, znajdą w tej książce wiadomości, które usprawnią i przyspieszą ich pracę.
Nadaj nową jakość swoim stronom internetowym
* Poznaj składnię i możliwości języka JavaScript
* Naucz się dynamicznie manipulować stronami internetowymi
* Twórz bardziej efektowne i interaktywne witryny
Znasz już język HTML, umiesz tworzyć proste strony internetowe i chcesz się nauczyć czegoś nowego? JavaScript to doskonały wybór. Język ten pozwala tchnąć życie w statyczne strony, dodać do nich ciekawe efekty oraz ułatwić użytkownikom interakcję z witryną. Duże możliwości połączone z łatwością nauki sprawiają, że jest to jeden z najprostszych sposobów na poprawę jakości Twoich stron.
Książka "JavaScript dla każdego. Wydanie IV" zawiera 24 krótkie lekcje, dzięki którym szybko poznasz składnię tego języka i nauczysz się używać go do tworzenia zaawansowanych stron internetowych. Dowiesz się, czym jest model DOM oraz jak za jego pomocą dynamicznie manipulować zawartością strony. Przeczytasz o technikach tworzenia internetowych aplikacji multimedialnych i możliwościach technologii AJAX. Poszczególne lekcje zawierają szczegółowe instrukcje opisujące typowe operacje języka JavaScript, co pozwoli Ci samodzielnie wykonać wszystkie przykłady. Dodatkowo, na końcu każdego rozdziału znajdują się pytania i ćwiczenia, które pomogą Ci sprawdzić i utrwalić nabytą wiedzę.
* Składnia języka JavaScript
* Pisanie skryptów i umieszczanie ich na stronach
* Używanie modelu DOM do manipulowania elementami strony
* Pobieranie danych od użytkownika
* Stosowanie stylów przy użyciu arkuszy CSS
* Wprowadzenie do technologii AJAX
* Obsługa grafiki, animacji i dźwięków
* Tworzenie efektownych menu rozwijanych
* Pisanie gier internetowych
Doskonała książka dla każdego ambitnego webmastera!
Doskonały przewodnik po najnowszej wersji języka PHP
dla twórców dynamicznych serwisów WWW
Książka "PHP. Programowanie. Wydanie III" to kolejne wydanie praktycznego przewodnika dla programistów stron internetowych. Jeden z najlepszych programistów PHP -- Leon Atkinson, uczy wszystkiego, co potrzebujesz, by stworzyć dobrą i szybką aplikację sieciową. Dokładnie opisuje składnię PHP i kluczowe elementy języka. Atkinson przedstawia także najważniejsze funkcje PHP, w tym funkcje wejścia-wyjścia, przetwarzania danych, matematyczne, daty, czasu, konfiguracji, funkcje umożliwiające współpracę z bazami danych, funkcje graficzne i sieciowe. Prezentuje on również działanie PHP na przykładach realizujących sortowanie, przeszukiwanie, analizę łańcuchów i inne zadania.
Książka składa się z czterech części:
* wstępu do programowania,
* przewodnika po wszystkich funkcjach,
* przeglądu typowych problemów programistycznych
* części umożliwiającej zastosowanie zdobytej wiedzy przy tworzeniu witryn.
Pierwsza część zajmuje się kwestiami dotyczącymi wszystkich języków programowania: jak wygląda skrypt PHP, jak sterować przebiegiem programu i jak zarządzać danymi.
Część druga organizuje funkcje według ich zastosowania i zawiera przykłady ich zastosowania. PHP udostępnia bardzo dużo funkcji, dlatego część ta jest najobszerniejsza.
Część trzecia zajmuje się rozwiązywaniem typowych problemów programistycznych, takich jak sortowanie czy generowanie grafiki.
Ostatnia część udziela porad dotyczących tworzenia całych witryn sieciowych za pomocą PHP.
* Poznaj wzorce projektowe w PHP, techniki programowania obiektowego i możliwości wykorzystania języka XML
* Wykorzystaj nowe funkcje i możliwości PHP 5
* Napisz wydajne aplikacje internetowe, wykorzystując najlepsze praktyki inżynierii oprogramowania
"Po prostu PowerPoint 2003 PL" to książka, która wprowadza czytelnika w świat najpopularniejszego programu do tworzenia prezentacji multimedialnych. Wyjaśnia, w jaki sposób korzystać z głównych funkcji PowerPointa, jak tworzyć różne typy slajdów oraz formatować prezentacje.
Jeśli chcesz szybko, a zarazem dogłębnie poznać wszystkie możliwości PowerPointa 2003, koniecznie powinieneś przeczytać tę książkę. Przystępny, bogato ilustrowany wykład poprowadzi Cię krok po kroku poprzez wszystkie zagadnienia, prezentując kolejne etapy przygotowywania prezentacji. Książka ta może być też swego rodzaju leksykonem. Nie znajdziesz tu długich i nudnych opisów: wszystkie potrzebne wiadomości podane są w zwięzłej i prostej formie i wzbogacone ilustracjami.
Poznaj:
* Uruchamianie i podstawowe funkcje PowerPointa
* Tworzenie slajdów tekstowych
* Tworzenie różnego rodzaju wykresów
* Schematy organizacyjne i diagramy
* Dodawanie i modyfikowanie obiektów graficznych
* Konspekty prezentacji i zmiana kolejności wyświetlania slajdów
* Animacje i multimedia
* Zapisywanie prezentacji w różnych formatach i ich publikowanie w internecie
Poznaj najważniejsze, wykorzystywane na co dzień polecenia i możliwości programu PowerPoint 2003 bez zagłębiania się w niepotrzebne detale. Pamiętaj, że sposób przedstawiania informacji pomoże Ci przekonać słuchaczy do Twoich racji.
Błyskawiczny kurs tworzenia prezentacji
* Jak wprowadzać i formatować tekst oraz grafikę?
* W jaki sposób definiować przejścia pomiędzy slajdami?
* Jak najlepiej przeprowadzić prezentację?
Dziś już trudno wyobrazić sobie prezentację bez slajdów przygotowanych w programie PowerPoint. Ta aplikacja, będąca elementem pakietu Microsoft Office, od lat wyznacza standardy wśród narzędzi prezentacyjnych. PowerPoint oferuje użytkownikom ogromne możliwości w zakresie wprowadzania i formatowania tekstu na slajdach, dodawania elementów graficznych i dźwiękowych, schematów przejść pomiędzy slajdami i typów slajdów. Jednak to nie wszystko – PowerPoint wspomaga również sam proces prezentowania slajdów dzięki rozbudowanym narzędziom umożliwiającym kontrolę czasu ich wyświetlania, dystrybucję w różnych formatach oraz połączenie pokazu z nagraną wcześniej narracją.
Książka „Po prostu PowerPoint 2007 PL” to podręcznik dla wszystkich, którzy chcą szybko poznać możliwości tego narzędzia i zastosować je w praktyce. Czytając ją, nauczysz się projektować układ slajdu, wprowadzać i formatować tekst oraz grafikę, a także importować dane z plików zewnętrznych. Dowiesz się, jak tworzyć animacje na slajdach oraz modyfikować sposób ich wyświetlania na ekranie. Przeczytasz także o eksportowaniu slajdów i prowadzeniu prezentacji. Każde z zagadnień przedstawione jest w postaci ilustrowanych sekwencji czynności, co znacznie ułatwi i przyspieszy naukę.
* Obszar roboczy PowerPointa
* Wybór układu slajdu
* Wprowadzanie tekstu
* Umieszczanie na slajdach grafik i obiektów SmartArt
* Dodawanie dźwięków do slajdów
* Animacje i przejścia pomiędzy slajdami
* Tabele i wykresy
* Współpraca z innymi aplikacjami z pakietu Office
* Eksport slajdów do plików PDF
* Prowadzenie prezentacji
Poznaj PowerPointa i twórz profesjonalne prezentacje.
Similar to Efektywne programowanie w języku Java (19)
Windows Movie Maker dołączany do systemu Windows XP to doskonałe narzędzie do domowego montażu cyfrowych filmów wideo. Jest prosty w obsłudze, posiada spore możliwości, a montaż filmów za jego pomocą jest przyjemną zabawą. Movie Maker pozwala na przeniesienie klipów z kamery cyfrowej, zaimportowanie materiałów z dysku, rozmieszczenie ujęć i połączenie ich przejściami, a także udźwiękowienie i dodanie efektów specjalnych. Gotowy film można wysłać pocztą elektroniczną, zapisać na dysku lub płycie CD albo opublikować w internecie.
Książka "Tworzenie filmów w Windows XP. Projekty" przedstawia proces tworzenia filmu wideo. Opisuje kolejne kroki prowadzące do zmontowania cyfrowego filmu wideo z przechwyconych ujęć i zaimportowanych materiałów. Nie znajdziesz w niej jednak długich opisów i dziesiątek parametrów. Każde zagadnienie jest przedstawione za pomocą zrzutów ekranu i krótkich instrukcji. Dzięki temu w ciągu kilku godzin zrealizujesz swój pierwszy projekt w Movie Makerze.
* Elementy interfejsu użytkownika
* Przechwytywanie klipów z kamery wideo
* Import materiałów źródłowych
* Tworzenie wstępnego montażu
* Dodawanie przejść i efektów specjalnych
* Nakładanie plansz tytułowych i napisów
* Udźwiękowienie filmu
* Korzystanie z funkcji Autofilm
* Eksport zmontowanego filmu
Przekonaj się, jak proste może być tworzenie własnych filmów wideo.
Przedstaw się światu!
* Jak zbudować elegancką stronę z blogiem?
* Jak tworzyć wyspecjalizowane przeglądarki bloga?
* Jak dodawać do własnego serwisu blogowego kanał RSS?
Prowadzenie bloga to nowy sposób na zwiększenie aktywności społecznej - szansa na zaistnienie w rzeczywistości wirtualnej, mająca swoje odbicie w tak zwanym „prawdziwym życiu”. Dlatego blogi piszą dziś niemal wszyscy: politycy, marketingowcy, celebryci, biznesmeni. Forma publicznie dostępnego pamiętnika pozwala na szeroką prezentację własnych poglądów, przekonań czy wartości. Z tego powodu blogi wykorzystywane są też jako wortale poświęcone określonej tematyce, promujące idee lub produkty. Ich użytkownicy stworzyli nawet własną społeczność, która 31 sierpnia obchodzi swoje święto - Dzień Bloga. Już dziś możesz do nich dołączyć!
„Blog, więcej niż internetowy pamiętnik” to książka, która pokaże Ci, jak założyć i prowadzić własny blog, a także aktywnie korzystać z innych blogów. Dowiesz się z niej, jak skorzystać z oprogramowania obsługującego serwisy blogowe, jak zintegrować języki PHP, HTML, CSS i SQL, aby stworzyć elegancką stronę prezentującą Twój blog. Nauczysz się budować własną bazę danych, przeznaczoną do przechowywania wpisów, a także zabezpieczać ją przed niepowołanymi modyfikacjami. I wreszcie poznasz sposób na dodanie do własnego serwisu kanału RSS, aby czytelnicy na bieżąco mogli obserwować pojawianie się nowych wpisów. Znajdziesz tu wszystko, czego potrzebujesz, aby zaprezentować światu swój blog!
* Obsługa okna tworzenia bloga
* Modyfikowanie wyglądu bloga
* Publikowanie w określonym terminie
* Rozbudowa bloga
* Instalacja czytnika RSS
* Subskrybowanie blogów za pomocą RSS
* Instalacja oprogramowania własnego serwera
* Baza danych i modyfikacja danych
* Projektowanie struktury bloga
* Zakładanie konta użytkownika
* Zakładanie bazy danych i tabeli danych
* Nadawanie uprawnień do korzystania z tabeli
* Przygotowanie szablonu i tworzenie strony www
* Automatyzowanie, blokowanie i trwałe usuwanie wpisu
* Tworzenie formularza wyszukiwania
* Tworzenie kanału RSS i wypełnianie go treścią
* Pobieranie programu Weber
Blog to prosty i fascynujący sposób, aby świat dowiedział się o Twoim istnieniu!
Pakiet biurowy MS Office jest jednym z podstawowych narzędzi wykorzystywanych we współczesnych firmach. Zawarty w nim system zarządzania bazami danych Access to wygodna w obsłudze aplikacja służąca do operowania na zbiorach danych. Dzięki prostocie obsługi, sporym możliwościom i wizualnym narzędziom stanowi doskonałe rozwiązanie dla przedsiębiorstw, w których duże znaczenie ma czas poświęcany na opanowanie nowych programów. Kreatory i rozbudowany system pomocy oferowane przez Accessa niezwykle upraszczają proces tworzenia bazy oraz aplikacji przeznaczonych do obsługi zgromadzonych w niej danych.
W książce "Access w biurze i nie tylko" znajdziesz omówienie podstawowych możliwości tego systemu. Nauczysz się tworzyć i otwierać istniejące bazy danych oraz tworzyć nowe. Dowiesz się, w jaki sposób projektować tabele i jak dobierać typy danych dla poszczególnych kolumn tabeli. Przeczytasz o relacjach, poznasz sposoby wybierania i wstawiania danych, a także manipulowania nimi za pomocą kwerend. W kolejnych rozdziałach znajdziesz informacje o tworzeniu formularzy i raportów oraz wyświetlaniu wykresów na podstawie danych zgromadzonych w bazie. Nauczysz się także pisać własne makra i poznasz podstawy języka Visual Basic for Applications.
* Otwieranie istniejących baz danych
* Tworzenie tabel
* Typy danych
* Tworzenie i modyfikowanie relacji
* Manipulowanie danymi za pomocą kwerend
* Konstruowanie formularzy
* Budowanie raportów
* Automatyzacja pracy za pomocą makropoleceń
* Tworzenie i wyświetlanie wykresów
Dane to dziś najcenniejszy towar. Naucz się nim zarządzać.
Pozycjonowanie i optymalizacja stron WWW. Ćwiczenia praktyczneWydawnictwo Helion
Zapewnij swojej witrynie miejsce w pierwszej dziesiątce!
* Jak działają wyszukiwarki?
* Jaki wpływ na pozycję serwisu mają linki przychodzące i wychodzące?
* Czy istnieją zagrożenia związane z niewłaściwym pozycjonowaniem?
Stworzenie serwisu WWW to dopiero połowa sukcesu w Internecie. Druga połowa to zapewnienie witrynie odpowiedniej popularności. A tę popularność może zagwarantować przede wszystkim wysokie miejsce w wynikach wyszukiwarek. Jak to osiągnąć? Od czego zacząć i jak monitorować skuteczność prowadzonych działań? Wszystkie odpowiedzi znajdziesz właśnie w tej książce!
Poprzez liczne przykłady i ćwiczenia autorzy zapoznają Cię ze sposobem działania wyszukiwarki Google i zasadami doboru właściwych słów kluczowych. Pokażą, jak najlepiej rozmieścić je na stronie. Ponadto dowiesz się, jaki wpływ na pozycję strony mają linki wychodzące oraz przychodzące, jak przebiega proces indeksowania strony, jak działają systemy wymiany linków oraz jak wykorzystać statystyki do obserwacji ruchu na stronie. Przeczytasz także o tym, jakie zagrożenia niesie ze sobą niewłaściwa procedura pozycjonowania.
* Sposób działania Google oraz innych wyszukiwarek
* Definiowanie fraz i słów kluczowych
* Wpływ linków przychodzących i wychodzących na pozycję strony
* Korzystanie z systemów wymiany linków
* Proces indeksacji witryny
* Zagrożenia związane z niewłaściwym pozycjonowaniem
* Wykorzystanie statystyk do śledzenia ruchu na stronie
* Sposoby reklamowania serwisu
Zwiększ oglądalność swojej witryny WWW!
E-wizerunek. Internet jako narzędzie kreowania image'u w biznesieWydawnictwo Helion
Lustereczko, powiedz przecie,
kto jest najwspanialszy w necie?
* Tworzenie i wykorzystywanie odpowiedniego wizerunku oraz zarabianie na nim
* Budowanie pożądanych marek bez wielkich nakładów finansowych
* Interaktywne relacje z klientami
* Wykorzystanie Internetu do rozwoju biznesu
* Narzędzia kreowania wizerunku w sieci
Jak Cię widzą (w sieci), tak Cię piszą
Internet jest nie tylko rewolucyjnym medium, pierwszym o naprawdę masowym zasięgu działania. Stanowi on przede wszystkim fascynujący alternatywny świat. Działa jak magnes, co roku przyciągając nowych użytkowników. Niczym używka, wciąż odnotowuje wydłużenie czasu kontaktu z odbiorcą. I last but not least — Internet to niekończący się pasaż handlowy, wymarzone miejsce spotkań podaży i popytu.
Poznaj specyfikę światowej sieci WWW i znajdź w niej właściwe miejsce dla Twojej marki. E-marketing rządzi się własnymi prawami — z jednej strony bezustannie stawia firmy przed nowymi wyzwaniami, z drugiej zaś stale kreuje nowe narzędzia dotarcia do klienta. A są one naprawdę fascynujące: możliwość dowolnej personalizacji przekazu, olbrzymia ilość kanałów, a przede wszystkim atrakcyjne społeczności — ludzie młodzi, aktywni, hobbyści, biznesmeni oraz entuzjaści nowinek. Mogą oni zostać ambasadorami Twojej marki, ale mogą też ją zniszczyć. Dlatego musisz poznać zasady rządzące Internetem i jego społecznościami, a następnie zacząć budować instrumenty wywierania wpływu i wykorzystać je dla dobra Twojego produktu.
Internet ma przyszłość!
* Czym jest e-wizerunek i jak wpływa na sukces firm, produktów i ludzi?
* Narzędzia budowania image’u — strona WWW, fora internetowe, newslettery i inne.
* Sześć zasad skutecznego kreowania e-wizerunku.
* Grzechy główne działań internetowych.
* Marka jako efekt przemyślanej strategii wizerunkowej.
* Case studies
Microsoft Visual C++ 2008. Tworzenie aplikacji dla WindowsWydawnictwo Helion
Rozpocznij przygodę z Visual C++!
* Jakie prawa rządzą programowaniem obiektowym?
* Jak tworzyć usługi systemowe?
* Jak dokumentować tworzony kod?
Microsoft Visual C++ jest zintegrowanym środowiskiem, pozwalającym na tworzenie aplikacji przy użyciu języków C, C++ lub C++/CLI. Zawiera ono wyspecjalizowane narzędzia, pomagające w wydajnym tworzeniu rozwiązań opartych o te języki. Pierwsza wersja Visual C++ została wydana w 1992 roku, a środowisko to jest bezustannie ulepszane. Najnowsze wydanie, z datą 2008, zostało opublikowane w listopadzie 2007 roku i wprowadziło wiele nowości — jak chociażby wsparcie dla technologii .NET 3.5. Niewątpliwie narzędzie firmowane przez giganta z Redmond jest jednym z najpopularniejszych, a używają go programiści z całego świata.
Dzięki tej książce również Ty możesz dołączyć do tego wybitnego grona. Po jej przeczytaniu będziesz miał wiedzę na temat środowiska programistycznego i platformy .NET. Poznasz podstawy programowania obiektowego, nauczysz się uzyskiwać dostęp do informacji zgromadzonych w bazach danych oraz korzystać z możliwości Internetu bezpośrednio w Twoich programach. Kolejne rozdziały przedstawiają interesujące tematy dotyczące obsługi wyjątków, programów wielowątkowych oraz sposobów tworzenia usług systemowych. Ostatni rozdział poświęcony został tak istotnej kwestii, jak dokumentowanie kodu — to czynność, o której wielu programistów zapomina. Jeżeli chcesz rozpocząć przygodę z Microsoft Visual C++, ta książka jest idealną lekturą dla Ciebie!
* Praca w zintegrowanym środowisku programistycznym
* Pojęcia związane z programowaniem obiektowym
* Uzyskiwanie dostępu do informacji zgromadzonych w bazach danych
* Wykorzystanie transakcji w pracy z danymi
* Sposoby integracji z siecią Internet
* Obsługa wyjątków
* Programowanie wielowątkowe
* Tworzenie grafiki oraz wykorzystanie multimediów
* Drukowanie w systemie Windows
* Tworzenie usług systemowych
* Dokumentowanie kodu programu
Wykorzystaj możliwości Microsoft Visual C++ 2008!
Co potrafi Twój iPhone? Podręcznik użytkownika. Wydanie IIWydawnictwo Helion
Poznaj możliwości iPhone’a!
* Jak rozpocząć pracę z iPhone’em?
* Jak wykorzystać możliwości przeglądarki Safari?
* Jak używać map?
Pojawienie się iPhone’a firmy Apple można bez wahania nazwać Rewolucją! Rewolucją przez duże "R". Nigdy wcześniej żaden nowy telefon nie wzbudził takich emocji. Nigdy wcześniej nie ustawiały się na wiele dni przed premierą kolejki pod salonami. Co sprawia, że ludzie szaleją za tym małym cudem techniki? Wielodotykowy (ang. multitouch) ekran, dostęp do tysięcy aplikacji, stabilny system operacyjny oraz elegancki, przykuwający uwagę wygląd to tylko niektóre z jego zalet.
Właśnie dzięki tej książce dowiesz się, co tak naprawdę potrafi Twój iPhone. Autor — niezawodny Scott Kelby — bez zbędnego zagłębiania się w szczegóły techniczne opowie Ci o możliwościach tego rewolucyjnego urządzenia. Zaprezentuje Ci m.in. sposoby wykonywania różnych operacji przy użyciu tego telefonu. Poznasz tajniki jego konfiguracji i synchronizacji z komputerem oraz metodę sprawdzania poziomu naładowania baterii. Nauczysz się wykorzystywać wszystkie możliwości przeglądarki Safari, czytnika poczty oraz terminarza. Dowiesz się również, jak odtwarzać klipy z YouTube, słuchać muzyki czy oglądać filmy. Książka ta jest zatem świetną pozycją zarówno dla początkującego użytkownika telefonu iPhone, jak również dla zaawansowanego — ten ostatni znajdzie tu informacje, które go zaskoczą i zachwycą! W końcu iPhone to zdolna i piękna bestia…
* Włączanie, usypianie, wyłączanie iPhone’a
* Wykorzystanie wbudowanego głośnika
* Obsługa ekranu
* Importowanie kontaktów
* Dodawanie numerów
* Połączenia konferencyjne
* Wyciszanie dzwonka
* Odbieranie i wysyłanie wiadomości e-mail
* Obsługa przeglądarki Safari
* Wykorzystanie kalendarza
* Odtwarzanie klipów z YouTube
* Używanie mapy
* Sprawdzanie prognozy pogody
* Importowanie i odtwarzanie muzyki
* Wykonywanie zdjęć
* Rozwiązywanie typowych problemów
Sprawdź, co potrafi Twój iPhone!
Uwiecznij świat, jakiego nie znałeś!
* Jaki sprzęt jest potrzebny do makrofotografii?
* Jak uzyskać duże powiększenia?
* Jak komponować efektowne zdjęcia?
Wiele osób nie zwraca uwagi na niepozorne, małe elementy otaczającego nas świata. Czyż nie warto pokazać im, co tracą? Wykonanie dobrego zdjęcia w skali makro to wyzwanie, ale zachwyt na twarzach oglądających jest wart wszelkich poświęceń. Właśnie dzięki makrofotografii można ujrzeć cudowny świat, niezauważalny na co dzień. Magiczny świat szczegółów!
Autor książki "Makrofotografia. Magia szczegółu " przedstawia ten temat w sposób przejrzysty i systematyczny. Dzięki tej publikacji zdobędziesz informacje dotyczące sprzętu potrzebnego do wykonania makrofotografii oraz sposobu kompozycji zdjęcia. Poznasz zagadnienia związane z właściwym doborem ostrości, a także takie pojęcia, jak głębia ostrości, długość ogniskowej, jasność obiektywu i wiele innych. Pozwolą Ci one na swobodne poruszanie się po świecie makrofotografii. Ponadto poszerzysz swoją wiedzę odnośnie doboru właściwego oświetlenia oraz programów odpowiednich do obróbki wykonanych zdjęć. Niewątpliwym atutem tej książki są pytania i zadania kontrolne, które pozwolą Ci zweryfikować zdobyte umiejętności. Jeżeli chcesz uwiecznić otoczenie w makrofotografii, ta pozycja będzie dla Ciebie nieocenionym źródłem informacji, a może nawet twórczej inspiracji!
* Sprzęt konieczny do wykonania makrofotografii
* Sposoby na uzyskanie dużych powiększeń
* Komponowanie zdjęć
* Zasady doboru kadru
* Uzyskiwanie właściwej ostrości
* Ograniczenia ostrości
* Dobór właściwego oświetlenia
* Metody pomiaru światła
* Doświetlanie zdjęć
* Narzędzia do edycji zdjęć
Odsłoń na fotografiach całe piękno szczegółu!
Naucz się korzystać z nowoczesnych narzędzi PowerShella
i usprawniaj żmudne zadania administracyjne!
* Jak skonfigurować środowisko PowerShella?
* Jak tworzyć aplety poleceń i jak ich używać?
* Jak korzystać z potoku danych?
Windows PowerShell to innowacyjne narzędzie do zarządzania systemem i przetwarzania skryptów dla serwerów oraz klientów pod kontrolą Windows. Charakterystyczną cechą tego interpretera poleceń jest obiektowa logika, która sprawia, że wynikiem każdego polecenia jest obiekt określonego typu. Dodatkowo wszystkie funkcje dostępne przez API systemu są możliwe do wywołania z poziomu PowerShella. Dzięki swojej uniwersalności oraz nowoczesnym narzędziom interpreter ten zapewnia spójny oraz jasny mechanizm zarządzania, oparty na wierszu poleceń i niewymagający od użytkownika dużej wiedzy programistycznej.
Książka "Windows PowerShell. Podstawy" zawiera dokładny opis innowacyjnej architektury PowerShella, zasad pisania skryptów oraz możliwości korzystania z podstawowych interfejsów systemowych: COM, WMI, ADSI i ADO.NET, a także obszerny zbiór opisów rozwiązań konkretnych zadań administracyjnych. Korzystając z tego przewodnika, poznasz funkcje i narzędzia PowerShella. Nauczysz się również korzystać z obiektowego potoku danych i zarządzać procesami, dziennikami zdarzeń oraz wpisami rejestru. Dzięki zawartej tu wiedzy z pewnością usprawnisz i zautomatyzujesz wszelkie czasochłonne zadania administracyjne, by móc swobodnie stosować PowerShell jako podstawową konsolę do codziennej pracy.
* Aplety poleceń
* Przetwarzanie potokowe
* Potoki danych
* Uniwersalny model nawigacji
* Definiowanie dysków
* Język skryptów PowerShella
* Tablice asocjacyjne
* Praca ze skryptami
* Różnicowanie reakcji na błędy
* Biblioteki klas
* Narzędzia PowerShella
* Zarządzanie użytkownikami i grupami w Active Directory
* Bazy danych
* Zaawansowane operacje dostępu do danych
PowerShell skróci czas Twojej pracy!
Naucz się łączyć największe zalety języków oraz technik programowania
i twórz interaktywne strony internetowe
* Jak unikać typowych błędów i sprawnie rozwiązywać problemy programistyczne?
* Jak połączyć zalety HTML, XML i PHP dla uzyskania pożądanych efektów?
* Jak tworzyć aplikacje wyposażone w aktywny interfejs użytkownika?
Statyczne strony WWW to dziś już przeszłość. Powszechnie dostępne narzędzia dają programistom prawie nieograniczone możliwości w zakresie tworzenia interaktywnych witryn internetowych, wzbogaconych o najróżniejsze efekty wizualne, animacje oraz wbudowane narzędzia pomocnicze. Największą popularność zdobyły sobie narzędzia z kategorii open source — z powodu ich minimalnego kosztu oraz niezwykle dużych zasobów, dostępnych za pośrednictwem Internetu. Z tej książki dowiesz się, jak tworzyć bogate i interaktywne strony WWW, łącząc rozmaite techniki i korzystając z różnych języków.
Książka "Ajax, JavaScript i PHP. Intensywny trening" poprowadzi Cię krok po kroku po podstawowych zasadach programowania w językach JavaScript, PHP i HTML oraz technologiach programowania. Dzięki temu podręcznikowi dowiesz się m.in., jak wykorzystywać dostępne biblioteki ajaksowe do implementowania i ulepszania podstawowych mechanizmów aplikacji. Szybko nauczysz się tworzyć interaktywne strony WWW, zarówno za pomocą technologii serwerowych, jak i technik oraz narzędzi umiejscowionych po stronie klienckiej, a także ich kombinacji.
* Tworzenie stron WWW w języku HTML
* Stylizacja stron za pomocą arkuszy CSS
* Tworzenie skryptów w języku JavaScript
* Wbudowanie skryptu w stronę WWW
* Obiektowy model dokumentu (DOM)
* Obiekty String
* Instrukcje warunkowe i pętle
* Funkcje wbudowane i biblioteki
* Konstruowanie aplikacji ajaksowych
* Zmienne w języku PHP
* Funkcje liczbowe, łańcuchy i tabele
* Kontrola przepływu sterowania
* Usługi webowe oraz protokoły REST i SOAP
Łącz, kompiluj, dobieraj — niech Twoje strony WWW zrobią wrażenie!
Poznaj narzędzia programu PowerPoint i twórz wyjątkowe prezentacje!
* Jak stworzyć profesjonalną prezentację na każdą okazję?
* Jak modyfikować grafikę SmartArt?
* Jak korzystać z programu Clip Organizer i biblioteki slajdów?
Z pewnością wiesz, do czego służy program PowerPoint, lecz jeśli jeszcze nie potrafisz z niego korzystać, a musisz szybko przygotować profesjonalną prezentację, ta książka jest właśnie dla Ciebie! Znajdziesz tu opis ostatniej wersji programu — PowerPoint 2007. Umożliwia ona stworzenie zaawansowanej i bogatej prezentacji, wyposażonej w dźwięk, fotografie i animacje filmowe. Nowy PowerPoint pozwala także na bezpieczne udostępnianie Twojej prezentacji wszystkim zainteresowanym.
Książka "PowerPoint 2007 PL. Seria praktyk" to bogato ilustrowany, a przy tym prawdziwie intuicyjny podręcznik, dzięki któremu każdy nauczy się sprawnie korzystać z tej aplikacji. Kolor i zrzuty ekranowe ilustrujące kolejne informacje, jak również klarowne i zrozumiałe instrukcje sprawiają, że nauka staje się niezwykle prosta. Dzięki tej książce poznasz wszystkie niezbędne narzędzia PowerPointa i ciekawe funkcje tego programu. Dowiesz się, jak zastosować w swojej prezentacji grafiki SmartArt oraz zaawansowane układy slajdów, a także w jaki sposób korzystać z galerii stylów czy biblioteki slajdów.
* Tworzenie prezentacji
* Praca z tekstem
* Grafika i linie
* Konwersja na grafikę SmartArt
* Tabele i wykresy
* Używanie Excela 2007 — kopiowanie i wstawianie tabel
* Wzbogacanie prezentacji — animacje
* Multimedia
* Dodawanie filmów i dźwięku
* Tworzenie albumów
* Pokaz slajdów
* Nagrywanie narracji
* Udostępnianie prezentacji
* Bezpieczeństwo
PowerPoint jest dla każdego!
Poznaj narzędzia oraz funkcje Excela i z łatwością wykorzystuj tę wiedzę w pracy
* Jak tworzyć skoroszyty i wykresy?
* Jak zarządzać danymi w arkuszach?
* Jak szacować formuły?
Na samo brzmienie słowa "Excel" reagujesz paniką? Uważasz, że to bardzo skomplikowany i trudny w obsłudze program? Świetnie! Ta książka została napisana właśnie z myślą o Tobie! Podręcznik, który trzymasz w rękach, stanowi namacalny dowód na to, że Excel 2007 może być prosty, a nauka jego obsługi bardzo przyjemna! Choć trudno Ci w tej chwili w to uwierzyć, aplikacja ta oferuje cale spektrum nowoczesnych, a przy tym przyjaznych i intuicyjnych narzędzi oraz funkcji, dzięki którym znacznie usprawnisz i przyspieszysz swoją pracę. Naprawdę warto je poznać!
Książkę "Excel 2007 PL. Seria praktyk" przygotowano w taki sposób, aby każdy mógł nauczyć się korzystać z narzędzi Excela, tworzyć odpowiednie arkusze oraz wykonywać na nich praktyczne operacje. Wszystkie porady i instrukcje napisane zostały prostym, zrozumiałym językiem. Dzięki temu szybko opanujesz sposoby zarządzania danymi czy szacowania formuł w tym programie. Wszystkie omawiane zagadnienia zilustrowane są ułatwiającymi zrozumienie zrzutami ekranowymi, a kolorowy druk znacznie uprzyjemni Ci korzystanie z książki. Wystarczy ją przeczytać, a poznasz Excela w stopniu pozwalającym Ci na swobodną pracę w tym programie. Na co zatem czekasz? Przed Tobą nauka takich zagadnień, jak:
* Tworzenie skoroszytu
* Wprowadzanie danych do arkusza i zarządzanie nimi
* Formuły i funkcje
* Tabele i wykresy
* Konwersja tabeli do postaci zakresu
* Zaawansowane funkcje
* Szacowanie formuł
* Zarządzanie Excelem
* Makra
* Szablony i scenariusze
* Łącza i odwołania
* Stosowanie aktualizacji
Najprostszy i najprzyjemniejszy sposób na poznanie Excela!
Poznaj praktyczne możliwości programu Access 2007!
* Jak właściwie zaprojektować bazę danych?
* Jak korzystać z szablonów?
* Jak tworzyć tabele i definiować relacje między nimi?
Wbrew pozorom nie trzeba być specjalistą, żeby korzystać z Accessa! Jest to program wyjątkowo przyjazny dla użytkownika, umożliwiający tworzenie baz danych i zarządzanie nimi bez potrzeby dogłębnego poznawania języka SQL oraz skomplikowanych środowisk serwerowych. Aplikacja pozwala na zapisywanie danych z wykorzystaniem formularzy, kierowanie zapytań do bazy, a także dzielenie danych ze współpracownikami za pośrednictwem sieci komputerowej.
Książka "Access 2007 PL. Seria praktyk" zawiera zwięzły i czytelny opis wszystkich najważniejszych funkcji tego programu, a także konkretne przykłady i jasne instrukcje zastosowania narzędzi Accessa. Kolorowe strony pozwalają na szybkie odnalezienie interesujących Cię zagadnień. Dzięki temu podręcznikowi poznasz podstawowe zasady tworzenia dobrego projektu bazy danych oraz jej zaawansowane możliwości. Nauczysz się tworzyć tabele, formularze i raporty, a także korzystać z kluczy podstawowych i obcych. Bez problemu zbudujesz taką bazę danych, która pozwoli Ci sprawnie zarządzać informacjami.
* Personalizacja Accessa 2007
* Projektowanie baz danych
* Relacyjne bazy danych
* Klucze podstawowe i obce
* Tworzenie tabel
* Korzystanie z typów danych
* Definiowanie relacji
* Kwerendy
* Korzystanie z SQL
* Tworzenie i dostrajanie formularzy
* Tworzenie raportów
* Współdzielenie Accessa
Naucz się korzystać z Accessa — zachwycą Cię jego możliwości!
Odkryj bogactwo funkcji Worda!
Jak poprawnie formatować i uatrakcyjniać dokumenty?
Chcesz zacząć sprawnie tworzyć w programie Word dokumenty o profesjonalnym wyglądzie? A może tak dobrze go już znasz, że wątpisz, by skrywał przed Tobą jeszcze jakiekolwiek tajemnice? Tak czy inaczej warto opanować wszystkie potężne możliwości najpopularniejszego edytora tekstów, różne sposoby pracy z nim i metody tworzenia dokumentów tekstowych. Uzbrojony w taką wiedzę, z pewnością będziesz pracował szybciej i sprawniej.
Książka "Word 2007 PL. Seria praktyk" jest graficznym przewodnikiem po najnowszej wersji Worda i zawiera dokładny opis jego funkcji podstawowych oraz zaawansowanych — począwszy od tworzenia i formatowania tekstów, a na złożonych makrach skończywszy. Wszystko to przedstawione zostało za pomocą przejrzystych, kolorowych i szczegółowych instrukcji oraz praktycznych przykładów. Dzięki temu podręcznikowi poznasz całe spektrum narzędzi Worda i udoskonalisz swoją pracę z tym programem.
* Narzędzia główne
* Formatowanie tekstu
* Szybkie style
* Praca z dokumentem
* Drukowanie i publikowanie
* Konwersja do formatu PDF
* Biblioteka ClipArt i SmartArt
* Hiperłącza i zakładki
* Równania
* Zaawansowane funkcje — podpis cyfrowy
* Makra
Opanuj wszystkie narzędzia Worda i ciesz się swobodą tworzenia dokumentów!
Serwisy społecznościowe. Budowa, administracja i moderacjaWydawnictwo Helion
Dołącz do kreatorów nowych trendów! Stwórz własny serwis społecznościowy!
* Pierwsze kroki w roli twórcy serwisu — rodzaje stron, prawo i reklama
* Skrypty, instalacja i administracja — PHPizabi, Elgg, Dolphin, Joomla!
* ABC moderatora i użytkownika — regulamin, trolle, zakres ingerencji
Serwisy społecznościowe są bodaj najszybciej rozwijającą się dziś częścią internetu. Nie sposób przecenić ich roli społecznej i opiniotwórczej. Liczba użytkowników i ich poczucie wspólnoty decydują o sile i prężności tych serwisów. W każdej chwili możesz przyłączyć się do któregoś z nich. Jednak znacznie więcej radości sprawiłoby Ci na pewno prowadzenie własnego serwisu, wokół którego skupiałaby się cała społeczność osób o zainteresowaniach podobnych do Twoich.
W książce "Serwisy społecznościowe. Budowa, administracja i moderacja" znajdziesz wszelkie informacje dotyczące tworzenia i obsługi serwisu społecznościowego. Opisano w niej początki tego zjawiska społecznego, podstawy jego działania, rozmaite odmiany serwisów, wszelkie kwestie prawne i techniczne. Niezależnie od tego, czy szukasz inspiracji odnośnie treści umieszczanych w serwisie, czy chciałbyś dowiedzieć się, jak rozwiązać konkretne problemy z konfiguracją, rejestracją, wyborem mechanizmu działania czy wyglądu Twojego serwisu, autorzy służą Ci rzetelną wiedzą, wskazówkami i podpowiedziami. Oprócz tego wprowadzą Cię w kwestie związane z bezpieczeństwem w sieci, rolą moderatora i rozwiązywaniem problemów z użytkownikami.
* Społeczności internetowe
* Serwisy społecznościowe (historia, rodzaje, reklama)
* Regulacje prawne
* Wybór domeny i hostingu
* Niezbędne narzędzia (klient FTP, edytory CSS i tekstowe)
* Serwis społecznościowy a forum dyskusyjne
* Bezpieczeństwo serwisu
* Skrypty (PHPizabi, Elgg, Dolphin, Joomla!, BuddyPress, Joovili, SocialEngine i wiele innych)
* Online-Community-Building
* Skrypty do budowy serwisu wideo (ClipBucket Lite, Clipshare, ClipHouse i wiele innych)
* Rola moderatora
* Social shopping
Sprawdź, jak wiele satysfakcji daje własny serwis społecznościowy!
AutoCAD to program do komputerowego wspomagania projektowania, który od lat wyznacza standardy na rynku takich aplikacji. Z jego możliwości korzystają projektanci różnych branż, a ogromna liczba bibliotek, modułów i nakładek sprawia, że realizacja nawet najbardziej złożonych projektów przebiega szybko i sprawnie. Każda kolejna wersja AutoCAD-a jest bardziej rozbudowana. W wersji 2008 autorzy aplikacji zadbali o optymalizację znanych już użytkownikom narzędzi i zwiększenie produktywności pracy. Zmodernizowany interfejs użytkownika oraz nowe możliwości docenią nie tylko profesjonaliści, ale również ci, którzy stawiają pierwsze kroki w świecie komputerowego wspomagania projektowania.
Książka "AutoCAD 2008 i 2008 PL" to wyczerpujące omówienie najnowszej edycji tej aplikacji. Każdy użytkownik AutoCAD-a, niezależnie od stopnia zaawansowania, znajdzie w niej interesujące informacje. Czytając tę książkę, nauczysz się tworzyć i modyfikować rysunki, wymiarować je, korzystać z warstw, bloków i stylów oraz drukować projekty. Poznasz zasady modelowania bryłowego, tworzenia szablonów oraz rysowania w trybie aksonometrycznym. Każde z narzędzi dostępnych w aplikacji jest dokładnie omówione, a ilustrowane przykłady ułatwiają poznanie ich w praktyce.
* Interfejs użytkownika, menu i paski narzędzi
* Praca z dokumentami
* Układy współrzędnych
* Tworzenie podstawowych obiektów i definiowanie ich właściwości
* Napisy i tabelki
* Rysowanie precyzyjne
* Rysunek aksonometryczny
* Kreskowanie
* Naprawianie uszkodzonych rysunków
* Techniki wymiarowania, modyfikowanie wymiarów i style wymiarowe
* Modelowanie 3D i bryły ACIS
Poznaj najnowszą wersję narzędzia, które zrewolucjonizowało pracę projektantów na całym świecie.
Zobacz, jakie to proste — naucz się tworzyć bazy danych!
* Jak tworzyć formularze i raporty?
* Jak modyfikować strukturę tabel?
* Jak stosować mechanizmy wymiany danych?
Współczesny świat wymusza na przedsiębiorstwach gromadzenie oraz przetwarzanie ogromnej ilości informacji. To sprawia, że muszą one dysponować wydajnymi i sprawnymi bazami danych. Aby zbudować taki system zarządzania danymi, niezbędne są odpowiednie narzędzia — jednym z nich jest program MS Access. Ta aplikacja przede wszystkim pozwala na łatwą kontrolę poprawności tworzonych projektów oraz zapewnia integrację narzędzi służących do tworzenia struktury relacyjnej. Dba także o zgodność tych narzędzi ze standardem języka zapytań SQL, wykorzystywanym do tworzenia i modyfikowania baz danych oraz operowania na zgromadzonych w nich informacjach.
Książka „Bazy danych. Pierwsze starcie” stanowi doskonałe wprowadzenie w tematykę tworzenia baz danych. Zawiera wszystkie potrzebne informacje, podane w prosty i przejrzysty sposób. Ten podręcznik przyda się zarówno studentom kierunków informatycznych, jak i wszystkim tym, którzy chcą zdobyć wiedzę o nowoczesnych metodach budowania takich baz. Stąd dowiesz się m.in., jak wykorzystywać język zapytań SQL, w jaki sposób tworzyć tabele, formularze i raporty oraz stosować mechanizmy wymiany danych, a także na czym polega filtrowanie i sortowanie w zapytaniach. Zdobędziesz wiedzę i umiejętności wystarczające do samodzielnego zbudowania wydajnej bazy danych i sprawnego nią zarządzania.
* Projektowanie bazy danych — narzędzia wizualne
* Tworzenie formularzy i raportów
* Strukturalny język zapytań SQL w wersji MS JetSQL
* Składnia podstawowa
* Unia — koniunkcja zbiorów
* Grupowanie i funkcje agregujące
* Zastosowanie języka SQL z poziomu formularzy
* Mechanizmy wymiany danych
* Obiekty: DAO, RDO, ADO
* Zastosowanie mechanizmów wymiany danych przy tworzeniu aplikacji
Stwórz własną, niezawodną bazę danych!
Wkrocz w świat projektowania 3D
* Jak definiować parametry projektu?
* W jaki sposób korzystać z narzędzi projektowych?
* Jak generować dokumentację techniczną?
Inventor, opracowany i sprzedawany przez firmę Autodesk, to program typu CAD, pozwalający na zamodelowanie projektowanego urządzenia lub elementu w postaci bryły trójwymiarowej. W oparciu o tak zamodelowaną bryłę Inventor umożliwia wygenerowanie pełnej dokumentacji projektowej — rysunków wykonawczych i złożeniowych, wykazu części i innych. Aplikacja pozwala także na przeprowadzenie symulacji i analizy działania projektowanego urządzenia.
"Inventor. Pierwsze kroki " to podręcznik dla wszystkich osób, które chcą poznać możliwości tej aplikacji i wykorzystać je w swojej pracy. Książka opisuje proces instalacji i konfiguracji programu oraz definiowania parametrów projektu. Pokazuje także kolejne kroki jego realizacji. Przeczytasz w niej o tworzeniu szkiców, definiowaniu wiązań, generowaniu modeli bryłowych i tworzeniu zespołów. Dowiesz się także, w jaki sposób wygenerować dokumentację techniczną w oparciu o gotowy model oraz jak zaprezentować elementy projektu w postaci animacji trójwymiarowej.
* Instalacja Inventora
* Konfiguracja interfejsu użytkownika
* Praca z oknami dialogowymi
* Tworzenie szkiców i wiązań
* Edycja obiektów graficznych
* Tworzenie brył trójwymiarowych
* Łączenie elementów w zespoły
* Tworzenie dokumentacji technicznej
* Prezentacja zespołów
Zrealizuj swoje wizje za pomocą Inventora!
Poznaj nowoczesne technologie zarządzania bazami danych
* Jak zainstalować i skonfigurować SQL Server 2008?
* W jaki sposób monitorować wydajność i bezpieczeństwo serwera bazy danych?
* Jak tworzyć oprogramowanie współpracujące z SQL Serverem?
System zarządzania bazami danych MS SQL Server zyskał sobie zasłużoną renomę wśród projektantów baz danych i programistów. Stabilna i wydajna platforma, dostępna w kilku edycjach, różniących się możliwościami i zastosowaniami, wykorzystywana jest w aplikacjach biznesowych, portalach internetowych i aplikacjach mobilnych. Jej najnowsza wersja, oznaczona symbolem 2008, to potężna platforma do zarządzania danymi, umożliwiająca nie tylko przechowywanie ich w tabelach, ale także przetwarzanie, analizowanie, udostępnianie i zabezpieczanie. Pozwala ona także na składowanie danych nierelacyjnych — obiektów binarnych i danych geograficznych.
Książka „Serwer SQL 2008. Administracja i programowanie” zawiera szczegółowe omówienie możliwości najnowszej wersji tej platformy bazodanowej. Zarówno administratorzy, jak i programiści znajdą w niej wiele przydatnych informacji. Opisano w niej poszczególne edycje SQL Servera 2008, sposób ich instalacji, konfiguracji i administrowania, techniki optymalizacji wydajności oraz zabezpieczania i analizowania danych. Dzięki niej dowiesz się, jakie nowe funkcje wprowadzono w wersji 2008, jak korzystać z języka T-SQL i przechowywać dane nierelacyjne. Przeczytasz także o integracji z platformą CLR oraz korzystaniu z technologii SOA.
* Instalacja SQL Servera 2008
* Administrowanie serwerem bazy danych
* Optymalizacja dostępności i wydajności
* Nowe funkcje SQL Servera 2008
* Monitorowania pracy serwera
* Zabezpieczanie danych
* Programowanie w T-SQL
* Nierelacyjne typy danych
* Korzystanie z dokumentów XML
* Praca z SQL Server Compact Edition
Wykorzystaj w praktyce możliwości najnowszej wersji platformy bazodanowej SQL Server.
Dowiedz się więcej o działaniu USB i poznaj metody programowania transmisji danych
* W jaki sposób odbywa się transfer danych?
* Jak odblokować urządzenia do transmisji?
* Na czym polega programowanie obiektowe transmisji USB?
USB (skrót od ang. Universal Serial Bus — uniwersalna magistrala szeregowa) to rodzaj bardzo praktycznego portu komunikacyjnego, dzięki któremu możliwe jest podłączanie do komputera wielu różnych urządzeń, takich jak mysz, kamera, aparat fotograficzny, telefon komórkowy, modem, skaner, przenośna pamięć. Podłączone w ten sposób urządzenia są od razu wykrywane i rozpoznawane przez system, dzięki czemu instalacja sterowników i konfiguracja sprzętu odbywają się zwykle automatycznie.
Książka „USB. Praktyczne programowanie z Windows API w C++” w zwięzły sposób przedstawia wszelkie zagadnienia, dotyczące użytkowania i programowania transmisji USB. Korzystając z tego podręcznika, poznasz nie tylko teoretyczne podstawy działania USB, ale także zdobędziesz praktyczne umiejętności w tym zakresie. Książka zawiera bowiem zarówno konkretne przykłady, jak i ćwiczenia do samodzielnego wykonania dla wszystkich, którzy chcą zyskać wiedzę na zaawansowanym poziomie. Dowiesz się między innymi, jakie są rodzaje transferów danych i transakcji USB, za co odpowiadają komponenty i jak wykorzystać wzorce projektowe. Zrozumiesz także metody projektowania obiektowego oraz implementacji oprogramowania sterującego łączem USB.
* Środowisko fizyczne i sygnałowe USB
* Klasy instalacji urządzeń
* Rejestr systemowy
* Transmisja danych
* Struktura systemu USB
* Detekcja i identyfikacja urządzeń
* Odczyt i zapis danych w formie raportu
* Programowanie obiektowe transmisji USB
* Wewnętrzne struktury danych
* Programy wielowątkowe
* Konwertery USB
Tu znajdziesz wszystko o działaniu USB i możliwościach jego wykorzystania!
1. IDZ DO
PRZYK£ADOWY ROZDZIA£
SPIS TRE CI Efektywne programowanie
w jêzyku Java
KATALOG KSI¥¯EK
Autor: Joshua Bloch
KATALOG ONLINE T³umaczenie: Pawe³ Gonera
ISBN: 83-7197-989-4
Tytu³ orygina³u: Effective Java Programming Language
ZAMÓW DRUKOWANY KATALOG Format: B5, stron: 214
Przyk³ady na ftp: 48 kB
TWÓJ KOSZYK
DODAJ DO KOSZYKA Java to wspania³e narzêdzie w rêkach programisty. Ale nawet najlepsze narzêdzie mo¿e
zostaæ le u¿yte. Istnieje wiele ksi¹¿ek, które opisuj¹ ten jêzyk programowania
skupiaj¹c siê na przedstawieniu jego sk³adni. Ta ksi¹¿ka jest zupe³nie inna. Adresowana
CENNIK I INFORMACJE jest do osób znaj¹cych ju¿ Javê i przedstawia praktyczne zasady pisania efektywnego,
poprawnego kodu.
ZAMÓW INFORMACJE Ka¿da wskazówka omówiona jest w osobnym podrozdziale opisuj¹cym dany problem,
O NOWO CIACH przyk³ady poprawnego (i b³êdnego!) kodu, a tak¿e historie zaczerpniête z bogatego
do wiadczenia autora. Ta ksi¹¿ka zapozna Ciê z idiomami w³a ciwymi jêzykowi Java
ZAMÓW CENNIK oraz z istotnymi z praktycznego punktu widzenia wzorcami projektowymi.
CZYTELNIA
FRAGMENTY KSI¥¯EK ONLINE
Wydawnictwo Helion
ul. Chopina 6
44-100 Gliwice
tel. (32)230-98-63
e-mail: helion@helion.pl
2. Spis treści
Słowo wstępne .................................................................................. 7
Przedmowa........................................................................................ 9
Wprowadzenie ................................................................................. 11
Rozdział 1. Tworzenie i usuwanie obiektów ........................................................ 15
Temat 1. Tworzenie statycznych metod factory zamiast konstruktorów..........................15
Temat 2. Wymuszanie właściwości singleton za pomocą prywatnego konstruktora .......18
Temat 3. Wykorzystanie konstruktora prywatnego
w celu uniemo liwienia utworzenia obiektu ..................................................................20
Temat 4. Unikanie powielania obiektów...........................................................................21
Temat 5. Usuwanie niepotrzebnych referencji do obiektów.............................................24
Temat 6. Unikanie finalizatorów.......................................................................................27
Rozdział 2. Metody wspólne dla wszystkich obiektów......................................... 31
Temat 7. Zachowanie zało eń w trakcie przedefiniowywania metody equals .................31
Temat 8. Przedefiniowywanie metody hashCode wraz z equals ......................................39
Temat 9. Przedefiniowywanie metody toString................................................................44
Temat 10. Rozsądne przedefiniowywanie metody clone..................................................46
Temat 11. Implementacja interfejsu Comparable .............................................................53
Rozdział 3. Klasy i interfejsy .............................................................................. 59
Temat 12. Ograniczanie dostępności klas i ich składników..............................................59
Temat 13. Zapewnianie niezmienności obiektu................................................................62
Temat 14. Zastępowanie dziedziczenia kompozycją ........................................................69
Temat 15. Projektowanie i dokumentowanie klas przeznaczonych do dziedziczenia......74
Temat 16. Stosowanie interfejsów zamiast klas abstrakcyjnych ......................................78
Temat 17. Wykorzystanie interfejsów jedynie do definiowania typów............................83
Temat 18. Zalety stosowania statycznych klas składowych .............................................84
Rozdział 4. Odpowiedniki konstrukcji języka C ................................................... 89
Temat 19. Zastępowanie struktur klasami.........................................................................89
Temat 20. Zamiana unii na hierarchię klas .......................................................................91
Temat 21. Zastępowanie konstrukcji enum za pomocą klas.............................................94
Temat 22. Zastępowanie wskaźników do funkcji za pomocą klas i interfejsów...................103
Rozdział 5. Metody.......................................................................................... 107
Temat 23. Sprawdzanie poprawności parametrów .........................................................107
Temat 24. Defensywne kopiowanie ................................................................................109
Temat 25. Projektowanie sygnatur metod.......................................................................112
Temat 26. Rozsądne korzystanie z przecią ania.............................................................114
Temat 27. Zwracanie pustych tablic zamiast wartości null ............................................118
Temat 28. Tworzenie komentarzy dokumentujących
dla wszystkich udostępnianych elementów API...........................................................120
3. 6 Efektywne programowanie w języku Java
Rozdział 6. Programowanie.............................................................................. 125
Temat 29. Ograniczanie zasięgu zmiennych lokalnych ..................................................125
Temat 30. Poznanie i wykorzystywanie bibliotek ..........................................................128
Temat 31. Unikanie typów float i double, gdy potrzebne są dokładne wyniki...............131
Temat 32. Unikanie typu String, gdy istnieją bardziej odpowiednie typy......................133
Temat 33. Problemy z wydajnością przy łączeniu ciągów znaków................................135
Temat 34. Odwoływanie się do obiektów poprzez interfejsy .........................................136
Temat 35. Stosowanie interfejsów zamiast refleksyjności..............................................137
Temat 36. Rozwa ne wykorzystywanie metod natywnych ............................................140
Temat 37. Unikanie optymalizacji ..................................................................................141
Temat 38. Wykorzystanie ogólnie przyjętych konwencji nazewnictwa .........................144
Rozdział 7. Wyjątki ......................................................................................... 147
Temat 39. Wykorzystanie wyjątków w sytuacjach nadzwyczajnych .............................147
Temat 40. Stosowanie wyjątków przechwytywalnych i wyjątków czasu wykonania.......149
Temat 41. Unikanie niepotrzebnych wyjątków przechwytywalnych .............................151
Temat 42. Wykorzystanie wyjątków standardowych .....................................................153
Temat 43. Zgłaszanie wyjątków właściwych dla abstrakcji ...........................................155
Temat 44. Dokumentowanie wyjątków zgłaszanych przez metodę ...............................157
Temat 45. Udostępnianie danych o błędzie ....................................................................158
Temat 46. Zachowanie atomowości w przypadku błędu ................................................159
Temat 47. Nie ignoruj wyjątków.....................................................................................161
Rozdział 8. Wątki ............................................................................................ 163
Temat 48. Synchronizacja dostępu do wspólnych modyfikowalnych danych................163
Temat 49. Unikanie nadmiarowej synchronizacji...........................................................168
Temat 50. Nigdy nie wywołuj wait poza pętlą................................................................172
Temat 51. Unikanie korzystania z systemowego szeregowania wątków........................174
Temat 52. Dokumentowanie bezpieczeństwa dla wątków..............................................177
Temat 53. Unikanie grup wątków ...................................................................................180
Rozdział 9. Serializacja.................................................................................... 181
Temat 54. Implementowanie interfejsu Serializable.......................................................181
Temat 55. Wykorzystanie własnej postaci serializowanej..............................................185
Temat 56. Defensywne tworzenie metody readObject ...................................................191
Temat 57. Tworzenie metody readResolve.....................................................................196
Dodatek A Zasoby .......................................................................................... 199
Skorowidz...................................................................................... 203
4. Rozdział 4.
Odpowiedniki konstrukcji
języka C
Język programowania Java posiada wiele podobieństw do języka C, ale kilka jego kon-
strukcji zostało pominiętych. W większości przypadków oczywiste jest, dlaczego dana
konstrukcja została pominięta i w jaki sposób mo na sobie bez niej radzić. W rozdziale
tym zaproponujemy zamienniki dla kilku pominiętych konstrukcji języka C, których
zastąpienie nie jest tak oczywiste.
Najczęstszym wątkiem, który przewija się przez cały ten rozdział, jest twierdzenie, e
wszystkie pominięte konstrukcje były zorientowane na dane, a nie zorientowane obiek-
towo. Język programowania Java zawiera bardzo wydajny system typów i propono-
wane zamienniki w pełni korzystają z tego systemu w celu zapewnienia wy szego
stopnia abstrakcji ni konstrukcje języka C, które są przez nie zastępowane.
Nawet je eli zdecydujesz się na pominięcie tego rozdziału, warto zapoznać się z tema-
tem 21., poświęconym typowi wyliczeniowemu, który zastępuje konstrukcję GPWO, dostęp-
ną w języku C. Wzorzec ten nie był powszechnie znany w czasie pisania tej ksią ki,
a posiada znaczną przewagę nad obecnie stosowanymi rozwiązaniami tego problemu.
Temat 19. Zastępowanie struktur klasami
Konstrukcja UVTWEV języka C została usunięta z języka Java, poniewa za pomocą klasy
mo na zrealizować wszystko to, co potrafi struktura, a nawet więcej. Struktura jedy-
nie grupuje kilka pól danych w jeden obiekt — klasa zawiera operacje wykonywane na
wynikowym obiekcie i pozwala na ukrycie pól danych przed u ytkownikiem obiektu.
Inaczej mówiąc, klasa hermetyzuje dane w obiekcie i umo liwia dostęp do nich jedy-
nie za pomocą metod, co pozwala twórcy klasy na swobodną zmianę reprezentacji
danych w późniejszym czasie (temat 12.).
W czasie pierwszych pokazów języka Java niektórzy programiści korzystający z języka
C uwa ali, e klasy są zbyt obszerne, aby w pewnych sytuacjach zastąpić struktury.
5. 90 Efektywne programowanie w języku Java
Nie będziemy się zajmowali tym problemem. Zdegenerowane klasy składające się jedynie
z pól danych są pewnym przybli eniem struktur z języka C:
6CMKG FGIGPGTQYCPG MNCU[ PKG RQYKPP[ D[è RWDNKEPG
ENCUU 2QKPV ]
RWDNKE HNQCV Z
RWDNKE HNQCV [
_
Poniewa takie klasy pozwalają na dostęp do swoich pól, nie pozwalają na skorzysta-
nie z zalet hermetyzacji. Nie mo na zmienić reprezentacji danych w takiej klasie bez
zmiany API, nie mo na wymuszać adnych ograniczeń oraz nie mo na podejmować
dodatkowych zadań podczas modyfikacji pola. Ortodoksyjni programiści obiektowi
uwa ają, e takie klasy są zakazane i powinny zawsze być zastępowane klasami z polami
prywatnymi oraz publicznymi metodami je udostępniającymi:
*GTOGV[QYCPC MNCUC Q HWPMELCEJ UVTWMVWT[
ENCUU 2QKPV ]
RTKXCVG HNQCV Z
RTKXCVG HNQCV [
RWDNKE 2QKPV
HNQCV Z HNQCV [ ]
VJKUZ Z
VJKU[ [
_
RWDNKE HNQCV IGV:
]TGVWTP Z _
RWDNKE HNQCV IGV;
]TGVWTP [ _
RWDNKE HNQCV UGV:
]VJKUZ Z _
RWDNKE HNQCV UGV;
]VJKU[ [ _
_
Oczywiście twierdzenie to jest prawdziwe w odniesieniu do klas publicznych — je eli
klasa jest dostępna spoza swojego pakietu, rozwa ny programista powinien zabezpie-
czyć sobie mo liwość zmiany wewnętrznej reprezentacji danych. Je eli klasa publiczna
udostępnia swoje pola, nie ma mo liwości zmiany reprezentacji danych, poniewa kod
klientów, korzystający z klasy publicznej, mo e być ju rozesłany po całym świecie.
Je eli jednak klasa jest prywatna w ramach pakietu lub jest to prywatna klasa zagnie -
d ona, nie ma nic złego w bezpośrednim udostępnieniu pól danych — zakładając, e
naprawdę opisują abstrakcję definiowaną przez klasę. Podejście to generuje mniej kodu
ni wykorzystanie metod dostępowych, zarówno w definicji klasy, jak i w kodzie klientów
ją wykorzystujących. Poniewa kod klientów jest ściśle związany z wewnętrzną repre-
zentacją klasy, jest on ograniczony do pakietu, w którym klasa ta jest zdefiniowana.
W przypadku, gdy konieczna jest zmiana reprezentacji danych, mo liwe jest wpro-
wadzenie zmian bez konieczności zmiany kodu poza pakietem. W przypadku prywat-
nej klasy zagnie d onej zasięg zmian jest ograniczony do klasy nadrzędnej.
Kilka klas w bibliotekach języka Java nie dotrzymuje zalecenia, aby klasy publiczne nie
udostępniały bezpośrednio swoich pól. Przykładami takich klas są klasy 2QKPV i KOGPUKQP
z pakietu LCXCCYV. Przykłady te nie powinny być naśladowane — nale ałoby raczej
6. Rozdział 4. ♦ Odpowiedniki konstrukcji języka C 91
wskazywać je jako przykład negatywny. W temacie 37. opisany został przykład poka-
zujący, jak udostępnienie pól w klasie KOGPUKQP spowodowało problemy z wydajno-
ścią. Problemy te nie mogą zostać usunięte bez wpływania na kod klientów.
Temat 20. Zamiana unii na hierarchię klas
Konstrukcja języka C — WPKQP — jest najczęściej wykorzystywana do definiowania
struktur, umo liwiających przechowywanie więcej ni jednego typu danych. Struktura
taka zwykle posiada co najmniej dwa pola — unię i znacznik. Pole znacznika jest
zwykłym polem, wykorzystywanym do wskazywania aktualnego typu danych, prze-
chowywanego przez unię. Znacznik jest najczęściej typu wyliczeniowego (GPWO).
Struktura zawierająca unię i znacznik jest czasami nazywaną unią z dyskryminatorem.
Poni ej przedstawiamy przykład definicji typu UJCRGAV, zapisany w języku C. Jest to
unia z dyskryminatorem, reprezentująca prostokąt lub koło. Funkcja CTGC na podstawie
wskaźnika do struktury UJCRGAV zwraca pole figury lub , je eli struktura zawiera
nieprawidłowe dane.
15. 92 Efektywne programowanie w języku Java
Projektanci języka Java postanowili nie wprowadzać konstrukcji WPKQP, poniewa ist-
nieje du o lepszy mechanizm definiowania typów umo liwiających reprezentowanie
ró nych typów — dziedziczenie. Unie z dyskryminatorem są jedynie mało wydajną
imitacją hierarchii klas.
Aby zamienić unię z dyskryminatorem na hierarchię klas, nale y zdefiniować klasę
abstrakcyjną zawierającą metody abstrakcyjne dla ka dej operacji, której działanie
jest zale ne od wartości znacznika. We wcześniejszym przykładzie przedstawiona
była tylko jedna taka operacja — CTGC. Ta klasa abstrakcyjna staje się korzeniem hie-
rarchii klas. Je eli istnieją inne operacje, niezale ne od wartości znacznika, nale y
zdefiniować odpowiednie metody w klasie bazowej. Podobnie, je eli w unii z dyskrymi-
natorem istnieją pola danych poza znacznikiem i unią, reprezentujące typy danych
wspólne dla wszystkich typów, powinny być one dodane do klasy bazowej. W naszym
przykładzie nie było adnych składników niezale nych od typów.
Następnie dla ka dego typu reprezentowanego w unii z dyskryminatorem definiujemy
klasy, dziedziczące z klasy bazowej. W naszym przykładzie typami tymi są: koło i prosto-
kąt. W ka dej z klas podrzędnych nale y umieścić pola danych odpowiednie dla jej typu.
W naszym przykładzie dla koła jest to promień, a dla prostokąta długość i szerokość. Na
koniec definiujemy odpowiednie implementacje metod abstrakcyjnych z klasy bazowej.
Poni ej przedstawiamy hierarchię klas dla naszego przykładu unii z dyskryminatorem:
CDUVTCEV ENCUU 5JCRG ]
CDUVTCEV FQWDNG CTGC
_
ENCUU %KTENG GZVGPFU 5JCRG ]
HKPCN FQWDNG TCFKWU
%KTENG
FQWDNG TCFKWU ] VJKUTCFKWU TCFKWU _
FQWDNG CTGC
] TGVWTP /CVJ2+
18. YKFVJ _
_
Hierarchia klas posiada wiele zalet w porównaniu z unią z dyskryminatorem. Najwa -
niejszą z nich jest ta, e hierarchia klas zapewnia kontrolę typów. W naszym przykładzie
ka dy obiekt 5JCRG mo e być jedynie prawidłowym obiektem %KTENG lub 4GEVCPING.
Bardzo prosto wygenerować strukturę UJCRGAV, która będzie całkowicie nieprzydatna,
poniewa połączenie pomiędzy znacznikiem i unią nie jest wymuszane przez język
programowania. Je eli znacznik wskazuje, e UJCRGAV reprezentuje prostokąt, ale unia
19. Rozdział 4. ♦ Odpowiedniki konstrukcji języka C 93
została zainicjowana danymi koła, wszystko mo e się zdarzyć. Nawet, gdy unia z dys-
kryminatorem zostanie prawidłowo zainicjowana, mo liwe jest omyłkowe przekazanie
jej do funkcji nieodpowiedniej dla danej wartości znacznika.
Drugą zaletą hierarchii klas jest łatwość rozszerzania, nawet o wiele niezale nie działa-
jących części. Aby rozszerzyć hierarchię klas, wystarczy dodać nową kasę pochodną.
Je eli zapomnisz zdefiniować jednej z metod abstrakcyjnych, natychmiast wska e Ci
to kompilator. Aby rozbudować unię z dyskryminatorem, nale y mieć dostęp do kodu
źródłowego. Musisz dodać nową wartość do typu GPWO oraz nową gałąź do instrukcji
UYKVEJ w ka dej funkcji operującej na unii. Na koniec musisz skompilować kod. Je eli
w którejś funkcji zapomnisz dodać nowego przypadku, kompilator nie będzie w stanie
tego wykryć. Pozostaje umieszczenie w kodzie kontroli niespodziewanych wartości
znacznika i generowanie w takich sytuacjach komunikatów błędów.
Czwartą zaletą hierarchii klas jest mo liwość odwzorowania naturalnych relacji hierar-
chicznych pomiędzy typami, co pozwala na zwiększenie elastyczności i lepszej kontroli
typów w czasie kompilacji. Załó my, e do naszego oryginalnego przykładu chcemy
dodać obsługę kwadratów. W hierarchii klas mo emy odwzorować fakt, e kwadrat
jest specjalnym rodzajem prostokąta (zakładając, e oba są niezmienne):
ENCUU 5SWCTG GZVGPFU 4GEVCPING ]
5SWCTG
FQWDNG UKFG ]
UWRGT
UKFG UKFG
_
FQWDNG UKFG
]
TGVWTP NGPIVJ OQ G D[è TÎYPKG YKFVJ
_
_
Przedstawiona hierarchia klas nie jest jedynym rozwiązaniem naszego problemu. Hierar-
chia ta powstała po podjęciu kilku decyzji, o których warto wspomnieć. Klasy w hierar-
chii, poza 5SWCTG, udostępniają swoje pola, nie oferując metod dostępowych. W przy-
padku klas publicznych jest to nie do zaakceptowania, ale nam zale ało na zwięzłości
kodu (temat 19.). Klasy te są niezmienne. Czasami nie jest to najlepsze, jednak naj-
częściej właśnie takie rozwiązanie jest właściwe (temat 13.).
Poniewa język Java nie zawiera konstrukcji WPKQP, mo na uwa ać, e nie ma niebez-
pieczeństwa utworzenia unii z dyskryminatorem. Mo liwe jest jednak napisanie kodu,
który będzie posiadał te same wady. Je eli kiedykolwiek będziesz chciał napisać klasę
z polem znacznikowym, nale y pomyśleć o eliminacji pola znacznikowego przez mo-
dyfikację hierarchii klas.
Innym zastosowaniem konstrukcji WPKQP w języku C, całkowicie niezwiązanym z uniami
z dyskryminatorem, jest mo liwość oglądania wewnętrznej reprezentacji danych poprzez
umyślne omijanie systemu typów. Metoda ta demonstrowana jest przez poni szy fragment
kodu w języku C, który drukuje wewnętrzną postać liczby HNQCV w postaci szesnastkowej:
WPKQP ]
HNQCV H
KPV DKVU
20. 94 Efektywne programowanie w języku Java
_ UNGCG
UNGCGH G
24. Choć mo e być to u yteczne, szczególnie dla programistów systemowych, takie nieprze-
nośne zastosowanie nie ma odpowiednika w języku Java. Działanie takie nie mo e
być dopuszczalne w języku, który gwarantuje bezpieczeństwo typów i nieomal izoluje
programistów od wewnętrznej reprezentacji danych.
Pakiet LCXCNCPI zawiera metody pozwalające przekształcić liczby zmiennoprzecin-
kowe na ich bitową reprezentację, ale działanie tych metod jest bardzo dokładnie zde-
finiowane w celu zapewnienia ich przenośności. Poni szy fragment kodu jest luźnym
odpowiednikiem przedstawionego kodu w języku C, ale gwarantuje uzyskanie iden-
tycznych wyników bez względu na platformę, na której jest uruchomiony:
5[UVGOQWVRTKPVNP
+PVGIGTVQ*GZ5VTKPI
(NQCVHNQCV6Q+PV$KVU
GH
Temat 21. Zastępowanie konstrukcji enum
za pomocą klas
Konstrukcja GPWO równie nie została przeniesiona do języka Java. Konstrukcja ta słu y
do definiowania typu wyliczeniowego — typu, składającego się ze stałego zbioru
wartości. Niestety, konstrukcja ta nie jest zbyt zaawansowana. Definiuje ona tylko
zbiór nazwanych stałych typu KPVGIGT, nie zapewniając adnego mechanizmu kontroli
typów. W języku C mo na wykonać następujące wyra enia:
V[RGFGH GPWO ](7,+ 2+22+0 )4#00;A5/+6*_ CRRNGAV
30. ale takie jest nieprawidłowe:
QTCPIGAV Z
(7,+ 2+22+06'/2.'
Konstrukcja GPWO nie zawiera przestrzeni nazw dla tworzących ją stałych. Dlatego poni -
sza deklaracja, zawierająca u ytą ju nazwę, pozostaje w konflikcie z deklaracją typu
QTCPIGAV:
V[RGFGH GPWO ]$.11 59'#6 6'#45_ HNWKFAV
Typy definiowane za pomocą konstrukcji GPWO są niepewne. Dodanie stałych do takiego
typu bez ponownej kompilacji klientów powoduje nieprzewidywalne działanie, nie-
zale nie od tego, jak dokładnie są sprawdzane istniejące wartości stałych. Poszcze-
gólne zespoły nie mogą niezale nie dodawać stałych do tych typów, poniewa nowe
typy wyliczeniowe bardzo często są ze sobą w konflikcie. Konstrukcja GPWO nie zapew-
nia adnego mechanizmu, ułatwiającego zamianę stałych wyliczanych na ciągi znaków
lub przeglądanie stałych w typie.
31. Rozdział 4. ♦ Odpowiedniki konstrukcji języka C 95
Niestety, najczęściej spotykany sposób emulowania typu wyliczeniowego w języku Java
posiada wszystkie wady konstrukcji GPWO z języka C:
URQUÎD GOWNCELK GOWP C RQOQEæ KPV RTQDNGOCV[EP[
RWDNKE ENCUU 2NC[KPI%CTF ]
RWDNKE UVCVKE HKPCN KPV 57+6A%.7$5
RWDNKE UVCVKE HKPCN KPV 57+6A+#/105
RWDNKE UVCVKE HKPCN KPV 57+6A*'#465
RWDNKE UVCVKE HKPCN KPV 57+6A52#'5
_
Mo esz się równie spotkać z odmianą tego wzorca, wykorzystującą stałe typu 5VTKPI.
Wariant taki nigdy nie powinien być u ywany. Choć pozwala na bezpośrednie dru-
kowanie nazw stałych, mo e powodować obni enie wydajności, poniewa korzysta
z porównywania ciągów. Dodatkowo niedoświadczeni u ytkownicy mogą wbudować
stałe w kod zamiast korzystania z odpowiednich nazw pól. Je eli taka stała posiada
błąd (literówkę), to błąd ten nie będzie wykryty w czasie kompilacji i będzie powodował
powstanie błędów wykonania.
Na szczęście język Java pozwala na utworzenie innej metody emulacji typu GPWO, która
nie posiada wszystkich wad u ycia poprzedniej metody z wartościami KPV lub 5VTKPI,
a ponadto ma kilka dodatkowych zalet. Jest ona nazywana bezpiecznym typem wyli-
czeniowym. Typ ten nie jest niestety zbyt dobrze znany. Pomysł jest prosty — nale y
zdefiniować klasę, reprezentującą pojedynczy element typu wyliczeniowego, nie defi-
niując publicznego konstruktora. Zamiast tego nale y udostępnić publiczne pola sta-
tyczne typu HKPCN, po jednym dla ka dej ze stałych typu wyliczeniowego. Wzorzec ten
w najprostszej postaci wygląda następująco:
DGRKGEP[ V[R Y[NKEGPKQY[
RWDNKE ENCUU 5WKV ]
RTKXCVG HKPCN 5VTKPI PCOG
RTKXCVG 5WKV
5VTKPI PCOG ] VJKUPCOG PCOG _
RWDNKE 5VTKPI VQ5VTKPI
] TGVWTP PCOG _
RWDNKE UVCVKE HKPCN 5WKV %.7$5 PGY 5WKV
ENWDU
RWDNKE UVCVKE HKPCN 5WKV +#/105 PGY 5WKV
FKCOQPFU
RWDNKE UVCVKE HKPCN 5WKV *'#465 PGY 5WKV
JGCTVU
RWDNKE UVCVKE HKPCN 5WKV 52#'5 PGY 5WKV
URCFGU
_
Poniewa klienci nie mogą utworzyć obiektów tej klasy ani jej rozszerzać, nie mogą
istnieć inne obiekty tego typu poza udostępnianymi przez pola statyczne. Choć klasa
nie jest zadeklarowana jako HKPCN, nie mo na po niej dziedziczyć — konstruktor klasy
pochodnej musi wywołać konstruktor klasy bazowej, a on jest niedostępny.
Jak mo na się domyślić na podstawie nazwy, ten wzorzec pozwala na sprawdzanie
typów w czasie kompilacji. Je eli zadeklarujesz metodę z parametrem typu 5WKV, masz
pewność, e ka da referencja ró na od PWNN będzie prawidłowym obiektem, repre-
zentującym jedną ze stałych. Wszystkie próby przekazania obiektu o niewłaściwym
typie zostaną wykryte w czasie kompilacji, podobnie jak próby przypisania wyra enia
32. 96 Efektywne programowanie w języku Java
jednego typu wyliczeniowego do zmiennej innego typu. Mo na tworzyć wiele typów
wyliczeniowych z identycznie nazywającymi się stałymi, poniewa ka da klasa posiada
swoją przestrzeń nazw.
Do takiej reprezentacji typu wyliczeniowego mo na dodawać kolejne stałe i nie powo-
duje to konieczności rekompilacji klientów, poniewa publiczne statyczne pola, zawiera-
jące referencje do stałych, izolują klientów od klasy, realizującej typ wyliczeniowy. Same
stałe nie są wkompilowywane w kod klienta, tak jak często zdarza się to w przypadku
realizacji konstrukcji GPWO za pomocą rozwiązania, korzystającego z pól KPV lub 5VTKPI.
Poniewa przedstawiona realizacja typu wyliczeniowego jest zwykłą klasą, mo e ona
przedefiniować metodę VQ5VTKPI, co pozwoli na zmianę wartości zmiennych na postać
nadającą się do wydrukowania. Je eli jest to potrzebne, mo na równie zwracać komu-
nikaty w odpowiednim języku. Zwróć uwagę, e ciągi znaków są wykorzystywane jedy-
nie przez metodę VQ5VTKPI. Nie są u ywane do porównywania obiektów, poniewa
odziedziczona po klasie 1DLGEV metoda GSWCNU porównuje referencje do obiektów.
Mo na równie dodać do klasy implementującej typ wyliczeniowy dowolne metody,
jakie mogą być potrzebne. W naszej klasie 5WKV mo e przydać się metoda zwracająca
kolor lub rysunek, skojarzony z odpowiednią stałą. Klasa była początkowo prostą reali-
zacją typu wyliczeniowego i z czasem zaczęła się zamieniać w bogatą w funkcję abs-
trakcję opisywanego obiektu.
Poniewa do klasy implementującej typ wyliczeniowy mo na dodawać dowolne metody,
mo e ona implementować interfejsy. Na przykład załó my, e chcemy, aby nasza
klasa 5WKV implementowała interfejs %QORCTCDNG, co pozwoli klasom sortować karty
według koloru. Przedstawimy teraz modyfikację oryginalnego wzorca, która imple-
mentuje ten interfejs. Zmienna statyczna PGZV1TFKPCN u ywana jest do przypisywania
numeru kolejnego dla ka dego z tworzonych obiektów. Numery te są u ywane przez
metodę EQORCTG6Q do porządkowania obiektów.
6[R Y[NKEGPKQY[ PWOGTQYCP[
RWDNKE ENCUU 5WKV KORNGOGPVU %QORCTCDNG ]
RTKXCVG HKPCN 5VTKPI PCOG
0WOGT MQNGLP[ VYQTQPGIQ MQNQTW
RTKXCVG UVCVKE KPV PGZV1TFKPCN
2T[RKUCPKG PWOGTW MQNGLPGIQ FQ MQNQTW
RTKXCVG HKPCN KPV QTFKPCN PGZV1TFKPCN
RTKXCVG 5WKV
5VTKPI PCOG ] VJKUPCOG PCOG _
RWDNKE 5VTKPI VQ5VTKPI
] TGVWTP PCOG _
RWDNKE KPV EQORCTG6Q
1DLGEV Q ]
TGVWTP QTFKPCN
5WKVQQTFKPCN
_
RWDNKE UVCVKE HKPCN 5WKV %.7$5 PGY 5WKV
ENWDU
RWDNKE UVCVKE HKPCN 5WKV +#/105 PGY 5WKV
FKCOQPFU
RWDNKE UVCVKE HKPCN 5WKV *'#465 PGY 5WKV
JGCTVU
RWDNKE UVCVKE HKPCN 5WKV 52#'5 PGY 5WKV
URCFGU
_
33. Rozdział 4. ♦ Odpowiedniki konstrukcji języka C 97
Poniewa stałe typu wyliczeniowego są obiektami, mo na umieszczać je w kolekcjach.
Załó my na przykład, e chcemy w klasie 5WKV udostępnić niezmienną listę kolorów
w standardowym porządku. Wystarczy dodać do klasy deklarację dwóch klas pól.
RTKXCVG UVCVKE HKPCN 5WKV=? 24+8#6'A8#.7'5
] %.7$5 +#/105 *'#465 52#'5 _
RWDNKE UVCVKE HKPCN .KUV 8#.7'5
%QNNGEVKQPUWPOQFKHKCDNG.KUV
#TTC[UCU.KUV
24+8#6'A8#.7'5
W przeciwieństwie do najprostszej postaci typu wyliczeniowego klasy w wersji korzy-
stającej z numerów kolejnych mogą być serializowane (rozdział 9.) z zachowaniem
szczególnej ostro ności. Nie wystarczy dodać do deklaracji klasy klauzuli KORNGOGPVU
5GTKCNKCDNG. Wymagane jest równie utworzenie metody TGCF4GUQNXG (temat 57.).
RTKXCVG 1DLGEV TGCF4GUQNXG
VJTQYU 1DLGEV5VTGCO'ZEGRVKQP ]
TGVWTP 24+8#6'A8#.7'5=QTFKPCN? OKCPC PC RQUVCè MCPQPKEPæ
_
Metoda ta, wywołana automatycznie przez system serializacji, zabezpiecza przed powie-
laniem istniejących stałych, powstałych w procesie deserializacji. Zapewnia ona, e będzie
istniał tylko jeden obiekt dla ka dej stałej typu wyliczeniowego, co pozwala uniknąć
konieczności przedefiniowywania metody 1DLGEVGSWCNU. Bez tej gwarancji metoda
1DLGEVGSWCNU będzie zwracała nieprawidłowe wyniki, je eli będzie porównywała dwie
równe stałe, ale o ró nych kolejnych numerach. Zwróć uwagę, e metoda TGCF4G
UQNXG korzysta z tablicy 24+8#6'A8#.7'5, więc musisz zadeklarować tę tablicę, nawet
je eli nie chcesz udostępniać kolekcji 8#.7'5. Nale y równie zwrócić uwagę, e pole
PCOG nie jest wykorzystywane przez metodę TGCF4GUQNXG, więc jest ono nietrwałe i takie
powinno pozostać.
Wynikowa klasa jest jednak krucha — konstruktor dla dowolnej nowej wartości musi
występować po wszystkich istniejących wartościach, dzięki czemu zapewniamy, e
wszystkie serializowane wcześniej obiekty nie zmienią swoich wartości w trakcie dese-
rializacji. Dzieje się tak, poniewa postać serializowana stałych (temat 55.) opiera się
jedynie na ich kolejnych numerach. Je eli stała, będąca składnikiem typu wyliczenio-
wego, zmieni swój numer kolejny, stała o tym numerze poddana serializacji zmieni swoją
wartość podczas procesu deserializacji.
Mo e istnieć jedna lub więcej operacji skojarzonych z ka dą ze stałych, które są wyko-
rzystywane jedynie wewnątrz pakietu, zawierającego klasę realizującą typ wyliczeniowy.
Operacje takie najlepiej implementować jako metody prywatne w ramach pakietu. Ka da
stała typu wyliczeniowego zawiera ukrytą kolekcję operacji, pozwalających reagować
odpowiednio dla odpowiednich stałych.
Je eli klasa implementująca typ wyliczeniowy posiada metody, których działanie znacznie
się ró ni w zale ności od wartości stałej, powinieneś skorzystać z osobnych klas pry-
watnych lub anonimowych klas, zagnie d onych dla ka dej ze stałych. Pozwala to ka dej
ze stałych posiadać własną implementację danej metody i automatycznie wywoływać
odpowiednią implementację. Alternatywą jest tworzenie wieloście kowych rozgałęzień,
które wybierają odpowiednią metodę w zale ności od stałej, na rzecz której wywołu-
jemy tę metodę. Jest to rozwiązanie niechlujne, podatne na błędy i często wydajność
tego rozwiązania jest ni sza od rozwiązania, korzystającego z automatycznego wybie-
rania metod przez maszynę wirtualną.
34. 98 Efektywne programowanie w języku Java
Obie techniki opisane w poprzednim akapicie są zilustrowane jeszcze jedną klasą, reali-
zującą typ wyliczeniowy. Klasa ta, 1RGTCVKQP, reprezentuje działania wykonywane przez
prosty kalkulator czterodziałaniowy. Poza pakietem, w którym zdefiniowana jest ta
klasa, mo na skorzystać ze stałych klasy 1RGTCVKQP do wywołania metod klasy 1DLGEV
(VQ5VTKPI, JCUJ%QFG, GSWCNU itd.). Wewnątrz pakietu mo na dodatkowo wykonywać
operacje matematyczne związane ze stałymi. Przypuszczalnie pakiet mo e eksportować
obiekt kalkulatora udostępniający jedną lub więcej metod, które jako parametrów ocze-
kują stałych klasy 1RGTCVKQP. Zwróć uwagę, e sama klasa 1RGTCVKQP jest klasą abstrak-
cyjną, zawierającą jedną prywatną w ramach pakietu metodę abstrakcyjną — GXCN,
która wykonuje odpowiednią operację matematyczną. Dla ka dej stałej zdefiniowana
jest wewnętrzna klasa anonimowa, więc ka da stała mo e zdefiniować własną wersję
metody GXCN.
6[R Y[NKEGPKQY[ QRGTCELCOK UMQLCTQP[OK G UVC [OK
RWDNKE CDUVTCEV ENCUU 1RGTCVKQP ]
RTKXCVG HKPCN 5VTKPI PCOG
1RGTCVKQP
5VTKPI PCOG ] VJKUPCOG PCOG _
RWDNKE 5VTKPI VQ5VTKPI
] TGVWTP VJKUPCOG _
9[MQPCL QRGTCELú OCVGOCV[EPæ FNC DKG æEGIQ MQPVGMUVW
CDUVTCEV FQWDNG GXCN
FQWDNG Z FQWDNG [
RWDNKE UVCVKE HKPCN 1RGTCVKQP 2.75 PGY 1RGTCVKQP
]
FQWDNG GXCN
FQWDNG Z FQWDNG [ ] TGVWTP Z
[ _
_
RWDNKE UVCVKE HKPCN 1RGTCVKQP /+075 PGY 1RGTCVKQP
]
FQWDNG GXCN
FQWDNG Z FQWDNG [ ] TGVWTP Z [ _
_
RWDNKE UVCVKE HKPCN 1RGTCVKQP 6+/'5 PGY 1RGTCVKQP
36. [ _
_
RWDNKE UVCVKE HKPCN 1RGTCVKQP +8+'A$;
PGY 1RGTCVKQP
]
FQWDNG GXCN
FQWDNG Z FQWDNG [ ] TGVWTP Z [ _
_
_
Przedstawiony typ wyliczeniowy ma wydajność porównywalną do wydajności klasy
korzystającej ze stałych wyliczeniowych typu KPV. Dwa ró ne obiekty klasy repre-
zentującej typ wyliczeniowy nigdy nie reprezentują tej samej wartości, więc porówna-
nie referencji, które jest bardzo szybkie, wystarczy do sprawdzenia równości logicznej.
Klienci klasy mogą nawet u yć operatora zamiast metody GSWCNU — wynik będzie
identyczny, a operator mo e nawet działać szybciej.
Je eli klasa typu wyliczeniowego jest przydatna, mo e być klasą najwy szego poziomu
— je eli jest związana z inną klasą najwy szego poziomu, powinna być statyczną
klasą zagnie d oną tej klasy (temat 18.). Na przykład klasa LCXCOCVJ$KIGEKOCN
zawiera zbiór stałych wyliczeniowych typu KPV, określających tryby zaokrąglania
37. Rozdział 4. ♦ Odpowiedniki konstrukcji języka C 99
części dziesiętnych. Te tryby zaokrąglania stanowią u yteczny model abstrakcji, który
nie jest zasadniczo przywiązany do klasy $KIGEKOCN — byłoby lepiej utworzyć osobną
klasę LCXCOCVJ4QWPFKPI/QFGU. Udostępnienie takiej klasy wszystkim programistom
korzystającym z trybów zaokrągleń pozwoliłoby na zwiększenie spójności między
ró nymi API.
Podstawowa implementacja wzorca bezpiecznego typu wyliczeniowego, zilustrowana
za pomocą dwóch implementacji klasy 5WKV, jest zamknięta. U ytkownicy nie mogą
dodawać nowych elementów typu wyliczeniowego, poniewa klasa nie udostępnia im
konstruktora. Powoduje to, e klasa zachowuje się tak, jakby została zdefiniowana jako
HKPCN. Najczęściej jest to najlepsze rozwiązanie, ale istnieją przypadki, w których
chcemy utworzyć rozszerzalną klasę typu wyliczeniowego. Mo e być to potrzebne na
przykład do reprezentowania formatów kodowania rysunków, gdy chcesz, aby inni pro-
gramiści mogli umo liwiać obsługę nowych formatów.
Aby umo liwić rozszerzanie typu wyliczeniowego, wystarczy udostępnić zabezpie-
czony konstruktor. U ytkownicy będą mogli dzięki temu dziedziczyć po istniejącej
klasie, dodając w podklasach własne stałe. Nie musisz się obawiać, e stałe typu wyli-
czeniowego spowodują konflikt, tak jak było to w przypadku typu wyliczeniowego,
korzystającego ze stałych KPV. Rozszerzalny wariant wzorca bezpiecznego typu wyli-
czeniowego korzysta z przestrzeni nazw pakietu do tworzenia „magicznie admini-
strowanych” przestrzeni nazw dla rozszerzalnych wyliczeń. Ró ne zespoły mogą nie-
zale nie rozszerzać wyliczenia i nie pozostaną one nigdy w konflikcie.
Dodanie elementu do rozszerzalnego typu wyliczeniowego nie gwarantuje jeszcze, e
nowe elementy będą w pełni obsługiwane. Metody operujące na elementach typu wyli-
czeniowego muszą przewidywać ewentualność przekazania elementu nieznanego pro-
gramiście. Wielokrotne rozgałęzienia są dyskusyjne w przypadku zamkniętego typu
wyliczeniowego, a w przypadku typu rozszerzalnego są nie do przyjęcia, poniewa
nie mogą samoczynnie dodawać nowej gałęzi dla typu, dodanego przez programistę
rozszerzającego klasę.
Jedynym sposobem radzenia sobie z tym problemem jest wyposa enie klasy bezpiecz-
nego typu wyliczeniowego we wszystkie metody niezbędne do opisania zachowania
się stałych tej klasy. Metody niezbyt u yteczne dla klientów powinny być zadeklaro-
wane jako RTQVGEVGF w celu ich ukrycia, natomiast klasy pochodne mogą je przedefi-
niować. Je eli metoda taka nie ma rozsądnego działania domyślnego, oprócz RTQVGEVGF
powinna być równie zadeklarowana jako CDUVTCEV.
Dla rozszerzalnych klas bezpiecznego typu wyliczeniowego dobrze jest przedefinio-
wać metody GSWCNU i JCUJ%QFG jako metody finalne, wywołujące odpowiednie metody
z klasy 1DLGEV. Zapewni to, e adna podklasa przypadkowo nie przedefiniuje tych metod,
co zagwarantuje, e wszystkie równe obiekty są równie identyczne (CGSWCNU
D tylko
wtedy, gdy CD):
/GVQF[ CDGRKGECLæEG RTGF RTGU CPKCPKGO
RWDNKE HKPCN DQQNGCP GSWCNU
1DLGEV VJCV ]
TGVWTP UWRGTGSWCNU
VJCV
_
38. 100 Efektywne programowanie w języku Java
RWDNKE HKPCN KPV JCUJ%QFG
]
TGVWTP UWRGTJCUJ%QFG
_
Trzeba pamiętać, e wariant rozszerzalny nie jest zgodny z wariantem implementują-
cym interfejs %QORCTCDNG — je eli będziesz próbował je ze sobą połączyć, porządko-
wanie elementów w podklasach będzie działało w porządku inicjalizacji podklas, co
mo e się zmieniać w ró nych programach i w ró nych wywołaniach.
Rozszerzalny wariant wzorca bezpiecznego typu wyliczeniowego jest zgodny z warian-
tem implementującym interfejs 5GTKCNKCDNG, ale łączenie tych wariantów wymaga
nieco uwagi. Ka da podklasa musi przypisywać własne numery kolejne i napisać wła-
sną metodę TGCF4GUQNXG. Zasadniczo ka da klasa jest odpowiedzialna za serializację
i deserializację swoich obiektów. Przedstawiamy teraz kolejną wersję klasy 1RGTCVKQP,
która jest rozszerzalna i mo e być serializowana.
5GTKCNKQYCNP[ TQUGTCNP[ DGRKGEP[ V[R Y[NKEGPKQY[
RWDNKE CDUVTCEV ENCUU 1RGTCVKQP KORNGOGPVU 5GTKCNKCDNG ]
RTKXCVG HKPCN VTCPUKGPV 5VTKPI PCOG
RTQVGEVGF 1RGTCVKQP
5VTKPI PCOG ] VJKUPCOG PCOG _
RWDNKE UVCVKE 1RGTCVKQP 2.75 PGY 1RGTCVKQP
]
RTQVGEVGF FQWDNG GXCN
FQWDNG Z FQWDNG [ ] TGVWTP Z
[ _
_
RWDNKE UVCVKE 1RGTCVKQP /+075 PGY 1RGTCVKQP
]
RTQVGEVGF FQWDNG GXCN
FQWDNG Z FQWDNG [ ] TGVWTP Z[ _
_
RWDNKE UVCVKE 1RGTCVKQP 6+/'5 PGY 1RGTCVKQP
39. ]
RTQVGEVGF FQWDNG GXCN
FQWDNG Z FQWDNG [ ] TGVWTP Z
41. Rozdział 4. ♦ Odpowiedniki konstrukcji języka C 101
Przedstawimy równie podklasę klasy 1RGTCVKQP, która dodaje operacje logarytmowa-
nia i podnoszenia do potęgi. Ta klasa pochodna mo e być zdefiniowana poza pakietem
zawierającym klasę bazową. Powinna być ona publiczna i umo liwiać dziedziczenie.
Mo liwe jest utworzenie wielu niezale nych podklas, współistniejących bez adnych
konfliktów.
2QFMNCUC UGTKCNKQYCNPGIQ TQUGTCNPGIQ DGRKGEPGIQ V[RW Y[NKEGPKQYGIQ
CDUVTCEV ENCUU 'ZVGPFGF1RGTCVKQP GZVGPFU 1RGTCVKQP ]
'ZVGPFGF1RGTCVKQP
5VTKPI PCOG ] UWRGT
PCOG _
RWDNKE UVCVKE 1RGTCVKQP .1) PGY 'ZVGPFGF1RGTCVKQP
NQI ]
RTQVGEVGF FQWDNG GXCN
FQWDNG Z FQWDNG [ ]
TGVWTP /CVJNQI
[ /CVJNQI
Z
_
_
RWDNKE UVCVKE 1RGTCVKQP ':2 PGY 'ZVGPFGF1RGTCVKQP
GZR ]
RTQVGEVGF FQWDNG GXCN
FQWDNG Z FQWDNG [ ]
TGVWTP /CVJRQY
Z [
_
_
RQPK UG FGMNCTCELG Uæ PKGDúFPG FNC UGTKCNKCELK
RTKXCVG UVCVKE KPV PGZV1TFKPCN
RTKXCVG HKPCN KPV QTFKPCN PGZV1TFKPCN
RTKXCVG UVCVKE HKPCN 1RGTCVKQP=? 8#.7'5 ] .1) ':2 _
1DLGEV TGCF4GUQNXG
VJTQYU 1DLGEV5VTGCO'ZEGRVKQP ]
TGVWTP 8#.7'5=QTFKPCN? OKCPC PC RQUVCè MCPQPKEPæ
_
_
Zwróć uwagę, e metoda TGCF4GUQNXG w przedstawionej klasie nie jest prywatna, a tylko
prywatna w ramach pakietu. Jest to niezbędne, poniewa obiekty 1RGTCVKQP i 'ZVGP
FGF1RGTCVKQP są właściwie obiektami podklas anonimowych, więc prywatna metoda
TGCF4GUQNXG nie mo e zostać zastosowana (temat 57.).
Wzorzec bezpiecznego typu wyliczeniowego posiada jednak nieco więcej wad w porów-
naniu do typu wyliczeniowego, korzystającego z wartości KPV. Prawdopodobnie jedyną
powa ną niedogodnością jest niewygodne łączenie bezpiecznych stałych wyliczeniowych
w zbiory. W przypadku typu wyliczeniowego, korzystającego z wartości KPV, jest to
zwykle realizowane przez nadanie stałym wyliczeniowym wartości będących potęgami
dwójki i reprezentowanie zbioru jako bitowej sumy logicznej odpowiednich stałych:
1FOKCPC V[RW Y[NKEGPKQYGIQ MQT[UVCLæEGIQ DKVQY[EJ YCTVQ EK NKED KPV
RWDNKE UVCVKE HKPCN KPV 57+6A%.7$5
RWDNKE UVCVKE HKPCN KPV 57+6A+#/105
RWDNKE UVCVKE HKPCN KPV 57+6A*'#465
RWDNKE UVCVKE HKPCN KPV 57+6A52#'5
RWDNKE UVCVKE HKPCN KPV 57+6A$.#%- 57+6A%.7$5 ^ 57+6A52#'5
Reprezentowanie w ten sposób zbiorów stałych typu wyliczeniowego jest zwięzłe i nie-
zmiernie szybkie. W przypadku zbiorów stałych bezpiecznego typu wyliczeniowego
mo esz skorzystać z implementacji zbioru z biblioteki %QNNGEVKQPU, ale nie jest to tak
zwięzłe i szybkie.
42. 102 Efektywne programowanie w języku Java
5GV DNCEM5WKVU PGY *CUJ5GV
DNCEM5WKVUCFF
5WKV%.7$5
DNCEM57+65CFF
57+652#'5
Choć zbiory stałych prawdopodobnie nie mogą być zrealizowane ani tak zwięźle, ani tak
szybko, jak zbiory stałych wyliczeniowych typu KPV, mo liwe jest zmniejszenie tej
ró nicy przez utworzenie specjalnej implementacji klasy 5GV, która akceptuje jedynie
elementy jednego typu i wewnętrznie reprezentuje zbiór jako wektor bitów. Taki zbiór
najlepiej zdefiniować w tym samym pakiecie, co klasa reprezentująca przechowywane
elementy, co umo liwia dostęp do pól lub metod prywatnych w ramach pakietu. Roz-
sądne jest utworzenie publicznych konstruktorów, które jako parametry akceptują krótkie
sekwencje elementów, dzięki czemu mo liwe jest tworzenie następujących wyra eń:
JCPFKUECTF
PGY 5WKV5GV
5WKV%.7$5 5WKV52#'5
Mniejszą niedogodnością bezpiecznego typu wyliczeniowego, w porównaniu do typu
korzystającego z typu KPV, jest to, e bezpieczny typ wyliczeniowy nie mo e być wyko-
rzystany w instrukcji UYKVEJ, poniewa nie są to wartości całkowite. Zamiast tego nale y
skorzystać z instrukcji KH:
KH
UWKV 5WKV%.7$5 ]
_ GNUG KH
UWKV 5WKV+#/105 ]
_ GNUG KH
UWKV 5WKV*'#465 ]
_ GNUG KH
UWKV 5WKV52#'5 ]
_ GNUG ]
VJTQY PGY 0WNN2QKPVGT'ZEGRVKQP
2WUV[ MQNQT UWKV PWNN
_
Instrukcja KH mo e nie wykonywać się tak szybko jako UYKVEJ, ale ró nica nie powinna
być zauwa alna. Tworzenie wielokrotnych rozgałęzień w przypadku bezpiecznego
typu wyliczeniowego powinno być rzadkie, poniewa rozgałęzianie kodu nale y zastę-
pować automatycznym wyborem metod przez maszynę wirtualną, tak jak w przyto-
czonej klasie 1RGTCVKQP.
Kolejny niewielki problem wią e się ze spadkiem wydajności, poniewa potrzeba czasu
i miejsca w pamięci na załadowanie klasy typu wyliczeniowego i utworzenie obiek-
tów stałych. Problem ten nie powinien być zauwa alny w praktyce, poza niektórymi
urządzeniami o ograniczonych zasobach, jak na przykład telefony komórkowe czy tostery.
Podsumujmy. Przewagi bezpiecznego typu wyliczeniowego nad typem korzystającym
z wartości KPV są bezapelacyjne i adna z wad nie mo e być przyczyną zaprzestania
korzystania z niego, chyba e jest on głównie u ywany jako element zbioru lub w środo-
wisku o ograniczonych zasobach. Dlatego bezpieczny typ wyliczeniowy powinien
być jako pierwszy brany pod uwagę, jeśli konieczne jest zastosowania typu wylicze-
niowego. API korzystające z bezpiecznego typu wyliczeniowego jest du o łatwiejsze
w u yciu dla programistów ni to, które korzysta z typu KPV. Jedynym powodem, dla
którego bezpieczny typ wyliczeniowy nie jest intensywniej wykorzystywany w bibliote-
kach platformy Java, jest fakt, e wzorzec ten nie był jeszcze znany w czasie tworzenia
43. Rozdział 4. ♦ Odpowiedniki konstrukcji języka C 103
większości klas tego API. Na koniec nale y przypomnieć, e stosowanie typu wyli-
czeniowego powinna być dosyć rzadkie, poniewa w większości zastosowań tego typu
z powodzeniem mo na skorzystać z dziedziczenia (temat 20.).
Temat 22. Zastępowanie wskaźników
do funkcji za pomocą klas i interfejsów
Język C pozwala na stosowanie wskaźników do funkcji, które umo liwiają zapamięty-
wanie i przesyłanie odwołań do określonych funkcji. Wskaźniki do funkcji są najczę-
ściej wykorzystywane w celu umo liwienia funkcji wywołującej modyfikacji swojego
działania poprzez przekazanie wskaźnika do drugiej funkcji, czasami nazywanej funkcją
wywołania zwrotnego. Na przykład, funkcja SUQTV ze standardowej biblioteki języka C
wymaga jako parametru wskaźnika do funkcji, której zadaniem jest porównywanie ele-
mentów. Funkcja porównująca wymaga podania dwóch parametrów — wskaźników
do elementów. Zwraca ona ujemną liczbę całkowitą, je eli element wskazywany przez
pierwszy element jest mniejszy od drugiego, zero, gdy elementy są równe i dodatnią
liczbę całkowitą, je eli pierwszy element jest większy od drugiego. Mo na uzyskać
ró ny porządek sortowania, przekazując inną funkcję porównującą. Jest to przykład
wzorca Strategy (strategia) [Gamma95, str. 315] — funkcja porównująca określa strategię
sortowania elementów.
Wskaźniki do funkcji nie znalazły się w języku Java, poniewa korzystając z referencji
do obiektów, mo na uzyskać takie samo działanie. Wywołując metodę obiektu, zwykle
wykonuje się operacje na tym obiekcie. Mo na równie zdefiniować obiekt, którego
metody wykonują operacje na innym obiekcie, przekazanym jawnie do metody. Obiekt
klasy udostępniającej tylko jedną taką metodę jest, efektywnie, wskaźnikiem do tej
metody. Obiekty takie są zwane obiektami funkcjonalnymi. Przyjrzyjmy się takiej
właśnie klasie:
ENCUU 5VTKPI.GPIVJ%QORCTCVQT ]
RWDNKE KPV EQORCTG
5VTKPI U 5VTKPI U ]
TGVWTP UNGPIVJ
UNGPIVJ
_
_
Klasa ta udostępnia jedną metodę, która oczekuje dwóch ciągów znaków jako parame-
trów. Zwraca ona liczbę ujemną w przypadku, gdy pierwszy ciąg jest krótszy od dru-
giego, zero, gdy ciągi są równe i liczbę dodatnią, gdy pierwszy ciąg jest dłu szy od
drugiego. Metoda ta jest komparatorem, porównującym długości ciągów. Referencja
do obiektu 5VTKPI.GPIVJ%QORCTCVQT słu y jako „wskaźnik do funkcji”, umo liwiając
wywołanie metody dla dwóch podanych ciągów.
Bezstanowość klasy 5VTKPI.GPIVJ%QORCTCVQT jest typowa dla klas strategii — klasa ta
nie posiada pól, przez co wszystkie jej obiekty są funkcjonalnie identyczne. Aby
uniknąć tworzenia niepotrzebnych obiektów, mo emy utworzyć tę klasę jako klasę
typu singleton (temat 4., temat 2.).
44. 104 Efektywne programowanie w języku Java
ENCUU 5VTKPI.GPIVJ%QORCTCVQT ]
RTKXCVG 5VTKPI.GPIVJ%QORCTCVQT
]_
RWDNKE UVCVKE HKPCN 5VTKPI.GPIVJ%QORCTCVQT
+056#0%' PGY 5VTKPI.GPIVJ%QORCTCVQT
RWDNKE KPV EQORCTG
5VTKPI U 5VTKPI U ]
TGVWTP UNGPIVJ
UNGPIVJ
_
_
Aby przekazać obiekt 5VTKPI.GPIVJ%QORCTCVQT do metody, potrzebujemy odpowied-
niego typu dla parametrów. Skorzystanie z typu 5VTKPI.GPIVJ%QORCTCVQT nie będzie
odpowiednie, poniewa klienci nie będą mogli przekazywać innych strategii porów-
nywania. Mo na natomiast zdefiniować interfejs %QORCTCVQT i zmienić klasę 5VTKPI
.GPIVJ%QORCTCVQT, aby implementowała ten interfejs. Inaczej mówiąc, definiujemy
interfejs strategii, implementowany przez konkretne klasy strategii:
+PVGTHGLU UVTCVGIKK
RWDNKE KPVGTHGCEG %QORCTCVQT ]
RWDNKE KPV EQORCTG
1DLGEV Q 1DLGEV Q
_
Ta definicja interfejsu %QORCTCVQT znajduje się w pakiecie LCXCWVKN, ale równie dobrze
mo esz ją utworzyć samemu. W przypadku obiektów innych ni ciągi mo liwe jest,
e ich metody EQORCTG będą oczekiwały parametrów typu 1DLGEV, a nie 5VTKPI. Dlatego
w celu prawidłowej implementacji interfejsu %QORCTCVQT przytoczona wcześniej klasa
5VTKPI.GPIVJ%QORCTCVQT musi być nieco zmodyfikowana. W celu wywołania metody
NGPIVJ parametry typu 1DLGEV muszą być rzutowane na 5VTKPI.
Klasy strategii są często definiowane jako klasy anonimowe (temat 18.). Poni sze wyra-
enie powoduje posortowanie tablicy ciągów według ich długości.
#TTC[UUQTV
UVTKPI#TTC[ PGY %QORCTCVQT
]
RWDNKE KPV EQORCTG
1DLGEV Q 1DLGEV Q ]
5VTKPI U
5VTKPIQ
5VTKPI U
5VTKPIQ
TGVWTP UNGPIVJ
UNGPIVJ
_
_
Poniewa interfejsy strategii słu ą jako typy dla wszystkich obiektów strategii, w celu
udostępnienia strategii jej klasa nie musi być publiczna. Zamiast tego „klasa główna”
mo e udostępniać publiczne statyczne pole (lub statyczną metodę factory) typu określa-
nego przez interfejs strategii, a klasa strategii mo e być prywatną klasą składową klasy
głównej. W poni szym przykładzie pokazujemy zastosowanie statycznej klasy zagnie -
d onej, tworzącej klasę strategii do implementacji drugiego interfejsu, 5GTKCNKCDNG.
7FQUVúRPKCPKG UVTCVGIKK
ENCUU *QUV ]
YKúMUQ è MNCU[ RQOKPKúVC
RTKXCVG UVCVKE ENCUU 5VT.GP%OR
KORNGOGPVU %QORCTCVQT 5GTKCNKCDNG ]
45. Rozdział 4. ♦ Odpowiedniki konstrukcji języka C 105
RWDNKE KPV EQORCTG
1DLGEV Q 1DLGEV Q ]
5VTKPI U
5VTKPIQ
5VTKPI U
5VTKPIQ
TGVWTP UNGPIVJ
UNGPIVJ
_
_
YTCECP[ MQORCTCVQT OQ PC UGTKCNKQYCè
RWDNKE UVCVKE HKPCN %QORCTCVQT
564+0)A.'0)6*A%1/2#4#614 PGY 5VT.GP%OR
_
Klasa *QUV korzysta z tego wzorca do udostępnienia za pomocą pola 564+0)A.'0)6*A
%1/2#4#614 komparatora porównującego długości ciągów.
Podsumujmy. Podstawowym zastosowaniem wskaźników do funkcji jest utworzenie
wzorca 5VTCVGIKC. W języku Java wzorzec ten mo na utworzyć, deklarując interfejs
reprezentujący strategię i klasę implementującą interfejs dla konkretnej strategii. Gdy
strategia jest zastosowana tylko raz, jej klasa deklarowana jest najczęściej jako klasa
anonimowa. Gdy strategia jest udostępniana, jej klasa jest zwykle prywatną statyczną
klasą zagnie d oną i jest udostępniana poprzez publiczne statyczne pole HKPCN, którego
typ jest zgodny z interfejsem strategii.