Wzorce projektowe to opisy poprawnych rozwiązań problemów, na które napotkali programiści w swojej pracy. Pozwalają uniknąć pracy nad rozwiązaniem zagadnienia, które już dawno zostało rozwiązane. Jednak nawet największy zestaw wzorców projektowych jest nieprzydatny, jeśli nie wiadomo, jak zastosować je w określonym zadaniu. Wiedza o tym, że wzorzec istnieje bez umiejętności zaimplementowania go jest bezużyteczna.
Książka "J2EE. Stosowanie wzorców projektowych” zawiera nie tylko opisy wzorców, ale również sposoby ich implementacji w aplikacjach J2EE. Czytelnik znajdzie tu omówienie wzorców dotyczących wydajności, skalowalności i elastyczności aplikacji oraz wzorców ściśle związanych z tworzeniem aplikacji biznesowych. Książka przedstawia również nowe wzorce dla mechanizmów dystrybucji komunikatów i trwałości.
W książce omówiono:
* Podstawowe zasady tworzenia aplikacji biznesowych w Javie.
* Język UML jako uniwersalne narzędzie do modelowania aplikacji.
* Wzorce dla warstwy prezentacji.
* Wzorce dla warstwy logiki biznesowej.
* Wzorce komunikacji pomiędzy warstwami.
* Wzorce dystrybucji komunikatów.
* Przykłady błędnych wzorców.
Największą zaletą książki jest to, że przedstawia zastosowanie wzorców projektowych do tworzenia aplikacji biznesowych. Jeśli zajmujesz się tworzeniem aplikacji J2EE, to ta książka jest dla Ciebie lekturą obowiązkową.
Kompendium wiedzy dla każdego programisty, projektanta i kierownika projektu
* Nowoczesne metodyki wytwarzania oprogramowania
* Narzędzia do modelowania aplikacji i automatycznego generowania kodu
* Koncepcja architektury sterowanej modelami
* Sposoby zapewnienia jakości aplikacji
Tworzenie aplikacji korporacyjnych to wyścig z czasem. Organizacje zmieniają się podobnie jak otoczenie biznesowe, w którym działają. Zbyt długi okres przygotowania aplikacji może sprawić, że po wdrożeniu okaże się ona bezużyteczna. Z drugiej jednak strony, zbyt duży pośpiech przy tworzeniu aplikacji powoduje, że pomija się fazę modelowania i testowania, pisząc kod źródłowy bez jakiejkolwiek koncepcji i planu. Efektem takiego pośpiechu są aplikacje niedostosowane do wymagań użytkowników i pracujące niestabilnie. Sposobem na stworzenie odpowiedniego systemu informatycznego dla korporacji jest wykorzystywanie odpowiednich metodyk projektowych i nowoczesnych narzędzi ułatwiających zarówno pisanie, jak i testowanie aplikacji.
Książka "J2EE. Podstawy programowania aplikacji korporacyjnych" przedstawia najlepsze praktyki projektowe stosowane przy tworzeniu systemów informatycznych z wykorzystaniem platformy J2EE. Opisano w niej kolejne etapy projektu oraz narzędzia i metodyki, dzięki którym przeprowadzenie każdego z nich będzie szybsze i efektywniejsze. Czytając ją, poznasz metodyki RUP i XP, typy architektur systemów oraz sposoby modelowania aplikacji i narzędzia do automatycznego generowania szkieletu kodu źródłowego. Dowiesz się, jak optymalnie skonfigurować środowiska programistyczne i jak testować kolejne moduły aplikacji. Nauczysz się korzystać z nowoczesnych metodyk i narzędzi.
* Podstawowe wiadomości o błyskawicznym wytwarzaniu aplikacji (RAD)
* Metodyki projektowe Rational Unified Process (RUP) oraz Extreme Programming (XP)
* Wielowarstwowe architektury systemów
* Modelowanie systemów za pomocą języka UML
* Automatyczne generowanie kodu
* Stosowanie narzędzi XDoclet i Hibernate
* Komunikacja z bazami danych
* Zasady programowania aspektowego
* Testowanie aplikacji
Wiadomości zawarte w tej książce sprawią, że będziesz w stanie szybciej projektować i tworzyć aplikacje korporacyjne.
W ciągu ostatnich kilku lat Java 2 Enterprise Edition stała się standardową platformą do budowy skomplikowanych aplikacji. Ponieważ jest ona rozbudowanym środowiskiem programistycznym, pozwalającym projektować i programować potężne aplikacje, nie jest łatwa w obsłudze. W książce, którą trzymasz w ręku, doświadczeni architekci Sun Java Center, organizacji konsultingowej, działającej w ramach Sun Java, dzielą się z czytelnikiem swoim doświadczeniem w projektowaniu aplikacji opartych na technologii J2EE.
Autorzy skupiają się na wzorcach projektowych, opartych na najważniejszych technologiach J2EE, takich jak Java Server Pages (JSP), serwlety, Enterprise JavaBeans (EJB) oraz Java Message Service (JMS). Omawiane są również inne technologie Javy, ważne dla prawidłowej implementacji wzorców, takie jak JDBC i JNDI. Katalog zawierający wzorce projektowe J2EE dokumentuje i prezentuje najlepsze sposoby wykorzystania tych technologii. To jednak nie wszystko. Książka omawia również:
* wiele strategii przydatnych przy projektowaniu warstw prezentacyjnej i biznesowej;
* identyfikację błędnych technik znajdywanych w warstwach prezentacyjnej, biznesowej i integracyjnej oraz propozycje rozwiązań wykorzystujących wzorce projektowe oraz sposoby przebudowy systemów;
* metody przebudowy dla poszczególnych warstw aplikacji oraz techniki zastępowania błędnych implementacji prawidłowymi;
* przykładowy kod programów opartych na omawianych strategiach i wzorcach projektowych.
O autorach
DEEPAK ALUR jest architektem Javy pracującym dla Sun Java Center. Od ponad 12 lat zajmuje się tworzeniem aplikacji komercyjnych. Jego zainteresowania koncentrują się na projektowaniu i implementacji aplikacji komercyjnych przy użyciu technologii zorientowanych obiektowo, wzorców, technologii Javy oraz J2EE.
JOHN CRUPI jest naczelnym architektem Sun Java Center. Od ponad 15 lat zajmuje się przetwarzaniem obiektów rozproszonych. Jest ekspertem w dziedzinie tworzenia elastycznych architektur w technologii J2EE. Prowadzi również kolumnę Architect’s Corner w magazynie JavaReport.
DAN MALKS jest architektem Javy, pracujący dla Sun Java Center. Od ponad 14 lat zajmuje się tworzeniem aplikacji komercyjnych i technologiami zorientowanymi obiektowo. Jego publikacje znalazły się w wielu periodykach i książkach, dotyczących technologii Javy oraz wzorców projektowych.
Architektura systemów zarządzania przedsiębiorstwem. Wzorce projektoweWydawnictwo Helion
Wykorzystaj wzorce projektowe w pracy nad oprogramowaniem
* Zaprojektuj aplikacje o architekturze trójwarstwowej
* Dobierz odpowiednią technologię
* Stwórz moduły aplikacji
Systemy informatyczne służące do zarządzania przedsiębiorstwem to zwykle ogromne aplikacje. Operują na milionach rekordów, przesyłają gigabajty danych i są obsługiwane przez dziesiątki użytkowników. Sprawne działanie takiej aplikacji jest niezwykle istotne dla funkcjonowania przedsiębiorstwa, dlatego musi ona być stabilna, a przed wdrożeniem -- gruntownie przetestowana. Przy tworzeniu aplikacji tego typu wykorzystuje się opracowane już rozwiązania, zwane wzorcami projektowymi. Wzorce projektowe to modele poszczególnych komponentów aplikacji -- należy jedynie zaimplementować je w wybranym języku programowania.
Książka "Architektura systemów zarządzania przedsiębiorstwem. Wzorce projektowe" to przegląd wzorców wykorzystywanych przy projektowaniu aplikacji korporacyjnych. Opisuje zasady podziału aplikacji na warstwy i zasady współpracy pomiędzy warstwami; przedstawia także modele komponentów wchodzących w skład każdej z nich.
* Warstwy w aplikacjach biznesowych
* Wzorce logiki aplikacji
* Wzorce architektury źródła danych
* Wzorce mapowania obiektowo-relacyjnego
* Wzorce prezentacji
* Wzorce dystrybucji
* Wzorce stanu sesji
* Wzorce podstawowe
Korzystając z zawartych w książce wzorców, stworzysz stabilne i wydajne aplikacje korporacyjne.
Poznaj zasady stosowania wzorców projektowych
* Wykorzystaj notację UML
* Użyj wzorców projektowych w swojej pracy
* Napisz własne wzorce
Wzorce projektowe to opisy rozwiązań problemów programistycznych. Ich stosowanie podczas tworzenia oprogramowania pozwala uzyskać oszczędności czasowe, zwiększyć efektywność pracy i zoptymalizować działanie programów. Wiele wzorców już udokumentowano, a proces odkrywania nowych ciągle trwa. Programista dysponujący wiedzą o wzorcach projektowych może łatwo rozpoznawać problemy, dla których te wzorce znajdują zastosowanie, i natychmiast przystępować do opracowywania rozwiązań, bez konieczności wstrzymywania projektu, analizowania problemu i rozważania możliwych strategii.
Książka "Visual Basic .NET. Wzorce projektowe" to kompendium wiedzy o stosowaniu wzorców projektowych podczas programowania w języku Visual Basic. Zawiera szczegółowe omówienie najpopularniejszych wzorców, reguły ich wykorzystywania oraz przykłady kodu na nich opartego. Przy opisie każdego wzorca znajdziesz również argumenty przemawiające za jego stosowaniem lub unikaniem w konkretnych przypadkach. Nauczysz się tworzyć własne wzorce i dokumentować je w postaci diagramów UML.
* Podstawowe elementy języka UML
* Proces projektowania oprogramowania
* Miejsce wzorców projektowych w procesie tworzenia oprogramowania
* Wzorce podstawowe
* Wzorce konstrukcyjne
* Wzorce partycjonujące
* Wzorce strukturalne
* Wzorce behawioralne
* Wzorce przetwarzania współbieżnego
Naucz się rozwiązywać rzeczywiste problemy, wykorzystując wzorce projektowe.
Wzorce projektowe są modelami gotowych rozwiązań problemów programistycznych, przed jakimi często stają twórcy oprogramowania. Dzięki nim nie musimy ponownie "wymyślać koła". Dysponując wzorcami projektowymi, jesteśmy w stanie szybciej i efektywniej zbudować aplikację, ponieważ koncentrujemy się na samej implementacji algorytmu, a nie na jego opracowaniu. Najczęściej stosowane, klasyczne już, 23 wzorce projektowe opracowane przez twórców notacji UML implementowano już w wielu językach programowania. Jak sprawdzą się w połączeniu z jedną z najnowszych technologii, jaką jest .NET?
"C#. Wzorce projektowe" to kompletny przewodnik po wzorcach projektowych w C# i środowisku .NET. Przedstawia sposoby wykorzystania obiektowych cech języka C# i tworzenia eleganckiego kodu poprzez zastosowanie wzorców projektowych oraz korzystanie z ogromnych możliwości oferowanych przez biblioteki klas FCL dla środowiska Microsoft .NET. Wszystkie przedstawione w książce wzorce projektowe zostały zilustrowane przykładami kodu oraz diagramami UML, co ułatwia ich zrozumienie oraz zastosowanie w praktyce.
* Podstawowe wiadomości o wzorcach projektowych
* Interfejsy i klasy abstrakcyjne
* Wzorce interfejsów
* Wzorce odpowiedzialności
* Wzorce konstrukcyjne
* Wprowadzenie do operacji
* Wzorce operacji
* Wzorce rozszerzeń
* Wzorce rozszerzające
Poznaj zastosowanie wzorców projektowych
i wykorzystaj je w swojej pracy.
Podstawowymi zagadnieniami opisywanymi w książce są wzorce, najlepsze techniki, strategie projektowe i sprawdzone rozwiązania wykorzystujące kluczowe technologie J2EE, czyli strony JSP, serwlety, komponenty EJB i interfejs JMS. Katalog wzorców J2EE zawiera 21 wzorców i o wiele więcej strategii, przy wykorzystaniu których powstają najlepsze rozwiązania programistyczne.
"J2EE. Wzorce projektowe. Wydanie drugie" zawiera opis następujących zagadnień:
* 21 wzorców projektowych J2EE -- znane i w pełni sprawdzone oraz nowe wzorce zapewniające najlepsze rozwiązania dla aplikacji biznesowych
* strategie projektowe dla warstwy prezentacji, biznesowej i integracji
* opis zastosowania technologii JSP, EJB, JSM, usług sieciowych i serwletów
* przykłady nie zalecanych rozwiązań stosujących technologię J2EE
* sposoby refaktoryzacji poprawiające istniejące projekty
* diagramy UML ilustrujące przedstawiane zagadnienia
* dużą liczbę przykładów zastosowania wzorców, strategii i refaktoryzacji
O autorach:
Deepak Alur jest architektem rozwiązań biznesowych Javy w Sun Java Center z 14-letnim doświadczeniem. [więcej...]
John Crupi jest wybitnym inżynierem i szefem architektów Javy w Sun Java Center. [więcej...]
Dan Malks zajmuje się technologiami obiektowymi oraz ich zastosowaniem w projektach biznesowych i usługach sieciowych. [więcej...]
Projektowanie zorientowane obiektowo. Wzorce projektowe. Wydanie IIWydawnictwo Helion
Zmień podejście do programowania - zastosuj wzorce projektowe
* Skorzystaj z metod modelowania obiektowego w języku UML
* Poznaj różne typy wzorców projektowych
* Wykorzystaj wzorce projektowe w swoich programach
Wzorce projektowe to modele rozwiązań wielu zagadnień programistycznych, oparte na zasadach programowania obiektowego. Zastosowanie ich w projektach informatycznych zapewnia szybszą i bardziej efektywną pracę zarówno podczas projektowania i tworzenia oprogramowania, jak i na etapie jego wdrożenia. Sprawne korzystanie z wzorców projektowych wiąże się jednak z koniecznością poznania metod modelowania obiektowego, zrozumienia zasad obiektowości i umiejętności podzielenia projektowanego systemu na komponenty.
Książka "Programowanie zorientowane obiektowo. Wzorce projektowe. Wydanie drugie" to przewodnik po wzorcach projektowych, przedstawiający je od strony najbardziej istotnej dla programisty - od strony praktycznej. Przykłady w języku Java, diagramy UML i wyczerpujące komentarze - wszystko to sprawia, że po przeczytaniu tej ksiażki staniesz się ekspertem w dziedzinie wzorców projektowych i będziesz wykorzystywać je we wszystkich swoich projektach.
* Zasady obiektowości
* Modelowanie obiektowe w języku UML
* Standardowe rozwiązania obiektowe
* Wprowadzenie do wzorców projektowych
* Zasady stosowania wzorców projektowych
* Katalog wzorców projektowych
* Projektowanie i programowanie z zastosowaniem wzorców projektowych
Korzystając z wzorców projektowych, zwiększysz szybkość i efektywność swojej pracy nad aplikacjami.
O autorach:
Alan Shalloway pracuje w branży informatycznej od ponad 20 lat, często występuje na konferencjach, takich jak SD Expo, Java One, OOP czy też OOPSLA. [więcej...]
James R. Trott w trakcie swojej 20-letniej kariery programisty i projektanta wielokrotnie korzystał z technik analizy obiektowej i wzorców projektowych. [więcej...]
Aplikacje biznesowe dotyczą danych -- niezależnie od tego, czy są to dane o produkcie, szczegóły dotyczące kart kredytowych użytkowników czy preferowanego koloru kupowanych samochodów. Wraz ze wzrostem znaczenia informacji wzrosła także złożoność dostępu do nich. Programiści Javy mogą wybierać teraz spośród różnego rodzaju interfejsów API i technologii -- EJB, JDO, JDBC, SQL, RDBMS, OODBMS i innych. Do tej pory byli oni zdani na siebie przy podejmowaniu decyzji o tym, który model najlepiej pasuje do ich aplikacji i jak w najlepszy sposób korzystać z wybranego API.
Książka "Java. Aplikacje bazodanowe. Najlepsze rozwiązania" przychodzi z pomocą programistom. Teraz nie muszą już oni przeszukiwać kilku książek na temat różnych API, aby zdecydować o odpowiedniej metodzie. Ten obszerny przewodnik omawia podstawy wszystkich wiodących interfejsów API (Enterprise JavaBeans, Java Data Objects, JDBC, a także innych, mniej znanych opcji), objaśnia metodologię i komponenty projektowe wykorzystujące wspomniane interfejsy oraz prezentuje rozwiązania najbardziej dostosowane do różnych typów aplikacji.
Książka omawia także zagadnienia dotyczące projektowania baz danych, począwszy od architektury tabel, skończywszy na normalizacji. Autor przedstawia najlepsze rozwiązania rozmaitych problemów. Nauczysz się w jaki sposób przeprowadzać różne rodzaje normalizacji, a także dowiesz się, kiedy warto przeprowadzić denormalizację. Uzyskasz także szczegółowe instrukcje dotyczące optymalizacji zapytań SQL w celu najlepszego wykorzystania struktury bazy danych. Zaprezentowano także praktyczne zastosowania omawianych technik dostarczając informacje, które Czytelnik może zastosować natychmiast we własnych projektach aplikacji biznesowych.
Kompendium wiedzy dla każdego programisty, projektanta i kierownika projektu
* Nowoczesne metodyki wytwarzania oprogramowania
* Narzędzia do modelowania aplikacji i automatycznego generowania kodu
* Koncepcja architektury sterowanej modelami
* Sposoby zapewnienia jakości aplikacji
Tworzenie aplikacji korporacyjnych to wyścig z czasem. Organizacje zmieniają się podobnie jak otoczenie biznesowe, w którym działają. Zbyt długi okres przygotowania aplikacji może sprawić, że po wdrożeniu okaże się ona bezużyteczna. Z drugiej jednak strony, zbyt duży pośpiech przy tworzeniu aplikacji powoduje, że pomija się fazę modelowania i testowania, pisząc kod źródłowy bez jakiejkolwiek koncepcji i planu. Efektem takiego pośpiechu są aplikacje niedostosowane do wymagań użytkowników i pracujące niestabilnie. Sposobem na stworzenie odpowiedniego systemu informatycznego dla korporacji jest wykorzystywanie odpowiednich metodyk projektowych i nowoczesnych narzędzi ułatwiających zarówno pisanie, jak i testowanie aplikacji.
Książka "J2EE. Podstawy programowania aplikacji korporacyjnych" przedstawia najlepsze praktyki projektowe stosowane przy tworzeniu systemów informatycznych z wykorzystaniem platformy J2EE. Opisano w niej kolejne etapy projektu oraz narzędzia i metodyki, dzięki którym przeprowadzenie każdego z nich będzie szybsze i efektywniejsze. Czytając ją, poznasz metodyki RUP i XP, typy architektur systemów oraz sposoby modelowania aplikacji i narzędzia do automatycznego generowania szkieletu kodu źródłowego. Dowiesz się, jak optymalnie skonfigurować środowiska programistyczne i jak testować kolejne moduły aplikacji. Nauczysz się korzystać z nowoczesnych metodyk i narzędzi.
* Podstawowe wiadomości o błyskawicznym wytwarzaniu aplikacji (RAD)
* Metodyki projektowe Rational Unified Process (RUP) oraz Extreme Programming (XP)
* Wielowarstwowe architektury systemów
* Modelowanie systemów za pomocą języka UML
* Automatyczne generowanie kodu
* Stosowanie narzędzi XDoclet i Hibernate
* Komunikacja z bazami danych
* Zasady programowania aspektowego
* Testowanie aplikacji
Wiadomości zawarte w tej książce sprawią, że będziesz w stanie szybciej projektować i tworzyć aplikacje korporacyjne.
W ciągu ostatnich kilku lat Java 2 Enterprise Edition stała się standardową platformą do budowy skomplikowanych aplikacji. Ponieważ jest ona rozbudowanym środowiskiem programistycznym, pozwalającym projektować i programować potężne aplikacje, nie jest łatwa w obsłudze. W książce, którą trzymasz w ręku, doświadczeni architekci Sun Java Center, organizacji konsultingowej, działającej w ramach Sun Java, dzielą się z czytelnikiem swoim doświadczeniem w projektowaniu aplikacji opartych na technologii J2EE.
Autorzy skupiają się na wzorcach projektowych, opartych na najważniejszych technologiach J2EE, takich jak Java Server Pages (JSP), serwlety, Enterprise JavaBeans (EJB) oraz Java Message Service (JMS). Omawiane są również inne technologie Javy, ważne dla prawidłowej implementacji wzorców, takie jak JDBC i JNDI. Katalog zawierający wzorce projektowe J2EE dokumentuje i prezentuje najlepsze sposoby wykorzystania tych technologii. To jednak nie wszystko. Książka omawia również:
* wiele strategii przydatnych przy projektowaniu warstw prezentacyjnej i biznesowej;
* identyfikację błędnych technik znajdywanych w warstwach prezentacyjnej, biznesowej i integracyjnej oraz propozycje rozwiązań wykorzystujących wzorce projektowe oraz sposoby przebudowy systemów;
* metody przebudowy dla poszczególnych warstw aplikacji oraz techniki zastępowania błędnych implementacji prawidłowymi;
* przykładowy kod programów opartych na omawianych strategiach i wzorcach projektowych.
O autorach
DEEPAK ALUR jest architektem Javy pracującym dla Sun Java Center. Od ponad 12 lat zajmuje się tworzeniem aplikacji komercyjnych. Jego zainteresowania koncentrują się na projektowaniu i implementacji aplikacji komercyjnych przy użyciu technologii zorientowanych obiektowo, wzorców, technologii Javy oraz J2EE.
JOHN CRUPI jest naczelnym architektem Sun Java Center. Od ponad 15 lat zajmuje się przetwarzaniem obiektów rozproszonych. Jest ekspertem w dziedzinie tworzenia elastycznych architektur w technologii J2EE. Prowadzi również kolumnę Architect’s Corner w magazynie JavaReport.
DAN MALKS jest architektem Javy, pracujący dla Sun Java Center. Od ponad 14 lat zajmuje się tworzeniem aplikacji komercyjnych i technologiami zorientowanymi obiektowo. Jego publikacje znalazły się w wielu periodykach i książkach, dotyczących technologii Javy oraz wzorców projektowych.
Architektura systemów zarządzania przedsiębiorstwem. Wzorce projektoweWydawnictwo Helion
Wykorzystaj wzorce projektowe w pracy nad oprogramowaniem
* Zaprojektuj aplikacje o architekturze trójwarstwowej
* Dobierz odpowiednią technologię
* Stwórz moduły aplikacji
Systemy informatyczne służące do zarządzania przedsiębiorstwem to zwykle ogromne aplikacje. Operują na milionach rekordów, przesyłają gigabajty danych i są obsługiwane przez dziesiątki użytkowników. Sprawne działanie takiej aplikacji jest niezwykle istotne dla funkcjonowania przedsiębiorstwa, dlatego musi ona być stabilna, a przed wdrożeniem -- gruntownie przetestowana. Przy tworzeniu aplikacji tego typu wykorzystuje się opracowane już rozwiązania, zwane wzorcami projektowymi. Wzorce projektowe to modele poszczególnych komponentów aplikacji -- należy jedynie zaimplementować je w wybranym języku programowania.
Książka "Architektura systemów zarządzania przedsiębiorstwem. Wzorce projektowe" to przegląd wzorców wykorzystywanych przy projektowaniu aplikacji korporacyjnych. Opisuje zasady podziału aplikacji na warstwy i zasady współpracy pomiędzy warstwami; przedstawia także modele komponentów wchodzących w skład każdej z nich.
* Warstwy w aplikacjach biznesowych
* Wzorce logiki aplikacji
* Wzorce architektury źródła danych
* Wzorce mapowania obiektowo-relacyjnego
* Wzorce prezentacji
* Wzorce dystrybucji
* Wzorce stanu sesji
* Wzorce podstawowe
Korzystając z zawartych w książce wzorców, stworzysz stabilne i wydajne aplikacje korporacyjne.
Poznaj zasady stosowania wzorców projektowych
* Wykorzystaj notację UML
* Użyj wzorców projektowych w swojej pracy
* Napisz własne wzorce
Wzorce projektowe to opisy rozwiązań problemów programistycznych. Ich stosowanie podczas tworzenia oprogramowania pozwala uzyskać oszczędności czasowe, zwiększyć efektywność pracy i zoptymalizować działanie programów. Wiele wzorców już udokumentowano, a proces odkrywania nowych ciągle trwa. Programista dysponujący wiedzą o wzorcach projektowych może łatwo rozpoznawać problemy, dla których te wzorce znajdują zastosowanie, i natychmiast przystępować do opracowywania rozwiązań, bez konieczności wstrzymywania projektu, analizowania problemu i rozważania możliwych strategii.
Książka "Visual Basic .NET. Wzorce projektowe" to kompendium wiedzy o stosowaniu wzorców projektowych podczas programowania w języku Visual Basic. Zawiera szczegółowe omówienie najpopularniejszych wzorców, reguły ich wykorzystywania oraz przykłady kodu na nich opartego. Przy opisie każdego wzorca znajdziesz również argumenty przemawiające za jego stosowaniem lub unikaniem w konkretnych przypadkach. Nauczysz się tworzyć własne wzorce i dokumentować je w postaci diagramów UML.
* Podstawowe elementy języka UML
* Proces projektowania oprogramowania
* Miejsce wzorców projektowych w procesie tworzenia oprogramowania
* Wzorce podstawowe
* Wzorce konstrukcyjne
* Wzorce partycjonujące
* Wzorce strukturalne
* Wzorce behawioralne
* Wzorce przetwarzania współbieżnego
Naucz się rozwiązywać rzeczywiste problemy, wykorzystując wzorce projektowe.
Wzorce projektowe są modelami gotowych rozwiązań problemów programistycznych, przed jakimi często stają twórcy oprogramowania. Dzięki nim nie musimy ponownie "wymyślać koła". Dysponując wzorcami projektowymi, jesteśmy w stanie szybciej i efektywniej zbudować aplikację, ponieważ koncentrujemy się na samej implementacji algorytmu, a nie na jego opracowaniu. Najczęściej stosowane, klasyczne już, 23 wzorce projektowe opracowane przez twórców notacji UML implementowano już w wielu językach programowania. Jak sprawdzą się w połączeniu z jedną z najnowszych technologii, jaką jest .NET?
"C#. Wzorce projektowe" to kompletny przewodnik po wzorcach projektowych w C# i środowisku .NET. Przedstawia sposoby wykorzystania obiektowych cech języka C# i tworzenia eleganckiego kodu poprzez zastosowanie wzorców projektowych oraz korzystanie z ogromnych możliwości oferowanych przez biblioteki klas FCL dla środowiska Microsoft .NET. Wszystkie przedstawione w książce wzorce projektowe zostały zilustrowane przykładami kodu oraz diagramami UML, co ułatwia ich zrozumienie oraz zastosowanie w praktyce.
* Podstawowe wiadomości o wzorcach projektowych
* Interfejsy i klasy abstrakcyjne
* Wzorce interfejsów
* Wzorce odpowiedzialności
* Wzorce konstrukcyjne
* Wprowadzenie do operacji
* Wzorce operacji
* Wzorce rozszerzeń
* Wzorce rozszerzające
Poznaj zastosowanie wzorców projektowych
i wykorzystaj je w swojej pracy.
Podstawowymi zagadnieniami opisywanymi w książce są wzorce, najlepsze techniki, strategie projektowe i sprawdzone rozwiązania wykorzystujące kluczowe technologie J2EE, czyli strony JSP, serwlety, komponenty EJB i interfejs JMS. Katalog wzorców J2EE zawiera 21 wzorców i o wiele więcej strategii, przy wykorzystaniu których powstają najlepsze rozwiązania programistyczne.
"J2EE. Wzorce projektowe. Wydanie drugie" zawiera opis następujących zagadnień:
* 21 wzorców projektowych J2EE -- znane i w pełni sprawdzone oraz nowe wzorce zapewniające najlepsze rozwiązania dla aplikacji biznesowych
* strategie projektowe dla warstwy prezentacji, biznesowej i integracji
* opis zastosowania technologii JSP, EJB, JSM, usług sieciowych i serwletów
* przykłady nie zalecanych rozwiązań stosujących technologię J2EE
* sposoby refaktoryzacji poprawiające istniejące projekty
* diagramy UML ilustrujące przedstawiane zagadnienia
* dużą liczbę przykładów zastosowania wzorców, strategii i refaktoryzacji
O autorach:
Deepak Alur jest architektem rozwiązań biznesowych Javy w Sun Java Center z 14-letnim doświadczeniem. [więcej...]
John Crupi jest wybitnym inżynierem i szefem architektów Javy w Sun Java Center. [więcej...]
Dan Malks zajmuje się technologiami obiektowymi oraz ich zastosowaniem w projektach biznesowych i usługach sieciowych. [więcej...]
Projektowanie zorientowane obiektowo. Wzorce projektowe. Wydanie IIWydawnictwo Helion
Zmień podejście do programowania - zastosuj wzorce projektowe
* Skorzystaj z metod modelowania obiektowego w języku UML
* Poznaj różne typy wzorców projektowych
* Wykorzystaj wzorce projektowe w swoich programach
Wzorce projektowe to modele rozwiązań wielu zagadnień programistycznych, oparte na zasadach programowania obiektowego. Zastosowanie ich w projektach informatycznych zapewnia szybszą i bardziej efektywną pracę zarówno podczas projektowania i tworzenia oprogramowania, jak i na etapie jego wdrożenia. Sprawne korzystanie z wzorców projektowych wiąże się jednak z koniecznością poznania metod modelowania obiektowego, zrozumienia zasad obiektowości i umiejętności podzielenia projektowanego systemu na komponenty.
Książka "Programowanie zorientowane obiektowo. Wzorce projektowe. Wydanie drugie" to przewodnik po wzorcach projektowych, przedstawiający je od strony najbardziej istotnej dla programisty - od strony praktycznej. Przykłady w języku Java, diagramy UML i wyczerpujące komentarze - wszystko to sprawia, że po przeczytaniu tej ksiażki staniesz się ekspertem w dziedzinie wzorców projektowych i będziesz wykorzystywać je we wszystkich swoich projektach.
* Zasady obiektowości
* Modelowanie obiektowe w języku UML
* Standardowe rozwiązania obiektowe
* Wprowadzenie do wzorców projektowych
* Zasady stosowania wzorców projektowych
* Katalog wzorców projektowych
* Projektowanie i programowanie z zastosowaniem wzorców projektowych
Korzystając z wzorców projektowych, zwiększysz szybkość i efektywność swojej pracy nad aplikacjami.
O autorach:
Alan Shalloway pracuje w branży informatycznej od ponad 20 lat, często występuje na konferencjach, takich jak SD Expo, Java One, OOP czy też OOPSLA. [więcej...]
James R. Trott w trakcie swojej 20-letniej kariery programisty i projektanta wielokrotnie korzystał z technik analizy obiektowej i wzorców projektowych. [więcej...]
Aplikacje biznesowe dotyczą danych -- niezależnie od tego, czy są to dane o produkcie, szczegóły dotyczące kart kredytowych użytkowników czy preferowanego koloru kupowanych samochodów. Wraz ze wzrostem znaczenia informacji wzrosła także złożoność dostępu do nich. Programiści Javy mogą wybierać teraz spośród różnego rodzaju interfejsów API i technologii -- EJB, JDO, JDBC, SQL, RDBMS, OODBMS i innych. Do tej pory byli oni zdani na siebie przy podejmowaniu decyzji o tym, który model najlepiej pasuje do ich aplikacji i jak w najlepszy sposób korzystać z wybranego API.
Książka "Java. Aplikacje bazodanowe. Najlepsze rozwiązania" przychodzi z pomocą programistom. Teraz nie muszą już oni przeszukiwać kilku książek na temat różnych API, aby zdecydować o odpowiedniej metodzie. Ten obszerny przewodnik omawia podstawy wszystkich wiodących interfejsów API (Enterprise JavaBeans, Java Data Objects, JDBC, a także innych, mniej znanych opcji), objaśnia metodologię i komponenty projektowe wykorzystujące wspomniane interfejsy oraz prezentuje rozwiązania najbardziej dostosowane do różnych typów aplikacji.
Książka omawia także zagadnienia dotyczące projektowania baz danych, począwszy od architektury tabel, skończywszy na normalizacji. Autor przedstawia najlepsze rozwiązania rozmaitych problemów. Nauczysz się w jaki sposób przeprowadzać różne rodzaje normalizacji, a także dowiesz się, kiedy warto przeprowadzić denormalizację. Uzyskasz także szczegółowe instrukcje dotyczące optymalizacji zapytań SQL w celu najlepszego wykorzystania struktury bazy danych. Zaprezentowano także praktyczne zastosowania omawianych technik dostarczając informacje, które Czytelnik może zastosować natychmiast we własnych projektach aplikacji biznesowych.
Wzorce projektowe. Analiza kodu sposobem na ich poznanieWydawnictwo Helion
Opanuj zasady stosowania wzorców projektowych na praktycznych przykładach
* Dowiedz się, czym są wzorce projektowe
* Zaimplementuj wzorce we własnych programach
* Poznaj rodzaje wzorców projektowych
Wzorce projektowe to zapisane w sposób formalny sposoby rozwiązywania najczęstszych problemów, z jakimi borykają się twórcy oprogramowania stosujący języki obiektowe. Najczęściej stosowane wzorce zostały skatalogowane i przedstawione w postaci diagramów UML, jednak do poprawnego ich wykorzystywania niezbędna jest wiedza praktyczna. Przystępując do implementacji wzorca projektowego, należy poznać zakres jego zastosowania. Taką wiedzę najlepiej zdobywa się, analizując przykłady kodów źródłowych.
Dzięki książce "Wzorce projektowe. Analiza kodu sposobem na ich poznanie" poznasz wzorce w taki właśnie sposób -- badając programy, w których je zastosowano. Każdy z omawianych w książce wzorców zaprezentowany jest w oparciu o dwie implementacje szczegółowo wyjaśniające zasadę jego działania. Dzięki takim opisom wzorców opanujesz tę technologię znacznie szybciej niż w przypadku nauki teoretycznych podstaw oraz prób ich samodzielnego wdrażania we własnych aplikacjach. Unikniesz typowych błędów i dowiesz się, jak prawidłowo wykorzystywać każdy z wzorców.
* Zastosowanie wzorców projektowych
* Klasyfikacja wzorców
* Podstawowe pojęcia z dziedziny obiektowości
* Interfejsy i wzorce konstrukcyjne
* Implementacja wzorców obserwatora i fasady
* Wykorzystanie wzorców projektowych w aplikacjach bazodanowych
Książka zawiera również zestawienie najczęściej wykorzystywanych wzorców projektowych wraz z opisem ich zastosowań.
Przygotuj projekt systemu informatycznego,
który naprawdę spełni oczekiwania użytkowników
* Wybierz technologię, platformę sprzętową i model licencjonowania
* Zadbaj o funkcjonalność i łatwość rozbudowy systemu
* Zabezpiecz system przed piractwem, kradzieżą i utratą danych
Termin "architektura oprogramowania" kojarzy się zwykle z doborem języka programowania, wzajemnymi zależnościami między komponentami powstającego systemu informatycznego, wyborem platformy bazodanowej i zaplanowaniem innych elementów związanych wyłącznie z zagadnieniami technicznymi. Tymczasem w opisie architektury systemu nie wolno pomijać także innych kwestii: modelu licencjonowania, sposobu wdrażania i konserwacji systemu, a przede wszystkim jego użyteczności. Te pozornie niezwiązane z projektem elementy mogą mieć duży wpływ na powodzenie przedsięwzięcia, jakim jest stworzenie i sprzedaż oprogramowania. Odpowiednio przygotowany projekt systemu informatycznego powinien więc obejmować zarówno zagadnienia techniczne, jak i ekonomiczne.
Książka "Więcej niż architektura oprogramowania" to poradnik, dzięki któremu stworzenie odpowiedniej relacji między technologią a biznesem jest łatwiejsze, niż mogłoby się wydawać. Może się przydać zarówno menedżerowi, jak i programiście. Autor książki, doświadczony kierownik projektów i twórca oprogramowania, przedstawia związki między zagadnieniami technicznymi a innymi aspektami. Znajdziesz w niej opisy dobrych i skutecznych rozwiązań oraz zaczerpnięte z rynku przykłady planowania produkcji oprogramowania.
* Znaczenie architektury oprogramowania
* Zarządzanie oprogramowaniem jako produktem
* Modele licencjonowania
* Wykorzystywanie obcych technologii w projekcie
* Wdrażanie systemu
* Obsługa techniczna
* Dobór marki
* Funkcjonalność i łatwość obsługi
* Zabezpieczanie aplikacji
Sprawy z pozoru mało ważne często powodują największe problemy. Nie ignoruj ich. Pracuj nad projektem kompleksowo.
Visual Basic przeszedł generalny remont. Istnieje wiele powodów, dla których programiści Visual Basica 6 powinni przesiąść się na nowy Visual Basic .NET. Należy do nich zaliczyć chociażby formularze Web, możliwość tworzenia aplikacji i usług WWW, strukturalną obsługę wyjątków, prawdziwe programowanie zorientowane obiektowo czy też wielowątkowość.
"Visual Basic .NET. Księga eksperta" zawiera dokładne omówienie nowego języka Visual Basic .NET, zunifikowanego środowiska programowania Visual Studio IDE, programowania formularzy WWW, ADO.NET, usługi WWW, GDI+ i wiele innych.
Visual Studio .NET jest środowiskiem bardzo rozbudowanym i potężnym. Aby w pełni je wykorzystać, poznasz także sposoby tworzenia makr oraz znajdziesz omówienie modelu automatyzacji służącego do indywidualizacji zadań i interfejsu IDE w Visual Studio. Książka zawiera wiele przykładów wziętych z praktyki programistycznej.
Książka omawia:
* Środowisko programistyczne Visual Studio, korzystanie z SourceSafe
* Język Visual Basic .NET, programowanie zorientowane obiektowo w VB .NET
* Rozszerzanie środowiska programistycznego za pomocą makr
* Zaawansowane programowanie w VB .NET: refleksje, przeciążanie, programowane oparte na zdarzeniach, polimorfizm, definiowanie atrybutów
* Tworzenie interfejsu użytkownika (aplikacje konsolowe, aplikacje z interfejsem Windows)
* Pisanie aplikacji wielowątkowych
* Uruchamianie usług WWW (Web Services)
"Visual Basic .NET. Księga eksperta" jest doskonałym podręcznikiem dla wszystkich osób, dla których osiągnięcie wysokiej sprawności w posługiwaniu się językiem Visual Basic stanowi podstawę kariery programistycznej. Niezależnie, od tego, czy używałeś poprzedniej wersji tego języka, czy też nie: jeśli chcesz stać się ekspertem Visual Basica, trzymasz w ręku odpowiednią książkę.
Spring Framework. Profesjonalne tworzenie oprogramowania w JavieWydawnictwo Helion
Poznaj możliwości szkieletu Springi usprawnij proces tworzenia aplikacji J2EE
Spring to szkielet wytwarzania aplikacji (framework), dzięki któremu proces budowania oprogramowania w języku Java dla platformy J2EE staje się znacznie prostszy i efektywniejszy. Spring oferuje usługi, które można z powodzeniem używać w wielu środowiskach -- od apletów po autonomiczne aplikacje klienckie, od aplikacji internetowych pracujących w prostych kontenerach serwletów po złożone systemy korporacyjne pracujące pod kontrolą rozbudowanych serwerów aplikacji J2EE. Spring pozwala na korzystanie z możliwości programowania aspektowego, znacznie sprawniejszą obsługę relacyjnych baz danych, błyskawiczne budowanie graficznych interfejsów użytkownika oraz integrację z innymi szkieletami takimi, jak Struts czy JSF.
Książka "Spring Framework. Profesjonalne tworzenie oprogramowania w Javie" odkryje przed Tobą wszystkie tajniki stosowania Springa w procesie wytwarzania systemów informatycznych dla platformy J2EE. Dowiesz się, jak efektywnie korzystać z najważniejszych składników szkieletu Spring i poznasz ich rolę w budowaniu aplikacji. Nauczysz się nie tylko tego, co można zrealizować za pomocą poszczególnych usług, ale także tego, w jaki sposób zrobić to najlepiej. W kolejnych ćwiczeniach przeanalizujesz proces tworzenie kompletnej aplikacji w oparciu o Spring.
W książce poruszono m.in. tematy:
* Struktura szkieletu Spring
* Tworzenie komponentów i definiowanie zależności pomiędzy nimi
* Testowanie aplikacji i testy jednostkowe
* Programowanie aspektowe w Spring
* Połączenia z relacyjnymi bazami danych za pomocą JDBC
* Zarządzanie transakcjami
* Korzystanie z mechanizmu Hibernate
* Zabezpieczanie aplikacji
* Stosowanie szkieletu Web MVC
Przekonaj się, jak Spring może zmienić Twoją pracęnad tworzeniem aplikacji J2EE.
Najlepsze źródło wiedzy o doskonałej aplikacji
* Poznaj zasady stosowania narzędzi rysunkowych
* Stwórz animacje i elementy interaktywne
* Opublikuj gotowy film i przedstaw go widowni
Macromedia Flash 8 to kolejna wersja aplikacji, która wywołała niemal rewolucję w projektowaniu stron WWW. Dzięki niej strony internetowe ożyły, wypełniając się animacjami, interaktywnymi przyciskami, dźwiękami i innymi efektami znanymi wcześniej jedynie z prezentacji multimedialnych publikowanych na płytach CD-ROM. Obecna wersja Flasha to potężny kombajn łączący w sobie program graficzny i animacyjny z doskonałym środowiskiem programistycznym, pozwalający twórcy na prawie nieograniczone kontrolowanie obiektów pojawiających się na ekranie. Twórcy Flasha uwzględnili również dynamiczny rozwój technologii mobilnych. Animacje we Flashu można odtwarzać nie tylko na monitorach komputerów, ale również na wyświetlaczach telefonów komórkowych i urządzeń typu Pocket PC.
Książka "Macromedia Flash 8. Oficjalny podręcznik" to zbiór ćwiczeń przygotowanych i zatwierdzonych przez firmę Macromedia. Dzięki niej poznasz możliwości najnowszej wersji tej wyjątkowej aplikacji. Nauczysz się korzystać z narzędzi rysunkowych, tworzyć animacje automatyczne i oparte na klatkach kluczowych. Dowiesz się, do czego służą poszczególne palety w interfejsie użytkownika, i napiszesz skrypty w języku ActionScript. Wykorzystasz gotowe elementy do budowania formularzy i interfejsów oraz nauczysz się dołączać klipy wideo i dźwięki do prezentacji.
* Elementy interfejsu użytkownika
* Tworzenie obiektów graficznych
* Kontury i wypełnienia obiektów
* Narzędzia tekstowe
* Tworzenie i edycja symboli
* Animacja automatyczna i poklatkowa
* Tworzenie prostych elementów interaktywnych
* Dołączanie klipów wideo i dźwięków
* Stosowanie komponentów do budowy formularzy
* Podstawy języka ActionScript
* Optymalizacja prezentacji
* Publikowanie gotowych prezentacji
Poznaj niesamowite możliwości Flasha.
CATIA V5. Przykłady efektywnego zastosowania systemu w projektowaniu mechanic...Wydawnictwo Helion
Wykorzystywanie systemów CAD w biurach projektowych to dziś niemal standard. Niestety -- ogrom inwestycji związanych z zakupem i wdrożeniem takich systemów powoduje, że szkolenie pracowników dotyczące zasad efektywnego korzystania z narzędzi projektowych jest często pomijane lub przeprowadzane w minimalnym zakresie. Skutkiem tego jest niższa od zakładanej wydajność pracy i niepotrzebna złożoność wielu projektów. Opanowanie systemu CAD w stopniu wystarczającym do wypracowania metodologii pracy w zespole, optymalnego skonfigurowania interfejsu użytkownika aplikacji oraz odpowiedniego zaplanowania modelu ma tu ogromne znaczenie. Tylko wtedy możliwe jest przyspieszenie procesu projektowania, zautomatyzowanie typowych, powtarzających się etapów projektowania oraz zapewnienie zgodności projektu z normami branżowymi czy zakładowymi.
Książka "CATIA V5. Przykłady efektywnego zastosowania systemu w projektowaniu mechanicznym" przedstawia najlepsze praktyki projektowe stosowane do rozwiązywania różnych problemów konstrukcyjnych. Nie jest to podręcznik użytkownika ani opis funkcji systemu CATIA. Opisano tu sposoby realizacji konkretnych zadań z naciskiem na wydajność pracy oraz właściwe wykorzystanie dostępnych narzędzi. Każdy temat przedstawiony jest na przykładzie, co ułatwia jego zrozumienie i zastosowanie w innych projektach.
* Asocjatywność i projektowanie współbieżne
* Projektowanie typowych elementów konstrukcyjnych
* Szablony konstrukcyjne i inteligentne modele
* Projektowanie części formowanych
* Modele bryłowe i powierzchniowe
Wykorzystaj wiedzę zawartą w tej książcei popraw wydajność swojej pracy.
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ę.
Naucz się języka C++ w najlepszy sposób:
poznając go z punktu widzenia inżynierii programowania
* Demonstruje praktyczne techniki stosowane przez zawodowych programistów
* Zawiera poprawny, gruntownie przetestowany przykładowy kod źródłowy programów oraz przykłady zaczerpnięte z praktyki
* Skoncentrowana na nowoczesnych technologiach, które muszą poznać programiści
* Zawiera rady profesjonalistów, które pozwolą czytelnikowi tworzyć najlepsze programy
Książka Wiktora Shterna zatytułowana "C++. Inżynieria programowania" stosuje wyjątkowy sposób nauki języka C++ przeznaczony dla programistów mających doświadczenie w dowolnym języku programowania: prezentuje możliwość zastosowania w C++ najlepszych technik programistycznych oraz metodologii inżynierii programowania. Nawet jeżeli już wcześniej wykorzystywałeś język C++, ta wyczerpująca książka przedstawi sposób tworzenia poprawniejszego kodu, łatwiejszego do utrzymania i modyfikacji.
Książka niniejsza uczy zasad programowania obiektowego przed samą nauką języka, co pozwala wykorzystać wszystkie zalety OOP do tworzenia poprawnych aplikacji. Udoskonalisz znajomość kluczowych składników standardu ANSI/ISO C++ rozpatrywanych z punktu widzenia inżyniera: klas, metod, modyfikatorów const, dynamicznego zarządzania pamięcią, złożeń klas, dziedziczenia, polimorfizmu, operacji wejścia-wyjścia i wielu innych. Jeżeli pragniesz tworzyć w języku C++ najlepsze programy, musisz projektować, myśleć i programować stosując najlepsze obecnie praktyki inżynierii programowania. Lektura książki "C++. Inżynieria programowania" pomoże Ci w tym.
Książka "C++. Inżynieria programowania" kładzie nacisk na:
* Prezentację zastosowań zasad inżynierii programowania w programach pisanych w C++
* Tworzenie kodu łatwego do późniejszych modyfikacji
* Praktyczne zrozumienie zasad programowania obiektowego przed nauką samego języka
* Przedstawienie najnowszych cech standardu ANSI/ISO C++
* Zaprezentowanie setek realistycznych przykładów kodu programów
Poznaj możliwości platformy J2EE
* Wykorzystaj język XML w aplikacjach bazodanowych
* Zaimplementuj obsługę protokołu SOAP
* Zbuduj aplikacje w oparciu o serwlety i JSP
* Zastosuj w projektach technologię Enterprise Java Beans
Platforma Java 2 Enterprise Edition zdobyła już mocną pozycję na rynku serwerów aplikacji. Dzięki niej możliwe stało się tworzenie aplikacji korporacyjnych zgodnych z podstawowym założeniem przyświecającym twórcom Javy -- "pisz raz, uruchamiaj wszędzie". Najnowsza wersja platformy J2EE została znacznie rozbudowana i zmodernizowana w porównaniu z poprzednimi. Dodano do niej możliwość obsługi usług WWW, rozszerzono i unowocześniono implementacje technologii serwletów i JSP oraz poprawiono wiele komponentów przydatnych przy tworzeniu aplikacji korporacyjnych.
"J2EE. Vademecum profesjonalisty. Wydanie II" to kompletny przewodnik po najnowszej wersji Java 2 Enterprise Edition, napisany przez członków zespołu zajmującego się rozwojem platformy J2EE, zatrudnionych w firmie Sun. Opisuje kluczowe komponenty Java 2 Platform, Enterprise Edition (J2EE) w wersji 1.4. Prezentuje rozwiązania konkretnych problemów napotykanych przez programistów, zilustrowane licznymi przykładami. W książce przedstawiono nie tylko komponenty J2EE, ale również współpracujące z nią technologie: JavaServer Pages Standard Tag Library (JSTL) oraz JavaServer Faces.
* Tworzenie aplikacji internetowej wykorzystującej język XML
* Stosowanie parsera SAX
* Analiza i przetwarzanie hierarchii DOM w dokumentach
* Korzystanie z XPath
* Implementacja usług WWW oraz obsługi protokołu SOAP
* Tworzenie aplikacji z wykorzystaniem serwletów i JSP
* Stosowanie technologii JavaServer Faces
* Projektowanie z wykorzystaniem Enterprise Java Beans
Jeśli chcesz zaprojektować i stworzyć aplikację z wykorzystaniem J2EE, w tej książce znajdziesz wszystkie informacje, jakie mogą Ci być do tego potrzebne.
Poznaj nowoczesne technologie, aby perfekcyjnie tworzyć sprawne oprogramowanie!
* Jak tworzyć aplikacje JSF w środowisku Eclipse?
* Jak korzystać z frameworku JBoss Seam?
* Jak implementować niestandardowe komponenty, konwertery i mechanizmy weryfikujące?
JavaServer Faces (JSF) jest obecnie najpopularniejszą technologią, która pozwala na projektowanie interfejsu użytkownika poprzez umieszczenie na formularzu komponentów i powiązanie ich z obiektami Javy bez konieczności mieszania kodu źródłowego ze znacznikami. Mocną stroną JSF jest rozszerzalny model komponentowy, a także możliwość współpracy z środowiskami do budowy graficznych interfejsów użytkownika metodą przeciągnij-i-upuść. To nowoczesne narzędzie oferuje także mechanizmy rozwiązujące najtrudniejsze problemy w zakresie nawigacji, zarządzania połączeniami z usługami zewnętrznymi i konfiguracjami oraz izolowania prezentacji od logiki biznesowej.
Książka „JavaServer Faces. Wydanie II” prezentuje gruntownie zaktualizowaną wiedzę dotyczącą JSF oraz wyczerpujące omówienia najnowszych udoskonaleń mechanizmów wiążących tę technologię z platformą Java EE 5, a także analizę rozszerzeń interfejsów API. Zawiera praktyczne porady i wskazówki, dzięki którym szybko nauczysz się technik sterowania przechodzeniem pomiędzy stronami z wykorzystaniem frameworku Shale; poznasz sposoby zastępowania znaczników JSP znacznikami XHTML za pomocą technologii Facelets; do perfekcji opanujesz sztukę rozbudowy tej technologii o własne biblioteki. „Core JavaServer Faces” to doskonały, usystematyzowany zbiór najlepszych praktyk budowy oprogramowania, minimalizowania trwale kodowanych elementów i maksymalizacji produktywności.
* Komponenty zarządzane
* Zaawansowane techniki nawigacji
* Znaczniki i formularze
* Konwersja i weryfikacja poprawności danych
* Implementacja klas niestandardowych mechanizmów weryfikacji
* Powidoki i pakiet Apache Tiles
* Niestandardowe komponenty, konwertery i mechanizmy weryfikujące
* Eliminowanie wycieków połączeń
* Uzyskiwanie dostępu do informacji składowych w katalogach LDAP
* Implementacja mechanizmu weryfikacji w czasie rzeczywistym z wykorzystaniem frameworku Ajax4jsf
Zastosuj nowoczesne technologie JSP, aby w prosty sposób budować zaawansowane i sprawne aplikacje.
Naucz się tworzyć aplikacje dla systemu Windows oraz aplikacje WWW
* Projektowanie formularzy i korzystanie z kontrolek
* Komunikacja z bazami danych
* Tworzenie usług sieciowych
Visual Basic to jeden z najpopularniejszych obecnie języków programowania. Szerokie grono programistów opracowuje z jego pomocą aplikacje dla systemu Windows oraz aplikacje internetowe. Integracja z platformą .NET otwiera przed jego użytkownikami jeszcze większe możliwości. Dzięki ogromnej liczbie gotowych kontrolek i czytelnej składni pisanie aplikacji przebiega błyskawicznie. Programista może skoncentrować się na zadaniu, nie poświęcając zbyt wiele czasu na działania drugorzędne.
Książka "Visual Basic 2005. Programowanie" to podręcznik przedstawiający zasady tworzenia aplikacji dla Windows oraz aplikacji sieciowych w Visual Basicu. Nie znajdziesz tu teoretycznych wywodów i długich opisów. Od pierwszego rozdziału zaczniesz poznawać praktyczne aspekty programowania. Stworzysz aplikację operującą na danych pobieranych z bazy, aplikację internetową oraz usługi sieciowe. Wszystkie elementy języka Visual Basic poznasz, pracując nad konkretnym projektem.
* Projektowanie formularza i obsługa zdarzeń
* Dostęp do danych zgromadzonych w bazie
* Korzystanie z gotowych kontrolek i tworzenie własnych
* Tworzenie obiektów graficznych za pomocą biblioteki GDI+
* Budowanie aplikacji internetowej
* Strony wzorcowe i mechanizmy nawigacyjne
* Personalizacja aplikacji internetowej
* Korzystanie ze środowiska Visual Studio 2005
* Zasady programowania obiektowego
Jeśli chcesz szybko opanować metody tworzenia aplikacjiw języku Visual Basic 2005 -- koniecznie sięgnij po tę książkę.
C++Builder Borland Developer Studio 2006. Kompendium programistyWydawnictwo Helion
Jeden z najnowszych produktów firmy Borland, C++Builder Borland Developer Studio 2006, to połączenie nowoczesnego języka programowania, jakim jest C++, biblioteki komponentów wizualnych, zintegrowanego środowiska programistycznego oraz narzędzi służących do modelowania oprogramowania. Pomimo że zaimplementowana w C++Builder wersja języka C++ nie jest dokładnym odzwierciedleniem standardu ANSI, środowisko to zyskało duże uznanie wśród najlepszych programistów, doceniających jego uniwersalność i stabilność.
Książka "C++Builder Borland Developer Studio 2006. Kompendium programisty" przedstawia zasady programowania w języku C++ z wykorzystaniem narzędzia C++Builder 2006. Opisuje zarówno samo środowisko, jak i poszczególne elementy języka. Dzięki niej nauczysz się korzystać z języka UML używanego do projektowania aplikacji oraz dowiesz się, jak realizować projekty, wykorzystując język C++. Poznasz także nowoczesne metodologie tworzenia oprogramowania za pomocą narzędzi typu RAD.
* Środowisko C++Builder Borland Developer Studio 2006
* Podstawy języka UML
* Korzystanie z biblioteki STL
* Obsługa wyjątków
* Operacje na systemie plików
* Programowanie wielowątkowe
* Komponenty
* Programowanie grafiki
Poznaj potęgę języka C++i zdobądź szczególne umiejętności programowania.
Java. Obsługa wyjątków, usuwanie błędów i testowanie koduWydawnictwo Helion
W każdej aplikacji mogą wystąpić błędy.Przygotuj się na to pisząc odpowiednią obsługę wyjątków
* Poznaj techniki programowania, dzięki którym Twoje aplikacje staną się odporne na błędy
* Naucz się przewidywać błędy i zapobiegać ich występowaniu
* Zabezpiecz aplikacje przez skutkami wystąpienia błędów stosując odpowiednie wzorce projektowe
Żaden kod nie jest idealny -- nawet najbardziej doświadczony programista popełnia błędy. Tym, co w takich przypadkach wyróżnia doświadczonego programistę jest fakt, że jego aplikacje posiadają mechanizmy pozwalające na obsługę tych błędów. Dzięki nim program nie zawiesi się ani nie "pogubi" żadnych danych. Oczywiście, aby napisać odpowiednią obsługę wyjątków, należy poznać ich typy oraz mechanizmy ich powstawania. Niezbędna jest również znajomość wzorców projektowych oraz narzędzi do testowania kodu.
W książce "Java. Obsługa wyjątków, usuwanie błędów i testowanie kodu" znajdziesz wszystkie te informacje. Dowiesz się, jak zaimplementować obsługę wyjątków i poprawić jakość kodu źródłowego. Poznasz modele wyjątków i nauczysz się zarządzać mechanizmami ich obsługi na poziomie aplikacji i pojedynczych modułów. Przeczytasz tu także o wzorach projektowych zapewniających prawidłową obsługę wyjątków.
* Koncepcje obsługi wyjątków
* Obsługa wyjątków w aplikacjach wielowątkowych
* Przyczyny występowania wyjątków w różnych elementach języka Java
* Programowanie rozproszone w Javie
* Wyjątki w aplikacjach J2EE
* Wzorce projektowe
* Testowanie kodu i usuwanie błędów
Po przeczytaniu tej książki Twoja wiedza pozwoli Ci na podejmowanie odpowiednich decyzje dotyczące architektury aplikacji i odpowiadającego jej modelu wyjątków.
Poznaj zaawansowane możliwości najnowszej wersji CorelDraw i wykorzystaj je w swojej pracy.
CorelDraw to jedna z najdłużej rozwijanych i najpopularniejszych aplikacji graficznych. Każda kolejna wersja wprowadza ulepszenia i nowe możliwości. Po piętnastu latach od pojawienia się pierwszej wersji programu, wprowadzono na rynek jedenastą edycję CorelDRAW.
Książka "CorelDraw 11. Vademecum profesjonalisty" jest pozycją przeznaczoną dla grafików i ilustratorów, którzy chcą wykorzystać potężne możliwości tego programu w swojej codziennej pracy. Dzięki doświadczeniu Steve"a Baina dokładnie poznasz aplikację i i będziesz mógł wykorzystać setki wskazówek, które nauczą Cię uzyskiwać wspaniałe rezultaty.
W drugim tomie książki zawarto informacje o zaawansowanych możliwościach programu CorelDraw:
* Dokładny opis zmian i ulepszeń wprowadzonych w najnowszej wersji programu
* Omówienie efektów specjalnych: obwiedni, deformacji, metamorfozy, obrysu, cieni, soczewek i efektów przezroczystości
* Tworzenie obrazów trójwymiarowych; perspektywa
* Obsługa obiektów bitmapowych
* Drukowanie w CorelDraw, tworzenie rozbarwień
* Tworzenie elementów stron WWW
* Animacje w Corel R.A.V.E 2.0
* Rozbudowa możliwości Corela za pomocą VisualBasic for Applications, makropolecenia
* Dodatek podsumowujący skróty klawiaturowe
Materiał zawarty w niniejszej książce został opracowany w taki sposób, by opisywane funkcje programu CorelDRAW stały się zrozumiałe dla wszystkich użytkowników, bez względu na zakres posiadanej wiedzy: od początkujących po zaawansowanych. Tom drugi jest skierowany w pierwszym rzędzie do tej drugiej grupy. Jeśli profesjonalnie zajmujesz się grafiką komputerową, uczestniczysz w procesie przygotowania publikacji do druku i chcesz wykorzystać w tym celu potencjał CorelDraw -- "CorelDraw 11. Vademecum profesjonalisty. Tom II" stanowi dla Ciebie lekturę obowiązkową.
SISS Magdalena Kostulska "Współpraca z biznesem" / "Cooperation with business"UNDP_Poland
Szkoła Letnia Innowacji Społecznych dla pracowników i pracowaniczek Osrodków Wsparcia Ekonomii Społecznej z województw: podlaskiego, lubelskiego i podkarpackiego, realizowana w ramach projektu "Zintegrowany system wsparcia ekonomii społecznej" - 25-30 sierpnia 2012, Nasutów.
Social Innovation Summer School for Social Economy Support Centers. August 25-30, 2012
Integrated System of Support to Social Economy (EU).
Wzorce projektowe. Analiza kodu sposobem na ich poznanieWydawnictwo Helion
Opanuj zasady stosowania wzorców projektowych na praktycznych przykładach
* Dowiedz się, czym są wzorce projektowe
* Zaimplementuj wzorce we własnych programach
* Poznaj rodzaje wzorców projektowych
Wzorce projektowe to zapisane w sposób formalny sposoby rozwiązywania najczęstszych problemów, z jakimi borykają się twórcy oprogramowania stosujący języki obiektowe. Najczęściej stosowane wzorce zostały skatalogowane i przedstawione w postaci diagramów UML, jednak do poprawnego ich wykorzystywania niezbędna jest wiedza praktyczna. Przystępując do implementacji wzorca projektowego, należy poznać zakres jego zastosowania. Taką wiedzę najlepiej zdobywa się, analizując przykłady kodów źródłowych.
Dzięki książce "Wzorce projektowe. Analiza kodu sposobem na ich poznanie" poznasz wzorce w taki właśnie sposób -- badając programy, w których je zastosowano. Każdy z omawianych w książce wzorców zaprezentowany jest w oparciu o dwie implementacje szczegółowo wyjaśniające zasadę jego działania. Dzięki takim opisom wzorców opanujesz tę technologię znacznie szybciej niż w przypadku nauki teoretycznych podstaw oraz prób ich samodzielnego wdrażania we własnych aplikacjach. Unikniesz typowych błędów i dowiesz się, jak prawidłowo wykorzystywać każdy z wzorców.
* Zastosowanie wzorców projektowych
* Klasyfikacja wzorców
* Podstawowe pojęcia z dziedziny obiektowości
* Interfejsy i wzorce konstrukcyjne
* Implementacja wzorców obserwatora i fasady
* Wykorzystanie wzorców projektowych w aplikacjach bazodanowych
Książka zawiera również zestawienie najczęściej wykorzystywanych wzorców projektowych wraz z opisem ich zastosowań.
Przygotuj projekt systemu informatycznego,
który naprawdę spełni oczekiwania użytkowników
* Wybierz technologię, platformę sprzętową i model licencjonowania
* Zadbaj o funkcjonalność i łatwość rozbudowy systemu
* Zabezpiecz system przed piractwem, kradzieżą i utratą danych
Termin "architektura oprogramowania" kojarzy się zwykle z doborem języka programowania, wzajemnymi zależnościami między komponentami powstającego systemu informatycznego, wyborem platformy bazodanowej i zaplanowaniem innych elementów związanych wyłącznie z zagadnieniami technicznymi. Tymczasem w opisie architektury systemu nie wolno pomijać także innych kwestii: modelu licencjonowania, sposobu wdrażania i konserwacji systemu, a przede wszystkim jego użyteczności. Te pozornie niezwiązane z projektem elementy mogą mieć duży wpływ na powodzenie przedsięwzięcia, jakim jest stworzenie i sprzedaż oprogramowania. Odpowiednio przygotowany projekt systemu informatycznego powinien więc obejmować zarówno zagadnienia techniczne, jak i ekonomiczne.
Książka "Więcej niż architektura oprogramowania" to poradnik, dzięki któremu stworzenie odpowiedniej relacji między technologią a biznesem jest łatwiejsze, niż mogłoby się wydawać. Może się przydać zarówno menedżerowi, jak i programiście. Autor książki, doświadczony kierownik projektów i twórca oprogramowania, przedstawia związki między zagadnieniami technicznymi a innymi aspektami. Znajdziesz w niej opisy dobrych i skutecznych rozwiązań oraz zaczerpnięte z rynku przykłady planowania produkcji oprogramowania.
* Znaczenie architektury oprogramowania
* Zarządzanie oprogramowaniem jako produktem
* Modele licencjonowania
* Wykorzystywanie obcych technologii w projekcie
* Wdrażanie systemu
* Obsługa techniczna
* Dobór marki
* Funkcjonalność i łatwość obsługi
* Zabezpieczanie aplikacji
Sprawy z pozoru mało ważne często powodują największe problemy. Nie ignoruj ich. Pracuj nad projektem kompleksowo.
Visual Basic przeszedł generalny remont. Istnieje wiele powodów, dla których programiści Visual Basica 6 powinni przesiąść się na nowy Visual Basic .NET. Należy do nich zaliczyć chociażby formularze Web, możliwość tworzenia aplikacji i usług WWW, strukturalną obsługę wyjątków, prawdziwe programowanie zorientowane obiektowo czy też wielowątkowość.
"Visual Basic .NET. Księga eksperta" zawiera dokładne omówienie nowego języka Visual Basic .NET, zunifikowanego środowiska programowania Visual Studio IDE, programowania formularzy WWW, ADO.NET, usługi WWW, GDI+ i wiele innych.
Visual Studio .NET jest środowiskiem bardzo rozbudowanym i potężnym. Aby w pełni je wykorzystać, poznasz także sposoby tworzenia makr oraz znajdziesz omówienie modelu automatyzacji służącego do indywidualizacji zadań i interfejsu IDE w Visual Studio. Książka zawiera wiele przykładów wziętych z praktyki programistycznej.
Książka omawia:
* Środowisko programistyczne Visual Studio, korzystanie z SourceSafe
* Język Visual Basic .NET, programowanie zorientowane obiektowo w VB .NET
* Rozszerzanie środowiska programistycznego za pomocą makr
* Zaawansowane programowanie w VB .NET: refleksje, przeciążanie, programowane oparte na zdarzeniach, polimorfizm, definiowanie atrybutów
* Tworzenie interfejsu użytkownika (aplikacje konsolowe, aplikacje z interfejsem Windows)
* Pisanie aplikacji wielowątkowych
* Uruchamianie usług WWW (Web Services)
"Visual Basic .NET. Księga eksperta" jest doskonałym podręcznikiem dla wszystkich osób, dla których osiągnięcie wysokiej sprawności w posługiwaniu się językiem Visual Basic stanowi podstawę kariery programistycznej. Niezależnie, od tego, czy używałeś poprzedniej wersji tego języka, czy też nie: jeśli chcesz stać się ekspertem Visual Basica, trzymasz w ręku odpowiednią książkę.
Spring Framework. Profesjonalne tworzenie oprogramowania w JavieWydawnictwo Helion
Poznaj możliwości szkieletu Springi usprawnij proces tworzenia aplikacji J2EE
Spring to szkielet wytwarzania aplikacji (framework), dzięki któremu proces budowania oprogramowania w języku Java dla platformy J2EE staje się znacznie prostszy i efektywniejszy. Spring oferuje usługi, które można z powodzeniem używać w wielu środowiskach -- od apletów po autonomiczne aplikacje klienckie, od aplikacji internetowych pracujących w prostych kontenerach serwletów po złożone systemy korporacyjne pracujące pod kontrolą rozbudowanych serwerów aplikacji J2EE. Spring pozwala na korzystanie z możliwości programowania aspektowego, znacznie sprawniejszą obsługę relacyjnych baz danych, błyskawiczne budowanie graficznych interfejsów użytkownika oraz integrację z innymi szkieletami takimi, jak Struts czy JSF.
Książka "Spring Framework. Profesjonalne tworzenie oprogramowania w Javie" odkryje przed Tobą wszystkie tajniki stosowania Springa w procesie wytwarzania systemów informatycznych dla platformy J2EE. Dowiesz się, jak efektywnie korzystać z najważniejszych składników szkieletu Spring i poznasz ich rolę w budowaniu aplikacji. Nauczysz się nie tylko tego, co można zrealizować za pomocą poszczególnych usług, ale także tego, w jaki sposób zrobić to najlepiej. W kolejnych ćwiczeniach przeanalizujesz proces tworzenie kompletnej aplikacji w oparciu o Spring.
W książce poruszono m.in. tematy:
* Struktura szkieletu Spring
* Tworzenie komponentów i definiowanie zależności pomiędzy nimi
* Testowanie aplikacji i testy jednostkowe
* Programowanie aspektowe w Spring
* Połączenia z relacyjnymi bazami danych za pomocą JDBC
* Zarządzanie transakcjami
* Korzystanie z mechanizmu Hibernate
* Zabezpieczanie aplikacji
* Stosowanie szkieletu Web MVC
Przekonaj się, jak Spring może zmienić Twoją pracęnad tworzeniem aplikacji J2EE.
Najlepsze źródło wiedzy o doskonałej aplikacji
* Poznaj zasady stosowania narzędzi rysunkowych
* Stwórz animacje i elementy interaktywne
* Opublikuj gotowy film i przedstaw go widowni
Macromedia Flash 8 to kolejna wersja aplikacji, która wywołała niemal rewolucję w projektowaniu stron WWW. Dzięki niej strony internetowe ożyły, wypełniając się animacjami, interaktywnymi przyciskami, dźwiękami i innymi efektami znanymi wcześniej jedynie z prezentacji multimedialnych publikowanych na płytach CD-ROM. Obecna wersja Flasha to potężny kombajn łączący w sobie program graficzny i animacyjny z doskonałym środowiskiem programistycznym, pozwalający twórcy na prawie nieograniczone kontrolowanie obiektów pojawiających się na ekranie. Twórcy Flasha uwzględnili również dynamiczny rozwój technologii mobilnych. Animacje we Flashu można odtwarzać nie tylko na monitorach komputerów, ale również na wyświetlaczach telefonów komórkowych i urządzeń typu Pocket PC.
Książka "Macromedia Flash 8. Oficjalny podręcznik" to zbiór ćwiczeń przygotowanych i zatwierdzonych przez firmę Macromedia. Dzięki niej poznasz możliwości najnowszej wersji tej wyjątkowej aplikacji. Nauczysz się korzystać z narzędzi rysunkowych, tworzyć animacje automatyczne i oparte na klatkach kluczowych. Dowiesz się, do czego służą poszczególne palety w interfejsie użytkownika, i napiszesz skrypty w języku ActionScript. Wykorzystasz gotowe elementy do budowania formularzy i interfejsów oraz nauczysz się dołączać klipy wideo i dźwięki do prezentacji.
* Elementy interfejsu użytkownika
* Tworzenie obiektów graficznych
* Kontury i wypełnienia obiektów
* Narzędzia tekstowe
* Tworzenie i edycja symboli
* Animacja automatyczna i poklatkowa
* Tworzenie prostych elementów interaktywnych
* Dołączanie klipów wideo i dźwięków
* Stosowanie komponentów do budowy formularzy
* Podstawy języka ActionScript
* Optymalizacja prezentacji
* Publikowanie gotowych prezentacji
Poznaj niesamowite możliwości Flasha.
CATIA V5. Przykłady efektywnego zastosowania systemu w projektowaniu mechanic...Wydawnictwo Helion
Wykorzystywanie systemów CAD w biurach projektowych to dziś niemal standard. Niestety -- ogrom inwestycji związanych z zakupem i wdrożeniem takich systemów powoduje, że szkolenie pracowników dotyczące zasad efektywnego korzystania z narzędzi projektowych jest często pomijane lub przeprowadzane w minimalnym zakresie. Skutkiem tego jest niższa od zakładanej wydajność pracy i niepotrzebna złożoność wielu projektów. Opanowanie systemu CAD w stopniu wystarczającym do wypracowania metodologii pracy w zespole, optymalnego skonfigurowania interfejsu użytkownika aplikacji oraz odpowiedniego zaplanowania modelu ma tu ogromne znaczenie. Tylko wtedy możliwe jest przyspieszenie procesu projektowania, zautomatyzowanie typowych, powtarzających się etapów projektowania oraz zapewnienie zgodności projektu z normami branżowymi czy zakładowymi.
Książka "CATIA V5. Przykłady efektywnego zastosowania systemu w projektowaniu mechanicznym" przedstawia najlepsze praktyki projektowe stosowane do rozwiązywania różnych problemów konstrukcyjnych. Nie jest to podręcznik użytkownika ani opis funkcji systemu CATIA. Opisano tu sposoby realizacji konkretnych zadań z naciskiem na wydajność pracy oraz właściwe wykorzystanie dostępnych narzędzi. Każdy temat przedstawiony jest na przykładzie, co ułatwia jego zrozumienie i zastosowanie w innych projektach.
* Asocjatywność i projektowanie współbieżne
* Projektowanie typowych elementów konstrukcyjnych
* Szablony konstrukcyjne i inteligentne modele
* Projektowanie części formowanych
* Modele bryłowe i powierzchniowe
Wykorzystaj wiedzę zawartą w tej książcei popraw wydajność swojej pracy.
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ę.
Naucz się języka C++ w najlepszy sposób:
poznając go z punktu widzenia inżynierii programowania
* Demonstruje praktyczne techniki stosowane przez zawodowych programistów
* Zawiera poprawny, gruntownie przetestowany przykładowy kod źródłowy programów oraz przykłady zaczerpnięte z praktyki
* Skoncentrowana na nowoczesnych technologiach, które muszą poznać programiści
* Zawiera rady profesjonalistów, które pozwolą czytelnikowi tworzyć najlepsze programy
Książka Wiktora Shterna zatytułowana "C++. Inżynieria programowania" stosuje wyjątkowy sposób nauki języka C++ przeznaczony dla programistów mających doświadczenie w dowolnym języku programowania: prezentuje możliwość zastosowania w C++ najlepszych technik programistycznych oraz metodologii inżynierii programowania. Nawet jeżeli już wcześniej wykorzystywałeś język C++, ta wyczerpująca książka przedstawi sposób tworzenia poprawniejszego kodu, łatwiejszego do utrzymania i modyfikacji.
Książka niniejsza uczy zasad programowania obiektowego przed samą nauką języka, co pozwala wykorzystać wszystkie zalety OOP do tworzenia poprawnych aplikacji. Udoskonalisz znajomość kluczowych składników standardu ANSI/ISO C++ rozpatrywanych z punktu widzenia inżyniera: klas, metod, modyfikatorów const, dynamicznego zarządzania pamięcią, złożeń klas, dziedziczenia, polimorfizmu, operacji wejścia-wyjścia i wielu innych. Jeżeli pragniesz tworzyć w języku C++ najlepsze programy, musisz projektować, myśleć i programować stosując najlepsze obecnie praktyki inżynierii programowania. Lektura książki "C++. Inżynieria programowania" pomoże Ci w tym.
Książka "C++. Inżynieria programowania" kładzie nacisk na:
* Prezentację zastosowań zasad inżynierii programowania w programach pisanych w C++
* Tworzenie kodu łatwego do późniejszych modyfikacji
* Praktyczne zrozumienie zasad programowania obiektowego przed nauką samego języka
* Przedstawienie najnowszych cech standardu ANSI/ISO C++
* Zaprezentowanie setek realistycznych przykładów kodu programów
Poznaj możliwości platformy J2EE
* Wykorzystaj język XML w aplikacjach bazodanowych
* Zaimplementuj obsługę protokołu SOAP
* Zbuduj aplikacje w oparciu o serwlety i JSP
* Zastosuj w projektach technologię Enterprise Java Beans
Platforma Java 2 Enterprise Edition zdobyła już mocną pozycję na rynku serwerów aplikacji. Dzięki niej możliwe stało się tworzenie aplikacji korporacyjnych zgodnych z podstawowym założeniem przyświecającym twórcom Javy -- "pisz raz, uruchamiaj wszędzie". Najnowsza wersja platformy J2EE została znacznie rozbudowana i zmodernizowana w porównaniu z poprzednimi. Dodano do niej możliwość obsługi usług WWW, rozszerzono i unowocześniono implementacje technologii serwletów i JSP oraz poprawiono wiele komponentów przydatnych przy tworzeniu aplikacji korporacyjnych.
"J2EE. Vademecum profesjonalisty. Wydanie II" to kompletny przewodnik po najnowszej wersji Java 2 Enterprise Edition, napisany przez członków zespołu zajmującego się rozwojem platformy J2EE, zatrudnionych w firmie Sun. Opisuje kluczowe komponenty Java 2 Platform, Enterprise Edition (J2EE) w wersji 1.4. Prezentuje rozwiązania konkretnych problemów napotykanych przez programistów, zilustrowane licznymi przykładami. W książce przedstawiono nie tylko komponenty J2EE, ale również współpracujące z nią technologie: JavaServer Pages Standard Tag Library (JSTL) oraz JavaServer Faces.
* Tworzenie aplikacji internetowej wykorzystującej język XML
* Stosowanie parsera SAX
* Analiza i przetwarzanie hierarchii DOM w dokumentach
* Korzystanie z XPath
* Implementacja usług WWW oraz obsługi protokołu SOAP
* Tworzenie aplikacji z wykorzystaniem serwletów i JSP
* Stosowanie technologii JavaServer Faces
* Projektowanie z wykorzystaniem Enterprise Java Beans
Jeśli chcesz zaprojektować i stworzyć aplikację z wykorzystaniem J2EE, w tej książce znajdziesz wszystkie informacje, jakie mogą Ci być do tego potrzebne.
Poznaj nowoczesne technologie, aby perfekcyjnie tworzyć sprawne oprogramowanie!
* Jak tworzyć aplikacje JSF w środowisku Eclipse?
* Jak korzystać z frameworku JBoss Seam?
* Jak implementować niestandardowe komponenty, konwertery i mechanizmy weryfikujące?
JavaServer Faces (JSF) jest obecnie najpopularniejszą technologią, która pozwala na projektowanie interfejsu użytkownika poprzez umieszczenie na formularzu komponentów i powiązanie ich z obiektami Javy bez konieczności mieszania kodu źródłowego ze znacznikami. Mocną stroną JSF jest rozszerzalny model komponentowy, a także możliwość współpracy z środowiskami do budowy graficznych interfejsów użytkownika metodą przeciągnij-i-upuść. To nowoczesne narzędzie oferuje także mechanizmy rozwiązujące najtrudniejsze problemy w zakresie nawigacji, zarządzania połączeniami z usługami zewnętrznymi i konfiguracjami oraz izolowania prezentacji od logiki biznesowej.
Książka „JavaServer Faces. Wydanie II” prezentuje gruntownie zaktualizowaną wiedzę dotyczącą JSF oraz wyczerpujące omówienia najnowszych udoskonaleń mechanizmów wiążących tę technologię z platformą Java EE 5, a także analizę rozszerzeń interfejsów API. Zawiera praktyczne porady i wskazówki, dzięki którym szybko nauczysz się technik sterowania przechodzeniem pomiędzy stronami z wykorzystaniem frameworku Shale; poznasz sposoby zastępowania znaczników JSP znacznikami XHTML za pomocą technologii Facelets; do perfekcji opanujesz sztukę rozbudowy tej technologii o własne biblioteki. „Core JavaServer Faces” to doskonały, usystematyzowany zbiór najlepszych praktyk budowy oprogramowania, minimalizowania trwale kodowanych elementów i maksymalizacji produktywności.
* Komponenty zarządzane
* Zaawansowane techniki nawigacji
* Znaczniki i formularze
* Konwersja i weryfikacja poprawności danych
* Implementacja klas niestandardowych mechanizmów weryfikacji
* Powidoki i pakiet Apache Tiles
* Niestandardowe komponenty, konwertery i mechanizmy weryfikujące
* Eliminowanie wycieków połączeń
* Uzyskiwanie dostępu do informacji składowych w katalogach LDAP
* Implementacja mechanizmu weryfikacji w czasie rzeczywistym z wykorzystaniem frameworku Ajax4jsf
Zastosuj nowoczesne technologie JSP, aby w prosty sposób budować zaawansowane i sprawne aplikacje.
Naucz się tworzyć aplikacje dla systemu Windows oraz aplikacje WWW
* Projektowanie formularzy i korzystanie z kontrolek
* Komunikacja z bazami danych
* Tworzenie usług sieciowych
Visual Basic to jeden z najpopularniejszych obecnie języków programowania. Szerokie grono programistów opracowuje z jego pomocą aplikacje dla systemu Windows oraz aplikacje internetowe. Integracja z platformą .NET otwiera przed jego użytkownikami jeszcze większe możliwości. Dzięki ogromnej liczbie gotowych kontrolek i czytelnej składni pisanie aplikacji przebiega błyskawicznie. Programista może skoncentrować się na zadaniu, nie poświęcając zbyt wiele czasu na działania drugorzędne.
Książka "Visual Basic 2005. Programowanie" to podręcznik przedstawiający zasady tworzenia aplikacji dla Windows oraz aplikacji sieciowych w Visual Basicu. Nie znajdziesz tu teoretycznych wywodów i długich opisów. Od pierwszego rozdziału zaczniesz poznawać praktyczne aspekty programowania. Stworzysz aplikację operującą na danych pobieranych z bazy, aplikację internetową oraz usługi sieciowe. Wszystkie elementy języka Visual Basic poznasz, pracując nad konkretnym projektem.
* Projektowanie formularza i obsługa zdarzeń
* Dostęp do danych zgromadzonych w bazie
* Korzystanie z gotowych kontrolek i tworzenie własnych
* Tworzenie obiektów graficznych za pomocą biblioteki GDI+
* Budowanie aplikacji internetowej
* Strony wzorcowe i mechanizmy nawigacyjne
* Personalizacja aplikacji internetowej
* Korzystanie ze środowiska Visual Studio 2005
* Zasady programowania obiektowego
Jeśli chcesz szybko opanować metody tworzenia aplikacjiw języku Visual Basic 2005 -- koniecznie sięgnij po tę książkę.
C++Builder Borland Developer Studio 2006. Kompendium programistyWydawnictwo Helion
Jeden z najnowszych produktów firmy Borland, C++Builder Borland Developer Studio 2006, to połączenie nowoczesnego języka programowania, jakim jest C++, biblioteki komponentów wizualnych, zintegrowanego środowiska programistycznego oraz narzędzi służących do modelowania oprogramowania. Pomimo że zaimplementowana w C++Builder wersja języka C++ nie jest dokładnym odzwierciedleniem standardu ANSI, środowisko to zyskało duże uznanie wśród najlepszych programistów, doceniających jego uniwersalność i stabilność.
Książka "C++Builder Borland Developer Studio 2006. Kompendium programisty" przedstawia zasady programowania w języku C++ z wykorzystaniem narzędzia C++Builder 2006. Opisuje zarówno samo środowisko, jak i poszczególne elementy języka. Dzięki niej nauczysz się korzystać z języka UML używanego do projektowania aplikacji oraz dowiesz się, jak realizować projekty, wykorzystując język C++. Poznasz także nowoczesne metodologie tworzenia oprogramowania za pomocą narzędzi typu RAD.
* Środowisko C++Builder Borland Developer Studio 2006
* Podstawy języka UML
* Korzystanie z biblioteki STL
* Obsługa wyjątków
* Operacje na systemie plików
* Programowanie wielowątkowe
* Komponenty
* Programowanie grafiki
Poznaj potęgę języka C++i zdobądź szczególne umiejętności programowania.
Java. Obsługa wyjątków, usuwanie błędów i testowanie koduWydawnictwo Helion
W każdej aplikacji mogą wystąpić błędy.Przygotuj się na to pisząc odpowiednią obsługę wyjątków
* Poznaj techniki programowania, dzięki którym Twoje aplikacje staną się odporne na błędy
* Naucz się przewidywać błędy i zapobiegać ich występowaniu
* Zabezpiecz aplikacje przez skutkami wystąpienia błędów stosując odpowiednie wzorce projektowe
Żaden kod nie jest idealny -- nawet najbardziej doświadczony programista popełnia błędy. Tym, co w takich przypadkach wyróżnia doświadczonego programistę jest fakt, że jego aplikacje posiadają mechanizmy pozwalające na obsługę tych błędów. Dzięki nim program nie zawiesi się ani nie "pogubi" żadnych danych. Oczywiście, aby napisać odpowiednią obsługę wyjątków, należy poznać ich typy oraz mechanizmy ich powstawania. Niezbędna jest również znajomość wzorców projektowych oraz narzędzi do testowania kodu.
W książce "Java. Obsługa wyjątków, usuwanie błędów i testowanie kodu" znajdziesz wszystkie te informacje. Dowiesz się, jak zaimplementować obsługę wyjątków i poprawić jakość kodu źródłowego. Poznasz modele wyjątków i nauczysz się zarządzać mechanizmami ich obsługi na poziomie aplikacji i pojedynczych modułów. Przeczytasz tu także o wzorach projektowych zapewniających prawidłową obsługę wyjątków.
* Koncepcje obsługi wyjątków
* Obsługa wyjątków w aplikacjach wielowątkowych
* Przyczyny występowania wyjątków w różnych elementach języka Java
* Programowanie rozproszone w Javie
* Wyjątki w aplikacjach J2EE
* Wzorce projektowe
* Testowanie kodu i usuwanie błędów
Po przeczytaniu tej książki Twoja wiedza pozwoli Ci na podejmowanie odpowiednich decyzje dotyczące architektury aplikacji i odpowiadającego jej modelu wyjątków.
Poznaj zaawansowane możliwości najnowszej wersji CorelDraw i wykorzystaj je w swojej pracy.
CorelDraw to jedna z najdłużej rozwijanych i najpopularniejszych aplikacji graficznych. Każda kolejna wersja wprowadza ulepszenia i nowe możliwości. Po piętnastu latach od pojawienia się pierwszej wersji programu, wprowadzono na rynek jedenastą edycję CorelDRAW.
Książka "CorelDraw 11. Vademecum profesjonalisty" jest pozycją przeznaczoną dla grafików i ilustratorów, którzy chcą wykorzystać potężne możliwości tego programu w swojej codziennej pracy. Dzięki doświadczeniu Steve"a Baina dokładnie poznasz aplikację i i będziesz mógł wykorzystać setki wskazówek, które nauczą Cię uzyskiwać wspaniałe rezultaty.
W drugim tomie książki zawarto informacje o zaawansowanych możliwościach programu CorelDraw:
* Dokładny opis zmian i ulepszeń wprowadzonych w najnowszej wersji programu
* Omówienie efektów specjalnych: obwiedni, deformacji, metamorfozy, obrysu, cieni, soczewek i efektów przezroczystości
* Tworzenie obrazów trójwymiarowych; perspektywa
* Obsługa obiektów bitmapowych
* Drukowanie w CorelDraw, tworzenie rozbarwień
* Tworzenie elementów stron WWW
* Animacje w Corel R.A.V.E 2.0
* Rozbudowa możliwości Corela za pomocą VisualBasic for Applications, makropolecenia
* Dodatek podsumowujący skróty klawiaturowe
Materiał zawarty w niniejszej książce został opracowany w taki sposób, by opisywane funkcje programu CorelDRAW stały się zrozumiałe dla wszystkich użytkowników, bez względu na zakres posiadanej wiedzy: od początkujących po zaawansowanych. Tom drugi jest skierowany w pierwszym rzędzie do tej drugiej grupy. Jeśli profesjonalnie zajmujesz się grafiką komputerową, uczestniczysz w procesie przygotowania publikacji do druku i chcesz wykorzystać w tym celu potencjał CorelDraw -- "CorelDraw 11. Vademecum profesjonalisty. Tom II" stanowi dla Ciebie lekturę obowiązkową.
SISS Magdalena Kostulska "Współpraca z biznesem" / "Cooperation with business"UNDP_Poland
Szkoła Letnia Innowacji Społecznych dla pracowników i pracowaniczek Osrodków Wsparcia Ekonomii Społecznej z województw: podlaskiego, lubelskiego i podkarpackiego, realizowana w ramach projektu "Zintegrowany system wsparcia ekonomii społecznej" - 25-30 sierpnia 2012, Nasutów.
Social Innovation Summer School for Social Economy Support Centers. August 25-30, 2012
Integrated System of Support to Social Economy (EU).
Thesis consisted of two parts. In the first one static strength of wooden sample was obtained experimentally, analytically and numerically (FEM, ANSYS). Mathematical model assumed that the specimen is a bended composite plate with orthotropic properties. Based on those results dynamic behaviour of skateboard was obtained in the second part.
Acciza returnata la trimestru
Afla ce prevede procedura de returnare ca ajutor de stat a celor 4 centi din acciza, ce afirma Dorin Stefan, Inspector de Stat Sef in cadrul ISCTR, cu privire la utilizarea magnetului si informeaza-te in legatura cu tensiunile în crestere in relatie cu Turcia.
Citeste despre ultimele noutati în materie de securitate privind condamnarea a 15 „acrobati” si pune-te la curent cu metodele de reducere a costurilor pe care le ofera vehiculele comerciale.
Afla ce investitii se fac în piata de logistica, cum se implementeaza un WMS si ce se întâmpla pe segmentul de transport persoane cu atribuirea traseelor metropolitane.
Профілактика та подолання професійного та емоційного вигоранняUNDP Ukraine
На замовлення Програми розвитку ООН в рамках проекту "Підтримка реформи соціального сектору в Україні" були розроблені Методичні рекомендації "Профілактика та подолання професійного та емоційного вигорання".
Ці рекомендації можуть бути корисними для представників системи професій «людина-людина», а особливо для працівників соціальних служб, з метою запобігання професійним ризикам та професійної підтримки на робочому місці.
Era e-biznesu, w którą wkracza światowa gospodarka, pociąga za sobą konieczność integracji złożonych systemów informatycznych. Usługi WWW (webservices) mają na tym polu do odegrania ważną rolę. Dzięki nim aplikacje mogą komunikować się z innymi aplikacjami poprzez Interenet za pomocą standardowych protokołów, niezależnie od tego, w jakim języku zostały napisane i na jakiej platformie je uruchomiono.
Książka "Java. Usługi WWW. Vademecum profesjonalisty " przeznaczona jest dla programistów mających pewne doświadczenie w pisaniu aplikacji działających w Internecie. Jej celem jest zapoznanie Czytelnika z pojęciem usług WWW oraz wszystkimi elementami potrzebnymi do ich wykorzystania w biznesie. Poznasz założenia technologii usług WWW i schemat zależności pomiędzy nowymi standardami, takimi jak Simple Object Access Protocol (SOAP), Web Services Description Language (WSDL) oraz Universal Description Discovery and Integration (UDDI). Dzięki przykładom kodu szybko nauczysz się implementować usługi WWW w języku Java.
* Dowiesz się, jakie są ogólne założenia architektury usług WWW
* Poznasz język XML będący podstawą innych standardów, wykorzystywanych do budowy usług WWW
* Zaznajomisz się ze standardem SOAP i poznasz jego zastosowania w e-biznesie
* Stworzysz własne usługi WWW w oparciu o Apache Axis i Javę
* Nauczysz się opisywać usługi WWW, tak by mogły być automatycznie wyszukiwane przez aplikacje
* Poznasz najważniejsze platformy, na których buduje się usługi sieciowe: J2EE, .NET, a także moduły SOAP::Lite (Perl) i platformę GLUE
"Java. Usługi WWW. Vademecum profesjonalisty" to książka, która nie tylko przedstawia całą dzisiejszą wiedzę na ten temat, ale także prezentuje praktyczne sposoby jej wykorzystania. Jeśli chcesz być na bieżąco ze światowymi trendami w integrowaniu złożonych aplikacji biznesowych -- musisz ją przeczytać.
Przyspiesz tworzenie aplikacji w Javie
* Uprość określanie zależności pomiędzy klasami
* Zastosuj narzędzie Hibernate do usprawnienia komunikacji z bazami danych
* Wykorzystaj możliwości programowania aspektowego
Technologia J2EE miała w założeniu być prosta i szybka w użytkowaniu. Praktyka jednak okazała się daleka od teorii. Mozolne tworzenie aplikacji wykorzystujących dziesiątki interfejsów połączonych wzajemnymi zależnościami, setki deskryptorów wdrożenia oraz plików pomocniczych spowodowało, że zaczęto poszukiwać rozwiązań alternatywnych. Jednym z nich okazał się framework Spring, zyskujący coraz większą popularność wśród programistów Javy. Spring jest znacznie dużo prostszy od wielu alternatywnych rozwiązań J2EE, znacznie ułatwia testowanie aplikacji, i pozwala na usuwanie zależności z kodu oraz oddzielanie ich od serwera aplikacji. Spring umożliwia również wykorzystanie programowania aspektowego.
Książka "Spring. Zapiski programisty" to praktyczny przewodnik po możliwościach tego środowiska. Jeśli wolisz poznawać nowe zagadnienia w sposób praktyczny, a nie wertując setki stron zapełnionych teoretycznymi wywodami, to ta książka jest właśnie dla Ciebie. Znajdziesz w niej omówienie zagadnień związanych z samym Springiem, współpracującymi z nim narzędziami i sposobami wykorzystania ich w procesie tworzenia aplikacji J2EE -- począwszy do graficznego interfejsu użytkownika i interfejsu sieciowego, a skończywszy na dostępie do relacyjnych baz danych.
* Tworzenie klas z zastosowaniem zależności
* Budowanie interfejsu użytkownika
* Integrowanie JSF z frameworkiem Spring
* Dostęp do baz danych za pomocą JDBC
* Odwzorowanie baz danych na obiekty za pomocą Hibernaete
* Obsługa i zabezpieczanie transakcji
* Wysyłanie i odbieranie wiadomości e-mail
Jeśli poszukujesz wydajniejszych metod tworzenia aplikacji J2EE, wykorzystaj możliwości frameworka Spring. Dzięki tej książce poznasz je wszystkie.
Wcześniejsze wersje języka Visual Basic tworzone były z myślą o projektowaniu aplikacji klienckich Microsoft® Windows®. Tworząc Visual Basic .NET, pomyślano także o zastosowaniu tego języka do tworzenia aplikacji internetowych i serwisów XML. Właśnie dlatego Visual Basic .NET generuje kod dla wspólnego środowiska uruchomieniowego, co spowodowało wprowadzenie zmian w obrębie samego języka.
Książka zawiera szczegółowe omówienie wszystkich elementów języka Visual Basic .NET opisanych w oficjalnej, elektronicznej dokumentacji. Jeżeli zajmujesz się programowaniem w VB .NET możesz być pewien, że szybko nie odłożysz jej na półkę.
Poznaj wszystkie szczegóły języka i środowiska uruchomieniowego:
* Atrybuty
* Stałe
* Typy danych
* Dyrektywy
* Funkcje
* Słowa kluczowe
* Metody
* Obiekty
* Operatory
* Właściwości
* Polecenia
Visual Basic .NET został zaprojektowany jako najprostsze, a przy tym efektywne narzędzie do tworzenia aplikacji i serwisów Microsoft .NET. Użyj Encyklopedii, a poznasz moc i elastyczność tego języka.
Poznaj tajniki najpopularniejszego języka programowania
w erze Internetu
Chyba wszyscy użytkownicy internetu spotkali się z Javą, często nawet o tym nie wiedząc. W ciągu ostatnich 10 lat zyskała ona ogromną popularność, szczególnie wśród programistów aplikacji sieciowych. Jednakże kojarzenie jej z językiem przeznaczonym wyłącznie do tworzenia takich programów jest dużym błędem. Java to w pełni funkcjonalny i doskonale dopracowany język programowania, nadający się do tworzenia różnych aplikacji, a nie tylko apletów działających na stronach internetowych.
W Javie pisane są gry sieciowe, systemy bankowości elektronicznej, pakiety wspomagające sprzedaż i obsługę klienta, a nawet aplikacje działające w telefonach komórkowych i komputerach przenośnych. Podstawową zaletą języka Java jest przenośność kodu -- raz napisany program można uruchomić na każdym urządzeniu, na którym zainstalowane jest odpowiednie środowisko uruchomieniowe, zwane JRE.
Książka "Praktyczny kurs Java" przeznaczona jest dla osób rozpoczynających swoją przygodę z programowaniem w tym języku. Opisuje podstawy języka, zasady programowania obiektowego i tworzenia własnych apletów i aplikacji. Czytając kolejne rozdziały, dowiesz się:
* Jakie typy danych wykorzystywane są w Javie
* Jak deklarować zmienne i wyprowadzać ich wartości na ekran
* W jaki sposób sterować przebiegiem wykonywania programu
* Jakie zasady rządzą programowaniem obiektowym
* Czym są klasy, obiekty, argumenty i metody
* Co to są wyjątki i jak je obsługiwać w programie
* Jak wykorzystać zaawansowane techniki programowania obiektowego w swoich aplikacjach
* W jaki sposób uzyskiwać dostęp do systemu plików z poziomu swojej aplikacji
* Jak tworzyć aplety i samodzielne aplikacje
Zapoznaj się z podstawami programowania w Javie i naucz się zasad programowania obiektowego, a także dowiedz się, czym są wyjątki w Javie i stwórz własne aplety i aplikacje.
C++ wspomaga programowanie w dużej skali, pozwalając na precyzyjne wyrażenie współzależności pomiędzy różnymi częściami programu. Dlatego zakres pojęciowy techniki i stylu programowania w C++ wykracza poza tradycyjne jego pojmowanie w odniesieniu do programowania w małej skali, sprowadzającego się do szczegółów kodowania wiersz po wierszu.
Autor dowodzi, że nieprzemyślane stosowanie złożonych i zaawansowanych technik programowania może prowadzić do tworzenia chaotycznych, niezrozumiałych i mętnych konstrukcji, stanowiących zarazem często rozwiązania mniej efektywne, niż prostsze i zrozumiałe konstrukcje alternatywne. Tom Cargill dokonuje przeredagowania licznych programów, stosując techniki pozwalające na udoskonalenie kodu, począwszy od poprawy spójności, po usunięcie zbędnego, nadmiarowego dziedziczenia. Sposób prezentacji zagadnień rozpoczyna się od przeglądu oryginalnego kodu, który możesz samodzielnie ocenić i przeanalizować, rozważając możliwe alternatywne podejścia do przedstawionych zagadnień programistycznych. Te własne przemyślenia możesz następnie porównać z analizami i wnioskami Autora.
Na podstawie przykładów formułowane są uniwersalne reguły i zasady tworzenia kodu i projektowania programów. Zrozumienie i umiejętne stosowanie tych reguł pomoże profesjonalnym programistom projektować i pisać lepsze programy w C++.
Kolejne rozdziały poświęcone są następującym zagadnieniom:
* Abstrakcja -- pojęcia i modele abstrakcyjne
* Spójność
* Zbędne dziedziczenie
* Funkcje wirtualne
* Przeciążanie operatorów
* Nakładki typu "wrapper"
* Efektywność
Po wprowadzeniu i zilustrowaniu reguł programowania w pierwszych siedmiu rozdziałach, Tom Cargill prezentuje praktyczne studium, w trakcie którego pojedynczy przykładowy program przechodzi kolejne transformacje, które pozwalają poprawić jego ogólną jakość przy jednoczesnym zredukowaniu wielkości kodu. Konkluzję książki stanowi rozdział poświęcony wielokrotnemu dziedziczeniu.
Książka Toma Cargilla to nie tylko cenne źródło wiedzy dla zaawansowanych programistów -- przyda się ona również studentom informatyki i pokrewnych kierunków, zainteresowanych zdobyciem profesjonalnych umiejętności programistycznych.
Visual C# 2008. Projektowanie aplikacji. Pierwsze starcieWydawnictwo Helion
Czysta przyjemność tworzenia… projektowanie aplikacji w przyjaznym środowisku Visual C# 2008
* Visual C# bez tajemnic, czyli jak zapanować nad całością projektu
* Biblioteki Windows Forms i Windows Presentation Foundation, czyli jak budować aplikacje okienkowe
* Najświeższe innowacje platformy .NET 3.0, czyli jak używać XAML
Środowisko programistyczne Visual C#, będące elementem szerszego pakietu Microsoft Visual Studio 2008, jest obecnie najczęściej wykorzystywanym środowiskiem służącym do projektowania aplikacji na platformy .NET 2.0, 3.0 i 3.5. Ułatwia ono zarówno pisanie kodu C#, jak i projektowanie graficznego interfejsu programu, zapewniając łatwą edycję kodu, wizualizację oraz możliwość kontrolowanego uruchamiania przygotowywanej aplikacji. Wspomaga także programistę w usuwaniu błędów kodu oraz oferuje mu dwie biblioteki kontrolek (Windows Forms i Windows Presentation Foundation), które pozwalają na bezproblemową budowę graficznego interfejsu użytkownika (także zgodnego ze stylem używanym w systemie Windows Vista). Pakiet Visual Studio 2008 oferuje również łączenie kontrolek danych z bazami danych SQL Server i Access oraz wykorzystanie ogromnych możliwości plików XML.
Książka „Visual C# 2008. Projektowanie aplikacji. Pierwsze starcie” ma za zadanie bezboleśnie i szybko wprowadzić Cię w arkana działania środowiska Visual C#, jak również udostępnić Ci wszelkie informacje dotyczące zachodzących w nim zmian. To znacznie ułatwi Ci projektowanie aplikacji w przyszłości. Podzielona na trzy odrębne części tematyczne, poświęcone kolejno podstawom poruszania się w tym środowisku, bibliotece Windows Forms oraz nowej bibliotece Windows Presentation Foundation, jest w istocie zbiorem praktycznych ćwiczeń opatrzonych komentarzami. Pozbawiona zbędnych opisów i dywagacji teoretycznych, zawiera jednak krótkie objaśnienia wszelkich trudniejszych kwestii. Zaopatrzono ją także w dodatki przeznaczone dla osób rozpoczynających dopiero naukę programowania.

