Bądź na bieżąco z najnowszymi narzędziami i technikami programowania
* Wykorzystaj możliwości szablonów
* Połącz skrypty Perla z programami napisanymi w innych językach programowania
* Przetestuj kod i popraw wydajność projektu
Perl, jeden z pierwszych języków skryptowych służących do dynamicznego generowania zawartości witryn WWW, nie traci popularności mimo dość sędziwego wieku. Ciągle wzrasta zainteresowanie tym językiem, co pewien czas powstają kolejne jego wersje. W sieci funkcjonują tysiące witryn poświęconych programowaniu w Perlu, jednak podczas pracy nad rozbudowaną aplikacją nie zawsze znajdujemy czas na poszukiwanie niezbędnych informacji. Zgromadzenie w jednym tomie opisów technik stosowanych przez doświadczonych programistów pozwoliłoby znacznie przyspieszyć pracę.
Książka "Perl. Zaawansowane programowanie. Wydanie II" to kompendium wiedzy dla wszystkich, którzy tworzą aplikacje w Perlu. Autor opisuje zmiany, jakie wprowadzono w Perlu w ciągu ostatnich lat, koncentrując się na technikach rozwiązywania konkretnych problemów, a nie na teoretycznych rozważaniach. Kładzie duży nacisk na możliwości stosowania gotowych kodów z witryn Comprehensive Perl Archive Network, w których zgromadzono setki przykładów wykorzystania Perla. Uczy efektywnej pracy i zachęca do stosowania zaawansowanych narzędzi i technik programistycznych.
* Techniki przetwarzania danych tekstowych
* Stosowanie szablonów
* Pobieranie wiadomości RSS
* Obsługa baz danych
* Korzystanie z kodowania Unicode
* Programowanie sterowane zdarzeniami
* Testowanie kodu i usuwanie błędów
* Łączenie kodu Perla z kodem C za pomocą modułu Inline
Odkryj magię Perla.
Książka "PHP i MySQL. Aplikacje bazodanowe" jest przeznaczona dla tych, którzy tworzą lub zamierzają tworzyć witryny WWW oparte na technologii PHP i MySQL. Opisano w niej reguły i techniki wykorzystywane przy tworzeniu małych i średnich aplikacji bazodanowych wykorzystywanych do przechowywania danych, odczytywania ich i zarządzania nimi. Przedstawia zasady pracy z bazami danych. Pokazuje, jak śledzić poczynania użytkowników za pomocą sesji, pisać bezpieczny kod, oddzielać go od warstwy prezentacyjnej i uniezależniać go od wyboru bazy danych. Opisuje również techniki generowania raportów i obsługi błędów oraz zaawansowane zagadnienia związane z bazami danych i programowaniem zorientowanym obiektowo.
* Typowe modele architektury aplikacji bazodanowych
* Język PHP -- podstawowe wiadomości
* Programowanie zorientowane obiektowo w PHP5
* Język SQL i baza danych MySQL
* Biblioteka PEAR
* Kontrola poprawności wprowadzanych danych z wykorzystaniem PHP i JavaScript
* Mechanizmy bezpieczeństwa w aplikacjach bazodanowych
* Wdrażanie aplikacji
* Generowanie raportów
* Przykład praktyczny -- internetowy sklep z winami
Wiadomości zawarte w tej książce pomogą każdemu programiście stworzyć sklep internetowy, portal lub system zarządzania treścią.
Profesjonalny przewodnik po języku Perl
Ten kompletny przewodnik po Perlu szybko i wygodnie dostarcza doświadczonym programistom odpowiednich technik i ilustrujących je praktycznych przykładów kodu. Lektura tej książki pozwoli Ci najpierw rozwinąć swoje dotychczasowe umiejętności, a następnie zgłębić tajniki podstawowych technik programowania w Perlu. Książka rozpoczyna się opisem podstawowej składni języka, przechodzi później do obiektów, struktur danych i zasad przetwarzania tekstu. Następnie wyjaśnia, jak korzystać z dostarczonych przez Perl narzędzi umożliwiających pracę z plikami, działanie programów w sieci czy współpracę z relacyjnymi bazami danych. Na koniec pokazuje, jak wykorzystać pełnię możliwości Perla podczas tworzenia aplikacji WWW - zarówno prostych skryptów CGI, jak i w pełni zaawansowanych narzędzi obsługujących witryny WWW.
Opisano między innymi:
* Typy danych i podstawowe funkcje Perla
* Zasady pisania i korzystania z modułów Perla
* Sposoby korzystania z plików tekstowych i plików DBM
* Interfejs DBI pozwalający na korzystanie z baz danych i integrowanie baz danych ze stronami WWW
* Programy CGI, moduły mod_perl dla serwera Apache, cookie protokołu HTTP oraz szablony HTML/Perla
* Mason: oparty na Perlu system tworzenia zaawansowanych witryn WWW
* Wykrywanie i usuwanie błędów, optymalizacja kodu oraz sprawy związane z bezpieczeństwem
Od wielu już lat programiści na całym świecie doceniają Perla za jego prostotę, wygodę i uniwersalną zdolność do rozwiązywania szerokiego zakresu problemów; począwszy od przetwarzania tekstu i administrowania systemem operacyjnym po komunikację z bazami danych i tworzenie stron WWW. Książka "Perl" dostarcza programistom wiedzy niezbędnej do tworzenia wszechstronnych, przejrzystych i bardzo wydajnych programów - niezależnie jakie będą zadania tworzonych przez niego aplikacji.
Perl to uniwersalny, wygodny i niezwykle elastyczny język programowania. Jego rozwój, wspierany przez rzeszę programistów, doprowadził do stworzenia narzędzia o ogromnych możliwościach dostępnego dla prawie wszystkich systemów operacyjnych. Jest to język wyjątkowy, gdyż pozwala programiście na wybór własnego stylu pisania kodu, nie narzucając "jedynie słusznych" rozwiązań. Dzięki tej zalecie Perl cieszy się wielką popularnością wśród osób nie zajmujących się zawodowo programowaniem (np. administratorów czy webmasterów). Kilka tysięcy darmowych modułów dodatkowo poszerza potencjał Perla.
Książka "Perl. Od podstaw" przedstawia szeroki zakres zastosowań tego języka. Nauczysz się z niej instalować Perla w różnych systemach operacyjnych, poznasz podstawowe konstrukcje języka: instrukcje, wyrażenia regularne i moduły, dowiesz się jak korzystać z baz danych za pomocą Perla i jak pisać skrypty CGI.
Dla kogo adresowana jest ta książka?
Książka przeznaczona jest dla wszystkich, którzy chcą poznać język Perl. Jeśli masz już doświadczenie programistyczne, będzie Ci łatwiej ją czytać; jeśli Perl jest Twoim pierwszym językiem programowania, bez trudu przebrniesz przez tą lekturę.
Książka zawiera:
* Pełen kurs języka Perl (zarówno dla Windows jak i dla Uniksa)
* Opis korzystania z dodatkowych modułów dostępnych w sieci
* Opis składni Perla
* Sposoby wykorzystania plików i baz danych w Perlu
* Omówienie programowania skryptów CGI
* Wykorzystanie Perla jako języka zorientowanego obiektowo
Zwięzły przewodnik opisujący najczęściej używane instrukcje języka Java
* Naucz się kompilować i uruchamiać programy w Javie
* Poznaj najpopularniejsze polecenia tego języka
* Pisz programy działające na wielu platformach
Już od wielu lat Java jest jednym z najpopularniejszych języków programowania, a znający ją programiści są poszukiwani i cenieni na rynku pracy. Jej atrakcyjność wynika głównie z tego, że kod napisany w tym języku można uruchamiać na wielu platformach, włączając w to różne systemy operacyjne, a także urządzenia przenośne, na przykład telefony komórkowe. Prosty jest także dostęp do wielu narzędzi oraz bezpłatnych bibliotek ułatwiających programowanie w Javie. Ponadto język ten otwiera wielkie możliwości w zakresie tworzenia aplikacji sieciowych.
"Java. Rozmówki" przedstawia skuteczne rozwiązania najczęściej występujących problemów i pomoże Ci błyskawicznie rozpocząć programowanie w tym języku. Dowiesz się, jak kompilować i uruchamiać programy w Javie. Nauczysz się manipulować ciągami, strukturami danych i datami oraz stosować wyrażenia regularne. Poznasz operacje wejścia i wyjścia, a także sposoby pracy z katalogami i plikami. Przeczytasz o aplikacjach sieciowych działających zarówno po stronie klienta, jak i po stronie serwera. Opanujesz efektywne techniki pracy z bazami danych i korzystanie z formatu XML.
* Kompilowanie i uruchamianie programów w Javie
* Współpraca ze środowiskiem
* Obsługa ciągów i liczb
* Korzystanie ze struktur danych
* Operacje wejścia i wyjścia
* Manipulowanie plikami i katalogami
* Praca z klientami i serwerami sieciowymi
* Komunikacja z bazami danych i używanie XML
* Programowanie wielowątkowe
Dzięki treściwym rozmówkom błyskawicznie poznasz praktyczne podstawy programowania w Javie.
Umiesz programować w Perlu, lecz czujesz pewien niedosyt? Pracujesz nad większym projektem niż zazwyczaj i jesteś zagubiony? A może chciałbyś dodać do swojej aplikacji efektowny interfejs użytkownika, bardziej zaawansowany mechanizm przechwytywania błędów lub obsługę sieci i nie wiesz jak to zrobić?
Ta książka pomoże Ci stać się lepszym programistą bez względu na to, czy Twoja znajomość Perla jest powierzchowna, czy dogłębna. Nauczysz się zaawansowanych technik przygotowywania programów w Perlu o jakości produkcyjnej. Poznasz metody przetwarzania danych i używania obiektów, które wcześniej mogły wydawać Ci się czarną magią. Książka przedstawia szerokie zastosowania Perla: od sieci, baz danych, po interfejsy użytkownika. Znajdziesz w niej także opis wewnętrznych mechanizmów języka umożliwiających tworzenie wydajniejszych aplikacji oraz łączenie Perla z językiem C.
Do najważniejszych tematów poruszanych w książce należą:
* Praktyczne zastosowania pakietów i klas (programowanie obiektowe)
* Złożone struktury danych
* Trwałość danych (np. bazy danych)
* Sieci
* Interfejsy graficzne budowane za pomocą pakietu Tk
* Interakcja z funkcjami języka C
* Osadzanie i rozszerzanie interpretera Perla
* Wybrane aspekty wewnętrznych mechanizmów Perla
W książce przystępnie wytłumaczono wszystkie zagadnienia związane z Perlem, o których zapewne chciałbyś wiedzieć więcej: odwołania, przechwytywanie błędów operatorem eval, nieblokujące operacje wejścia/wyjścia, zasadność stosowania domknięć oraz dowiązania z użyciem mechanizmu tie. Jej lektura spowoduje, że poczujesz się prawdziwym hakerem -- mistrzem Perla.
"Nieprzeciętny tekst i najbardziej zaawansowana książka o Perlu, jaką napisano. Autor -- specjalista -- objaśnia trudne koncepcje w sposób klarowny i kompletny."
Jon Orwant, redaktor The Perl Journal
Jeśli chcesz rozpocząć przygodę z programowaniem -- zacznij naukę od Perla. Po kilku godzinach pracy przekonasz się, że dokonałeś najlepszego wyboru. Perl posiada wielką zaletę, której brakuje konkurencyjnym narzędziom: nie znając wszystkich jego niuansów możesz pisać działające aplikacje.
Larry Wall stworzył Perla dla osób, które są niecierpliwe (programy w Perlu pisze się bardzo szybko), leniwe (kod programów jest zwięzły, a ich tworzenie ułatwia ogromna liczba gotowych modułów) i chcą być dumne z tego, co robią (sam przekonasz się, jak wiele satysfakcji dostarczy Ci programowanie w Perlu).
Książka przeznaczona jest dla początkujących programistów. Dowiesz się z niej jak zainstalować Perla, a następnie, krok po kroku, ćwiczenie po ćwiczeniu, zagłębisz się w jego świat.
Poznasz:
* Fundamenty języka: zmienne, instrukcje i referencje
* Wyrażenia regularne, umożliwiające szybkie przeszukiwanie tekstów i podmianę fragmentów
* Sposoby korzystania z plików
* Zasady pisania skryptów CGI
* Wysyłanie e-maili za pomocą Perla
* Łączenie Perla z bazami danych
Efektywne wykorzystanie potencjału systemów uniksowych
* Automatyzacja zadań
* Przeszukiwanie plików i katalogów
* Przenoszenie skryptów pomiędzy systemami
W dobie graficznych narzędzi programistycznych często pomijamy tradycyjne metody rozwiązywania przeróżnych zadań związanych z działaniem systemu operacyjnego. Skrypty powłoki, niegdyś podstawowe narzędzie administratorów i programistów systemów uniksowych, dziś są zdecydowanie mniej popularne. Skrypty powłoki są przydatne zarówno administratorom systemu, jak i szeregowym użytkownikom, ponieważ są jednym z najlepszych sposobów na zaprzęgnięcie do pracy setek narzędzi, w jakie wyposażony jest Unix. Z narzędzi tych w języku programowania powłoki łatwo stworzyć rozwiązanie niemal dowolnego zadania związanego z przetwarzaniem danych.
Książka "Programowanie skryptów powłoki" to kompendium wiedzy dotyczącej tej nieco już zapomnianej techniki. Przedstawia nie tylko język programowania powłoki, ale także narzędzia systemu Unix. Dostarcza informacji o tym, do jakich zadań się nadają, jak je wywoływać i jak łączyć je z innymi programami, konstruując z nich mechanizm przetwarzania danych. W książce opisano nie tylko sposoby pisania użytecznych skryptów powłoki, ale również metody dostosowywania powłoki do własnych potrzeb oraz przenoszenia skryptów pomiędzy różnymi wariantami Uniksa i różnymi implementacjami powłoki.
* Podstawowe elementy skryptów powłoki
* Wyszukiwanie i zastępowanie fragmentów tekstów
* Stosowanie wyrażeń regularnych
* Korzystanie z potoków
* Instrukcje warunkowe
* Definiowanie i stosowanie zmiennych
* Przetwarzanie plików
* Standardowe wejście i wyjście
* Korzystanie z możliwości awk
* Przenoszenie skryptów pomiędzy różnymi powłokami
* Bezpieczeństwo skryptów powłoki
Książka "Programowanie skryptów powłoki" zawiera wszystkie informacje niezbędne do mistrzowskiego opanowania narzędzi oferowanych przez systemy uniksowe.
Przystępny kurs programowania dla wszystkich
* Poznaj najpopularniejsze języki programowania
* Zorganizuj sobie pracę przy tworzeniu aplikacji
* Napisz własny program
* Przetestuj aplikacje i usuń błędy
Mimo dynamicznego rozwoju informatyki wśród większości użytkowników komputerów nadal istnieje przekonanie, że programowanie jest zajęciem dla wybrańców posiadających ogromną i niemal tajemną wiedzę. Tymczasem pisanie programów to umiejętność, którą może opanować każdy. Oczywiście nauka programowania wymaga poznania wielu zagadnień teoretycznych i praktycznych, ale nie wymaga od osoby uczącej się żadnych niezwykłych umiejętności. Każdy może poznać zasady pisania programów, zarówno dla celów hobbystycznych, jak i zawodowych.
Książka "Programowanie. Od podstaw" to podręcznik programowania przeznaczony dla osób, które dopiero rozpoczynają swoją komputerową przygodę. Zawiera uniwersalne wiadomości przydatne każdemu programiście niezależnie od tego, co i w jakim języku będzie tworzyć. Czytając ją, poznasz wady i zalety różnych języków programowania, sposoby realizacji typowych zadań programistycznych i metody testowania aplikacji. Dowiesz się, jak komputery przechowują informacje, jakie systemy liczbowe wykorzystuje się w programowaniu i jakie narzędzia będą Ci potrzebne podczas pracy. Zdobędziesz solidne podstawy, które pozwolą Ci na dalsze rozwijanie swoich umiejętności.
* Sposób interpretacji kodu źródłowego przez komputer
* System binarny i szesnastkowy
* Warsztat pracy programisty
* Komentarze w kodach programów
* Definiowanie zmiennych
* Instrukcje warunkowe
* Testowanie i usuwanie błędów
* Projektowanie interfejsów użytkownika
* Operacje na plikach
* Wykorzystywanie rejestru Windows
* Zarządzanie wersjami kodu
* Kompilacja
Przekonaj się, że programowanie nie jest trudne.
Książka "PHP i MySQL. Aplikacje bazodanowe" jest przeznaczona dla tych, którzy tworzą lub zamierzają tworzyć witryny WWW oparte na technologii PHP i MySQL. Opisano w niej reguły i techniki wykorzystywane przy tworzeniu małych i średnich aplikacji bazodanowych wykorzystywanych do przechowywania danych, odczytywania ich i zarządzania nimi. Przedstawia zasady pracy z bazami danych. Pokazuje, jak śledzić poczynania użytkowników za pomocą sesji, pisać bezpieczny kod, oddzielać go od warstwy prezentacyjnej i uniezależniać go od wyboru bazy danych. Opisuje również techniki generowania raportów i obsługi błędów oraz zaawansowane zagadnienia związane z bazami danych i programowaniem zorientowanym obiektowo.
* Typowe modele architektury aplikacji bazodanowych
* Język PHP -- podstawowe wiadomości
* Programowanie zorientowane obiektowo w PHP5
* Język SQL i baza danych MySQL
* Biblioteka PEAR
* Kontrola poprawności wprowadzanych danych z wykorzystaniem PHP i JavaScript
* Mechanizmy bezpieczeństwa w aplikacjach bazodanowych
* Wdrażanie aplikacji
* Generowanie raportów
* Przykład praktyczny -- internetowy sklep z winami
Wiadomości zawarte w tej książce pomogą każdemu programiście stworzyć sklep internetowy, portal lub system zarządzania treścią.
Profesjonalny przewodnik po języku Perl
Ten kompletny przewodnik po Perlu szybko i wygodnie dostarcza doświadczonym programistom odpowiednich technik i ilustrujących je praktycznych przykładów kodu. Lektura tej książki pozwoli Ci najpierw rozwinąć swoje dotychczasowe umiejętności, a następnie zgłębić tajniki podstawowych technik programowania w Perlu. Książka rozpoczyna się opisem podstawowej składni języka, przechodzi później do obiektów, struktur danych i zasad przetwarzania tekstu. Następnie wyjaśnia, jak korzystać z dostarczonych przez Perl narzędzi umożliwiających pracę z plikami, działanie programów w sieci czy współpracę z relacyjnymi bazami danych. Na koniec pokazuje, jak wykorzystać pełnię możliwości Perla podczas tworzenia aplikacji WWW - zarówno prostych skryptów CGI, jak i w pełni zaawansowanych narzędzi obsługujących witryny WWW.
Opisano między innymi:
* Typy danych i podstawowe funkcje Perla
* Zasady pisania i korzystania z modułów Perla
* Sposoby korzystania z plików tekstowych i plików DBM
* Interfejs DBI pozwalający na korzystanie z baz danych i integrowanie baz danych ze stronami WWW
* Programy CGI, moduły mod_perl dla serwera Apache, cookie protokołu HTTP oraz szablony HTML/Perla
* Mason: oparty na Perlu system tworzenia zaawansowanych witryn WWW
* Wykrywanie i usuwanie błędów, optymalizacja kodu oraz sprawy związane z bezpieczeństwem
Od wielu już lat programiści na całym świecie doceniają Perla za jego prostotę, wygodę i uniwersalną zdolność do rozwiązywania szerokiego zakresu problemów; począwszy od przetwarzania tekstu i administrowania systemem operacyjnym po komunikację z bazami danych i tworzenie stron WWW. Książka "Perl" dostarcza programistom wiedzy niezbędnej do tworzenia wszechstronnych, przejrzystych i bardzo wydajnych programów - niezależnie jakie będą zadania tworzonych przez niego aplikacji.
Perl to uniwersalny, wygodny i niezwykle elastyczny język programowania. Jego rozwój, wspierany przez rzeszę programistów, doprowadził do stworzenia narzędzia o ogromnych możliwościach dostępnego dla prawie wszystkich systemów operacyjnych. Jest to język wyjątkowy, gdyż pozwala programiście na wybór własnego stylu pisania kodu, nie narzucając "jedynie słusznych" rozwiązań. Dzięki tej zalecie Perl cieszy się wielką popularnością wśród osób nie zajmujących się zawodowo programowaniem (np. administratorów czy webmasterów). Kilka tysięcy darmowych modułów dodatkowo poszerza potencjał Perla.
Książka "Perl. Od podstaw" przedstawia szeroki zakres zastosowań tego języka. Nauczysz się z niej instalować Perla w różnych systemach operacyjnych, poznasz podstawowe konstrukcje języka: instrukcje, wyrażenia regularne i moduły, dowiesz się jak korzystać z baz danych za pomocą Perla i jak pisać skrypty CGI.
Dla kogo adresowana jest ta książka?
Książka przeznaczona jest dla wszystkich, którzy chcą poznać język Perl. Jeśli masz już doświadczenie programistyczne, będzie Ci łatwiej ją czytać; jeśli Perl jest Twoim pierwszym językiem programowania, bez trudu przebrniesz przez tą lekturę.
Książka zawiera:
* Pełen kurs języka Perl (zarówno dla Windows jak i dla Uniksa)
* Opis korzystania z dodatkowych modułów dostępnych w sieci
* Opis składni Perla
* Sposoby wykorzystania plików i baz danych w Perlu
* Omówienie programowania skryptów CGI
* Wykorzystanie Perla jako języka zorientowanego obiektowo
Zwięzły przewodnik opisujący najczęściej używane instrukcje języka Java
* Naucz się kompilować i uruchamiać programy w Javie
* Poznaj najpopularniejsze polecenia tego języka
* Pisz programy działające na wielu platformach
Już od wielu lat Java jest jednym z najpopularniejszych języków programowania, a znający ją programiści są poszukiwani i cenieni na rynku pracy. Jej atrakcyjność wynika głównie z tego, że kod napisany w tym języku można uruchamiać na wielu platformach, włączając w to różne systemy operacyjne, a także urządzenia przenośne, na przykład telefony komórkowe. Prosty jest także dostęp do wielu narzędzi oraz bezpłatnych bibliotek ułatwiających programowanie w Javie. Ponadto język ten otwiera wielkie możliwości w zakresie tworzenia aplikacji sieciowych.
"Java. Rozmówki" przedstawia skuteczne rozwiązania najczęściej występujących problemów i pomoże Ci błyskawicznie rozpocząć programowanie w tym języku. Dowiesz się, jak kompilować i uruchamiać programy w Javie. Nauczysz się manipulować ciągami, strukturami danych i datami oraz stosować wyrażenia regularne. Poznasz operacje wejścia i wyjścia, a także sposoby pracy z katalogami i plikami. Przeczytasz o aplikacjach sieciowych działających zarówno po stronie klienta, jak i po stronie serwera. Opanujesz efektywne techniki pracy z bazami danych i korzystanie z formatu XML.
* Kompilowanie i uruchamianie programów w Javie
* Współpraca ze środowiskiem
* Obsługa ciągów i liczb
* Korzystanie ze struktur danych
* Operacje wejścia i wyjścia
* Manipulowanie plikami i katalogami
* Praca z klientami i serwerami sieciowymi
* Komunikacja z bazami danych i używanie XML
* Programowanie wielowątkowe
Dzięki treściwym rozmówkom błyskawicznie poznasz praktyczne podstawy programowania w Javie.
Umiesz programować w Perlu, lecz czujesz pewien niedosyt? Pracujesz nad większym projektem niż zazwyczaj i jesteś zagubiony? A może chciałbyś dodać do swojej aplikacji efektowny interfejs użytkownika, bardziej zaawansowany mechanizm przechwytywania błędów lub obsługę sieci i nie wiesz jak to zrobić?
Ta książka pomoże Ci stać się lepszym programistą bez względu na to, czy Twoja znajomość Perla jest powierzchowna, czy dogłębna. Nauczysz się zaawansowanych technik przygotowywania programów w Perlu o jakości produkcyjnej. Poznasz metody przetwarzania danych i używania obiektów, które wcześniej mogły wydawać Ci się czarną magią. Książka przedstawia szerokie zastosowania Perla: od sieci, baz danych, po interfejsy użytkownika. Znajdziesz w niej także opis wewnętrznych mechanizmów języka umożliwiających tworzenie wydajniejszych aplikacji oraz łączenie Perla z językiem C.
Do najważniejszych tematów poruszanych w książce należą:
* Praktyczne zastosowania pakietów i klas (programowanie obiektowe)
* Złożone struktury danych
* Trwałość danych (np. bazy danych)
* Sieci
* Interfejsy graficzne budowane za pomocą pakietu Tk
* Interakcja z funkcjami języka C
* Osadzanie i rozszerzanie interpretera Perla
* Wybrane aspekty wewnętrznych mechanizmów Perla
W książce przystępnie wytłumaczono wszystkie zagadnienia związane z Perlem, o których zapewne chciałbyś wiedzieć więcej: odwołania, przechwytywanie błędów operatorem eval, nieblokujące operacje wejścia/wyjścia, zasadność stosowania domknięć oraz dowiązania z użyciem mechanizmu tie. Jej lektura spowoduje, że poczujesz się prawdziwym hakerem -- mistrzem Perla.
"Nieprzeciętny tekst i najbardziej zaawansowana książka o Perlu, jaką napisano. Autor -- specjalista -- objaśnia trudne koncepcje w sposób klarowny i kompletny."
Jon Orwant, redaktor The Perl Journal
Jeśli chcesz rozpocząć przygodę z programowaniem -- zacznij naukę od Perla. Po kilku godzinach pracy przekonasz się, że dokonałeś najlepszego wyboru. Perl posiada wielką zaletę, której brakuje konkurencyjnym narzędziom: nie znając wszystkich jego niuansów możesz pisać działające aplikacje.
Larry Wall stworzył Perla dla osób, które są niecierpliwe (programy w Perlu pisze się bardzo szybko), leniwe (kod programów jest zwięzły, a ich tworzenie ułatwia ogromna liczba gotowych modułów) i chcą być dumne z tego, co robią (sam przekonasz się, jak wiele satysfakcji dostarczy Ci programowanie w Perlu).
Książka przeznaczona jest dla początkujących programistów. Dowiesz się z niej jak zainstalować Perla, a następnie, krok po kroku, ćwiczenie po ćwiczeniu, zagłębisz się w jego świat.
Poznasz:
* Fundamenty języka: zmienne, instrukcje i referencje
* Wyrażenia regularne, umożliwiające szybkie przeszukiwanie tekstów i podmianę fragmentów
* Sposoby korzystania z plików
* Zasady pisania skryptów CGI
* Wysyłanie e-maili za pomocą Perla
* Łączenie Perla z bazami danych
Efektywne wykorzystanie potencjału systemów uniksowych
* Automatyzacja zadań
* Przeszukiwanie plików i katalogów
* Przenoszenie skryptów pomiędzy systemami
W dobie graficznych narzędzi programistycznych często pomijamy tradycyjne metody rozwiązywania przeróżnych zadań związanych z działaniem systemu operacyjnego. Skrypty powłoki, niegdyś podstawowe narzędzie administratorów i programistów systemów uniksowych, dziś są zdecydowanie mniej popularne. Skrypty powłoki są przydatne zarówno administratorom systemu, jak i szeregowym użytkownikom, ponieważ są jednym z najlepszych sposobów na zaprzęgnięcie do pracy setek narzędzi, w jakie wyposażony jest Unix. Z narzędzi tych w języku programowania powłoki łatwo stworzyć rozwiązanie niemal dowolnego zadania związanego z przetwarzaniem danych.
Książka "Programowanie skryptów powłoki" to kompendium wiedzy dotyczącej tej nieco już zapomnianej techniki. Przedstawia nie tylko język programowania powłoki, ale także narzędzia systemu Unix. Dostarcza informacji o tym, do jakich zadań się nadają, jak je wywoływać i jak łączyć je z innymi programami, konstruując z nich mechanizm przetwarzania danych. W książce opisano nie tylko sposoby pisania użytecznych skryptów powłoki, ale również metody dostosowywania powłoki do własnych potrzeb oraz przenoszenia skryptów pomiędzy różnymi wariantami Uniksa i różnymi implementacjami powłoki.
* Podstawowe elementy skryptów powłoki
* Wyszukiwanie i zastępowanie fragmentów tekstów
* Stosowanie wyrażeń regularnych
* Korzystanie z potoków
* Instrukcje warunkowe
* Definiowanie i stosowanie zmiennych
* Przetwarzanie plików
* Standardowe wejście i wyjście
* Korzystanie z możliwości awk
* Przenoszenie skryptów pomiędzy różnymi powłokami
* Bezpieczeństwo skryptów powłoki
Książka "Programowanie skryptów powłoki" zawiera wszystkie informacje niezbędne do mistrzowskiego opanowania narzędzi oferowanych przez systemy uniksowe.
Przystępny kurs programowania dla wszystkich
* Poznaj najpopularniejsze języki programowania
* Zorganizuj sobie pracę przy tworzeniu aplikacji
* Napisz własny program
* Przetestuj aplikacje i usuń błędy
Mimo dynamicznego rozwoju informatyki wśród większości użytkowników komputerów nadal istnieje przekonanie, że programowanie jest zajęciem dla wybrańców posiadających ogromną i niemal tajemną wiedzę. Tymczasem pisanie programów to umiejętność, którą może opanować każdy. Oczywiście nauka programowania wymaga poznania wielu zagadnień teoretycznych i praktycznych, ale nie wymaga od osoby uczącej się żadnych niezwykłych umiejętności. Każdy może poznać zasady pisania programów, zarówno dla celów hobbystycznych, jak i zawodowych.
Książka "Programowanie. Od podstaw" to podręcznik programowania przeznaczony dla osób, które dopiero rozpoczynają swoją komputerową przygodę. Zawiera uniwersalne wiadomości przydatne każdemu programiście niezależnie od tego, co i w jakim języku będzie tworzyć. Czytając ją, poznasz wady i zalety różnych języków programowania, sposoby realizacji typowych zadań programistycznych i metody testowania aplikacji. Dowiesz się, jak komputery przechowują informacje, jakie systemy liczbowe wykorzystuje się w programowaniu i jakie narzędzia będą Ci potrzebne podczas pracy. Zdobędziesz solidne podstawy, które pozwolą Ci na dalsze rozwijanie swoich umiejętności.
* Sposób interpretacji kodu źródłowego przez komputer
* System binarny i szesnastkowy
* Warsztat pracy programisty
* Komentarze w kodach programów
* Definiowanie zmiennych
* Instrukcje warunkowe
* Testowanie i usuwanie błędów
* Projektowanie interfejsów użytkownika
* Operacje na plikach
* Wykorzystywanie rejestru Windows
* Zarządzanie wersjami kodu
* Kompilacja
Przekonaj się, że programowanie nie jest trudne.
Wykorzystaj w swoich projektach gotowe rozwiązania
* Przetwarzanie grafiki
* Operacje na plikach
* Komunikacja z bazami danych
PHP to jeden z najpopularniejszych języków wykorzystywanych do tworzenia dynamicznych witryn WWW. Od początku swojej obecności na rynku zyskał ogromne uznanie programistów. Jest dostępny nieodpłatnie i ma ogromne możliwości. Jego najnowsza wersja otworzyła przed twórcami aplikacji nowe horyzonty, oferując im wszystkie korzyści wynikające z programowania obiektowego. PHP jest dostępny dla większości popularnych systemów operacyjnych z rodziny Unix/Linux, Windows, Mac OS oraz Risc OS. Współpracuje też z wieloma serwerami HTTP, dzięki czemu jest niezwykle uniwersalny.
W książce "PHP. 101 praktycznych skryptów. Wydanie II" znajdziesz gotowe skrypty, dzięki którym zdecydowanie przyśpieszysz swoją pracę nad aplikacjami i serwisami internetowymi. To wydanie zostało tak zaktualizowane w stosunku do poprzedniego, że skrypty działają prawidłowo w najnowszej wersji języka PHP. Autor zapewnił także zgodność generowanych przez nie dokumentów HTML z obowiązującymi standardami tego języka. Każdy ze skryptów możesz po prostu wkleić do swojego kodu bądź zmodyfikować, aby dokładnie odpowiadał Twoim potrzebom. Korzystając z przykładów znajdujących się w tej książce, możesz dodać do swoich projektów funkcje obsługujące system plików, przetwarzające grafikę, zabezpieczające witryny i aplikacje przed nieautoryzowanym dostępem.
* Operacje sieciowe
* Praca z systemem plików
* Liczniki odwiedzin i księgi gości
* Przetwarzanie grafiki
* Autoryzacja użytkowników
* Komunikacja z bazami danych
* Przewodnik po najważniejszych elementach języka PHP
Skorzystaj ze sprawdzonych rozwiązań.
Rozwiązania i przykłady dla programistów Perla
Książka "Perl. Receptury. Wydanie II" to wyczerpujący zbiór problemów, ich rozwiązań oraz praktycznych przykładów przydatnych dla wszystkich programujących w Perlu. Pierwsze wydanie książki cieszyło się ogromną popularnością, uznane zostało nie tylko za jedną z najlepszych książek o Perlu, lecz również za najlepszą książkę dotyczącą programowania w dowolnym języku. Ukazanie się pierwszego wydania tej książki to zarazem data powstania nowego rodzaju podręcznika programowania, nie jest to tylko zbiór różnego rodzaju sztuczek i wskazówek, ale przede wszystkim książka, która przedstawia niuanse programowania za pomocą zaczerpniętych z praktyki programistycznej problemów oraz przykładów.
Drugie wydanie książki "Perl. Receptury" zostało rozszerzone w taki sposób, aby opisać nie tylko nowe cechy samego Perla, lecz również nowe technologie powstałe od czasu opublikowania pierwszego wydania. Dodane zostały dwa całkiem nowe rozdziały, a wiele innych zostało poszerzonych: pojawiło się 80 nowych receptur, zaś 100 zostało uaktualnionych.
Książka zawiera omówienie obróbki danych (łańcuchów znakowych, wartości liczbowych, dat, tablic zwykłych oraz asocjacyjnych), obsługi operacji wejścia-wyjścia, wyrażeń regularnych, modułów, odwołań, obiektów, struktur danych, sygnałów, wykorzystania baz danych, tworzenia aplikacji graficznych, stosowania komunikacji międzyprocesowej, bezpieczeństwa, programowania aplikacji internetowych, wykorzystywania CGI oraz LWP.
Tę edycję uzupełniono także o:
* Opis obsługi standardu kodowania Unicode w Perlu z uwzględnieniem obsługi łańcuchów znakowych, wyrażeń regularnych oraz operacji wejścia-wyjścia.
* Specjalny rozdział poświęcony programowaniu przy użyciu mod_perla, będącego modułem Apache osadzającym język Perl w tym popularnym serwerze HTTP, co ogromnie przyspiesza wykonywanie zadań w porównaniu z tradycyjnym interfejsem CGI.
* Nowe oraz uaktualnione receptury opisujące zastosowanie modułów dołączanych do standardowej dystrybucji Perla.
* Nowy rozdział dotyczący przetwarzania dokumentów XML, światowego standardu wykorzystywanego w procesie tworzenia oraz wymiany dokumentów.
Książka "Perl. Receptury. Wydanie II" została określona mianem najbardziej przydatnej książki napisanej dotychczas o Perlu. Uczy ona programowania w najszybszy sposób: przedstawiając sposób rozwiązania danego zadania przez ekspertów, a następnie jego objaśnienie. Choć książka ta nie jest podręcznikiem języka Perl, pokazuje ona, jak należy programować w tym języku.
Przewodnik po najnowszej wersji najpopularniejszego języka do tworzenia dynamicznych witryn WWW
Książka "PHP 5. Nowe możliwości" to opis wszystkich funkcji, które dodano do najnowszej wersji języka PHP. Jest adresowana do programistów korzystających z PHP 4, którzy chcą poznać nowe narzędzia wprowadzone w wersji 5. Każdy nowy mechanizm jest przedstawiony w postaci przykładu. Książka zawiera także porównanie sposobów realizacji typowych zadań programistycznych za pomocą języków PHP 4 i PHP 5, co ułatwia migrację do nowej wersji.
* Zasady programowania obiektowego
* Współpraca z bazą danych MySQL
* Środowisko SQLite
* Mechanizmy obsługi języka XML
* Obsługa błędów za pomocą wyjątków
* Korzystanie z mechanizmów SOAP
Odkryj potęgę najnowszej wersji języka PHP
* Zaawansowane techniki programowania w PHP5
* Wzorce projektowe i stosowanie technologii XML i SOAP
* Sposoby poprawy wydajności aplikacji
* Współpraca z bazami danych
PHP w ciągu ostatnich lat stał się jednym z najpopularniejszych języków programowania wykorzystywanych do tworzenia aplikacji internetowych. Swój sukces zawdzięcza prostocie i ogromnym możliwościom, pozwalającym na pisanie rozbudowanych aplikacji, znacznie przekraczających funkcjonalnością "zwykłe" portale i dynamiczne strony WWW. Najnowsza wersja języka PHP, oznaczona numerem 5, to w pełni obiektowy język programowania umożliwiający realizację złożonych projektów. Posiada mechanizmy obsługi plików XML i protokołu SOAP oraz poprawione i rozbudowane funkcje do komunikacji z bazami danych.
"PHP5. Tajniki programowania" to napisany przez współtwórcę języka PHP5 oraz dwóch doskonałych programistów przewodnik opisujący ogromne możliwości tej platformy. Autorzy przedstawiają sposoby wykorzystania PHP5 w projektach informatycznych o dowolnej skali złożoności. Omawiają model obiektowy PHP5, wzorce projektowe, metody korzystania z plików XML i technologii SOAP oraz techniki współpracy z bazami danych. W książce znajdziesz także szczegółowe omówienie biblioteki PEAR, obsługi wyjątków oraz metod optymalizowania wydajności aplikacji.
* Nowe możliwości PHP5
* Podstawy PHP5 i programowania zorientowanego obiektowo
* Stosowanie wzorców projektowych
* Techniki tworzenia aplikacji WWW
* Komunikacja z bazami danych, współpraca z MySQL i SQLite
* Obsługa błędów i wyjątków
* Przetwarzanie plików XML
* Instalowanie biblioteki PEAR
* Pakiety PEAR
* Tworzenie komponentów PEAR
* Przenoszenie kodu z PHP4 do wersji PHP5
* Projektowanie wydajnych aplikacji
Jeśli tworzysz aplikacje WWW, pakiety lub rozszerzenia PHP, w tej książce znajdziesz odpowiedzi na wszystkie pytania.
Wyjątkowy język C++. 40 nowych łamigłówek, zadań programistycznych i rozwiązańWydawnictwo Helion
Poznaj skuteczne rozwiązania problemów, jakie napotkasz podczas codziennej pracy programisty
* Prawidłowo zoptymalizuj kod źródłowy
* Zaprojektuj efektywną obsługę wyjątków
* Naucz się odpowiednio korzystać z przestrzeni nazw
Nauka każdego nowego zagadnienia przebiega zdecydowanie szybciej i efektywniej pod kierunkiem osoby znającej temat. Nie inaczej jest w przypadku nauki programowania w języku C++. Programowanie w tym języku wymaga dogłębnego opanowania możliwości biblioteki standardowej, inżynierii oprogramowania i wielu innych tematów. Rozwiązując samodzielnie zagadki, jakie często pojawiają się podczas poznawania języka C++ lepiej zapamiętujemy ich rozwiązania, dzięki czemu łatwiej możemy zastosować je w codziennej pracy.
Książka "Wyjątkowy język C++. 40 nowych łamigłówek, zadań programistycznych i rozwiązań" to zbiór zagadnień związanych z niemal wszystkimi aspektami programowania w C++, przedstawionych w formie zagadek z rozwiązaniami. Opisuje zarówno podstawy stosowania szablonów, biblioteki standardowej i projektowanie klas, jak i tematy zaawansowane -- przestrzenie nazw, wyjątki, dziedziczenie i zarządzanie zasobami. Czytając ją, przekonasz się, w jaki sposób można użyć pozornie niezwiązanych ze sobą elementów do opracowania nowych i oryginalnych rozwiązań częstych problemów.
* Poprawne stosowanie predykatów
* Kontenery i wskaźniki
* Korzystanie z szablonów
* Optymalizacja kodu
* Bezpieczna obsługa wyjątków
* Mechanizmy dziedziczenia i polimorfizmu
* Zarządzanie zasobami i pamięcią
* Makrodefinicje
* Przestrzenie nazw
Gdy zrozumiesz zagadnienia opisywane w tej książce, nie będziesz musiał podczas programowania zastanawiać się nad szczegółami -- będziesz mógł skoncentrować się na problemach, które naprawdę chcesz rozwiązać.
O autorze:
Herb Sutter to ekspert od programowania w języku C++. Jest regularnie zapraszany do wygłaszania wykładów na konferencjach dla programistów.
[więcej...]
Profesjonalne techniki programowania obiektowego w PHP5
* Poznaj zasady projektowania i programowania obiektowego
* Zastosuj wzorce projektowe podczas tworzenia aplikacji
* Wykorzystaj narzędzia wspomagające pracę programisty PHP5
Wraz z rosnącą popularnością języka PHP zwiększa się również zakres jego zastosowań. Za pomocą PHP tworzy się już nie tylko proste dynamiczne witryny WWW i fora dyskusyjne, ale również rozbudowane aplikacje sieciowe, wykorzystywane często w dużych przedsiębiorstwach. Już w PHP4 zaimplementowano pewne mechanizmy ułatwiające tworzenie rozbudowanych systemów, jednak dopiero PHP5 stał się w pełni obiektowym językiem programowania pozwalającym na korzystanie z wszystkich wynikających z tego możliwości.
"PHP5. Obiekty, wzorce i narzędzia" stanowi dokładne omówienie wszystkich technik obiektowych w kontekście zastosowania ich podczas tworzenia aplikacji w PHP5. Zawiera przegląd podstawowych i zaawansowanych cech PHP5 związanych z obiektowością. Przedstawia przykłady najczęściej wykorzystywanych wzorców projektowych i zasady ich stosowania. Książka opisuje również narzędzia, które mogą okazać się bardzo przydatne podczas tworzenia rozbudowanych aplikacji, służące do tworzenia dokumentacji i kontroli wersji plików.
* Podstawowe pojęcia z dziedziny obiektowości
* Obsługa obiektów
* Wyjątki i obsługa błędów
* Projektowanie obiektowe
* Modelowanie obiektów w języku UML
* Wzorce projektowe
* Stosowanie pakietu PEAR
* Generowanie dokumentacji za pomocą PHPDocumentor
* Zarządzanie wersjami plików w systemie CVS
* Tworzenie pakietów instalacyjnych
Przekonaj się, jak potężnym narzędziem jest najnowsza wersja języka PHP.
Podręczny zbiór najbardziej przydatnych konstrukcji języka Python
* Poznaj składnię języka Pyton
* Naucz się wykonywać najczęściej używane operacje
* Używaj gotowych elementów do szybkiego tworzenia rozwiązań w Pythonie
Prawdopodobnie słyszałeś już o zaletach Pythona. Jest przenośny i działa w niemal wszystkich systemach operacyjnych. Ma niezwykle czytelną i prostą składnię, a jego odmiany mogą współpracować z innymi językami programowania. Mówi się także, że pozwala skrócić czas pisania kodu kilka razy w porównaniu z językiem C++. To jeszcze nie wszystkie atuty Pythona, o czym wkrótce się przekonasz, pisząc swoje pierwsze programy w tym języku.
Dzięki książce "Python. Rozmówki" błyskawicznie poznasz najważniejsze zwroty i konstrukcje oraz podstawy składni tego języka programowania. Nauczysz się między innymi wykonywać w aplikacjach operacje na łańcuchach i pracować z typami danych, a także pisać programy wielowątkowe i sieciowe. Dowiesz się, jak zarządzać plikami i przetwarzać je oraz jak obsługiwać bazy danych.
* Składnia języka Python
* Przetwarzanie łańcuchów danych
* Korzystanie z typów danych
* Praca z plikami
* Tworzenie aplikacji wielowątkowych
* Komunikacja z bazami danych
* Obsługa komunikacji sieciowej
* Tworzenie usług sieciowych
* Przetwarzanie danych w formatach XML i HTML
Wykorzystaj gotowe fragmenty kodu --
zacznij pisać niezawodne programy w Pythonie.
Delphi 7 jest kolejną wersją najpopularniejszego zintegrowanego środowiska programowania typu RAD dla platformy Windows. Delphi 7, współpracując z Kyliksem firmy Borland - pierwszym środowiskiem programistycznym RAD dla Linuksa - sprawia, że możliwości wykorzystania Delphi przez osoby znające język Object Pascal znacznie wzrastają. Dzięki prostocie obsługi i zaletom wzorowanego na Pascalu języka Object Pascal, Delphi jest doskonałym narzędziem dla początkujących programistów, także dla tych, którzy nie mieli wcześniej wiele wspólnego z programowaniem obiektowym.
Książka omawia:
* Podstawy programowania w języku Object Pascal
* Projektowanie zorientowane obiektowo (OOD)
* Zintegrowane środowisko programistyczne Delphi
* Object Pascal w wydaniu Delphi 6
* Biblioteki VCL i CLX
* Tworzenie i instalowanie własnych komponentów
W porównaniu z poprzednim wydaniem tej książki rozbudowano rozdziały traktujące o podstawach programowania w języku Object Pascal. Znacznie poszerzono też rozdział poświęcony programowaniu obiektowemu.
Pomocą w zgłębianiu tajników Delphi 7 będzie 28 kompletnych, przykładowych projektów dołączonych do książki, ilustrujących najważniejsze poruszane zagadnienia.
Kompletne i niezastąpione źródło wiedzy dla doświadczonych programistów
* Kolejne wydanie doskonałego przewodnika po zaawansowanych możliwościach Javy
* Wszystkie kody źródłowe w książce zaktualizowane do J2SE 5.0
* Szczegółowe omówienie wielowątkowości, kolekcji, programowania aplikacji sieciowych i bazodanowych, bezpieczeństwa i internacjonalizacji aplikacji, obiektów rozproszonych i języka XML
Kolejne już wydanie przewodnika opisującego zaawansowane i nieznane właściwości języka Java, tym razem w wersji 5.0, to kompendium wiedzy dla wszystkich programistów zamierzających tworzyć rozbudowane aplikacje. Nowa wersja języka Java to nie tylko nowy numer -- to przede wszystkim ogromna ilość nowych funkcji i możliwości, klas i obiektów. W JDK 5.0 wprowadzono nowe mechanizmy obsługi wątków i kolekcji, rozszerzono możliwości biblioteki Swing i klas wykorzystywanych do tworzenia aplikacji bazodanowych i sieciowych. "Java 2. Techniki zaawansowane. Wydanie II" przedstawia i opisuje wszystkie te nowości.
Wszystkie przykładowe programy zostały zaktualizowane do najnowszej wersji Javy i przedstawiają praktyczne rozwiązania rzeczywistych problemów, z jakimi może spotkać się twórca aplikacji w języku Java.
Książka zawiera wiele nowych podrozdziałów poświęconych nowościom wprowadzonym w J2SE 5.0. Dokładnie i na przykładach opisuje zagadnienia związane z wielowątkowością, kolekcjami, metadanymi, stosowaniem języka XML, komunikacją z bazami danych i wieloma innymi elementami zaawansowanego programowania w Javie.
* Aplikacje wielowątkowe
* Kolekcje i operacje na nich
* Połączenia sieciowe
* Interfejs JDBC i LDAP
* Aplikacje rozproszone
* Technologia CORBA
* Zaawansowane możliwości bibliotek Swing i AWT
* Technologia JavaBeans
* Bezpieczeństwo aplikacji
* Internacjonalizacja
* Korzystanie z języka XML
Jeśli zamierzasz wykorzystać Javę w złożonym projekcie informatycznym, ta książka będzie dla Ciebie niezastąpiona.
Kolejna wersja popularnego języka PHP wniosła zupełnie nową jakość do tworzenia aplikacji internetowych. PHP5 to w pełni obiektowe środowisko, pozwalające na korzystanie z wszystkich nowoczesnych technologii sieciowych i budowanie wydajnych oraz, co najważniejsze, bezpiecznych systemów. Przed twórcami aplikacji otwarły się bramy do protokołu SOAP, usług sieciowych, ogromnych możliwości języka XML i znacznie wydajniejszych połączeń z bazami danych.
Książka "PHP5. Profesjonalne tworzenie oprogramowania" jest przeznaczona właśnie dla takich programistów -- tych, którzy opanowali poprzednie wersje PHP i chcą poznać możliwości, jakie oferuje jego najnowsze wcielenie. Przedstawia tajniki projektowania i programowania obiektowego, ze szczególnym uwzględnieniem stosowania wzorców projektowych i testowania za pomocą biblioteki PHPUnit. Opisuje możliwości zastosowania w aplikacjach PHP języka XML, protokołu SOAP i zaawansowanych technik operowania na bazach danych. Czytając ją, poznasz również metody automatycznego dokumentowania kodu oraz modelowania aplikacji za pomocą języka UML i dostępnych bezpłatnie narzędzi ArgoUML i Poseidon for UML.
* Klasy i obiekty
* Serializacja obiektów
* Mechanizmy dziedziczenia
* Korzystanie z biblioteki PHPUnit do testowania aplikacji
* Stosowanie wzorców projektowych
* Wzorce konstrukcyjne i strukturalne oraz wzorce zachowań
* Obsługa języka XML w PHP5
* Tworzenie usług sieciowych
* Wykorzystywanie możliwości rozszerzenia MySQL
* Komunikacja z bazami danych za pomocą Creole i Propel
* Tworzenie dokumentacji kodu z wykorzystaniem narzędzia phpDocumentator
* Modelowanie aplikacji w języku UML
Wykorzystaj najnowszą wersję PHP5do stworzenia szybkich i bezpiecznych aplikacji internetowych.
Znajomość języka PHP wykorzystywanego do tworzenia dynamicznych stron WWW to dziś jedna z podstawowych umiejętności wymaganych od webmastera. Era statycznych stron tworzonych za pomocą języka HTML przeminęła już dawno, a dynamiczne generowanie treści stało się obecnie standardem. Język PHP i baza danych MySQL stanowią platformę o wielkich możliwościach, stosowaną do tworzenia zarówno wielkich portali i witryn e-commerce, jak i prostych stron prywatnych.
Książka "PHP5. Praktyczny kurs" jest wprowadzeniem w tajniki nowoczesnego tworzenia stron WWW. Przedstawia proces instalacji języka PHP wraz z serwerami WWW, podstawowe konstrukcje języka i sposoby wykorzystania ich w procesie budowania witryny. Opisuje takie zagadnienia, jak współpraca z systemem plików, obsługa sesji, możliwości programowania obiektowego oraz współpraca z bazami danych. Dowiesz się z niej także, jak za pomocą PHP generować i przetwarzać elementy graficzne oraz wykorzystywać protokoły sieciowe.
* Instalacja i konfiguracja PHP w różnych systemach operacyjnych
* Zmienne, typy danych i operatory
* Instrukcje sterujące
* Komunikacja skryptów z przeglądarką
* Obsługa plików cookie i sesji
* Operacje na plikach
* Programowanie obiektowe w PHP
* Wykorzystywanie danych zgromadzonych w bazie
Poznaj i wykorzystaj w swoich projektach możliwości języka PHP.
Język Pascal, kojarzący się głównie z nauką programowania, stał się podstawą jednego z najpopularniejszych obecnie środowisk programistycznych -- Delphi firmy Borland. To graficzne środowisko, pozwalające na szybkie tworzenie aplikacji dzięki możliwości składania ich z "klocków" zwanych komponentami, błyskawicznie zyskało uznanie programistów na całym świecie. Kolejne wersje Delphi oferowały coraz większe możliwości. Jego najnowsza wersja pozwala na tworzenie programów dla platformy .NET i korzystanie nie tylko z języka Pascal, ale również z coraz popularniejszego C#.
Książka "Delphi. Szybki start" to doskonały przewodnik po Delphi dla początkujących użytkowników. Dzięki niemu poznasz język Object Pascal i zasady programowania obiektowego. Nauczysz się wykorzystywać komponenty do tworzenia aplikacji i od zera napiszesz własne programy. Dowiesz się, czym się różni Delphi 7 od Delphi 2005, i wykorzystasz możliwości obu tych środowisk.
* Interfejs użytkownika środowiska Delphi
* Elementy języka Object Pascal
* Programowanie obiektowe
* Obsługa wyjątków
* Tworzenie okien dialogowych
* Projektowanie interfejsów użytkownika
* Korzystanie z komponentów
Poznaj możliwości środowiska Delphi.
Język programowania PHP stanowi dla wielu osób przepustkę w świat pisania aplikacji działających po stronie serwera WWW. Łatwość z jaką przychodzi nauczenie się tego języka, sprawiła, że używają go setki tysięcy amatorów i profesjonalistów na całym świecie.
Po pewnym czasie wiedza wyniesiona z podręczników opisujących podstawy PHP języka przestaje wystarczać. Niniejsza książka pomoże Ci w wykonaniu kolejnego kroku: kroku w kierunku pisania zaawansowanych aplikacji. Dzięki niej wzbogacisz swoją wiedzę i staniesz się prawdziwym ekspertem programowania w PHP, poszukiwanym na rynku pracy.
* Poznasz tajniki programowania obiektowego.
* Nauczysz się korzystać z baz danych.
* Dowiesz się, w jaki sposób zabezpieczać stworzone przez siebie aplikacje.
* Napiszesz własny sklep internetowy, korzystając z sesji i bazy SQL.
* Poznasz sposoby uruchamiania programów PHP w oderwaniu od serwera WWW.
* Nauczysz się generować nie tylko strony WWW, ale także grafikę i pliki PDF.
* Dowiesz się, jak i po co używać języka XML.
* Skorzystasz z wielu rozszerzeń języka, które ułatwiają rozwiązywanie złożonych problemów.
Pomoże Ci w tym prosty język w jakim napisana jest książka oraz liczne przykłady kodu, a także osoba autora, doświadczonego programisty i wykładowcy PHP na Uniwersytecie Kalifornijskim w Berkeley.
Przystępne, a zarazem kompletne wprowadzanie do języka programowania, który zmienił sposób myślenia wielu programistów. W ostatnich latach Java wyprzedziła pod względem popularności inne języki, takie jak C++ i Visual Basic, spełniając większość wymagań stawianych przez twórców aplikacji i stała się najważniejszym językiem nowego pokolenia programistów -- w szczególności projektantów aplikacji działających w Internecie.
Książka pozwala na przyswojenie podstaw języka Java. Dzięki niej poznasz sam język, biblioteki klas, techniki programistyczne i idiomy. „Java. Wprowadzenie” zawiera wiele łatwych w zrozumieniu przykładów wraz z kodem źródłowym. Pozwolą Ci one zapoznać się z wieloma cechami, funkcjami i interfejsami programistycznymi Javy.
Załączony CD-ROM poza przykładami omawianymi w książce zawiera także pełną wersję J2SE SDK 1.4, środowisko NetBeans, narzędzie make (Ant) i serwer aplikacji Tomcat z projektu Jakarta oraz BeanShell, prosty, darmowy język skryptowy Javy napisany przez jednego z autorów tej książki, Pata Niemeyera.
Tematy omówione w tej książce dotyczą:
* technik programowania zorientowanego obiektowo,
* interfejsów programistycznych serwletów i aplikacji internetowych,
* asercji języka i obsługi wyjątków,
* pakietu NIO umożliwiającego tworzenie złożonych systemów wejścia-wyjścia,
* programowania wykorzystującego wątki,
* komponentów Swing służących do budowy okienkowego interfejsu użytkownika
* nowych interfejsów programistycznych wersji 1.4: wyrażeń regularnych, właściwości i dzienników zdarzeń,
* JavaBeans i darmowego środowiska NetBeans,
* Java Plug-in, podpisywaniu apletów i Java Web Start,
* XML (omówiono: SAX, DOM, DTD, XSLT)
Książka zawiera oficjalną dokumentację języka Visual C# .NET. C# jest jednym z podstawowych języków dostępnych na platformie .NET, łączącym w sobie największe zalety Javy i C++. "Visual C#. NET. Encyklopedia" to doskonałe uzupełnienie dokumentacji dostępnej w formie elektronicznej, niezbędne dla każdego programisty korzystającego z C#. Poza szczegółowym opisem języka, a także kompilatora C#, zawiera ona wiele przykładów gotowych do wykorzystania w konkretnych aplikacjach. Jest to książka, do której będziesz często powracał.
Omówiono:
* Typy
* Modyfikatory
* Polecenia
* Przestrzenie nazw
* Operatory
* Przekształcenia
* Dyrektywy preprocesora
* Atrybuty
* Tworzenie dokumentacji w XML
Nie ucz się C++ -- naucz się programować w C++
* C++ od najprzydatniejszych elementów, a nie od elementów najprostszych
* Rzeczywiste zadania i ich rozwiązania
* Opis C++ i biblioteki standardowej
* Książka sprawdzona w praktyce na Uniwersytecie Stanford
Książka ta ma pomóc Czytelnikowi w szybkim nauczeniu się języka C++ poprzez pisanie w nim przydatnych programów. Ta strategia wydaje się oczywista, jednak jest odmienna od powszechnie przyjętej metodologii nauczania. Autorzy nie będą uczyć Cię języka C, choć wielu uważa, że jest to niezbędne. W prezentowanych przykładach od razu wykorzystane zostaną wysokopoziomowe struktury, a prezentacja sposobu ich zastosowania będzie często wyprzedzać omówienie ich fundamentów. Dzięki takiemu podejściu zaczniesz szybko pisać programy wykorzystujące idiomy C++.
Zastosowany w książce schemat autorzy wypróbowali podczas kursów prowadzonych na Uniwersytecie Stanforda, na których studenci uczą się pisać programy już na pierwszych zajęciach.
Poznaj:
* Podstawowe cechy C++
* Operacje na ciągach
* Pętle i liczniki
* Przetwarzanie danych "porcja po porcji"
* Organizację programów i danych
* Kontenery sekwencyjne i analiza ciągów tekstowych
* Algorytmy biblioteki standardowej
* Kontenery asocjacyjne
* Funkcje uogólnione i definiowanie własnych typów
* Zarządzanie pamięcią i niskopoziomowymi strukturami danych
* Półautomatyczne zarządzanie pamięcią
* Programowanie zorientowane obiektowo
O autorach:
Andrew Koenig jest członkiem działu badającego systemy oprogramowania w Shannon Laboratory firmy AT&T oraz redaktorem projektu komitetów standaryzacyjnych języka C++. [więcej...]
Barbara Moo jest konsultantką z dwudziestoletnim doświadczeniem programistycznym, zarządzała projektem pierwszego kompilatora C++. [więcej...]
Gotowe rozwiązania i przykłady dla użytkowników Flasha
Zamiast koncentrować się na abstrakcyjnych niuansach języka ActionScript, można skorzystać z gotowych sposobów rozwiązywania typowych problemów. Receptury ułatwiają pisanie skryptów w języku ActionScript, ucząc przy tym praktycznych technik, które na pewno będą przydatne jeszcze wiele razy.
Ogrom możliwości języka ActionScript może przytłaczać. W niniejszej książce analizujemy zaawansowane technologie jako zespoły prostych czynności, z których każda ma praktyczne znaczenie i z których każdą warto zrozumieć. Książka "ActionScript. Receptury" jest interesująca zarówno dla młodego kodera, jak i dla doświadczonego programisty, ponieważ pozwala spojrzeć z nowej perspektywy i podejść w nowy sposób do zagadnień programowania w języku ActionScript, jednocześnie umożliwiając ugruntowanie zdobytych już umiejętności.
Książka "ActionScript. Receptury" zawiera ponad 300 receptur związanych z niezliczoną ilością tematów, wśród których znajdują się m.in.:
* rysowanie kształtów za pomocą instrukcji skryptów;
* programistyczne sterowanie odtwarzaniem klipów filmowych;
* obsługa wprowadzania tekstu i operacje na łańcuchach znaków;
* udostępnianie strumieni audio i wideo dzięki technologii Flash Communication Server;
* wykorzystanie technologii Flash Remoting do tworzenia połączeń z zapleczem bazodanowym;
* posługiwanie się zestawami rekordów i macierzami danych;
* wiele, wiele innych rozwiązań w 20 pełnych receptur rozdziałach.
Na początku książki omówione są krótkie, proste receptury. Później, stopniowo, pojawiają się dłuższe i bardziej skomplikowane skrypty wykonujące coraz bardziej wymyślne zadania. Taki układ wiedzy umożliwia łączenie poznanych skryptów w rozwiązania, na których można oprzeć swoje aplikacje utworzone we Flashu. Miła niespodzianka czeka i tego, kto nad jednostkowe receptury wyżej ceni duże aplikacje: w książce opisano siedem kompletnych, złożonych projektów we Flashu.
Język C++. Standardy kodowania. 101 zasad, wytycznych i zalecanych praktykWydawnictwo Helion
Czytelny i przejrzysty kod to podstawa sprawnego tworzenia aplikacji. W przypadku pracy zespołowej stosowanie wspólnego standardu kodowania to konieczność. Pisanie kodu w oparciu o określone standardy kodowania przyspiesza powstawanie programu, ułatwia komunikację pomiędzy członkami zespołu i pozwala na szybkie wdrożenie nowych programistów do projektu. Oczywiście, w każdej firmie lub zespole można ustalić własny standard kodowania -- ważne jest jednak, aby opierał się na określonych regułach, wynikających ze specyfiki języka programowania.
Książka "Język C++. Standardy kodowania. 101 zasad, wytycznych i zalecanych praktyk" zawiera opis wspomnianych reguł. Przedstawia zasady pisania kodu źródłowego i standaryzowania określonych zapisów, operacji i sposobów wykorzystania elementów języka C++. Każda z zasad jest szczegółowo omówiona i poparta praktycznymi przykładami. Książka prezentuje najlepsze ze znanych praktyk -- zarówno "starych", jak i tych, które całkiem niedawno uległy standaryzacji, oraz opisuje techniki, o których nie słyszeli nawet programiści z wieloletnim doświadczeniem.
* Organizacja kodu
* Styl projektowy i styl kodowania
* Skalowalność kodu
* Racjonalna i efektywna obsługa błędów
* Prawidłowe stosowanie elementów języka
* Odpowiednie korzystanie z STL
* Bezpieczeństwo typów
Usprawnij pracę, stosując standardy kodowania -- gdy za parę miesięcy będziesz musiał wrócić do swoich dzisiejszych programów, przekonasz się, że było warto.
Java. Programowanie, biblioteki open-source i pomysły na nowe projektyWydawnictwo Helion
Odkryj nieznane możliwości Javy
* Sieci semantyczne i neuronowe
* Przetwarzanie grafiki i multimediów
* Obliczenia naukowe
Java, mimo stosunkowo krótkiej obecności na rynku, stała się jednym z najpopularniejszych języków programowania. Codziennie korzystają z niej setki tysięcy programistów z całego świata. Największe korporacje świata za jej pomocą budują systemy informatyczne przetwarzające potężne porcje danych. Aplikacje bazodanowe, serwlety i aplety to najbardziej znane zastosowania Javy, jednak nie jedyne. W sieci dostępna jest ogromna ilość bibliotek tworzonych przez pasjonatów, którzy wykorzystują Javę do odmiennych celów, takich jak przetwarzanie grafiki, modelowanie sieci neuronowych, przeprowadzanie złożonych obliczeń i wielu innych zadań.
Dzięki książce "Java. Programowanie, biblioteki open-source i pomysły na nowe projekty" poznasz mniej znane zastosowania Javy. Dowiesz się, jak za pomocą bibliotek dostępnych na licencji open-source tworzyć ciekawe projekty i pisać nietypowe aplikacje. Nauczysz się przetwarzać pliki XML i HTML, obrabiać i generować grafikę a także wyświetlać pliki multimedialne. Przeczytasz o sieciach semantycznych i neuronowych, odczytywaniu kanałów RSS i sterowaniu urządzeniami podłączonymi do komputera.
* Nieznane funkcje standardowego API Javy
* Przetwarzanie łańcuchów tekstowych
* Analiza plików XML i HTML
* Stosowanie RDF w projektach
* Czytanie kanałów RSS
* Obliczenia o dowolnej precyzji
* Realizacja algorytmów genetycznych
* Symulowanie sieci neuronowych
* Generowanie plików SVG
* Współpraca z interfejsem MIDI
Jeśli lubisz eksperymentować z językami programowania,
ta książka będzie dla Ciebie doskonałym źródłem inspiracji.
Perambulancias 2: é andar por São Paulo com olhar arquitetônico. Resultado: a gente começa a gostar mais dos prédios, notando detalhes importantes e curiosos nas fachadas, portarias, implantação etc e tal.
Carlos Elson L. da Cunha - elsonbrasil@hotmail.com
Wykorzystaj w swoich projektach gotowe rozwiązania
* Przetwarzanie grafiki
* Operacje na plikach
* Komunikacja z bazami danych
PHP to jeden z najpopularniejszych języków wykorzystywanych do tworzenia dynamicznych witryn WWW. Od początku swojej obecności na rynku zyskał ogromne uznanie programistów. Jest dostępny nieodpłatnie i ma ogromne możliwości. Jego najnowsza wersja otworzyła przed twórcami aplikacji nowe horyzonty, oferując im wszystkie korzyści wynikające z programowania obiektowego. PHP jest dostępny dla większości popularnych systemów operacyjnych z rodziny Unix/Linux, Windows, Mac OS oraz Risc OS. Współpracuje też z wieloma serwerami HTTP, dzięki czemu jest niezwykle uniwersalny.
W książce "PHP. 101 praktycznych skryptów. Wydanie II" znajdziesz gotowe skrypty, dzięki którym zdecydowanie przyśpieszysz swoją pracę nad aplikacjami i serwisami internetowymi. To wydanie zostało tak zaktualizowane w stosunku do poprzedniego, że skrypty działają prawidłowo w najnowszej wersji języka PHP. Autor zapewnił także zgodność generowanych przez nie dokumentów HTML z obowiązującymi standardami tego języka. Każdy ze skryptów możesz po prostu wkleić do swojego kodu bądź zmodyfikować, aby dokładnie odpowiadał Twoim potrzebom. Korzystając z przykładów znajdujących się w tej książce, możesz dodać do swoich projektów funkcje obsługujące system plików, przetwarzające grafikę, zabezpieczające witryny i aplikacje przed nieautoryzowanym dostępem.
* Operacje sieciowe
* Praca z systemem plików
* Liczniki odwiedzin i księgi gości
* Przetwarzanie grafiki
* Autoryzacja użytkowników
* Komunikacja z bazami danych
* Przewodnik po najważniejszych elementach języka PHP
Skorzystaj ze sprawdzonych rozwiązań.
Rozwiązania i przykłady dla programistów Perla
Książka "Perl. Receptury. Wydanie II" to wyczerpujący zbiór problemów, ich rozwiązań oraz praktycznych przykładów przydatnych dla wszystkich programujących w Perlu. Pierwsze wydanie książki cieszyło się ogromną popularnością, uznane zostało nie tylko za jedną z najlepszych książek o Perlu, lecz również za najlepszą książkę dotyczącą programowania w dowolnym języku. Ukazanie się pierwszego wydania tej książki to zarazem data powstania nowego rodzaju podręcznika programowania, nie jest to tylko zbiór różnego rodzaju sztuczek i wskazówek, ale przede wszystkim książka, która przedstawia niuanse programowania za pomocą zaczerpniętych z praktyki programistycznej problemów oraz przykładów.
Drugie wydanie książki "Perl. Receptury" zostało rozszerzone w taki sposób, aby opisać nie tylko nowe cechy samego Perla, lecz również nowe technologie powstałe od czasu opublikowania pierwszego wydania. Dodane zostały dwa całkiem nowe rozdziały, a wiele innych zostało poszerzonych: pojawiło się 80 nowych receptur, zaś 100 zostało uaktualnionych.
Książka zawiera omówienie obróbki danych (łańcuchów znakowych, wartości liczbowych, dat, tablic zwykłych oraz asocjacyjnych), obsługi operacji wejścia-wyjścia, wyrażeń regularnych, modułów, odwołań, obiektów, struktur danych, sygnałów, wykorzystania baz danych, tworzenia aplikacji graficznych, stosowania komunikacji międzyprocesowej, bezpieczeństwa, programowania aplikacji internetowych, wykorzystywania CGI oraz LWP.
Tę edycję uzupełniono także o:
* Opis obsługi standardu kodowania Unicode w Perlu z uwzględnieniem obsługi łańcuchów znakowych, wyrażeń regularnych oraz operacji wejścia-wyjścia.
* Specjalny rozdział poświęcony programowaniu przy użyciu mod_perla, będącego modułem Apache osadzającym język Perl w tym popularnym serwerze HTTP, co ogromnie przyspiesza wykonywanie zadań w porównaniu z tradycyjnym interfejsem CGI.
* Nowe oraz uaktualnione receptury opisujące zastosowanie modułów dołączanych do standardowej dystrybucji Perla.
* Nowy rozdział dotyczący przetwarzania dokumentów XML, światowego standardu wykorzystywanego w procesie tworzenia oraz wymiany dokumentów.
Książka "Perl. Receptury. Wydanie II" została określona mianem najbardziej przydatnej książki napisanej dotychczas o Perlu. Uczy ona programowania w najszybszy sposób: przedstawiając sposób rozwiązania danego zadania przez ekspertów, a następnie jego objaśnienie. Choć książka ta nie jest podręcznikiem języka Perl, pokazuje ona, jak należy programować w tym języku.
Przewodnik po najnowszej wersji najpopularniejszego języka do tworzenia dynamicznych witryn WWW
Książka "PHP 5. Nowe możliwości" to opis wszystkich funkcji, które dodano do najnowszej wersji języka PHP. Jest adresowana do programistów korzystających z PHP 4, którzy chcą poznać nowe narzędzia wprowadzone w wersji 5. Każdy nowy mechanizm jest przedstawiony w postaci przykładu. Książka zawiera także porównanie sposobów realizacji typowych zadań programistycznych za pomocą języków PHP 4 i PHP 5, co ułatwia migrację do nowej wersji.
* Zasady programowania obiektowego
* Współpraca z bazą danych MySQL
* Środowisko SQLite
* Mechanizmy obsługi języka XML
* Obsługa błędów za pomocą wyjątków
* Korzystanie z mechanizmów SOAP
Odkryj potęgę najnowszej wersji języka PHP
* Zaawansowane techniki programowania w PHP5
* Wzorce projektowe i stosowanie technologii XML i SOAP
* Sposoby poprawy wydajności aplikacji
* Współpraca z bazami danych
PHP w ciągu ostatnich lat stał się jednym z najpopularniejszych języków programowania wykorzystywanych do tworzenia aplikacji internetowych. Swój sukces zawdzięcza prostocie i ogromnym możliwościom, pozwalającym na pisanie rozbudowanych aplikacji, znacznie przekraczających funkcjonalnością "zwykłe" portale i dynamiczne strony WWW. Najnowsza wersja języka PHP, oznaczona numerem 5, to w pełni obiektowy język programowania umożliwiający realizację złożonych projektów. Posiada mechanizmy obsługi plików XML i protokołu SOAP oraz poprawione i rozbudowane funkcje do komunikacji z bazami danych.
"PHP5. Tajniki programowania" to napisany przez współtwórcę języka PHP5 oraz dwóch doskonałych programistów przewodnik opisujący ogromne możliwości tej platformy. Autorzy przedstawiają sposoby wykorzystania PHP5 w projektach informatycznych o dowolnej skali złożoności. Omawiają model obiektowy PHP5, wzorce projektowe, metody korzystania z plików XML i technologii SOAP oraz techniki współpracy z bazami danych. W książce znajdziesz także szczegółowe omówienie biblioteki PEAR, obsługi wyjątków oraz metod optymalizowania wydajności aplikacji.
* Nowe możliwości PHP5
* Podstawy PHP5 i programowania zorientowanego obiektowo
* Stosowanie wzorców projektowych
* Techniki tworzenia aplikacji WWW
* Komunikacja z bazami danych, współpraca z MySQL i SQLite
* Obsługa błędów i wyjątków
* Przetwarzanie plików XML
* Instalowanie biblioteki PEAR
* Pakiety PEAR
* Tworzenie komponentów PEAR
* Przenoszenie kodu z PHP4 do wersji PHP5
* Projektowanie wydajnych aplikacji
Jeśli tworzysz aplikacje WWW, pakiety lub rozszerzenia PHP, w tej książce znajdziesz odpowiedzi na wszystkie pytania.
Wyjątkowy język C++. 40 nowych łamigłówek, zadań programistycznych i rozwiązańWydawnictwo Helion
Poznaj skuteczne rozwiązania problemów, jakie napotkasz podczas codziennej pracy programisty
* Prawidłowo zoptymalizuj kod źródłowy
* Zaprojektuj efektywną obsługę wyjątków
* Naucz się odpowiednio korzystać z przestrzeni nazw
Nauka każdego nowego zagadnienia przebiega zdecydowanie szybciej i efektywniej pod kierunkiem osoby znającej temat. Nie inaczej jest w przypadku nauki programowania w języku C++. Programowanie w tym języku wymaga dogłębnego opanowania możliwości biblioteki standardowej, inżynierii oprogramowania i wielu innych tematów. Rozwiązując samodzielnie zagadki, jakie często pojawiają się podczas poznawania języka C++ lepiej zapamiętujemy ich rozwiązania, dzięki czemu łatwiej możemy zastosować je w codziennej pracy.
Książka "Wyjątkowy język C++. 40 nowych łamigłówek, zadań programistycznych i rozwiązań" to zbiór zagadnień związanych z niemal wszystkimi aspektami programowania w C++, przedstawionych w formie zagadek z rozwiązaniami. Opisuje zarówno podstawy stosowania szablonów, biblioteki standardowej i projektowanie klas, jak i tematy zaawansowane -- przestrzenie nazw, wyjątki, dziedziczenie i zarządzanie zasobami. Czytając ją, przekonasz się, w jaki sposób można użyć pozornie niezwiązanych ze sobą elementów do opracowania nowych i oryginalnych rozwiązań częstych problemów.
* Poprawne stosowanie predykatów
* Kontenery i wskaźniki
* Korzystanie z szablonów
* Optymalizacja kodu
* Bezpieczna obsługa wyjątków
* Mechanizmy dziedziczenia i polimorfizmu
* Zarządzanie zasobami i pamięcią
* Makrodefinicje
* Przestrzenie nazw
Gdy zrozumiesz zagadnienia opisywane w tej książce, nie będziesz musiał podczas programowania zastanawiać się nad szczegółami -- będziesz mógł skoncentrować się na problemach, które naprawdę chcesz rozwiązać.
O autorze:
Herb Sutter to ekspert od programowania w języku C++. Jest regularnie zapraszany do wygłaszania wykładów na konferencjach dla programistów.
[więcej...]
Profesjonalne techniki programowania obiektowego w PHP5
* Poznaj zasady projektowania i programowania obiektowego
* Zastosuj wzorce projektowe podczas tworzenia aplikacji
* Wykorzystaj narzędzia wspomagające pracę programisty PHP5
Wraz z rosnącą popularnością języka PHP zwiększa się również zakres jego zastosowań. Za pomocą PHP tworzy się już nie tylko proste dynamiczne witryny WWW i fora dyskusyjne, ale również rozbudowane aplikacje sieciowe, wykorzystywane często w dużych przedsiębiorstwach. Już w PHP4 zaimplementowano pewne mechanizmy ułatwiające tworzenie rozbudowanych systemów, jednak dopiero PHP5 stał się w pełni obiektowym językiem programowania pozwalającym na korzystanie z wszystkich wynikających z tego możliwości.
"PHP5. Obiekty, wzorce i narzędzia" stanowi dokładne omówienie wszystkich technik obiektowych w kontekście zastosowania ich podczas tworzenia aplikacji w PHP5. Zawiera przegląd podstawowych i zaawansowanych cech PHP5 związanych z obiektowością. Przedstawia przykłady najczęściej wykorzystywanych wzorców projektowych i zasady ich stosowania. Książka opisuje również narzędzia, które mogą okazać się bardzo przydatne podczas tworzenia rozbudowanych aplikacji, służące do tworzenia dokumentacji i kontroli wersji plików.
* Podstawowe pojęcia z dziedziny obiektowości
* Obsługa obiektów
* Wyjątki i obsługa błędów
* Projektowanie obiektowe
* Modelowanie obiektów w języku UML
* Wzorce projektowe
* Stosowanie pakietu PEAR
* Generowanie dokumentacji za pomocą PHPDocumentor
* Zarządzanie wersjami plików w systemie CVS
* Tworzenie pakietów instalacyjnych
Przekonaj się, jak potężnym narzędziem jest najnowsza wersja języka PHP.
Podręczny zbiór najbardziej przydatnych konstrukcji języka Python
* Poznaj składnię języka Pyton
* Naucz się wykonywać najczęściej używane operacje
* Używaj gotowych elementów do szybkiego tworzenia rozwiązań w Pythonie
Prawdopodobnie słyszałeś już o zaletach Pythona. Jest przenośny i działa w niemal wszystkich systemach operacyjnych. Ma niezwykle czytelną i prostą składnię, a jego odmiany mogą współpracować z innymi językami programowania. Mówi się także, że pozwala skrócić czas pisania kodu kilka razy w porównaniu z językiem C++. To jeszcze nie wszystkie atuty Pythona, o czym wkrótce się przekonasz, pisząc swoje pierwsze programy w tym języku.
Dzięki książce "Python. Rozmówki" błyskawicznie poznasz najważniejsze zwroty i konstrukcje oraz podstawy składni tego języka programowania. Nauczysz się między innymi wykonywać w aplikacjach operacje na łańcuchach i pracować z typami danych, a także pisać programy wielowątkowe i sieciowe. Dowiesz się, jak zarządzać plikami i przetwarzać je oraz jak obsługiwać bazy danych.
* Składnia języka Python
* Przetwarzanie łańcuchów danych
* Korzystanie z typów danych
* Praca z plikami
* Tworzenie aplikacji wielowątkowych
* Komunikacja z bazami danych
* Obsługa komunikacji sieciowej
* Tworzenie usług sieciowych
* Przetwarzanie danych w formatach XML i HTML
Wykorzystaj gotowe fragmenty kodu --
zacznij pisać niezawodne programy w Pythonie.
Delphi 7 jest kolejną wersją najpopularniejszego zintegrowanego środowiska programowania typu RAD dla platformy Windows. Delphi 7, współpracując z Kyliksem firmy Borland - pierwszym środowiskiem programistycznym RAD dla Linuksa - sprawia, że możliwości wykorzystania Delphi przez osoby znające język Object Pascal znacznie wzrastają. Dzięki prostocie obsługi i zaletom wzorowanego na Pascalu języka Object Pascal, Delphi jest doskonałym narzędziem dla początkujących programistów, także dla tych, którzy nie mieli wcześniej wiele wspólnego z programowaniem obiektowym.
Książka omawia:
* Podstawy programowania w języku Object Pascal
* Projektowanie zorientowane obiektowo (OOD)
* Zintegrowane środowisko programistyczne Delphi
* Object Pascal w wydaniu Delphi 6
* Biblioteki VCL i CLX
* Tworzenie i instalowanie własnych komponentów
W porównaniu z poprzednim wydaniem tej książki rozbudowano rozdziały traktujące o podstawach programowania w języku Object Pascal. Znacznie poszerzono też rozdział poświęcony programowaniu obiektowemu.
Pomocą w zgłębianiu tajników Delphi 7 będzie 28 kompletnych, przykładowych projektów dołączonych do książki, ilustrujących najważniejsze poruszane zagadnienia.
Kompletne i niezastąpione źródło wiedzy dla doświadczonych programistów
* Kolejne wydanie doskonałego przewodnika po zaawansowanych możliwościach Javy
* Wszystkie kody źródłowe w książce zaktualizowane do J2SE 5.0
* Szczegółowe omówienie wielowątkowości, kolekcji, programowania aplikacji sieciowych i bazodanowych, bezpieczeństwa i internacjonalizacji aplikacji, obiektów rozproszonych i języka XML
Kolejne już wydanie przewodnika opisującego zaawansowane i nieznane właściwości języka Java, tym razem w wersji 5.0, to kompendium wiedzy dla wszystkich programistów zamierzających tworzyć rozbudowane aplikacje. Nowa wersja języka Java to nie tylko nowy numer -- to przede wszystkim ogromna ilość nowych funkcji i możliwości, klas i obiektów. W JDK 5.0 wprowadzono nowe mechanizmy obsługi wątków i kolekcji, rozszerzono możliwości biblioteki Swing i klas wykorzystywanych do tworzenia aplikacji bazodanowych i sieciowych. "Java 2. Techniki zaawansowane. Wydanie II" przedstawia i opisuje wszystkie te nowości.
Wszystkie przykładowe programy zostały zaktualizowane do najnowszej wersji Javy i przedstawiają praktyczne rozwiązania rzeczywistych problemów, z jakimi może spotkać się twórca aplikacji w języku Java.
Książka zawiera wiele nowych podrozdziałów poświęconych nowościom wprowadzonym w J2SE 5.0. Dokładnie i na przykładach opisuje zagadnienia związane z wielowątkowością, kolekcjami, metadanymi, stosowaniem języka XML, komunikacją z bazami danych i wieloma innymi elementami zaawansowanego programowania w Javie.
* Aplikacje wielowątkowe
* Kolekcje i operacje na nich
* Połączenia sieciowe
* Interfejs JDBC i LDAP
* Aplikacje rozproszone
* Technologia CORBA
* Zaawansowane możliwości bibliotek Swing i AWT
* Technologia JavaBeans
* Bezpieczeństwo aplikacji
* Internacjonalizacja
* Korzystanie z języka XML
Jeśli zamierzasz wykorzystać Javę w złożonym projekcie informatycznym, ta książka będzie dla Ciebie niezastąpiona.
Kolejna wersja popularnego języka PHP wniosła zupełnie nową jakość do tworzenia aplikacji internetowych. PHP5 to w pełni obiektowe środowisko, pozwalające na korzystanie z wszystkich nowoczesnych technologii sieciowych i budowanie wydajnych oraz, co najważniejsze, bezpiecznych systemów. Przed twórcami aplikacji otwarły się bramy do protokołu SOAP, usług sieciowych, ogromnych możliwości języka XML i znacznie wydajniejszych połączeń z bazami danych.
Książka "PHP5. Profesjonalne tworzenie oprogramowania" jest przeznaczona właśnie dla takich programistów -- tych, którzy opanowali poprzednie wersje PHP i chcą poznać możliwości, jakie oferuje jego najnowsze wcielenie. Przedstawia tajniki projektowania i programowania obiektowego, ze szczególnym uwzględnieniem stosowania wzorców projektowych i testowania za pomocą biblioteki PHPUnit. Opisuje możliwości zastosowania w aplikacjach PHP języka XML, protokołu SOAP i zaawansowanych technik operowania na bazach danych. Czytając ją, poznasz również metody automatycznego dokumentowania kodu oraz modelowania aplikacji za pomocą języka UML i dostępnych bezpłatnie narzędzi ArgoUML i Poseidon for UML.
* Klasy i obiekty
* Serializacja obiektów
* Mechanizmy dziedziczenia
* Korzystanie z biblioteki PHPUnit do testowania aplikacji
* Stosowanie wzorców projektowych
* Wzorce konstrukcyjne i strukturalne oraz wzorce zachowań
* Obsługa języka XML w PHP5
* Tworzenie usług sieciowych
* Wykorzystywanie możliwości rozszerzenia MySQL
* Komunikacja z bazami danych za pomocą Creole i Propel
* Tworzenie dokumentacji kodu z wykorzystaniem narzędzia phpDocumentator
* Modelowanie aplikacji w języku UML
Wykorzystaj najnowszą wersję PHP5do stworzenia szybkich i bezpiecznych aplikacji internetowych.
Znajomość języka PHP wykorzystywanego do tworzenia dynamicznych stron WWW to dziś jedna z podstawowych umiejętności wymaganych od webmastera. Era statycznych stron tworzonych za pomocą języka HTML przeminęła już dawno, a dynamiczne generowanie treści stało się obecnie standardem. Język PHP i baza danych MySQL stanowią platformę o wielkich możliwościach, stosowaną do tworzenia zarówno wielkich portali i witryn e-commerce, jak i prostych stron prywatnych.
Książka "PHP5. Praktyczny kurs" jest wprowadzeniem w tajniki nowoczesnego tworzenia stron WWW. Przedstawia proces instalacji języka PHP wraz z serwerami WWW, podstawowe konstrukcje języka i sposoby wykorzystania ich w procesie budowania witryny. Opisuje takie zagadnienia, jak współpraca z systemem plików, obsługa sesji, możliwości programowania obiektowego oraz współpraca z bazami danych. Dowiesz się z niej także, jak za pomocą PHP generować i przetwarzać elementy graficzne oraz wykorzystywać protokoły sieciowe.
* Instalacja i konfiguracja PHP w różnych systemach operacyjnych
* Zmienne, typy danych i operatory
* Instrukcje sterujące
* Komunikacja skryptów z przeglądarką
* Obsługa plików cookie i sesji
* Operacje na plikach
* Programowanie obiektowe w PHP
* Wykorzystywanie danych zgromadzonych w bazie
Poznaj i wykorzystaj w swoich projektach możliwości języka PHP.
Język Pascal, kojarzący się głównie z nauką programowania, stał się podstawą jednego z najpopularniejszych obecnie środowisk programistycznych -- Delphi firmy Borland. To graficzne środowisko, pozwalające na szybkie tworzenie aplikacji dzięki możliwości składania ich z "klocków" zwanych komponentami, błyskawicznie zyskało uznanie programistów na całym świecie. Kolejne wersje Delphi oferowały coraz większe możliwości. Jego najnowsza wersja pozwala na tworzenie programów dla platformy .NET i korzystanie nie tylko z języka Pascal, ale również z coraz popularniejszego C#.
Książka "Delphi. Szybki start" to doskonały przewodnik po Delphi dla początkujących użytkowników. Dzięki niemu poznasz język Object Pascal i zasady programowania obiektowego. Nauczysz się wykorzystywać komponenty do tworzenia aplikacji i od zera napiszesz własne programy. Dowiesz się, czym się różni Delphi 7 od Delphi 2005, i wykorzystasz możliwości obu tych środowisk.
* Interfejs użytkownika środowiska Delphi
* Elementy języka Object Pascal
* Programowanie obiektowe
* Obsługa wyjątków
* Tworzenie okien dialogowych
* Projektowanie interfejsów użytkownika
* Korzystanie z komponentów
Poznaj możliwości środowiska Delphi.
Język programowania PHP stanowi dla wielu osób przepustkę w świat pisania aplikacji działających po stronie serwera WWW. Łatwość z jaką przychodzi nauczenie się tego języka, sprawiła, że używają go setki tysięcy amatorów i profesjonalistów na całym świecie.
Po pewnym czasie wiedza wyniesiona z podręczników opisujących podstawy PHP języka przestaje wystarczać. Niniejsza książka pomoże Ci w wykonaniu kolejnego kroku: kroku w kierunku pisania zaawansowanych aplikacji. Dzięki niej wzbogacisz swoją wiedzę i staniesz się prawdziwym ekspertem programowania w PHP, poszukiwanym na rynku pracy.
* Poznasz tajniki programowania obiektowego.
* Nauczysz się korzystać z baz danych.
* Dowiesz się, w jaki sposób zabezpieczać stworzone przez siebie aplikacje.
* Napiszesz własny sklep internetowy, korzystając z sesji i bazy SQL.
* Poznasz sposoby uruchamiania programów PHP w oderwaniu od serwera WWW.
* Nauczysz się generować nie tylko strony WWW, ale także grafikę i pliki PDF.
* Dowiesz się, jak i po co używać języka XML.
* Skorzystasz z wielu rozszerzeń języka, które ułatwiają rozwiązywanie złożonych problemów.
Pomoże Ci w tym prosty język w jakim napisana jest książka oraz liczne przykłady kodu, a także osoba autora, doświadczonego programisty i wykładowcy PHP na Uniwersytecie Kalifornijskim w Berkeley.
Przystępne, a zarazem kompletne wprowadzanie do języka programowania, który zmienił sposób myślenia wielu programistów. W ostatnich latach Java wyprzedziła pod względem popularności inne języki, takie jak C++ i Visual Basic, spełniając większość wymagań stawianych przez twórców aplikacji i stała się najważniejszym językiem nowego pokolenia programistów -- w szczególności projektantów aplikacji działających w Internecie.
Książka pozwala na przyswojenie podstaw języka Java. Dzięki niej poznasz sam język, biblioteki klas, techniki programistyczne i idiomy. „Java. Wprowadzenie” zawiera wiele łatwych w zrozumieniu przykładów wraz z kodem źródłowym. Pozwolą Ci one zapoznać się z wieloma cechami, funkcjami i interfejsami programistycznymi Javy.
Załączony CD-ROM poza przykładami omawianymi w książce zawiera także pełną wersję J2SE SDK 1.4, środowisko NetBeans, narzędzie make (Ant) i serwer aplikacji Tomcat z projektu Jakarta oraz BeanShell, prosty, darmowy język skryptowy Javy napisany przez jednego z autorów tej książki, Pata Niemeyera.
Tematy omówione w tej książce dotyczą:
* technik programowania zorientowanego obiektowo,
* interfejsów programistycznych serwletów i aplikacji internetowych,
* asercji języka i obsługi wyjątków,
* pakietu NIO umożliwiającego tworzenie złożonych systemów wejścia-wyjścia,
* programowania wykorzystującego wątki,
* komponentów Swing służących do budowy okienkowego interfejsu użytkownika
* nowych interfejsów programistycznych wersji 1.4: wyrażeń regularnych, właściwości i dzienników zdarzeń,
* JavaBeans i darmowego środowiska NetBeans,
* Java Plug-in, podpisywaniu apletów i Java Web Start,
* XML (omówiono: SAX, DOM, DTD, XSLT)
Książka zawiera oficjalną dokumentację języka Visual C# .NET. C# jest jednym z podstawowych języków dostępnych na platformie .NET, łączącym w sobie największe zalety Javy i C++. "Visual C#. NET. Encyklopedia" to doskonałe uzupełnienie dokumentacji dostępnej w formie elektronicznej, niezbędne dla każdego programisty korzystającego z C#. Poza szczegółowym opisem języka, a także kompilatora C#, zawiera ona wiele przykładów gotowych do wykorzystania w konkretnych aplikacjach. Jest to książka, do której będziesz często powracał.
Omówiono:
* Typy
* Modyfikatory
* Polecenia
* Przestrzenie nazw
* Operatory
* Przekształcenia
* Dyrektywy preprocesora
* Atrybuty
* Tworzenie dokumentacji w XML
Nie ucz się C++ -- naucz się programować w C++
* C++ od najprzydatniejszych elementów, a nie od elementów najprostszych
* Rzeczywiste zadania i ich rozwiązania
* Opis C++ i biblioteki standardowej
* Książka sprawdzona w praktyce na Uniwersytecie Stanford
Książka ta ma pomóc Czytelnikowi w szybkim nauczeniu się języka C++ poprzez pisanie w nim przydatnych programów. Ta strategia wydaje się oczywista, jednak jest odmienna od powszechnie przyjętej metodologii nauczania. Autorzy nie będą uczyć Cię języka C, choć wielu uważa, że jest to niezbędne. W prezentowanych przykładach od razu wykorzystane zostaną wysokopoziomowe struktury, a prezentacja sposobu ich zastosowania będzie często wyprzedzać omówienie ich fundamentów. Dzięki takiemu podejściu zaczniesz szybko pisać programy wykorzystujące idiomy C++.
Zastosowany w książce schemat autorzy wypróbowali podczas kursów prowadzonych na Uniwersytecie Stanforda, na których studenci uczą się pisać programy już na pierwszych zajęciach.
Poznaj:
* Podstawowe cechy C++
* Operacje na ciągach
* Pętle i liczniki
* Przetwarzanie danych "porcja po porcji"
* Organizację programów i danych
* Kontenery sekwencyjne i analiza ciągów tekstowych
* Algorytmy biblioteki standardowej
* Kontenery asocjacyjne
* Funkcje uogólnione i definiowanie własnych typów
* Zarządzanie pamięcią i niskopoziomowymi strukturami danych
* Półautomatyczne zarządzanie pamięcią
* Programowanie zorientowane obiektowo
O autorach:
Andrew Koenig jest członkiem działu badającego systemy oprogramowania w Shannon Laboratory firmy AT&T oraz redaktorem projektu komitetów standaryzacyjnych języka C++. [więcej...]
Barbara Moo jest konsultantką z dwudziestoletnim doświadczeniem programistycznym, zarządzała projektem pierwszego kompilatora C++. [więcej...]
Gotowe rozwiązania i przykłady dla użytkowników Flasha
Zamiast koncentrować się na abstrakcyjnych niuansach języka ActionScript, można skorzystać z gotowych sposobów rozwiązywania typowych problemów. Receptury ułatwiają pisanie skryptów w języku ActionScript, ucząc przy tym praktycznych technik, które na pewno będą przydatne jeszcze wiele razy.
Ogrom możliwości języka ActionScript może przytłaczać. W niniejszej książce analizujemy zaawansowane technologie jako zespoły prostych czynności, z których każda ma praktyczne znaczenie i z których każdą warto zrozumieć. Książka "ActionScript. Receptury" jest interesująca zarówno dla młodego kodera, jak i dla doświadczonego programisty, ponieważ pozwala spojrzeć z nowej perspektywy i podejść w nowy sposób do zagadnień programowania w języku ActionScript, jednocześnie umożliwiając ugruntowanie zdobytych już umiejętności.
Książka "ActionScript. Receptury" zawiera ponad 300 receptur związanych z niezliczoną ilością tematów, wśród których znajdują się m.in.:
* rysowanie kształtów za pomocą instrukcji skryptów;
* programistyczne sterowanie odtwarzaniem klipów filmowych;
* obsługa wprowadzania tekstu i operacje na łańcuchach znaków;
* udostępnianie strumieni audio i wideo dzięki technologii Flash Communication Server;
* wykorzystanie technologii Flash Remoting do tworzenia połączeń z zapleczem bazodanowym;
* posługiwanie się zestawami rekordów i macierzami danych;
* wiele, wiele innych rozwiązań w 20 pełnych receptur rozdziałach.
Na początku książki omówione są krótkie, proste receptury. Później, stopniowo, pojawiają się dłuższe i bardziej skomplikowane skrypty wykonujące coraz bardziej wymyślne zadania. Taki układ wiedzy umożliwia łączenie poznanych skryptów w rozwiązania, na których można oprzeć swoje aplikacje utworzone we Flashu. Miła niespodzianka czeka i tego, kto nad jednostkowe receptury wyżej ceni duże aplikacje: w książce opisano siedem kompletnych, złożonych projektów we Flashu.
Język C++. Standardy kodowania. 101 zasad, wytycznych i zalecanych praktykWydawnictwo Helion
Czytelny i przejrzysty kod to podstawa sprawnego tworzenia aplikacji. W przypadku pracy zespołowej stosowanie wspólnego standardu kodowania to konieczność. Pisanie kodu w oparciu o określone standardy kodowania przyspiesza powstawanie programu, ułatwia komunikację pomiędzy członkami zespołu i pozwala na szybkie wdrożenie nowych programistów do projektu. Oczywiście, w każdej firmie lub zespole można ustalić własny standard kodowania -- ważne jest jednak, aby opierał się na określonych regułach, wynikających ze specyfiki języka programowania.
Książka "Język C++. Standardy kodowania. 101 zasad, wytycznych i zalecanych praktyk" zawiera opis wspomnianych reguł. Przedstawia zasady pisania kodu źródłowego i standaryzowania określonych zapisów, operacji i sposobów wykorzystania elementów języka C++. Każda z zasad jest szczegółowo omówiona i poparta praktycznymi przykładami. Książka prezentuje najlepsze ze znanych praktyk -- zarówno "starych", jak i tych, które całkiem niedawno uległy standaryzacji, oraz opisuje techniki, o których nie słyszeli nawet programiści z wieloletnim doświadczeniem.
* Organizacja kodu
* Styl projektowy i styl kodowania
* Skalowalność kodu
* Racjonalna i efektywna obsługa błędów
* Prawidłowe stosowanie elementów języka
* Odpowiednie korzystanie z STL
* Bezpieczeństwo typów
Usprawnij pracę, stosując standardy kodowania -- gdy za parę miesięcy będziesz musiał wrócić do swoich dzisiejszych programów, przekonasz się, że było warto.
Java. Programowanie, biblioteki open-source i pomysły na nowe projektyWydawnictwo Helion
Odkryj nieznane możliwości Javy
* Sieci semantyczne i neuronowe
* Przetwarzanie grafiki i multimediów
* Obliczenia naukowe
Java, mimo stosunkowo krótkiej obecności na rynku, stała się jednym z najpopularniejszych języków programowania. Codziennie korzystają z niej setki tysięcy programistów z całego świata. Największe korporacje świata za jej pomocą budują systemy informatyczne przetwarzające potężne porcje danych. Aplikacje bazodanowe, serwlety i aplety to najbardziej znane zastosowania Javy, jednak nie jedyne. W sieci dostępna jest ogromna ilość bibliotek tworzonych przez pasjonatów, którzy wykorzystują Javę do odmiennych celów, takich jak przetwarzanie grafiki, modelowanie sieci neuronowych, przeprowadzanie złożonych obliczeń i wielu innych zadań.
Dzięki książce "Java. Programowanie, biblioteki open-source i pomysły na nowe projekty" poznasz mniej znane zastosowania Javy. Dowiesz się, jak za pomocą bibliotek dostępnych na licencji open-source tworzyć ciekawe projekty i pisać nietypowe aplikacje. Nauczysz się przetwarzać pliki XML i HTML, obrabiać i generować grafikę a także wyświetlać pliki multimedialne. Przeczytasz o sieciach semantycznych i neuronowych, odczytywaniu kanałów RSS i sterowaniu urządzeniami podłączonymi do komputera.
* Nieznane funkcje standardowego API Javy
* Przetwarzanie łańcuchów tekstowych
* Analiza plików XML i HTML
* Stosowanie RDF w projektach
* Czytanie kanałów RSS
* Obliczenia o dowolnej precyzji
* Realizacja algorytmów genetycznych
* Symulowanie sieci neuronowych
* Generowanie plików SVG
* Współpraca z interfejsem MIDI
Jeśli lubisz eksperymentować z językami programowania,
ta książka będzie dla Ciebie doskonałym źródłem inspiracji.
Perambulancias 2: é andar por São Paulo com olhar arquitetônico. Resultado: a gente começa a gostar mais dos prédios, notando detalhes importantes e curiosos nas fachadas, portarias, implantação etc e tal.
Carlos Elson L. da Cunha - elsonbrasil@hotmail.com
Em parceria com a Professora Helena Abascal, publicamos os relatórios das pesquisas realizados por alunos da fau-Mackenzie, bolsistas PIBIC e PIVIC. O Projeto ARQUITETURA TAMBÉM É CIÊNCIA difunde trabalhos e os modos de produção científica no Mackenzie, visando fortalecer a cultura da pesquisa acadêmica. Assim é justo parabenizar os professores e colegas envolvidos e permitir que mais alunos vejam o que já se produziu e as muitas portas que ainda estão adiante no mundo da ciência, para os alunos da Arquitetura - mostrando que ARQUITETURA TAMBÉM É CIÊNCIA.
Green Council Brazil - O que é certificação Leed; como se faz a avaliação de um prédio; quais os grupos diferentes de prédios e de avaliações conferidos; porque se necessita de avanços no setor de construções; como o arquiteto pode pensar ambientalmente e criar prédios e casas mais sustentáveis; de onde viemos, para onde vamos; está o universo em expansão - algumas destas questões são respondidas aqui. Só algumas.
Marina Soldano, tutora de la Licenciatura en Comunicación Social, comparte este informe y algunas reflexiones:
“¿Qué estrategias de comunicación crees que son las más efectivas para alcanzar la atención de los adolescentes nativos digitales? Contra todo pronóstico, la Televisión es aún el medio más elegido por ellos. Pero Internet sigue creciendo rápidamente. Aquí Ibope realiza una breve radiografía de la Generación Z y su relación con los medios de comunicación”.
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
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.
Visual Basic po raz pierwszy pojawił się na rynku w roku 1991 jako połączenie oferowanego przez Microsoft języka QBasic z mechanizmem projektowania graficznego interfejsu użytkownika. Od tej pory przeszedł sporą ewolucję, zyskując jednocześnie ogromne grono zwolenników. W roku 2001 wprowadzono na rynek platformę programistyczną .NET wraz z całkowicie zmienioną i odnowioną wersją Visual Basica pod nazwą Visual Basic .NET. Visual Basic dla platformy .NET był językiem w pełni obiektowym i oferował znacznie większe możliwości niż jego poprzednicy. Visual Basic 2005 to najnowsze wcielenie tego popularnego języka programowania.
Książka "Visual Basic 2005. Almanach" to kompleksowe omówienie wszystkich zagadnień związanych z programowaniem w tym języku. Czytając ją, poznasz genezę platformy .NET, jej składniki i konstrukcję oraz słowa kluczowe języka Visual Basic. Przeczytasz o programowaniu obiektowym, klasach platformy .NET, obsłudze zdarzeń oraz typach uniwersalnych. Dalsza część książki to niezwykle przydatne każdemu programiście zestawienie dokumentacji wszystkich istotnych wyrażeń, procedur, funkcji i obiektów Visual Basica zawierające omówienie składni i argumentów, wskazówki dotyczące sposobu stosowania omawianego elementu języka, przykłady kodu oraz opisy nieudokumentowanych zachowań.
W książce omówiono:
* Podstawowe wiadomości o platformie .NET
* Zasady programowania obiektowego
* Zmienne, typy danych i operatory
* Struktura programów w Visual Basic
* Klasy platformy .NET
* Typy uniwersalne
* Obsługa błędów i wyjątków
* Leksykon elementów języka Visual Basic 2005
Zostań ekspertem w dziedzinie programowania w Visual Basicu.
Platforma .NET staje się coraz bardziej popularna. Powstaje coraz więcej aplikacji realizowanych właśnie pod jej kątem. Udostępniane przez platformę .NET mechanizmy pozwalają na szybkie tworzenie aplikacji, co przysparza jej wielu zwolenników. Do stworzenia aplikacji nie wystarczą jednak tylko mechanizmy, nawet najlepsze. Niezbędne jest wygodne i uniwersalne środowisko programowania, jakim niewątpliwie jest Delphi. Jego najnowsza wersja umożliwia pełne wykorzystanie potencjału platformy .NET.
"Delphi dla .NET. Vademecum profesjonalisty" to podręcznik przedstawiający możliwości tworzenia aplikacji .NET za pomocą narzędzia programistycznego firmy Borland. W książce zamieszczono praktyczne przykłady, omówienie ciekawych technik oraz przydatne wskazówki na temat efektywnego korzystania z potencjału platformy .NET Framework. Książka zawiera dokładne omówienie języka programowania Delphi, zaawansowanych zagadnień związanych z programowaniem dla platformy .NET (w tym z zarządzaniem pamięcią), mechanizmów COM-Interop i Reflection, biblioteki GDI+, wytwarzania komponentów typu Windows Forms oraz Web Forms i wiele innych. Znajdziesz tu także solidną analizę kluczowych technologii platformy .NET, takich jak ADO.NET i ASP.NET, włącznie z mnóstwem przykładów demonstrujących ich możliwości.
* Podstawowe wiadomości o platformie .NET i rodzaje aplikacji .NET
* Przegląd elementów platformy .NET
* Delphi for .NET -- środowisko i język programowania
* Biblioteka klas platformy .NET
* Korzystanie z biblioteki GDI+
* Środowisko Mono
* Programowanie wielowątkowe
* Usługi COM Interop i Platform Invocation Service
* Programowanie aplikacji bazodanowych
* Tworzenie stron WWW w technologii ASP.NET
Jeśli szukasz książki poświęconej technologii .NET i programowaniu w języku Delphi aplikacji zgodnych z tą technologią, trafiłeś najlepiej, jak tylko mogłeś.
O autorze:
Xavier Pacheco jest autorem bestsellerowych książek o środowisku Delphi, jest znanym na całym świecie programistą, autorem, konsultantem i wykładowcą.
[więcej...]
Poznaj najnowszą wersję Delphi
i twórz aplikacje dla platformy .NET
W dobie tak dynamicznego rozwoju technologii informatycznych możliwość szybkiego stworzenia aplikacji jest dużym atutem. Dlatego powstają coraz bardziej rozbudowane środowiska programistyczne, umożliwiające skonstruowanie aplikacji z "cegiełek", które można wykorzystywać wielokrotnie. Wśród tych środowisk programistycznych zasłużoną popularność zyskało Delphi, dostępne obecnie w wersji 8. Wygodny i czytelny interfejs, język programowania oparty na znanym i popularnym Pascalu, możliwość łatwego połączenia się z dowolną bazą danych oraz rozbudowany mechanizm tworzenia aplikacji wieloplatformowych to główne zalety tego środowiska.
Książka "Delphi 8 .NET. Kompendium programisty" to przewodnik po najnowszej wersji środowiska Delphi, uwzględniający jego nowe możliwości związane z tworzeniem aplikacji dla platformy .NET. Zawiera opis środowiska programistycznego i języka ObjectPascal. Przedstawia sposoby pisania aplikacji połączonych z bazami danych i korzystających z technologii XML. Opisuje również podstawowe zasady wykorzystywania w tworzonych programach protokołów sieciowych, takich jak HTTP i SMTP. Książka jest doskonała zarówno dla początkujących programistów Delphi, jak i dla tych, którzy chcą poszerzyć swoją wiedzę o zasady tworzenia aplikacji dla platformy .NET.
* Zasady tworzenia aplikacji dla platformy .NET
* Wizualne projektowanie aplikacji
* Mechanizm komponentów
* Projektowanie interfejsu użytkownika i menu
* Programowanie w języku ObjectPascal
* Korzystanie z procedur i funkcji
* Zasady projektowania obiektowego
* Programowanie oparte na zdarzeniach
* Wykrywanie i usuwanie błędów w aplikacjach
* Korzystanie z baz danych
* Język SQL
* Wykorzystywanie technologii XML w aplikacjach
* Programowanie sieciowe i ASP.NET
* Usługi sieciowe
Cennym źródłem informacji jest dodatek, zawierający praktyczne wskazówki dotyczące zasad pisania czytelnego i przejrzystego kodu.
Przekonasz się, że wizualne projektowanie aplikacji zdecydowanie przyspieszy Twoją pracę.
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ę.
Metody numeryczne są to sposoby rozwiązywania złożonych problemów matematycznych za pomocą narzędzi obliczeniowych udostępnianych przez popularne języki programowania. Jeden z najpopularniejszych języków -- Pascal, będący podstawą języka ObjectPascal wykorzystywanego w Delphi, pozwala na bardzo łatwą implementację mechanizmów obliczeń numerycznych. Specyfika projektowania aplikacji w środowisku Delphi pozwala na utworzenie komponentów realizujących algorytmy numeryczne i stosowanie ich w wielu aplikacjach.
Książka "Algorytmy numeryczne w Delphi. Księga eksperta" przedstawia najczęściej wykorzystywane metody numeryczne wraz z przykładami ich implementacji w języku ObjectPascal. Każde zagadnienie jest omówione zarówno od strony teoretycznej, jak i praktycznej, co ułatwia jego zrozumienie i pozwala na modyfikacje zamieszczonych w książce kodów źródłowych.
* Typy, funkcje, klasy i procedury wykorzystywane w algorytmach numerycznych
* Algebra macierzy i równania liniowe
* Badanie funkcji
* Rozwiązywanie równań nieliniowych i wyznaczanie wartości własnych macierzy
* Układy równań różniczkowych liniowych i nieliniowych
* Przekształcenia Fouriera i Laplace’a
Niemal każdy problem obliczeniowy można rozwiązać za pomocą metod numerycznych. Nie musisz więc wymyślać ponownie koła -- wystarczy, że poznasz opisane w tej książce algorytmy.
Poznaj język PHP -- najpopularniejszą technologiętworzenia dynamicznych witryn WWW
* Sposoby przetwarzania informacji z formularzy na stronach WWW
* Komunikacja z bazą danych
* Usuwanie błędów z kodu
Dynamiczne witryny WWW stopniowo wypierają takie, które opierają się wyłącznie na statycznych treściach. Możliwość połączenia stron z bazą danych pozwoliła na tworzenie portali, sklepów internetowych, katalogów, forów dyskusyjnych i wielu innych witryn, bez których trudno sobie wyobrazić oblicze współczesnego internetu. Spośród technologii wykorzystywanych do tworzenia dynamicznych witryn WWW największą popularnością cieszy się PHP. Tę dostępną nieodpłatnie platformę można uruchomić w każdym systemie operacyjnym. PHP jest językiem stosunkowo prostym. Pisane w nim skrypty są osadzane w kodzie strony WWW i interpretowane podczas jej wyświetlania w przeglądarce.
"PHP w mgnieniu oka" to książka dla tych, którzy chcą szybko poznać najważniejsze elementy programowania w języku PHP. Opisuje podstawowe zagadnienia związane ze zmiennymi, słowami kluczowymi i organizacją kodu. Czytając ją, dowiesz się, jak za pomocą PHP przetwarzać różne typy danych, jak osadzać kod PHP wewnątrz kodu HTML i jak tworzyć elementy stron WWW. Nauczysz się również łączyć skrypty PHP z zewnętrznymi programami, serwerami i usługami, przeczytasz o komunikacji z bazą danych, obsłudze systemu plików i usuwaniu błędów ze skryptów.
* Zmienne i stałe w PHP
* Sterowanie przebiegiem programu
* Stosowanie funkcji
* Przetwarzanie różnych typów danych
* Obsługa formularzy HTML, sesji i plików cookie
* Uwierzytelnianie użytkowników
* Komunikacja z serwerem WWW
* Łączenie z bazą danych
* Obsługa błędów
* Klasy z repozytorium PEAR
Jeśli chcesz nauczyć się PHP, ale nie masz na to zbyt wiele czasu, koniecznie przeczytaj tę książkę.
Delphi to jedno z najpopularniejszych środowisk programistycznych. Koncepcja połączenia znanego i łatwego do opanowania języka Pascal z możliwościami projektowania obiektowego oraz techniką tworzenia aplikacji z komponentów, dzięki której można błyskawicznie zbudować szkielet programu, zyskała ogromne uznanie wśród programistów. Delphi ma ogromną liczbę użytkowników, a możliwości najnowszych wersji sprawiają, że narzędzie to wykorzystywane jest coraz powszechniej. Ostatnia edycja Delphi umożliwia także tworzenie aplikacji dla platformy .NET oraz aplikacji internetowych.
"Aplikacje w Delphi. Przykłady. Wydanie II" to książka przedstawiająca wyłącznie praktyczne aspekty wykorzystania tego środowiska programistycznego. Dzięki zaprezentowanym w niej przykładom nauczysz się stosować komponenty, za pomocą których można utworzyć elementy interfejsu użytkownika (menu rozwijane, paski narzędzi i listy wyboru), a także dowiesz się, jak pobierać dane z plików zewnętrznych i bazy danych oraz tworzyć nowe komponenty.
* Elementy projektu w Delphi 2006
* Tworzenie menu rozwijanego
* Paski narzędzi
* Formatowanie i wyświetlanie danych na ekranie
* Okna dialogowe i okna komunikatów
* Edytor tekstu zbudowany na podstawie komponentów
* Wyświetlanie tabel i wykresów
* Komunikacja z bazami danych
* Praca z systemem plików
Sprawdź, jak inni rozwiązali problemy, które napotkałeś, programując w Delphi.
Stwórz własne aplikacje dla systemu Windows
* Jak pracować ze środowiskiem programistycznym Delphi?
* W jaki sposób tworzyć biblioteki DLL?
* Jak zaprojektować wydajną bazę danych?
* Jak tworzyć aplikacje operujące na bazach danych?
Wśród wszystkich środowisk programistycznych umożliwiających tworzenie aplikacji Delphi jest jednym z najbardziej znanych i popularnych. To narzędzie, obecne na rynku od ponad dwunastu lat, cieszy się zasłużonym uznaniem twórców oprogramowania — dzięki sporym możliwościom, ogromnej bibliotece komponentów i czytelnej składni języka Object Pascal, będącego podstawą tego środowiska. Najnowsza wersja Delphi, oznaczona symbolem RAD Studio 2007, nie tylko umożliwia tworzenie „klasycznych” aplikacji dla Windows, opartych o Windows API, ale także udostępnia kontrolki platformy .NET.
Książka „Delphi 2007 dla WIN32 i bazy danych” to podręcznik opisujący zasady tworzenia aplikacji dla systemu Windows w najnowszej wersji Delphi. Przedstawia ona techniki tworzenia aplikacji bazodanowych w oparciu o mechanizmy Windows API i kontrolki VCL. Czytając ją, poznasz komponenty, jakie Delphi oferuje programiście, i dowiesz się, jak korzystać z nich we własnych aplikacjach. Opanujesz mechanizmy komunikacji z niemal wszystkimi systemami zarządzania bazami danych dostępnymi na rynku. Przeczytasz także o tworzeniu wersji instalacyjnych napisanych przez siebie aplikacji.
* Interfejs użytkownika Delphi 2007
* Komponenty dostępne w Delphi
* Przetwarzanie grafiki
* Korzystanie z komponentów VCL
* Aplikacje wielowątkowe
* Tworzenie bibliotek DLL
* Operacje na plikach
* Obsługa dokumentów XML
* Projektowanie bazy danych i struktury tabel
* Komunikacja z bazami danych
* Mechanizmy blokowania rekordów
* Tworzenie wersji instalacyjnych aplikacji
Wykorzystaj możliwości najnowszej wersji środowiska programistycznego, które zrewolucjonizowało proces tworzenia aplikacji!
Wielu programistów poszukuje książki, która przedstawiłaby implementacje znanych algorytmów w Perlu. Niestety w podręcznikach do tego języka trudno znaleźć informacje na ten temat. Informatycy opracowali wiele technik związanych z często spotykanymi problemami, takimi jak:
* Przybliżone dopasowywanie tekstów (uwzględniające literówki)
* Znajdowanie korelacji w zbiorach danych
* Algorytmy związane z grami
* Przewidywanie zjawisk (np. obciążenia serwera WWW)
* Dopasowywanie wielomianowe i za pomocą funkcji sklejanych
* Szyfrowanie informacji
Dzięki algorytmom przedstawionym w niniejszej książce będziesz mógł poradzić sobie z tymi problemami używając wydajnego i łatwego do nauczenia się języka, jakim jest Perl.
Autorzy zakładają, że opanowałeś już składnię Perla i znasz jego podstawowe funkcje. Książka "Algorytmy w Perlu" przystępnie objaśni Ci, kiedy używać klasycznych technik programistycznych i w jakich rodzajach aplikacji znajdują one swoje zastosowanie, a przede wszystkim pokaże Ci, jak je implementować w Perlu.
Jeśli jesteś początkującym programistą, poznasz najważniejsze algorytmy, które pozwolą Ci rozwiązywać problemy programistyczne w sposób profesjonalny. Nawet jeśli znasz już podstawy algorytmiki, będziesz zapewne zaskoczony z jaką łatwością można je zastosować w Perlu. W książce znajdziesz nawet obowiązkowy program rysujący fraktale.
Jest to pierwsza książka spośród licznych pozycji poświęconych algorytmom, która demonstruje ich użycie za pomocą Perla.
Autorami są m.in. Jon Orwant, redaktor The Perl Journal i Jarkko Hietaniemi -- zarządzający biblioteką modułów CPAN. Wszyscy autorzy są stałymi współpracownikami CPAN, stąd wiele z przytoczonych tu fragmentów kodu możesz znaleźć w tej bibliotece.
"Poświęciłem lekturze wiele czasu przeznaczonego na sen -- tak ekscytująca jest ta książka"
Tom Christiansen
Poznaj możliwości nowoczesnych technologii i twórz dynamiczne serwisy internetowe
* Jak sprawdzić poprawność danych i obsługiwać błędy?
* Jak zapisywać nazwy użytkowników i hasła w bazie danych?
* Jak tworzyć zapytania do bazy danych za pomocą funkcji PHP?
PHP i MySQL to już standardowe technologie do tworzenia dynamicznych stron internetowych wykorzystujących bazy danych. Istotne jest, że zapewniają one nie tylko interaktywność, ale również wysoki stopień bezpieczeństwa witryn WWW. Ich ogromne możliwości powodują, że wykorzystywane są do tworzenia zarówno prostych aplikacji, jak i skomplikowanych stron internetowych, zaopatrzonych w rozbudowane systemy autoryzacji, na przykład różnego rodzaju sklepy internetowe. Połączenie PHP i MySQL stanowi więc niezastąpione narzędzie do tworzenia dynamicznych witryn, spełniających wymagania zarówno administratorów, jak i użytkowników.
Książka "PHP i MySQL. Wprowadzenie. Wydanie II" przedstawia krok po kroku zasady tworzenia serwisów WWW z wykorzystaniem baz danych. W podręczniku na przykładach przedstawiono m.in. sposoby pracy z bazą danych MySQL, serwerem WWW Apache czy językiem PHP i XHTML. Czytając tę książkę, nauczysz się przeprowadzać operacje na danych, zarządzać sesjami i tabelami oraz tworzyć zapytania. "Learning PHP &My SQL" stanowi niezbędny podręcznik zarówno dla początkujących Czytelników, jak i programistów, którzy mieli wcześniej do czynienia z językiem HTML, a teraz chcą tworzyć dynamiczne i bezpieczne strony internetowe.
* Treść generowana dynamicznie i Internet
* Podejmowanie decyzji w PHP
* Funkcje i tablice
* Pobieranie danych z kilku tabel
* Praca z bazą danych MySQL
* Operatory logiczne
* Współpraca PHP i MySQL
* Formularze sieciowe
* XHTML
* Pliki cookie, sesje i kontrola dostępu
* Modyfikowanie obiektów MySQL i danych PHP
Oto cała, aktualna wiedza, której potrzebujesz, aby tworzyć interaktywne strony WWW.
Najnowsza wersja Delphi -- jednego z flagowych produktów firmy Borland, łączy w sobie trzy znane środowiska programistyczne: tradycyjne Delphi, Delphi dla .NET oraz C# Builder. Zawarcie w jednym systemie tak wielu możliwości pozwala programistom tworzyć różne rodzaje aplikacji -- zarówno te, do których pisania przyzwyczaili się, korzystając z poprzednich wersji Delphi, jak i programy wykorzystujące zyskującą coraz większą popularność platformę .NET. Dzięki możliwości przenoszenia kodu do środowiska Kylix pracującego pod kontrolą systemu operacyjnego Linux Delphi jest jedną z najbardziej uniwersalnych platform dla programistów i projektantów rozbudowanych aplikacji przeznaczonych do działania w sieci.
"Delphi 2005. 303 gotowe rozwiązania" to książka dla programistów zainteresowanych tworzeniem rozbudowanych aplikacji i wykorzystywaniem w tym celu wszystkich możliwości oferowanych przez najnowszą wersję środowiska Delphi. Opisuje zasady tworzenia programów wykorzystujących biblioteki systemowe Windows i interfejs WinAPI oraz przedstawia rozwiązania problemów, na jakie można się natknąć pisząc aplikację wykraczającą poza możliwości oferowane przez standardowe komponenty dołączane do Delphi. Książka jest zbiorem funkcji, klas i sztuczek, za pomocą których można rozszerzyć możliwości biblioteki VCL, VCL.NET i Windows Forms, sięgając głębiej do zasobów systemu.
* Elementy środowiska Delphi 2005
* Programowanie obiektowe w Delphi 2005
* Obsługa wyjątków w języku Object Pascal
* Korzystanie z informacji zapisanych w rejestrze
* Obsługa systemu plików
* Tworzenie wygaszaczy ekranu
* Projektowanie własnych komponentów
* Stosowanie interfejsu WinAPI w aplikacjach
* Wykorzystywanie możliwości multimedialnych Windows
* Obsługa mechanizmów OLE oraz kontrolek ActiveX
* Elementy biblioteki Indy
* Tworzenie aplikacji sieciowych
* Grafika i biblioteki DirectX.NET
Jeśli chcesz tworzyć profesjonalne aplikacje, wykorzystując Delphi, przeczytaj tę książkę -- znajdziesz tu wiadomości, dzięki którym unikniesz wielu problemów.
Środowisko programistyczne Delphi jest od dawna jednym z najpopularniejszych narzędzi stosowanych przez twórców aplikacji. Każda z jego wersji wnosiła wiele nowości, jednak wersja oznaczona symbolem 2005 to prawdziwy przełom. Umożliwia ona bowiem projektowanie aplikacji przeznaczonych dla platformy .NET, co otwiera przez programistami tysiące nowych możliwości. Mogą wykorzystywać bibliotekę klas FCL, tworzyć aplikacje nie tylko w znanym z poprzednich wersji Delphi języku Object Pascal, ale również w zyskującym coraz większą popularność języku C#, a także stosować w swoich programach klasy i obiekty napisane w dowolnym języku zgodnym z platformą .NET. Delphi 2005 to prawdziwa rewolucja.
Książka "Delphi 2005" wyczerpująco omawia najnowszą wersję tego środowiska programistycznego. Przedstawia jego możliwości i ich praktyczne zastosowanie. Szczegółowo opisuje zagadnienia podstawowe, takie jak praca z interfejsem użytkownika i stosowanie komponentów oraz tematy zaawansowane związane z tworzeniem aplikacji bazodanowych, korzystaniem z klas i obiektów specyficznych dla platformy .NET oraz pisaniem własnych komponentów.
* Korzystanie z elementów interfejsu użytkownika
* Zarządzanie plikami projektu
* Biblioteka klas .NET
* Przetwarzanie plików XML
* Zasady programowania obiektowego w Object Pascal
* Tworzenie aplikacji z wykorzystaniem biblioteki VCL.NET
* Połączenia z bazą danych za pomocą ADO.NET
* Zasady tworzenia własnych komponentów
Dzięki tej książce poznasz wszystkie możliwości najnowszej wersji Delphi.
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.
Dawno już minęły czasy, gdy podstawowym sposobem tworzenia programów było mozolne "wklepywanie" kodu. Forma przekazywanej komputerowi i uzyskiwanej za jego pomocą informacji stała się nie mniej ważna od treści. W takim właśnie kontekście zrodziły się narzędzia do błyskawicznego tworzenia aplikacji (RAD), wśród których jednym z najpopularniejszych jest Delphi. Oparte na języku ObjectPascal ma za sobą długą tradycji, ukazała się już 7 edycja tego narzędzia.
To, że Delphi jest wizualnym środowiskiem programistycznym, w którym wiele działań wykonuje się łatwiej niż w tradycyjnych środowiskach opartych na tekście, nie oznacza, że jego użytkownik może obejść się bez podręcznika. Taki podręcznik trzymasz właśnie w ręku. Został on napisany w sposób fachowy i przystępny. Dzięki "Delphi 7. Dla każdego" poznasz Delphi i nauczysz się pisać w nim programy, nawet jeśli nie jesteś informatykiem.
Książka opisuje:
* Typy danych i operatory w Delphi
* Instrukcje, tworzenie własnych procedur i funkcji
* Programowanie zorientowane obiektowo: klasy, metaklasy, interfejsy
* Tworzenie bibliotek DLL w Delphi
* Środowisko zintegrowane (IDE) Delphi
* Tworzenie atrakcyjnego interfejsu użytkownika
* Śledzenie wykonania programu i usuwanie z niego błędów
* Obsługę baz danych w Delphi
Dzięki narzędziom takim jak Delphi nawet osoby, które wcześniej nie programowały, mogą pisać złożone aplikacje o atrakcyjnym interfejsie. Przy okazji nauczą się podstaw programowania, a zdobytą w ten sposób wiedzę łatwo przeniosą do innych środowisk i systemów.
Przed instalacją Delphi 7 Personal prosimy zapoznać się z informacjami na stronie producenta. Pozwolą one uzyskać klucz autoryzacyjny i numer seryjny, które są niezbędne do prawidłowego procesu instalacji.
PHP i MySQL. Dynamiczne strony WWW. Szybki start. Wydanie IIWydawnictwo Helion
Błyskawiczny kurs tworzenia dynamicznych serwisów internetowych
Dynamiczne strony WWW spotykamy codziennie, korzystając z internetu. Portale, sklepy internetowe, gry sieciowe -- wszystkie te witryny korzystają z baz danych i skryptów wykonywanych po stronie serwera. Technologii umożliwiających realizację tego typu witryn WWW jest kilka. Wśród nich zasłużoną popularnością cieszy się "duet" o ogromnych możliwościach -- język skryptowy PHP i baza danych MySQL. Te dostępne nieodpłatnie narzędzia wykorzystywane są przez tysiące twórców witryn WWW. Dołącz do nich!
Książka "PHP i MySQL. Dynamiczne strony WWW. Szybki start. Wydanie II" to kolejna edycja doskonałego przewodnika po tajnikach tworzenia witryn internetowych za pomocą tych technologii. Znajdziesz w niej wszystkie informacje niezbędne do rozpoczęcia projektowania własnych dynamicznych stron WWW -- od podstaw programowania i korzystania z baz danych, poprzez wykorzystywanie sesji i plików cookie, aż do zaawansowanych technik autoryzowania użytkowników i budowania aplikacji e-commerce. Każde zagadnienie jest przedstawione na praktycznym przykładzie, co doskonale pomoże Ci w przyswojeniu wiedzy.
* Podstawowe elementy skryptów PHP
* Obsługa formularzy HTML
* Tworzenie i stosowanie funkcji
* Projektowanie baz danych
* Operacje na danych
* Wykrywanie i usuwanie błędów w skryptach
* Łączenie skryptów PHP z bazą danych
* Stosowanie plików cookie i mechanizmów zarządzania sesjami
* Zabezpieczanie i szyfrowanie danych
* Zarządzanie treścią strony
* Autoryzowanie użytkowników
* Projektowanie sklepów internetowych
Doskonały przewodnik po najnowszej wersji języka PHP
dla twórców dynamicznych serwisów WWW
Książka "PHP. Programowanie. Wydanie III" to kolejne wydanie praktycznego przewodnika dla programistów stron internetowych. Jeden z najlepszych programistów PHP -- Leon Atkinson, uczy wszystkiego, co potrzebujesz, by stworzyć dobrą i szybką aplikację sieciową. Dokładnie opisuje składnię PHP i kluczowe elementy języka. Atkinson przedstawia także najważniejsze funkcje PHP, w tym funkcje wejścia-wyjścia, przetwarzania danych, matematyczne, daty, czasu, konfiguracji, funkcje umożliwiające współpracę z bazami danych, funkcje graficzne i sieciowe. Prezentuje on również działanie PHP na przykładach realizujących sortowanie, przeszukiwanie, analizę łańcuchów i inne zadania.
Książka składa się z czterech części:
* wstępu do programowania,
* przewodnika po wszystkich funkcjach,
* przeglądu typowych problemów programistycznych
* części umożliwiającej zastosowanie zdobytej wiedzy przy tworzeniu witryn.
Pierwsza część zajmuje się kwestiami dotyczącymi wszystkich języków programowania: jak wygląda skrypt PHP, jak sterować przebiegiem programu i jak zarządzać danymi.
Część druga organizuje funkcje według ich zastosowania i zawiera przykłady ich zastosowania. PHP udostępnia bardzo dużo funkcji, dlatego część ta jest najobszerniejsza.
Część trzecia zajmuje się rozwiązywaniem typowych problemów programistycznych, takich jak sortowanie czy generowanie grafiki.
Ostatnia część udziela porad dotyczących tworzenia całych witryn sieciowych za pomocą PHP.
* Poznaj wzorce projektowe w PHP, techniki programowania obiektowego i możliwości wykorzystania języka XML
* Wykorzystaj nowe funkcje i możliwości PHP 5
* Napisz wydajne aplikacje internetowe, wykorzystując najlepsze praktyki inżynierii oprogramowania
Kompletny przewodnik po języku asemblera
Asembler, mimo że jest zdecydowanie trudniejszy w nauce niż języki programowania wysokiego poziomu, jest wśród programisów bardzo popularny. Tworzone w nim programy są mniejsze, zajmują mniej pamięci i miejsca na dysku, a przede wszystkim działają szybciej. Opracowano język HLA, dzięki któremu programowanie w asemblerze przebiega płynnie i polega na analizie implementacji poszczególnych, wysokopoziomowych konstrukcji, znanych z języków takich jak C, C++ czy Pascal.
Książka "Asembler. Sztuka programowania" to podręcznik programowania w języku asemblera oparty na języku HLA. Opisuje 32-bitową architekturę procesorów Intel oraz zasady tworzenia programów w języku HLA. Przedstawia sposoby pisania, kompilacji i uruchamiania programów wykorzystujących różne, nawet najbardziej złożone typy danych.
* Wprowadzenie do języka HLA
* Sposoby reprezentacji danych
* Organizacja pamięci i tryby adresowania
* Typy danych
* Podział programu na procedury i moduły
* Sterowanie wykonaniem programu
* Instrukcje arytmetyczne
* Operacje na plikach
* Operacje bitowe i łańcuchowe
* Makrodefinicje
* Klasy i obiekty
* Połączenie asemblera z programami w innych językach
Przekonaj się, jak prosty jest język asemblera.
Struktury danych i techniki obiektowe na przykładzie Javy 5.0Wydawnictwo Helion
Przy tworzeniu systemów informatycznych najważniejsze zadania wykonuje się, zanim powstanie pierwszy fragment kodu źródłowego. Wymogi stawiane współczesnym aplikacjom powodują, że inżynieria oprogramowania staje się kwestią kluczową. Opracowanie odpowiedniego projektu oraz właściwy dobór technologii i metodologii zapewniają szybką i efektywną pracę nad systemem. Niezwykle ważne jest poznanie dostępnych w języku Java struktur danych i umiejętność ich wykorzystania. Prawidłowo dobrana struktura danych znacznie przyspiesza nie tylko implementację aplikacji, ale również działanie gotowego systemu.
Książka "Struktury danych i techniki obiektowe na przykładzie Javy 5.0" przedstawia podstawowe struktury danych i sposoby ich wykorzystania podczas programowania obiektowego. Wszystkie wiadomości zostały zaprezentowane z uwzględnieniem reguł nowoczesnej inżynierii oprogramowania. Czytając kolejne rozdziały książki, poznasz najlepsze zastosowania różnych struktur danych oraz wady i zalety ich implementacji. Przede wszystkim jednak zrozumiesz potrzebę stosowania tak wielu struktur danych.
* Cykl życia oprogramowania
* Zastosowanie języka UML w projektowaniu systemów
* Obsługa błędów i wyjątków
* Testowanie oprogramowania
* Dziedziczenie i hierarchia klas
* Listy jedno- i dwukierunkowe
* Interfejs Collection
* Stosy i kolejki
* Algorytmy rekurencyjne
* Sortowanie danych
* Drzewa wyszukiwania
* Grafy
Po przeczytaniu tej książki zrozumiesz zasadę:
"Pomyśl, a dopiero potem pisz kod".
Similar to Perl. Zaawansowane programowanie. Wydanie II (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
Perl. Zaawansowane
programowanie. Wydanie II
KATALOG KSI¥¯EK Autor: Simon Cozens
T³umaczenie: S³awomir Dzieniszewski, Mateusz Michalski
KATALOG ONLINE
ISBN: 83-246-0231-3
Tytu³ orygina³u: Advanced Perl Programming, 2nd Edition
ZAMÓW DRUKOWANY KATALOG Format: B5, stron: 288
TWÓJ KOSZYK
B¹dŸ na bie¿¹co z najnowszymi narzêdziami i technikami programowania
DODAJ DO KOSZYKA
• Wykorzystaj mo¿liwoœci szablonów
• Po³¹cz skrypty Perla z programami napisanymi w innych jêzykach programowania
CENNIK I INFORMACJE • Przetestuj kod i popraw wydajnoœæ projektu
Perl, jeden z pierwszych jêzyków skryptowych s³u¿¹cych do dynamicznego
ZAMÓW INFORMACJE generowania zawartoœci witryn WWW, nie traci popularnoœci mimo doœæ sêdziwego
O NOWOŒCIACH wieku. Ci¹gle wzrasta zainteresowanie tym jêzykiem, co pewien czas powstaj¹ kolejne
jego wersje. W sieci funkcjonuj¹ tysi¹ce witryn poœwiêconych programowaniu w Perlu,
ZAMÓW CENNIK jednak podczas pracy nad rozbudowan¹ aplikacj¹ nie zawsze znajdujemy czas na
poszukiwanie niezbêdnych informacji. Zgromadzenie w jednym tomie opisów technik
stosowanych przez doœwiadczonych programistów pozwoli³oby znacznie przyspieszyæ
CZYTELNIA pracê.
Ksi¹¿ka „Perl. Zaawansowane programowanie. Wydanie II” to kompendium wiedzy dla
FRAGMENTY KSI¥¯EK ONLINE wszystkich, którzy tworz¹ aplikacje w Perlu. Autor opisuje zmiany, jakie wprowadzono
w Perlu w ci¹gu ostatnich lat, koncentruj¹c siê na technikach rozwi¹zywania
konkretnych problemów, a nie na teoretycznych rozwa¿aniach. K³adzie du¿y nacisk na
mo¿liwoœci stosowania gotowych kodów z witryn Comprehensive Perl Archive Network,
w których zgromadzono setki przyk³adów wykorzystania Perla. Uczy efektywnej pracy
i zachêca do stosowania zaawansowanych narzêdzi i technik programistycznych.
• Techniki przetwarzania danych tekstowych
• Stosowanie szablonów
• Pobieranie wiadomoœci RSS
• Obs³uga baz danych
• Korzystanie z kodowania Unicode
Wydawnictwo Helion • Programowanie sterowane zdarzeniami
ul. Chopina 6 • Testowanie kodu i usuwanie b³êdów
44-100 Gliwice • £¹czenie kodu Perla z kodem C za pomoc¹ modu³u Inline
tel. (32)230-98-63 Odkryj magiê Perla
e-mail: helion@helion.pl
2. Spis treści
Przedmowa .................................................................................................................... 7
1. Techniki zaawansowane .............................................................................................. 11
Introspekcja 12
Modyfikacja modelu klas 29
Nieoczekiwany kod 34
Podsumowanie 50
2. Techniki parsowania.....................................................................................................51
Gramatyki Parse::RecDescent 52
Parse::Yapp 74
Inne techniki parsowania 78
Podsumowanie 82
3. Szablony ....................................................................................................................... 83
Formaty i Text::Autoformat 84
Text::Template 88
HTML::Template 93
HTML::Mason 98
Template Toolkit 109
AxKit 115
Podsumowanie 117
4. Obiekty, bazy danych i aplikacje ................................................................................ 119
Coś więcej niż zwykłe pliki… 119
Serializacja obiektów 120
Bazy danych obiektów 130
3
3. Obsługa baz danych 134
Zastosowania praktyczne w aplikacjach sieciowych 141
Posumowanie 147
5. Narzędzia językowe................................................................................................... 149
Perl i praca z tekstem 149
Obróbka tekstów angielskich 150
Moduły do parsowania tekstów angielskich 153
Klasyfikacja i pozyskiwanie informacji 158
Podsumowanie 168
6. Perl i Unicode...............................................................................................................169
Terminologia 169
Co to takiego Unicode? 171
Formaty UTF 173
Obsługa danych UTF-8 176
Moduł Encode 181
Unicode dla programistów XS 187
Podsumowanie 191
7. POE...............................................................................................................................193
Programowanie w środowisku sterowanym zdarzeniami 193
Elementy najwyższego poziomu — komponenty 204
Podsumowanie 211
8. Testowanie..................................................................................................................213
Test::Simple 213
Test::More 215
Test::Harness 218
Test::Builder 219
Test::Builder::Tester 221
Łączenie testów z kodem 223
Testowanie jednostek kodu 224
Podsumowanie 230
9. Rozszerzanie możliwości Perla za pomocą modułu Inline ...................................... 233
Prosty moduł Inline::C 233
Programowanie bardziej złożonych zadań z pomocą Inline::C 236
Inline::Inne moduły 249
Podsumowanie 254
4 | Spis treści
4. 10. Zabawy z Perlem........................................................................................................ 255
Nieczytelność 255
Just another Perl hacker 260
Golf Perla 262
Poezja Perla 264
Acme::* 265
Podsumowanie 269
Skorowidz....................................................................................................................271
Spis treści | 5
5. ROZDZIAŁ 3.
Szablony
Na grupie comp.lang.perl pojawił się niedawno wątek, w którym dyskutujący próbowali
ustalić rytualną drogę każdego programisty Perla — indywidualne wyważanie szeroko otwar-
tych drzwi. Na liście pokonywanych zadań znalazł się system obsługi szablonów, warstwa
abstrakcji bazy danych, parser HTML, procesor argumentów wiersza poleceń oraz moduł ob-
sługi dat i czasu.
Ciekawe, czy poniższa historia nie wyda Ci się znajoma. Musisz przygotować pewien formu-
larz listu. Część tekstu jest stała i niezmienna, niektóre wyrażenia się zmieniają. Tworzysz więc
taki mniej więcej szablon:
my $template = q{
Szanowny Panie(Pani) $name,
Otrzymaliśmy państwa zamówienie dotyczące $product. Z naszych ustaleń wynika,
że będziemy w stanie dostarczyć go do państwa w dniu $date za cenę około $cost.
Dziękujemy za zainteresowanie naszą ofertą,
Acme Integrated Foocorp.
};
a następnie zmagasz się z koszmarnymi wyrażeniami regularnymi przy każdej linii, na przy-
kład s/($w+)/$1/eeg, osiągając w końcu coś, co lepiej lub gorzej działa jak powinno.
Jak to zwykle bywa z każdym projektem, dwa dni od wprowadzenia programu do użytku
zmienia się specyfikacja danych i nagle Twój prosty wzorzec musi uwzględniać zastosowanie
pętli dla elementów tablic, wyrażenia warunkowe czy wreszcie wykonywanie kodu Perla
w samym środku wzorca. I nawet nie spostrzegasz, jak to się stało, że utworzyłeś własny ję-
zyk obsługi wzorców.
Jeżeli rozpoznałeś w tym siebie, nie przejmuj się. To samo przydarza się niemal wszystkim
przynajmniej raz. I właśnie dlatego w CPAN znaleźć można tak wiele modułów obsługują-
cych szablony plików tekstowych i HTML, wśród których występują tak koncepcje niewiele
bardziej złożone od s/($w+)/$1/eeg, jak i niezależne języki programowania wzorców.
Zanim przejdziemy do omawiania tych modułów, przyjrzymy się rozwiązaniu wbudowane-
mu w Perla — formatom.
83
6. Formaty i Text::Autoformat
Formaty są częścią Perla od wersji 1.0. Rzadko się z nich teraz korzysta, ale nadają się świet-
nie do uzyskania efektów, na których w wielu przypadkach zależy nam przy formatowaniu
tekstów.
Formaty Perla umożliwiają utworzenie obrazu danych do wyświetlenia, a następnie wypeł-
nienie go rzeczywistymi danymi. Przykładowo, w niedawno tworzonej aplikacji zależało mi
na wyświetlaniu w oddzielnych wierszach danych o odebranych wiadomościach: identyfi-
katora, daty, adresu nadawcy i tematu wiadomości. Zakładając, że wiersz pomieścić może 80
kolumn, niektóre pola trzeba było ograniczyć, a inne wypełnić odstępami, tak by zajmowały
nieco więcej miejsca. W czystym Perlu efekt tak sformatowanego wyjścia można osiągnąć na
trzy podstawowe sposoby. Po pierwsze, korzystając z sprintf (lub printf) i substr:
for (@mails) {
print "%5i %10s %40s %21sn",
$_->id,
substr($_->received,0,10),
substr($_->from_address,-40,40),
substr($_->subject,0,21);
}
Po drugie, posługując się funkcją pack, o której prawie nikt nie pamięta (a która nie daje du-
żej kontroli przy obcinaniu łańcuchów):
for (@mails) {
print pack("A5 A10 A40 A21n",
$_->id, $_->received, $_->from_address, $_->subject);
}
I w końcu po trzecie, używając formatu:
format STDOUT =
@<<<< @<<<<<<<<< @<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< @<<<<<<<<<<<<<<<<<
$_->id $_->received $_->from_address $_->subject
.
for (@mails) {
write;
}
Osobiście uważam, że to rozwiązanie jest zgrabniejsze i bardziej intuicyjne niż dwa pozosta-
łe. Ponadto ma tę zaletę, że formatowanie wydzielone jest poza pętlę główną, przez co kod
staje się bardziej przejrzysty1.
Formaty zawsze powiązane są z określonymi uchwytami plików; w podanym przykładzie
przyjęto, że format powinien zostać zastosowany do każdego ciągu skierowanego na stan-
dardowe wyjście. Obrazkowy język formatów jest całkiem prosty — pola zaczynają się od
znaków @ lub ^, po których pojawiają się znaki <, | lub > wskazujące na sposób wyrównania
tekstu, odpowiednio: lewostronne, wyśrodkowane i prawostronne. Po każdej linii opisów pól
pojawia się linia z wyrażeniami wypełniającymi te pola, z oddzielnym wyrażeniem dla każ-
dego pola:
1
Tak się złożyło, że ostatecznie nie skorzystałem z tego rozwiązania w swoim rzeczywistym programie — ob-
szary wyświetlania poszczególnych pól musiały mieć zmienną, a nie stałą długość. Jednak w przypadkach,
w których wystarcza stała szerokość pól, rozwiązanie to jest idealne.
84 | Rozdział 3. Szablony
7. format STDOUT =
Id : @<<<<
$_->id
Date : @<<<<<<<
$_->received
From : @<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
$_->from_address
Subject : @<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
$_->subject
.
Jak do tej pory widzieliśmy przykłady tylko pól typu @. W przypadku formatów wielolinio-
wych może się okazać, że przydałoby się podzielić wyrażenie na kilka oddzielnych linii; na
przykład po to, by początek treści wiadomości wyświetlać obok metadanych o tej wiadomości:
Id : 1 Hi Simon, Thank you for the
Date : 10/12/02 supply of widgets that you sent
From : fred@funglyfoobar.com me last week. I can assure you
Subject : Widgets that they have all been put …
W takich przypadkach korzysta się z pól drugiego typu: ^. Zaprezentowany powyżej rezultat
można osiągnąć dzięki takiemu formatowi:
format STDOUT
Id : @<<<< ^<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
$_->id $message
Date : @<<<<<<< ^<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
$_->received $message
From : @<<<<<<<<<<<<<<<<<<<< ^<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
$_->from_address $message
Subject : @<<<<<<<<<<<<<<<<<<<<… ^<<<<<<<<<<<<<<<<<<<<<<<<<<<…
$_->subject $message
.
Wartości wypełniające pola @ mogą być dowolnymi wyrażeniami Perla, natomiast wypełnie-
niami pól ^ mogą być tylko zwykłe skalary. Procesor formatów przy każdym napotkaniu
pola ^ wyświetla tyle znaków z podanej wartości, ile może, a następnie usuwa je z początku
tej wartości, przygotowując ją w ten sposób do wyświetlenia w kolejnym polu. Znak ... na
końcu pola oznacza, że jeśli podana wartość będzie za długa, by zmieścić się w przewidzia-
nym polu, powinna zostać obcięta, a na końcu pojawić się mają trzy kropki. Jeżeli do określe-
nia wartości wypełniającej pola ^ przekazywane będą zmienne leksykalne, takie jak $message
w powyższym przykładzie, to trzeba je zadeklarować przed formatem; w przeciwnym razie
nie będą one w nim widoczne.
Kolejnym udogodnieniem związanym z formatami jest możliwość określenia nagłówka wy-
syłanego na początku każdej strony — Perl zlicza linie wyświetlane przez format i dzięki te-
mu wie, kiedy zaczyna się nowa strona. Nagłówek dla określonego uchwytu pliku to format,
którego nazwą jest nazwa tego uchwytu z przyrostkiem _TOP. Proste zastosowanie tego me-
chanizmu to określenie nazw kolumn dla wyświetlanych rekordów:
format STDOUT_TOP =
ID Received From Subject
===== ========== ======================================== ====================
.
format STDOUT =
@<<<< @<<<<<<<< @<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< @<<<<<<<<<<<<<<<<<<<
$_->id $_->received $_->from_address $_->subject
.
Formaty i Text::Autoformat | 85
8. Formaty są bardzo poręczne, szczególne w sytuacjach, w których z różnymi uchwytami pli-
ków wiążemy rozmaite formaty i wysyłamy te same dane w wiele miejsc w różnej postaci.
Z drugiej strony mają one kilka poważnych ograniczeń, o których trzeba pamiętać, stosując
je w dużych aplikacjach.
Przede wszystkim są nieprzebranym źródłem różnych zmiennych specjalnych: $% oznacza
bieżący numer strony formatu, $= to liczba linii na stronie, $- to liczba linii pozostałych do
końca strony, $~ nazwa bieżącego formatu wyjściowego, $^ nazwa bieżącego formatu na-
główkowego i tym podobne. Nigdy nie pamiętam znaczenia żadnej z nich i zawsze muszę to
sprawdzać w perlvar.
Poza tym formaty słabo radzą sobie ze zmiennymi leksykalnymi, zmianą uchwytów plików,
liniami o zmiennej długości, zmianą formatu w locie itd. Ale do małych, eleganckich rozwią-
zań nadają się wspaniale.
Szczegóły dotyczące wbudowanych formatów Perla znaleźć można w dokumentacji
perlform.
Text::Autoformat
Istnieje jednak inny, godny 21. wieku sposób obsługi formatowania tekstów — moduł Text
::Autoformat. Można go stosować na dwa sposoby — do zawijania długich łańcuchów (co
robi inteligentniej niż moduł Text::Wrap czy uniksowe polecenie fmt) i jako zamiennik wbu-
dowanego języka formatów, oferuje bowiem więcej możliwości przy prostszych zasadach
składniowych.
Opcja zawijania długich tekstów powiązana jest w niewielkim stopniu z szablonami, ale chy-
ba warto wspomnieć o niej w tym miejscu.
Głównym zadaniem procedury autoformat jest zachowywanie struktury zawijanego tekstu;
została ona stworzona z myślą o wiadomościach pocztowych (ze szczególnym uwzględnie-
niem cytowanych fragmentów, sygnatur itp.), ale można ją zastosować do dowolnego ustruk-
turyzowanego tekstu. Przykładowo, gdyby taki tekst:
You have:
* a splitting headache
* no tea
* your gown (being worn)
It looks like your gown contains:
. a thing your aunt gave which you don't know what it is
. a buffered analgesic
. pocket fluff
podać na wejście fmt, otrzymamy dość spektakularny miszmasz:
You have:
* a splitting headache * no tea * your gown
(being worn)
It looks like your gown contains:
. a thing your aunt gave you which
you don’t know what it is . a buffered
analgesic . pocket fluff
86 | Rozdział 3. Szablony
9. Funkcja autoformat spisze się dużo lepiej, bo z wyprzedzeniem sprawdza, jaka jest struktura
formatowanego tekstu:
You have:
* a splitting headache
* no tea
* your gown (being worn) It looks like your
gown contains:
. a thing your aunt gave you which you
don't know what it is
. a buffered analgesic
. pocket fluff
Język formatów z modułu Text::Autoformat jest bardzo podobny do standardowo ofero-
wanego przez Perla, tyle że jest nieco uproszczony. Po pierwsze, rozróżnienie między polami
wypełnianymi, @, a kontynuowanymi, ^, dokonywane jest na podstawie znaków użytych do
oznaczenia zakresu pola, a nie tylko prefiksu pola. I tak to, co zapisalibyśmy do tej pory jako:
@<<<< @<<<<<<<<< @<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< @<<<<<<<<<<<<<<<<<<<
staje się teraz po prostu czymś takim:
<<<<< <<<<<<<<<< <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< <<<<<<<<<<<<<<<<<<<<
Do oznaczenia formatów kontynuowanych służą znaki [ i ], które same powtarzają się w ko-
lejnych wierszach w miarę potrzeb:
Id : <<<<<
Messagge :
[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[
Na tej podstawie otrzymamy taki wynik:
Id : 1
Message :
Hi Simon, Thank you for the supply of widgets that you sent me
last week. I can assure you that they have all been put to good…
Jednak w odróżnieniu od wbudowanych formatów wieloliniowych linie oznaczone znakami
[ i ] powtarzają cały format automatycznie tak długo, by wyświetlić całą zawartość zmiennej.
Z tego powodu poniższy zapis nie przyniesie spodziewanego rezultatu:
Id : <<<<< [[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[
Zamiast tego rezultat będzie następujący:
Id : 1 Hi Simon, Thank you for the supply of widgets that you sent
Id : me last week. I can assure you that they have all been put
Id : to good use, and have been found, as usual to be the very…
A efekty są jeszcze gorsze przy zastosowaniu formatów dłuższych niż jedna linia.
Dużą zaletą Text::Autoformat jest natomiast to, że w jego przypadku formaty są zwykłymi
łańcuchami, a nie odpowiednio kompilowanymi wzorcami przeplatanymi kodem. Łańcuchy
tworzące format przetwarzane są przez funkcję form, którą trzeba jawnie importować:
use Text::Autoformat qw(form);
my $format = <<EOF;
Id : <<<<<
Date : <<<<<<<<
From : <<<<<<<<<<<<<<<<<<<<<
Subject : <<<<<<<<<<<<<<<<<<<<<…
Formaty i Text::Autoformat | 87
10. EOF
my $id = 10;
my $date = "20/12/02";
my $from = "Fred Foonly";
my $subject = "Autoformatted message";
print form($format, $id, $date, $from, $subject);
Text::Autoformat pozwala także na wyjątkowo swobodne kontrolowanie dzielenia wyrazów
w polach formatu tworzących wieloliniowe bloki. Można stosować różne algorytmy dziele-
nia, jak choćby TeX::Hyphen autorstwa Jana Pazdziory, używanego w pakiecie TeX Donalda
Knutha. Główną wadą modułu Text::Autoformat jest to, że nie daje takiej kontroli nad na-
główkami i stopkami jak write.
Zarówno formaty Perla, jak i Text::Autoformat nadają się świetnie do generowania forma-
towanego wyjścia przypominającego stylem programy tworzone w latach 80. ubiegłego stu-
lecia. Jednak gdy dziś mówimy o formatowaniu tekstu, to mamy na myśli raczej formularze
czy listy seryjne. Przejdźmy więc do modułów lepiej dostosowanych do obsługi szablonów
w takim właśnie stylu.
Text::Template
Text::Template, autorstwa Marka-Jasona Dominusa, to już de facto standard wśród syste-
mów tworzenia szablonów dla zwykłego tekstu. Stosowany w nim język wzorców jest na-
prawdę prosty — wszystko, co umieścimy pomiędzy znakami { i }, zostanie przetworzone
przez Perla, cała reszta będzie niezmieniona.
Jest to moduł zorientowany obiektowo — najpierw tworzy się obiekt szablonu z pliku, uchwy-
tu do pliku lub łańcucha, a następnie się go wypełnia:
use Text::Template;
my $template = Text::Template->new(TYPE => "FILE",
SOURCE => "email.tmpl");
my $output = $template->fill_in();
Załóżmy więc, że mamy następujący szablon:
Drogi {$who},
Dziękuję Ci za moduł {modulename}, który pozwolił mi oszczedzić około
{$hours) godzin pracy w tym roku. Dzięki temu miałem możliwość rozegrania
{ int($hours*2.4) } potyczek w go i bardzo cenię sobie to, że nie straciłem
tego czasu, próżnując na IRC-u.
Z poważaniem,
Simon
Tworzymy obiekt szablonu, potrzebne zmienne, a następnie przetwarzamy szablon:
use Text::Template;
my $template = Text::Template->new(TYPE => "FILE",
SOURCE => "email.tmpl");
$who = "Mark";
$modulename = "Text::Template";
$hours = 15;
print $template->fill_in();
Wynik będzie wyglądał tak:
88 | Rozdział 3. Szablony
11. Drogi Mark,
Dziękuję Ci za moduł Text::Template, który pozwolił mi oszczedzić około
15 godzin pracy w tym roku. Dzięki temu miałem możliwość rozegrania
36 potyczek w go i bardzo cenię sobie to, że nie straciłem
tego czasu, próżnując na IRC-u.
Z poważaniem,
Simon
Zauważmy, że podstawiane zmienne — $who, $modulename i tak dalej — nie są zmiennymi
my. Gdy się nad tym odrobinę dłużej zastanowić, staje się to oczywiste — zmienne my nie na-
leżałyby przecież do zakresu widoczności obowiązującego wewnątrz Text::Template i jako
takie nie były w nim widoczne. Ma to nieco nieprzyjemne implikacje: Text::Template ma
dostęp do zmiennych pakietowych i trzeba się nieco nagimnastykować, by bez przeszkód za-
stosować use strict.
Są dwa sposoby rozwiązania tego problemu. Pierwszy jest bardzo prosty — umieścić zmien-
ne podstawiane w jeszcze jednym, zupełnie innym pakiecie:
use Text::Template;
my $template = Text::Template->new(TYPE => "FILE",
SOURCE => "email.tmpl");
$Temp::who = "Mark";
$Temp:modulename = "Text::Template";
$Temp::hours = 15;
print $template->fill_in(PACKAGE => "Temp");
To wygląda już lepiej, ale nadal nie usatysfakcjonuje tych, którzy unikają zmiennych global-
nych jak ognia. Problem ten można obejść, przekazując przenośną tablicę symboli — tablicę
asocjacyjną:
use Text::Template;
my $template = Text::Template->new(TYPE => "FILE",
SOURCE => "email.tmpl");
print $template->fill_in(HASH => {
who = "Mark",
modulename => "Text::Template",
hours => 15
});
Pętle, tablice zwykłe i asocjacyjne
To tyle o prostych szablonach. Ponieważ Text::Template wykonuje wszystko, co umieścimy
pomiędzy nawiasami klamrowymi jako pełnoprawny kod Perla, w szablonach możemy robić
o wiele więcej. Przypuścimy na przykład, że przygotowujemy ofertę wykonania pewnych
prac projektowych:
$client = "Acme Motorhomes and Eugenics Ltd.";
%jobs =
("Zaprojektowanie nowego logo" => 450.00,
"Papier firmowy" => 300.00,
"Przeprojektowanie strony WWW" => 900.00,
"Inne wydatki" => 33.75
);
Możemy przygotować odpowiedni szablon, który wyręczy nas w pracy (oczywiście w pracy
nad przygotowaniem oferty, nie nad zleceniem, o które się staramy):
Text::Template | 89
12. {my $total=0; ''}
Do ($client}:
Dziękujemy za skorzystanie z usług Fungly Foobar Design Associates.
Oto zestawienie kosztów prac wykonanych w ramach otrzymanego zlecenia:
{
while (my ($work, $price) = each %jobs) {
$OUT .= $work . (" " x (50 - length $work)). sprintf("£%6.2f", $price). "n";
$total += $price;
}
}
Koszt całkowity {sprintf "£%6.2f",$total}
Termin płatności: 30 dni.
Z wyrażami szacunku,
Fungly Foobar
Co się tutaj dzieje? Najpierw tworzymy zmienną prywatną w szablonie, $total, którą usta-
wiamy wstępnie na wartość zero. Ponieważ jednak nie chcemy, aby na samym początku na-
szego wzorca pojawiało się 0, zapewniamy, że nasza wstawka zwróci wartość '', tym samym
nie dodając niczego do tekstu wyjściowego. To często stosowana, przydatna sztuczka.
Następnie przechodzimy w pętli po wszystkich elementach tablicy asocjacyjnej %jobs. Po-
szczególne ceny z łatwością dodamy do zmiennej %total, ale chcielibyśmy przy tym dodawać
wiersz do szablonu dla każdej pozycji. Chcielibyśmy wyrazić mniej więcej coś takiego:
{
while (my ($work, $price) = each %jobs) {
}
{$work} £{$price}
{
$total += $price;
}
}
Jednak Text::Template nie działa w ten sposób: każda wstawka musi być niezależnym, po-
prawnym składniowo fragmentem Perla. W jaki więc sposób wpisać do szablonu wiele linii?
Do tego służy magiczna zmienna $OUT. Użycie tej zmiennej powoduje, że jej zawartość zosta-
nie uznana za wynik działania wstawki z kodem. Przy każdej iteracji pętli dodajemy do tej
zmiennej odpowiedni tekst, który na końcu zostanie wstawiony do szablonu jako całość.
Zabezpieczenia i wykrywanie błędów
Jedną z zalet stosowania szablonów jest to, że części aplikacji niezwiązane bezpośrednio z pro-
gramowaniem — wygląd stron HTML, treści listów przy korespondencji seryjnej i tym podob-
ne — można zlecić osobom niekoniecznie umiejącym programować. Natomiast jedną z wad
rozbudowanych systemów obsługi szablonów, takich jak Text::Template, jest to, że niewiele
trzeba, by doprowadzić do rozwinięcia wzorca w postać { system("rm -rf /") }. Po pierw-
szym takim przypadku, Ty, a przy okazji może ktoś jeszcze, będziesz zmuszony szukać nowej
pracy. Musi więc istnieć jakiś sposób zabezpieczenia szablonów przed tego typu przygodami.
90 | Rozdział 3. Szablony
13. Text::Template oferuje dwa sposoby ochrony przed takimi współpracownikami… ups, mia-
łem na myśli wpadkami. Pierwszy to zwykły mechanizm „skazy”. W trybie skazy Perl odmó-
wi uruchomienia szablonu z pliku zewnętrznego. Zabezpiecza to przed ludźmi podmieniają-
cymi pliki wzorców, ale w sposób całkowicie uniemożliwiający korzystanie z jakichkolwiek
plików z szablonami; zamiast tego wszystkie szablony trzeba podawać jako łańcuchy.
Jeżeli mamy zaufanie do konkretnego pliku w systemie, musimy nakazać Text::Template
przyjęcie go; służy do tego opcja UNTAINT:
my $template = new Text::Template (TYPE => "FILE",
UNTAINT => 1,
SOURCE => $filename);
Teraz będzie już można skorzystać z szablonu w pliku $filename, oczywiście o ile plik ten
pomyślnie przejdzie sprawdzanie w trybie skazy.
Drugi sposób zabezpieczeń oferuje większy stopień szczegółowości; opcja SAFE pozwala na
wskazanie zmiennej klasy Safe ograniczającej operacje wykonywane we wstawkach Perla:
my $compartment = new Safe; # Domyślny zestaw operacji jest bezpieczny
$text = $template->fill_in(SAFE => $compatment);
Osoby szczególnie przewrażliwione w zakresie bezpieczeństwa z pewnością będą chciały osią-
gnąć nieco więcej niż tylko ograniczenie się do domyślnego zestawu operacji zastrzeżonych.
Co będzie, gdy nie uda się coś innego? Lepiej przecież, by aplikacja nie kończyła się niespo-
dziewanie po wystąpieniu błędu w kodzie Perla wstawionym w szablon czy zgłoszeniu błę-
du dzielenia przez zero. Text::Template domyślnie wyłapuje błędy przy wywołaniach eval,
jednak czasami chcielibyśmy uzyskać nieco większą kontrolę nad procesem obsługi błędów.
Do tego właśnie służy opcja BROKEN.
Dzięki opcji BROKEN można określić procedurę, która będzie wywoływana zawsze wtedy, gdy
we wstawionym kodzie wykryty zostanie błąd składniowy czy dowolna inna nieprawidło-
wość. Bez opcji BROKEN do wyjściowego tekstu wstawiane są standardowe komunikaty o błę-
dzie, na przykład:
Szanowny Panie(Pani) Program fragment delivered error ''syntax error at template
line 1'',
Określając procedurę BROKEN zyskujemy większą kontrolę nad tym, co będzie wstawione do
tekstu w takiej sytuacji. W większości przypadków najsensowniejszym zachowaniem po wy-
kryciu błędu będzie po prostu całkowite przerwanie przetwarzania szablonu. Osiągniemy to,
zwracając wartość undef z procedury wskazanej przy opcji BROKEN. W takiej sytuacji Text::
Template zwróci tyle tekstu wyjściowego, ile udało mu się do tej pory przetworzyć.
Oczywiście musi istnieć sposób wskazania, czy przetwarzanie szablonu zakończyło się po-
wodzeniem czy może zostało przerwane przez procedurę BROKEN. Dokonuje się tego poprzez
zwrotny argument BROKEN_ARG. Przekazanie BROKEN_ARG konstruktorowi szablonu spowodu-
je, że będzie on przekazany do funkcji BROKEN2. Dzięki temu możemy osiągnąć na przykład
coś takiego:
2
Udostępnienie argumentu definiowanego przez użytkownika to świetny sposób na rozszerzanie możliwości
funkcji zwrotnych.
Text::Template | 91
14. my $succeeded = 1;
$template->fill_in(BROKEN => &broken_sub, BROKEN_ARG => $succeeded);
if (!$suceeded) {
die "Nie udało się wypełnić szablonu...";
}
sub broken_sub {
my %params = @_;
${$params{arg}} = 0;
undef;
}
Jak widać, funkcja zwrotna wskazana przez BROKEN wywoływana jest z argumentem wejścio-
wym w postaci tablicy asocjacyjnej; argument określony przez BROKEN_ARG to element arg tej
tablicy. W tym przypadku jest to po prostu referencja do zmiennej $succeeded; wyłuskuje-
my tę referencję i ustawiamy zmienną na zero, informując tym samym o wystąpieniu błędu,
i zwracamy wartość undef, przerywając dalsze przetwarzanie szablonu.
Jeżeli ktoś ma pomysł, co zrobić z szablonem po wykryciu błędu, to może poznać treść pro-
blematycznego fragmentu kodu. Text::Template udostępnia taką wstawkę w elemencie text
tablicy asocjacyjnej; jak do tej pory nie wymyśliłem jednak dla tego rozwiązania żadnego
sensownego zastosowania. Pozostałe składniki tej tablicy pomocne przy wskazywaniu przy-
czyny błędu to: line, informacja o numerze linii szablonu, w której wystąpił błąd, i error,
czyli wartość $@ wskazująca zgłoszony błąd.
Sztuczki w Text::Template
Oznaczanie fragmentów kodu za pomocą { i } nie stanowi problemu przy większości zasto-
sowań Text::Template — generowaniu seryjnej korespondencji czy e-maili. Jednak przy ge-
nerowaniu tekstu, w którym znaki { i } są znaczące i występują często — na przykład stron
HTML zawierających skrypty JavaScriptu czy znaczniki w TEX-u, staje się to niewygodne.
W takiej sytuacji rozwiązaniem może być poprzedzenie tych nawiasów klamrowych, które
nie mają być przetwarzane jako wstawki Perla, lewym ukośnikiem:
if (browser == "Opera") {
...
}
Jak zauważył jeden z użytkowników, takie rozwiązanie jest uciążliwe przy generowaniu tek-
stów w TEX-u, w którym zarówno lewe ukośniki, jak i nawiasy klamrowe mają swoje znaczenie:
textit{ {$title} } dotfill textbf{ ${$cost} }
Dużo zgrabniejszym rozwiązaniem byłoby wskazanie innych symboli ograniczających, uni-
kając tym samym konieczności wstawiania co chwilę ukośników:
textit{ [[[ $title ]]] } dotfill textbf{ [[[ $cost ]]] }
Tak jest o wiele przejrzyściej!
Aby osiągnąć to w Text::Template wystarczy skorzystać z opcji DELIMITERS czy to w kon-
struktorze, czy w metodzie fill_in:
print $template->fill_in(DELIMITERS => [ '[[[', ']]]' ]);
92 | Rozdział 3. Szablony
15. To rozwiązanie działa szybciej niż przy zastosowaniu ograniczników standardowych, ponie-
waż nie wymaga żadnego specjalnego przetwarzania ukośników, przy czym jest chyba oczy-
wiste, że należy zapewnić, by wybrane symbole ograniczające nie wystąpiły nigdzie w szablo-
nie jako literalny tekst.
Jeżeli z tego rozwiązania z jakichś powodów nie można skorzystać, to istnieje jeszcze jeden
sposób, sugerowany przez Marka: anulowanie znaczenia nawiasów klamrowych poprzez za-
stosowanie wbudowanych w Perlu operatorów cytowania. Fragment { q{ Witaj! } } zwróci
łańcuch „Witaj!”, który zostanie wstawiony do tekstu wyjściowego z szablonu. A więc innym
rozwiązaniem na wstawienie literalnego tekstu bez konieczności anulowania znaczenia na-
wiasów klamrowych jest dodanie kolejnych nawiasów klamrowych!
{ q{
if (browser == "Opera") { … }
} }
Kolejny problem wiąże się z tym, że od ciągłego wpisywania:
my $template = new Text::Template(...);
$template->fill_in();
mogą odpaść palce. Styl obiektowy jest niezastąpiony przy pracy z szablonem, który będzie
wypełniany setki razy — na przykład formularzem listu — ale nie wtedy, gdy chcemy wy-
pełnić szablon tylko raz. W takich przypadkach możemy wyeksportować z Text::Template
procedurę fill_in_file. Wykonuje ona przygotowanie szablonu i jego wypełnienie jednym
ruchem:
use Text::Template qw(fill_in_file);
print fill_in_file("email.tmpl", PACKAGE => "Q", …);
Zauważmy, że funkcję tę trzeba jawnie zaimportować.
HTML::Template
Formatowanie HTML-a różni się nieco od formatowania zwykłego tekstu — występują przy
tym dwie główne szkoły. Pierwsze podejście, wykorzystywane w HTML::Template, jest po-
dobne do metody, którą poznaliśmy przy okazji omawiania Text::Template — szablon jest
gdzieś zapisany, a program w Perlu odczytuje go i wypełnia. Drugie podejście reprezentowa-
ne jest przez HTML::Mason, który omówimy jako następny. Tutaj jest na odwrót — nie uru-
chamia się programu, który zwracałby tekst w HTML-u; zamiast tego tworzy się plik w tym
formacie, który zawiera wstawione fragmenty kodu Perla i wykonuje się go.
Aby porównać oba te rozwiązania, utworzymy tę samą aplikację za pomocą HTML::Template,
HTML::Mason i Template Toolkit — program zbierający z różnych stron WWW nagłówki
wiadomości w formacie RSS (ang. Remote Site Summary) i wyświetlający je na jednej stronie
(podobnie jak w Amphetadesku, http://www.disobey.com/amphetadesk/ czy Meerkacie wydaw-
nictwa O’Reilly, http://www.oreillynet.com/meerkat/). RSS to format oparty na XML-u, w którym
zapisywane są szczegółowe informacje o poszczególnych elementach strony; generalnie wy-
korzystuje się go do rozpowszechniania skrótów wiadomości z portali informacyjnych.
HTML::Template | 93
16. Zmienne i wyrażenia warunkowe
Wcześniej jednak dokonamy krótkiego przeglądu możliwości HTML::Template, zobaczymy,
jak przekazywać mu wartości i jak uzyskać wynikowy dokument HTML.
Podobnie jak w Text::Template szablony umieszczane są w osobnych plikach. Szablony
obsługiwane przez HTML::Template to zwykłe pliki HTML z kilkoma dodatkowymi znacz-
nikami specjalnymi. Najważniejszy z nich to <TMPL_VAR>, który jest zastępowany zawartością
zmiennej Perla. Oto przykładowa, bardzo prosta strona:
<html>
<head><title>Informacje o: <TMPL_VAR NAME=PRODUCT></title></head>
<body>
<h1> <TMPL_VAR NAME=PRODUCT> </h1>
<div class="desc">
<TMPL_VAR NAME=DESCRIPTION>
</div>
<p class="price">Cena: $<TMPL_VAR NAME=PRICE></p>
<hr />
<p>Cena z dnia <TMP_VAR NAME=DATE></p>
</body>
</html>
Po wypełnieniu odpowiednimi wartościami powinniśmy uzyskać mniej więcej coś takiego:
<html>
<head><title>Infomracje o: Największa enchilada na świecie</title></head>
<body>
<h1> Największa enchilada na świecie </h1>
<div class="desc">
Odkryta niedawno w lasach Meksyku....
</div>
<p> class="price">Cena: $1504.39</p>
<hr />
<p>Cena z dnia 15:18 PST, 7 Mar 2005</p>
</body>
</html>
Aby wypełnić szablon tymi wartościami, trzeba napisać krótki program CGI, na przykład taki:
use strict;
use HTML::Template;
my $template = HTML::Template->new(filename => "catalogue.tmpl");
$template->param( PRODUCT => "Największa enchilada na świecie" );
$template->param( DESCRIPTION => $description );
$template->param( PRICE => 1504.39 );
$template->param( DATE => format_date(localtime) );
print "Content-Type: text/htmlnn", $template->output;
I znów, podobnie jak Text::Template, program sterujący jest bardzo prosty — załaduj sza-
blon, wypełnij go i wyświetl. To jednak nie wszystko, co możemy osiągnąć za pomocą tego
języka wzorców — istnieją jeszcze inne znaczniki, zapewniające większą elastyczność.
Przypuśćmy na przykład, że dysponujemy zdjęciem największej enchilady na świecie — to
z pewnością jest coś wartego pokazania na stronie WWW. Jednak nie mamy zdjęć wszystkich
produktów znajdujących się w naszej bazie danych; chcielibyśmy więc, by obrazki pokazy-
94 | Rozdział 3. Szablony
17. wały się tylko przy tych pozycjach, których zdjęcia rzeczywiście mamy. Możemy więc dodać
do szablonu coś takiego:
<TMPL_IF NAME=PICTURE_URL>
<div class="photo">
<img src="<TMP_VALUE NAME=PICTURE_URL>" />
</div>
</TMPL_IF>
Oznacza to, że jeśli PICTURE_URL będzie miało wartość logicznie prawdziwą — to znaczy, je-
śli rzeczywiście przypiszemy mu rzeczywisty URL — to wstawimy znacznik <div> dla zdję-
cia. Ponieważ znaczniki <TMPL_...> nie są de facto prawdziwymi znacznikami HTML, a je-
dynie przetwarzanymi przez HTML::Template, nic nie stoi na przeszkodzie umieszczania ich
wewnątrz innych znaczników HTML, tak jak zrobiliśmy to tutaj z <img scr="...">.
Oczywiście jeśli nie mamy odpowiedniego zdjęcia, możemy w jego miejsce wstawić zdjęcie
zastępcze — efekt ten osiągniemy, korzystając choćby z pseudoznacznika <TMPL_ELSE>:
<div class="photo">
<TMPL_IF NAME=PICTURE_URL>
<img erc="<TMP_VALUE NAME=PICTURE_YURL>" />
<TMPL_ELSE>
<img src="http://www.mysite.com/images/noimage.gif" />
</TMPL_IF>
</div>
Zauważmy, że o ile każdemu <TMPL_IF> musi odpowiadać znacznik </TMPL_IF>, to w przy-
padku <TMPL_ELSE> nie ma znacznika kończącego.
Ale być może przedstawione rozwiązanie to niepotrzebne komplikowanie sprawy, przecież
w tym przykładzie wystarczyłoby zapewnić domyślną wartość dla PICTURE_URL, a to może-
my osiągnąć, stosując atrybut DEFAULT w <TMPL_VALUE>:
<div class="photo">
<img src="
<TMPL_VALUE NAME=PICTURE_URL
DEFAULT="http://www.mysite.com/images/noimage.gif">
"/>
</div>
Sprawdzanie poprawności
Wiele osób ma, niebezpodstawne, obawy co do wpływu takiego niewybrednego nadużywa-
nia SGML-a na mechanizmy sprawdzające poprawność kodu szablonów (choć z drugiej stro-
ny, wiele osób, niestety, w ogóle nie dba o walidację HTML-a). Co więcej, użytkownicy edy-
torów korzystających przy sprawdzaniu poprawności z DTD mogą się zastanawiać, w jaki
sposób bezproblemowo umieszczać takie pseudoznaczniki w swoich dokumentach.
HTML::Template oferuje rozwiązanie tego problemu; zamiast zapisywać te znaczniki tak,
jakby były zwykłymi znacznikami HTML-a, można je zapisywać w formie komentarzy, na
przykład:
<!-- TMPL_IF NAME=PICTURE_URL -->
<div class="photo">
<img src="<!-- TMP_VALUE NAME=PICTURE_URL -->" />
</div>
<!-- /TMPL_IF -->
HTML::Template | 95
18. Pętle
Jeżeli nasz przykład z RSS ma mieć szanse zadziałania, to musimy się dowiedzieć, w jaki spo-
sób powtórzyć pewne operacje w pętli dla wielu elementów — skrótów wiadomości w na-
szym zestawieniu. W tym celu HTML::Template dostarcza znacznik <TMPL_LOOP>, który umoż-
liwia potraktowanie zmiennej jak tablicy. Na przykład poniższy kod:
<ul>
<TMPL_LOOP NAME=STORIES>
<li> Źródło <TMPL_VAR NAME=FEED_NAME>: <TMPL_VAR NAME=STORY_NAME> </li>
</TMPL_LOOP>
</ul>
po dostarczeniu odpowiednich struktur danych spowoduje powtórzenie komunikatu dla
wszystkich elementów w tablicy STORIES, co prowadzi do następującego efektu końcowego:
<ul>
<li> Źródło Slashdot: NASA Finds Monkeys on Mars </li>
<li> Źródło use.perl: Perl 6 Release Predicted for 2013 </li>
</ul>
Trik oparto na tym, że przekazana tablica zawierała tablice asocjacyjne, a każda z nich zawie-
rała odpowiednie nazwy zmiennych:
$template->param(STORIES => [
{ FEED_NAME => "Slashdot", STORY_NAME => "Nasa Finds Monkeys on Mars" },
{ FEED_NAME => "use.perl", STORY_NAME => "Perl 6 Release Predicted for 2013" }
]);
Gromadzenie wiadomości RSS
Dysponując taką wiedzą, bez problemu utworzymy aplikację zbierającą wiadomości RSS; naj-
pierw zgromadzimy wszystkie interesujące nas komunikaty, następnie je posortujemy i wsta-
wimy do struktury danych odpowiedniej do iteracji za pomocą <TMPL_LOOP>.
Wiadomości RSS pobierzemy, korzystając z modułów LWP i XML::RSS. W naszym przykładzie
założymy, że dysponujemy wystarczająco dużą ilością pamięci podręcznej, dzięki czemu nie
będzie problemów z cyklicznym pobieraniem wiadomości; w prawdziwym programie prak-
tyczniejszym rozwiązaniem byłoby zapisywanie odebranych fragmentów w formacie XML
do plików o stałych nazwach i przed ponownym pobraniem wiadomości z Sieci sprawdza-
nie, jak długo pliki znajdują się już na dysku.
Tworzenie naszej aplikacji gromadzącej rozpoczniemy od napisania małego programu w Perlu
pobierającego i porządkującego wiadomości:
#!/usr/bin/perl
use LWP::Simple;
use XML::RSS;
my @stories;
while (<DATA>) {
chomp;
my $xml = get($_) or next;
my $rss = XML::RSS->new;
eval { $rss->parse($xml) }; next if $@;
96 | Rozdział 3. Szablony
19. for my $item (@{$rss->{'items'}}) {
push @stories, {
FEED_NAME => $rss->channel->{'title'},
FEED_URL => $rss->channel->{'link'},
STORY_NAME => $item->{'title'},
STORY_URL => $item->{'link'},
STORY_DESC => $item->{'description'}
STORY_DATE => $item->{'dc'}->{'date'}
}
}
}
@stories = sort { $b->{STORY_DATE} cmp $a->{STORY_DATE} } @stories;
__DATA__
http://slashdot.org/slashdot.rss
http://use.perl.org/perl-news-short.rdf
http://www.theregister.co.uk/tonys/slashdot.rdf
http://blog.simon-cozens.org/blosxom.cgi/xml
http://www.oreillynet.com/~rael/index.rss
Musimy teraz zaprojektować szablon, do którego przekażemy listę wiadomości. Osobiście
kiepski ze mnie projektant stron, dlatego tak bardzo lubię szablony. Wystarczy że utworzę
coś, co z grubsza odda zarys spodziewanego efektu, i przekażę to komuś z darem tworzenia
ciekawej warstwy prezentacyjnej. Oto taki prosty i szybki wzorzec:
<html>
<head> <title> Wiadomości <title> </head>
<body>
<h1> Wiadomości zebrane o <TMPL_VAR TIME> </h1>
<TMPL_LOOP STORIES>
<table border="1">
<tr>
<td>
<h2>
<a href="<TMPL_VAR STORY_URL>"> <TMPL_VAR STORY_NAME> </a>
</h2>
<p> <TMPL_VAR STORY_DESC> </p>
<hr>
<p> <i> Źródło
<a href='<TMPL_VAR FEED_URL>"> <TMPL_VAR FEED_NAME> </a>
</i> </p>
</td>
</tr>
</table>
</TMPL_LOOP>
</body>
</html>
(Zauważmy, że używam krótkich form przy zapisywaniu pseudoznaczników; wszędzie tam,
gdzie nie prowadzi to do niejednoznaczności, można z powodzeniem używać zapisu NAZWA_
ZMIENNEJ zamiast NAME=NAZWA_ZMIENNEJ.)
Wystarczy jeszcze kilka drobnych zmian w programie sterującym sprowadzających się do
przekazania wygenerowanej tablicy do HTML::Template:
#!/usr/bin/perl
use LWP::Simple;
use XML::RSS;
HTML::Template | 97
20. use HTML::Template;
my @stories;
while (<DATA>) {
chomp;
my $xml = get($_) or next;
my $rss = XML::RSS->new;
eval { $rss->parse($xml) }; next if $@;
for my $item (@{$rss->{'items'}}) {
push @stories, {
FEED_NAME => $rss->channel->{'title'},
FEED_URL => $rss->channel->{'link'},
STORY_NAME => $item->{'title'},
STORY_URL => $item->{'link'},
STORY_DESC => $item->{'description'},
STORY_DATE => $item->{'dc'}->{'date'}
}
}
}
my $template = HTML::Template->new(filename => "aggregator.tmpl");
$template->param(STORIES => [
sort {$b->{STORY_DATE} cmp $a->{STORY_DATE} } @stories
] );
$template->param( TIME=> scalar localtime );
delete $_->{STORY_DATE} for @stories;
print "Content-Type: text/htmlnn", $template->output;
__DATA__
http://blog.simon-cozens.org/blosxom.cgi/xml
http://slashdot.org/slashdot.rss
http://use.perl.org/perl-news-short.rdf
http://theregister.co.uk/tonys/slashdot.rdf
http://www.oreillynet.com/~rael/index.rss
Po użyciu STORY_DATE do określania kolejności wiadomości musimy ją usunąć, ponieważ HTML
::Template „nie lubi”, gdy w pętli pojawia się zmienna, z której nie korzystamy w szablonie.
Wystarczy umieścić to na serwerze obsługującym CGI, a otrzymamy tani i sprawny klon
Amphetadesku.
HTML::Mason
Jedną z największych wad HTML::Template jest to, że w pewnym stopniu zmusza nas do
przeplatania ze sobą części prezentacyjnej i logiki programu, a tego przecież powinniśmy
uniknąć dzięki zastosowaniu szablonów. Przykładowo, ostatni przykład dość trudno anali-
zować, bo znaczniki HTML-a i zmiennych mieszają się ze sobą, zacierając znaczenie poszcze-
gólnych elementów. Lepszy byłby więc system, który umożliwiałby jeszcze większą abstrak-
cję poszczególnych składników funkcjonalnych szablonu — w tej roli świetnie sprawdza się
HTML::Mason.
Jak już wspomniałem, HTML::Mason to system obsługi szablonów działający na odwrotnej za-
sadzie niż pozostałe. Określenie system obsługi szablonów pasuje do niego tak samo dobrze
98 | Rozdział 3. Szablony
21. jak system abstrakcji komponentów służących do budowania stron HTML z małych elemen-
tów logicznych, nadających się do wielokrotnego użytku. Zanim przejdziemy do tworzenia
aplikacji zabierającej komunikaty RSS, przyjrzymy się, jak korzystać z HTML::Mason.
Podstawowe komponenty
W Masonie wszystko jest komponentem. Oto prosty przykład wykorzystania takich kompo-
nentów. Załóżmy, że mamy trzy pliki: test.html (przykład 3.1), Header (przykład 3.2) i Footer
(przykład 3.3).
Przykład 3.1. Plik test.html
<& /Header &>
<p>
Hello World
</p>
<& /Footer &>
Przykład 3.2. Komponent Header
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Some Web Application</title>
<link rel=stylesheet type="text/css" href="nt.css">
</head>
<body>
Przykład 3.3. Komponent Footer
<hr>
<div class="footer">
<address>
<a href="mailto:webmaster@yourcompany.com">webmaster@yourcompany.com<'a>
</address>
</div>
</body>
</html>
HTML::Mason buduje stronę, dołączając komponenty wskazane przez znaczniki <& i &>. Przy
tworzeniu pliku test.html Mason najpierw wstawi treść komponentu Header, umieszczonego
w bieżącym katalogu generowanego dokumentu, potem pozostały kod HTML i na końcu
komponent Footer.
Komponenty mogą odwoływać się do innych komponentów. Jak do tej pory nie zrobiliśmy
nic ponad dołączanie plików obsługiwane przez serwer.
Podstawowe mechanizmy dynamiczne
Gdzie tu więc szablony? Do stron Masona można je dodać na trzy sposoby. Oto pierwszy
z nich, mała modyfikacja komponentu Footer.
<hr>
<div class="footer">
<address>
<a href="mailto:webmaster@yourcompany.com">webmaster@yourcompany.com</a>
</address>
HTML::Mason | 99
22. Generated: <%scalar localtime %>
</div>
</body>
</html>
Po umieszczeniu kodu Perla pomiędzy znacznikami <% ... %> wynik przetworzonego wy-
rażenia zostanie wstawiony do wynikowej strony HTML.
Wiemy więc, jak wstawić proste wyrażenia, ale co z rzeczywistą logiką Perla? I na to jest spo-
sób: pojedynczy znak % umieszczony na początku linii powoduje, że Mason interpretuje całą
linię jako kod Perla. Dzięki temu można uzyskać dostęp do zawartości tablicy asocjacyjnej
w sposób zaprezentowany w przykładzie 3.4.
Przykład 3.4. Komponent Hashdump
<table>
<tr>
<th> key </th>
<th>value</th>
</tr>
% for (keys %hash) {
<tr>
<td> <% $_%> </td>
<td> <% $hash{$_} %> %> </td>
</tr>
% }
</table>
<%ARGS>
%hash => undef
</%ARGS>
Analizując ten przykład, warto zwrócić uwagę na trzy rzeczy. Po pierwsze na to, w jaki spo-
sób można przeplatać zwykłego HTML-a z logiką, za pomocą składni % ..., i obliczanymi
wyrażeniami Perla, za pomocą <% ... %>. Znak % ma specjalne znaczenie tylko na początku
linii i jako część znacznika <% ... %>; % w %hash to zwykły zapis w Perlu.
Druga rzecz warta podkreślenia to sposób przekazania wartości tablicy asocjacyjnej do kom-
ponentu. Do tego służy sekcja <%ARGS> — w niej znajduje się deklaracja argumentów przeka-
zywanych do komponentu. A jak je przekazać? Oto przykład wyrażenia wywołującego kom-
ponent Hashdump:
% my %foo = ( one => 1, two => 2 );
<& /Hashdump, hash => %foo &>
Mieliśmy więc przykład deklaracji zmiennej typu my wewnątrz komponentu, przekazania
nazwanego parametru do innego komponentu i odbioru tego parametru przez komponent,
który z niego korzysta. Jeśli przekażemy do komponentu parametry innego typu niż zadekla-
rowane w sekcji <%ARGS> tego komponentu (w tym przypadku przekazaliśmy akurat tablicę
asocjacyjną dla parametru %hash), Mason będzie próbował zrobić z tym coś sensownego, ale
prościej unikać potencjalnych problemów, przekazując dane właściwego typu.
Bloki Perla
Istnieje jeszcze jeden, ostatni, sposób dokładania logiki Perla do komponentów, jednak w opi-
sywanej formie stosuje się go rzadko. W przypadku długich sekcji kodu Perla niewygodne
100 | Rozdział 3. Szablony
23. staje się umieszczanie na początku każdej linii znaku %. Zamiast tego można umieścić całą ta-
ką sekcję wewnątrz bloku <%PERL ... /%PERL>.
W praktyce często spotyka się za to blok <%INIT ... /%INIT>. Można go umieścić w dowol-
nym miejscu komponentu, przyjęło się jednak zapisywać go na końcu, tak by nie mieszał się
z resztą HTML-a. Jednak bez względu na to, gdzie go umieścimy, jego zawartość zostanie wy-
konana zawsze jako pierwsza, przed całą pozostałą treścią komponentu. Jest to dobre miejsce
do deklarowania i inicjalizowania zmiennych (tak przy okazji: Mason wymusza stosowanie
use strict…) oraz przeprowadzania wszelkich złożonych obliczeń, które mają być wykona-
ne przed rozpoczęciem wyświetlania strony.
Pozostało jeszcze wspomnieć o kolejnym rzadko wykorzystywanym bloku: <%ONCE> ... </
%ONCE>. Jest on wykonywany tylko raz na początku. Można o nim myśleć jak o odpowiedni-
ku bloku BEGIN Perla.
Program gromadzący wiadomości RSS
Po takim wprowadzeniu najwyższy czas przystąpić do składania naszego zbieracza RSS. Przy-
kład prezentowany w tej sekcji zaczerpnięty jest z kodu, który pisałem na użytek pewnego
portalu sieciowego. Warto zaznaczyć, że realizacja projektu zajęła mi około dwóch, trzech
godzin. W założeniach miał on obsługiwać logowanie użytkowników, spersonalizowane listy
wiadomości, indywidualnie określane zasady ich sortowania i tym podobne. Mimo że nie
zrealizowałem w tym czasie wszystkiego, wydaje mi się, że efekt tej niespełna trzygodzinnej
pracy jest wart rozważenia w tym miejscu3.
Na początku zastanówmy się, jaki powinien być układ strony głównej. Moim zdaniem do-
brym rozwiązaniem byłby podział na dwie kolumny, tak jak pokazano to na rysunku 3.1.
Lewa kolumna będzie zawierała zaproszenie do zalogowania do portalu oraz listę dostęp-
nych typów wiadomości. Poszczególnych kategorie wiadomości umieścimy w oddzielnych
folderach reprezentowanych przez katalogi w systemie plików. W prawej kolumnie wyświe-
tlone będą ulubione wiadomości zalogowanego użytkownika, wiadomości z wybranego fol-
deru, o ile któryś z nich został kliknięty, bądź domyślny zestaw wiadomości w każdym in-
nym przypadku.
Przystąpmy więc do tworzenia witryny. Przed wszystkim przygotujemy nagłówek i stopkę,
tak by na wstępie pozbyć się nudnych części dokumentu HTML — prezentują je przykłady,
odpowiednio, 3.5 i 3.6.
Przykład 3.5. Komponent Header
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html lang="en">
<head>
<title> My Portal </title>
<link rel="stylesheet" type="text/css" href="/stylesheets/portal.css">
</head>
<body class="pagetable">
<img src="/images/portal-logo.gif" id="toplogo">
<h1>My Portal</h1>
3
Oczywiście zachęcam do samodzielnej implementacji wszystkich wymienionych elementów — będzie to świet-
ne ćwiczenie programowania z wykorzystaniem HTML::Mason.
HTML::Mason | 101
24. Rysunek 3.1. Portal z wiadomościami RSS
Przykład 3.6. Komponent Footer
</body>
</html>
Teraz wykorzystamy próbkę magicznych możliwości Masona: zamiast ręcznego dodawania
nagłówka i stopki oddzielnie do każdej strony użyjemy komponentu autohandler, dodawane-
go automatycznie do wszystkich stron. Jego treść prezentuje przykład 3.7.
Przykład 3.7. Komponent Autohandler
<& /header &>
<% $m->call_next %>
<& /footer &>
Strony przetwarzane przez Masona są w tle poddawane działaniu pewnych komponentów ob-
sługujących (ang. handlers), będących pozostałością po modułach tego typu z mod_perl Apa-
che. I w rzeczywistości zmienna $m użyta w tym przykładzie to request object Masona, będą-
cy odpowiednikiem request objectu z Apache4.
Mason wywołuje w pierwszej kolejności automatyczne komponenty obsługujące (ang. auto-
handlers), obsługujące wszystkie żądania; następne w kolejności są dhandlery (ang. dhandlers),
obsługujące poszczególne URI, i na końcu wywoływane są zwykłe handlery Masona obsłu-
gujące przetwarzanie żądanej strony. Powyższy przykład prezentuje najprostszą, a przy tym
najczęstszą postać automatycznego komponentu obsługującego: wywołanie komponentu na-
główkowego (header), przekazanie wywołania do następnego handlera w łańcuchu handle-
rów Masona i ostatecznie wywołanie komponentu stopki (footer). W ten sposób zapewniliśmy,
że na każdej stronie pojawią się nagłówek i stopka.
4
Do request objectu Apache’a można się odwołać w Masonie za pośrednictwem zmiennej $r.
102 | Rozdział 3. Szablony
25. Zastanówmy się teraz, jaka powinna być zawartość pliku index. Jak wspomniałem, skorzysta-
my z układu dwukolumnowego, tak jak w przykładzie 3.8.
Przykład 3.8. Plik index.html
<table>
<tr>
<td valign="top">
<& /LoginBox &>
<& /Directories &>
<%INIT>
$open = ($open = ~ /(w+)/) ? $1 : '';
</%INIT>
</td>
<td width=4> </td>
<td width='100%'>
%# Czy jesteśmy zalogowani?
% if (0) {
<& /LoggedInPane &>
%} elsif ($open) {
<& /DirectoryPane, open => $open &>
%} else {
<& /StandardPane &>
%}
</td>
</table>
<%ARGS>
$open => undef
</%ARGS>
Zgodnie z obietnicą w lewej kolumnie umieściliśmy obszar logowania i katalog wiadomości.
Prawa strona może przyjąć jeden z trzech stanów: wygląd dla użytkownika zalogowanego
(na razie otoczony niespełnionym warunkiem w if, ponieważ obsługa użytkowników zosta-
nie dodana jako przyszłe rozszerzenie), zawartość konkretnego katalogu otwartego przez
użytkownika lub domyślny wygląd dla odwiedzających główną stronę serwisu5.
A co z wartością zmiennej %open? Komponenty w Masonie mogą przyjmować argumenty al-
bo poprzez CGI, albo przekazywane z innych komponentów. W tym przypadku komponent
najwyższy w hierarchii, index.html, otrzyma parametry poprzez CGI — oznacza to, że wy-
wołanie URL-a w postaci http://www.oursite.com/rss/index.html?open= News spowoduje usta-
wienie zmiennej $open na wartość News. Komponent DirectoryPane otrzymuje swój argument
z index.html — przekazujemy mu uzyskaną wartość $open.
Ponieważ $open wskazywać będzie później na określony katalog w serwerze WWW, musimy
uwiarygodnić jego poprawność, aby uniknąć ataków związanych z przeglądaniem katalogów
przeprowadzanych przez przekazywanie zapytań w postaci open=../../... W tym celu po-
sługujemy się blokiem <% INIT %>, w którym zastępujemy przekazany parametr pierwszym
5
Wynika z tego, że wszystkie żądania będą przechodziły przez index.html (co często się zdarza) — mogliby-
śmy więc umieścić w nim bezpośrednio także nagłówek i stopkę, jednak wykorzystanie autohandlera jest
bardziej przejrzyste i zgodne z przyjętymi konwencjami kodowania.
HTML::Mason | 103
26. słowem z odebranego łańcucha. Jeżeli nie pojawią się w nim żadne litery, ustawiamy wartość
parametru na łańcuch pusty, dzięki czemu pozostała część kodu potraktuje go tak, jakby nie
został wybrany żaden katalog.
Nasza strona będzie składała się z wielu wydzielonych obszarów o różnych nazwach i kolo-
rach, dlatego utworzymy kilka komponentów ułatwiających rysowanie ramek. Każda ramka
będzie miała definiowany przez użytkownika kolor, tytuł i opcjonalne łącze tytułowe. Jak
uczy doświadczenie, najlepiej jest rozdzielić tworzenie ramki na komponenty rozpoczynający
i kończący ramkę. Komponent rozpoczynający, przedstawiony w przykładzie 3.9, tworzy ta-
belę wewnątrz tabeli.
Przykład 3.9. Komponent BoxTop
<table bgcolor="#777777" cellspacing=o border=o cellpadding=o>
<tr><td> rowspan=2></td>
<td valign=middle align=left bgcolor="<%$color%>">
<font size=-1 color="#ffffff">
<b>
<% $title_href && "<a href="$title_href">"|n%>
<%$title |n %>
<% $title_href && "</a>" |n %>
</b></font></td>
<td rowspan=2> </td></tr>
<tr><td colspan=2 bgcolor="#eeeeee" valign=top align=left width=100%>
<table cellpadding=2 width=100%><tr><td>
<%ARGS>
$title_href => undef>
$title => undef
$color => "#000099"
</%ARGS>
Zwróćmy uwagę na dyrektywę |n pojawiającą się przy końcu niektórych sekcji kodu Perla.
Ma ona za zadanie wyłączenie stosowanego domyślnie w Masonie przekształcania znaków
na kody HTML-a. Przykładowo, przekazując wartość dla zmiennej $title_href, oczekujemy,
że wiersz:
<% $title_href && "</a>" %>
doprowadzi do wyniku zawierającego ciąg </a>. Jednak Mason będzie się starał zastąpić zna-
ki kodami, co doprowadzi do postaci </a> — musimy więc to wyłączyć.
Kod domykający ramkę, pokazany w przykładzie 3.10, jest dużo prostszy i sprowadza się wła-
ściwie do zakończenia rozpoczętej tabeli.
Przykład 3.10. Komponent BoxEnd
</td></tr></table>
</td></tr>
<tr><td colspan=4> </td></tr>
</table>
Jako przykład zastosowania tych komponentów utworzymy ramkę logowania, co demonstruje
komponent z przykładu 3.11.
104 | Rozdział 3. Szablony
27. Przykład 3.11. Komponent LoginBox
<% BoxTop, title=>"Login" &>
<small>Log in to Your portal:</small><br/>
<form>
<ul>
<li> Barcode: <input name="barcode">
<li> Password: <input name="password">
</ul>
</form>
<& BoxEnd &>
Po przetworzeniu przez Masona otrzymamy w wyniku następujący kod HTML:
<table bgcolor="#777777" cellspacing=0 border=0 cellpadding=0>
<tr><td> rowspan=2></td>
<td valign=middle align=left bgcolor="#000099">
<font size=-1 color="#ffffff">
<b> Login </b></font></td>
<td rowspan=2> </td></tr>
<tr><td colspan=2 bgcolor="#eeeeee" valign=top align=left width=100%>
<table cellpadding=2 width=100%><tr><td>
<small>Log in to Your Portal:</small><br/>
<form>
<ul>
<li> Barcode: <input name="barcode">
<li> Password: <input name="password">
</ul>
</form>
</td></tr></table>
</td></tr>
<tr><td colspan=4> </td></tr>
</table>
Musimy teraz podjąć kilka decyzji odnośnie układu naszej strony. Jak wspomniałem, wia-
domości będziemy przechowywać w systemie plików z podziałem na różne katalogi. Każda
pobrana grupa wiadomość będzie oddzielnym komponentem Masona wyświetlanym przez
komponent biblioteczny, który nazwiemy RSSBox. Komponent Directories będzie ramką za-
wierającą listę kategorii; kliknięcie jednej z nich spowoduje wyświetlenie wszystkich należą-
cych do niej wiadomości. Ponieważ każda kategoria jest oddzielnym katalogiem, możemy
utworzyć listę w sposób pokazany w przykładzie 3.12.
Przykład 3.12. Komponent Directories
<& /BoxTop, title=> "Resources" &>
<ul>
<%$Portal::dirs%>
</ul>
<& /BoxEnd &>
<%ONCE>
my $root = "/var/portal";
HTML::Mason | 105
28. for my $top (grep { -d $_ } glob("$root*")) {
$top =~ s/$root//;
$Portal::dirs .= qq{
<li><a href="/?open=$top">$top</a>
} unless $top =~ /W/;
}
</%ONCE>
Działa to w następujący sposób: podczas uruchamiania serwera przeglądane są wszystkie
podkatalogi głównego katalogu naszego portalu, po czym usuwana jest z nich nazwa katalo-
gu podstawowego (w tym przypadku /var/portal/) po to, by zamienić je na łącza używane
w naszej aplikacji. Przykładowo, katalog o nazwie /var/portal/News zostanie zamieniony na
łącze /?open=News. Łącze to spowoduje powrót na stronę główną, gdzie wartość parametru
open wymusi zaprezentowanie komponentu DirectoryPane, który wyświetli wiadomości z wy-
branego katalogu. Kod pomija wszelkie katalogi, których nazwy nie zawierają liter, dzięki
czemu wygenerowane łącza bez problemu przejdą wszystkie sprawdzenia dokonywane na
parametrze open.
Przejdźmy więc do implementacji komponentu katalogów, DirectoryPane. Wiemy, że będzie-
my przeglądać katalog zawierający zbiór plików będących komponentami Masona. Będzie-
my chcieli dynamicznie dołączyć każdy z tych plików, tak by zbudować katalog wiadomości.
Dynamiczne wywoływanie komponentów umożliwia metoda comp request objectu Masona,
$m; jest to perlowa wersja znacznika <& comp &> dołączającego komponenty. Ostatecznie kom-
ponent obsługujący katalogi przyjmie postać pokazaną w przykładzie 3.13.
Przykład 3.13. Komponent DirectoryPane
<%ARGS>
$open
</%ARGS>
% for (grep {-f $_} glob( "/var/portal/$open/*") ) {
% s|/var/portal/||;
<% $m->comp($_) %>
% }
Najpierw odbieramy nazwę katalogu do otwarcia. Następnie przeglądamy wszystkie pliki
w tym katalogu, usuwając nazwę katalogu głównego (idealnym rozwiązaniem byłoby poda-
nie go w pliku konfiguracyjnym) i wywołujemy komponenty o uzyskanych nazwach. Ozna-
cza to, że gdyby istniał katalog Technology, zawierający następujące pliki:
01-Register
02-Slashdot
03-MacNews
04-LinuxToday
05-PerlDotCom
to wywołanie <& /DirectoryPane, open => "Technology" &> będzie miało efekt taki jak
zapisanie wszystkiego oddzielnie:
<& /Technology/01-Register &>
<& /Technology/02-Slashdot &>
<& /Technology/03-MacNews &>
<& /Technology/04-LinuxToday &>
<& /Technology/05-PerlDotCom &>
106 | Rozdział 3. Szablony
29. Widok standardowy, opisany w przykładzie 3.14, pojawia się wtedy, gdy nie zostanie wy-
brany żaden katalog. Będzie prezentował te wiadomości, które uznamy za domyślne:
Przykład 3.14. Komponent StandardPane
<& /BoxTop, title=> "Hello!", color => "dd2222"&>
Welcome to your portal! From here you can subscribe to a wide range of
news and alerting services; if you long in, you can customize this home
page.
<& /BoxEnd &>
<& /Weather/01-Oxford &>
<& /Technology/02-Slashdot &>
<& /News/01-BBC &>
<& /People/03-Rael &>
...
Cóż więc będą zawierały poszczególne pliki wiadomości? Jak wspomniałem, będą korzystały
z komponentu RSSBox, przekazując URL do wiadomości i ewentualnie kolor, maksymalną
liczbę wiadomości czy ich zbiorową nazwę. Poza tym będą przekazywały parametr informu-
jący, czy wyświetlane mają być tylko nagłówki i odnośniki do każdego elementu RSS czy mo-
że także szersze opisy. Przykładowo, /News/01-BCC wygląda tak:
<7 /RSSBoxd, URL =>"http://www.newsisfree.com/HPE/xml/feeds/60/60.xml",
Color =>"#dd0000" &>
a odnośnik do bloga Raela Dornfesta tak:
<& /RSSBox, URL => "http://www.orillynet.com/~rael/index.rss",
Color=> "#cccc00" Title => "Rael Dornfest", Full => 0 &>
Jak się za chwilę okaże, całe piękno takiego modularnego systemu objawia się najpełniej w tym,
że możemy tworzyć komponenty, które będą robiły coś innego niż proste pobieranie wiado-
mości RSS.
Ale najpierw uzupełnijmy nasz portal, pisząc komponent RSSBox, wykorzystywany przez kom-
ponenty utworzone wcześniej. Najpierw skorzystamy z bloku ONCE do załadowania wszyst-
kich potrzebnych modułów:
<%ONCE>
use XML::RSS;
use LWP::Simple;
</%ONCE>
Następnie pobieramy argumenty, określając odpowiednie wartości domyślne:
<%ARGS>
$URL
$Color => "#0000aa"
$Max => 5
$Full => 1
$Title => undef
</%ARGS>
Zanim zaczniemy cokolwiek wyświetlać na stronie, załadujemy wiadomości ze wskazanego
źródła i przeanalizujemy za pomocą modułu XML::RSS. Wywołujemy metodę cache_self
Masona, która spowoduje, że komponent ten będzie korzystał z pamięci podręcznej dla da-
nych wyjściowych; jeżeli w ciągu 10 minut wystąpi próba dostępu do tego samego URL-a,
zaprezentowane zostaną dane z pamięci podręcznej:
HTML::Mason | 107
30. <%INIT>
return if $m->cache_self(key => $URL, expires_in => '10 minutes');
my $rss = new XML::RSS;
eval { $rss->parse(get($URL));};
my $title = $Title || $rss->channel('title');
</%INIT>
Doszliśmy wreszcie do końca. Postać całego komponentu prezentuje przykład 3.15.
Przykład 3.15. Komponent RSSBox
<%ONCE>
use XML::RSS;
use LWP::Simple;
</%ONCE>
<%ARGS>
$URL
$Color => "#0000aa"
$Max => 5
$Full => 1
$Title => undef
</%ARGS>
<%INIT>
my $rss = new XML::RSS;
eval { $rss->parse(get($URL));};
my $title = $Title || $rss->channel('title');
my $site = $rss->channel('link');
</%INIT>
<BR>
<& BoxTop, color => $Color, title => $title, title_href = $site &>
<dl class="rss">
% my $count = 0;
% for (@{$rss->{items}}) {
<dt class="rss">
<a href="<% $_->{link} %>"> <% $_->{title} %> </a>
</dt>
% if ($Full) {
<dd> <% $_->{description} %> </dd>
% }
% last if ++$count >= $Max
% }
</dl>
<& /BoxEnd &>
Komponent nie jest bardzo skomplikowany; dla każdej pobranej wiadomości tworzony jest
odnośnik, tytuł i, opcjonalnie, opis. Działanie przerywamy po przetworzeniu maksymalnej
dopuszczalnej liczby wiadomości.
Demonstruje to potężne możliwości tkwiące w Masonie. Jak już pisałem, całkowity czas two-
rzenie tej witryny był nie dłuży niż kilka godzin. Cały kod zajmuje wyraźnie mniej niż 200
linii. Dodatkowo, jak wspomniałem, zyskujemy możliwość dołączania komponentów, które
nie będą obsługiwały tylko wiadomości RSS. Przykładowo, żadna witryna nie rozgłasza wia-
domości pogodowych z okolicy Oksfordu, ale istnieje witryna publikująca te dane w ściśle
określonym formacie. Oznacza to, że przykładowy komponent Weather/01-Oxford nie będzie
wcale wywoływał komponentu RSSBox, ale uzyska informacje w następujący sposób:
108 | Rozdział 3. Szablony
31. <%INIT>
use LWP::Simple
my @lines = grep /Temperature|Pressure|humidity|^Sun|Rain/,
split /n/,
get('http://www-atm.physics.ox.ac.uk/user/cfinlay/now.htm');
</%INIT>
<br>
<& /BoxTop, title => "Oxford Weather", color => "#dd00dd" &>
<ul>
% for (@lines) {
<li> <% $_%> </li>
% }
</ul>
<& /BoxEnd &>
Jest to dobre podsumowanie opisu Masona — system prosty, łatwo rozszerzalny i oferujący
ogromne możliwości.
Oczywiście Mason oferuje wiele innych możliwości — zbyt wiele, by opisać je wszyst-
kie w tym miejscu. Fantastyczna książka Embedding Perl in HTML with Mason (http://
www.masonbook.com) autorstwa Dave’a Rolskiego i Kena Williamsa opisuje go szcze-
gółowo, nie pomijając zagadnienia instalowania i uruchomienia Masona na serwerze
WWW. Wiele informacji można znaleźć także na stronie domowej projektu (http://
www.masonhq.com).
Template Toolkit
Rozwiązania omawiane do tej pory były dedykowane głównie dla programistów Perla —
kod Perla był osadzany w tym czy innym medium — Template Toolkit Andiego Wardleya
(http://www.template-toolkit.org) jest nieco inny. Komponenty, pętle, wywołania metod, elemen-
ty struktur danych i inne są w nim opisywane za pomocą własnego języka wzorców. Dzięki
temu jest łatwy do opanowania przez projektantów stron, którzy niekoniecznie znają tajniki
perlowej strony danej aplikacji6, ale pracują nad jej stroną prezentacyjną. Zgodnie z tym, co
mówi sama dokumentacja, język Template Toolkitu należy postrzegać jako zbiór dyrektyw
określających sposób wyświetlania danych, a nie ich obliczania.
Podobnie jak w Masonie kompilacja, pamięć podręczna i szablony są obsługiwane w tle. Jed-
nak inaczej niż Mason, Template Toolkit został pomyślany jako ogólny, łatwo rozszerzalny
system obsługi wyświetlania i formatowania danych. Przykładowo, można go wykorzystać
do dynamicznego generowania dokumentów PDF zawierających wykresy tworzone na pod-
stawie danych z bazy danych, a wszystko to tylko z wykorzystaniem standardowych wtyczek
i filtrów języka Template Toolkitu.
Zanim jednak przejdziemy do omawiania złożonych przypadków, przyjrzyjmy się bardzo pro-
stym zastosowaniom Template Toolkitu. W najprostszych przypadkach przypomina w dzia-
łaniu Text::Template. Tworzymy obiekt szablonu, przekazujemy mu dane i wskazujemy
szablon do przetworzenia:
6
I nie wykazują chęci jej poznania!
Template Toolkit | 109
32. use Template;
my $template = Template->new():
my $variables = {
who => "Andy Wardley",
modulename => "Template Toolkit",
hours => 30,
games => int(30*2.4)
};
$template->process("thankyou.txt", $variables);
Tym razem szablon wygląda tak:
Drogi [% who %],
Dziękuję Ci za moduł [% modulename %], który pozwolił mi oszczedzić około
[% hours %] godzin pracy w tym roku. Dzięki temu miałem możliwość rozegrania
[% games %] potyczek w go i bardzo cenię sobie to, że nie straciłem
tego czasu, próżnując na IRC-u.
Z poważaniem,
Simon
Przetworzony tekst szablonu pojawi się oczywiście na standardowym wyjściu. Zauważmy
jednak, że zmienne umieszczone pomiędzy [% i %] nie są zmiennymi Perla poprzedzanymi
przy zapisie znakiem, do którego jesteśmy przyzwyczajeni; są to zmienne Template Toolkitu.
Zmienne w tym systemie mogą być bardziej złożone niż tylko proste skalary — prosta, zwar-
ta składnia umożliwia dostęp do złożonych struktur danych, nawet do obiektów Perla. Po-
wróćmy do przykładu z wycenianiem prac nad nowym logo dla pewnej firmy. Tym razem
jednak użyjemy nieco innej struktury danych:
my $invoice = {
client => "Acme Motorhomes and Eugenics Ltd.",
jobs => [
{ cost => 450.00, description => "Zaprojektowanie nowego logo" },
{ cost => 300.00, description => "Papier firmowy" },
{ cost => 900.00, description => "Przeprojektowanie strony WWW" },
{ cost => 33.75, description => "Inne wydatki" }
],
total => 0
};
$invoice->{total} += $_->{cost} for @{$invoice->{jobs}};
Jak zaprojektować szablon, który poradzi sobie z obsługą tego typu danych? Oczywiście mu-
simy w pętli przeglądać poszczególne prace umieszczone w anonimowej tablicy i pozyskiwać
związane z nimi informacje. Oto jak to zrobimy:
Do [% client %]
Dziękujemy za skorzystanie z usług Fungly Foobar Design Associates.
Oto zestawienie kosztów prac wykonanych w ramach otrzymanego zlecenia:
[% FOREACH job = jobs %]
[% job.description %] : [% job.cost %]
[% END %]
Koszt całkowity $[% total %]
Termin płatności: 30 dni.
Z wyrażami szacunku,
Fungly Foobar
110 | Rozdział 3. Szablony
33. Jak widać, składnia jest inspirowana Perlem — możemy użyć wyrażenia foreach w celu przej-
rzenia wszystkich elementów listy, a odwoływać się do każdego z nich w poszczególnych ite-
racjach z wykorzystaniem lokalnej zmiennej job. Operator kropki jest odpowiednikiem ope-
ratora -> z Perla — dokonuje dereferencji odwołań do tablic zwykłych i asocjacyjnych, a poza
tym można nim wywoływać metody obiektów.
W naszym przykładzie ukryty jest pewien mankament: opis każdego elementu może być in-
nej długości, przez co efekt końcowy może być mało przejrzysty7. Czy można coś na to pora-
dzić? Jest to świetne pole do popisu dla użytecznego mechanizmu filtrów Template Toolkitu.
Filtry
Filtry w Template Toolkit przypominają nieco filtry uniksowe — są to krótkie procedury
przyjmujące na wejście pewne dane, przekształcające je i odsyłające z powrotem. I podobnie
jak filtry uniksowe dołącza się je do wyjścia szablonu za pomocą symbolu potoku (|).
W naszym przypadku wystarczy użyć filtru o znaczącej nazwie format, który formatuje dane
wejściowe w sposób podobny do działania printf:
[% job.description | format("%60s") %] : [%job.cost %]
Tym samym poprawiliśmy reprezentację danych wygenerowanych przez procesor obsługi
szablonów — job.descritpion jest najpierw zamieniane na rzeczywisty opis, a po tym pod-
dawane filtracji. Filtry można jednak zakładać na całe bloki szablonu. Przykładowo, jeśli chcie-
libyśmy zamienić tekst wyjściowy na HTML, moglibyśmy posłużyć się filtrem html_entity
zamieniającym wszystkie znaki specjalne na odpowiadające im kody:
[% FILTER html_entity %]
Termin płatności: < 30 dni.
[% END %]
Tekst ten zostanie zamieniony na Termin płatności: < 30 dni.
To przykład kolejnego bloku dostępnego w Template Toolkit; do tej pory zetknęliśmy się
z blokami FOREACH i FILTER. Dostępny jest poza tym blok IF/ELSIF/ELSE:
[% IF delinquent %]
Infomracje w naszej bazie wskazują, że jest to drugie wezwanie do zapłaty. Prosimy
o NIEZWŁOCZNE uregulowanie zaległości.
[% ELSE %]
Termin płatności: < 30 dni.
[% END %]
Inne interesujące filtry to: upper, lower, ucfirst i lcfirst zmieniające wielkość liter w tek-
ście, uri do oznaczania znaków specjalnych w URI, eval do przekazywania tekstu na inny
poziom przetwarzania szablonu i perl_eval, traktujący wyjście jako kod Perla, wykonujący
go i dodający rezultat do wyjścia szablonu. Zestawienie wszystkich dostępnych filtrów, z przy-
kładami użycia, znaleźć można w dokumentacji Template::Manual::Filters.
Wtyczki
Filtry stanowią interfejs do prostej funkcjonalności Perla — wbudowanych funkcji, takich jak
eval, uc, sprintf, czy prostego zastępowania fragmentów tekstu — natomiast wtyczki (ang.
7
Przemilczeliśmy ten problem zupełnie przy opisie Text::Template. Ciekawe czy to zauważyłeś?
Template Toolkit | 111
34. plugins) umożliwiają dostęp do bardziej złożonych funkcji. Zazwyczaj używa się ich w celu
dodania do języka formatującego funkcjonalności oferowanej przez określone moduły Perla.
Przykładowo, wtyczka Template::Plugin::Autoformat pozwala na korzystanie z możli-
wości modułu Text::Autoformat przy automatycznym formatowaniu tekstu. Podobnie jak
w przypadku modułów Perla do ładowania wtyczek służy dyrektywa USE procesora forma-
tującego. Spowoduje ona wyeksportowanie procedury autoformat i powiązanego z nią filtru
o tej samej nazwie:
[% USE autoformat(right=78) %]
[% address | autoformat %]
W ten sposób zapewniliśmy, że adres zostanie wyświetlony w odpowiednio przygotowanym
bloku w prawej części strony.
Wyjątkowo przydatną wtyczką jest moduł Template::Plugin::XML::Simple, parsujący pliki
XML za pomocą XML::Simple i umożliwiający manipulowanie wynikową strukturą danych
z wnętrza szablonu. W poniższym przykładzie dyrektywa USE posłużyła do prostego zwró-
cenia wartości:
[% USE document = XML.Simple("app2ed.xml") %]
Od tej pory dysponujemy strukturą danych utworzoną na podstawie zawartości dokumentu
w formacie XML. Strukturę tę możemy przeglądać, przechodząc do poszczególnych elemen-
tów, podobnie jak robiliśmy to w punkcie „Parsowanie XML-a” w rozdziale 2.:
Autor tej książki to
[% document.bookinfo.authorgroup.author.firstname # 'Simon' %]
[% document.bookinfo.authorgroup.author.surname # 'Cozens' %]
Napisanie wtyczki tego typu jest niezwykle proste, a jak się okaże, będziemy musieli to zro-
bić dla potrzeb naszego przykładu z wiadomościami RSS. Najpierw tworzymy nowy moduł
o nazwie Tamplate::Plugin::Whatever, gdzie Whatever będzie nazwą wtyczki obowiązującą
w obrębie języka szablonów. Moduł ten będzie ładował moduły, z których będziemy korzy-
stali. Musimy przy tym dziedziczyć po Template::Plugin. Spróbujmy więc napisać interfejs
do modułu Data::BT::PhoneBill Toniego Bowdena, obsługującego zapytania do systemu
rachunków w British Telecom.
package Template::Plugin::PhoneBill;
use base 'Template::Plugin';
use Data::BT::PhoneBill;
W miejscu wywołania dyrektywy USE z nazwą naszej wtyczki powinna być przekazywana
nazwa pliku z informacjami o rachunku, którą zamienimy na odpowiedni obiekt. Napiszmy
więc zapewniającą to metodę new:
sub new {
my ($class, $context, $filename) = @_;
return Data::BT::PhoneBill->new($filename);
}
$context to obiekt przekazywany przez Template Toolkit reprezentujący kontekst, w którym
procedura jest wywoływana. I to właściwie wszystko, co potrzeba do utworzenia wtyczki —
można ewentualnie dodać jeszcze sprawdzenia, czy plik o podanej nazwie istnieje i czy da
się go poprawnie przeanalizować, ale samo sedno budowy wtyczki jest takie jak pokazałem.
Po utworzeniu wtyczki możemy dobrać się do informacji o rachunku w taki sam sposób, jak
robiliśmy to ze strukturą danych pozyskaną z XML::Simple:
112 | Rozdział 3. Szablony
35. [% USE bill = PhoneBill("mybill.txt") %]
[% WHILE call = bill.next_call %]
Call made on [% call.date %] to [% call.number %]...
[% END %]
Interesującą rzeczą wartą podkreślenia w tym miejscu jest fakt, że w przypadku korzystania
z wtyczki XML.Simple dostęp do elementów struktury danych odbywał się za pomocą opera-
tora kropki: document.bookinfo i tak dalej. W tym przypadku oznaczało to przeglądanie za-
wartości tablic asocjacyjnych; te same operacje zapisane w Perlu wyglądałyby tak: $document
->{bookinfo}->{authorgroup}->{author}.... W ostatnim przykładzie korzystaliśmy z do-
kładnie tego samego operatora kropki, ale tym razem oznaczał on wywołanie metod: call.
date przekłada się w Perlu na $call->date. Jednak dla piszącego szablon wszystko wygląda
identycznie. Taka abstrakcja rzeczywistych struktur danych jest jedną z wielkich zalet Tem-
plate Toolkitu.
Komponenty i makra
Przy omawianiu systemu HTML::Mason wychwalałem możliwość podziału szablonu na wiele
komponentów, które można było dołączać wielokrotnie z określonymi wartościami parame-
trów. Nie powinno więc być zaskoczeniem, że dokładanie tę samą funkcjonalność oferuje
Template Toolkit.
Do dołączania komponentów do szablonu służy dyrektywa INCLUDE. Przykładowo, możemy
w bardzo podobny sposób jak robiliśmy to w HTML::Mason, napisać bibliotekę rysującą ram-
kę pokazaną w przykładzie 3.16.
Przykład 3.16. Komponent BoxTop
<table bgcolor="#777777" cellspacing=0 border=0 cellpadding=0>
<tr>
<td rowspan=2></td>
<td valign=middle align=left bgcolor="[% color %]">
<font size=-1 color="#ffffff">
<b>
[% IF title_href %]
<a href="[% title_href %]"> [% title %] </a>
[% ELSE %]
[% title %]
[% END %]
</b>
</font>
</td>
<td rowspan=2> </td>
</tr>
<tr>
<td colspan=2 bgcolor="#eeeeee" valign=top align=left width=100%>
<table cellpadding=2 width=100%>
<tr><td>
i identycznie jak w HTML::Mason dołączyć ten komponent do szablonu z określeniem para-
metrów lokalnych:
[% INCLUDE boxtop
title = "Login"
...
%]
Template Toolkit | 113
36. W Template Toolkit dostępna jest jeszcze inna metoda abstrakcji często używanych kompo-
nentów — dyrektywa MACRO. Możemy zdefiniować makro rozwijane na dowolny kod Tem-
plate Toolkitu; zacznijmy po prostu od dołączania komponentu rysującego za pomocą dyrek-
tywy INCLUDE:
[% MACRO boxtop INCLUDE boxtop %]
[% MACRO boxend INCLUDE boxend %]
Dzięki temu narysowanie ramki będzie możliwe w taki mniej więcej sposób:
[% boxtop(title="My Box") %]
<P> Hello, people! </P>
[% boxend %]
Zamiast korzystać z pliku komponentu i dyrektywy INCLUDE możemy przypisać nazwę ma-
kra do całego bloku dyrektyw Template Toolkitu.
[% MACRO boxtop BLOCK %]
<table bgcolor="#777777" cellspacing=0 border=0 cellpadding=0>
<tr>
...
[% END %]
[% MACRO boxend BLOCK %]
</td></tr></table>
</td></tr>
<tr><td colspan=4> </td></tr>
</table>
[% END %]
Możemy wreszcie zdefiniować całą bibliotekę podręcznych makr i dołączać ją później za po-
mocą pojedynczej dyrektywy INCLUDE, zamiast obsługiwać wiele oddzielnych plików z kom-
ponentami.
Załóżmy, że utworzyliśmy taką bibliotekę zawierającą pokazane wyżej dwa makra rysujące
ramkę i przejdźmy do wykorzystania zdobytej wiedzy — obsługi wiadomości RSS.
Program zbierający wiadomości RSS
Przed przystąpieniem do pisania naszej aplikacji przeglądamy listę dostępnych wtyczek dla
Template Toolkitu i z radością stwierdzamy, że istnieje taka, która może się nam przydać:
Template::Plugin::XML::RSS, korzystająca z XML::RSS. Nasz zachwyt nie potrwa jednak
długo — jak się okazuje, wymaga ona przekazania nazwy pliku, a nie adresu URL czy łańcu-
cha danych w formacie XML. Niezbyt odpowiada nam wizja zapisywania plików, które trze-
ba będzie potem parsować.
Utworzymy więc własną podklasę Template::Plugin::XML::RSS przyjmującą adresy URL
na wejście:
package Template::Plugin::XML::RSS::URL;
use base 'Template::Plugin::XML::RSS';
use LWP::Simple;
sub new {
my ($class, $context, $url) = @_;
return $class->fail('Niepoprawny adres URL') unless $url;
114 | Rozdział 3. Szablony