Profesjonalne techniki programowania obiektowego w PHP5
* Poznaj zasady projektowania i programowania obiektowego
* Zastosuj wzorce projektowe podczas tworzenia aplikacji
* Wykorzystaj narzędzia wspomagające pracę programisty PHP5
Wraz z rosnącą popularnością języka PHP zwiększa się również zakres jego zastosowań. Za pomocą PHP tworzy się już nie tylko proste dynamiczne witryny WWW i fora dyskusyjne, ale również rozbudowane aplikacje sieciowe, wykorzystywane często w dużych przedsiębiorstwach. Już w PHP4 zaimplementowano pewne mechanizmy ułatwiające tworzenie rozbudowanych systemów, jednak dopiero PHP5 stał się w pełni obiektowym językiem programowania pozwalającym na korzystanie z wszystkich wynikających z tego możliwości.
"PHP5. Obiekty, wzorce i narzędzia" stanowi dokładne omówienie wszystkich technik obiektowych w kontekście zastosowania ich podczas tworzenia aplikacji w PHP5. Zawiera przegląd podstawowych i zaawansowanych cech PHP5 związanych z obiektowością. Przedstawia przykłady najczęściej wykorzystywanych wzorców projektowych i zasady ich stosowania. Książka opisuje również narzędzia, które mogą okazać się bardzo przydatne podczas tworzenia rozbudowanych aplikacji, służące do tworzenia dokumentacji i kontroli wersji plików.
* Podstawowe pojęcia z dziedziny obiektowości
* Obsługa obiektów
* Wyjątki i obsługa błędów
* Projektowanie obiektowe
* Modelowanie obiektów w języku UML
* Wzorce projektowe
* Stosowanie pakietu PEAR
* Generowanie dokumentacji za pomocą PHPDocumentor
* Zarządzanie wersjami plików w systemie CVS
* Tworzenie pakietów instalacyjnych
Przekonaj się, jak potężnym narzędziem jest najnowsza wersja języka PHP.
Kolejna wersja popularnego języka PHP wniosła zupełnie nową jakość do tworzenia aplikacji internetowych. PHP5 to w pełni obiektowe środowisko, pozwalające na korzystanie z wszystkich nowoczesnych technologii sieciowych i budowanie wydajnych oraz, co najważniejsze, bezpiecznych systemów. Przed twórcami aplikacji otwarły się bramy do protokołu SOAP, usług sieciowych, ogromnych możliwości języka XML i znacznie wydajniejszych połączeń z bazami danych.
Książka "PHP5. Profesjonalne tworzenie oprogramowania" jest przeznaczona właśnie dla takich programistów -- tych, którzy opanowali poprzednie wersje PHP i chcą poznać możliwości, jakie oferuje jego najnowsze wcielenie. Przedstawia tajniki projektowania i programowania obiektowego, ze szczególnym uwzględnieniem stosowania wzorców projektowych i testowania za pomocą biblioteki PHPUnit. Opisuje możliwości zastosowania w aplikacjach PHP języka XML, protokołu SOAP i zaawansowanych technik operowania na bazach danych. Czytając ją, poznasz również metody automatycznego dokumentowania kodu oraz modelowania aplikacji za pomocą języka UML i dostępnych bezpłatnie narzędzi ArgoUML i Poseidon for UML.
* Klasy i obiekty
* Serializacja obiektów
* Mechanizmy dziedziczenia
* Korzystanie z biblioteki PHPUnit do testowania aplikacji
* Stosowanie wzorców projektowych
* Wzorce konstrukcyjne i strukturalne oraz wzorce zachowań
* Obsługa języka XML w PHP5
* Tworzenie usług sieciowych
* Wykorzystywanie możliwości rozszerzenia MySQL
* Komunikacja z bazami danych za pomocą Creole i Propel
* Tworzenie dokumentacji kodu z wykorzystaniem narzędzia phpDocumentator
* Modelowanie aplikacji w języku UML
Wykorzystaj najnowszą wersję PHP5do stworzenia szybkich i bezpiecznych aplikacji internetowych.
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.
Doskonały podręcznik dla początkujących programistów
* Poznaj podstawy języka PHP
* Naucz się tworzyć dynamiczne elementy witryn WWW
* Skorzystaj z baz danych i mechanizmów obsługi sesji
Popularność języka PHP ciągle rośnie. Twórcom i administratorom witryn WWW nie wystarcza już standardowy HTML -- potrzebują narzędzia pozwalającego na kontrolę odwiedzin witryny, łatwą edycję artykułów, pobieranie i przesyłanie plików oraz obsługę danych przekazywanych z formularzy. Wszystkie te możliwości oferuje PHP i witryny WWW wykonane w tej technologii. Najnowsza wersja języka -- PHP 5, to w pełni obiektowy język programowania, pozwalający na tworzenie rozbudowanych aplikacji WWW, nad którymi zarówno twórcy, jak i użytkownicy mogą mieć pełną kontrolę.
"PHP5. Radocha z programowania" to podręcznik, dzięki któremu szybko poznasz język PHP i napiszesz swoje pierwsze aplikacje WWW. Czytając tę książkę, dowiesz się, z jakich podstawowych elementów składa się program w języku PHP, jak łączyć kod PHP ze znacznikami HTML i sterować przebiegiem programu. Nauczysz się tworzyć skrypty weryfikujące i przetwarzające dane z formularzy, łączące się z bazami danych i wysyłające wiadomości e-mail. Każde z zagadnień poznasz w oparciu o praktyczne przykłady, które z łatwością dostosujesz do swoich wymagań.
* Instalacja PHP
* Łączenie PHP i HTML
* Zmienne, operatory i instrukcje
* Przetwarzanie ciągów znaków
* Tworzenie i wykorzystywanie funkcji
* Obsługa formularzy na stronach WWW
* Programowanie obiektowe w PHP5
* Komunikacja z bazami danych
* Obsługa sesji i plików cookie
* Przesyłanie plików za pomocą protokołu FTP
Przekonaj się, jak łatwe jest programowanie w PHP5.
Odkryj potęgę najnowszej wersji języka PHP
* Zaawansowane techniki programowania w PHP5
* Wzorce projektowe i stosowanie technologii XML i SOAP
* Sposoby poprawy wydajności aplikacji
* Współpraca z bazami danych
PHP w ciągu ostatnich lat stał się jednym z najpopularniejszych języków programowania wykorzystywanych do tworzenia aplikacji internetowych. Swój sukces zawdzięcza prostocie i ogromnym możliwościom, pozwalającym na pisanie rozbudowanych aplikacji, znacznie przekraczających funkcjonalnością "zwykłe" portale i dynamiczne strony WWW. Najnowsza wersja języka PHP, oznaczona numerem 5, to w pełni obiektowy język programowania umożliwiający realizację złożonych projektów. Posiada mechanizmy obsługi plików XML i protokołu SOAP oraz poprawione i rozbudowane funkcje do komunikacji z bazami danych.
"PHP5. Tajniki programowania" to napisany przez współtwórcę języka PHP5 oraz dwóch doskonałych programistów przewodnik opisujący ogromne możliwości tej platformy. Autorzy przedstawiają sposoby wykorzystania PHP5 w projektach informatycznych o dowolnej skali złożoności. Omawiają model obiektowy PHP5, wzorce projektowe, metody korzystania z plików XML i technologii SOAP oraz techniki współpracy z bazami danych. W książce znajdziesz także szczegółowe omówienie biblioteki PEAR, obsługi wyjątków oraz metod optymalizowania wydajności aplikacji.
* Nowe możliwości PHP5
* Podstawy PHP5 i programowania zorientowanego obiektowo
* Stosowanie wzorców projektowych
* Techniki tworzenia aplikacji WWW
* Komunikacja z bazami danych, współpraca z MySQL i SQLite
* Obsługa błędów i wyjątków
* Przetwarzanie plików XML
* Instalowanie biblioteki PEAR
* Pakiety PEAR
* Tworzenie komponentów PEAR
* Przenoszenie kodu z PHP4 do wersji PHP5
* Projektowanie wydajnych aplikacji
Jeśli tworzysz aplikacje WWW, pakiety lub rozszerzenia PHP, w tej książce znajdziesz odpowiedzi na wszystkie pytania.
PHP to język umożliwiający tworzenie aplikacji sieciowych uruchamianych po stronie serwera. Jego najnowsza wersja, oznaczona numerem 5, to w pełni obiektowy język, za pomocą którego można budować nawet najbardziej złożone systemy portalowe, intranetowe i ekstranetowe. Dzięki nowym funkcjom wprowadzonym w PHP 5 możliwe jest korzystanie z plików XML i protokołu SOAP, wydajna komunikacja z bazą danych i stosowanie technik obiektowych znacznie ułatwiających i przyspieszających tworzenie rozbudowanych aplikacji.
"PHP5. Zaawansowane programowanie" to książka przedstawiająca potężne możliwości i elastyczność najnowszej wersji tej popularnej platformy programistycznej. Opisuje podstawowe zasady programowania obiektowego i prowadzenia rozbudowanych projektów informatycznych. Zawiera informacje o modelowaniu aplikacji w języku UML, stosowaniu wzorców projektowych i tworzeniu narzędzi, które będzie można wykorzystać w każdym projekcie. Przedstawia również analizę prawdziwego przypadku -- systemu automatyzującego pracę działu sprzedaży w przedsiębiorstwie handlowym.
* Programowanie obiektowe
* Język UML i modelowanie systemów
* Wzorce projektowe
* Tworzenie prostych narzędzi obiektowych
* Połączenia z bazami danych
* Model MVC
* Stosowanie protokołu SOAP
* Komunikacja z użytkownikiem i mechanizmy sesji
* Testowanie aplikacji
* Studium przypadku – automatyzacja pracy działu sprzedaży
Jeśli chcesz poznać zaawansowane możliwości PHP 5, sięgnij po tę książkę.
Bądź na bieżąco z najnowszymi narzędziami i technikami programowania
* Wykorzystaj możliwości szablonów
* Połącz skrypty Perla z programami napisanymi w innych językach programowania
* Przetestuj kod i popraw wydajność projektu
Perl, jeden z pierwszych języków skryptowych służących do dynamicznego generowania zawartości witryn WWW, nie traci popularności mimo dość sędziwego wieku. Ciągle wzrasta zainteresowanie tym językiem, co pewien czas powstają kolejne jego wersje. W sieci funkcjonują tysiące witryn poświęconych programowaniu w Perlu, jednak podczas pracy nad rozbudowaną aplikacją nie zawsze znajdujemy czas na poszukiwanie niezbędnych informacji. Zgromadzenie w jednym tomie opisów technik stosowanych przez doświadczonych programistów pozwoliłoby znacznie przyspieszyć pracę.
Książka "Perl. Zaawansowane programowanie. Wydanie II" to kompendium wiedzy dla wszystkich, którzy tworzą aplikacje w Perlu. Autor opisuje zmiany, jakie wprowadzono w Perlu w ciągu ostatnich lat, koncentrując się na technikach rozwiązywania konkretnych problemów, a nie na teoretycznych rozważaniach. Kładzie duży nacisk na możliwości stosowania gotowych kodów z witryn Comprehensive Perl Archive Network, w których zgromadzono setki przykładów wykorzystania Perla. Uczy efektywnej pracy i zachęca do stosowania zaawansowanych narzędzi i technik programistycznych.
* Techniki przetwarzania danych tekstowych
* Stosowanie szablonów
* Pobieranie wiadomości RSS
* Obsługa baz danych
* Korzystanie z kodowania Unicode
* Programowanie sterowane zdarzeniami
* Testowanie kodu i usuwanie błędów
* Łączenie kodu Perla z kodem C za pomocą modułu Inline
Odkryj magię Perla.
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.
Visual Basic po raz pierwszy pojawił się na rynku w roku 1991 jako połączenie oferowanego przez Microsoft języka QBasic z mechanizmem projektowania graficznego interfejsu użytkownika. Od tej pory przeszedł sporą ewolucję, zyskując jednocześnie ogromne grono zwolenników. W roku 2001 wprowadzono na rynek platformę programistyczną .NET wraz z całkowicie zmienioną i odnowioną wersją Visual Basica pod nazwą Visual Basic .NET. Visual Basic dla platformy .NET był językiem w pełni obiektowym i oferował znacznie większe możliwości niż jego poprzednicy. Visual Basic 2005 to najnowsze wcielenie tego popularnego języka programowania.
Książka "Visual Basic 2005. Almanach" to kompleksowe omówienie wszystkich zagadnień związanych z programowaniem w tym języku. Czytając ją, poznasz genezę platformy .NET, jej składniki i konstrukcję oraz słowa kluczowe języka Visual Basic. Przeczytasz o programowaniu obiektowym, klasach platformy .NET, obsłudze zdarzeń oraz typach uniwersalnych. Dalsza część książki to niezwykle przydatne każdemu programiście zestawienie dokumentacji wszystkich istotnych wyrażeń, procedur, funkcji i obiektów Visual Basica zawierające omówienie składni i argumentów, wskazówki dotyczące sposobu stosowania omawianego elementu języka, przykłady kodu oraz opisy nieudokumentowanych zachowań.
W książce omówiono:
* Podstawowe wiadomości o platformie .NET
* Zasady programowania obiektowego
* Zmienne, typy danych i operatory
* Struktura programów w Visual Basic
* Klasy platformy .NET
* Typy uniwersalne
* Obsługa błędów i wyjątków
* Leksykon elementów języka Visual Basic 2005
Zostań ekspertem w dziedzinie programowania w Visual Basicu.
Kolejna wersja popularnego języka PHP wniosła zupełnie nową jakość do tworzenia aplikacji internetowych. PHP5 to w pełni obiektowe środowisko, pozwalające na korzystanie z wszystkich nowoczesnych technologii sieciowych i budowanie wydajnych oraz, co najważniejsze, bezpiecznych systemów. Przed twórcami aplikacji otwarły się bramy do protokołu SOAP, usług sieciowych, ogromnych możliwości języka XML i znacznie wydajniejszych połączeń z bazami danych.
Książka "PHP5. Profesjonalne tworzenie oprogramowania" jest przeznaczona właśnie dla takich programistów -- tych, którzy opanowali poprzednie wersje PHP i chcą poznać możliwości, jakie oferuje jego najnowsze wcielenie. Przedstawia tajniki projektowania i programowania obiektowego, ze szczególnym uwzględnieniem stosowania wzorców projektowych i testowania za pomocą biblioteki PHPUnit. Opisuje możliwości zastosowania w aplikacjach PHP języka XML, protokołu SOAP i zaawansowanych technik operowania na bazach danych. Czytając ją, poznasz również metody automatycznego dokumentowania kodu oraz modelowania aplikacji za pomocą języka UML i dostępnych bezpłatnie narzędzi ArgoUML i Poseidon for UML.
* Klasy i obiekty
* Serializacja obiektów
* Mechanizmy dziedziczenia
* Korzystanie z biblioteki PHPUnit do testowania aplikacji
* Stosowanie wzorców projektowych
* Wzorce konstrukcyjne i strukturalne oraz wzorce zachowań
* Obsługa języka XML w PHP5
* Tworzenie usług sieciowych
* Wykorzystywanie możliwości rozszerzenia MySQL
* Komunikacja z bazami danych za pomocą Creole i Propel
* Tworzenie dokumentacji kodu z wykorzystaniem narzędzia phpDocumentator
* Modelowanie aplikacji w języku UML
Wykorzystaj najnowszą wersję PHP5do stworzenia szybkich i bezpiecznych aplikacji internetowych.
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.
Doskonały podręcznik dla początkujących programistów
* Poznaj podstawy języka PHP
* Naucz się tworzyć dynamiczne elementy witryn WWW
* Skorzystaj z baz danych i mechanizmów obsługi sesji
Popularność języka PHP ciągle rośnie. Twórcom i administratorom witryn WWW nie wystarcza już standardowy HTML -- potrzebują narzędzia pozwalającego na kontrolę odwiedzin witryny, łatwą edycję artykułów, pobieranie i przesyłanie plików oraz obsługę danych przekazywanych z formularzy. Wszystkie te możliwości oferuje PHP i witryny WWW wykonane w tej technologii. Najnowsza wersja języka -- PHP 5, to w pełni obiektowy język programowania, pozwalający na tworzenie rozbudowanych aplikacji WWW, nad którymi zarówno twórcy, jak i użytkownicy mogą mieć pełną kontrolę.
"PHP5. Radocha z programowania" to podręcznik, dzięki któremu szybko poznasz język PHP i napiszesz swoje pierwsze aplikacje WWW. Czytając tę książkę, dowiesz się, z jakich podstawowych elementów składa się program w języku PHP, jak łączyć kod PHP ze znacznikami HTML i sterować przebiegiem programu. Nauczysz się tworzyć skrypty weryfikujące i przetwarzające dane z formularzy, łączące się z bazami danych i wysyłające wiadomości e-mail. Każde z zagadnień poznasz w oparciu o praktyczne przykłady, które z łatwością dostosujesz do swoich wymagań.
* Instalacja PHP
* Łączenie PHP i HTML
* Zmienne, operatory i instrukcje
* Przetwarzanie ciągów znaków
* Tworzenie i wykorzystywanie funkcji
* Obsługa formularzy na stronach WWW
* Programowanie obiektowe w PHP5
* Komunikacja z bazami danych
* Obsługa sesji i plików cookie
* Przesyłanie plików za pomocą protokołu FTP
Przekonaj się, jak łatwe jest programowanie w PHP5.
Odkryj potęgę najnowszej wersji języka PHP
* Zaawansowane techniki programowania w PHP5
* Wzorce projektowe i stosowanie technologii XML i SOAP
* Sposoby poprawy wydajności aplikacji
* Współpraca z bazami danych
PHP w ciągu ostatnich lat stał się jednym z najpopularniejszych języków programowania wykorzystywanych do tworzenia aplikacji internetowych. Swój sukces zawdzięcza prostocie i ogromnym możliwościom, pozwalającym na pisanie rozbudowanych aplikacji, znacznie przekraczających funkcjonalnością "zwykłe" portale i dynamiczne strony WWW. Najnowsza wersja języka PHP, oznaczona numerem 5, to w pełni obiektowy język programowania umożliwiający realizację złożonych projektów. Posiada mechanizmy obsługi plików XML i protokołu SOAP oraz poprawione i rozbudowane funkcje do komunikacji z bazami danych.
"PHP5. Tajniki programowania" to napisany przez współtwórcę języka PHP5 oraz dwóch doskonałych programistów przewodnik opisujący ogromne możliwości tej platformy. Autorzy przedstawiają sposoby wykorzystania PHP5 w projektach informatycznych o dowolnej skali złożoności. Omawiają model obiektowy PHP5, wzorce projektowe, metody korzystania z plików XML i technologii SOAP oraz techniki współpracy z bazami danych. W książce znajdziesz także szczegółowe omówienie biblioteki PEAR, obsługi wyjątków oraz metod optymalizowania wydajności aplikacji.
* Nowe możliwości PHP5
* Podstawy PHP5 i programowania zorientowanego obiektowo
* Stosowanie wzorców projektowych
* Techniki tworzenia aplikacji WWW
* Komunikacja z bazami danych, współpraca z MySQL i SQLite
* Obsługa błędów i wyjątków
* Przetwarzanie plików XML
* Instalowanie biblioteki PEAR
* Pakiety PEAR
* Tworzenie komponentów PEAR
* Przenoszenie kodu z PHP4 do wersji PHP5
* Projektowanie wydajnych aplikacji
Jeśli tworzysz aplikacje WWW, pakiety lub rozszerzenia PHP, w tej książce znajdziesz odpowiedzi na wszystkie pytania.
PHP to język umożliwiający tworzenie aplikacji sieciowych uruchamianych po stronie serwera. Jego najnowsza wersja, oznaczona numerem 5, to w pełni obiektowy język, za pomocą którego można budować nawet najbardziej złożone systemy portalowe, intranetowe i ekstranetowe. Dzięki nowym funkcjom wprowadzonym w PHP 5 możliwe jest korzystanie z plików XML i protokołu SOAP, wydajna komunikacja z bazą danych i stosowanie technik obiektowych znacznie ułatwiających i przyspieszających tworzenie rozbudowanych aplikacji.
"PHP5. Zaawansowane programowanie" to książka przedstawiająca potężne możliwości i elastyczność najnowszej wersji tej popularnej platformy programistycznej. Opisuje podstawowe zasady programowania obiektowego i prowadzenia rozbudowanych projektów informatycznych. Zawiera informacje o modelowaniu aplikacji w języku UML, stosowaniu wzorców projektowych i tworzeniu narzędzi, które będzie można wykorzystać w każdym projekcie. Przedstawia również analizę prawdziwego przypadku -- systemu automatyzującego pracę działu sprzedaży w przedsiębiorstwie handlowym.
* Programowanie obiektowe
* Język UML i modelowanie systemów
* Wzorce projektowe
* Tworzenie prostych narzędzi obiektowych
* Połączenia z bazami danych
* Model MVC
* Stosowanie protokołu SOAP
* Komunikacja z użytkownikiem i mechanizmy sesji
* Testowanie aplikacji
* Studium przypadku – automatyzacja pracy działu sprzedaży
Jeśli chcesz poznać zaawansowane możliwości PHP 5, sięgnij po tę książkę.
Bądź na bieżąco z najnowszymi narzędziami i technikami programowania
* Wykorzystaj możliwości szablonów
* Połącz skrypty Perla z programami napisanymi w innych językach programowania
* Przetestuj kod i popraw wydajność projektu
Perl, jeden z pierwszych języków skryptowych służących do dynamicznego generowania zawartości witryn WWW, nie traci popularności mimo dość sędziwego wieku. Ciągle wzrasta zainteresowanie tym językiem, co pewien czas powstają kolejne jego wersje. W sieci funkcjonują tysiące witryn poświęconych programowaniu w Perlu, jednak podczas pracy nad rozbudowaną aplikacją nie zawsze znajdujemy czas na poszukiwanie niezbędnych informacji. Zgromadzenie w jednym tomie opisów technik stosowanych przez doświadczonych programistów pozwoliłoby znacznie przyspieszyć pracę.
Książka "Perl. Zaawansowane programowanie. Wydanie II" to kompendium wiedzy dla wszystkich, którzy tworzą aplikacje w Perlu. Autor opisuje zmiany, jakie wprowadzono w Perlu w ciągu ostatnich lat, koncentrując się na technikach rozwiązywania konkretnych problemów, a nie na teoretycznych rozważaniach. Kładzie duży nacisk na możliwości stosowania gotowych kodów z witryn Comprehensive Perl Archive Network, w których zgromadzono setki przykładów wykorzystania Perla. Uczy efektywnej pracy i zachęca do stosowania zaawansowanych narzędzi i technik programistycznych.
* Techniki przetwarzania danych tekstowych
* Stosowanie szablonów
* Pobieranie wiadomości RSS
* Obsługa baz danych
* Korzystanie z kodowania Unicode
* Programowanie sterowane zdarzeniami
* Testowanie kodu i usuwanie błędów
* Łączenie kodu Perla z kodem C za pomocą modułu Inline
Odkryj magię Perla.
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.
Visual Basic po raz pierwszy pojawił się na rynku w roku 1991 jako połączenie oferowanego przez Microsoft języka QBasic z mechanizmem projektowania graficznego interfejsu użytkownika. Od tej pory przeszedł sporą ewolucję, zyskując jednocześnie ogromne grono zwolenników. W roku 2001 wprowadzono na rynek platformę programistyczną .NET wraz z całkowicie zmienioną i odnowioną wersją Visual Basica pod nazwą Visual Basic .NET. Visual Basic dla platformy .NET był językiem w pełni obiektowym i oferował znacznie większe możliwości niż jego poprzednicy. Visual Basic 2005 to najnowsze wcielenie tego popularnego języka programowania.
Książka "Visual Basic 2005. Almanach" to kompleksowe omówienie wszystkich zagadnień związanych z programowaniem w tym języku. Czytając ją, poznasz genezę platformy .NET, jej składniki i konstrukcję oraz słowa kluczowe języka Visual Basic. Przeczytasz o programowaniu obiektowym, klasach platformy .NET, obsłudze zdarzeń oraz typach uniwersalnych. Dalsza część książki to niezwykle przydatne każdemu programiście zestawienie dokumentacji wszystkich istotnych wyrażeń, procedur, funkcji i obiektów Visual Basica zawierające omówienie składni i argumentów, wskazówki dotyczące sposobu stosowania omawianego elementu języka, przykłady kodu oraz opisy nieudokumentowanych zachowań.
W książce omówiono:
* Podstawowe wiadomości o platformie .NET
* Zasady programowania obiektowego
* Zmienne, typy danych i operatory
* Struktura programów w Visual Basic
* Klasy platformy .NET
* Typy uniwersalne
* Obsługa błędów i wyjątków
* Leksykon elementów języka Visual Basic 2005
Zostań ekspertem w dziedzinie programowania w Visual Basicu.
Efektywne wykorzystanie potencjału systemów uniksowych
* Automatyzacja zadań
* Przeszukiwanie plików i katalogów
* Przenoszenie skryptów pomiędzy systemami
W dobie graficznych narzędzi programistycznych często pomijamy tradycyjne metody rozwiązywania przeróżnych zadań związanych z działaniem systemu operacyjnego. Skrypty powłoki, niegdyś podstawowe narzędzie administratorów i programistów systemów uniksowych, dziś są zdecydowanie mniej popularne. Skrypty powłoki są przydatne zarówno administratorom systemu, jak i szeregowym użytkownikom, ponieważ są jednym z najlepszych sposobów na zaprzęgnięcie do pracy setek narzędzi, w jakie wyposażony jest Unix. Z narzędzi tych w języku programowania powłoki łatwo stworzyć rozwiązanie niemal dowolnego zadania związanego z przetwarzaniem danych.
Książka "Programowanie skryptów powłoki" to kompendium wiedzy dotyczącej tej nieco już zapomnianej techniki. Przedstawia nie tylko język programowania powłoki, ale także narzędzia systemu Unix. Dostarcza informacji o tym, do jakich zadań się nadają, jak je wywoływać i jak łączyć je z innymi programami, konstruując z nich mechanizm przetwarzania danych. W książce opisano nie tylko sposoby pisania użytecznych skryptów powłoki, ale również metody dostosowywania powłoki do własnych potrzeb oraz przenoszenia skryptów pomiędzy różnymi wariantami Uniksa i różnymi implementacjami powłoki.
* Podstawowe elementy skryptów powłoki
* Wyszukiwanie i zastępowanie fragmentów tekstów
* Stosowanie wyrażeń regularnych
* Korzystanie z potoków
* Instrukcje warunkowe
* Definiowanie i stosowanie zmiennych
* Przetwarzanie plików
* Standardowe wejście i wyjście
* Korzystanie z możliwości awk
* Przenoszenie skryptów pomiędzy różnymi powłokami
* Bezpieczeństwo skryptów powłoki
Książka "Programowanie skryptów powłoki" zawiera wszystkie informacje niezbędne do mistrzowskiego opanowania narzędzi oferowanych przez systemy uniksowe.
Poznanie istoty programowania komputerów można zacząć od analizy języków programowania, ich struktur, typów danych i instrukcji. Jednak mnogość języków, różnice pomiędzy nimi i możliwość wykorzystania ich do różnych zadań sprawiają, że przeprowadzenie takiej analizy będzie niezwykle czasochłonne, a jednocześnie nie będzie gwarantowało poznania wszystkich koncepcji i paradygmatów programowania. Naukę koncepcji programowania najlepiej rozpocząć od poznania modelowych struktur realizowanych za pomocą modeli obliczeniowych -- konstrukcji definiujących sposób realizacji obliczeń, nie powołujących się na konkretny język.
Książka "Programowanie. Koncepcje, techniki i modele" prezentuje programowanie jako zbiór takich właśnie modeli. Opisuje je w postaci kodów stworzonych w prostym języku podstawowym przeznaczonym dla abstrakcyjnego komputera. W książce przedstawiono zarówno modele ogólne -- programowanie deklaratywne, współbieżność deklaratywną, współbieżność przesyłania komunikatów, stan jawny, programowanie zorientowane obiektowo, współbieżność stanu dzielonego oraz programowanie relacyjne -- jak i modele specjalizowane, takie jak programowanie graficznych interfejsów użytkownika, programowanie rozproszone oraz programowanie z ograniczeniami. Publikacja zawiera wiele fragmentów programów i ćwiczeń. Można je uruchomić w ramach systemu Mozart Programming System -- pakietu programistycznego rozprowadzanego na licencji open source.
* Podstawowe założenia problematyki programowania
* Notacja Backusa-Naura
* Gramatyki kontekstowe i bezkontekstowe
* Zasada działania maszyny abstrakcyjnej
* Typy danych, instrukcje i funkcje
* Drzewa i analiza składniowa
* Metodologie projektowania programów
* Programowanie współbieżne
* Zasady projektowanie i programowanie obiektowego
* Projektowanie interfejsów użytkownika
* Obliczenia rozproszone
Pisanie niezawodnych programów wymaga opanowania koncepcji leżących u ich podstaw. Dzięki tej książce poznasz je wszystkie.
Statyczne strony WWW tworzone w języku HTML nie zawsze spełniają oczekiwania twórców i odbiorców. Coraz częściej ich miejsce zajmują dynamiczne serwisy WWW oparte na bazach danych. Jednym z najpopularniejszych narzędzi do ich tworzenia jest język PHP. Jest to łatwy do opanowania język skryptowy działający po stronie serwera, dystrybuowany na zasadzie open source. Ponieważ ma ogromne możliwości, do tworzenia dynamicznych witryn WWW i aplikacji internetowych używają go setki programistów na całym świecie. Dzięki wiadomościom zawartym w tej książce łatwiej dołączyć do ich grona i napisać samodzielnie mechanizmy, na których opierają się dynamiczne witryny internetowe.
Książka "PHP. Praktyczne wprowadzenie" ułatwia szybkie i bezproblemowe pokonanie dystansu pomiędzy statycznymi witrynami w języku HTML a dynamicznymi serwisami WWW w języku PHP. Na przykładzie prawdziwego projektu -- budowy dynamicznej witryny WWW -- pokazano, jak używać PHP do tworzenia wszystkich elementów takiej witryny. Autor książki, Urlich G
Poznaj w niekonwencjonalny sposób zasady stosowania wzorców projektowych
* Dowiedz się, czym są wzorce projektowe
* Poznaj typy wzorców projektowych
* Zastosuj wzorce projektowe w praktyce
* Naucz się projektować aplikacje w oparciu o wzorce projektowe
Otwórz swój umysł. Poznaj wszystko, co jest związane z wzorcami projektowymi, w sposób gwarantujący szybkie i skuteczne opanowanie zasad ich stosowania. Zapomnij o listingach liczących tysiące linii, długich i nużących opisach teoretycznych oraz rozbudowanych schematach zależności. Czytając książkę "Head First Design Patterns. Edycja polska", poznasz wzorce projektowe w inny sposób. Wzorce projektowe to gotowe opisy rozwiązań najczęściej spotykanych zagadnień związanych z tworzeniem oprogramowania. Aby je prawidłowo stosować, należy poznać założenia, na podstawie których zostały stworzone, oraz nauczyć się implementować je we właściwy sposób.
Dzięki książce "Head First Design Pattern. Edycja polska" wszystkie pojęcia związane ze wzorcami projektowymi przestaną być dla Ciebie wiedzą tajemną. Autorzy książki, wykorzystując najnowsze elementy teorii uczenia, przedstawią Ci wszystkie zagadnienia niezbędne do rozpoczęcia projektowania i tworzenia aplikacji w oparciu o wzorce projektowe. Poznasz najczęściej stosowane wzorce projektowe, metody ich implementacji i zadania, do jakich są przeznaczone. Jednak, co najważniejsze, nauczysz się stosować tę wiedzę w praktyce.
* Cele stosowania wzorców projektowych
* Założenia, na których opierają się wzorce projektowe
* Najważniejsze i najczęściej wykorzystywane wzorce projektowe
* Przechowywanie i prezentacja danych
* Mechanizm RMI
* Wzorzec MVC
* Implementacja wzorców projektowych w aplikacjach
Przekonaj się, że nowoczesne metody nauczania mogą zmienić również sposób poznawania nowoczesnych technik programistycznych.
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
Pierwsze spojrzenie na najnowszą wersję języka Perl
Książka "Perl 6. Podstawy" jest krótkim przeglądem projektu Perl 6, będącego powszechnie oczekiwaną, zupełnie nową wersją języka programowania Perl. Projekt ten znajduje się wciąż w fazie rozwoju i jest efektem wysiłku całej społeczności Perla, mającym na celu utrzymanie go pośród języków programowania XXI wieku.
Wiele osób wciąż zaangażowanych jest w rozwój Perla 5; w tym samym czasie główna grupa programistów Perla rozpoczęła pracę nad językiem Perl 6, nową, napisaną zupełnie od podstaw wersją języka. Chociaż w wersji tej wciąż utrzymana zostanie filozofia Perla oraz jego powszechnie znana składnia, to jednak wszystkie inne elementy języka są ponownie analizowane i tworzone od podstaw.
Książka "Perl 6. Podstawy" to przegląd bieżącego stanu rozwoju języka Perl dla wszystkich dotychczasowych jego użytkowników, jak również dla początkujących programistów, którzy swoje pierwsze programistyczne doświadczenia wiążą z Perlem. Napisana przez członków głównego zespołu programistów języka książka prezentuje wyjaśnienie różnych etapów projektu, stanowiąc jednocześnie materiał referencyjny dla programistów, którzy są zainteresowani planowanymi zmianami, jak również dla tych, którzy chcieliby przyłączyć się do projektu. Książka ta z pewnością zaspokoi ich ciekawość i ukaże, w jaki sposób zmiany wprowadzone do języka uczynią z Perla jeszcze potężniejsze i łatwiejsze do stosowania narzędzie. "Perl 6. Podstawy" stanowi pierwszą książkę oferującą możliwość wejrzenia w kolejną główną wersję języka Perl. Stanowi ona niezbędną lekturę dla wszystkich osób zainteresowanych przyszłością tego doskonałego narzędzia.
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.
Od dawna Flash wykorzystywany jest do tworzenia efektownych, interaktywnych witryn WWW i prezentacji internetowych. Język programowania Action Script, znacznie rozbudowany w najnowszych wersjach tej aplikacji, umożliwia napisanie wielu oryginalnych, ciekawych programów. Czasem jednak nawet tak olbrzymi potencjał, jakim dysponuje Action Script, okazuje się niewystarczający. Co zrobić, gdy trzeba sięgnąć do bazy danych znajdującej się na serwerze lub przechować informacje o sesji? Jak dynamicznie uaktualniać treść artykułów opublikowanych w witrynie? Odpowiedź jest oczywista, trzeba sięgnąć po inne, rewelacyjne narzędzie dla twórców stron WWW, czyli duet PHP i MySQL -- dostępny nieodpłatnie w pełni obiektowy język programowania oraz stabilna i wydajna baza danych.
Książka "Flash i PHP5. Podstawy" to niezastąpiony poradnik dla tych użytkowników Flasha, którzy chcą "wycisnąć" z niego więcej, niż oferuje Action Script. Czytając ją, nauczysz się łączyć witryny WWW tworzone we Flashu ze skryptami PHP i bazą danych MySQL. Poznasz podstawy języków PHP i SQL i dowiesz się, jak skonfigurować środowisko pracy. Znajdziesz w niej informacje o możliwościach wykorzystania PHP do realizacji zadań, których wykonanie za pomocą języka Action Script byłoby niemożliwe. Te zadania to przetwarzanie danych wprowadzanych przez użytkowników, zapisywanie i odczytywanie informacji z bazy danych, zarządzanie sesjami i tworzenie mechanizmu zarządzania treścią serwisu.
* Instalacja i konfiguracja środowiska
* Wysyłanie danych z formularzy za pomocą poczty elektronicznej
* Obliczenia matematyczne w PHP
* Przetwarzanie danych tekstowych
* Tworzenie czytnika RSS
* Praca z bazami MySQL i SQLite
* Wprowadzanie informacji do bazy danych
* Obsługa sesji
* System CMS oparty o bazę danych i XML
Wykorzystaj PHP i stwórz dynamiczne witryny WWW we Flashu.
Język C++ to najpopularniejszy obecnie język programowania. Jego podstawowe zalety -- przejrzysta składnia, niewielka ilość słów kluczowych i szeroki wachlarz możliwości -- przysporzyły mu wielu zwolenników. Na rynku dostępnych jest wiele książek o programowaniu w C++, jednak większość z nich zawiera sposoby rozwiązywania konkretnych problemów i zadań programistycznych. Niewiele książek koncentruje się na założeniach, na których opiera się programowanie w języku C++.
W książce "Język C++. Koncepcje i techniki programowania" autorzy skoncentrowali się na kluczowych technikach programowania w C++. Jednak nie przedstawiają ich w formie odpowiedzi na pytania "jak to zrobić", ale "dlaczego robimy to tak, a nie inaczej". Opisują szeroki wachlarz idei i technik programowania w C++ począwszy od szczegółowych przykładów kodu, a skończywszy na zasadach i filozofii projektowania.
* Tworzenie klas
* Uchwyty klas
* Zasady projektowania obiektowego
* Szablony i iteratory
* Stosowanie bibliotek
* Projektowanie bibliotek
* Techniki programowania
Dzięki tej książce nauczysz się nie tylko przestrzegać reguł języka C++, ale także myśleć w tym języku podczas pracy nad programem.
O autorach:
Andrew Koenig jest członkiem działu badającego systemy oprogramowania w Shannon Laboratory firmy AT&T oraz redaktorem projektu komitetów standaryzacyjnych języka C++. [więcej...]
Barbara Moo jest konsultantką z dwudziestoletnim doświadczeniem programistycznym, zarządzała projektem pierwszego kompilatora C++. [więcej...]
Wykorzystaj w swoich projektach gotowe rozwiązania
* Przetwarzanie grafiki
* Operacje na plikach
* Komunikacja z bazami danych
PHP to jeden z najpopularniejszych języków wykorzystywanych do tworzenia dynamicznych witryn WWW. Od początku swojej obecności na rynku zyskał ogromne uznanie programistów. Jest dostępny nieodpłatnie i ma ogromne możliwości. Jego najnowsza wersja otworzyła przed twórcami aplikacji nowe horyzonty, oferując im wszystkie korzyści wynikające z programowania obiektowego. PHP jest dostępny dla większości popularnych systemów operacyjnych z rodziny Unix/Linux, Windows, Mac OS oraz Risc OS. Współpracuje też z wieloma serwerami HTTP, dzięki czemu jest niezwykle uniwersalny.
W książce "PHP. 101 praktycznych skryptów. Wydanie II" znajdziesz gotowe skrypty, dzięki którym zdecydowanie przyśpieszysz swoją pracę nad aplikacjami i serwisami internetowymi. To wydanie zostało tak zaktualizowane w stosunku do poprzedniego, że skrypty działają prawidłowo w najnowszej wersji języka PHP. Autor zapewnił także zgodność generowanych przez nie dokumentów HTML z obowiązującymi standardami tego języka. Każdy ze skryptów możesz po prostu wkleić do swojego kodu bądź zmodyfikować, aby dokładnie odpowiadał Twoim potrzebom. Korzystając z przykładów znajdujących się w tej książce, możesz dodać do swoich projektów funkcje obsługujące system plików, przetwarzające grafikę, zabezpieczające witryny i aplikacje przed nieautoryzowanym dostępem.
* Operacje sieciowe
* Praca z systemem plików
* Liczniki odwiedzin i księgi gości
* Przetwarzanie grafiki
* Autoryzacja użytkowników
* Komunikacja z bazami danych
* Przewodnik po najważniejszych elementach języka PHP
Skorzystaj ze sprawdzonych rozwiązań.
Przystępny kurs programowania dla wszystkich
* Poznaj najpopularniejsze języki programowania
* Zorganizuj sobie pracę przy tworzeniu aplikacji
* Napisz własny program
* Przetestuj aplikacje i usuń błędy
Mimo dynamicznego rozwoju informatyki wśród większości użytkowników komputerów nadal istnieje przekonanie, że programowanie jest zajęciem dla wybrańców posiadających ogromną i niemal tajemną wiedzę. Tymczasem pisanie programów to umiejętność, którą może opanować każdy. Oczywiście nauka programowania wymaga poznania wielu zagadnień teoretycznych i praktycznych, ale nie wymaga od osoby uczącej się żadnych niezwykłych umiejętności. Każdy może poznać zasady pisania programów, zarówno dla celów hobbystycznych, jak i zawodowych.
Książka "Programowanie. Od podstaw" to podręcznik programowania przeznaczony dla osób, które dopiero rozpoczynają swoją komputerową przygodę. Zawiera uniwersalne wiadomości przydatne każdemu programiście niezależnie od tego, co i w jakim języku będzie tworzyć. Czytając ją, poznasz wady i zalety różnych języków programowania, sposoby realizacji typowych zadań programistycznych i metody testowania aplikacji. Dowiesz się, jak komputery przechowują informacje, jakie systemy liczbowe wykorzystuje się w programowaniu i jakie narzędzia będą Ci potrzebne podczas pracy. Zdobędziesz solidne podstawy, które pozwolą Ci na dalsze rozwijanie swoich umiejętności.
* Sposób interpretacji kodu źródłowego przez komputer
* System binarny i szesnastkowy
* Warsztat pracy programisty
* Komentarze w kodach programów
* Definiowanie zmiennych
* Instrukcje warunkowe
* Testowanie i usuwanie błędów
* Projektowanie interfejsów użytkownika
* Operacje na plikach
* Wykorzystywanie rejestru Windows
* Zarządzanie wersjami kodu
* Kompilacja
Przekonaj się, że programowanie nie jest trudne.
Nie ucz się C++ -- naucz się programować w C++
* C++ od najprzydatniejszych elementów, a nie od elementów najprostszych
* Rzeczywiste zadania i ich rozwiązania
* Opis C++ i biblioteki standardowej
* Książka sprawdzona w praktyce na Uniwersytecie Stanford
Książka ta ma pomóc Czytelnikowi w szybkim nauczeniu się języka C++ poprzez pisanie w nim przydatnych programów. Ta strategia wydaje się oczywista, jednak jest odmienna od powszechnie przyjętej metodologii nauczania. Autorzy nie będą uczyć Cię języka C, choć wielu uważa, że jest to niezbędne. W prezentowanych przykładach od razu wykorzystane zostaną wysokopoziomowe struktury, a prezentacja sposobu ich zastosowania będzie często wyprzedzać omówienie ich fundamentów. Dzięki takiemu podejściu zaczniesz szybko pisać programy wykorzystujące idiomy C++.
Zastosowany w książce schemat autorzy wypróbowali podczas kursów prowadzonych na Uniwersytecie Stanforda, na których studenci uczą się pisać programy już na pierwszych zajęciach.
Poznaj:
* Podstawowe cechy C++
* Operacje na ciągach
* Pętle i liczniki
* Przetwarzanie danych "porcja po porcji"
* Organizację programów i danych
* Kontenery sekwencyjne i analiza ciągów tekstowych
* Algorytmy biblioteki standardowej
* Kontenery asocjacyjne
* Funkcje uogólnione i definiowanie własnych typów
* Zarządzanie pamięcią i niskopoziomowymi strukturami danych
* Półautomatyczne zarządzanie pamięcią
* Programowanie zorientowane obiektowo
O autorach:
Andrew Koenig jest członkiem działu badającego systemy oprogramowania w Shannon Laboratory firmy AT&T oraz redaktorem projektu komitetów standaryzacyjnych języka C++. [więcej...]
Barbara Moo jest konsultantką z dwudziestoletnim doświadczeniem programistycznym, zarządzała projektem pierwszego kompilatora C++. [więcej...]
Perl to uniwersalny, wygodny i niezwykle elastyczny język programowania. Jego rozwój, wspierany przez rzeszę programistów, doprowadził do stworzenia narzędzia o ogromnych możliwościach dostępnego dla prawie wszystkich systemów operacyjnych. Jest to język wyjątkowy, gdyż pozwala programiście na wybór własnego stylu pisania kodu, nie narzucając "jedynie słusznych" rozwiązań. Dzięki tej zalecie Perl cieszy się wielką popularnością wśród osób nie zajmujących się zawodowo programowaniem (np. administratorów czy webmasterów). Kilka tysięcy darmowych modułów dodatkowo poszerza potencjał Perla.
Książka "Perl. Od podstaw" przedstawia szeroki zakres zastosowań tego języka. Nauczysz się z niej instalować Perla w różnych systemach operacyjnych, poznasz podstawowe konstrukcje języka: instrukcje, wyrażenia regularne i moduły, dowiesz się jak korzystać z baz danych za pomocą Perla i jak pisać skrypty CGI.
Dla kogo adresowana jest ta książka?
Książka przeznaczona jest dla wszystkich, którzy chcą poznać język Perl. Jeśli masz już doświadczenie programistyczne, będzie Ci łatwiej ją czytać; jeśli Perl jest Twoim pierwszym językiem programowania, bez trudu przebrniesz przez tą lekturę.
Książka zawiera:
* Pełen kurs języka Perl (zarówno dla Windows jak i dla Uniksa)
* Opis korzystania z dodatkowych modułów dostępnych w sieci
* Opis składni Perla
* Sposoby wykorzystania plików i baz danych w Perlu
* Omówienie programowania skryptów CGI
* Wykorzystanie Perla jako języka zorientowanego obiektowo
Książka "PHP. Programowanie." to praktyczny przewodnik po PHP4 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. Opisane zostały także praktyczne metody tworzenia i diagnostyki programów w PHP4.
Książka PHP. Programowanie zawiera:
* Jasny i szczegółowy opis składni i funkcji PHP
* Dokładny opis integracji PHP z bazami danych
* Techniki tworzenia i optymalizacji skryptów, pod kątem ich wydajności i łatwej rozbudowy
* Praktyczne techniki diagnostyczne, ułatwiające znalezienie i poprawienie błędów
Program Macromedia Flash stał się niemal standardem w zakresie przygotowywania aplikacji multimedialnych na strony WWW, i nie tylko. Jest połączeniem narzędzia do grafiki wektorowej ze środowiskiem programistycznym, co pozwala na tworzenie nie tylko animacji, ale także elementów interaktywnych, pozwalających użytkownikowi między innymi na sterowanie odtwarzaniem oraz wprowadzanie i pobieranie danych. Aby do tworzonej we Flashu prezentacji dodać możliwość komunikacji z użytkownikiem, trzeba zastosować język ActionScript oraz moduły noszące nazwę "komponentów".
Książka "Macromedia Flash MX 2004. Sztuka projektowania" jest przeznaczona dla tych użytkowników Flasha, którzy opanowali już jego narzędzia graficzne i chcą wykonać następny krok -- wykorzystać w swoich pracach możliwości oferowane przez ActionScript. Opisuje sposoby używania tego języka do tworzenia pojedynczych elementów i całych aplikacji. Dowiesz się, jak pobierać i formatować dane ze źródeł zewnętrznych, odtwarzać cyfrowe wideo i tworzyć efektowne menu. Dzięki ćwiczeniom i przykładowym projektom zamieszczonym na dołączonym do książki CD-ROM-ie poszerzysz swoje umiejętności o zaawansowane techniki oparte na programowaniu w ActionScript.
* Korzystanie z bibliotek współdzielonych i danych zewnętrznych
* Formatowanie tekstu za pomocą języka HTML i arkuszy stylów
* Tworzenie interaktywnego pokazu slajdów
* Budowanie wskaźnika postępu ładowania danych
* Interaktywne formularze z weryfikacją wprowadzanych danych
* Odtwarzanie plików MP3 i cyfrowego wideo
* Menu stworzone z wykorzystaniem ActionScript
* Publikacja projektu na stronie WWW
Wykorzystaj ActionScript, by tchnąć życie w projekty wykonane we Flashu.
Poznaj możliwości środowiska Eclipse
* Korzystanie ze środowiska Eclipse
* Tworzenie programów w Javie w środowisku Eclipse
* Rozbudowa możliwości Eclipse za pomocą dodatkowych modułów
Eclipse to nie tylko doskonałe zintegrowane środowisko do tworzenia aplikacji w języku Java. To także platforma do tworzenia i integracji narzędzi programistycznych, umożliwiająca zbudowanie kompletnego warsztatu pracy zarówno dla pojedynczego programisty, jak i dla całego zespołu pracującego nad wspólnym projektem. Idea środowiska Eclipse została zainicjowana przez giganty rynku IT -- firmy, które zdecydowały się na stworzenie uniwersalnego narzędzia, umożliwiającego dostosowanie sposobu pracy z nim do wymagań różnych typów projektów. Eclipse to narzędzie zbudowane w oparciu o potrzeby programistów.
Książka "Eclipse. Przewodnik programisty" opisuje nie tylko środowisko Eclipse i sposoby zastosowania go w codziennej pracy twórcy oprogramowania. Przedstawia również metody rozbudowania go o dodatkowe moduły zwiększające jego możliwości i przydatność do konkretnego zadania. Autorzy książki, wykorzystując swoje doświadczenie zarówno w stosowaniu, jak i w nauczaniu Eclipse, pokazują, jak można dostosowywać platformę w celu zwiększenia efektywności i wydajności pracy oraz jak unikać najczęściej pojawiających się błędów i problemów.
* Podstawowe wiadomości o Eclipse -- interfejs, konfiguracja i połączenie z innymi aplikacjami
* Pakiet Java Development Tools
* Testowanie i usuwanie błędów aplikacji stworzonych za pomocą Eclipse
* Praca zespołowa -- współpraca Eclipse z systemem CVS
* Zarządzanie konfiguracją Eclipse
* Architektura środowiska Eclipse
* Tworzenie modułów rozszerzających
* Okna dialogowe, kreatory i widoki
* Architektura projektów
* Tworzenie pakietów i systemów pomocy dla użytkowników
* Wykorzystanie technologii COM i OLE
Dodatkowe ćwiczenia przedstawiają sposoby wykonania najbardziej typowych zadań związanych z obsługą środowiska Eclipse.
O Autorach:
Sherry Shavor, Jim D’Anjou, Scott Fairbrother, Dan Kehn oraz Pat McCarthy są projektantami oprogramowania zatrudnionymi w firmie IBM. Są również członkami IBM Eclipse Jumpstart Team -- zespołu, którego zadaniem jest promocja Eclipse i nauczanie sposobów wykorzystania tej platformy wśród społeczności programistów oraz partnerów biznesowych firmy IBM.
John Kellerman jest jednym z twórców projektu Eclipse oraz szefem zespołu pracującego nad Eclipse w firmie IBM.
Bazy danych to podstawa większości złożonych systemów informatycznych. W oparciu o dane czerpane z tabel w bazie działają portale i sklepy internetowe, aplikacje biznesowe i informacyjne, a nawet multimedialne witryny, coraz częściej spotykane w urzędach, muzeach i innych budynkach użyteczności publicznej. Na rynku dostępnych jest wiele systemów zarządzania bazami danych, oferowanych przez różnych producentów i na różnych zasadach licencjonowania. Pomimo istotnych różnic, wszystkie opierają się na podobnych założeniach, a projektowanie wydajnych baz danych odbywa się w niemal identyczny sposób, niezależnie od docelowego systemu zarządzania nimi. Opanowanie wiadomości leżących u podstaw projektowania i wykorzystywania baz danych jest więc niezbędne do stworzenia efektywnego i bezpiecznego zaplecza bazodanowego dla systemu informatycznego.
Książka "Wprowadzenie do systemów baz danych" to szczegółowe omówienie wszystkich aspektów projektowania i stosowania baz danych. Szczególny nacisk położono w niej na podstawy modelowania danych i definiowania tabel. Opisano języki i mechanizmy udostępniane przez systemy zarządzania bazami danych oraz techniki implementacji samych systemów. Książka może pełnić rolę podręcznika pomocnego przy poznawaniu zagadnień związanych z bazami danych lub źródła informacji dla projektantów i administratorów systemów bazodanowych.
* Rozwiązania oparte na bazach danych
* Użytkownicy baz danych
* Architektury systemów zarządzania bazami danych
* Modelowanie danych oparte na związkach encji
* Zastosowanie języka UML w modelowaniu danych
* Relacyjny model danych
* Język SQL-99
* Normalizacja danych
* Składowanie danych na dysku
* Indeksy i klucze
* Algorytmy przetwarzania zapytań
* Mechanizmy transakcyjne
* Obiektowe bazy danych
* Bezpieczeństwo danych
* Język XML w bazach danych
* Technologie eksploracji danych
* Hurtownie danych, systemy GIS i bazy danych dla urządzeń mobilnych
Książka stanowi źródło wiedzy dla projektantów baz danychi oprogramowania bazodanowego.
Język C++. Standardy kodowania. 101 zasad, wytycznych i zalecanych praktykWydawnictwo Helion
Czytelny i przejrzysty kod to podstawa sprawnego tworzenia aplikacji. W przypadku pracy zespołowej stosowanie wspólnego standardu kodowania to konieczność. Pisanie kodu w oparciu o określone standardy kodowania przyspiesza powstawanie programu, ułatwia komunikację pomiędzy członkami zespołu i pozwala na szybkie wdrożenie nowych programistów do projektu. Oczywiście, w każdej firmie lub zespole można ustalić własny standard kodowania -- ważne jest jednak, aby opierał się na określonych regułach, wynikających ze specyfiki języka programowania.
Książka "Język C++. Standardy kodowania. 101 zasad, wytycznych i zalecanych praktyk" zawiera opis wspomnianych reguł. Przedstawia zasady pisania kodu źródłowego i standaryzowania określonych zapisów, operacji i sposobów wykorzystania elementów języka C++. Każda z zasad jest szczegółowo omówiona i poparta praktycznymi przykładami. Książka prezentuje najlepsze ze znanych praktyk -- zarówno "starych", jak i tych, które całkiem niedawno uległy standaryzacji, oraz opisuje techniki, o których nie słyszeli nawet programiści z wieloletnim doświadczeniem.
* Organizacja kodu
* Styl projektowy i styl kodowania
* Skalowalność kodu
* Racjonalna i efektywna obsługa błędów
* Prawidłowe stosowanie elementów języka
* Odpowiednie korzystanie z STL
* Bezpieczeństwo typów
Usprawnij pracę, stosując standardy kodowania -- gdy za parę miesięcy będziesz musiał wrócić do swoich dzisiejszych programów, przekonasz się, że było warto.
Przewodnik po najnowszej wersji najpopularniejszego języka do tworzenia dynamicznych witryn WWW
Książka "PHP 5. Nowe możliwości" to opis wszystkich funkcji, które dodano do najnowszej wersji języka PHP. Jest adresowana do programistów korzystających z PHP 4, którzy chcą poznać nowe narzędzia wprowadzone w wersji 5. Każdy nowy mechanizm jest przedstawiony w postaci przykładu. Książka zawiera także porównanie sposobów realizacji typowych zadań programistycznych za pomocą języków PHP 4 i PHP 5, co ułatwia migrację do nowej wersji.
* Zasady programowania obiektowego
* Współpraca z bazą danych MySQL
* Środowisko SQLite
* Mechanizmy obsługi języka XML
* Obsługa błędów za pomocą wyjątków
* Korzystanie z mechanizmów SOAP
Mandrake Linux to kolejna z bardzo rozpowszechnionych dystrybucji Linuksa -- dostępnego nieodpłatnie systemu operacyjnego, którego popularność jest fenomenem na współczesnym rynku oprogramowania. Nad jego rozwojem pracuje grono programistów z całego świata. Różne dystrybucje Linuksa są wykorzystywane zarówno przez użytkowników prywatnych, jak i przez duże korporacje.
"Mandrake Linux. Ćwiczenia zaawansowane" to zbiór zadań przeznaczonych dla tych użytkowników Mandrake Linuksa, którzy etap poznawania podstaw systemu mają już za sobą. Dzięki lekturze tej książeczki rozszerzysz swoją wiedzę o zagadnienia związane z administracją Linuksem i pracą w trybie tekstowym.
* Aktualizacja oprogramowania
* Polecenia konsoli
* Przetwarzanie potokowe
* Administracja kontami użytkowników
* Konfiguracja programu ładującego
* Mechanizmy sieciowe
* Środowisko graficzne KDE
Poznaj język PHP -- najpopularniejszą technologiętworzenia dynamicznych witryn WWW
* Sposoby przetwarzania informacji z formularzy na stronach WWW
* Komunikacja z bazą danych
* Usuwanie błędów z kodu
Dynamiczne witryny WWW stopniowo wypierają takie, które opierają się wyłącznie na statycznych treściach. Możliwość połączenia stron z bazą danych pozwoliła na tworzenie portali, sklepów internetowych, katalogów, forów dyskusyjnych i wielu innych witryn, bez których trudno sobie wyobrazić oblicze współczesnego internetu. Spośród technologii wykorzystywanych do tworzenia dynamicznych witryn WWW największą popularnością cieszy się PHP. Tę dostępną nieodpłatnie platformę można uruchomić w każdym systemie operacyjnym. PHP jest językiem stosunkowo prostym. Pisane w nim skrypty są osadzane w kodzie strony WWW i interpretowane podczas jej wyświetlania w przeglądarce.
"PHP w mgnieniu oka" to książka dla tych, którzy chcą szybko poznać najważniejsze elementy programowania w języku PHP. Opisuje podstawowe zagadnienia związane ze zmiennymi, słowami kluczowymi i organizacją kodu. Czytając ją, dowiesz się, jak za pomocą PHP przetwarzać różne typy danych, jak osadzać kod PHP wewnątrz kodu HTML i jak tworzyć elementy stron WWW. Nauczysz się również łączyć skrypty PHP z zewnętrznymi programami, serwerami i usługami, przeczytasz o komunikacji z bazą danych, obsłudze systemu plików i usuwaniu błędów ze skryptów.
* Zmienne i stałe w PHP
* Sterowanie przebiegiem programu
* Stosowanie funkcji
* Przetwarzanie różnych typów danych
* Obsługa formularzy HTML, sesji i plików cookie
* Uwierzytelnianie użytkowników
* Komunikacja z serwerem WWW
* Łączenie z bazą danych
* Obsługa błędów
* Klasy z repozytorium PEAR
Jeśli chcesz nauczyć się PHP, ale nie masz na to zbyt wiele czasu, koniecznie przeczytaj tę książkę.
PHP jedna z najpopularniejszych technologii służących do budowy aplikacji internetowych. Jest to niezależny od platformy prosty język o łatwej składni, przyjazny dla początkujących programistów. Ta ostatnia cecha zadecydowała o jego szerokim rozpowszechnieniu.
Dzięki książce " PHP4. Zaawansowane programowanie" poznasz wiele sekretów profesjonalnych zastosowań tego języka. Nauczy Cię tworzyć programy, które są skalowalne, wydajne i bezpieczne, a także, dzięki modularnej, wielowarstwowej konstrukcji, łatwe w rozbudowie. Ta książka nie jest tylko zbiorem sztuczek i tricków. Poznasz dzięki niej wiele zaawansowanych koncepcji pomagających tworzyć wydajne aplikacje internetowe na dużą skalę. Dowiesz się, jak stworzyć program kliencki do odczytywania e-maili, nauczysz się tworzyć zabezpieczone aplikacje, używać sesji i korzystać ze złożonych struktur danych.
Dla kogo jest ta książka:
"PHP4. Zaawansowane programowanie" to książka dla programistów, którzy opanowali podstawy programowania i posiadają ogólną znajomość technologii bazodanowych i są zainteresowani tworzeniem dużych aplikacji internetowych w PHP.
Co opisuje ta książka:
* Instalację PHP w systemach uniksowych, Windows i MacOS X
* Sesje i cookies, pisanie klientów FTP, korzystanie z funkcji sieciowych i usług katalogowych
* Wsparcie dla LDAP dostępne w PHP
* Tworzenie wielowarstwowych aplikacji w PHP
* Korzystanie z dokumentów XML
* Korzystanie z baz danych MySQL, PostgreSQL i interfejsu ODBC
* Zabezpieczanie, optymalizację aplikacji, tworzenie wersji językowych programów
* Przykłady z życia wzięte: aplikacja do obsługi spisu pracowników, sieciowa biblioteka
* Tworzenie interfejsu GTK do aplikacji
* Studium przypadku: system uprawnień dla użytkowników i wielowarstwowa aplikacja e-commerce z wykorzystaniem WML
Efektywne wykorzystanie potencjału systemów uniksowych
* Automatyzacja zadań
* Przeszukiwanie plików i katalogów
* Przenoszenie skryptów pomiędzy systemami
W dobie graficznych narzędzi programistycznych często pomijamy tradycyjne metody rozwiązywania przeróżnych zadań związanych z działaniem systemu operacyjnego. Skrypty powłoki, niegdyś podstawowe narzędzie administratorów i programistów systemów uniksowych, dziś są zdecydowanie mniej popularne. Skrypty powłoki są przydatne zarówno administratorom systemu, jak i szeregowym użytkownikom, ponieważ są jednym z najlepszych sposobów na zaprzęgnięcie do pracy setek narzędzi, w jakie wyposażony jest Unix. Z narzędzi tych w języku programowania powłoki łatwo stworzyć rozwiązanie niemal dowolnego zadania związanego z przetwarzaniem danych.
Książka "Programowanie skryptów powłoki" to kompendium wiedzy dotyczącej tej nieco już zapomnianej techniki. Przedstawia nie tylko język programowania powłoki, ale także narzędzia systemu Unix. Dostarcza informacji o tym, do jakich zadań się nadają, jak je wywoływać i jak łączyć je z innymi programami, konstruując z nich mechanizm przetwarzania danych. W książce opisano nie tylko sposoby pisania użytecznych skryptów powłoki, ale również metody dostosowywania powłoki do własnych potrzeb oraz przenoszenia skryptów pomiędzy różnymi wariantami Uniksa i różnymi implementacjami powłoki.
* Podstawowe elementy skryptów powłoki
* Wyszukiwanie i zastępowanie fragmentów tekstów
* Stosowanie wyrażeń regularnych
* Korzystanie z potoków
* Instrukcje warunkowe
* Definiowanie i stosowanie zmiennych
* Przetwarzanie plików
* Standardowe wejście i wyjście
* Korzystanie z możliwości awk
* Przenoszenie skryptów pomiędzy różnymi powłokami
* Bezpieczeństwo skryptów powłoki
Książka "Programowanie skryptów powłoki" zawiera wszystkie informacje niezbędne do mistrzowskiego opanowania narzędzi oferowanych przez systemy uniksowe.
Poznanie istoty programowania komputerów można zacząć od analizy języków programowania, ich struktur, typów danych i instrukcji. Jednak mnogość języków, różnice pomiędzy nimi i możliwość wykorzystania ich do różnych zadań sprawiają, że przeprowadzenie takiej analizy będzie niezwykle czasochłonne, a jednocześnie nie będzie gwarantowało poznania wszystkich koncepcji i paradygmatów programowania. Naukę koncepcji programowania najlepiej rozpocząć od poznania modelowych struktur realizowanych za pomocą modeli obliczeniowych -- konstrukcji definiujących sposób realizacji obliczeń, nie powołujących się na konkretny język.
Książka "Programowanie. Koncepcje, techniki i modele" prezentuje programowanie jako zbiór takich właśnie modeli. Opisuje je w postaci kodów stworzonych w prostym języku podstawowym przeznaczonym dla abstrakcyjnego komputera. W książce przedstawiono zarówno modele ogólne -- programowanie deklaratywne, współbieżność deklaratywną, współbieżność przesyłania komunikatów, stan jawny, programowanie zorientowane obiektowo, współbieżność stanu dzielonego oraz programowanie relacyjne -- jak i modele specjalizowane, takie jak programowanie graficznych interfejsów użytkownika, programowanie rozproszone oraz programowanie z ograniczeniami. Publikacja zawiera wiele fragmentów programów i ćwiczeń. Można je uruchomić w ramach systemu Mozart Programming System -- pakietu programistycznego rozprowadzanego na licencji open source.
* Podstawowe założenia problematyki programowania
* Notacja Backusa-Naura
* Gramatyki kontekstowe i bezkontekstowe
* Zasada działania maszyny abstrakcyjnej
* Typy danych, instrukcje i funkcje
* Drzewa i analiza składniowa
* Metodologie projektowania programów
* Programowanie współbieżne
* Zasady projektowanie i programowanie obiektowego
* Projektowanie interfejsów użytkownika
* Obliczenia rozproszone
Pisanie niezawodnych programów wymaga opanowania koncepcji leżących u ich podstaw. Dzięki tej książce poznasz je wszystkie.
Statyczne strony WWW tworzone w języku HTML nie zawsze spełniają oczekiwania twórców i odbiorców. Coraz częściej ich miejsce zajmują dynamiczne serwisy WWW oparte na bazach danych. Jednym z najpopularniejszych narzędzi do ich tworzenia jest język PHP. Jest to łatwy do opanowania język skryptowy działający po stronie serwera, dystrybuowany na zasadzie open source. Ponieważ ma ogromne możliwości, do tworzenia dynamicznych witryn WWW i aplikacji internetowych używają go setki programistów na całym świecie. Dzięki wiadomościom zawartym w tej książce łatwiej dołączyć do ich grona i napisać samodzielnie mechanizmy, na których opierają się dynamiczne witryny internetowe.
Książka "PHP. Praktyczne wprowadzenie" ułatwia szybkie i bezproblemowe pokonanie dystansu pomiędzy statycznymi witrynami w języku HTML a dynamicznymi serwisami WWW w języku PHP. Na przykładzie prawdziwego projektu -- budowy dynamicznej witryny WWW -- pokazano, jak używać PHP do tworzenia wszystkich elementów takiej witryny. Autor książki, Urlich G
Poznaj w niekonwencjonalny sposób zasady stosowania wzorców projektowych
* Dowiedz się, czym są wzorce projektowe
* Poznaj typy wzorców projektowych
* Zastosuj wzorce projektowe w praktyce
* Naucz się projektować aplikacje w oparciu o wzorce projektowe
Otwórz swój umysł. Poznaj wszystko, co jest związane z wzorcami projektowymi, w sposób gwarantujący szybkie i skuteczne opanowanie zasad ich stosowania. Zapomnij o listingach liczących tysiące linii, długich i nużących opisach teoretycznych oraz rozbudowanych schematach zależności. Czytając książkę "Head First Design Patterns. Edycja polska", poznasz wzorce projektowe w inny sposób. Wzorce projektowe to gotowe opisy rozwiązań najczęściej spotykanych zagadnień związanych z tworzeniem oprogramowania. Aby je prawidłowo stosować, należy poznać założenia, na podstawie których zostały stworzone, oraz nauczyć się implementować je we właściwy sposób.
Dzięki książce "Head First Design Pattern. Edycja polska" wszystkie pojęcia związane ze wzorcami projektowymi przestaną być dla Ciebie wiedzą tajemną. Autorzy książki, wykorzystując najnowsze elementy teorii uczenia, przedstawią Ci wszystkie zagadnienia niezbędne do rozpoczęcia projektowania i tworzenia aplikacji w oparciu o wzorce projektowe. Poznasz najczęściej stosowane wzorce projektowe, metody ich implementacji i zadania, do jakich są przeznaczone. Jednak, co najważniejsze, nauczysz się stosować tę wiedzę w praktyce.
* Cele stosowania wzorców projektowych
* Założenia, na których opierają się wzorce projektowe
* Najważniejsze i najczęściej wykorzystywane wzorce projektowe
* Przechowywanie i prezentacja danych
* Mechanizm RMI
* Wzorzec MVC
* Implementacja wzorców projektowych w aplikacjach
Przekonaj się, że nowoczesne metody nauczania mogą zmienić również sposób poznawania nowoczesnych technik programistycznych.
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
Pierwsze spojrzenie na najnowszą wersję języka Perl
Książka "Perl 6. Podstawy" jest krótkim przeglądem projektu Perl 6, będącego powszechnie oczekiwaną, zupełnie nową wersją języka programowania Perl. Projekt ten znajduje się wciąż w fazie rozwoju i jest efektem wysiłku całej społeczności Perla, mającym na celu utrzymanie go pośród języków programowania XXI wieku.
Wiele osób wciąż zaangażowanych jest w rozwój Perla 5; w tym samym czasie główna grupa programistów Perla rozpoczęła pracę nad językiem Perl 6, nową, napisaną zupełnie od podstaw wersją języka. Chociaż w wersji tej wciąż utrzymana zostanie filozofia Perla oraz jego powszechnie znana składnia, to jednak wszystkie inne elementy języka są ponownie analizowane i tworzone od podstaw.
Książka "Perl 6. Podstawy" to przegląd bieżącego stanu rozwoju języka Perl dla wszystkich dotychczasowych jego użytkowników, jak również dla początkujących programistów, którzy swoje pierwsze programistyczne doświadczenia wiążą z Perlem. Napisana przez członków głównego zespołu programistów języka książka prezentuje wyjaśnienie różnych etapów projektu, stanowiąc jednocześnie materiał referencyjny dla programistów, którzy są zainteresowani planowanymi zmianami, jak również dla tych, którzy chcieliby przyłączyć się do projektu. Książka ta z pewnością zaspokoi ich ciekawość i ukaże, w jaki sposób zmiany wprowadzone do języka uczynią z Perla jeszcze potężniejsze i łatwiejsze do stosowania narzędzie. "Perl 6. Podstawy" stanowi pierwszą książkę oferującą możliwość wejrzenia w kolejną główną wersję języka Perl. Stanowi ona niezbędną lekturę dla wszystkich osób zainteresowanych przyszłością tego doskonałego narzędzia.
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.
Od dawna Flash wykorzystywany jest do tworzenia efektownych, interaktywnych witryn WWW i prezentacji internetowych. Język programowania Action Script, znacznie rozbudowany w najnowszych wersjach tej aplikacji, umożliwia napisanie wielu oryginalnych, ciekawych programów. Czasem jednak nawet tak olbrzymi potencjał, jakim dysponuje Action Script, okazuje się niewystarczający. Co zrobić, gdy trzeba sięgnąć do bazy danych znajdującej się na serwerze lub przechować informacje o sesji? Jak dynamicznie uaktualniać treść artykułów opublikowanych w witrynie? Odpowiedź jest oczywista, trzeba sięgnąć po inne, rewelacyjne narzędzie dla twórców stron WWW, czyli duet PHP i MySQL -- dostępny nieodpłatnie w pełni obiektowy język programowania oraz stabilna i wydajna baza danych.
Książka "Flash i PHP5. Podstawy" to niezastąpiony poradnik dla tych użytkowników Flasha, którzy chcą "wycisnąć" z niego więcej, niż oferuje Action Script. Czytając ją, nauczysz się łączyć witryny WWW tworzone we Flashu ze skryptami PHP i bazą danych MySQL. Poznasz podstawy języków PHP i SQL i dowiesz się, jak skonfigurować środowisko pracy. Znajdziesz w niej informacje o możliwościach wykorzystania PHP do realizacji zadań, których wykonanie za pomocą języka Action Script byłoby niemożliwe. Te zadania to przetwarzanie danych wprowadzanych przez użytkowników, zapisywanie i odczytywanie informacji z bazy danych, zarządzanie sesjami i tworzenie mechanizmu zarządzania treścią serwisu.
* Instalacja i konfiguracja środowiska
* Wysyłanie danych z formularzy za pomocą poczty elektronicznej
* Obliczenia matematyczne w PHP
* Przetwarzanie danych tekstowych
* Tworzenie czytnika RSS
* Praca z bazami MySQL i SQLite
* Wprowadzanie informacji do bazy danych
* Obsługa sesji
* System CMS oparty o bazę danych i XML
Wykorzystaj PHP i stwórz dynamiczne witryny WWW we Flashu.
Język C++ to najpopularniejszy obecnie język programowania. Jego podstawowe zalety -- przejrzysta składnia, niewielka ilość słów kluczowych i szeroki wachlarz możliwości -- przysporzyły mu wielu zwolenników. Na rynku dostępnych jest wiele książek o programowaniu w C++, jednak większość z nich zawiera sposoby rozwiązywania konkretnych problemów i zadań programistycznych. Niewiele książek koncentruje się na założeniach, na których opiera się programowanie w języku C++.
W książce "Język C++. Koncepcje i techniki programowania" autorzy skoncentrowali się na kluczowych technikach programowania w C++. Jednak nie przedstawiają ich w formie odpowiedzi na pytania "jak to zrobić", ale "dlaczego robimy to tak, a nie inaczej". Opisują szeroki wachlarz idei i technik programowania w C++ począwszy od szczegółowych przykładów kodu, a skończywszy na zasadach i filozofii projektowania.
* Tworzenie klas
* Uchwyty klas
* Zasady projektowania obiektowego
* Szablony i iteratory
* Stosowanie bibliotek
* Projektowanie bibliotek
* Techniki programowania
Dzięki tej książce nauczysz się nie tylko przestrzegać reguł języka C++, ale także myśleć w tym języku podczas pracy nad programem.
O autorach:
Andrew Koenig jest członkiem działu badającego systemy oprogramowania w Shannon Laboratory firmy AT&T oraz redaktorem projektu komitetów standaryzacyjnych języka C++. [więcej...]
Barbara Moo jest konsultantką z dwudziestoletnim doświadczeniem programistycznym, zarządzała projektem pierwszego kompilatora C++. [więcej...]
Wykorzystaj w swoich projektach gotowe rozwiązania
* Przetwarzanie grafiki
* Operacje na plikach
* Komunikacja z bazami danych
PHP to jeden z najpopularniejszych języków wykorzystywanych do tworzenia dynamicznych witryn WWW. Od początku swojej obecności na rynku zyskał ogromne uznanie programistów. Jest dostępny nieodpłatnie i ma ogromne możliwości. Jego najnowsza wersja otworzyła przed twórcami aplikacji nowe horyzonty, oferując im wszystkie korzyści wynikające z programowania obiektowego. PHP jest dostępny dla większości popularnych systemów operacyjnych z rodziny Unix/Linux, Windows, Mac OS oraz Risc OS. Współpracuje też z wieloma serwerami HTTP, dzięki czemu jest niezwykle uniwersalny.
W książce "PHP. 101 praktycznych skryptów. Wydanie II" znajdziesz gotowe skrypty, dzięki którym zdecydowanie przyśpieszysz swoją pracę nad aplikacjami i serwisami internetowymi. To wydanie zostało tak zaktualizowane w stosunku do poprzedniego, że skrypty działają prawidłowo w najnowszej wersji języka PHP. Autor zapewnił także zgodność generowanych przez nie dokumentów HTML z obowiązującymi standardami tego języka. Każdy ze skryptów możesz po prostu wkleić do swojego kodu bądź zmodyfikować, aby dokładnie odpowiadał Twoim potrzebom. Korzystając z przykładów znajdujących się w tej książce, możesz dodać do swoich projektów funkcje obsługujące system plików, przetwarzające grafikę, zabezpieczające witryny i aplikacje przed nieautoryzowanym dostępem.
* Operacje sieciowe
* Praca z systemem plików
* Liczniki odwiedzin i księgi gości
* Przetwarzanie grafiki
* Autoryzacja użytkowników
* Komunikacja z bazami danych
* Przewodnik po najważniejszych elementach języka PHP
Skorzystaj ze sprawdzonych rozwiązań.
Przystępny kurs programowania dla wszystkich
* Poznaj najpopularniejsze języki programowania
* Zorganizuj sobie pracę przy tworzeniu aplikacji
* Napisz własny program
* Przetestuj aplikacje i usuń błędy
Mimo dynamicznego rozwoju informatyki wśród większości użytkowników komputerów nadal istnieje przekonanie, że programowanie jest zajęciem dla wybrańców posiadających ogromną i niemal tajemną wiedzę. Tymczasem pisanie programów to umiejętność, którą może opanować każdy. Oczywiście nauka programowania wymaga poznania wielu zagadnień teoretycznych i praktycznych, ale nie wymaga od osoby uczącej się żadnych niezwykłych umiejętności. Każdy może poznać zasady pisania programów, zarówno dla celów hobbystycznych, jak i zawodowych.
Książka "Programowanie. Od podstaw" to podręcznik programowania przeznaczony dla osób, które dopiero rozpoczynają swoją komputerową przygodę. Zawiera uniwersalne wiadomości przydatne każdemu programiście niezależnie od tego, co i w jakim języku będzie tworzyć. Czytając ją, poznasz wady i zalety różnych języków programowania, sposoby realizacji typowych zadań programistycznych i metody testowania aplikacji. Dowiesz się, jak komputery przechowują informacje, jakie systemy liczbowe wykorzystuje się w programowaniu i jakie narzędzia będą Ci potrzebne podczas pracy. Zdobędziesz solidne podstawy, które pozwolą Ci na dalsze rozwijanie swoich umiejętności.
* Sposób interpretacji kodu źródłowego przez komputer
* System binarny i szesnastkowy
* Warsztat pracy programisty
* Komentarze w kodach programów
* Definiowanie zmiennych
* Instrukcje warunkowe
* Testowanie i usuwanie błędów
* Projektowanie interfejsów użytkownika
* Operacje na plikach
* Wykorzystywanie rejestru Windows
* Zarządzanie wersjami kodu
* Kompilacja
Przekonaj się, że programowanie nie jest trudne.
Nie ucz się C++ -- naucz się programować w C++
* C++ od najprzydatniejszych elementów, a nie od elementów najprostszych
* Rzeczywiste zadania i ich rozwiązania
* Opis C++ i biblioteki standardowej
* Książka sprawdzona w praktyce na Uniwersytecie Stanford
Książka ta ma pomóc Czytelnikowi w szybkim nauczeniu się języka C++ poprzez pisanie w nim przydatnych programów. Ta strategia wydaje się oczywista, jednak jest odmienna od powszechnie przyjętej metodologii nauczania. Autorzy nie będą uczyć Cię języka C, choć wielu uważa, że jest to niezbędne. W prezentowanych przykładach od razu wykorzystane zostaną wysokopoziomowe struktury, a prezentacja sposobu ich zastosowania będzie często wyprzedzać omówienie ich fundamentów. Dzięki takiemu podejściu zaczniesz szybko pisać programy wykorzystujące idiomy C++.
Zastosowany w książce schemat autorzy wypróbowali podczas kursów prowadzonych na Uniwersytecie Stanforda, na których studenci uczą się pisać programy już na pierwszych zajęciach.
Poznaj:
* Podstawowe cechy C++
* Operacje na ciągach
* Pętle i liczniki
* Przetwarzanie danych "porcja po porcji"
* Organizację programów i danych
* Kontenery sekwencyjne i analiza ciągów tekstowych
* Algorytmy biblioteki standardowej
* Kontenery asocjacyjne
* Funkcje uogólnione i definiowanie własnych typów
* Zarządzanie pamięcią i niskopoziomowymi strukturami danych
* Półautomatyczne zarządzanie pamięcią
* Programowanie zorientowane obiektowo
O autorach:
Andrew Koenig jest członkiem działu badającego systemy oprogramowania w Shannon Laboratory firmy AT&T oraz redaktorem projektu komitetów standaryzacyjnych języka C++. [więcej...]
Barbara Moo jest konsultantką z dwudziestoletnim doświadczeniem programistycznym, zarządzała projektem pierwszego kompilatora C++. [więcej...]
Perl to uniwersalny, wygodny i niezwykle elastyczny język programowania. Jego rozwój, wspierany przez rzeszę programistów, doprowadził do stworzenia narzędzia o ogromnych możliwościach dostępnego dla prawie wszystkich systemów operacyjnych. Jest to język wyjątkowy, gdyż pozwala programiście na wybór własnego stylu pisania kodu, nie narzucając "jedynie słusznych" rozwiązań. Dzięki tej zalecie Perl cieszy się wielką popularnością wśród osób nie zajmujących się zawodowo programowaniem (np. administratorów czy webmasterów). Kilka tysięcy darmowych modułów dodatkowo poszerza potencjał Perla.
Książka "Perl. Od podstaw" przedstawia szeroki zakres zastosowań tego języka. Nauczysz się z niej instalować Perla w różnych systemach operacyjnych, poznasz podstawowe konstrukcje języka: instrukcje, wyrażenia regularne i moduły, dowiesz się jak korzystać z baz danych za pomocą Perla i jak pisać skrypty CGI.
Dla kogo adresowana jest ta książka?
Książka przeznaczona jest dla wszystkich, którzy chcą poznać język Perl. Jeśli masz już doświadczenie programistyczne, będzie Ci łatwiej ją czytać; jeśli Perl jest Twoim pierwszym językiem programowania, bez trudu przebrniesz przez tą lekturę.
Książka zawiera:
* Pełen kurs języka Perl (zarówno dla Windows jak i dla Uniksa)
* Opis korzystania z dodatkowych modułów dostępnych w sieci
* Opis składni Perla
* Sposoby wykorzystania plików i baz danych w Perlu
* Omówienie programowania skryptów CGI
* Wykorzystanie Perla jako języka zorientowanego obiektowo
Książka "PHP. Programowanie." to praktyczny przewodnik po PHP4 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. Opisane zostały także praktyczne metody tworzenia i diagnostyki programów w PHP4.
Książka PHP. Programowanie zawiera:
* Jasny i szczegółowy opis składni i funkcji PHP
* Dokładny opis integracji PHP z bazami danych
* Techniki tworzenia i optymalizacji skryptów, pod kątem ich wydajności i łatwej rozbudowy
* Praktyczne techniki diagnostyczne, ułatwiające znalezienie i poprawienie błędów
Program Macromedia Flash stał się niemal standardem w zakresie przygotowywania aplikacji multimedialnych na strony WWW, i nie tylko. Jest połączeniem narzędzia do grafiki wektorowej ze środowiskiem programistycznym, co pozwala na tworzenie nie tylko animacji, ale także elementów interaktywnych, pozwalających użytkownikowi między innymi na sterowanie odtwarzaniem oraz wprowadzanie i pobieranie danych. Aby do tworzonej we Flashu prezentacji dodać możliwość komunikacji z użytkownikiem, trzeba zastosować język ActionScript oraz moduły noszące nazwę "komponentów".
Książka "Macromedia Flash MX 2004. Sztuka projektowania" jest przeznaczona dla tych użytkowników Flasha, którzy opanowali już jego narzędzia graficzne i chcą wykonać następny krok -- wykorzystać w swoich pracach możliwości oferowane przez ActionScript. Opisuje sposoby używania tego języka do tworzenia pojedynczych elementów i całych aplikacji. Dowiesz się, jak pobierać i formatować dane ze źródeł zewnętrznych, odtwarzać cyfrowe wideo i tworzyć efektowne menu. Dzięki ćwiczeniom i przykładowym projektom zamieszczonym na dołączonym do książki CD-ROM-ie poszerzysz swoje umiejętności o zaawansowane techniki oparte na programowaniu w ActionScript.
* Korzystanie z bibliotek współdzielonych i danych zewnętrznych
* Formatowanie tekstu za pomocą języka HTML i arkuszy stylów
* Tworzenie interaktywnego pokazu slajdów
* Budowanie wskaźnika postępu ładowania danych
* Interaktywne formularze z weryfikacją wprowadzanych danych
* Odtwarzanie plików MP3 i cyfrowego wideo
* Menu stworzone z wykorzystaniem ActionScript
* Publikacja projektu na stronie WWW
Wykorzystaj ActionScript, by tchnąć życie w projekty wykonane we Flashu.
Poznaj możliwości środowiska Eclipse
* Korzystanie ze środowiska Eclipse
* Tworzenie programów w Javie w środowisku Eclipse
* Rozbudowa możliwości Eclipse za pomocą dodatkowych modułów
Eclipse to nie tylko doskonałe zintegrowane środowisko do tworzenia aplikacji w języku Java. To także platforma do tworzenia i integracji narzędzi programistycznych, umożliwiająca zbudowanie kompletnego warsztatu pracy zarówno dla pojedynczego programisty, jak i dla całego zespołu pracującego nad wspólnym projektem. Idea środowiska Eclipse została zainicjowana przez giganty rynku IT -- firmy, które zdecydowały się na stworzenie uniwersalnego narzędzia, umożliwiającego dostosowanie sposobu pracy z nim do wymagań różnych typów projektów. Eclipse to narzędzie zbudowane w oparciu o potrzeby programistów.
Książka "Eclipse. Przewodnik programisty" opisuje nie tylko środowisko Eclipse i sposoby zastosowania go w codziennej pracy twórcy oprogramowania. Przedstawia również metody rozbudowania go o dodatkowe moduły zwiększające jego możliwości i przydatność do konkretnego zadania. Autorzy książki, wykorzystując swoje doświadczenie zarówno w stosowaniu, jak i w nauczaniu Eclipse, pokazują, jak można dostosowywać platformę w celu zwiększenia efektywności i wydajności pracy oraz jak unikać najczęściej pojawiających się błędów i problemów.
* Podstawowe wiadomości o Eclipse -- interfejs, konfiguracja i połączenie z innymi aplikacjami
* Pakiet Java Development Tools
* Testowanie i usuwanie błędów aplikacji stworzonych za pomocą Eclipse
* Praca zespołowa -- współpraca Eclipse z systemem CVS
* Zarządzanie konfiguracją Eclipse
* Architektura środowiska Eclipse
* Tworzenie modułów rozszerzających
* Okna dialogowe, kreatory i widoki
* Architektura projektów
* Tworzenie pakietów i systemów pomocy dla użytkowników
* Wykorzystanie technologii COM i OLE
Dodatkowe ćwiczenia przedstawiają sposoby wykonania najbardziej typowych zadań związanych z obsługą środowiska Eclipse.
O Autorach:
Sherry Shavor, Jim D’Anjou, Scott Fairbrother, Dan Kehn oraz Pat McCarthy są projektantami oprogramowania zatrudnionymi w firmie IBM. Są również członkami IBM Eclipse Jumpstart Team -- zespołu, którego zadaniem jest promocja Eclipse i nauczanie sposobów wykorzystania tej platformy wśród społeczności programistów oraz partnerów biznesowych firmy IBM.
John Kellerman jest jednym z twórców projektu Eclipse oraz szefem zespołu pracującego nad Eclipse w firmie IBM.
Bazy danych to podstawa większości złożonych systemów informatycznych. W oparciu o dane czerpane z tabel w bazie działają portale i sklepy internetowe, aplikacje biznesowe i informacyjne, a nawet multimedialne witryny, coraz częściej spotykane w urzędach, muzeach i innych budynkach użyteczności publicznej. Na rynku dostępnych jest wiele systemów zarządzania bazami danych, oferowanych przez różnych producentów i na różnych zasadach licencjonowania. Pomimo istotnych różnic, wszystkie opierają się na podobnych założeniach, a projektowanie wydajnych baz danych odbywa się w niemal identyczny sposób, niezależnie od docelowego systemu zarządzania nimi. Opanowanie wiadomości leżących u podstaw projektowania i wykorzystywania baz danych jest więc niezbędne do stworzenia efektywnego i bezpiecznego zaplecza bazodanowego dla systemu informatycznego.
Książka "Wprowadzenie do systemów baz danych" to szczegółowe omówienie wszystkich aspektów projektowania i stosowania baz danych. Szczególny nacisk położono w niej na podstawy modelowania danych i definiowania tabel. Opisano języki i mechanizmy udostępniane przez systemy zarządzania bazami danych oraz techniki implementacji samych systemów. Książka może pełnić rolę podręcznika pomocnego przy poznawaniu zagadnień związanych z bazami danych lub źródła informacji dla projektantów i administratorów systemów bazodanowych.
* Rozwiązania oparte na bazach danych
* Użytkownicy baz danych
* Architektury systemów zarządzania bazami danych
* Modelowanie danych oparte na związkach encji
* Zastosowanie języka UML w modelowaniu danych
* Relacyjny model danych
* Język SQL-99
* Normalizacja danych
* Składowanie danych na dysku
* Indeksy i klucze
* Algorytmy przetwarzania zapytań
* Mechanizmy transakcyjne
* Obiektowe bazy danych
* Bezpieczeństwo danych
* Język XML w bazach danych
* Technologie eksploracji danych
* Hurtownie danych, systemy GIS i bazy danych dla urządzeń mobilnych
Książka stanowi źródło wiedzy dla projektantów baz danychi oprogramowania bazodanowego.
Język C++. Standardy kodowania. 101 zasad, wytycznych i zalecanych praktykWydawnictwo Helion
Czytelny i przejrzysty kod to podstawa sprawnego tworzenia aplikacji. W przypadku pracy zespołowej stosowanie wspólnego standardu kodowania to konieczność. Pisanie kodu w oparciu o określone standardy kodowania przyspiesza powstawanie programu, ułatwia komunikację pomiędzy członkami zespołu i pozwala na szybkie wdrożenie nowych programistów do projektu. Oczywiście, w każdej firmie lub zespole można ustalić własny standard kodowania -- ważne jest jednak, aby opierał się na określonych regułach, wynikających ze specyfiki języka programowania.
Książka "Język C++. Standardy kodowania. 101 zasad, wytycznych i zalecanych praktyk" zawiera opis wspomnianych reguł. Przedstawia zasady pisania kodu źródłowego i standaryzowania określonych zapisów, operacji i sposobów wykorzystania elementów języka C++. Każda z zasad jest szczegółowo omówiona i poparta praktycznymi przykładami. Książka prezentuje najlepsze ze znanych praktyk -- zarówno "starych", jak i tych, które całkiem niedawno uległy standaryzacji, oraz opisuje techniki, o których nie słyszeli nawet programiści z wieloletnim doświadczeniem.
* Organizacja kodu
* Styl projektowy i styl kodowania
* Skalowalność kodu
* Racjonalna i efektywna obsługa błędów
* Prawidłowe stosowanie elementów języka
* Odpowiednie korzystanie z STL
* Bezpieczeństwo typów
Usprawnij pracę, stosując standardy kodowania -- gdy za parę miesięcy będziesz musiał wrócić do swoich dzisiejszych programów, przekonasz się, że było warto.
Przewodnik po najnowszej wersji najpopularniejszego języka do tworzenia dynamicznych witryn WWW
Książka "PHP 5. Nowe możliwości" to opis wszystkich funkcji, które dodano do najnowszej wersji języka PHP. Jest adresowana do programistów korzystających z PHP 4, którzy chcą poznać nowe narzędzia wprowadzone w wersji 5. Każdy nowy mechanizm jest przedstawiony w postaci przykładu. Książka zawiera także porównanie sposobów realizacji typowych zadań programistycznych za pomocą języków PHP 4 i PHP 5, co ułatwia migrację do nowej wersji.
* Zasady programowania obiektowego
* Współpraca z bazą danych MySQL
* Środowisko SQLite
* Mechanizmy obsługi języka XML
* Obsługa błędów za pomocą wyjątków
* Korzystanie z mechanizmów SOAP
Mandrake Linux to kolejna z bardzo rozpowszechnionych dystrybucji Linuksa -- dostępnego nieodpłatnie systemu operacyjnego, którego popularność jest fenomenem na współczesnym rynku oprogramowania. Nad jego rozwojem pracuje grono programistów z całego świata. Różne dystrybucje Linuksa są wykorzystywane zarówno przez użytkowników prywatnych, jak i przez duże korporacje.
"Mandrake Linux. Ćwiczenia zaawansowane" to zbiór zadań przeznaczonych dla tych użytkowników Mandrake Linuksa, którzy etap poznawania podstaw systemu mają już za sobą. Dzięki lekturze tej książeczki rozszerzysz swoją wiedzę o zagadnienia związane z administracją Linuksem i pracą w trybie tekstowym.
* Aktualizacja oprogramowania
* Polecenia konsoli
* Przetwarzanie potokowe
* Administracja kontami użytkowników
* Konfiguracja programu ładującego
* Mechanizmy sieciowe
* Środowisko graficzne KDE
Poznaj język PHP -- najpopularniejszą technologiętworzenia dynamicznych witryn WWW
* Sposoby przetwarzania informacji z formularzy na stronach WWW
* Komunikacja z bazą danych
* Usuwanie błędów z kodu
Dynamiczne witryny WWW stopniowo wypierają takie, które opierają się wyłącznie na statycznych treściach. Możliwość połączenia stron z bazą danych pozwoliła na tworzenie portali, sklepów internetowych, katalogów, forów dyskusyjnych i wielu innych witryn, bez których trudno sobie wyobrazić oblicze współczesnego internetu. Spośród technologii wykorzystywanych do tworzenia dynamicznych witryn WWW największą popularnością cieszy się PHP. Tę dostępną nieodpłatnie platformę można uruchomić w każdym systemie operacyjnym. PHP jest językiem stosunkowo prostym. Pisane w nim skrypty są osadzane w kodzie strony WWW i interpretowane podczas jej wyświetlania w przeglądarce.
"PHP w mgnieniu oka" to książka dla tych, którzy chcą szybko poznać najważniejsze elementy programowania w języku PHP. Opisuje podstawowe zagadnienia związane ze zmiennymi, słowami kluczowymi i organizacją kodu. Czytając ją, dowiesz się, jak za pomocą PHP przetwarzać różne typy danych, jak osadzać kod PHP wewnątrz kodu HTML i jak tworzyć elementy stron WWW. Nauczysz się również łączyć skrypty PHP z zewnętrznymi programami, serwerami i usługami, przeczytasz o komunikacji z bazą danych, obsłudze systemu plików i usuwaniu błędów ze skryptów.
* Zmienne i stałe w PHP
* Sterowanie przebiegiem programu
* Stosowanie funkcji
* Przetwarzanie różnych typów danych
* Obsługa formularzy HTML, sesji i plików cookie
* Uwierzytelnianie użytkowników
* Komunikacja z serwerem WWW
* Łączenie z bazą danych
* Obsługa błędów
* Klasy z repozytorium PEAR
Jeśli chcesz nauczyć się PHP, ale nie masz na to zbyt wiele czasu, koniecznie przeczytaj tę książkę.
PHP jedna z najpopularniejszych technologii służących do budowy aplikacji internetowych. Jest to niezależny od platformy prosty język o łatwej składni, przyjazny dla początkujących programistów. Ta ostatnia cecha zadecydowała o jego szerokim rozpowszechnieniu.
Dzięki książce " PHP4. Zaawansowane programowanie" poznasz wiele sekretów profesjonalnych zastosowań tego języka. Nauczy Cię tworzyć programy, które są skalowalne, wydajne i bezpieczne, a także, dzięki modularnej, wielowarstwowej konstrukcji, łatwe w rozbudowie. Ta książka nie jest tylko zbiorem sztuczek i tricków. Poznasz dzięki niej wiele zaawansowanych koncepcji pomagających tworzyć wydajne aplikacje internetowe na dużą skalę. Dowiesz się, jak stworzyć program kliencki do odczytywania e-maili, nauczysz się tworzyć zabezpieczone aplikacje, używać sesji i korzystać ze złożonych struktur danych.
Dla kogo jest ta książka:
"PHP4. Zaawansowane programowanie" to książka dla programistów, którzy opanowali podstawy programowania i posiadają ogólną znajomość technologii bazodanowych i są zainteresowani tworzeniem dużych aplikacji internetowych w PHP.
Co opisuje ta książka:
* Instalację PHP w systemach uniksowych, Windows i MacOS X
* Sesje i cookies, pisanie klientów FTP, korzystanie z funkcji sieciowych i usług katalogowych
* Wsparcie dla LDAP dostępne w PHP
* Tworzenie wielowarstwowych aplikacji w PHP
* Korzystanie z dokumentów XML
* Korzystanie z baz danych MySQL, PostgreSQL i interfejsu ODBC
* Zabezpieczanie, optymalizację aplikacji, tworzenie wersji językowych programów
* Przykłady z życia wzięte: aplikacja do obsługi spisu pracowników, sieciowa biblioteka
* Tworzenie interfejsu GTK do aplikacji
* Studium przypadku: system uprawnień dla użytkowników i wielowarstwowa aplikacja e-commerce z wykorzystaniem WML
Kompendium wiedzy dla programistów dynamicznych witryn WWW i aplikacji internetowych
* Szczegółowy opis zasad programowania w PHP5
* Komunikacja z bazami danych, stosowanie języka XML i szablonów Smarty
* Tworzenie aplikacji z wykorzystaniem możliwości najnowszej wersji PHP
PHP jest najpopularniejszym obecnie językiem skryptowym, wykorzystywanym do tworzenia dynamicznych witryn WWW i aplikacji internetowych. W połączeniu z bazą danych MySQL tworzy potężną platformę, której zalety docenili twórcy ponad 14 milionów witryn WWW. Stabilność, wydajność i szybkość działania, a przede wszystkim -- nieodpłatny dostęp na zasadach licencji open-source, to cechy, które zadecydowały o ogromnej popularności tej technologii. Każda kolejna wersja języka PHP pozwala na tworzenie coraz bardziej zaawansowanych i rozbudowanych aplikacji. Najnowsza wersja -- PHP5 to w pełni obiektowy język programowania umożliwiający stosowanie najnowszych technologii takich, jak XML i SOAP.
Książka "PHP5. Księga eksperta" zawiera opis wszystkich zagadnień związanych z tworzeniem aplikacji w języku PHP. Czytając ją poznasz zasady programowania w PHP5 zarówno te podstawowe jak i bardziej zaawansowane. Dowiesz się, w jaki sposób łączyć aplikację WWW z bazą danych i jak zapewnić jej bezpieczeństwo. Nauczysz się wykorzystywać mechanizmy sesji i cookies do zapamiętywania danych użytkowników i napiszesz skrypty generujące elementy graficzne i dokumenty przeznaczone do wydruku. Przeczytasz także o tworzeniu stron WWW przeznaczonych do wyświetlania na wyświetlaczach urządzeń mobilnych oraz o stosowaniu języka XML w aplikacjach.
* Podstawy programowania w PHP
* Stosowanie wyrażeń regularnych
* Obsługa formularzy
* Mechanizmy obsługi sesji i plików cookies
* Szablony Smarty i biblioteka PEAR
* Korzystanie z XML i XSLT
* Uwierzytelnianie użytkowników
* Komunikacja z bazami danych
* Operacje wejścia/wyjścia
* Generowanie grafiki i dokumentów PDF
Po przeczytaniu tej książki zostaniesz prawdziwym ekspertem w dziedzinie tworzenia aplikacji internetowych w PHP5.
Książka "PHP i MySQL. Aplikacje bazodanowe" jest przeznaczona dla tych, którzy tworzą lub zamierzają tworzyć witryny WWW oparte na technologii PHP i MySQL. Opisano w niej reguły i techniki wykorzystywane przy tworzeniu małych i średnich aplikacji bazodanowych wykorzystywanych do przechowywania danych, odczytywania ich i zarządzania nimi. Przedstawia zasady pracy z bazami danych. Pokazuje, jak śledzić poczynania użytkowników za pomocą sesji, pisać bezpieczny kod, oddzielać go od warstwy prezentacyjnej i uniezależniać go od wyboru bazy danych. Opisuje również techniki generowania raportów i obsługi błędów oraz zaawansowane zagadnienia związane z bazami danych i programowaniem zorientowanym obiektowo.
* Typowe modele architektury aplikacji bazodanowych
* Język PHP -- podstawowe wiadomości
* Programowanie zorientowane obiektowo w PHP5
* Język SQL i baza danych MySQL
* Biblioteka PEAR
* Kontrola poprawności wprowadzanych danych z wykorzystaniem PHP i JavaScript
* Mechanizmy bezpieczeństwa w aplikacjach bazodanowych
* Wdrażanie aplikacji
* Generowanie raportów
* Przykład praktyczny -- internetowy sklep z winami
Wiadomości zawarte w tej książce pomogą każdemu programiście stworzyć sklep internetowy, portal lub system zarządzania treścią.
PHP i MySQL. Tworzenie stron WWW. Wydanie drugie. Vademecum profesjonalistyWydawnictwo Helion
PHP i MySQL to wydajny tandem, pozwalający na realizację wielu projektów związanych z programowaniem aplikacji internetowych. Autorzy książki "PHP i MySQL. Tworzenie stron WWW. Wydanie drugie. Vademecum profesjonalisty" stworzyli więc unikatowy podręcznik, który łączy w sobie opis funkcjonalności PHP i MySQL z prezentacją wielu praktycznych rozwiązań, stworzonych za pomocą tych narzędzi. To podejście okazało się trafione, czego dowodem jest ogromna popularność pierwszego wydania tej książki.
Oprócz składni i biblioteki funkcji PHP, książka opisuje również podstawowe pojęcia z dziedziny profesjonalnej inżynierii oprogramowania związanego z siecią WWW. Niektóre, takie jak utrzymywanie, współpraca i testowanie, są kwestiami istotnymi dla inżynierów oprogramowania. Inne pojęcia, takie jak uwierzytelnianie, szyfrowanie i kontrola sesji, mają szczególne znaczenie dla projektów programistycznych opartych na Internecie.
* Podstawowy kurs PHP
* Tworzenie i obsługa baz danych za pomocą MySQL
* Dynamiczne tworzenie kodu HTML, obrazków i dokumentów
* Tworzenie bezpiecznych usług za pomocą uwierzytelniania i SSL
* Tworzenie koszyka na zakupy dla witryn handlu elektronicznego
* Opis praktyk związanych z inżynierią oprogramowania dla większych projektów WWW
* Zastosowanie obiektowych technik programistycznych
* Tworzenie spersonalizowanych dokumentów PDF
* Korzystanie z usług WWW za pomocą XML i SOAP
"PHP i MySQL. Tworzenie stron WWW. Wydanie drugie. Vademecum profesjonalisty" to książka, która nie tylko przekazuje wiedzę na temat PHP i MySQL, ale także prezentuje praktyczne sposoby jej wykorzystania. Jeśli chcesz szybko nauczyć się tworzenia profesjonalnych aplikacji WWW, książka ta będzie trafionym zakupem.
Opinia o pierwszym wydaniu:
(...) Podręcznik jest godny polecenia co najmniej z dwóch powodów. Po pierwsze poruszana tematyka jest bardzo obszerna i obejmuje większość typowych problemów programisty WWW. Ponadto wszelkie kłopoty rozwiązywane są za pomocą dwóch popularnych komponentów (PHP i MySQL), dzięki czemu niejednokrotnie unikniemy przedzierania się przez dokumentację obu produktów.
-- Chip, 08/2002
PHP, Microsoft IIS i SQL Server. Projektowanie i programowanie baz danychWydawnictwo Helion
Poznaj i wykorzystaj narzędzia do projektowania baz danych
* Jak konfigurować repozytorium PEAR?
* Jak przetwarzać formularze za pomocą języka PHP?
* Jak wprowadzać dane do tabeli bazy danych, a później je usuwać?
Umiejętność tworzenia interaktywnych stron www typu e-commerce i zarządzania nimi jest dzisiaj właściwie niezbędna. Przydaje się nie tylko administratorom sieci, ale także wszystkim informatykom i właścicielom firm. Relacyjne bazy danych stanowią podstawę nowoczesnej aplikacji internetowej, więc przede wszystkim należy poznać najpopularniejsze języki wykorzystywane podczas pracy na tych bazach: język skryptowy PHP oraz język zapytań SQL, a także internetowe usługi informacyjne (IIS) występujące w najnowszych serwerowych systemach operacyjnych Microsoft Windows.
Książka „PHP, Microsoft IIS i SQL Server. Projektowanie i programowanie baz danych” w przystępny sposób i na konkretnym przykładzie przedstawia zagadnienia dotyczące projektowania, programowania i implementowania relacyjnej bazy danych. Mimo że podręcznik przeznaczony jest dla osób, które przynajmniej w niewielkim stopniu orientują się w tej tematyce, szeroka skala prezentowanych informacji (od prostych zagadnień teoretycznych do problemów zaawansowanych technicznie) sprawia, że każdy może z niego skorzystać - aby na przykład nauczyć się podstawowych instrukcji języka SQL i PHP, instalowania i konfigurowania ich w systemie Windows, korzystania z usług IIS i wreszcie zarządzania własną bazą danych.
* System zarządzania bazą danych
* Nazwy i typy danych
* Indeksy, klucze i schematy
* Architektura baz danych
* Normalizacja i projektowanie baz danych
* Środowisko języka SQL
* Podstawowe klauzule języka SQL
* Podstawowe właściwości języka PHP
* Architektura usług IIS
* Obsługa baz danych Microsoft SQL z poziomu PHP
* PEAR
Znajdziesz tu wszystko, czego potrzebujesz, aby stworzyć własną profesjonalną bazę danych!
Poznaj jedno z najpopularniejszych narzędzi programistycznych
Środowisko programistyczne Delphi od lat cieszy się zasłużoną popularnością wśród twórców oprogramowania. Potężne narzędzie programistyczne, oparte na popularnym języku Pascal, było prekursorem środowisk wizualnych, w których tworzenie aplikacji przypomina budowanie modelu z klocków. Kolejne wersje Delphi były wykorzystywane do tworzenia przeróżnych aplikacji -- począwszy od prostych programików, a skończywszy na rozbudowanych systemach bazodanowych. Najnowsza wersja, oznaczona symbolem 2006, umożliwia tworzenie aplikacji dla platformy .NET oraz "tradycyjnych" aplikacji Win32.
Książka "ABC Delphi 2006" to wprowadzenie do programowania w tym środowisku. Na praktycznych przykładach przedstawia najnowszą wersję Delphi, język Object Pascal oraz filozofię tworzenia aplikacji na podstawie komponentów VCL. Czytając ją, poznasz środowisko programistyczne, elementy języka Object Pascal oraz zasady programowania strukturalnego i obiektowego. Nauczysz się budować własne aplikacje dla systemu Windows oraz wykorzystywać i tworzyć komponenty VCL. Zdobędziesz solidne podstawy do dalszej nauki programowania w Delphi.
* Struktura projektu w Delphi
* Typy danych i zmienne
* Instrukcje sterujące, pętle i wyrażenia warunkowe
* Programowanie obiektowe
* Wykrywanie i usuwanie błędów w kodzie
* Korzystanie z komponentów VCL
* Programowanie grafiki
* Operacje na plikach i drukowanie
* Zapisywanie informacji w rejestrze Windows
* Projektowanie komponentów
Pobierz rozdziały: 12, 13 i 14 jako pliki PDF.
PHP. Programowanie w systemie Windows. Vademecum profesjonalistyWydawnictwo Helion
Książka opisuje doskonałą platformę programistyczną dla MS Windows. Opisuje ona PHP na tyle szczegółowo, że osoby zainteresowane mogą potraktować ją jako podręcznik tego języka. Jej szczególną zaletą jest wyczerpujące omówienie integracji PHP z technologiami Windows. Dzięki książce dowiesz się, jak tworzyć i wykorzystywać obiekty COM w PHP, jak łączyć PHP z platformą .NET, jak korzystać z ActiveDirectory oraz jak używać MSXML.
"PHP. Programowanie w systemie Windows. Vademecum profesjonalisty" zawiera również opis:
* Instalacji PHP w systemie Windows
* Konfigurowania i optymalizacji serwerów WWW
* Języka PHP i jego funkcji
* Łączenia PHP z bazami danych (Microsoft SQL Server, Oracle i MySQL)
* Użycia XML i XSLT w PHP
* Integracji PHP z ASP przy użyciu WDDX
* Tworzenia usług WWW w PHP
Jeśli planujesz używać PHP w systemach Windows, książka ta stanie się dla Ciebie nieocenioną pomocą. Gwarancję dobrej jakości stanowi również nazwisko autora. Andrew Stopford jest programistą z wieloletnim doświadczeniem, członkiem wielu zespołów pracujących nad projektami typu "open-source", między innymi XML-RPC for ASP i NMatrix.
Poznaj najnowszą wersję Delphi
i twórz aplikacje dla platformy .NET
W dobie tak dynamicznego rozwoju technologii informatycznych możliwość szybkiego stworzenia aplikacji jest dużym atutem. Dlatego powstają coraz bardziej rozbudowane środowiska programistyczne, umożliwiające skonstruowanie aplikacji z "cegiełek", które można wykorzystywać wielokrotnie. Wśród tych środowisk programistycznych zasłużoną popularność zyskało Delphi, dostępne obecnie w wersji 8. Wygodny i czytelny interfejs, język programowania oparty na znanym i popularnym Pascalu, możliwość łatwego połączenia się z dowolną bazą danych oraz rozbudowany mechanizm tworzenia aplikacji wieloplatformowych to główne zalety tego środowiska.
Książka "Delphi 8 .NET. Kompendium programisty" to przewodnik po najnowszej wersji środowiska Delphi, uwzględniający jego nowe możliwości związane z tworzeniem aplikacji dla platformy .NET. Zawiera opis środowiska programistycznego i języka ObjectPascal. Przedstawia sposoby pisania aplikacji połączonych z bazami danych i korzystających z technologii XML. Opisuje również podstawowe zasady wykorzystywania w tworzonych programach protokołów sieciowych, takich jak HTTP i SMTP. Książka jest doskonała zarówno dla początkujących programistów Delphi, jak i dla tych, którzy chcą poszerzyć swoją wiedzę o zasady tworzenia aplikacji dla platformy .NET.
* Zasady tworzenia aplikacji dla platformy .NET
* Wizualne projektowanie aplikacji
* Mechanizm komponentów
* Projektowanie interfejsu użytkownika i menu
* Programowanie w języku ObjectPascal
* Korzystanie z procedur i funkcji
* Zasady projektowania obiektowego
* Programowanie oparte na zdarzeniach
* Wykrywanie i usuwanie błędów w aplikacjach
* Korzystanie z baz danych
* Język SQL
* Wykorzystywanie technologii XML w aplikacjach
* Programowanie sieciowe i ASP.NET
* Usługi sieciowe
Cennym źródłem informacji jest dodatek, zawierający praktyczne wskazówki dotyczące zasad pisania czytelnego i przejrzystego kodu.
Przekonasz się, że wizualne projektowanie aplikacji zdecydowanie przyspieszy Twoją pracę.
Poznaj możliwości nowoczesnych technologii i twórz dynamiczne serwisy internetowe
* Jak sprawdzić poprawność danych i obsługiwać błędy?
* Jak zapisywać nazwy użytkowników i hasła w bazie danych?
* Jak tworzyć zapytania do bazy danych za pomocą funkcji PHP?
PHP i MySQL to już standardowe technologie do tworzenia dynamicznych stron internetowych wykorzystujących bazy danych. Istotne jest, że zapewniają one nie tylko interaktywność, ale również wysoki stopień bezpieczeństwa witryn WWW. Ich ogromne możliwości powodują, że wykorzystywane są do tworzenia zarówno prostych aplikacji, jak i skomplikowanych stron internetowych, zaopatrzonych w rozbudowane systemy autoryzacji, na przykład różnego rodzaju sklepy internetowe. Połączenie PHP i MySQL stanowi więc niezastąpione narzędzie do tworzenia dynamicznych witryn, spełniających wymagania zarówno administratorów, jak i użytkowników.
Książka "PHP i MySQL. Wprowadzenie. Wydanie II" przedstawia krok po kroku zasady tworzenia serwisów WWW z wykorzystaniem baz danych. W podręczniku na przykładach przedstawiono m.in. sposoby pracy z bazą danych MySQL, serwerem WWW Apache czy językiem PHP i XHTML. Czytając tę książkę, nauczysz się przeprowadzać operacje na danych, zarządzać sesjami i tabelami oraz tworzyć zapytania. "Learning PHP &My SQL" stanowi niezbędny podręcznik zarówno dla początkujących Czytelników, jak i programistów, którzy mieli wcześniej do czynienia z językiem HTML, a teraz chcą tworzyć dynamiczne i bezpieczne strony internetowe.
* Treść generowana dynamicznie i Internet
* Podejmowanie decyzji w PHP
* Funkcje i tablice
* Pobieranie danych z kilku tabel
* Praca z bazą danych MySQL
* Operatory logiczne
* Współpraca PHP i MySQL
* Formularze sieciowe
* XHTML
* Pliki cookie, sesje i kontrola dostępu
* Modyfikowanie obiektów MySQL i danych PHP
Oto cała, aktualna wiedza, której potrzebujesz, aby tworzyć interaktywne strony WWW.
Stwórz własną dynamiczną witrynę WWW.
* Zainstaluj i skonfiguruj PHP oraz serwery Apache i MySQL
* Naucz się zasad programowania w PHP
* Połącz aplikację WWW z bazą danych
* Poznaj sekrety zabezpieczania i optymalizowania aplikacji sieciowych
Dynamiczne witryny WWW spotykamy w sieci coraz częściej. Po mechanizmy bazodanowe i technologie skryptowe działające po stronie serwera sięgają już nie tylko twórcy portali i sklepów internetowych, ale także ci, którym jeszcze do niedawna wystarczał zwykły, statyczny HTML. Wśród technologii wykorzystywanych do tworzenia dynamicznych stron WWW od dawna prym wiedzie duet PHP i MySQL, instalowany na serwerach WWW pracujących pod kontrolą Apache’a. Te właśnie narzędzia są najczęściej wykorzystywane do tworzenia galerii, forów dyskusyjnych, giełd ogłoszeniowych i wielu innych aplikacji WWW.
"PHP, MySQL i Apache dla każdego. Wydanie II" to podręcznik dla wszystkich, którzy chcą poznać zasady tworzenia dynamicznych witryn WWW z wykorzystaniem najpopularniejszych obecnie technologii. Książka opisuje proces instalacji i konfiguracji Apache’a, MySQL-a i PHP na serwerze oraz na stacji roboczej, elementy języka PHP oraz zasady stosowania języka SQL. Na praktycznych przykładach przedstawia możliwości wykorzystywania PHP i bazy danych do tworzenia elementów dynamicznych stron WWW oraz całych projektów. Czytając ją, nauczysz się zabezpieczać aplikacje WWW oraz poprawiać wydajność ich działania.
* Instalowanie i konfigurowanie narzędzi
* Programowanie w języku PHP
* Funkcje, tablice i obiekty
* Przetwarzanie danych z formularzy
* Obsługa sesji oraz systemu plików
* Dynamiczne generowanie grafiki
* Integracja PHP z MySQL
* Operacje na danych w tabelach i język SQL
* Tworzenie prostych projektów aplikacji WWW
* Monitorowanie pracy aplikacji
* Mechanizmy bezpieczeństwa i uwierzytelniania użytkowników
* Poprawa wydajności aplikacji
Struktury danych i techniki obiektowe na przykładzie Javy 5.0Wydawnictwo Helion
Przy tworzeniu systemów informatycznych najważniejsze zadania wykonuje się, zanim powstanie pierwszy fragment kodu źródłowego. Wymogi stawiane współczesnym aplikacjom powodują, że inżynieria oprogramowania staje się kwestią kluczową. Opracowanie odpowiedniego projektu oraz właściwy dobór technologii i metodologii zapewniają szybką i efektywną pracę nad systemem. Niezwykle ważne jest poznanie dostępnych w języku Java struktur danych i umiejętność ich wykorzystania. Prawidłowo dobrana struktura danych znacznie przyspiesza nie tylko implementację aplikacji, ale również działanie gotowego systemu.
Książka "Struktury danych i techniki obiektowe na przykładzie Javy 5.0" przedstawia podstawowe struktury danych i sposoby ich wykorzystania podczas programowania obiektowego. Wszystkie wiadomości zostały zaprezentowane z uwzględnieniem reguł nowoczesnej inżynierii oprogramowania. Czytając kolejne rozdziały książki, poznasz najlepsze zastosowania różnych struktur danych oraz wady i zalety ich implementacji. Przede wszystkim jednak zrozumiesz potrzebę stosowania tak wielu struktur danych.
* Cykl życia oprogramowania
* Zastosowanie języka UML w projektowaniu systemów
* Obsługa błędów i wyjątków
* Testowanie oprogramowania
* Dziedziczenie i hierarchia klas
* Listy jedno- i dwukierunkowe
* Interfejs Collection
* Stosy i kolejki
* Algorytmy rekurencyjne
* Sortowanie danych
* Drzewa wyszukiwania
* Grafy
Po przeczytaniu tej książki zrozumiesz zasadę:
"Pomyśl, a dopiero potem pisz kod".
Przegląd funkcji i możliwości .NET Framework 2.0
oraz środowiska CLR 2.0 dla zaawansowanych
* Jakie możliwości oferuje platforma .NET Framework 2.0 i środowisko CLR 2.0?
* Jak szybko i łatwo pisać aplikacje dla systemu Windows?
* Jak zwiększyć swą produktywność?
Wraz z coraz bardziej rozbudowaną funkcjonalnością .NET Framework rośnie także jej popularność. Możliwość błyskawicznego tworzenia zaawansowanych aplikacji dla systemu Windows na bazie tej platformy oraz wspólnego środowiska uruchomieniowego CLR sprawia, że coraz większa rzesza programistów pragnie poznać te technologie i wykorzystać je do zwiększenia swej produktywności. Wersja 2.0 .NET Framework udostępnia większą liczbę wbudowanych kontrolek, nowe funkcje obsługi baz danych za pomocą ADO.NET, rozbudowane narzędzia do tworzenia witryn internetowych przy użyciu ASP.NET i wiele innych usprawnień znacznie ułatwiających programowanie.
".NET Framework 2.0. Zaawansowane programowanie" to podręcznik dla programistów, którzy chcą szybko rozpocząć pracę z tą platformą. Dzięki tej książce poznasz mechanizmy działania .NET Framework i środowiska CLR, a także funkcje licznych bibliotek, zarówno tych podstawowych, jak i bardziej wyspecjalizowanych. Dowiesz się, jak przy użyciu tych technologii łatwo zapewniać bezpieczeństwo kodu, debugować oprogramowanie, obsługiwać transakcje, zapewniać współdziałanie aplikacji z kodem niezarządzanym i wykonywać wiele innych potrzebnych operacji.
* Funkcjonowanie środowiska CLR
* Struktura i mechanizmy wspólnego systemu typów (CTS)
* Działanie języka pośredniego (IL) i kompilacji JIT
* Obsługa operacji wejścia-wyjścia
* Tworzenie aplikacji międzynarodowych
* Zapewnianie bezpieczeństwa kodu
* Programowanie współbieżne przy użyciu wątków, domen i procesów
* Umożliwianie współdziałania z kodem niezarządzanym
* Debugowanie oprogramowania
* Stosowanie wyrażeń regularnych
* Programowanie dynamiczne z zastosowaniem metadanych i refleksji
* Obsługa transakcji
Zacznij korzystać z możliwości .NET Framework 2.0
i już dziś zwiększ swą produktywność.
Coraz więcej serwisów internetowych składa się nie tylko z atrakcyjnego interfejsu użytkownika, ale także z rozbudowanych aplikacji działających na serwerze. Są one najczęściej oparte o bazy danych, które przechowują dane i zapewniają szybki do nich dostęp. Jeśli chcesz w krótkim czasie nauczyć się tworzyć takie aplikacje, znalazłeś właściwą książkę.
"PHP i MySQL. Dynamiczne strony WWW" nauczy Cię tworzenia dynamicznych serwisów internetowych z wykorzystaniem PHP i MySQL-a. Książka przekaże Ci wiedzę niezbędną dla projektantów rozwiązań internetowych. Wszystkie zagadnienia opisane są "krok po kroku", każdemu z nich towarzyszy też odpowiedni rysunek. Przykłady odzwierciedlają problemy, z którymi projektanci stron internetowych spotykają się na co dzień.
Książka opisuje:
* Podstawy programowania w PHP
* Tworzenie dynamicznych stron internetowych z użyciem PHP
* Zasady projektowanie baz danych
* Język SQL
* Korzystanie z systemu zarządzania bazami danych MySQL
* Łączenie PHP z systemem MySQL
* Użycie sesji
* Zabezpieczanie stron internetowych przed dostępem nieuprawnionych osób
* Przykładowe aplikacje: rejestracja użytkowników i sklep internetowy
Treść książki uzupełniają dodatki opisujące sposób instalacji omawianych w niej narzędzi oraz dodatkowe, przydatne aplikacje.
Jeśli chcesz w szybko nauczyć się programowania dynamicznych serwisów internetowych, ta książka będzie Twoim intensywnym kursem. Już po przeczytaniu kilku rozdziałów będziesz w stanie pisać pierwsze programy w PHP korzystające z bazy MySQL, a po przeczytaniu całej książki poradzisz sobie również z tworzeniem bardziej rozbudowanych aplikacji.
PHP i MySQL. Dynamiczne strony WWW. Szybki start. Wydanie IIWydawnictwo Helion
Błyskawiczny kurs tworzenia dynamicznych serwisów internetowych
Dynamiczne strony WWW spotykamy codziennie, korzystając z internetu. Portale, sklepy internetowe, gry sieciowe -- wszystkie te witryny korzystają z baz danych i skryptów wykonywanych po stronie serwera. Technologii umożliwiających realizację tego typu witryn WWW jest kilka. Wśród nich zasłużoną popularnością cieszy się "duet" o ogromnych możliwościach -- język skryptowy PHP i baza danych MySQL. Te dostępne nieodpłatnie narzędzia wykorzystywane są przez tysiące twórców witryn WWW. Dołącz do nich!
Książka "PHP i MySQL. Dynamiczne strony WWW. Szybki start. Wydanie II" to kolejna edycja doskonałego przewodnika po tajnikach tworzenia witryn internetowych za pomocą tych technologii. Znajdziesz w niej wszystkie informacje niezbędne do rozpoczęcia projektowania własnych dynamicznych stron WWW -- od podstaw programowania i korzystania z baz danych, poprzez wykorzystywanie sesji i plików cookie, aż do zaawansowanych technik autoryzowania użytkowników i budowania aplikacji e-commerce. Każde zagadnienie jest przedstawione na praktycznym przykładzie, co doskonale pomoże Ci w przyswojeniu wiedzy.
* Podstawowe elementy skryptów PHP
* Obsługa formularzy HTML
* Tworzenie i stosowanie funkcji
* Projektowanie baz danych
* Operacje na danych
* Wykrywanie i usuwanie błędów w skryptach
* Łączenie skryptów PHP z bazą danych
* Stosowanie plików cookie i mechanizmów zarządzania sesjami
* Zabezpieczanie i szyfrowanie danych
* Zarządzanie treścią strony
* Autoryzowanie użytkowników
* Projektowanie sklepów internetowych
Witryny WWW korzystające z baz danych i wyświetlające dynamicznie generowaną treść stają się coraz bardziej popularne. Technologie skryptowe działające po stronie serwera i mechanizmy bazodanowe przestały być cechą charakterystyczną portali i sklepów -- dziś wykorzystywane są również w firmowych i prywatnych stronach WWW, galeriach fotografii oraz blogach. Na rynku istnieje wiele technologii stosowanych do budowania dynamicznych witryn WWW, lecz największym uznaniem cieszy się duet PHP i MySQL uruchamiany na serwerze WWW Apache.
Książka "PHP, MySQL i Apache dla każdego. Wydanie III" to wprowadzenie do tworzenia witryn WWW z wykorzystaniem tej właśnie technologii i najnowszych wersji wchodzących w jej skład narzędzi PHP 5 i MySQL 5. Przedstawiono w niej proces instalacji serwera Apache, bazy danych MySQL, interpretera PHP na serwerze i stacji roboczej oraz zasady programowania w PHP i pobierania danych z tabel. Znajdziesz tu informacje o operacjach na plikach, generowaniu grafiki, zarządzaniu sesjami, tworzeniu zapytań do bazy MySQL i optymalizowaniu wydajności aplikacji. Dzięki zawartym w książce i doskonale omówionym gotowym projektom poznasz technologie PHP i MySQL w praktyce.
* Instalacja i konfiguracja PHP, MySQL i Apache w Windows i Linux
* Struktura języka PHP
* Programowanie obiektowe
* Przetwarzanie danych z formularzy HTML
* Operacje na plikach i katalogach
* Projektowanie baz danych i tabel
* Połączenie skryptów PHP z bazą danych MySQL
* Uwierzytelnianie użytkowników
* Korzystanie z plików XML
* Zabezpieczanie aplikacji sieciowych
* Przykłady dostosowane do PHP 5 i MySQL 5.0
Poznaj najnowsze wersje najpopularniejszych narzędzi do tworzenia dynamicznych witryn WWW.
Tworzenie dynamicznych witryn WWWza pomocą technologii open source
* Zainstaluj i skonfiguruj serwery oraz narzędzia
* Połącz aplikację internetową z bazą danych
* Napisz samodzielnie system zarządzania treścią witryny
PHP, Apache i MySQL to najpopularniejsze obecnie technologie służące do tworzenia i udostępniania w sieci dynamicznych witryn WWW. Łączy je jedna wspólna cecha -- wszystkie dostępne są na licencji open source, co oznacza, że korzystanie z nich nie wiąże się z żadnymi opłatami. PHP to język programowania służący do pisania aplikacji internetowych, MySQL to baza danych, która przechowuje informacje wyświetlane na stronach, a Apache to serwer WWW, dzięki któremu witryny te dostępne są w internecie. Za pomocą tych narzędzi tworzone są portale, sklepy internetowe, fora dyskusyjne i inne strony, z których codziennie korzystają dziesiątki tysięcy użytkowników sieci.
"PHP5, Apache i MySQL. Od podstaw” to podręcznik dla tych użytkowników, którzy chcą poznać sposoby tworzenia dynamicznych witryn WWW w oparciu o te technologie. Przedstawia zasady pisania aplikacji internetowych, stosowania w nich formularzy z mechanizmem weryfikacji poprawności wpisanych danych, łączenia aplikacji z bazą danych i modyfikowania elementów graficznych za pomocą PHP. Opisano tu także sposoby przechowywania danych użytkownika w plikach cookie, mechanizmy wysyłania poczty elektronicznej, obsługi błędów i ograniczania dostępu do określonych obszarów witryny za pomocą nazwy użytkownika i hasła. Każde zagadnienie zaprezentowano na rzeczywistych przykładach dynamicznych witryn WWW.
* Instalacja i konfiguracja Apache, PHP i MySQL-a
* Podstawowe elementy języka PHP
* Komunikacja z bazą danych
* Wyświetlanie oraz modyfikowanie danych
* Obsługa formularzy i weryfikacja poprawności wpisów
* Korzystanie z elementów graficznych i zastosowanie biblioteki GD
* Obsługa błędów
* Komunikacja za pomocą poczty elektronicznej
* Mechanizmy logowania i personalizacji serwisu
* System zarządzania treścią serwisu WWW
* Lista mailingowa i forum dyskusyjne
* Elementy sklepu internetowego
* Analiza ruchu w witrynie WWW za pomocą statystyk
Poznaj najnowsze technologie tworzenia dynamicznych witryn WWW
PHP i MySQL. Tworzenie sklepów internetowych. Wydanie IIWydawnictwo Helion
Liczba firm oferujących towary w internecie stale wzrasta. Taki sposób przedstawienia oferty umożliwia dotarcie do szerszego grona klientów i pozwala na znaczną redukcję kosztów prowadzenia działalności handlowej. Rozwój handlu elektronicznego spowodował zwiększenie zainteresowania usługami związanymi z tworzeniem sklepów internetowych. Programiści, którzy otrzymują takie zlecenie, zazwyczaj korzystają z dwóch bezpłatnych aplikacji: PHP i MySQL. Ciągle rozwijany i rozbudowywany PHP jest jednym z najpopularniejszych języków skryptowych interpretowanych po stronie serwera. Jego najnowsza wersja, oznaczona numerem 5, to w pełni obiektowe środowisko stosowane przez twórców dynamicznych aplikacji WWW odwołujących się do baz danych. Funkcję zaplecza bazodanowego spełnia baza MySQL -- prosta i wydajna.
Zbudowanie funkcjonalnego i bezpiecznego sklepu internetowego to ciekawe wyzwanie dla programisty. Jeśli chcesz się z nim zmierzyć, książka "PHP i MySQL. Tworzenie sklepów internetowych. Wydanie II" jest dla Ciebie idealną lekturą. Znajdziesz w niej wszystkie informacje, jakich potrzebujesz, by zaprojektować i stworzyć sklep internetowy, korzystając z języka PHP 5, bazy danych MySQL i dodatkowych mechanizmów opisanych w kolejnych rozdziałach książki.
* Opracowanie koncepcji sklepu internetowego
* Nowe możliwości PHP 5
* Oddzielenie kodu PHP od HTML z zastosowaniem szablonów Smarty
* Wykorzystanie funkcji z biblioteki PEAR
* Mechanizmy obsługi sesji i plików cookie
* Zabezpieczanie aplikacji
* Przygotowanie projektu sklepu
* Katalog produktów i koszyk
* Moduł zarządzania klientami i zamówieniami
* Obsługa płatności elektronicznych
Przyczyń się do rozwoju e-biznesu --stwórz własny sklep internetowy.
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.
Odkryj nowe możliwości platformy .NET 2005
Visual C# 2005 to najnowsza wersja języka programowania uważanego przez wielu programistów za najlepszy język służący do tworzenia aplikacji dla platformy .NET. W połączeniu z nową biblioteką klas .NET i nowymi możliwościami środowiska Visual Studio 2005 druga edycja języka C# stała się jeszcze doskonalsza. Pisanie programów wymaga znacznie mniejszych nakładów pracy, a nowe elementy umożliwiają realizację większej ilości zadań programistycznych.
Aby poznać nowe możliwości języka C#, sięgnij po książkę "Visual C# 2005. Zapiski programisty". W tej wzorowanej na zeszytach laboratoryjnych publikacji znajdziesz notatki programistów, którzy jako pierwsi zetknęli się z tą technologią. Nie ma w niej teoretycznych wywodów, diagramów i niepotrzebnych informacji. Wykonując 50 ćwiczeń demonstrujących poszczególne aspekty tworzenia aplikacji, poznasz prostotę stosowania nowych elementów i mechanizmów i przekonasz się, jak wiele udogodnień wnosi do pracy programisty Visual C# 2005.
* Stosowanie klas generycznych
* Korzystanie z metod anonimowych
* Refaktoryzacja kodu źródłowego
* Tworzenie interfejsów użytkownika i formularzy
* Mechanizmy szybkiej instalacji aplikacji
* Zabezpieczanie aplikacji WWW
* Personalizacja stron WWW z użyciem motywów i szablonów
* Połączenia z bazą danych
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!
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ć!
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!
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!
1. IDZ DO
PRZYK£ADOWY ROZDZIA£
SPIS TRE CI PHP5. Obiekty,
wzorce, narzêdzia
KATALOG KSI¥¯EK
Autor: Matt Zandstra
KATALOG ONLINE T³umaczenie: Przemys³aw Szeremiota
ISBN: 83-7361-868-6
ZAMÓW DRUKOWANY KATALOG Tytu³ orygina³u: PHP 5 Objects, Patterns, and Practice
Format: B5, stron: 464
TWÓJ KOSZYK Profesjonalne techniki programowania obiektowego w PHP5
DODAJ DO KOSZYKA • Poznaj zasady projektowania i programowania obiektowego
• Zastosuj wzorce projektowe podczas tworzenia aplikacji
• Wykorzystaj narzêdzia wspomagaj¹ce pracê programisty PHP5
CENNIK I INFORMACJE Wraz z rosn¹c¹ popularno ci¹ jêzyka PHP zwiêksza siê równie¿ zakres jego
zastosowañ. Za pomoc¹ PHP tworzy siê ju¿ nie tylko proste dynamiczne witryny WWW
ZAMÓW INFORMACJE i fora dyskusyjne, ale równie¿ rozbudowane aplikacje sieciowe, wykorzystywane czêsto
O NOWO CIACH w du¿ych przedsiêbiorstwach. Ju¿ w PHP4 zaimplementowano pewne mechanizmy
u³atwiaj¹ce tworzenie rozbudowanych systemów, jednak dopiero PHP5 sta³ siê w pe³ni
ZAMÓW CENNIK obiektowym jêzykiem programowania pozwalaj¹cym na korzystanie z wszystkich
wynikaj¹cych z tego mo¿liwo ci.
„PHP5. Obiekty, wzorce i narzêdzia” stanowi dok³adne omówienie wszystkich technik
CZYTELNIA obiektowych w kontek cie zastosowania ich podczas tworzenia aplikacji w PHP5.
Zawiera przegl¹d podstawowych i zaawansowanych cech PHP5 zwi¹zanych
FRAGMENTY KSI¥¯EK ONLINE z obiektowo ci¹. Przedstawia przyk³ady najczê ciej wykorzystywanych wzorców
projektowych i zasady ich stosowania. Ksi¹¿ka opisuje równie¿ narzêdzia, które mog¹
okazaæ siê bardzo przydatne podczas tworzenia rozbudowanych aplikacji, s³u¿¹ce
do tworzenia dokumentacji i kontroli wersji plików.
• Podstawowe pojêcia z dziedziny obiektowo ci
• Obs³uga obiektów
• Wyj¹tki i obs³uga b³êdów
• Projektowanie obiektowe
• Modelowanie obiektów w jêzyku UML
• Wzorce projektowe
• Stosowanie pakietu PEAR
Wydawnictwo Helion • Generowanie dokumentacji za pomoc¹ PHPDocumentor
ul. Chopina 6 • Zarz¹dzanie wersjami plików w systemie CVS
44-100 Gliwice • Tworzenie pakietów instalacyjnych
tel. (32)230-98-63 Przekonaj siê, jak potê¿nym narzêdziem jest najnowsza wersja jêzyka PHP
e-mail: helion@helion.pl
2. Spis treści
O Autorze ......................................................................................... 9
O Recenzencie Technicznym ........................................................... 10
Przedmowa ..................................................................................... 11
Część I Wprowadzenie ...............................................................13
Rozdział 1. PHP — projektowanie i zarządzanie ................................................. 15
Problem .......................................................................................................................... 15
PHP a inne języki programowania ................................................................................. 17
O ksią ce ........................................................................................................................ 19
Podsumowanie ............................................................................................................... 21
Część II Obiekty .........................................................................23
Rozdział 2. PHP a obiekty ................................................................................ 25
Nieoczekiwany sukces obiektów w PHP ........................................................................ 25
Debata obiektowa — za czy przeciw? ............................................................................ 28
Podsumowanie ............................................................................................................... 29
Rozdział 3. Obiektowy elementarz ..................................................................... 31
Klasy i obiekty ............................................................................................................... 31
Definiowanie składowych klasy ..................................................................................... 33
Metody ........................................................................................................................... 36
Typy argumentów metod ................................................................................................ 39
Dziedziczenie ................................................................................................................. 44
Podsumowanie ............................................................................................................... 58
Rozdział 4. Zaawansowana obsługa obiektów ................................................... 59
Metody i składowe statyczne .......................................................................................... 59
Składowe stałe ................................................................................................................ 63
Klasy abstrakcyjne ......................................................................................................... 63
Interfejsy ........................................................................................................................ 66
Obsługa błędów .............................................................................................................. 68
Klasy i metody finalne ................................................................................................... 75
Przechwytywanie chybionych wywołań ......................................................................... 76
Definiowanie destruktorów ............................................................................................ 80
3. 6 PHP5. Obiekty, wzorce, narzędzia
Wykonywanie kopii obiektów ........................................................................................ 81
Reprezentacja obiektu w ciągach znaków ...................................................................... 84
Podsumowanie ............................................................................................................... 85
Rozdział 5. Narzędzia obiektowe ....................................................................... 87
PHP a pakiety ................................................................................................................. 87
Klasy i funkcje pomocnicze ........................................................................................... 92
Reflection API ................................................................................................................ 99
Podsumowanie ............................................................................................................. 110
Rozdział 6. Obiekty a projektowanie ............................................................... 111
Jak rozumieć projektowanie? ....................................................................................... 111
Programowanie obiektowe i proceduralne ................................................................... 112
Zasięg klas .................................................................................................................... 117
Polimorfizm .................................................................................................................. 119
Hermetyzacja ................................................................................................................ 120
Niewa ne jak ................................................................................................................ 122
Cztery drogowskazy ..................................................................................................... 123
Język UML ................................................................................................................... 124
Podsumowanie ............................................................................................................. 133
Część III Wzorce .......................................................................135
Rozdział 7. Czym są wzorce projektowe? Do czego się przydają? ..................... 137
Czym są wzorce projektowe? ....................................................................................... 137
Wzorzec projektowy ..................................................................................................... 139
Format wzorca według Bandy Czworga ....................................................................... 141
Po co nam wzorce projektowe? .................................................................................... 142
Wzorce projektowe a PHP ............................................................................................ 144
Podsumowanie ............................................................................................................. 145
Rozdział 8. Wybrane prawidła wzorców ........................................................... 147
Olśnienie wzorcami ...................................................................................................... 147
Kompozycja i dziedziczenie ......................................................................................... 148
Rozprzęganie ................................................................................................................ 153
Kod ma u ywać interfejsów, nie implementacji ........................................................... 156
Zmienne koncepcje ....................................................................................................... 157
Nadmiar wzorców ........................................................................................................ 158
Wzorce ......................................................................................................................... 159
Podsumowanie ............................................................................................................. 160
Rozdział 9. Generowanie obiektów .................................................................. 161
Generowanie obiektów — problemy i rozwiązania ...................................................... 161
Wzorzec Singleton ....................................................................................................... 165
Wzorzec Factory Method ............................................................................................. 169
Wzorzec Abstract Factory ............................................................................................ 174
Prototyp ........................................................................................................................ 179
Ale to oszustwo! ......................................................................................................... 183
Podsumowanie ............................................................................................................. 185
Rozdział 10. Relacje między obiektami ............................................................. 187
Strukturalizacja klas pod kątem elastyczności obiektów .............................................. 187
Wzorzec Composite ..................................................................................................... 188
Wzorzec Decorator ....................................................................................................... 198
Wzorzec Facade ........................................................................................................... 205
Podsumowanie ............................................................................................................. 208
4. Spis treści 7
Rozdział 11. Reprezentacja i realizacja zadań ................................................... 209
Wzorzec Interpreter ...................................................................................................... 209
Wzorzec Strategy ......................................................................................................... 219
Wzorzec Observer ........................................................................................................ 224
Wzorzec Visitor ............................................................................................................ 231
Wzorzec Command ...................................................................................................... 238
Podsumowanie ............................................................................................................. 242
Rozdział 12. Wzorce korporacyjne .................................................................... 245
Wprowadzenie .............................................................................................................. 245
Małe oszustwo na samym początku ............................................................................. 248
Warstwa prezentacji ..................................................................................................... 257
Warstwa logiki biznesowej ........................................................................................... 287
Warstwa danych ........................................................................................................... 295
Podsumowanie ............................................................................................................. 317
Część IV Narzędzia ....................................................................319
Rozdział 13. Dobre (i złe) praktyki .................................................................... 321
Nie tylko kod ................................................................................................................ 321
Pukanie do otwartych drzwi ......................................................................................... 322
Jak to zgrać? ................................................................................................................. 324
Uskrzydlanie kodu ........................................................................................................ 325
Dokumentacja ............................................................................................................... 326
Testowanie ................................................................................................................... 328
Podsumowanie ............................................................................................................. 336
Rozdział 14. PEAR ........................................................................................... 337
Czym jest PEAR? ......................................................................................................... 338
Instalowanie pakietu z repozytorium PEAR ................................................................. 338
Korzystanie z pakietu PEAR ........................................................................................ 340
Instalator pakietu PEAR ............................................................................................... 343
Podsumowanie ............................................................................................................. 352
Rozdział 15. Generowanie dokumentacji — phpDocumentor .............................. 353
Po co nam dokumentacja? ............................................................................................ 354
Instalacja ...................................................................................................................... 355
Generowanie dokumentacji .......................................................................................... 355
Komentarze DocBlock ................................................................................................. 357
Dokumentowanie klas .................................................................................................. 358
Dokumentowanie plików .............................................................................................. 360
Dokumentowanie składowych ...................................................................................... 360
Dokumentowanie metod ............................................................................................... 361
Tworzenie odnośników w dokumentacji ...................................................................... 363
Podsumowanie ............................................................................................................. 365
Rozdział 16. Zarządzanie wersjami projektu z CVS ............................................ 367
Po co nam CVS? .......................................................................................................... 367
Skąd wziąć CVS? ......................................................................................................... 368
Konfigurowanie repozytorium CVS ............................................................................. 369
Rozpoczynamy projekt ................................................................................................. 372
Aktualizacja i zatwierdzanie ......................................................................................... 374
Dodawanie i usuwanie plików i katalogów .................................................................. 377
Etykietowanie i eksportowanie wydania ........................................................................ 381
Rozgałęzianie projektu ................................................................................................. 383
Podsumowanie ............................................................................................................. 386
5. 8 PHP5. Obiekty, wzorce, narzędzia
Rozdział 17. Automatyzacja instalacji z Phing ................................................... 389
Czym jest Phing? .......................................................................................................... 390
Pobieranie i instalacja pakietu Phing ............................................................................ 391
Plik kompilacji — build.xml ........................................................................................ 391
Podsumowanie ............................................................................................................. 409
Część V Konkluzje ....................................................................411
Rozdział 18. Obiekty, wzorce, narzędzia ............................................................ 413
Obiekty ......................................................................................................................... 413
Wzorce ......................................................................................................................... 417
Narzędzia ...................................................................................................................... 420
Podsumowanie ............................................................................................................. 424
Dodatki ......................................................................................425
Dodatek A Bibliografia ................................................................................... 427
Ksią ki .......................................................................................................................... 427
Publikacje ..................................................................................................................... 428
Witryny WWW ............................................................................................................ 428
Dodatek B Prosty analizator leksykalny .......................................................... 429
Skaner ........................................................................................................................... 429
Analizator leksykalny ................................................................................................... 433
Skorowidz ..................................................................................... 445
6. Rozdział 11.
Reprezentacja
i realizacja zadań
W niniejszym rozdziale zaczniemy wreszcie działać i przyjrzymy się wzorcom projek-
towym, które są pomocne w wykonywaniu zadań — od interpretacji minijęzyków po
hermetyzacje algorytmów.
Rozdział poświęcony będzie:
Wzorcowi Interpreter — umo liwiającemu konstruowanie interpreterów
minijęzyków nadające się do wbudowywania w aplikacje interfejsów
skryptowych.
Wzorcowi Strategy — zakładającemu identyfikowanie algorytmów stosowanych
w systemie i ich hermetyzację do postaci osobnych, własnych typów.
Wzorcowi Observer — tworzącemu zaczepy umo liwiające powiadamianie
obiektów o zdarzeniach zachodzących w systemie.
Wzorcowi Visitor — rozwiązującemu problem aplikacji operacji do wszystkich
węzłów drzewa obiektów.
Wzorcowi Command — obiektom poleceń przekazywanym pomiędzy
częściami systemu.
Wzorzec Interpreter
Języki programowania powstają i są rozwijane (przynajmniej z początku) w innych
językach programowania. PHP został na przykład „spisany” w języku C. Nic więc nie
stoi na przeszkodzie, abyśmy, posługując się PHP, zdefiniowali i wykorzystywali wła-
sny język programowania. Oczywiście ka dy utworzony tak język będzie powolny i dość
ograniczony, ale nie oznacza to, e będzie bezu yteczny — minijęzyki są całkiem przy-
datne, co postaram się zademonstrować w tym rozdziale.
7. 210 Część III ♦ Wzorce
Tworząc interfejsy WWW (ale równie interfejsy wiersza poleceń) w języku PHP, da-
jemy u ytkownikowi dostęp do pewnego zestawu funkcji. Zawsze w takim przypadku
stajemy przed wyborem pomiędzy prostotą korzystania z interfejsu a zakresem mo -
liwości oddawanych w ręce u ytkownika. Im więcej mo liwości dla u ytkownika, tym
z reguły bardziej zło ony i rozdrobniony interfejs. Bardzo pomocne jest tu staranne
zaprojektowanie interfejsu i rozpoznanie potrzeb u ytkowników — jeśli 90 procent
z nich wykorzystuje jedynie 30 procent (tych samych) funkcji systemu, koszt udostęp-
niania maksimum funkcjonalności mo e okazać się za wysoki w stosunku do efektów.
Mo na wtedy rozwa yć uproszczenie systemu pod kątem „przeciętnego” u ytkownika.
Ale co wtedy z owymi 10 procentami u ytkowników zaawansowanych korzystających
z kompletu zaawansowanych funkcji systemu? Ich potrzeby mo na by zaspokoić ina-
czej, na przykład udostępniając im wewnętrzny język programowania, w którym będą
mogli odwoływać się do wszystkich funkcji systemu.
Mamy ju co prawda pod ręką jeden język programowania. Chodzi o PHP. Moglibyśmy
więc udostępnić go u ytkownikom i pozwolić im na tworzenie własnych skryptów:
HQTOAKPRWV RTKPV HKNGAIGVAEQPVGPVU
GVERCUUYF
GXCN
HQTOAKPRWV
Jednak e takie rozszerzenie dostępności systemu wydaje się szaleństwem. Jeśli Czytel-
nik nie jest przekonany co do nonsensowności tego pomysłu, powinien przypomnieć
sobie o dwóch kwestiach: bezpieczeństwie i zło oności. Kwestia bezpieczeństwa jest
dobrze ilustrowana w naszym przykładzie — umo liwiając u ytkownikom uzupełnia-
nie systemu o ich własny kod w języku PHP, dajemy im w rzeczy samej pełny dostęp
do serwera, na którym działa nasza aplikacja. Równie du ym problemem jest jednak
zło oność — niezale nie od przejrzystości kodu aplikacji przeciętny u ytkownik będzie
miał problemy z jej rozszerzeniem, zwłaszcza, jeśli ma z nią kontakt jednie za pośred-
nictwem okna przeglądarki.
Problemy te mo na wyeliminować, opracowując i udostępniając u ytkownikom własny
minijęzyk. Mo na w nim połączyć elastyczność, zredukować mo liwość wyrządzania
szkód przez u ytkowników i równocześnie zadbać o zwartość całości.
Wyobraźmy sobie aplikację do tworzenia quizów. Autorzy mieliby układać pytania
i ustalać reguły oznaczania poprawności odpowiedzi udzielanych przez uczestników
quizu. Chodziłoby o to, eby quizy toczyły się bez interwencji operatora, choć część
odpowiedzi miała by być wprowadzana przez uczestników w polach tekstowych.
Oto przykładowe pytanie:
+NW E QPMÎY NKE[ DCPFC GUKIP 2CVVGTPU!
Poprawnymi odpowiedziami są „cztery” albo „4”. Mo emy utworzyć interfejs WWW,
który pozwala twórcy quizu anga ować do rozpoznawania poprawnych odpowiedzi
wyra enia regularne:
@^EVGT[
Jednak od twórców quizów rzadko wymaga się biegłości w konstruowaniu wyra eń
regularnych — są oni cenieni raczej ze względu na wiedzę ogólną. Aby uprościć im
ycie, mo na więc zaimplementować przyjaźniejszy mechanizm rozpoznawania po-
prawnych odpowiedzi:
8. Rozdział 11. ♦ Reprezentacja i realizacja zadań 211
KPRWV GSWCNU QT KPRWV GSWCNU EVGT[
Mamy tu propozycję języka programowania obsługującego zmienne, operator o nazwie
GSWCNU oraz operacje logiczne (QT czy CPF). Programiści uwielbiają nadawać nazwy
swoim dziełom, nadajmy więc językowi jego miano — MarkLogic. Język miałby być
łatwo rozszerzalny, bo ju oczyma wyobraźni widzimy postulaty zwiększenia jego
mo liwości. Odłó my chwilowo na bok kwestię analizy leksykalnej, skupiając się na
mechanizmie wykorzystania języka w czasie wykonania do generowania ocen odpo-
wiedzi. Tu właśnie zastosowanie znajdzie wzorzec Interpreter.
Implementacja
Nasz język składa się z wyra eń (to znaczy elementów, dla których da się obliczyć
wartości). Z tabeli 11.1 wynika jasno, e nawet tak prosty język jak MarkLogic musi
uwzględniać wiele elementów.
Tabela 11.1. Elementy gramatyki języka MarkLogic
Opis Nazwa w notacji EBNF Nazwa klasy Przykład
Zmienna XCTKCDNG 8CTKCDNG'ZRTGUUKQP KPRWV
Literał łańcuchowy UVTKPI.KVGTCN .KVGTCN'ZRTGUUKQP EVGT[
Logiczne i CPF'ZRT $QQNGCP#PF'ZRTGUUKQP KPRWV GSWCNU
CPF QVJGT GSWCNU
Logiczne lub QT'ZRT $QQNGCP1T'ZRTGUUKQP KPRWV GSWCNU
QT QVJGT GSWCNU
Test równości GSWCNU'ZRT 'SWCNU'ZRTGUUKQP KPRWV GSWCNU
W tabeli 11.1 mamy między innymi kolumnę nazw EBNF. Có to za nazwy? To nota-
cja wykorzystywana do opisu gramatyki języka. EBNF to skrót od Extended Backu-
sNaur Form (rozszerzona notacja Backusa-Naura). Notacja ta składa się z szeregu wierszy
(zwanych regułami produkcyjnymi), w których znajduje się nazwa i opis przyjmujący
postać odniesień do innych reguł produkcyjnych (ang. productions) i symboli końco-
wych (ang. terminals), których nie da się ju wyrazić odwołaniami do kolejnych reguł
produkcyjnych. Naszą gramatykę w notacji EBNF mo na by zapisać następująco:
GZRT QRGTCPF
QT'ZRT ^ CPF'ZRT
10. QT'ZRT QT QRGTCPF
CPF'ZRT CPF QRGTCPF
GSWCNU'ZRT GSWCNU QRGTCPF
XCTKCDNG YQTF
Niektóre z symboli mają znaczenie specjalne (znane z notacji wyra eń regularnych):
na przykład gwiazdka (
11. ) oznacza zero lub więcej wystąpień, a pionowa kreska (^) to
to samo co w języku naturalnym „lub”. Elementy grupujemy za pośrednictwem nawia-
sów. W powy szym przykładzie wyra enie (GZRT) składa się z operandu (QRGTCPF),
z którym występuje zero lub więcej wyra eń logicznej sumy (QT'ZRT) bądź logicznego
iloczynu (CPF'ZRT). Operand mo e być wyra eniem ujętym w nawiasy, ciągiem ogra-
niczonym znakami cudzysłowu (tej reguły produkcyjnej nie ma co prawda w powy -
szym przykładzie) albo zmienną (XCTKCDNG). Jeśli przyzwyczaić się do ciągłego odsyła-
nia od jednej reguły produkcyjnej do kolejnej, notacja EBNF staje się całkiem poręczna.
12. 212 Część III ♦ Wzorce
Na rysunku 11.1 mamy prezentację elementów gramatyki w postaci klas.
Rysunek 11.1.
Klasy
wzorca Interpreter
obsługujące
język MarkLogic
Jak widać, klasa $QQNGCP#PF'ZRTGUUKQP i jej „rodzeństwo” dziedziczą po klasie 1RGTCVQ
T'ZRTGUUKQP. Wszystkie te klasy realizują bowiem operacje na obiektach wyra eń
(obiektach klasy 'ZRTGUUKQP). Klasy 8CTKCDNG'ZRTGUUKQP i .KVGTCN'ZRTGUUKQP operują
wprost na wartościach.
Wszystkie obiekty hierarchii 'ZRTGUUKQP implementują metodę KPVGTRTGV
zdefiniowa-
ną w abstrakcyjnej klasie bazowej hierarchii, czyli właśnie w klasie 'ZRTGUUKQP. Me-
toda ta oczekuje przekazania w wywołaniu obiektu klasy %QPVGZV wykorzystywanego
w roli wspólnego repozytorium danych. Ka dy obiekt klasy 'ZRTGUUKQP mo e składo-
wać dane w obiekcie klasy %QPVGZV, który jest przekazywany pomiędzy obiektami
hierarchii 'ZRTGUUKQP. Aby dało się w prosty sposób wyodrębniać dane z obiektu %QPVGZV,
klasa bazowa 'ZRTGUUKQP implementuje metodę IGV-G[
zwracającą unikalny uchwyt.
Zobaczmy, jak całość działa w praktyce z implementacjami abstrakcji 'ZRTGUUKQP:
CDUVTCEV ENCUU 'ZRTGUUKQP ]
CDUVTCEV HWPEVKQP KPVGTRTGV
%QPVGZV EQPVGZV
HWPEVKQP IGV-G[
]
TGVWTP
UVTKPI VJKU
_
_
ENCUU .KVGTCN'ZRTGUUKQP GZVGPFU 'ZRTGUUKQP ]
RTKXCVG XCNWG
HWPEVKQP AAEQPUVTWEV
XCNWG ]
VJKU XCNWG XCNWG
_
HWPEVKQP KPVGTRTGV
%QPVGZV EQPVGZV ]
EQPVGZV TGRNCEG
VJKU VJKU XCNWG
_
_
13. Rozdział 11. ♦ Reprezentacja i realizacja zadań 213
ENCUU %QPVGZV ]
RTKXCVG GZRTGUUKQPUVQTG CTTC[
HWPEVKQP TGRNCEG
'ZRTGUUKQP GZR XCNWG ]
VJKU GZRTGUUKQPUVQTG= GUR IGV-G[
? XCNWG
_
HWPEVKQP NQQMWR
'ZRTGUUKQP GZR ]
TGVWTP VJKU GZRTGUUKQPUVQTG= GZR IGV-G[
?
_
_
EQPVGZV PGY %QPVGZV
NKVGTCN PGY .KVGTCN'ZRTGUUKQP
EVGT[
NKVGTCN KPVGTRTGV
EQPVGZV
RTKPV EQPVGZV NQQMWR
NKVGTCN
Zacznijmy od klasy %QPVGZV. Jak widać, jest ona w istocie jedynie fasadą tablicy aso-
cjacyjnej reprezentowanej składową GZRTGUUKQPUVQTG i słu ącej do przechowywania
danych. Metoda TGRNCEG
klasy %QPVGZV przyjmuje na wejście obiekt klasy 'ZRTGUUKQP,
który występuje w roli klucza tablicy asocjacyjnej, oraz wartość dowolnego typu lądu-
jącą w tablicy asocjacyjnej w parze z przekazanym kluczem. Klasa udostępnia równie
metodę NQQMWR
umo liwiającą odczyt zapisanych w tablicy danych.
Klasa 'ZRTGUUKQP definiuje abstrakcyjną metodę KPVGTRTGV
i konkretną metodę
IGV-G[
, która na podstawie bie ącego obiektu ( VJKU) generuje unikalną w obrębie
hierarchii etykietę. Etykieta powstaje w wyniku rzutowania wartości VJKU na typ UVTKPI.
Domyślny wynik konwersji obiektu na kontekst ciągu znaków to ciąg zawierający zna-
kową reprezentację identyfikatora obiektu.
ENCUU 2TKPV/G ]_
VGUV PGY 2TKPV/G
RTKPV VGUV
wydruk:
1DLGEV KF
Metoda IGV-G[
czyni z tej cechy języka narzędzie generowania klucza do tabeli aso-
cjacyjnej. Metoda ta jest wykorzystywana w kontekście wywołań %QPVGZVNQQMWR
i %QPVGZVTGRNCEG
, konwertując argumenty typu 'ZRTGUUKQP na ich reprezentację
znakową.
Rzutowanie obiektów na ciągi na potrzeby tablic asocjacyjnych jest użyteczne,
ale nie zawsze bezpieczne. W czasie pisania tej książki język PHP5 zawsze przy
okazji takiego rzutowania generował ciąg z identyfikatorem obiektu. Zdaje się jed-
nak, że docelowo konwersja ta ma uwzględniać implementację metody specjalnej
AAVQ5VTKPI
. Oparcie wyniku konwersji na wywołaniu tej metody oznaczać będzie
unieważnienie gwarancji wygenerowania unikalnego ciągu. Gwarancję tę będzie
można przywrócić, jawnie implementując w klasie bazowej wykorzystywanej hierarchii
metodę AAVQ5VTKPI
jako metodę finalną, uniemożliwiając jej przesłanianie w kla-
sach pochodnych:
HKPCN HWPEVKQP AAVQ5VTKPI
]
TGVWTP
UVTKPI VJKU
_
14. 214 Część III ♦ Wzorce
Klasa .KVGTCN'ZRTGUUKQP definiuje konstruktor przyjmujący wartość dowolnego ty-
pu zapisywaną w składowej XCNWG. Metoda KPVGTRTGV
klasy wymaga zaś przekaza-
nia obiektu klasy %QPVGZV. Jej implementacja sprowadza się do wywołania metody
%QPVGZVTGRNCEG
z przekazaniem w wywołaniu wartości zwracanej przez metodę
IGV-G[
i wartością składowej XCNWG. Schemat taki będziemy obserwować w pozo-
stałych klasach wyra eń. Metoda KPVGTRTGV
zawsze wypisuje wyniki swojego dzia-
łania za pośrednictwem obiektu %QPVGZV.
W prezentowanym kodzie nie zabrakło przykładowego kodu u ytkującego klasy kon-
kretyzującego obiekty klas %QPVGZV i .KVGTCN'ZRTGUUKQP (z wartością „cztery”), a na-
stępnie przekazującego obiekt %QPVGZV do wywołania .KVGTCN'ZRTGUUKQPKPVGTRTGV
.
Metoda ta zapisuje parę klucz-wartość w obiekcie %QPVGZV, z którego mo na ją później
wyodrębnić wywołaniem NQQMWR
.
Zdefiniujmy pozostałe klasy symboli końcowych naszej gramatyki. Klasa 8CTKC
DNG'ZRTGUUKQP jest ju nieco bardziej zło ona:
ENCUU 8CTKCDNG'ZRTGUUKQP GZVGPFU 'ZRTGUUKQP ]
RTKXCVG PCOG
RTKXCVG XCN
HWPEVKQP AAEQPUVTWEV
PCOG XCNPWNN ]
VJKU PCOG PCOG
VJKU XCN XCN
_
HWPEVKQP KPVGTRTGV
%QPVGZV EQPVGZV ]
KH
KUAPWNN
VJKU XCN ]
EQPVGZV TGRNCEG
VJKU VJKU XCN
VJKU XCN PWNN
_
_
HWPEVKQP UGV8CNWG
XCNWG ]
VJKU XCN XCNWG
_
HWPEVKQP IGV-G[
]
TGVWTP VJKU PCOG
_
_
EQPVGZV PGY %QPVGZV
O[XCT PGY 8CTKCDNG'ZRTGUUKQP
KPRWV EVGT[
O[XCT KPVGTRTGV
EQPVGZV
RTKPV EQPVGZV NQQMWR
O[XCT
wydruk:
EVGT[
PGYXCT PGY 8CTKCDNG'ZRTGUUKQP
KPRWV
PGYXCT KPVGTRTGV
EQPVGZV
RTKPV EQPVGZV NQQMWR
PGYXCT
wydruk:
EVGT[
O[XCT UGV8CNWG
RKúè
15. Rozdział 11. ♦ Reprezentacja i realizacja zadań 215
O[XCT KPVGTRTGV
EQPVGZV
RTKPV EQPVGZV NQQMWR
O[XCT
wydruk:
RKúè
RTKPV EQPVGZV NQQMWR
PGYXCT
wydruk:
RKúè
Klasa 8CTKCDNG'ZRTGUUKQP przyjmuje przy konstrukcji parę wartości: nazwę zmiennej
i jej wartość. Udostępnia te metodę UGV8CNWG
, aby u ytkownicy mogli przypisywać
do zmiennych nowe wartości.
Metoda KPVGTRTGV
sprawdza przede wszystkim, czy składowa XCN obiektu ma war-
tość niepustą. Jeśli tak, wartość ta jest zapisywana w kontekście, po czym do składowej
XCN przypisywana jest wartość pusta, na wypadek, gdyby metoda KPVGTRTGV
została
ponownie wywołana po tym, jak inny egzemplarz 8CTKCDNG'ZRTGUUKQP o tej samej na-
zwie zmienił wartość zapisaną w kontekście. W rozszerzeniach języka trzeba by prze-
widzieć operowanie na obiektach 'ZRTGUUKQP, tak aby zmienna mogła zawierać wyniki
testów i operacji. Na razie jednak taka implementacja 8CTKCDNG'ZRTGUUKQP jest wystar-
czająca. Zauwa my, e przesłoniliśmy w niej implementację IGV-G[
, tak aby wartość
klucza konstytuowana była nie identyfikatorem egzemplarza klasy, a ciągiem zapisa-
nym w składowej PCOG.
Wyra enia operatorów w naszym języku ka dorazowo operują na dwóch obiektach
'ZRTGUUKQP (obsługujemy bowiem wyłącznie operatory dwuargumentowe). Zasadne jest
więc wyprowadzenie ich ze wspólnej klasy bazowej. Oto klasa 1RGTCVQT'ZRTGUUKQP:
CDUVTCEV ENCUU QRGTCVQT'ZRTGUUKQP GZVGPFU 'ZRTGUUKQP ]
RTQVGEVGF NAQR
RTQVGEVGF TAQR
HWPEVKQP AAEQPUVTWEV
'ZRTGUUKQP NAQR 'ZRTGUUKQP TAQR ]
VJKU NAQR NAQR
VJKU TAQR TAQR
_
HWPEVKQP KPVGTRTGV
%QPVGZV EQPVGZV ]
VJKU NAQR KPVGTRTGV
EQPVGZV
VJKU TAQR KPVGTRTGV
EQPVGZV
TGUWNVAN EQPVGZV NQQMWR
VJKU NAQR
TGUWNVAT EQPVGZV NQQMWR
VJKU TAQR
VJKU FQ1RGTCVKQP
EQPVGZV TGUWNVAN TGUWNVAT
_
RTQVGEVGF CDUVTCEV HWPEVKQP FQ1RGTCVKQP
%QPVGZV EQPVGZV
TGUWNVAN
TGUWNVAT
_
Klasa 1RGTCVQT'ZRTGUUKQP to klasa abstrakcyjna. Implementuje co prawda metodę
KPVGTRTGV
, ale definiuje równie abstrakcyjną metodę FQ+PVGTRTGV
.
Konstruktor oczekuje przekazania dwóch obiektów klasy 'ZRTGUUKQP: NAQR i TAQR, do
których referencje zapisywane są w zabezpieczonych składowych obiektu.
16. 216 Część III ♦ Wzorce
Implementacja metody KPVGTRTGV
rozpoczyna się od wywołania KPVGTRTGV
na
rzecz obu operandów (jeśli pamiętasz poprzedni rozdział, zauwa ysz tu zapewne za-
stosowanie wzorca Composite). Po ewaluacji operandów metoda KPVGTRTGV
musi
pozyskać zwracane przez nie wartości. Odwołuje się do niech za pośrednictwem me-
tody %QPVGZVNQQMWR
wywoływanej dla obu składowych. Dalej następuje wywołanie
FQ+PVGTRTGV
, o którego wyniku decyduje jednak implementacja w klasach pochodnych.
Spójrzmy na jej implementację w klasie 'SWCNU'ZRTGUUKQP, porównującej dwa obiekty
klasy 'ZRTGUUKQP:
ENCUU 'SWCNU'ZRTGUUKQP GZVGPFU 1RGTCVQT'ZRTGUUKQP ]
RTQVGEVGF HWPEVKQP FQ1RGTCVKQP
%QPVGZV EQPVGZV TGUWNVAN TGUWNVAT ]
EQPVGZV TGRNCEG
VJKU TGUWNVAN TGUWNVAT
_
_
Klasa 'SWCNU'ZRTGUUKQP implementuje jedynie metodę FQ1RGTCVKQP
, w ramach której
porównuje wartości operandów przekazanych z metody KPVGTRTGV
klasy nadrzędnej,
a wynik porównania umieszcza w przekazanym obiekcie %QPVGZV.
Implementację klas wyra eń wieńczą klasy wyra eń logicznych — $QQNGCP1T'ZRTGUUKQP
i $QQNGCP#PF'ZRTGUUKQP:
ENCUU $QQNGCP1T'ZRTGUUKQP GZVGPFU 1RGTCVQT'ZRTGUUKQP ]
RTQVGEVGF HWPEVKQP FQ1RGTCVKQP
%QPVGZV TGUWNVAN TGUWNVAT ]
EQPVGZV TGRNCEG
VJKU TGUWNVAN ^^ TGUWNVAT
_
_
ENCUU $QQNGCP#PF'ZRTGUUKQP GZVGPFU 1RGTCVQT'ZRTGUUKQP ]
RTQVGEVGF HWPEVKQP FQ1RGTCVKQP
%QPVGZV TGUWNVAN TGUWNVAT ]
EQPVGZV TGRNCEG
VJKU TGUWNVAN TGUWNVAT
_
_
Zamiast sprawdzania równości aplikujemy tu operatory operacji logicznej sumy
(w $QQNGCP1T'ZRTGUUKQP) bądź logicznego iloczynu ($QQNGCP#PF'ZRTGUUKQP). Wynik
operacji jest przekazywany do metody %QPVGZVTGRNCEG
.
Mamy ju bazę kodu wystarczającą do wykonania prezentowanego wcześniej fragmentu
kodu naszego minijęzyka. Oto on:
KPRWV GSWCNU QT KPRWV GSWCNU EVGT[
Powy sze wyra enie mo emy odwzorować w hierarchii 'ZRTGUUKQP w sposób nastę-
pujący:
EQPVGZV PGY %QPVGZV
KPRWV PGY 8CTKCDNG'ZRTGUUKQP
KPRWV
UVCVGOGPV PGY $QQNGCP1T'ZRTGUUKQP
PGY 'SWCNU'ZRTGUUKQP
KPRWV PGY .KVGTCN'ZRTGUUKQP
EVGT[
PGY 'SWCNU'ZRTGUUKQP
KPRWV PGY .KVGTCN'ZRTGUUKQP
17. Rozdział 11. ♦ Reprezentacja i realizacja zadań 217
Konkretyzujemy tu zmienną o nazwie KPRWV, ale wstrzymujemy się z przypisaniem jej
wartości. Następnie tworzymy obiekt wyra enia sumy logicznej $QQNGCP'ZRTGUUKQP
operującego na wynikach dwóch porównań realizowanych obiektami 'SWCNU'ZRTGUUKQP.
W pierwszym porównaniu uczestniczą: obiekt wyra enia wartości (8CNWG'ZRTGUUKQP)
przechowywanej w KPRWV z obiektem ciągu znaków (.KVGTCN'ZRTGUUKQP) zawierają-
cym ciąg „cztery”; w drugim porównywany jest ten sam obiekt wartości KPRWV z cią-
giem znaków „4”.
Po takim rozpracowaniu wyra enia z przykładowego wiersza kodu mo emy przystąpić
do obliczenia wartości zmiennej KPRWV i uruchomienia mechanizmu oceny:
HQTGCEJ
CTTC[
EVGT[ CU XCN ]
KPRWV UGV8CNWG
XCN
RTKPV XCNP
UVCVGOGPV KPVGTRTGV
EQPVGZV
KH
EQPVGZV NQQMWR
UVCVGOGPV ]
RTKPV PCMQOKVC QFRQYKGF PP
_ GNUG ]
RTKPV Q Q NGL CYMKPP
_
_
Mamy tu trzykrotne uruchomienie tego samego kodu, dla trzech ró nych wartości
zmiennej wejściowej. Za pierwszym razem ustawiamy tymczasową zmienną XCN na
„cztery”, przypisując ją następnie do obiektu 8CTKCDNG'ZRTGUUKQP za pośrednictwem
metody UGV8CNWG
. Dalej wywołujemy metodę KPVGTRTGV
na rzecz szczytowego
obiektu 'ZRTGUUKQP (obiektu $QQNGCP1T'ZRTGUUKQP zawierającego referencję do pozo-
stałych obiektów wyra eń uczestniczących w instrukcji). Spójrzmy na sposób realiza-
cji tego wywołania:
Obiekt UVCVGOGPV wywołuje metodę KPVGRTGV
na rzecz składowej NAQR
(pierwszego obiektu klasy 'SWCNU'ZRTGUUKQP).
Pierwszy z obiektów 'SWCNU'ZRTGUUKQP wywołuje z kolei metodę KPVGTRTGV
na rzecz swojej składowej NAQR (referencji do obiektu 8CTKCDNG'ZRTGUUKQP
przechowującego wartość „cztery”).
Obiekt 8CTKCDNG'ZRTGUUKQP zapisuje swoją bie ącą wartość do wskazanego
obiektu klasy %QPVGZV (wywołaniem %QPVGZVTGRNCEG
).
Pierwszy z obiektów 'SWCNU'ZRTGUUKQP wywołuje metodę KPVGTRTGV
na rzecz swojej składowej TAQR (referencji do obiektu .KVGTCN'ZRTGUUKQP
inicjowanego wartością „cztery”).
Obiekt .KVGTCN'ZRTGUUKQP rejestruje właściwą dla siebie parę klucz-wartość
w obiekcie kontekstu.
Pierwszy z obiektów 'SWCNU'ZRTGUUKQP odczytuje wartości NAQR („cztery”)
i TAQR („cztery”) z obiektu kontekstu.
Pierwszy z obiektów 'SWCNU'ZRTGUUKQP porównuje odczytane w poprzednim
kroku wartości i rejestruje wynik porównania (VTWG) wraz z właściwym sobie
kluczem w obiekcie kontekstu.
18. 218 Część III ♦ Wzorce
Po powrocie w górę drzewa obiektów następuje wywołanie metody
KPVGTRTGV
na rzecz składowej TAQR obiektu UVCVGOGPV. Wartość tego
wywołania (tym razem HCNUG) obliczana jest identycznie jak dla pierwszego
obiektu NAQR.
Obiekt UVCVGOGPV odczytuje wartości swoich operandów z obiektu kontekstu
i porównuje je za pośrednictwem operatora ^^. Suma logiczna wartości VTWG
i HCNUG daje VTWG i taka wartość jest ostatecznie składowana w obiekcie kontekstu.
Cały ten proces to zaledwie pierwsza iteracja pętli. Oto wynik wykonania wszystkich
trzech przebiegów:
EVGT[
PCMQOKVC QFRQYKGF
PCMQOKVC QFRQYKGF
Q Q NGL CYMK
Być mo e zrozumienie tego, co dzieje się w powy szym kodzie, wymagać będzie kil-
kukrotnej lektury opisu — znów mamy bowiem do czynienia z pomieszaniem pomiędzy
drzewami klas a hierarchiami obiektów. Klasy wyra eń tworzą hierarchię dziedzicze-
nia 'ZRTGUUKQP, ale równocześnie obiekty tych klas są w czasie wykonania formowane
w strukturę drzewiastą. Nale y jednak pamiętać o rozró nieniu obu hierarchii.
Kompletny diagram klas dla tego przykładu prezentowany jest na rysunku 11.2.
Ciemne strony wzorca Interpreter
Po uło eniu rdzenia hierarchii klas wzorca Interpreter jego rozbudowa jest ju dość pro-
sta, odbywa się jednak przez tworzenie coraz to nowych klas. Z tego względu wzorzec
Interpreter najlepiej stosować do implementacji języków stosukowo uproszczonych.
W obliczu potrzeby pełnoprawnego języka programowania nale ałoby raczej skorzy-
stać z gotowych narzędzi przeznaczonych do analizy leksykalnej i implementacji wła-
snej gramatyki.
Dalej, klasy wzorca Interpreter często realizują bardzo podobne zadania, warto więc
pilnować, aby nie dochodziło w nich do niepotrzebnego powielania kodu.
Wiele osób, przymierzając się do pierwszego w swoim wykonaniu wdro enia wzorca
Interpreter, rozczarowuje się odkryciem faktu, e wzorzec ten nie obejmuje analizy
leksykalnej. Oznacza to, e nie wystarczy on do implementacji gotowego mechanizmu
skryptowego rozszerzania aplikacji. Przykładowa implementacja analizy leksykalnej
mocno uproszczonego języka prezentowana jest w dodatku B.
19. Rozdział 11. ♦ Reprezentacja i realizacja zadań 219
Rysunek 11.2. Wdro enie wzorca Interpreter
Wzorzec Strategy
Klasy często obcią ane są nadmierną liczbą zadań. To zrozumiałe: niemal zawsze two-
rzymy je z myślą o kilku podstawowych funkcjach. W trakcie kodowania okazuje się,
e niektóre z tych funkcji trzeba zmieniać w zale ności od okoliczności. Oznacza to
konieczność podziału klasy na podklasy. I zanim się ktokolwiek obejrzy, projekt zostaje
rozdarty przeciwnymi nurtami.
Problem
Poniewa zdołaliśmy ostatnio opracować implementację miniaturowego języka oceny,
trzymajmy się przykładu z quizami. Quizy nie mogą się obejść bez pytań, skonstruujemy
więc klasę 3WGUVKQP (pytanie) i wyposa ymy ją w metodę oceny — OCTM
. Wszystko
w porządku, dopóki nie pojawi się potrzeba obsługiwania ró nych mechanizmów
oceniania.
Załó my, e mamy zaimplementować ocenę wedle języka MarkLogic, ocenę na pod-
stawie prostego dopasowania odpowiedzi i ocenę z dopasowaniem przy u yciu wyra eń
regularnych. W pierwszym podejściu moglibyśmy zró nicować projekt pod kątem tych
mechanizmów oceny, jak na rysunku 11.3.
20. 220 Część III ♦ Wzorce
Rysunek 11.3.
Definiowanie
klas pochodnych
wedle strategii oceny
Całość będzie się sprawdzać dopóty, dopóki ocena pozostanie jedynym zmiennym
aspektem hierarchii. Wyobraźmy sobie jednak, e za ądano od nas dodatkowo obsłu-
gi ró nego rodzaju pytań: czysto tekstowych i opartych na materiale audiowizualnym.
Powstaje problem uwzględnienia dwóch kierunków zmian w jednym drzewie dziedzi-
czenia — patrz rysunek 11.4.
Rysunek 11.4. Wyró nianie klas pochodnych według dwóch kryteriów podziału
Nie tylko doszło do podwojenia (niemal) liczby klas w hierarchii, ale i do powielenia
kodu. Nasza logika oceniania jest bowiem powielona w obu podgałęziach hierarchii
dziedziczenia.
Jeśli kiedykolwiek staniesz w obliczu powielania algorytmu w równoległych gałęziach
hierarchii dziedziczenia (powielania tak przez wydzielanie klas pochodnych, jak i roz-
budowywanie instrukcji warunkowych), powinieneś rozwa yć wyodrębnienie algorytmu
do jego własnego typu.
21. Rozdział 11. ♦ Reprezentacja i realizacja zadań 221
Implementacja
Wzorzec Strategy (strategia), podobnie jak cała gama najlepszych wzorców, łączy
prostotę z wielkimi mo liwościami. Kiedy klasy muszą obsługiwać wielorakie imple-
mentacje interfejsu (u nas są to wielorakie mechanizmy oceny), wzorzec ten zakłada
zaniechanie rozbudowywania oryginalnej hierarchii klas, zalecając wyodrębnienie
owych implementacji do osobnego typu.
Odnosząc to do naszego przykładu, powiedzielibyśmy, e najlepiej byłoby wyod-
rębnić osobny typ mechanizmu oceny — /CTMGT. Nową strukturę projektu ilustruje ry-
sunek 11.5.
Rysunek 11.5.
Wyodrębnienie
algorytmów
do osobnego typu
To kolejny znakomity przykład wdro enia jednej z podstawowych zasad projektowych
promowanych przez Bandę Czworga (i nie tylko), a mówiącej o wy szości kompozy-
cji nad dziedziczeniem. Definiując i hermetyzując algorytmy oceny, redukujemy licz-
bę pochodnych w hierarchii dziedziczenia i zwiększamy równocześnie elastyczność
systemu. Mo emy go bowiem w dogodnych momentach uzupełniać o następne stra-
tegie oceny bez konieczności wprowadzania jakichkolwiek zmian w klasach hierarchii
3WGUVKQP. Wszystkie klasy tej hierarchii mają do swojej dyspozycji egzemplarz klasy
/CTMGT, a interfejs klas udostępnia metodę oceny OCTM
. Szczegóły implementacji są
dla wywołującego tę metodę zupełnie nieistotne.
Oto hierarchia 3WGUVKQP wyra ona kodem źródłowym:
CDUVTCEV ENCUU 3WGUVKQP ]
RTQVGEVGF RTQORV
RTQVGEVGF OCTMGT
HWPEVKQP AAEQPUVTWEV
RTQORV /CTMGT OCTMGT ]
VJKU OCTMGT OCTMGT
VJKU RTQORV RTQORV
_
HWPEVKQP OCTM
TGURQPUG ]
22. 222 Część III ♦ Wzorce
TGVWTP VJKU OCTMGT OCTM
TGURQPUG
_
_
ENCUU 6GZV3WGUVKQP GZVGPFU 3WGUVKQP ]
operacje charakterystyczne dla prezentacji pytań w formie tekstowej…
_
ENCUU #83WGUVKQP GZVGPFU 3WGUVKQP ]
operacje charakterystyczne dla prezentacji pytania z materiałem audiowizualnym…
_
Szczegóły implementacyjne rozró niające klasy 6GZV3WGUVKQP i #83WGUVKQP pozosta-
wiłem wyobraźni Czytelnika. Najwa niejsze z naszego punktu widzenia funkcje tych
klas zdefiniowane zostały bowiem w klasie bazowej 3WGUVKQP, która ponadto przecho-
wuje w składowej OCTMGT obiekt oceny (obiekt klasy /CTMGT). Kiedy następuje wywo-
łanie metody 3WGUVKQPOCTM
z argumentem reprezentującym odpowiedź uczestnika
quizu, realizacja wywołania w klasie 3WGUVKQP polega na oddelegowaniu wywołania
do odpowiedniej metody obiektu /CTMGT.
Zdefiniujmy klasę obiektów /CTMGT:
CDUVTCEV ENCUU /CTMGT ]
RTQVGEVGF VGUV
HWPEVKQP AAEQPUVTWEV
VGUV ]
VJKU VGUV VGUV
_
CDUVTCEV HWPEVKQP OCTM
TGURQPUG
_
ENCUU /CTM.QIKE/CTMGT GZVGPFU /CTMGT ]
RTKXCVG GPIKPG
HWPEVKQP AAEQPUVTWEV
VGUV
RCTGPVEQPUVTWEV
VGUV
$this-engine = new MarkParse($test);
_
HWPEVKQP OCTM
TGURQPUG ]
return $this-engine-evaluate($response);
na razie działa na niby:
TGVWTP VTWG
_
_
ENCUU /CVEJ/CTMGT GZVGPFU /CTMGT ]
HWPEVKQP OCTM
TGURQPUG ]
TGVWTP
VJKU VGUV TGURQPUG
_
_
ENCUU 4GIGZR/CTMGT GZVGPFU /CTMGT ]
HWPEVKQP OCTM
TGURQPUG ]
TGVWTP
RTGIAOCVEJ
VJKU VGUV TGURQPUG
_
_
23. Rozdział 11. ♦ Reprezentacja i realizacja zadań 223
W implementacji klas hierarchii /CTMGT niewiele jest elementów zaskakujących —
w rzeczy samej niewiele z nich wymaga w ogóle jakiegokolwiek komentarza. Zauwa -
my jedynie, e obiekty klasy /CTM.QIKE/CTMGT są przystosowane do korzystania z ana-
lizatora leksykalnego, którego kod jest prezentowany w dodatku B. Jednak na potrzeby
tego przykładu mo emy ten aspekt klasy pominąć, więc metoda /CTM.QIKE/CTMGTOCTM
realizuje na razie ocenę „na pół gwizdka”, zwracając za ka dym razem VTWG. Najwa -
niejsza w tej hierarchii jest definiowana nią struktura, nie zaś szczegóły implementacji
poszczególnych strategii ocen. Struktura ta ma zaś umo liwiać przełączanie mechani-
zmu oceny pomiędzy obiektami hierarchii /CTMGT bez uszczerbku dla klasy 3WGUVKQP,
która się do tego mechanizmu odwołuje.
Wcią pozostaje oczywiście kwestia podjęcia decyzji co do zastosowania jednego
z konkretnych obiektów hierarchii /CTMGT. Problem ten rozwiązuje się w praktyce na
dwa sposoby. Pierwszy polega na wyborze strategii oceny na etapie układania quizu
przez jego autora, a wybór sprowadza się do zaznaczenia odpowiedniego pola w for-
mularzu. Drugi sposób to rozró nianie mechanizmu oceny na podstawie struktury cią-
gu określającego bazę oceny. Jeśli baza wyra ona jest prostą odpowiedzią, wybierany
jest mechanizm prostego porównania-dopasowania (/CVEJ/CTMGT):
RKúè
Wybór mechanizmu MarkLogic sygnalizowany jest znakiem dwukropka poprzedzają-
cego wyra enie oceny:
KPRWV GSWCNU RKúè
Z kolei ocena na podstawie dopasowania wyra enia regularnego wybierana jest w przy-
padku rozpoznania w ciągu wzorca odpowiedzi znaków ukośników ograniczających
wyra enie:
RK
Oto kod ilustrujący stosowanie poszczególnych klas:
OCTMGTU CTTC[
PGY 4GIGZR/CTMGT
RK
PGY /CVEJ/CTMGT
RKúè
PGY /CTM.QIKE/CTMGT
KPRWV GSWCNU RKúè
HQTGCEJ
OCTMGTU CU OCTMGT ]
RTKPV IGVAENCUU
OCTMGT P
SWGUVKQP PGY 6GZV3WGUVKQP
+NG DQMÎY OC RKúEKQDQM! OCTMGT
HQTGCEJ
CTTC[
RKúè EVGT[ CU TGURQPUG ]
RTKPV VQFRQYKGF TGURQPUG
KH
SWGUVKQP OCTM
TGURQPUG ]
RTKPV Y[ OKGPKVC QFRQYKGF P
_ GNUG ]
RTKPV RQO[ MCP
_
_
_
Konstruujemy powy ej trzy obiekty strategii oceny, z których ka dy jest następnie wy-
korzystywany do konstrukcji obiektu pytania 6GZV3WGUVKQP. Następnie ka dy z takich
obiektów jest konfrontowany z dwoma przykładowymi odpowiedziami.
24. 224 Część III ♦ Wzorce
Klasa /CTM.QIKE/CTM jest w swej obecnej postaci jedynie makietą, a jej metoda OCTM
ka dorazowo zwraca wartość VTWG. Oznaczony komentarzem kod da się jednak
uruchomić w połączeniu z przykładową implementacją analizatora leksykalnego
prezentowaną w dodatku B; mo na te ją przystosować do współpracy z analiza-
torami autorstwa osób trzecich.
Oto wynik wykonania powy szego kodu:
4GIGZR/CTMGT
QFRQYKGF RKúè Y[ OKGPKVC QFRQYKGF
QFRQYKGF EVGT[ RQO[ MC
/CVEJ/CTMGT
QFRQYKGF RKúè Y[ OKGPKVC QFRQYKGF
QFRQYKGF EVGT[ RQO[ MC
/CTM.QIKE/CTMGT
QFRQYKGF RKúè Y[ OKGPKVC QFRQYKGF
QFRQYKGF EVGT[ Y[ OKGPKVC QFRQYKGF
Klasa /CTM.QIKE/CTMGT jest w tej chwili jedynie atrapą. Jej metoda oceny daje zawsze
wartość VTWG, przez co w powy szym kodzie obie udzielone odpowiedzi są rozpozna-
wane jako poprawne.
W tym przykładzie obserwowaliśmy przekazywanie konkretnych danych od u ytkow-
nika (podającego na wejście wartość zmiennej TGURQPUG) do obiektu strategii oceny;
przekazanie odbywało się za pośrednictwem metody 3WGUVKQPOCTM
. W pewnych
sytuacjach nie zawsze znana z góry jest ilość informacji wymaganych przez obiekt, na
rzecz którego wywoływana jest operacja. Decyzję co do ilości i rodzaju pozyskiwanych
danych mo na więc oddelegować, przekazując do obiektu strategii egzemplarz obiektu
reprezentującego u ytkownika. Wtedy obiekt strategii mo e wywoływać na rzecz obiektu
u ytkownika metody zwracające wymagane dane.
Wzorzec Observer
Znamy ju pojęcie ortogonalności jako jednej z cnót projektu. Jednym z naszych (pro-
gramistów) celów powinno być konstruowanie komponentów, które mo na swobodnie
zmieniać albo przenosić, a których modyfikacje nie przenoszą się na pozostałe kom-
ponenty. Jeśli ka da zmiana jednego z komponentów systemu prowokuje szereg zmian
w innej części systemu, programowanie zmienia się w wyszukiwanie i poprawianie
błędów wprowadzanych w coraz większej liczbie.
Rzecz jasna nie zawsze da się osiągnąć po ądaną ortogonalność projektu. Elementy
systemu muszą przecie dysponować referencjami do pozostałych części systemu.
Mo na jednak minimalizować zawiązywane w ten sposób zale ności. Obserwowali-
śmy ju choćby ró ne przykłady zastosowań polimorfizmu, dzięki któremu u ytkownik
musi jedynie poznać i korzysta wyłącznie z interfejsu komponentu, zaś jego właściwa
implementacja pozostaje poza zakresem jego zainteresowań.
25. Rozdział 11. ♦ Reprezentacja i realizacja zadań 225
W pewnych okolicznościach komponenty mo na oddalić od siebie jeszcze bardziej.
Weźmy jako przykład klasę odpowiedzialną za pośredniczenie w dostępie u ytkownika
do systemu:
ENCUU .QIKP ]
EQPUV .1)+0A75'4A70-0190
EQPUV .1)+0A9410)A2#55
EQPUV .1)+0A#%%'55
RTKXCVG UVCVWU CTTC[
HWPEVKQP JCPFNG.QIKP
WUGT RCUU KR ]
UYKVEJ
TCPF
]
ECUG
VJKU UGV5VCVWU
UGNH.1)+0A#%%'55 WUGT KR
TGV VTWG DTGCM
ECUG
VJKU UGV5VCVWU
UGNH.1)+0A9410)A2#55 WUGT KR
TGV HCNUG DTGCM
ECUG
VJKU UGV5VCVWU
UGNH.1)+0A75'4A70-0190 WUGT KR
TGV HCNUG DTGCM
_
TGVWTP TGV
_
RTKXCVG HWPEVKQP UGV5VCVWU
UVCVWU WUGT KR ]
VJKU UVCVWU CTTC[
UVCVWU WUGT KR
_
HWPEVKQP IGV5VCVWU
]
TGVWTP VJKU UVCVWU
_
_
Klasa ta imituje proces logowania się u ytkownika w systemie — wynik logowania
określany jest losowo, na podstawie wartości wywołania funkcji TCPF
. Znacznik sta-
tusu u ytkownika mo e w wyniku „logowania” przyjąć wartość .1)+0A#%%'55 (przyznany
dostęp do systemu), .1)+0A9410)A2#55 (niepoprawne hasło) bądź .1)+0A75'4A70-0190
(niepoprawne konto).
Poniewa klasa .QIKP to stra nik systemowych skarbów, będzie cieszyć się w czasie
implementacji projektu (i zapewne równie później) szczególną uwagą. Mo e się oka-
zać, e w przyszłości kierownictwo działu marketingu za ąda utrzymywania w reje-
strze logowania nazw domenowych u ytkowników. Łatwo będzie wprowadzić ądane
uzupełnienie:
HWPEVKQP JCPFNG.QIKP
WUGT RCUU KR ]
UYKVEJ
TCPF
]
ECUG
VJKU UGV5VCVWU
UGNH.1)+0A#%%'55 WUGT KR
TGV VTWG DTGCM
ECUG
VJKU UGV5VCVWU
UGNH.1)+0A9410)A2#55 WUGT KR
TGV HCNUG DTGCM
ECUG
26. 226 Część III ♦ Wzorce
VJKU UGV5VCVWU
UGNH.1)+0A75'4A70-0190 WUGT KR
TGV HCNUG DTGCM
_
.QIIGTNQI+2
WUGT KR VJKU IGV5VCVWU
TGVWTP TGV
_
Nieustający w trosce o bezpieczeństwo administratorzy mogą z kolei za ądać powia-
damiania o nieudanych próbach logowania. Trzeba będzie ponownie wrócić do imple-
mentacji metody JCPFNG.QIKP
i umieścić w jej ciele dodatkowe wywołanie:
KH
TGV ]
0QVKHKGTOCKN9CTPKPI
WUGT KR VJKU IGV5VCVWU
_
Nie mo na wykluczyć, e w nieokreślonej przyszłości sekcja rozwoju ogłosi strategicz-
ne połączenie działalności z pewnym dostawcą usług internetowych i za ąda ustawiania
dla pewnej grupy u ytkowników wyró niających ich ciasteczek. I tak dalej, i tak dalej.
Wszystkie te ądania z osobna są proste do spełnienia, ale zawsze ich realizacja odby-
wa się kosztem projektu. Klasa .QIKP niechybnie stanie się w ich wyniku klasą głębo-
ko osadzoną w konkretnym systemie. Nie da się jej potem łatwo wyciągnąć z projektu
i zastosować w kolejnym — trzeba będzie „obrać” jej kod z wszystkich naleciałości
charakterystycznych dla systemu, w którym była osadzona. Jeśli nawet oka e się to
nieskomplikowane, powrócimy do programowania opartego nie na projekcie, a na
umiejętnym na wycinaniu i wklejaniu kodu. W efekcie otrzymamy zaś w dwóch ró -
nych systemach dwie niepodobne ju do siebie klasy .QIKP, a ulepszenia jednej z nich
będziemy próbować niezale nie wprowadzić w drugiej, a synchronizacja taka stanie
się niemo liwa z powodu zbyt wielkiej ich odmienności.
Có mo emy zrobić, aby zachować klasę .QIKP? Mo emy wdro yć wzorzec Observer.
Implementacja
Sedno wzorca Observer (obserwator) polega na rozdzieleniu elementów u ytkujących
(obserwatorów) od klasy centralnej (podmiotu obserwacji). Obserwatory muszą być
informowane o zdarzeniach zachodzących w podmiocie obserwacji. Równocześnie nie
chcemy wprowadzać trwałych i sztywnych zale ności pomiędzy podmiotem obserwa-
cji a klasami obserwatorów.
Mo emy więc umo liwić obserwatorom rejestrowanie się w klasie podmiotu. W tym
celu powinniśmy uzupełnić klasę .QIKP o trzy nowe metody: rejestracji (CVVCEJ
), re-
zygnacji (FGVCEJ
) i powiadomienia (PQVKH[
), przystosowując klasę do wymogów
wyró niających podmioty obserwacji interfejsu (tutaj ma on nazwę 1DUGTXCDNG):
KPVGTHCEG 1DUGTXCDNG ]
HWPEVKQP CVVCEJ
1DUGTXGT QDUGTXGT
HWPEVKQP FGVCEJ
1DUGTXGT QDUGTXGT
HWPEVKQP PQVKH[
_
27. Rozdział 11. ♦ Reprezentacja i realizacja zadań 227
Klasa Login…
RTKXCVG QDUGTXGTU
…
HWPEVKQP CVVCEJ
1DUGTXGT QDUGTXGT ]
VJKU QDUGTXGTU=? QDUGTXGT
_
HWPEVKQP FGVCEJ
1DUGTXGT QDUGTXGT ]
VJKU QDUGTXGTU CTTC[AFKHH
VJKU QDUGTXGTU CTTC[
QDUGTXGT
_
HWPEVKQP PQVKH[
]
HQTGCEJ
VJKU QDUGTXGTU CU QDU ]
QDU WRFCVG
VJKU
_
_
…
Mamy więc klasę podmiotu utrzymującą listę obiektów-obserwatorów. Obiekty te są
dodawane do listy z zewnątrz poprzez wywołanie metody CVVCEJ
. Rezygnacja z ob-
serwacji i usunięcie z listy następuje w wyniku wywołania metody FGVCEJ
. Z kolei
wywołanie metody PQVKH[
słu y jako powiadomienie obiektów obserwatorów o po-
tencjalnie interesujących ich zdarzeniach. Implementacja tej metody sprowadza się do
przejrzenia tablicy obiektów obserwatorów i wywołania na rzecz ka dego z nich me-
tody WRFCVG
.
Wywołanie metody rozsyłającej powiadomienia następuje we wnętrzu klasy .QIKP,
w ciele metody JCPFNG.QIKP
:
HWPEVKQP JCPFNG.QIKP
WUGT RCUU KR ]
UYKVEJ
TCPF
]
ECUG
VJKU UGV5VCVWU
UGNH.1)+0A#%%'55 WUGT KR
TGV VTWG DTGCM
ECUG
VJKU UGV5VCVWU
UGNH.1)+0A9410)A2#55 WUGT KR
TGV HCNUG DTGCM
ECUG
VJKU UGV5VCVWU
UGNH.1)+0A75'4A70-0190 WUGT KR
TGV HCNUG DTGCM
_
VJKU PQVKH[
TGVWTP TGV
_
Zdefiniujmy interfejs klas-obserwatorów:
KPVGTHCEG 1DUGTXGT ]
HWPEVKQP WRFCVG
1DUGTXCDNG QDUGTXCDNG
_
Do listy obserwatorów mo na dodawać (za pośrednictwem metody CVVCEJ
klasy pod-
miotu obserwacji) dowolne obiekty, które implementują interfejs 1DUGTXCDNG. Utwórzmy
kilka takich obiektów:
ENCUU 5GEWTKV[/QPKVQT GZVGPFU 1DUGTXGT ]
HWPEVKQP WRFCVG
1DUGTXCDNG QDUGTXCDNG ]
UVCVWU QDUGTXCDNG IGV5VCVWU
28. 228 Część III ♦ Wzorce
KH
UVCVWU=? .QIKP.1)+0A9410)A2#55 ]
wyślij wiadomość do administratora…
RTKPV AA%.#55AA VY[U[ CO YKCFQOQ EK GOCKN FQ CFOKPKUVTCVQTCP
_
_
_
ENCUU )GPGTCN.QIIGT GZVGPFU 1DUGTXGT ]
HWPEVKQP WRFCVG
1DUGTXCDNG QDUGTXCDNG ]
UVCVWU QDUGTXCDNG IGV5VCVWU
dodaj dane sesji logowania do rejestru…
RTKPV AA%.#55AA VFQFCLú YRKU FQ TGLGUVTW NQIQYCPKCP
_
_
ENCUU 2CTVPGTUJKR6QQN GZVGPFU 1DUGTXGT ]
HWPEVKQP WRFCVG
1DUGTXCDNG QDUGTXCDNG ]
UVCVWU QDUGTXCDNG IGV5VCVWU
sprawdź adres IP…
jeśli adres rozpoznany, ustaw plik cookie…
RTKPV AA%.#55AA VWUVCYKCO RNKM EQQMKG FNC TQRQPCPGIQ CFTGUW +2P
_
_
Zauwa my, e obiekty-obserwatory mogą korzystać z przekazanego egzemplarza
1DUGTXCDNG celem pozyskania dodatkowych informacji o zdarzeniu. Klasa podmiotu ob-
serwacji powinna więc przewidywać stosowne metody udostępniające dane interesu-
jące obserwatorów. U nas rolę tego interfejsu pełni metoda IGV5VCVWU
, za pośred-
nictwem której powiadamiane obiekty-obserwatory otrzymują migawkę bie ącego stanu
logowania.
W obiekcie klasy .QIKP mo na rejestrować dowolne obiekty, byle tylko implementowały
interfejs 1DUGTXGT:
NQIKP PGY .QIKP
NQIKP CVVCEJ
PGY 5GEWTKV[/QPKVQT
NQIKP CVVCEJ
PGY )GPGTCN.QIIGT
NQIKP CVVCEJ
PGY 2CTVPGTUJKR6QQN
Otrzymaliśmy więc elastyczne powiązanie pomiędzy klasą-podmiotem obserwacji
a klasami-obserwatorami. Diagram klas odpowiedni dla omawianego przykładu pre-
zentowany jest na rysunku 11.6.
Poznaliśmy ju najwa niejsze elementy kodu implementującego wzorzec Observer.
Dla większej przejrzystości mo emy zebrać je na wspólnym listingu:
KPVGTHCEG 1DUGTXCDNG ]
HWPEVKQP CVVCEJ
1DUGTXGT QDUGTXGT
HWPEVKQP FGVCEJ
1DUGTXGT QDUGTXGT
HWPEVKQP PQVKH[
_
ENCUU .QIKP KORNGOGPVU 1DUGTXCDNG ]
RTKXCVG QDUGTXGTU CTTC[
EQPUV .1)+0A75'4A70-0190
30. 230 Część III ♦ Wzorce
RTKXCVG HWPEVKQP UGV5VCVWU
UVCVWU WUGT KR ]
VJKU UVCVWU CTTC[
UVCVWU WUGT KR
_
HWPEVKQP IGV5VCVWU
]
TGVWTP VJKU UVCVWU
_
_
KPVGTHCEG 1DUGTXGT ]
HWPEVKQP WRFCVG
1DUGTXCDNG QDUGTXCDNG
_
ENCUU 5GEWTKV[/QPKVQT GZVGPFU 1DUGTXGT ]
HWPEVKQP WRFCVG
1DUGTXCDNG QDUGTXCDNG ]
UVCVWU QDUGTXCDNG IGV5VCVWU
KH
UVCVWU=? .QIKP.1)+0A9410)A2#55 ]
wyślij wiadomość do administratora…
RTKPV AA%.#55AA VY[U[ CO YKCFQOQ EK GOCKN FQ CFOKPKUVTCVQTCP
_
_
_
ENCUU )GPGTCN.QIIGT GZVGPFU 1DUGTXGT ]
HWPEVKQP WRFCVG
1DUGTXCDNG QDUGTXCDNG ]
UVCVWU QDUGTXCDNG IGV5VCVWU
dodaj dane sesji logowania do rejestru…
RTKPV AA%.#55AA FQFCLú YRKU FQ TGLGUVTW NQIQYCPKCP
_
_
ENCUU 2CTVPGTUJKR6QQN GZVGPFU 1DUGTXGT ]
HWPEVKQP WRFCVG
1DUGTXCDNG QDUGTXCDNG ]
UVCVWU QDUGTXCDNG IGV5VCVWU
sprawdź adres IP…
jeśli adres rozpoznany, ustaw specjalne cookie…
RTKPV AA%.#55AA WUVCYKCO RNKM EQQMKG FNC TQRQPCPGIQ CFTGUW +2P
_
_
Wzorzec ten doczekał się szeregu wariacji, nie jest te wolny od wad. Po pierwsze, meto-
da zwracająca stan podmiotu obserwacji (IGV5VCVWU
) nie jest opisywana w interfejsie
1DUGTXCDNG. Daje to typowi 1DUGTXCDNG nadzwyczajną elastyczność, ale równocześnie
redukuje bezpieczeństwo typowania. Co się stanie, jeśli któryś z obiektów obserwato-
rów odwołujących się do metody IGV5VCVWU
zostanie zarejestrowany w obiekcie klasy
implementującej interfejs 1DUGTXCDNG, ale nie implementującej metody IGV5VCVWU
?
Có , wiadomo — dojdzie do błędu krytycznego.
Jak zwykle mamy tu problem zrównowa enia elastyczności i ryzyka. Pominięcie w spe-
cyfikacji interfejsu 1DUGTXCDNG daje mu elastyczność, ale nara a u ytkowników na ryzyko
chybionego wywołania, jeśli obiekt obserwatora zarejestrowany zostanie w złym obiek-
cie 1DUGTXCDNG. Ryzyko to mo na wyeliminować przez uzupełnienie interfejsu 1DUG
TXCDNG o metodę IGV5VCVWU
, ale kosztem elastyczności. Niektóre z klas podmiotów
obserwacji mogą bowiem na przykład udostępniać więcej ni jedną metodę zwracają-
cą status.
31. Rozdział 11. ♦ Reprezentacja i realizacja zadań 231
Mo na by rozwiązać problem, przekazując w wywołaniu metody WRFCVG
obiektów-
obserwatorów nie egzemplarz podmiotu obserwacji, ale komplet informacji o jego
stanie. Osobiście często stosuję tę metodę, jeśli mam na szybko skonstruować działa-
jące rozwiązanie. W naszym przykładzie metoda WRFCVG
powinna więc oczekiwać
przekazania nie egzemplarza klasy .QIKP, ale znacznika statusu logowania, identyfikato-
ra u ytkownika i adresu IP maszyny, z której zainicjowano próbę logowania, najlepiej
w postaci tablicy. Pozwala to na wyeliminowanie jednej metody z klasy .QIKP. Z dru-
giej strony, jeśli stan podmiotu obserwacji miałby być opisywany zbyt wielką liczbą
danych, znacznie bardziej elastycznym rozwiązaniem byłoby jednak przekazywanie
w wywołaniu WRFCVG
egzemplarza .QIKP.
Mo na te zablokować typ w ogóle, odmawiając w klasie .QIKP współpracy z obiektami
klas innych ni wyró niona (np. .QIKP1DUGTXGT). W takim układzie nale ałoby jeszcze
pomyśleć o jakichś realizowanych w czasie wykonania testach obiektów przekazywa-
nych w wywołaniu metody CVVCEJ
; alternatywą byłaby zmiana (uszczegółowienie)
interfejsu 1DUGTXCDNG.
Mamy tu ponowne zastosowanie kompozycji w czasie wykonania celem skonstruowania
elastycznego i rozszerzalnego modelu. Klasa .QIKP mo e zostać teraz łatwo wyodrębnio-
na z kontekstu i przerzucona do zupełnie innego projektu, gdzie mo e współpracować
z zupełnie odmiennym zestawem obserwatorów.
Wzorzec Visitor
Jak widzieliśmy, wiele wzorców, podą ając za zasadą wy szości kompozycji nad dzie-
dziczeniem, zakłada konstruowanie struktur w czasie wykonania programu. Znakomi-
tym przykładem takiego wzorca jest powszechnie stosowany wzorzec kompozycji —
Composite. Tam, gdzie trzeba operować na zbiorach obiektów, niektóre z operacji mogą
odwoływać się do zbiorów jako takich, ale inne mogą wymagać operowania na poszcze-
gólnych komponentach zbioru. Takie operacje mo na wbudować w same komponenty
— w końcu to one znajdują się na najlepszej mo liwej pozycji do ich realizacji.
Podejście to nie jest jednak pozbawione wad. Nie zawsze na przykład mamy dostateczną
ilość informacji o operacjach, które będą wykonywane na strukturze. Jeśli klasy są uzu-
pełniane operacjami od przypadku do przypadku, ich interfejsy mogą się nadmiernie
rozrosnąć. Wtedy mo na uciec się do wzorca Visitor (wizytator).
Problem
Wróćmy do prezentowanego w poprzednim rozdziale przykładu zastosowania wzorca
kompozycji. Na potrzeby pewnej gry stworzyliśmy tam armię komponentów o ciekawej
cesze zastępowalności komponentu zbiorem komponentów. Operacje były tam wbu-
dowywane w same komponenty — właściwe operacje realizowane były przez obiekty
składowe, do których odwoływał się obiekt-kompozyt.
32. 232 Część III ♦ Wzorce
ENCUU #TO[ GZVGPFU %QORQUKVG7PKV ]
HWPEVKQP DQODCTF5VTGPIVJ
]
TGV
HQTGCEJ
VJKU WPKVU
CU WPKV ]
TGV
WPKV DQODCTF5VTGPIVJ
_
TGVWTP TGV
_
_
ENCUU .CUGT%CPPQP7PKV GZVGPFU 7PKV ]
HWPEVKQP DQODCTF5VTGPIVJ
]
TGVWTP
_
_
Nie są tu problemem te operacje, które stanowią podstawowe zadania klasy kompozytu.
Gorzej z operacjami pobocznymi.
Weźmy choćby operację, w ramach której trzeba wykonać zrzut (w postaci tekstowej)
informacji o obiektach składowych kompozytu. Operację taką mo na by włączyć do
klasy 7PKV:
klasa Unit
HWPEVKQP VGZVWOR
PWO ]
TGV
RCF
33. PWO
TGV URTKPVH
] RCF_U
TGV IGVAENCUU
VJKU
TGV UK C TC GPKC VJKU DQODCTF5VTGPIVJ
P
TGVWTP TGV
_
Metodę tę mo na następnie przesłonić w klasie %QORQUKVG7PKV:
klasa CompositeUnit
HWPEVKQP VGZVWOR
PWO ]
TGV
RCF
34. PWO
TGV URTKPVH
] RCF_U
TGV IGVAENCUU
VJKU
TGV UK C TC GPKC VJKU DQODCTF5VTGPIVJ
P
HQTGCEJ
VJKU WPKVU CU WPKV ]
TGV WPKV VGZVWOR
PWO
_
TGVWTP TGV
_
Moglibyśmy, idąc tym tropem, utworzyć metody zliczające liczbę jednostek w kompo-
zycie, zapisywania danych o składowych kompozytu w bazie danych czy te obliczania
liczby jednostek aprowizacji konsumowanych codziennie przez armię.
Ale czy koniecznie powinniśmy włączać tego rodzaju operacje do interfejsu kompozytu?
Po co rozdymać interfejs o funkcje niekoniecznie związane z podstawowym zadaniem
klasy? Odpowiedź jest prosta: postanowiliśmy zdefiniować te funkcje tu, bo z tego
miejsca łatwo o dostęp do składowych kompozytu.
35. Rozdział 11. ♦ Reprezentacja i realizacja zadań 233
Choć co prawda łatwość przeglądania zbioru jest jedną z podstawowych cech kompo-
zytu, nie oznacza to, e dosłownie ka da operacja wymagająca przejrzenia składowych
kompozytu powinna być implementowana w jego klasie i zajmować miejsce w jego
interfejsie.
Mamy więc kolejny cel: wykorzystać w dowolnych operacjach łatwość odwołań do
komponentów kompozytu bez niepotrzebnego rozdymania jego interfejsu.
Implementacja
Zacznijmy od zdefiniowania w abstrakcyjnej klasie 7PKV metody CEEGRV
.
HWPEVKQP CEEGRV
#TO[8KUKVQT XKUKVQT ]
OGVJQF XKUKV IGV%NCUU
VJKU
XKUKVQT OGVJQF
VJKU
_
Jak widać, metoda CEEGRV
oczekuje przekazania w wywołaniu obiektu klasy #TO[
8KUKVQT. W języku PHP mamy mo liwość dynamicznego konstruowania nazw metod
wykorzystywaną tu do realizacji dynamicznego wyboru metody do wywołania na rzecz
przekazanego obiektu. Dzięki temu nie musimy implementować metody CEEGRV
osobno dla ka dego węzła końcowego naszej hierarchii klas. Trzeba jedynie zdefi-
niować tę samą metodę w abstrakcyjnej klasie kompozytu.
HWPEVKQP CEEGRV
#TO[8KUKVQT XKUKVQT ]
OGVJQF XKUKV IGV%NCUU
VJKU
XKUKVQT OGVJQF
VJKU
HQTGCEJ
VJKU WPKVU CU VJKUWPKV ]
VJKUWPKV CEEGRV
XKUKVQT
_
_
Metoda ta realizuje to samo zadanie co 7PKVCEEGRV
, z jednym tylko dodatkiem. Na
podstawie nazwy bie ącej klasy konstruuje nazwę metody do wywołania i wywołuje
ją na rzecz przekazanego obiektu klasy #TO[8KUKVQT. Jeśli więc bie ącą klasą będzie
#TO[, nastąpi wywołanie klasy #TO[8KUKVQTXKUKV#TO[
; jeśli bie ącą klasą będzie
6TQQR%CTTKGT, metoda zrealizuje wywołanie #TO[8KUKVQTXKUKV6TQQR%CTTKGT
i tak
dalej. Po powrocie z wywołania rozpocznie się zaś pętla przeglądająca komponenty
kompozytu i wywołująca na ich rzecz ich implementację metody CEEGRV
. A poniewa
CEEGRV
powtarza tu operacje definiowane w klasach nadrzędnych, mo emy w prosty
sposób wyeliminować duplikację kodu:
HWPEVKQP CEEGRV
#TO[8KUKVQT XKUKVQT ]
RCTGPVCEEGRV
XKUKVQT
HQTGCEJ
VJKU WPKVU CU VJKUWPKV ]
VJKUWPKV CEEGRV
XKUKVQT
_
_
Takie ulepszenie jest bardzo eleganckie, ale choć tutaj dało oszczędność jednego za-
ledwie wiersza, odbyło się z pewną szkodą dla czytelności i przejrzystości kodu. Tak
czy inaczej, metoda CEEGRV
pozwala nam na dwie rzeczy:
36. 234 Część III ♦ Wzorce
wywoływanie metody wizytacji właściwej dla bie ącego komponentu;
przekazywanie obiektu wizytatora do wszystkich komponentów bie ącego
kompozytu przez wywołanie ich metod CEEGRV
.
Trzeba nam jeszcze zdefiniować interfejs klasy #TO[8KUKVQT. Pewne pojęcie o jego
składnikach daje ju metoda CEEGRV
. Otó klasa wizytatora powinna definiować wer-
sje metody CEEGRV
dla wszystkich konkretnych klas w hierarchii. Dzięki temu na
kompozytach ró nych obiektów będzie mo na wykonywać ró ne operacje. W mojej
wersji tej klasy zdefiniowałem domyślne wersje metody XKUKV
wywoływane auto-
matycznie, jeśli klasa implementująca nie określi własnej wersji tej operacji dla danej
klasy hierarchii 7PKV.
CDUVTCEV ENCUU #TO[8KUKVQT ]
CDUVTCEV HWPEVKQP XKUKV
7PKV PQFG
HWPEVKQP XKUKV#TEJGT
#TEJGT PQFG ]
VJKU XKUKV
PQFG
_
HWPEVKQP XKUKV%CXCNT[
%CXCNT[ PQFG ]
VJKU XKUKV
PQFG
_
HWPEVKQP XKUKV.CUGT%CPPQP7PKV
.CUGT%CPPQP7PKV PQFG ]
VJKU XKUKV
PQFG
_
HWPEVKQP XKUKV6TQQR%CTTKGT7PKV
6TQQR%CTTKGT7PKV PQFG ]
VJKU XKUKV
PQFG
_
HWPEVKQP XKUKV#TO[
#TO[ PQFG ]
VJKU XKUKV
PQFG
_
_
Teraz więc problem sprowadza się do implementacji klas pochodnych #TO[8KUKVQT. Oto
przykład w postaci kodu generującego zestawienie informacji o obiektach-kompozytach
przeniesiony ju do klasy #TO[8KUKVQT:
ENCUU 6GZVWOR#TO[8KUKVQT GZVGPFU #TO[8KUKVQT ]
RTKXCVG VGZV
HWPEVKQP XKUKV
7PKV PQFG ]
TGV
RCF
37. PQFG IGVGRVJ
TGV URTKPVH
] RCF_U
TGV IGVAENCUU
PQFG
TGV UK C TC GPKC PQFG DQODCTF5VTGPIVJ
P
VJKU VGZV TGV
_
HWPEVKQP IGV6GZV
]
TGVWTP VJKU VGZV
_
_
38. Rozdział 11. ♦ Reprezentacja i realizacja zadań 235
Spójrzmy, jak stosować taki kod:
OCKPACTO[ PGY #TO[
OCKPACTO[ CFF7PKV
PGY #TEJGT
OCKPACTO[ CFF7PKV
PGY .CUGT%CPPQP7PKV
OCKPACTO[ CFF7PKV
PGY %CXCNT[
VGZFWOR PGY 6GZVWOR#TO[8KUKVQT
OCKPACTO[ CEEGRV
VGZVFWOR
RTKPV VGZVFWOR IGV6GZV
Powy szy kod powinien dać następujący rezultat:
#TO[ UK C TC GPKC
#TEJGT UK C TC GPKC
.CUGT%CPPQP7PKV UK C TC GPKC
%CXCNT[ UK C TC GPKC
Utworzyliśmy obiekt klasy #TO[. Poniewa jest to kompozyt, włączyliśmy do niego (za
pomocą metody CFF7PKV
) pewną liczbę utworzonych specjalnie w tym celu obiektów
klasy 7PKV. Następnie utworzyliśmy obiekt klasy 6GZVWOR#TO[8KUKVQT i przekazaliśmy
go w wywołaniu metody #TO[CEEGRV
. Metoda ta skonstruowała na podstawie nazwy
klasy przekazanego obiektu nazwę metody do wywołania i wywołała metodę 6GZVWO
R#TO[8KUKVQTXKUKV#TO[
. Poniewa nie przewidzieliśmy specjalnej obsługi wy-
wołania XKUKV
dla obiektów klasy #TO[, wywołanie to zostanie zrealizowane domyślną
wersją metody XKUKV
dla obiektów tego typu. W wywołaniu XKUKV
przekazywana
jest referencja obiektu klasy #TO[, a w samej metodzie następują wywołania metod
tego obiektu (w tym nowej metody IGVGRVJ
, informującej o bie ącym zagłębieniu
w drzewie kompozytu), generując za ich pośrednictwem zestawienie opisujące kom-
pozyt. Aby zestawienie było kompletne, metoda #TO[CEEGRV
wywołuje następnie
metody CEEGRV
komponentów, przekazując w wywołaniu ten sam obiekt wizytatora,
który sama otrzymała. W ten sposób klasa #TO[8KUKVQT „odwiedza” wszystkie obiekty
wchodzące w skład drzewa kompozytu.
Uzupełniając istniejący szkielet klas o kilka zaledwie metod, utworzyliśmy mechanizm,
za pośrednictwem którego mo na dołączać do klasy kompozytu nowe funkcje, nie in-
gerując równocześnie w interfejs kompozytu i unikając powielania kodu przeglądania
komponentów.
Załó my teraz, e na niektórych polach planszy jednostki muszą uiszczać myto. Pobor-
ca odwiedza wtedy poszczególne jednostki armii, przy czym ró ne jednostki są ró nie
opodatkowane. Na tym przykładzie dobrze będzie widać zalety specjalizowania metod
klasy wizytatora:
ENCUU 6CZ%QNNGEVKQP8KUKVQT GZVGPFU #TO[8KUKVQT ]
RTKXCVG FWG
RTKXCVG TGRQTV
HWPEVKQP XKUKV
7PKV PQFG ]
VJKU NGX[
PQFG
_
HWPEVKQP XKUKV#TEJGT
#TEJGT PQFG ]
VJKU NGX[
PQFG
_
39. 236 Część III ♦ Wzorce
HWPEVKQP XKUKV%CXCNT[
%CXCNT[ PQFG ]
VJKU NGX[
PQFG
_
HWPEVKQP XKUKV6TQQR%CTTKGT7PKV
6TQQR%CTTKGT7PKV PQFG ]
VJKU NGX[
PQFG
_
RTKXCVG HWPEVKQP NGX[
7PKV WPKV COQWPV ]
VJKU TGRQTV /[VQ PCNG PG C IGV%NCUU
WPKV
VJKU TGRQTV COQWPVP
VJKU FWG
COQWPV
_
HWPEVKQP IGV4GRQTV
]
TGVWTP VJKU TGRQTV
_
HWPEVKQP IGV6CZ
]
TGVWTP VJKU FWG
_
_
W tym prostym przykładzie nie skorzystamy wprost z obiektu klasy 7PKV przekazywa-
nego do ró nych metod wizytacji. Korzystamy jedynie ze specjalizacji (podziału na
klasy obiektów odwiedzanych), ustalając dla ró nych klas jednostek ró ne stawki myta.
Oto jak wygląda pobieranie myta z punktu widzenia u ytkownika hierarchii:
OCKPACTO[ PGY #TO[
OCKPACTO[ CFF7PKV
PGY #TEJGT
OCKPACTO[ CFF7PKV
PGY .CUGT%CPPQP7PKV
OCKPACTO[ CFF7PKV
PGY %CXCNT[
VCZEQNNGEVQT PGY 6CZ%QNNGEVQT8KUKVQT
OCKPACTO[ CEEGRV
VCZEQNNGEVQT
RTKPV ä%0+'
RTKPV VCZEQNNGEVQT IGV6CZ
P
Tak jak poprzednio, do metody CEEGRV
wywołanej na rzecz obiektu klasy #TO[ prze-
kazany został obiekt wizytatora — tutaj 6CZ%QNNGEVQT8KUKVQT. Ponownie te obiekt
klasy #TO[ przekazuje referencję do samego siebie do metody XKUKV#TO[
, tu przed
oddelegowaniem wywołania do metod CEEGRV
swoich komponentów. Komponenty
są nieświadome operacji przeprowadzonych w ramach wizytacji. Ograniczają się do
współpracy z publicznym interfejsem wizytatora, przekazując się po kolei do metody
wizytacji właściwej dla swojego typu, w ramach której następuje obliczenie nale ne-
go myta.
Poza metodami zdefiniowanymi w klasie bazowej hierarchii wizytatorów klasa
6CZ%QNNGEVQT8KUKVCVQT definiuje dwie metody dodatkowe: IGV4GRQTV
i IGV6CZ
.
Ich wywołania zwracają dane zebrane podczas wizytacji:
/[VQ PCNG PG C #TO[
/[VQ PCNG PG C #TEJGT
/[VQ PCNG PG C .CUGT%CPPQP7PKV
/[VQ PCNG PG C %CXCNT[
ä%0+'
40. Rozdział 11. ♦ Reprezentacja i realizacja zadań 237
Uczestników operacji prezentowanych w przykładzie ilustruje diagram z rysunku 11.7.
Rysunek 11.7. Wzorzec Visitor
Wady wzorca Visitor
Wzorzec Visitor to kolejny wzorzec łączący prostotę z efektywnością. Zalety nie mogą
jednak przesłonić całkowicie wad wzorca, gdy i te istnieją.
Po pierwsze, choć najlepiej dopasowany do wzorca kompozycji, wizytator mo e być
stosowany odnośnie dowolnych kolekcji obiektów. Da się więc na przykład zaimple-
mentować wizytację list obiektów, w której ka dy z obiektów przechowuje referencję
swoich sąsiadów.
Wyodrębniając operacje na kolekcji poza nią samą, sprzeciwiamy się jednak hermety-
zacji. Otó mo e się okazać, e aby wizytator mógł w jakikolwiek u yteczny sposób
przetworzyć obiekty kolekcji, będą one musiały udostępniać na zewnątrz swoje aspekty
wewnętrzne (prywatne). Widać to było ju choćby w pierwszym przykładzie z tego
podrozdziału, kiedy to na potrzeby klasy wizytatora 6GZVWOR#TO[8KUKVQT trzeba było
uzupełnić interfejs 7PKV o dodatkową metodę.
Poniewa wzorzec ten zakłada równie oddzielenie iteracji od operacji wykonywanych
na komponentach kolekcji, trzeba zrzec się pewnej części kontroli — nie da się na
przykład łatwo utworzyć metody wizytacji XKUKV
, która wykonuje pewne operacje
tak przed, jak i po odwiedzeniu komponentów zagnie d onych w kolekcji. Mo na by
tę niedogodność wyeliminować, przenosząc odpowiedzialność za iterację do samych
obiektów wizytatorów. Tyle e wtedy w obiektach tych dojdzie niechybnie do powie-
lenia kodu iteracji.
Osobiście preferuję więc obsługę iteracji w ramach klas wizytowanych, choć nie przeczę,
e jej wysunięcie poza te klasy dałoby pewną zasadniczą zaletę: mo na wtedy zmieniać
w poszczególnych wizytatorach sposób wizytacji.
41. 238 Część III ♦ Wzorce
Wzorzec Command
Ostatnimi laty rzadko kiedy udawało mi się zakończyć projekt aplikacji WWW bez
wdra ania w nim wzorca Command, czyli wzorca polecenia. Obiekty poleceń, choć
pierwotnie stosowane w kontekście projektu graficznego interfejsu u ytkownika, spraw-
dzają się równie w projektach aplikacji korporacyjnych, wymuszając separację pomię-
dzy warstwą kontroli ądań (kodem obsługi i rozprowadzania ądań) a warstwą lo-
giczną aplikacji.
Problem
Wszystkie systemy muszą podejmować decyzje o sposobie reagowania na ądania
u ytkowników. W PHP proces podejmowania decyzji jest często rozproszony pomię-
dzy wieloma formularzami-stronami tworzącymi interfejs aplikacji. Wybór funkcji
i interfejsu odbywa się tutaj przez wybór jednej ze stron witryny WWW, np. feedback.
php. Ostatnio programiści PHP optują jednak coraz silniej za podejściem, w którym
wyró nione jest tylko jedno miejsce styku (patrz te następny rozdział). Tak czy inaczej,
odbiorca ądania musi je oddelegować do warstwy bli szej samej logice aplikacji. Owa
delegacja jest szczególnie istotna, kiedy u ytkownik mo e inicjować ądania za po-
średnictwem ró nych stron WWW. Bez delegacji projekt zostałby w nieunikniony spo-
sób obcią ony powieleniem kodu obsługi ądania.
Wyobraźmy sobie więc projekt, w ramach którego powinniśmy realizować pewną licz-
bę zadań. W szczególności system nasz powinien pozwalać wybranym u ytkownikom
na zalogowanie się, a innym na przesłanie formularza zwrotnego. Do obsługi tych
zadań moglibyśmy wyznaczyć strony login.php i feedback.php, konkretyzując w nich
specjalizowane klasy realizujące ądania. Niestety, perspektywy systemu dla ró nych
u ytkowników rzadko pokrywają się dokładnie z zadaniami, które system ma realizo-
wać. Mo e się więc okazać, e na ka dej stronie potrzebujemy zarówno mo liwości
logowania, jak i przesłania informacji zwrotnej. Jeśli zaś strony mają obsługiwać ró ne
zadania, to mo e powinniśmy oprzeć hermetyzację właśnie na zadaniach. W ten spo-
sób ułatwimy sobie uzupełnianie funkcjonalności systemu o nowe zadania i stworzymy
wyraźną granicę pomiędzy warstwami systemu. W ten sposób dojdziemy do wdro e-
nia wzorca Command.
Implementacja
Interfejs obiektu polecenia jest tak prosty jak to mo liwe — składa się w najprostszym
wydaniu z jednej tylko metody — GZGEWVG
.
Na rysunku 11.8 %QOOCPF jest klasą abstrakcyjną. Przy tym poziomie uproszczenia mógłby
zostać równie dobrze zdefiniowany jako interfejs. Osobiście skłaniam się do stosowania
abstrakcji w miejsce interfejsów dlatego, e niejednokrotnie okazuje się, e w abstrak-
cyjnej klasie bazowej mo na upchnąć parę funkcji wspólnych dla wszystkich obiektów
pochodnych.