* Projektowanie interfejsu aplikacji
* Analiza kodu i usuwanie błędów
* Aplikacje Windows Forms
* Techniki programowania
* Operacje na plikach XML
* Biblioteka ADO.NET i baza danych Server SQL
* .NET 2.0, .NET 3.0 - podobieństwa i różnice
* WPF i XAML - nowe narzędzia wizualizacji
* Elementy zagnieżdżone
* Transformacje i animacje
* Język C# 2.0 i kolekcje
* Projektowanie zorientowane obiektowo w C# 2.0
* Podstawy SQL
Programowanie będzie łatwiejsze, jeśli dobrze poznasz najnowszą wersję środowiska Visual C# 2008!
Większości użytkowników Excel kojarzy się wyłącznie z arkuszem kalkulacyjnym używanym w biurach. Zdecydowanie mniej osób wie, że Excel jest również potężnym narzędziem programistycznym, za pomocą którego projektuje się rozbudowane aplikacje, wyposażone w graficzne interfejsy użytkownika i korzystające z danych zewnętrznych, języka XML i usług sieciowych. Dzięki językowi Visual Basic for Applications (VBA) można tworzyć na bazie Excela profesjonalne narzędzia bardzo dobrej jakości.
Książka "Excel. Programowanie dla profesjonalistów" to podręcznik poświęcony projektowaniu aplikacji w środowisku Excela, adresowany do doświadczonych użytkowników tego narzędzia oraz programistów. Autorzy krok po kroku wyjaśniają, jak tworzyć dodatki, implementować usługi sieciowe, projektować formularze userform. Uczą konstruowania wykresów i obsługi błędów, pokazują, w jaki sposób zoptymalizować wydajność aplikacji i jak je dystrybuować.
* Najlepsze praktyki programistyczne w Excelu i VBA
* Projektowanie arkusza
* Tworzenie dodatków
* Sterowanie paskami narzędzi
* Korzystanie z funkcji Windows API
* Budowanie interfejsów użytkownika
* Połączenia z bazami danych
* Usuwanie błędów z kodu źródłowego
* Sterowanie innymi aplikacjami MS Office
* Korzystanie z funkcji Visual Basic 6 i VB.NET
* Połączenia z usługami sieciowymi
* Tworzenie wersji dystrybucyjnej aplikacji
Poznaj zasady tworzenia aplikacji przy użyciu Excela -- z tych narzędzi korzystają największe firmy świata.
Rozpocznij przygodę z programowaniem w Visual Basicu
* Poznaj podstawy języka Visual Basic
* Napisz aplikacje dla systemu Windows i urządzeń przenośnych
* Stwórz usługi sieciowe i aplikacje WWW
Visual Basic jest jednym z najpopularniejszych języków programowania, stosunkowo łatwym do opanowania i bardzo uniwersalnym. Za jego pomocą można tworzyć aplikacje dla systemu Windows, aplikacje sieciowe i programy dla urządzeń mobilnych. Integracja Visual Basica z oferowanymi przez platformę .NET klasami bazowymi otworzyła przed programistami nowe możliwości. Obecnie jest to w pełni obiektowy język programowania umożliwiający wykorzystanie ogromnego potencjału tkwiącego w nowoczesnych platformach programistycznych.
Dzięki książce "Visual Basic 2005. Od podstaw" poznasz wszystkie zagadnienia niezbędne do tworzenia własnych aplikacji w tym języku. Dowiesz się, na czym polega programowanie obiektowe, jakie są główne elementy języka Visual Basic i jak stosować je w praktyce. Nauczysz się tworzyć okna dialogowe, menu i formularze, łączyć aplikacje z bazami danych, budować aplikacje WWW i usługi sieciowe. Poznasz wszystkie zastosowania Visual Basica.
* Instalacja Visual Basica 2005
* Podstawowe elementy i struktury języka
* Tworzenie okien dialogowych i formularzy
* Wyszukiwanie i usuwanie błędów
* Zasady programowania obiektowego
* Tworzenie własnych kontrolek
* Dostęp do baz danych za pomocą ADO.NET
* Aplikacje WWW
* Korzystanie z plików XML
Zostań profesjonalnym programistą Visual Basic.
Praktyczne zastosowania technologii, która zrewolucjonizowała aplikacje sieciowe
* Podstawy Ajaksa
* Metodologie tworzenia aplikacji internetowych
* Optymalizacja i zabezpieczanie aplikacji
Ajax to technologia tworzenia aplikacji i witryn WWW, która zyskuje coraz większe uznanie wśród programistów. Dzięki połączeniu języków JavaScript i XML z asynchroniczną komunikacją między przeglądarką i serwerem twórcom tej technologii udało się wyeliminować podstawową wadę aplikacji bazujących na przeglądarce internetowej, czyli konieczność oczekiwania na "przeładowanie" strony. Ajax sprawia, że niezbędne dane są pobierane w tle. Zastosowanie tej technologii powoduje, że aplikacje sieciowe pod względem obsługi coraz bardziej przypominają tradycyjne programy. Efekty działania Ajaksa można zaobserwować na coraz większej ilości witryn WWW.
"Ajax w akcji" to praktyczny przewodnik po zagadnieniach związanych z projektowaniem witryn i aplikacji WWW w tej technologii. Czytając go, poznasz genezę Ajaksa i podstawy korzystania z niego. Nauczysz się stosować wzorce projektowe, model MVC oraz frameworki i biblioteki wspomagające tworzenie witryn WWW. Przeczytasz o profesjonalnych technikach budowania aplikacji sieciowych i zastosujesz je w praktyce, pisząc własne systemy. Znajdziesz tu również informacje o optymalizowaniu wydajności aplikacji oraz tworzeniu mechanizmów zabezpieczeń. Dzięki przykładom zgromadzonym w kolejnych rozdziałach książki, takim jak dynamiczna lista rozwijana, mechanizm podpowiedzi, rozbudowany portal sieciowy oraz interfejsy użytkownika, poznasz praktyczne aspekty stosowania Ajaksa w projektach.
* Podstawowe zastosowania Ajaksa
* Dostosowywanie istniejących aplikacji do Ajaksa
* Wzorzec MVC w aplikacjach
* Biblioteki i frameworki wspomagające pracę nad aplikacjami
* Oddzielanie logiki od widoku
* Wymiana danych pomiędzy przeglądarką i serwerem
* Zabezpieczanie aplikacji
* Optymalizacja wydajności
Twórz aplikacje, które będą nie tylko funkcjonalne, ale również wygodne w obsłudze.
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.
Podnieś wydajność Visual Studio i przyspiesz swoją pracę
* Efektywne zarządzanie projektami i kodem źródłowym
* Tworzenie i wykorzystywanie makroinstrukcji
* Wyszukiwanie i usuwanie błędów w kodach
Visual Studio to jedno z najpopularniejszych środowisk programistycznych. Za jego pomocą można tworzyć programy w kilku językach, a łatwość obsługi sprawia, że już po kilku godzinach pracy jego użytkownik sprawnie porusza się po interfejsie i wykorzystuje większość jego możliwości. Visual Studio oferuje ogromną liczbę funkcji, pozwala na wszechstronną konfigurację, umożliwia automatyzację zadań i posiada wiele innych cech podnoszących komfort pracy programisty. Środowisko to posiada jednak wiele innych ciekawych cech i możliwości, których opisu nie znajdziemy w dokumentacji.
Książka "100 sposobów na Visual Studio" to unikatowy zbiór 100 wskazówek opracowanych przez programistów używających tego narzędzia w codziennej pracy i znających wszystkie jego tajniki. Opisuje funkcje, dodatki, makra oraz rozszerzenia, które pozwalają w jeszcze większym stopniu rozszerzyć funkcjonalność tego środowiska. Wykorzystywanie zawartych tu informacji pozwoli każdemu użytkownikowi Visual Studio na przyspieszenie swojej pracy i uczynienie jej bardziej efektywną dzięki zastosowaniu jego mniej znanych, a bardzo przydatnych funkcji.
* Zarządzanie plikami projektów
* Konfigurowanie edytora kodu źródłowego i przestrzeni roboczej
* Refaktoryzacja kodu
* Zapisywanie i przenoszenie ustawień środowiska
* Dostosowywanie procesu kompilacji i wykrywania błędów
* Wykorzystywanie szablonów i makr
* Stosowanie komentarzy XML
* Automatyzacja poleceń
Pisanie doskonałego oprogramowania wymaga opanowania wszystkich możliwości środowiska programistycznego. Dzięki tej książce Visual Studio odkryje wszystkie swoje tajemnice.
Programowanie obiektowe w Visual Basic .NET dla każdegoWydawnictwo Helion
Visual Basic to język programowania pozwalający nawet początkującym programistom pisać zaawansowane aplikacje wykorzystujące wszystkie możliwości systemów operacyjnych z rodziny Windows. Jego kolejne wersje w coraz większym stopniu korzystały z technik programowania zorientowanego obiektowo (OOP). Najnowsza z nich, Visual Basic .NET jest uwieńczeniem tej ewolucji.
Jeśli chcesz tworzyć aplikacje w VB .NET, musisz nauczyć się programować obiektowo. Z pewnością pomoże Ci w tym książka „Programowanie obiektowe w Visual Basic .NET”. Informacje w niej zawarte przydadzą się także, gdy zaczniesz używać innych języków programowania opartych na obiektach, takich jak C++, C# czy Java.
Ten podręcznik, łączący praktyczne ćwiczenia z niezbędną dawką przydatnej teorii, nauczy Cię samodzielnie tworzyć aplikacje używające obiektów, dziedziczenia, poliformizmu i sterowania za pomocą zdarzeń. Dowiesz się również jak obsługiwać błędy. Odrębne rozdziały poświęcono obiektom zdalnym (aplikacjom klient-serwer), udostępnianiu aplikacji poprzez Internet tworzeniu atrakcyjnego interfejsu użytkownika oraz językowi XML. Poznasz także środowisko projektowe Visual Studio .NET. Swoją wiedzę będziesz mógł sprawdzić za pomocą licznych quizów.
Książka zawiera:
* Wprowadzenie do programowania obiektowego w Visual Basic .NET
* Wyjaśnienie terminologii związanej z programowaniem obiektowym
* Omówienie środowiska Visual Studio .NET oraz tworzenia interfejsów użytkownika za pomocą Windows Forms i WebForms
* Praktyczne ćwiczenia i quizy sprawdzające wiedzę
SolidWorks 2006 to aplikacja do modelowania 3D przeznaczona dla konstruktorów, oferująca uniwersalny zestaw narzędzi do modelowania powierzchniowego i bryłowego. Kolejne wersje tej aplikacji już tradycyjnie wytyczają nowe trendy wśród programów z tej grupy. Niezwykle intuicyjna obsługa programu, bazująca na znanych z systemu Windows mechanizmach "przeciągnij i upuść", pozwala nawet początkującym użytkownikom osiągnąć biegłość w ciągu kilku tygodni. Ogromna liczba narzędzi i modułów wspomagających sprawia, iż program ten doskonale wspomaga pracę projektanta. Wielką zaletą programu jest również możliwość wymiany plików z wieloma aplikacjami CAD/CAM/CAE, co umożliwia współpracę w ramach nawet największych zespołów projektowych.
Książka "SolidWorks 2006 w praktyce" to podręcznik dla początkujących użytkowników tej potężnej aplikacji. Przedstawia na przykładach zasady korzystania z SolidWorks 2006. Czytając ją, poznasz interfejs użytkownika i dostosujesz go do własnych potrzeb, a także nauczysz się wykorzystywać narzędzia do modelowania. Dowiesz się, w jaki sposób tworzyć części i złożenia, przeprowadzać analizy wytrzymałościowe metodą elementów skończonych za pomocą modułu CosmosXpress oraz jak ustrzec się błędów w projekcie, wykorzystując możliwość projektowania w przestrzeni. Dzięki zawartym w niej ćwiczeniom nauczysz się budować nawet najbardziej złożone konstrukcje.
* Konfigurowanie środowiska pracy
* Zarządzanie plikami danych
* Szkicowanie na płaszczyźnie oraz w przestrzeni
* Wymiarowanie w dwóch i trzech wymiarach
* Tworzenie brył części oraz elementów powierzchniowych
* Przygotowanie modelu formy wtryskowej na podstawie szkicu koncepcyjnego
* Tworzenie złożeń części oraz projektowanie "na złożeniu"
* Symulacja rozpływu masy w formie wtryskowej
* Obliczenia wytrzymałościowe
* Renderowanie projektów
* Tworzenie dokumentacji technicznej
Wykorzystaj nowoczesne narzędzia wspomagające pracę konstruktora i twórz, skupiając się na projekcie, a nie na narzędziu do projektowania.
Poznaj nowoczesną metodykę wytwarzania oprogramowania w C#
* Jak stosować w praktyce zasady zwinnego wytwarzania oprogramowania?
* W jaki sposób wykorzystywać w projekcie diagramy UML?
* Jak korzystać z wzorców projektowych?
W związku ze stale rosnącymi oczekiwaniami użytkowników oprogramowania produkcja systemów informatycznych wymaga dziś korzystania z usystematyzowanych metod zarządzania. Projekt informatyczny, przy którym nie używa się sensownej metodologii wytwarzania, jest skazany na porażkę -- przekroczenie terminu, budżetu i niespełnienie wymagań funkcjonalnych. Kierowanie projektem zgodnie z określonymi zasadami również nie gwarantuje sukcesu, lecz znacznie ułatwia jego osiągnięcie. Na początku roku 2001 grupa ekspertów zawiązała zespół o nazwie Agile Alliance. Efektem prac tego zespołu jest metodologia zwinnego wytwarzania oprogramowania -- Agile.
Książka "Agile. Programowanie zwinne: zasady, wzorce i praktyki zwinnego wytwarzania oprogramowania w C#" to podręcznik metodologii Agile przeznaczony dla twórców oprogramowania korzystających z technologii .NET. Dzięki niemu poznasz podstawowe założenia i postulaty twórców Agile i nauczysz się stosować je w praktyce. Dowiesz się, jak szacować terminy i koszty, dzielić proces wytwarzania na iteracje i testować produkt. Zdobędziesz wiedzę na temat refaktoryzacji, diagramów UML, testów jednostkowych i wzorców projektowych. Przeczytasz także o publikowaniu kolejnych wersji oprogramowania.
* Techniki programowania ekstremalnego
* Planowanie projektu
* Testowanie i refaktoryzacja
* Zasady zwinnego programowania
* Modelowanie oprogramowania za pomocą diagramów UML
* Stosowanie wzorców projektowych
* Projektowanie pakietów i komponentów
Przekonaj się, ile czasu i pracy zaoszczędzisz,
stosując w projektach metodologię Agile.
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
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.
Wyczerpujące omówienie wszystkich zagadnieńzwiązanych z Visual Basic .NET 2003
* Poznaj elementy języka Visual Basic .NET
* Napisz aplikacje dla środowiska Windows oraz aplikacje WWW
* Wykorzystaj technologię ADO.NET do tworzenia połączeń z bazami danych
* Podnieś bezpieczeństwo aplikacji
Visual Basic to jeden z najpopularniejszych języków programowania. Jego pojawienie się na rynku zrewolucjonizowało proces tworzenia aplikacji dla Windows -- model programowania był tak prosty, że pozwalał nawet niezbyt wprawnym programistom na tworzenie rozbudowanych aplikacji. Kolejne wersje tego języka programowania posiadały coraz większe możliwości. Ukoronowaniem rozwoju Visual Basica było umieszczenie go w środowisku .NET jako jednego z dostępnych w nim języków programowania. Dzięki integracji z .NET Visual Basic stał się w pełni obiektowym językiem, pozwalającym na zrealizowanie zarówno prostych aplikacji Windows i WWW, jak i złożonych wielowątkowych systemów rozproszonych.
Książka "Microsoft Visual Basic .NET 2003. Księga eksperta" przedstawia wszystko, co jest związane z językiem Visual Basic 2003 oraz tworzeniem za jego pomocą aplikacji w środowisku .NET. Opisuje podstawy języka, zasady programowania w nim oraz techniki obiektowe. Czytając ją, dowiesz się, jak tworzyć aplikacje dla systemu Windows oraz aplikacje WWW, łączyć aplikacje z bazami danych, zabezpieczać je i zwiększać ich wydajność. Nauczysz się stosować usługi sieciowe do przesyłania danych przez sieć i łączenia aplikacji z innymi. Poznasz wszystkie nowoczesne metody programowania.
* Składniki platformy .NET
* Podstawy języka Visual Basic i programowania obiektowego
* Tworzenie aplikacji Windows Forms
* Korzystanie z funkcji graficznych
* Budowanie wersji instalacyjnych
* Połączenia z bazami danych za pomocą ADO.NET oraz języka XML
* Tworzenie aplikacji WWW z wykorzystaniem ASP.NET
* Operacje wejścia i wyjścia
* Programowanie wielowątkowe
* Zabezpieczanie aplikacji
* Usługi sieciowe
Wykorzystaj ogromne możliwości środowiska .NETi stwórz wydajne, stabilne i bezpieczne aplikacje.
Java w komercyjnych usługach sieciowych. Księga ekspertaWydawnictwo Helion
Usługi WWW to ostatni krzyk programistycznej mody. W największym skrócie polegają one na udostępnianiu w sieci Internet dynamicznych aplikacji sieciowych. Ten jednozdaniowy opis nie przekazuje całego potencjału usług WWW. Jest on ogromny. Dzięki usługom WWW aplikacje łączą się na niespotykaną do tej pory, globalną skalę. Już obecnie skorzystać można z setek usług WWW. Dzięki nim uzyskasz między innymi informacje finansowe, przeszukasz Internet, przeprowadzisz konwersję między różnymi formatami dokumentów, a nawet rozegrasz partię szachów z komputerem.
Java -- dzięki doskonałemu wsparciu dla XML-a jest jedną z najlepszych platform do implementacji usług WWW. Książka stanowi wyczerpujące, dokładne i -- co równie ważne -- aktualne kompendium, zawierające informacje niezbędne, by wykorzystać istniejące i stworzyć nowe usługi WWW.
W książce przedstawiono między innymi:
* Przykłady zastosowań usług WWW
* Biznesowe aspekty tworzenia usług WWW
* WDSL -- język opisu usług sieciowych
* SOAP -- protokół wymiany komunikatów
* UDDI -- format katalogowania usług WWW
* Wykorzystanie pakietu JAX do tworzenia usług WWW
* Zagadnienia związane z bezpieczeństwem
* Dodatkowe formaty używane w kontekście usług WWW: WSFL, WSIF
* Przykładowe implementacje usług WWW
Księga eksperta kierowana jest średnio zaawansowanym i zaawansowanych programistom, którzy pragną poznać najnowocześniejsze technologie, przedstawione w sposób kompletny i wyczerpujący.
C++ to popularny i uniwersalny język programowania. Jednak po dłuższym stosowaniu programiści zaczynają zauważać pewne jego niedoskonałości i ograniczenia. System typów, sposób działania niektórych kompilatorów, związki pomiędzy wskaźnikami i tablicami, nieprzewidziane w standardzie zachowania obiektów statycznych i bibliotek dynamicznych to tylko niektóre z nich. Aby je obejść, należy wykorzystywać wiele bardzo zaawansowanych i nieznanych wielu programistom metod.
Książka "Język C++. Gotowe rozwiązania dla programistów" to podręcznik dla tych programistów C++, którzy zaczęli już dostrzegać ograniczenia tego języka i zastanawiają się, jak sobie z nimi poradzić. Autor pokazuje sposoby ujarzmienia złożoności języka i uzyskania pełnej kontroli nad kodem. Przedstawia najpoważniejsze wady C++ i sposoby rozwiązywania powodowanych przez nie problemów. Opisuje również metody tworzenia stabilniejszego, bardziej uniwersalnego, wydajniejszego i łatwiejszego w pielęgnacji kodu.
* Wymuszanie założeń projektowych
* Cykl życia obiektów
* Hermetyzacja zasobów, danych i typów
* Modele dostępu do obiektów
* Obsługa wątków
* Korzystanie z obiektów statycznych
* Konwersja danych i typów
* Zarządzanie pamięcią
* Sterowanie działaniem kompilatora
Wszyscy programiści, niezależnie od stopnia zaawansowania, znajdą w tej książce wiadomości, które usprawnią i przyspieszą ich pracę.
Visual Basic 2005 nie jest tak rewolucyjnym produktem, jak Visual Basic .NET. Opracowując wersję 2005, twórcy języka skoncentrowali się na usunięciu błędów i usterek oraz zwiększeniu komfortu pracy programisty. Narzędzia i kontrolki, w które wyposażono zarówno najnowszą wersję Visual Basica, jak i środowisko programistyczne Visual Studio 2005, pozwalają znacznie przyspieszyć pisanie kodu. Jednocześnie został zachowany dostęp do wszystkich możliwości platformy .NET.
Książka "Visual Basic 2005. Zapiski programisty" to zbiór notatek spisanych przez programistów analizujących tę wersję języka. Zawiera ćwiczenia ilustrujące nowe funkcje Visual Basica 2005, platformy .NET Framework 2.0 i środowiska programistycznego Visual Studio 2005. Programiści korzystający z wcześniejszych wersji tych narzędzi szybko opanują nowe funkcje, takie jak definiowanie klas generycznych czy korzystanie z obiektów My. Godne odnotowania jest także znaczne przyspieszenie i udoskonalenie technologii ASP.NET.
* Edycja kodu w Visual Studio 2005
* Tworzenie dokumentacji w formacie XML
* Korzystanie z obiektów My
* Definiowanie klas generycznych
* Tworzenie aplikacji dla środowiska Windows oraz aplikacji WWW
* Projektowanie formularzy
* Komunikacja z bazami danych
* Wdrażanie aplikacji za pomocą technologii ClickOnce
Dzięki tej książce najnowsza wersja Visual Basica odsłania swoje tajemnice.
Similar to J2EE. Stosowanie wzorców projektowych (20)
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 J2EE. Stosowanie
wzorców projektowych
KATALOG KSI¥¯EK
Autorzy: William Crawford, Jonathan Kaplan
KATALOG ONLINE T³umaczenie: Jaromir Senczyk
ISBN: 83-7361-428-1
Tytu³ orygina³u: J2EE Design Patterns
ZAMÓW DRUKOWANY KATALOG Format: B5, stron: 392
Przyk³ady na ftp: 208 kB
TWÓJ KOSZYK
Wzorce projektowe to opisy poprawnych rozwi¹zañ problemów, na które napotkali
DODAJ DO KOSZYKA programi ci w swojej pracy. Pozwalaj¹ unikn¹æ pracy nad rozwi¹zaniem zagadnienia,
które ju¿ dawno zosta³o rozwi¹zane. Jednak nawet najwiêkszy zestaw wzorców
projektowych jest nieprzydatny, je li nie wiadomo, jak zastosowaæ je w okre lonym
CENNIK I INFORMACJE zadaniu. Wiedza o tym, ¿e wzorzec istnieje bez umiejêtno ci zaimplementowania go
jest bezu¿yteczna.
ZAMÓW INFORMACJE Ksi¹¿ka „J2EE. Stosowanie wzorców projektowych” zawiera nie tylko opisy wzorców,
O NOWO CIACH
ale równie¿ sposoby ich implementacji w aplikacjach J2EE. Czytelnik znajdzie tu
omówienie wzorców dotycz¹cych wydajno ci, skalowalno ci i elastyczno ci aplikacji
ZAMÓW CENNIK
oraz wzorców ci le zwi¹zanych z tworzeniem aplikacji biznesowych.
Ksi¹¿ka przedstawia równie¿ nowe wzorce dla mechanizmów dystrybucji
CZYTELNIA komunikatów i trwa³o ci.
W ksi¹¿ce omówiono:
FRAGMENTY KSI¥¯EK ONLINE • Podstawowe zasady tworzenia aplikacji biznesowych w Javie.
• Jêzyk UML jako uniwersalne narzêdzie do modelowania aplikacji.
• Wzorce dla warstwy prezentacji.
• Wzorce dla warstwy logiki biznesowej.
• Wzorce komunikacji pomiêdzy warstwami.
• Wzorce dystrybucji komunikatów.
• Przyk³ady b³êdnych wzorców.
Najwiêksz¹ zalet¹ ksi¹¿ki jest to, ¿e przedstawia zastosowanie wzorców projektowych
do tworzenia aplikacji biznesowych. Je li zajmujesz siê tworzeniem aplikacji J2EE,
to ta ksi¹¿ka jest dla Ciebie lektur¹ obowi¹zkow¹.
Wydawnictwo Helion
ul. Chopina 6
44-100 Gliwice
tel. (32)230-98-63
e-mail: helion@helion.pl
2. Spis treści
Przedmowa .......................................................................................................................9
Rozdział 1. Projektowanie aplikacji biznesowych na platformie Java..............15
Wzorce projektowe................................................................................................................................15
J2EE ..........................................................................................................................................................18
Warstwy aplikacji ..................................................................................................................................22
Podstawowe koncepcje procesu wytwarzania oprogramowania..................................................25
W perspektywie .....................................................................................................................................32
Rozdział 2. Język UML.................................................................................................33
Geneza języka UML ..............................................................................................................................34
Siedmiu Wspaniałych ...........................................................................................................................35
UML i cykl rozwoju oprogramowania...............................................................................................36
Diagramy przypadków użycia ............................................................................................................37
Diagramy klas ........................................................................................................................................41
Diagramy interakcji ...............................................................................................................................47
Diagramy aktywności ...........................................................................................................................50
Diagramy wdrożenia ............................................................................................................................52
Rozdział 3. Architektura warstwy prezentacji ........................................................53
Warstwa prezentacji po stronie serwera............................................................................................54
Struktura aplikacji..................................................................................................................................55
Zastosowanie centralnego kontrolera ................................................................................................65
3. 4 Spis treści
Rozdział 4. Zaawansowane rozwiązania warstwy prezentacji...........................83
Wielokrotne użycie i aplikacje internetowe ......................................................................................84
Rozbudowa kontrolera .........................................................................................................................84
Zaawansowane widoki .........................................................................................................................95
Rozdział 5. Skalowalność warstwy prezentacji....................................................109
Skalowalność i wąskie gardła ............................................................................................................110
Buforowanie zawartości .....................................................................................................................111
Pule zasobów........................................................................................................................................125
Rozdział 6. Warstwa biznesowa ..............................................................................133
Warstwa biznesowa.............................................................................................................................135
Obiekty dziedziny ...............................................................................................................................139
Rozdział 7. Komunikacja między warstwami .......................................................151
Wzorce transferu danych ...................................................................................................................151
Rozdział 8. Bazy danych i wzorce ...........................................................................163
Wzorce dostępu do danych ...............................................................................................................164
Wzorce klucza głównego....................................................................................................................175
Odwzorowania obiektowo-relacyjne................................................................................................180
Rozdział 9. Interfejsy warstwy biznesowej............................................................193
Abstrakcje logiki biznesowej..............................................................................................................194
Dostęp do usług zdalnych..................................................................................................................204
Wyszukiwanie zasobów .....................................................................................................................214
Rozdział 10. Współbieżność biznesowa ..................................................................221
Zarządzanie transakcjami...................................................................................................................222
Ogólne wzorce współbieżności .........................................................................................................236
Implementacja współbieżności..........................................................................................................240
Rozdział 11. Dystrybucja komunikatów.................................................................251
Komunikaty i problematyka integracji ............................................................................................254
Wzorce dystrybucji komunikatów....................................................................................................258
Typy komunikatów .............................................................................................................................262
Korelacja komunikatów......................................................................................................................265
Wzorce klienckie ..................................................................................................................................267
Komunikaty i integracja .....................................................................................................................276
Dalsze lektury.......................................................................................................................................282
4. Spis treści 5
Rozdział 12. Antywzorce J2EE ..................................................................................283
Przyczyny powstawania antywzorców ...........................................................................................284
Antywzorce architektury....................................................................................................................285
Antywzorce warstwy prezentacji......................................................................................................291
Antywzorce EJB ...................................................................................................................................299
Dodatek A Wzorce warstwy prezentacji.................................................................311
Dodatek B Wzorce warstwy biznesowej.................................................................325
Dodatek C Wzorce komunikatów.............................................................................353
Dodatek D Antywzorce J2EE.....................................................................................365
Skorowidz ....................................................................................................................371
5. Skalowalność
warstwy prezentacji
Wielu projektantów uważa, że wzorce projektowe nie sprzyjają skalowalności aplikacji.
Argumentują, że wzorce powodują powstawanie dodatkowych warstw w architekturze
aplikacji i w związku z tym serwer musi wykonywać dodatkowe operacje oraz używać
więcej pamięci podczas obsługi każdego żądania. Dodatkowe operacje powodują wydłu-
żenie czasu odpowiedzi, a wzrost zapotrzebowania na pamięć sprawia, że serwer może
równocześnie obsłużyć mniejszą liczbę klientów. Stwierdzenie takie samo w sobie jest
jak najbardziej poprawne i gdyby tylko każde dwa żądania były różne, to moglibyśmy
na tym zakończyć dyskusję.
Jednak w przypadku aplikacji biznesowych wielu klientów korzysta z tych samych danych.
Na przykład witryna podająca informacje giełdowe może obsługiwać tysiące zapytań
o wartość tej samej akcji na minutę. Jeśli cena akcji zmienia się co pięć minut, to rozwią-
zanie polegające na wymianie danych z systemem giełdowym podczas obsługi każdego
żądania będzie zupełnie nieefektywne. Nawet w przypadku banku dostępnego przez
internet, którego klienci przeglądają oczywiście wyłącznie własne konta, zasoby takie jak na
przykład połączenia z bazą danych nie muszą być tworzone osobno dla każdego żądania.
Często możemy założyć pewną utratę szybkości działania aplikacji, jeśli tylko będzie ona
oznaczać statystyczną poprawę wydajności. Pierwsze żądanie ceny konkretnej akcji lub
pierwsze połączenie do bazy danych może wymagać wtedy skomplikowanych operacji,
ale już kolejne żądania zostaną obsłużone dużo mniejszym nakładem i w efekcie szyb-
ciej. Skalowalność aplikacji wzrośnie — w tym samym przedziale czasu będzie ona mogła
obsłużyć więcej żądań.
W niniejszym rozdziale omówimy trzy wzorce projektowe, które zwiększają skalowalność
warstwy prezentacji, bazując na przedstawionej powyżej ogólnej koncepcji:
Wzorzec strony asynchronicznej
Pokazuje sposób buforowania danych takich jak na przykład ceny akcji i wykorzystania
ich do generowanie dynamicznych stron.
6. 110 Rozdział 5. Skalowalność warstwy prezentacji
Wzorzec filtra buforującego
Może być użyty do buforowania całych stron dynamicznych po ich wygenerowaniu.
Wzorzec puli zasobów
Opisuje zasadę tworzenia puli skomplikowanych obiektów lub obiektów kosztownych
z innych powodów, które mogą być wynajmowane z puli zamiast tworzone za każdym
razem od nowa.
Skalowalność i wąskie gardła
Zanim przejdziemy do omówienia kolejnych wzorców, zastanówmy się przez chwilę, co
rozumiemy pod pojęciem systemu skalowalnego. Wyobraźmy sobie w tym celu system
internetowy jako procesor żądań. Napływają do niego żądania klientów, którzy oczekują
następnie odpowiedzi. Wszystko co ma miejsce pomiędzy odebraniem żądania a wysła-
niem odpowiedzi, możemy uważać za przetwarzanie, niezależnie od tego, czy prowadzi
ono do zwrócenia zawartości statycznego pliku czy też do wygenerowania w pełni dyna-
micznej strony.
Skalowalność procesora żądań związana jest z liczbą żądań, które mogą być przetworzone
równocześnie. W najprostszym przypadku przez skalowalność można rozumieć zdolność
systemu do „przetrwania” napływu określonej liczby żądań w tym samym czasie i dostar-
czenia w końcu odpowiedzi na każde z nich. Jednak z praktyki wiemy, że definicja taka
nie jest zgodna z prawdą. Jeśli, na przykład, system udostępniający najnowsze wiadomo-
ści otrzyma równocześnie 10 000 żądań i odpowie na każde z nich w ciągu 3 sekund, to
możemy powiedzieć, że system ten skaluje się poprawnie, a nawet wyjątkowo dobrze.
Natomiast gdy ten sam system otrzyma 100 000 równoczesnych żądań i odpowie na każde
z nich w ciągu 3 minut, to sytuacja taka będzie trudna do zaakceptowania*.
Lepsza definicja skalowalności systemu polega na zdefiniowaniu jej jako zdolności sys-
temu do obsługi wzrastających wymagań. Oczywiście od żadnego pojedynczego serwera
nie oczekuje się w praktyce możliwości obsługi nieskończonej liczby żądań. Osiągnięcie
przez serwer skalowalnego systemu granic jego możliwości powoduje, że mamy do wyboru
jedną z dwóch opcji:
• zakup szybszego serwera,
• zakup kolejnych serwerów.
Chociaż może wydawać się, że szybszy serwer będzie mógł obsłużyć więcej żądań, to nie
zawsze jest to prawdą. Wyobraźmy sobie na przykład bank, który przechowuje informacje
o swoich globalnych aktywach w pojedynczym rekordzie. Rekord ten musi być modyfi-
kowany za każdym razem, gdy do banku napływają kolejne kwoty lub są z niego wypła-
cane. Jeśli rekord ten może być równocześnie aktualizowany tylko przez jedno żądanie,
*
Z punktu widzenia projektanta skalowalność może być powiązana ze sposobem działania systemu
— wygenerowanie dynamicznej strony zajmie zwykle więcej czasu niż zwrócenie zawartości strony
statycznej. Jednak użytkownicy systemu nie są świadomi takich niuansów.
7. Buforowanie zawartości 111
to maksymalna liczba transakcji będzie ograniczona czasem zapisu tego rekordu. Zwięk-
szenie szybkości procesora nowego serwera może przynieść pewną poprawę poprzez
przyspieszenie operacji aktualizacji tego rekordu, jednak dodatkowy koszt komunikacji
pomiędzy wieloma procesorami — na skutek ubiegania się wielu procesów o dostęp do
pojedynczego zasobu — może sprawić, że dodanie kolejnych procesorów spowolni dzia-
łanie systemu zamiast je przyspieszyć! Pojedynczy punkt, który ogranicza skalowalność
całej aplikacji (taki jak rekord zawierający wartość globalnych aktywów) nazywany jest
wąskim gardłem.
Zastosowanie wielu serwerów powoduje zwielokrotnienie liczby potencjalnych wąskich
gardeł. Wyobraźmy sobie rozproszoną wersję naszego systemu bankowego posiadającą
rekord globalnych aktywów umieszczony na dedykowanym serwerze. Każdy procesor
żądań będzie przesyłać temu serwerowi komunikat za każdym razem, gdy do banku tra-
fiają pieniądze lub są z niego pobierane. Oczywiście skalowalność takiego systemu będzie
nadal ograniczona czasem potrzebnym do aktualizacji rekordu aktywów, ale skalowalność
systemu może tym razem ograniczać również sieć łącząca serwery, a także czas potrzeb-
ny na przetłumaczenie danych na format przesyłany siecią.
W praktyce zagadnienie skalowalności zawsze wiąże się z kompromisami. Jeden z nich
polega na wyborze pomiędzy kilkoma dużymi systemami a dużą liczbą małych systemów.
Drugi z tych przypadków jest zwykle tańszy, ale komunikacja pomiędzy wieloma sys-
temami może dodatkowo ograniczać jego skalowalność. Kompromis konieczny jest rów-
nież pomiędzy wielkością buforów systemu a wielkością pamięci używanej w tradycyjny
sposób. Wydzielenie z tej ostatniej zbyt dużych buforów spowoduje, że zmieści się w nich
więcej informacji, a system będzie szybciej obsługiwał powtarzające się żądania. Równo-
cześnie jednak zmniejszy się obszar pozostałej pamięci, wobec czego spowolniona może
zostać obsługa żądań, dla których odpowiedź nie znajduje się w buforach. Sztuka tworze-
nia skalowalnych aplikacji polega na eliminowaniu wąskich gardeł i zachowaniu kompro-
misów związanych z poziomem komplikacji kodu oraz sposobami przydziału zasobów.
Buforowanie zawartości
Jednym z lepszych sposobów poprawy skalowalności jest buforowanie. Buforowanie sta-
tycznych stron praktykowane jest szeroko w internecie, a dedykowane w tym celu urzą-
dzenia umieszczane są obok routerów i przełączników. Utrzymują one kopie najczęściej
żądanych plików, co pozwala przyspieszyć obsługę żądań bez konieczności kontaktowania
się z właściwym serwerem witryny. Większość dostępnych obecnie urządzeń buforują-
cych ignoruje strony generowane dynamicznie, ponieważ efektywne rozróżnienie, czy dwa
żądania powinny otrzymać tę samą odpowiedź (lub ustalenie, czy żądanie powinno zostać
z innych powodów obsłużone przez właściwy serwer witryny) jest co najmniej kłopotliwe.
Aby zwiększyć wydajność środowiska J2EE, możemy zastosować buforowanie dynamicz-
nych komponentów warstwy prezentacji. Przyjrzymy się teraz dwóm rozwiązaniom tego
problemu: buforowaniem danych wejściowych używanych podczas dynamicznego gene-
rowania zawartości stron oraz buforowaniu samej zawartości.
8. 112 Rozdział 5. Skalowalność warstwy prezentacji
Buforowanie komponentów zawartości
Tradycyjny model komunikacji używany przez aplikacje pajęczyny jest w swej naturze
synchroniczny. Innymi słowy klienty żądają określonych adresów URL i czekają na odpo-
wiedź w postaci strony. Biorąc pod uwagę ten model komunikacji, możemy łatwo zrozu-
mieć, dlaczego logika większości aplikacji również implementowana jest w synchroniczny
sposób. Po odebraniu żądania tworzone są i korelowane poszczególne części odpowiedzi,
a następnie na ich podstawie generowana jest ostateczna odpowiedź. Rozwiązanie takie
może okazać się zupełnie nieefektywne.
W rozdziale 4. przestawiliśmy metodę dodawania zdalnych źródeł wiadomości do witry-
ny za pomocą prostego mechanizmu parsowania formatu RSS. Zastosowane rozwiązanie
było synchroniczne — po odebraniu żądania dotyczącego strony zawierającej odnośnik
do źródła wiadomości nasz własny znacznik JSP wczytywał i parsował zdalne dane,
a następnie formatował je w celu prezentacji. Gdybyśmy zdecydowali się skalować takie
rozwiązanie na wiele serwerów, z których każdy komunikowałby się z wieloma źródłami
wiadomości, to otrzymalibyśmy sytuację podobną do przedstawionej na rysunku 5.1.
Rysunek 5.1. Odczyt wielu źródeł wiadomości
Rozwiązanie takie jest nieefektywne z wielu powodów. Kontaktowanie się z każdym
źródłem dla każdego żądania powoduje niepotrzebne obciążenie sieci i samych źródeł.
Sama obsługa żądań będzie wtedy kosztowna w sensie użytych zasobów, ponieważ dla
każdego żądania konieczne będzie sparsowanie danych pochodzących ze źródła i ich
przetłumaczenie na format HTML. Buforowanie danych na każdym ze serwerów powinno
znacząco zwiększyć liczbę klientów, których mogą one obsłużyć.
Chociaż buforowanie ma doskonały wpływ na skalowalność systemu, to jednak nie
uwzględnia ono faktu, że zawartość źródeł zmienia się okresowo. Buforowanie wymaga
zastosowania odpowiedniej polityki, na przykład dane znajdujące się w buforach mogą
być aktualizowane podczas obsługi co dziesiątego żądania lub co dziesięć minut. Zapew-
nienie absolutnej aktualności danych wymagać będzie zbyt częstej komunikacji serwerów
ze źródłami i powodować duże obciążenie procesorów i sieci. Oznaczać będzie również
konieczność oddzielnego parsowania i konwersji formatu danych na każdym serwerze.
Lepszym rozwiązaniem byłoby przesyłanie danych tylko wtedy, gdy ulegną one zmianie.
9. Buforowanie zawartości 113
Na rysunku 5.2 przedstawiony został ten sam system używający tym razem modelu
wydawca-subskrybent. Pojedyncza maszyna, serwer aplikacji, rejestruje się w wielu źró-
dłach wiadomości. Gdy maszyna ta otrzymuje nową wiadomość z jakiegoś źródła, parsuje
ją i wysyła w odpowiednim formacie do wszystkich serwerów*. Ponieważ wydawca prze-
syła dane subskrybentowi tylko wtedy, gdy jest to konieczne, to komunikacja taka odbywa
się asynchronicznie. Często rozwiązania asynchroniczne wymagają mniejszej przepustowo-
ści sieci niż rozwiązania synchroniczne, ponieważ dane przesyłane są do wielu serwerów
tylko wtedy, gdy jest to konieczne.
Rysunek 5.2. Model wydawca-subskrybent
Wzorzec strony asynchronicznej
Zalety komunikacji asynchronicznej nie są nowym odkryciem. Przesyłanie komunikatów
jest już od dawna jednym z ważniejszych komponentów systemów biznesowych. Interfejs
programowy Java Message oraz wprowadzenie ostatnio komponentów JavaBeans ste-
rowanych komunikatami umocniło pozycję asynchronicznej komunikacji na platformie
Java. Również w internecie zaczynają się upowszechniać usługi o asynchronicznym cha-
rakterze. Z wyjątkiem jednak kilku dostawców zawartości działających według modelu
wydawca-subskrybent, komunikacja asynchroniczna nie pojawiła się dotąd na warstwie
klienckiej, ponieważ standardowe klienty w postaci przeglądarek internetowych nie obsłu-
gują modelu wydawca-subskrybent.
Brak obsługi modelu wydawca-subskrybent przez przeglądarki nie oznacza jednak, że
komunikacja asynchroniczna w ogóle nie występuje w internetowej pajęczynie. Nadal
może być ona potężnym narzędziem umożliwiającym poprawę skalowalności poprzez
redukcję kosztów obsługi każdej transakcji.
Wzorzec strony asynchronicznej wykorzystuje zalety asynchronicznego dostępu do zdal-
nych zasobów w celu poprawienia wydajności i skalowalności aplikacji. Zamiast czekać
na żądanie podania ceny wybranej akcji serwer może przechowywać w buforze wszyst-
kie otrzymane dotąd ceny. Gdy odbierze żądanie podania ceny wybranej akcji, odpowie
na nie danymi, które ma już w buforze.
*
Model wydawca-subskrybent zostanie szczegółowo omówiony w innym kontekście w rozdziale 11.
10. 114 Rozdział 5. Skalowalność warstwy prezentacji
Na rysunku 5.3 przedstawione zostały interakcje zachodzące we wzorcu strony asynchro-
nicznej. W ogólnym przypadku występuje w nim jeden subskrybent, który zarejestrowany
jest w szeregu wydawców. Gdy dane zostają zaktualizowane, to subskrybent aktualizuje
model zależnych od niego aplikacji. Odpowiedzi na żądania zawierają w ten sposób zaw-
sze ostatnie opublikowane dane.
Rysunek 5.3. Interakcje we wzorcu strony asynchronicznej
Warto zwrócić uwagę, że interfejs pomiędzy wydawcą a subskrybentem nie musi w tym
przypadku ograniczać się do wysyłania powiadomień przez wydawcę, ale może również
polegać na regularnym sprawdzaniu danych przez subskrybenta.
Koszt aktualizacji modelu może być różny. W niektórych przypadkach dane otrzymane od
wydawcy nie wymagają przetworzenia i mogą być bezpośrednio umieszczone w modelu.
Wzorzec jest jednak bardziej efektywny, gdy subskrybent przetwarza dane, redukując w ten
sposób konieczność wykonywania tych operacji przez każdy model z osobna. Typowa
strategia w takim przypadku polega na zastąpieniu dynamicznej strony przez stronę sta-
tyczną, która zostaje nadpisana za każdym razem, gdy pojawiają się nowe dane.
Implementacja wzorca strony asynchronicznej
Aby zilustrować sposób implementacji wzorca strony asynchronicznej, zastosujemy go
do wcześniejszego przykładu związanego z parsowaniem formatu RSS. Przypomnijmy,
że RSS jest standardem umożliwiającym wymianę wiadomości pomiędzy serwerami
internetowymi. Wykorzystuje on język XML, a naszym zadaniem jest umieszczenie danych
otrzymanych w tym formacie na stronie HTML.
W celu elastycznego parsowania formatu RSS stworzyliśmy dotąd jedną klasę i dwa wła-
sne znaczniki. Klasa RSSInfo odczytuje i parsuje dane dostępne pod podanym adresem
URL. W oparciu o tę klasę utworzyliśmy dwa znaczniki. Parametrem pierwszego z nich,
11. Buforowanie zawartości 115
RSSChannelTag, jest adres URL i wczytuje on zdalne dane. Znacznik RSSChannelTag prze-
chowuje nazwę kanału i jego łącza za pomocą dwóch zmiennych skryptowych. Znacznik
RSSItemsTag może być zagnieżdżany w dowolnym znaczniku RSSChannelTag. Znacznik
RSSItemsTag przegląda wszystkie elementy kanału i umieszcza jego tytuł i łącze w zmien-
nych skryptowych.
Problemem, który będziemy chcieli teraz rozwiązać, jest to, że znacznik RSSChannelTag
odczytuje dane ze zdalnego źródła. Lepiej byłoby, gdyby dane te były przechowywane
lokalnie i aktualizowane tylko wtedy, gdy jest to konieczne. Niestety, RSS nie oferuje
mechanizmu subskrypcji, wobec czego będziemy zmuszeni okresowo sprawdzać dane
zdalnego źródła. Zamiast wykonywać tę operację podczas każdego odczytu, stworzymy
raczej dedykowany mechanizm, który będzie się zajmował kontrolowaniem danych źró-
dła i aktualizacją ich lokalnej kopii. Dedykowany mechanizm pozwoli nam odczytywać
dane z jednego, centralnego źródła, a następnie dystrybuować je (jeśli uległy zmianie) do
właściwych procesorów żądań.
W naszym przykładzie dodamy jeszcze jedną klasę, RSSSubscriber. Klasa ta umożliwiać
będzie dodawanie subskrypcji różnych źródeł RSS przez podanie ich adresu URL. Po doda-
niu subskrypcji osobny wątek będzie sprawdzać dane źródła w określonych odstępach
czasu. Jeśli dane te ulegną zmianie, zostaną dodane do lokalnego bufora. Wszystkie żą-
dania z wyjątkiem pierwszego będą obsługiwane na podstawie zawartości tego bufora.
Implementacja klasy RSSSubscriber została przedstawiona na listingu 5.1.
Listing 5.1. Klasa RSSSubscriber
import java.util.*;
import java.io.IOException;
public class RSSSubscriber extends Thread {
private static final int UPDATE_FREQ = 30 * 1000;
// wewnętrzna reprezentacja subskrypcji
class RSSSubscription implements Comparable {
private String url;
private long nextUpdate;
private long updateFreq;
// sortowanie subskrypcji w oparciu o czas następnej aktualizacji
public int compareTo(Object obj) {
RSSSubscription rObj = (RSSSubscription) obj;
if (rObj.nextUpdate > this.nextUpdate) {
return -1;
} else if (rObj.nextUpdate < this.nextUpdate) {
return 1;
} else {
// jeśli czas aktualizacji jest taki sam,
// porównuje adresy URL
return url.compareToIgnoreCase(rObj.url);
}
}
}
// zbiór subskrypcji posortowany na podstawie czasu kolejnej aktualizacji
private SortedSet subscriptions;
12. 116 Rozdział 5. Skalowalność warstwy prezentacji
private Map cache;
private boolean quit = false;
// singleton subskrybenta
private static RSSSubscriber subscriber;
// zwraca referencję subskrybenta
public static RSSSubscriber getInstance() {
if (subscriber == null) {
subscriber = new RSSSubscriber();
subscriber.start();
}
return subscriber;
}
RSSSubscriber() {
subscriptions = new TreeSet();
cache = Collections.synchronizedMap(new HashMap());
setDaemon(true);
}
// zwraca obiekt RSSInfo z bufora lub tworzy nową subskrypcję
public RSSInfo getInfo(String url) throws Exception {
if (cache.containsKey(url)) {
return (RSSInfo)cache.get(url);
}
// dodaje do bufora
RSSInfo rInfo = new RSSInfo();
rInfo.parse(url);
cache.put(url, rInfo);
// tworzy nową subskrypcję
RSSSubscription newSub = new RSSSubscription();
newSub.url = url;
newSub.updateFreq = UPDATE_FREQ;
putSubscription(newSub);
return rInfo;
}
// dodaje subskrypcję
private synchronized void putSubscription(RSSSubscription subs) {
subs.nextUpdate = System.currentTimeMillis() + subs.updateFreq;
subscriptions.add(subs);
notify();
}
// oczekuje, a kolejna subskrypcja będzie gotowa do aktualizacji
private synchronized RSSSubscription getSubscription() {
while(true) {
while(subscriptions.size() == 0) {
try { wait(); } catch(InterruptedException ie) {}
}
// pobiera pierwszą subskrypcję z kolejki
RSSSubscription nextSub = (RSSSubscription)subscriptions.first();
// sprawdza, czy nadszedł czas aktualizacji
long curTime = System.currentTimeMillis();
if(curTime >= nextSub.nextUpdate) {
subscriptions.remove(nextSub);
13. Buforowanie zawartości 117
return nextSub;
}
// zawiesza wykonanie do czasu kolejnej aktualizacji
// oczekiwanie to zostanie przerwane na skutek dodania subskrypcji
try {
wait(nextSub.nextUpdate - curTime);
} catch(InterruptedException ie) {}
}
}
// aktualizuje subskrypcję
public void run() {
while(!quit) {
RSSSubscription subs = getSubscription();
try {
RSSInfo rInfo = new RSSInfo();
rInfo.parse(subs.url);
cache.put(subs.url, rInfo);
} catch(Exception ex) {
ex.printStackTrace();
}
putSubscription(subs);
}
}
public void quit() {
quit = true;
notify();
}
}
Nasz mechanizm subskrypcji danych RSS działa w jednym serwerze, ale łatwo można
sobie wyobrazić jego rozszerzenie na wiele serwerów. W obu przypadkach umożliwia
on obsługę większej liczby równoczesnych żądań poprzez istnienie dedykowanego wątku
zajmującego się aktualizacją i parsowaniem żądań. Z wyjątkiem początkowego żądania
dla danej subskrypcji, żaden wątek nie musi odczytywać i parsować zdalnych danych.
Zadanie to jest efektywnie wykonywane w tle.
Aby skorzystać z klasy RSSSubscriber, nasz własny znacznik wywołuje po prostu metodę
getRSSInfo() dla przekazanego mu adresu URL. Metoda getRSSInfo() odczytuje dane
z bufora lub tworzy nową subskrypcję, gdy danych tych nie ma w buforze. Na listingu 5.2
przedstawiony został zmodyfikowany kod znacznika.
Listing 5.2. Znacznik RSSChannelTag
import javax.servlet. *;
import javax.servlet.jsp.*;
import javax.servlet.jsp.tagext.*;
public class RSSChannelTag extends BodyTagSupport {
private static final String NAME_ATTR = "channelName";
private static final String LINK_ATTR = "channelLink";
private String url;
14. 118 Rozdział 5. Skalowalność warstwy prezentacji
private RSSSubscriber rssSubs;
public RSSChannelTag() {
resSubs = RSSSubscriber.getInstance();
}
public void setURL(String url) {
this.url = url;
}
// zwraca najnowszy obiekt RSSInfo od subskrybenta;
// wywoływana równie przez znaczniki RSSItemsTag
protected RSSInfo getRSSInfo() {
try {
return rssSubs.getInfo(url);
} catch (Exception ex) {
ex.printStackTrace();
return null;
}
// u ywa zaktualizowanego obiektu RSSInfo
public int doStartTag() throws JspException {
try {
RSSInfo rssInfo = getRSSInfo();
pageContext.setAttribute(NAME_ATTR, rssinfo.getChannelTitle());
pageContext.setAttribute(LINK_ATTR, rssinfo.getChannelLink());
RSSSubscriber rssSubs = RSSSubscriber.getInstance();
} catch (Exception ex) {
throw new JspException("Nie mo na sparsować " + url, ex);
}
return Tag.EVAL_BODY_INCLUDE;
}
}
Chociaż przykład odczytu danych w formacie RSS jest prosty, to ilustruje jedną z wielu
okazji zastosowania komunikacji asynchronicznej w środowisku, którego działanie opie-
ra się na przetwarzaniu żądań. Zastosowanie to zależy oczywiście od sposobu dostępu do
danych. Wyobraźmy sobie na przykład odebranie, parsowanie i przechowywanie infor-
macji o wszystkich akcjach notowanych na nowojorskiej giełdzie, po których to operacjach
pojawiają się tylko dwa lub trzy żądania, zanim wszystkie informacje muszą być zaktu-
alizowane ponownie. Czas procesora oraz pamięć poświęcone na asynchroniczne odebra-
nie tych wartości zostaną więc zmarnowane. Oczywiście istnieją aplikacje, które nie mogą
sobie pozwolić, by jakiekolwiek dane nie były aktualne niezależnie od sytuacji — na przy-
kład gdy korzystamy z bankomatu. Oceniając przydatność komunikacji asynchronicznej
w konkretnym przypadku musimy rozważyć jej koszty w kategoriach aktualności danych,
zużycia pasma w sieci i zużycia pamięci w stosunku do zalet wynikających z poprawy
wydajności i skalowalności.
Buforowanie zawartości dynamicznej
Istnieje jeszcze inna klasa dynamicznych danych, które nadają się do buforowania. Wy-
obraźmy sobie na przykład witrynę sprzedaży samochodów, której użytkownicy przeglą-
dają kilka kolejnych stron, wybierając różne warianty wyposażenia, a na końcu otrzymują
15. Buforowanie zawartości 119
informację o cenie tak skonfigurowanej wersji pojazdu. Wyznaczenie tej ceny może być
skomplikowanym procesem korzystającym z danych zewnętrznego systemu, w tym także
zawierającego dane o aktualnie dostępnych egzemplarzach pojazdów.
Niektóre wersje samochodów oraz opcje wyposażenia — na przykład wersja sportowa
czy otwierany dach — mogą być częściej wybierane niż inne. Ponieważ ten sam zestaw
opcji wyposażenia daje w efekcie zawsze tę samą cenę, to obliczanie jej za każdym razem
nie jest efektywnym rozwiązaniem. Jeszcze bardziej kosztowne z punktu widzenia wydaj-
ności systemu może być dynamiczne generowanie strony zawierającej cenę samochodu.
Będzie ono wymagać dostępu do bazy danych oraz skonstruowania złożonego widoku.
Dlatego też warto zastanowić się nad możliwością buforowania strony HTML zawiera-
jącej już gotową cenę.
Teoretycznie aplikacja nie musi zajmować się buforowaniem takich stron. Specyfikacja
HTTP 1.1 umożliwia buforowanie dynamicznych żądań GET, jeśli tylko wyposażymy je
w odpowiednie nagłówki HTTP*. Po nadaniu im odpowiednich wartości buforowanie
może być wykonywane przez klienta, bufor pośredniczący lub nawet sam serwer HTTP.
W praktyce jednak okazuje się, że tworząc aplikację, sami musimy zająć się problemem
buforowania.
Wzorzec filtra buforującego
Wzorzec filtra buforującego wykorzystuje filtr serwletu do buforowania dynamicznie gene-
rowanych stron. Możliwości i sposób implementacji filtrów omówiliśmy już, przedstawiając
wzorzec dekoratora w rozdziale 3. Filtr buforujący stanowi specyficzną implementację
dekoratora. Zastosowany do wysuniętego kontrolera umożliwia pełne buforowanie stron
generowanych dynamicznie. Klasy biorące udział we wzorcu filtra buforującego przed-
stawione zostały na rysunku 5.4.
Rysunek 5.4. Klasy wzorca filtra buforującego
*
Więcej informacji na temat różnych możliwości buforowania udostępnianych przez HTTP 1.1
można znaleźć w punkcie 13. dokumentu RFC 2616 pod adresem http://www.w3.org/Protocols/
rfc2616/rfc2616-sec13.html#sec13.
16. 120 Rozdział 5. Skalowalność warstwy prezentacji
Klasa CacheFilter reprezentująca filtr buforujący działa jak każdy inny filtr — udo-
stępnia taki sam interfejs jak dekorowany obiekt oraz dodatkowe metody umożliwiające
odczyt stron z bufora oraz umieszczenie w buforze wyników obsługi konkretnego żąda-
nia. Po nadejściu żądania zwracana jest strona z bufora, jeśli istnieje. Jeśli żądanej strony
nie ma w buforze, to wykonana musi zostać pozostała cześć łańcucha, a jej wynik zostaje
umieszczony w buforze. Proces obsługi żądania przedstawiony został na rysunku 5.5.
Rysunek 5.5. Interakcje we wzorcu filtra buforującego
Zwróćmy uwagę na miejsce filtra buforującego w łańcuchu filtrów. W zasadzie filtr bufo-
rujący może być umieszczony w dowolnym miejscu łańcucha i buforować wyniki dzia-
łania wszystkich filtrów znajdujących się w dalszej części łańcucha. Możliwe jest nawet
istnienie wielu buforów na różnych poziomach łańcucha, na przykład w celu buforowania
części tworzonej strony, podczas gdy jej reszta nadal generowana jest dynamicznie.
Częsty błąd związany ze stosowaniem buforowania polega na umieszczeniu buforów
przed mechanizmami bezpieczeństwa. Prowadzi to do nieautoryzowanego dostępu
do buforowanych danych. Jeśli mechanizm bezpieczeństwa implementowany jest
za pomocą filtra, to musi on być umieszczony w łańcuchu przed filtrami buforującymi.
Implementacja filtra buforującego
Aby buforować dane, musimy zmienić sposób ich dostarczania serwerowi. W wielu przy-
padkach klient żąda po prostu kolejnej strony, nie przekazując wszystkich parametrów.
Generując odpowiedź, kontroler musi użyć kombinacji żądanej strony i parametrów prze-
chowanych dla danej sesji. Żądanie wysłane przez klienta może mieć następującą postać:
17. Buforowanie zawartości 121
GET /pages/finalPrice.jsp HTTP/1.1
Do żądania w tej postaci serwer dodałby następnie informację o wybranych opcjach. Nie-
stety, żądanie GET wygląda zawsze tak samo, niezależnie od wybranych przez użytkow-
nika opcji. To, że klient wybrał błękitny lakier i aluminiowe felgi nie znajduje wcale odbicia
w postaci żądania. Aby odnaleźć odpowiednią stronę, konieczne jest użycie zmiennych
sesji, co wiąże się z pewną utratą efektywności, ponieważ informacja ta nie jest buforowana.
Lepiej byłoby, gdyby adres URL zawierał wszystkie parametry w łańcuchu zapytania. Na
przykład w taki sposób:
GET /pages/finalPrice.jsp?paint=Electric+Blue&Wheels=Alloy
Najefektywniej możemy zaimplementować buforowanie, jeśli łańcuch zapytania w pełni
opisuje stronę (patrz „GET, POST i idempotencja”)
Implementując filtr buforujący, wykorzystamy interfejs filtra serwletów. Podobnie jak
w rozdziale 3. udekorujemy obiekt odpowiedzi przekazywany w dół łańcucha filtrów
obiektem zawierającym wynik przetwarzania przez resztę łańcucha. Obiekt ten będzie
należeć do klasy CacheResponseWrapper przedstawionej na listingu 5.3.
Listing 5.3. Klasa CacheResponseWrapper
public class CacheResponseWrapper extends HttpServletResponseWrapper {
// zastępczy strumień wyjścia
private CacheOutputStream replaceStream;
// zastępczy obiekt zapisu
private PrintWriter replaceWriter;
// prosta implementacja klasy pochodnej klasy ServletOutputStream,
// która przechowuje dane zapisane do strumienia
class CacheOutputStream extends ServletOutputStream {
private ByteArrayOutputStream bos;
CacheOutputStream() {
bos = new ByteArrayOutputStream();
}
public void write(int param) throws IOException {
bos.write(param);
}
// zwraca zapisane dane
protected byte[] getBytes() {
return bos.toByteArray();
}
}
public CacheResponseWrapper(HttpServletResponse original) {
super(original);
}
public ServletOutputStream getOutputStream()
throws IOException
{
if (replaceStream != null) {
18. 122 Rozdział 5. Skalowalność warstwy prezentacji
GET, POST i idempotencja
Specyfikacja HTTP 1.1 stwierdza, że żądania GET są idempotentne. Termin ten pochodzi
z łaciny i oznacza tutaj możliwość powtarzania tej samej operacji dowolną liczbę razy
bez niepożądanych skutków. W naszym przykładzie sprzedaży samochodów idem-
potenetne jest na przykład żądanie podanie ceny samochodu — możemy wielokrotnie
żądać podania ceny wybranej konfiguracji i nie ma to żadnego wpływu na podaną
wartość.
Jednak sam zakup samochodu nie jest wcale idempotentny. Dlatego właśnie protokół
HTTP dostarcza metody POST umożliwiającej wysłanie informacji do serwera. Operacja
POST nie jest idempotentna i dlatego często wybierając przycisk przeglądarki służący
ponownemu załadowaniu tej samej strony, otrzymujemy komunikat, że zawartość
formularza musi zostać ponownie wysłana do serwera. Zaletą żądań POST jest też ukry-
cie przesyłanej informacji przed użytkownikiem(parametry żądania nie pojawiają się
w adresie wyświetlanym przez przeglądarkę) oraz przed osobami posiadającymi dostęp
do dzienników zapisywanych przez serwer. Na przykład informacje o kartach kredy-
towych powinny być zawsze przesyłane za pomocą żądań POST, nawet wtedy, gdy
równocześnie wykorzystywany jest protokół SSL.
Ze względu na idempotencję, implementując buforowanie dynamicznej zawartości
stron musimy ograniczyć się do zawartości generowanej za pomocą żądań GET. Nawet
w ich przypadku należy zawsze się zastanawiać, czy buforowanie będzie bezpieczne.
return replaceStream;
}
// sprawdza, czy obiekt zapisu nie został ju zainicjowany
if (replaceWriter != null) {
throw new IOException("Obiekt zapisu jest ju u ywany");
}
replaceStream = new CacheOutputStream();
return replaceStream;
}
public PrintWriter getWriter() throws IOException {
if (replaceWriter != null) {
return replaceWriter;
}
// sprawdza, czy strumień wyjściowy nie został ju zainicjowany
if (replacStream != null) {
throw new IOException("Strumień wyjściowy jest ju u ywany");
}
replaceWriter = new PrintWriter(
new OutputStreamWriter(new CacheOutputStream()));
return replaceWriter;
}
19. Buforowanie zawartości 123
// zwraca przechowane dane
protected byte[] getBytes() {
if (replaceStream == null)
return null;
return outStream.getBytes();
}
}
Przekazując obiekt CacheResponseWrapper do następnego filtra w łańcuchu, możemy
umieścić dane w tablicy bajtowej, która następnie zostanie zbuforowana w pamięci lub
na dysku.
Działanie samego filtra buforującego jest dość proste. Po odebraniu żądania najpierw
sprawdza on, czy strona może być buforowana. Jeśli tak, to filtr kontroluje, czy strona ta
znajduje się już w buforze i zwraca wersję z bufora. W przeciwnym razie tworzy nową stro-
nę i umieszcza ją w buforze. Kod filtra buforującego przedstawiony został na listingu 5.4.
Listing 5.4. Klasa CacheFilter
public class CacheFilter implements Filter {
private FilterConfig filterConfig;
// bufor danych
private HashMap cache;
public void doFilter(ServletRequest request,
ServletResponse response,
FilterChain chain)
throws IOException, ServletException
{
HttpServletRequest req = (HttpServletRequest) request;
HttpServletResponse res = (HttpServletResponse) response;
// klucz tworzony jest następująco: URI + łańcuch zapytania
String key = req.getRequestURI() + "?" + req.getQueryString();
// buforuje jedynie te ądania GET, które zawierają dane
// nadające się do buforowania
if (req.getMethod().equalsIgnoreCase("get") && isCacheable(key)) {
// próbuje pobrać dane z bufora
byte[] data = (byte[]) cache.get(key);
// jeśli danych nie ma w buforze, to generuje wynik w zwykły sposób
// i dodaje go do bufora
if (data == null) {
CacheResponseWrapper crw = new CacheResponseWrapper(res);
chain.doFilter(request, crw);
data = crw.getBytes();
cache.put(key, data);
}
// jeśli dane zostały odnalezione lub dodane do bufora,
// to u ywa ich do wygenerowania wyniku
if (data != null) {
res.setContentType("text/html");
res.setContentLength(data.length);
20. 124 Rozdział 5. Skalowalność warstwy prezentacji
try {
OutputStream os = res.getOutputStream();
os.write(data);
os.flush();
os.close();
} catch(Exception ex) {
...
}
}
}
// generuje dane w zwykły sposób
// w pozostałych przypadkach
chain.doFilter(request, response);
}
// sprawdza, czy dane nadają się do buforowania
private boolean isCacheable(String key) {
...
}
// inicjuje bufor
public void init(FilterConfig filterConfig) {
this.filterConfig = filterConfig;
cache = new HashMap();
}
}
Zauważmy, że nasz bufor nie jest zmienną statyczną. Zgodnie ze specyfikacją filtrów dla
każdego elementu filter umieszczonego w deskryptorze instalacji zostaje utworzona
tylko jedna instancja filtra. W każdym z filtrów możemy więc używać osobnego bufora,
umożliwiając tym samym istnienie wielu buforów w różnych punktach łańcucha filtrów.
Nasz prosty filtr pomija dwa trudne aspekty buforowania. Pierwszy polega na ustaleniu,
czy strona może być buforowana. W większości środowisk występują strony nadające
się do buforowania, jak i strony, które nie mogą być buforowane. W naszym przykładzie
sprzedaży samochodów do buforowania nadają się strony opisujące różne konfiguracje
aut, ale z pewnością nie może być buforowana strona zawierająca informacje o karcie kre-
dytowej klienta. Typowe rozwiązanie tego problemu polega na stworzeniu odwzorowania
w języku XML opisującego strony, które mogą być buforowane (podobnego do przed-
stawionych wcześniej odwzorowań serwletów bądź filtrów).
Druga trudność polega na zapewnieniu aktualności bufora. W naszym przykładzie założyli-
śmy, że generowane dynamicznie strony nie zmieniają swej zawartości. Jeśli cena pewne-
go elementu wyposażenia ulegnie zmianie, to klientowi nadal prezentowana będzie strona
z bufora zawierająca poprzednią, nieaktualną już cenę. Istnieje wiele strategii zachowania
aktualności stron w buforze zależnych od natury generowanych stron. Najprostsze roz-
wiązanie polega oczywiście na przeterminowaniu zawartości bufora co pewien określony
okres czasu. W przeciwnym razie nie tylko mogą się pojawić w buforze nieaktualne dane,
ale jego zawartość może wzrastać w nieograniczony sposób, prowadząc do sytuacji opi-
sanej w rozdziale 12. podczas omawiania antywzorca wycieku z kolekcji.
21. Pule zasobów 125
Pule zasobów
Przez pulę zasobów rozumiemy kolekcję utworzonych wcześniej obiektów, które mogą być
wielokrotnie wynajmowane z puli, co pozwala uniknąć kosztów tworzenia tych obiektów
za każdym razem od nowa. W środowisku J2EE pule zasobów są wszechobecne. Na przy-
kład, gdy pojawia się nowe połączenie, to do obsługi żądania pobierany jest wątek z puli
wątków. Jeśli przetwarzanie wymaga komponentu EJB, to może on zostać przydzielony
z puli komponentów EJB, a jeśli komponent taki wymaga dostępu do bazy danych, to
uzyska połączenie z bazą — niespodzianka! — z puli połączeń.
Pule są tak często wykorzystywane, ponieważ rozwiązują jednocześnie dwa problemy:
poprawiają skalowalność poprzez podział kosztów tworzenia skomplikowanych obiektów
na wiele instancji, a także umożliwiają precyzyjne strojenie równoległości i wykorzysta-
nia pamięci.
Zastosowanie pul zilustrujemy klasycznym przykładem połączeń do bazy danych. Proces
łączenia się z bazą danych, zwłaszcza zdalną, może być skomplikowany i kosztowny zara-
zem. Chociaż połączenie takie odbywać się może poprzez wywołanie pojedynczej metody,
to jednak utworzenie instancji połączenia może wymagać niektórych albo nawet wszyst-
kich z wymienionych poniżej operacji:
1. Utworzenie obiektu reprezentującego połączenie z bazą danych.
2. Przekazanie obiektowi adresu bazy danych oraz informacji uwierzytelniającej
użytkownika.
3. Utworzenie połączenia sieciowego z bazą danych.
4. Wykonanie skomplikowanej negocjacji obsługiwanych opcji.
5. Wysłanie informacji uwierzytelniającej użytkownika do bazy danych.
6. Weryfikacja uprawnień użytkownika.
Po wykonaniu tych operacji połączenie jest gotowe do użytku. Wykonanie tych operacji
jest nie tylko czasochłonne. Każdy obiekt połączenia musi przechowywać wiele różnych
opcji i wobec tego wymaga pewnego obszaru pamięci. Jeśli połączenia nie są współdzielo-
ne, to ich liczba i koszt wzrastają wraz z liczbą żądań. Koszt utrzymywania wielu połą-
czeń zaczyna w pewnym momencie ograniczać liczbę klientów, których może obsłużyć
aplikacja.
Współdzielenie połączeń jest więc obowiązkowe z punktu widzenia skalowalności. Podob-
nie współdzielenie kosztów tworzenia połączeń. W skrajnym przypadku można tak zapro-
jektować całą aplikację, by obsługiwała wszystkich klientów za pomocą pojedynczego
połączenia z bazą danych. Rozwiązanie takie skutecznie eliminuje koszt tworzenia połą-
czeń z bazą danych, jednak ogranicza równoległość, ponieważ dostęp do bazy danych
musi być jakoś zsynchronizowany. Współdzielenie połączeń z bazą danych pozwala także
komponentom aplikacji uniknąć uczestniczenia w transakcjach (patrz rozdział 10.).
22. 126 Rozdział 5. Skalowalność warstwy prezentacji
Lepsze rozwiązanie polega na utworzeniu puli zawierającej pewną liczbą połączeń współ-
dzielonych przez klientów. Gdy klient wymaga połączenia z bazą danych, pobiera je z puli.
Po zakończeniu komunikacji z bazą danych klient zwraca połączenie do puli i może ono
zostać użyte przez kolejnego klienta. Ponieważ połączenia są w ten sposób współdzielone
przez klientów, to koszty utworzenia i utrzymania połączeń rozkładają się na wielu klien-
tów. Liczba połączeń dostępnych w puli musi mieć górną granicę, aby koszty ich tworze-
nia i utrzymywania nie wymknęły się spod kontroli.
Kolejną istotną zaletą puli jest to, że tworzy ona pojedynczy punkt efektywnego strojenia.
Jeśli w puli umieścimy więcej obiektów, to zwiększymy czas jej tworzenia oraz zużycie
pamięci, ale zwykle uzyskamy również możliwość obsługi większej liczby klientów.
Natomiast mniejszy rozmiar puli sprzyja skalowalności systemu, ponieważ jej obsługa
wymaga mniej pamięci i czasu procesora. Zmieniając parametry puli podczas działania
aplikacji, możemy dopasować stopień wykorzystania pamięci i procesora do możliwości
systemu, w którym działa aplikacja.
Wzorzec puli zasobów
Wzorzec puli zasobów może być zastosowany do wielu kosztownych operacji. Pule zasobów
ujawniają najwięcej zalet w przypadku takich zasobów, których tworzenie związane jest
ze znacznymi kosztami, takich jak połączenia z bazą danych lub wątki. Zastosowanie
w tych przypadkach wzorca powoduje rozłożenie kosztów na wiele klientów. Pule mogą
być również zaadaptowane do operacji — takich jak parsowanie — których wykonanie
jest czasochłonne. Pozwalają one wtedy kontrolować sposób wykorzystania pamięci i czasu
procesora. Na rysunku 5.6 przedstawiony został ogólny diagram wzorca puli zasobów.
Rysunek 5.6. Wzorzec puli zasobów
Obiekt Pool reprezentuje pulę zasobów i jest odpowiedzialny za tworzenie, utrzymanie
i kontrolę dostępu do obiektów Resource reprezentujących zasoby. Klient wywołuje metodę
getResource() w celu uzyskania instancji zasobu. Gdy zasób nie jest mu już potrzebny,
zwraca go do puli za pomocą metody returnResource().
Pula wykorzystuje obiekt fabryki Factory do tworzenia instancji zasobu. Korzystając
z fabryki, ta sama pula może być wykorzystywana dla wielu różnych rodzajów obiektów.
Metoda fabryki createResource() używana jest w celu wygenerowania nowych instancji
zasobu. Zanim instancja zasobu zostanie przekazana kolejnemu klientowi do ponownego
użycia, pula wywołuje metodę fabryki validateResource() nadającą zasobowi określony
stan początkowy. Jeśli zasób jest, na przykład, połączeniem z bazą danych, które zostało
23. Pule zasobów 127
już zamknięte, to metoda validateResource() może po prostu zwrócić wartość false,
wskazując na konieczność dodania nowego połączenia do puli. Dla zwiększenia efektyw-
ności fabryka może nawet próbować „naprawić” zasób — na przykład próbując ponownie
otworzyć połączenie z bazą danych. Dlatego też metodę validateResource() nazywa się
czasami metodą odzysku.
Wzorzec nie nakłada żadnych ograniczeń na klasę Resource. Zawartość i wykorzystanie
zasobu muszą być jedynie skoordynowane pomiędzy twórcą puli a jej klientami. Zwykle
pule przechowują obiekty jednego typu, ale nie jest to wymagane. Zaawansowane imple-
mentacje puli czasami pozwalają nawet na przekazanie metodzie getResource() filtra
w celu określenia kryteriów, które powinien spełniać zasób.
Implementacja puli zasobów
Silnik serwletów wykorzystuje pulę wątków do obsługi żądań. Każde żądanie obsługi-
wane jest przez pojedynczy wątek pochodzący z tej puli, który uzyskuje dostęp do współ-
dzielonych instancji serwletów w celu wygenerowania wyniku. Większość serwerów
aplikacji umożliwia konfigurowanie liczby wątków dostępnych w puli w czasie działa-
nia serwera. Liczba ta stanowi krytyczną zmienną dla skalowalności aplikacji interneto-
wej — jeśli będzie zbyt mała, to pewne żądania niektórych klientów zostaną odrzucone
lub będą obsługiwane zbyt długo. Jeśli pula będzie zbyt duża, może przeciążyć serwer
i w efekcie spowolnić działanie aplikacji.
Istnienie puli wątków nie wyczerpuje jednak zastosowań puli w aplikacjach biznesowych.
Pula wątków serwletów stanowi dość zgrubne rozwiązanie. Korzystając z tej jednej puli,
zakładamy tym samym, że te same ograniczenia dotyczą wszystkich żądań, na przykład
szybkości parsowania plików XML lub połączeń z bazą danych. W praktyce jednak różne
żądania mają różne ograniczenia. Osobne pule dla parserów XML i połączeń z bazami
danych mogą umożliwić zwiększenie całkowitej liczby wątków i wprowadzenie różnych
ograniczeń na czas parsowania i czas połączenia z bazą danych.
Opis wzorca sugeruje, że implementacja puli zasobów w języku Java jest całkiem prosta.
Najlepiej jest stworzyć dostatecznie ogólną pulę, aby następnie tworzyć pule dowolnych
obiektów, zmieniając tylko ich fabrykę. Ze względu na możliwość korzystania z puli
równocześnie przez wiele wątków (każda pula używana w środowisku serwletów musi
obsługiwać taką możliwość) musimy zapewnić synchronizację dostępu do puli. Na listin-
gu 5.5 przedstawiona została implementacja prostej puli.
Listing 5.5. Klasa ResourcePool
import java.util.*;
public class ResourcePool {
private ResourceFactory factory;
private int maxObjects;
private int curObjects;
private boolean quit;
// zasoby wynajęte
24. 128 Rozdział 5. Skalowalność warstwy prezentacji
private Set outResources;
// zasoby do wynajęcia
private List inResources;
public ResourcePool(ResourceFactory factory, int maxObjects) {
this.factory = factory;
this.maxObjects = maxObjects;
curObjects = 0;
outResources = new HashSet(maxObjects);
inResources = new LinkedList();
}
// pobiera zasób z puli
public synchronized Object getResource() throws Exception {
while(!quit) {
// najpierw próbuje zwrócić istniejący zasób
if (!inResources.isEmpty()) {
Object o = inResources.remove(0);
// jeśli nie jest poprawny, to tworzy kolejny
if(!factory.validateResource(o))
o = factory.createResource();
outResources.add(o);
return o;
}
// następnie tworzy nowy zasób,
// jeśli limit nie został jeszcze osiągnięty
if(curObjects < maxObjects) {
Object o = factory.createResource();
outResources.add(o);
curObjects++;
return o;
}
// jeśli brak jest dostępnych zasobów,
// to oczekuje, a jakiś zostanie zwrócony
try { wait(); } catch(Exception ex) {}
}
// pula została usunięta
return null;
}
// zwraca zasób do puli
public synchronized void returnResource(Object o) {
// coś jest nie tak, metoda poddaje się
if(!outResources.remove(o))
return;
inResources.add(o);
notify();
}
public synchronized void destroy() {
25. Pule zasobów 129
quit = true;
notifyAll();
}
}
W powyższym przykładzie założyliśmy, że fabryki mają bardzo prosty interfejs naszki-
cowany już wcześniej:
public interface ResourceFactory {
public Object createResource();
public boolean validateResource(Object o);
}
Zastosowanie puli zilustrujemy na przykładzie operacji parsowania plików XML. Podob-
nie jak w przypadku połączeń do baz danych, również tworzenie i utrzymywanie parse-
rów XML może być kosztowne. Stosując pulę parserów, nie tylko rozkładamy koszt ich
tworzenia na wiele klientów, ale zyskujemy równocześnie możliwość kontroli, jak wiele
wątków wykonuje kosztowną operację parsowania w danym momencie. Aby stworzyć
pulę parserów, musimy jedynie dostarczyć odpowiednią fabrykę, na przykład taką jak
pokazana na listingu 5.6.
Listing 5.6. Klasa XMLParserFactory
import javax.xml.parsers.*;
public class XMLParserFactory implements ResourceFactory {
DocumentBuilderFactory dbf;
public XMLParserFactory() {
dbf = DocumentBuilderFactory.newInstance();
}
// tworzy nowy obiekt DocumentBuilder w celu dodania do puli
public Object createResource() {
try {
return dbf.newDocumentBuilder();
} catch (ParserConfigurationException pce) {
...
return null;
}
}
// sprawdza, czy obiekt DocumentBuilder jest poprawny
// i nadaje mu domyślne wartości atrybutów
public boolean validateResource(Object o) {
if (!(o instanceof DocumentBuilder)) {
return false;
}
DocumentBuilder db = (DocumentBuilder) o;
db.setEntityResolver(null);
db.setErrorHandler(null);
return true;
}
}
26. 130 Rozdział 5. Skalowalność warstwy prezentacji
Kod klienta używającego puli parserów XML może wyglądać następująco:
public class XMLClient implements Runnable {
private ResourcePool pool;
public XMLClient(int poolsize) {
pool = new ResourcePool(new XMLParserFactory(), poolsize);
...
// uruchamia wątki itd.
Thread t = new Therad(this);
t.start();
...
// czeka na wątki
t.join();
// usuwa pulę
pool.destroy();
}
public void run() {
try {
// pobiera parser z puli
DocumentBuilder db = (DocumentBuilder)pool.getResource();
} catch (Exception ex) {
return;
}
try {
...
// wykonuje parsowanie
...
} catch (Exception ex) {
...
} finally {
// zawsze zwraca zasób do puli
pool.returnResource(db);
}
}
}
Pule zasobów wyglądają doskonale na papierze, ale czy rzeczywiście pomogą nam par-
sować pliki XML? A jeśli tak, to w jaki sposób należy dobrać właściwy rozmiar puli?
Przyjrzyjmy się zatem praktyce zastosowań puli i ich wydajności.
Niezwykle istotne jest dobranie właściwego rozmiaru puli. W naszych testach użyliśmy
dwóch serwerów, z których jeden miał dwa procesory, a drugi wyposażony był w sześć
procesorów. Oba serwery dysponowały wyjątkowo dużą pamięcią operacyjną. Spodziewa-
liśmy się, że serwery o takich konfiguracjach będą obsługiwać dużą liczbę wątków. Uży-
wając programu testowego podobnego do przedstawionego powyżej, sprawdziliśmy czas
parsowania pliku XML zawierającego 2 000 wierszy przy zastosowaniu różnych kombi-
nacj liczby wątków i rozmiaru puli. W tabeli 5.1 przedstawione zostały optymalne roz-
miary puli uzyskane dla różnej liczby wątków dla obu serwerów. Nie jest zaskoczeniem,
że dla parsowania pliku XML wymagającego przede wszystkim czasu procesora optymal-
ny rozmiar puli jest zbliżony do liczby procesorów w systemie. Dla zadań intensywniej
używających operacji wejścia i wyjścia uzyskalibyśmy z pewnością zupełnie inne wyniki.
27. Pule zasobów 131
Tabela 5.1. Optymalne rozmiary puli dla różnej liczby wątków
Optymalny rozmiar puli Optymalny rozmiar puli
Liczba wątków
2 procesory 6 procesorów
1 1 1
2 2 2
4 4 4
8 2 8
16 2 15
32 2 6
64 2 6
128 2 6
256 2 6
512 2 4
1024 2 6
Znając optymalne rozmiary puli, możemy ocenić poprawę skalowalności uzyskaną przez
ich zastosowanie. W tym celu wykonaliśmy testy dla dwóch wersji programu, z których
jedna używała puli o optymalnym rozmiarze, natomiast druga była jej w ogóle pozba-
wiona. Na rysunku 5.7 przedstawione zostały uzyskane przez nas wyniki jako zależności
czasu przetwarzania wątku od liczby wątków.
Rysunek 5.7. Szybkość parsowania plików XML a zastosowanie puli
Zastosowanie puli zdecydowanie poprawia szybkość parsowania plików XML, zwłaszcza
gdy aktywnych jest więcej niż 32 wątki. Uzyskane wyniki potwierdzają naszą teorię, że
zastosowanie puli zwiększa skalowalność w przypadku przetwarzania zadań intensywnie
28. 132 Rozdział 5. Skalowalność warstwy prezentacji
wykorzystujących procesor, ponieważ ogranicza narzut związany z przełączaniem zbyt
wielu zadań. Nie jest również zaskoczeniem, że zastosowanie puli oprócz zwiększenia
szybkości przetwarzania spowodowało również mniejsze odchylenia wyników uzyskiwa-
nych w kolejnych próbach.
W niniejszym rozdziale omówiliśmy trzy wzorce, które zwiększają skalowalność warstwy
prezentacji. Wzorzec strony asynchronicznej opisuje sposób buforowania danych pobie-
ranych ze źródeł zewnętrznych. Wzorzec filtra buforującego przedstawia metodę bufo-
rowania kompletnych stron generowanych dynamicznie. Wzorzec puli zasobów buduje
pulę obiektów, których tworzenie związane jest ze znacznym kosztem i umożliwia ich
wynajmowanie.