Szkoła programowania Bruce’a Eckela!
Podczas nauki tworzenia aplikacji w języku C++ towarzyszyć Ci będzie jeden z najlepszych dydaktyków programowania na świecie!
Nauka języka C++ i szczegółowe poznanie jego możliwości to poważne wyzwanie nie tylko dla początkującego, ale również dla zaawansowanego programisty. W książce "Thinking in C++. Edycja polska" Bruce Eckel w doskonały sposób przedstawił podstawowe zagadnienia związane z tym językiem. Jeśli opanowałeś materiał z tej książki, możesz rozpocząć lekturę drugiego tomu.
Następnym krokiem jest -- "Thinking in C++. Edycja polska. Tom II" -- kolejny bestseller Bruce’a Eckela poświęcony językowi C++. Tym razem Bruce w typowy dla siebie, prosty i zrozumiały sposób opisuje zaawansowane aspekty programowania w C++. Dowiesz się, jak korzystać z referencji, przeciążania operatorów, dziedziczenia i obiektów dynamicznych, a także poznasz zagadnienia zaawansowane -- prawidłowe użycie szablonów, wyjątków i wielokrotnego dziedziczenia. Wszystkie tematy opatrzone są ćwiczeniami.
* obsługa wyjątków
* programowanie defensywne
* standardowa biblioteka C++
* strumienie wejścia-wyjścia
* wzorce projektowe
* zaawansowane metody programowania obiektowego
* współbieżność
Kody źródłowe znajdujące się w książce są zgodne z wieloma kompilatorami C++.
O autorach:
Bruce Eckel jest prezesem MindView, Inc., firmy prowadzącej zarówno otwarte jak i zamknięte kursy treningowe; zajmującej się też doradztwem, nadzorem i kontrolą nad projektami związanymi z technologiami obiektowymi i wzorcami projektowymi. [więcej...]
Chuck Allison jest matematykiem, pełniącym obecnie funkcję wykładowcy na wydziale informatyki uniwersytetu stanowego Utah Valley. Do niedawna pełnił funkcję redaktora w magazynie C/C++ Users Journal. [więcej...]
Zakładając znajomość podstaw języka C++ książka ta umożliwia programistom rozwinięcie zaawansowanych umiejętności programowania poprzez stosowanie styli i idiomów języka C++. Struktura książki zorganizowana jest wokół abstrakcji wspieranych przez język C++: abstrakcyjnych typów danych, kombinacji typów w strukturach dziedziczenia, programowania obiektowego i dziedziczenia wielokrotnego. W książce przedstawione zostają także te idiomy, które nie znajdują bezpośredniego wsparcia w języku C++, takie jak wirtualne konstruktory, obiekty prototypów i zaawansowane techniki odzyskiwania nieużytków.
Książka:
* Przedstawia zalety i potencjalne pułapki zaawansowanych technik programowania w języku C++.
* Sposoby efektywnego łączenia abstrakcji języka C++ ilustruje szeregiem krótkich, ale stanowiących wystarczający instruktaż przykładów.
* Dostarcza wielu praktycznych zasad wykorzystania języka C++ do implementacji rezultatów projektowania obiektowego.
* Omawia wszystkie właściwości edycji 3.0 języka C++, w tym zastosowanie szablonów w celu wielokrotnego wykorzystania kodu.
* Przedstawia istotne aspekty rozwoju złożonych systemów, w tym projektowanie bibliotek, obsługę wyjątków i przetwarzanie rozproszone.
Książka ta jest ważnym podręcznikiem dla każdego programisty aplikacji lub programisty systemowego posługującego się językiem C++.
O autorze:
James Coplien pracuje w departamencie związanym z badaniami nad produkcją oprogramowania w firmie AT&T Bell Laboratories. Jest także konsultantem przy dużych projektach wykorzystujących technologie obiektowe.
[więcej...]
Język C# został opracowany w firmie Microsoft i wywodzi się z rodziny C/C++, choć zawiera również wiele elementów znanych programistom Javy, jak na przykład mechanizmy automatycznego odzyskiwanie pamięci. Łączy więc w sobie wszystko to, co najlepsze w Javie i C++, a dodatkowo pozwala na wygodne korzystanie z klas wchodzących w skład platformy .NET.
Dzięki książce "C#. Ćwiczenia" nauczysz się programować w C# niezależnie od tego, czy znasz już C++ lub Javę. Kilkadziesiąt ćwiczeń pozwoli Ci poznać język C# od podstaw po zagadnienia zaawansowane. Zaletą książki jest zwięzły i przystępny opis prezentowanych zagadnień i nastawienie na praktykę programistyczną, a nie na rozważania teoretyczne.
Poznasz:
* Środowisko uruchomieniowe C# i Visual Studio
* Zmienne, operatory i typy danych
* Instrukcje C#
* Podstawy programowania obiektowego, tworzenie klas, metod i konstruktorów
* Użycie tablic w C#
* Obsługę błędów za pomocą wyjątków
* Interfejsy i rzutowanie
* Obsługę zdarzeń
* Korzystanie z komponentów interfejsu użytkownika Windows
"C++. Kruczki i fortele w programowaniu" to pomoc dla zawodowych programistów pozwalająca uniknąć lub poprawić dziewięćdziesiąt dziewięć najczęściej popełnianych i najbardziej szkodliwych błędów projektowych i programowych w C++. Jest to też książka, dzięki której można poznać niektóre niestandardowe cechy języka C++ i techniki programistyczne.
W książce omówiono typowe błędy występujące niemalże we wszystkich programach utworzonych w C++. Każdy z nich został starannie opisany, przedstawiono również konsekwencje wynikające z ich pojawienia się w kodzie programu i szczegółowy opis sposobów na ich uniknięcie. "C++. Kruczki i fortele w programowaniu” to książka o tym, jak uniknąć największych zagrożeń związanych z programowaniem w C++. Gotowa i praktyczna wiedza dla programistów, która pozwoli im uzyskać status ekspertów.
Omówione błędy dotyczą:
* Podstaw języka C++
* Składni języka
* Preprocesora
* Konwersji
* Inicjalizacji
* Zarządzania pamięcią i zasobami
* Polimorfizmu
* Projektowania klas
* Projektowania hierarchii
O autorze:
Stephen C. Dewhurst był jednym z pierwszych użytkowników języka C++ w laboratoriach Bell Labs. Ma ponad dwudziestoletnie doświadczenie w stosowaniu C++ do rozwiązywania problemów w takich dziedzinach, jak projektowanie kompilatorów, zabezpieczanie handlu elektronicznego czy telekomunikacja implementowana na bazie urządzeń wbudowanych [więcej...]
Poznanie ruchów figur szachowych to dopiero pierwszy krok w nauce tej gry. Aby ją opanować, trzeba zrozumieć strategie i taktyki, które wpływają na każdy ruch. To samo dotyczy języka C++. Znajomość właściwych strategii pomaga unikać pułapek i pracować o wiele skuteczniej. Rob Murray dzieląc się swoim doświadczeniem pomaga programistom C++ wykonać następny krok w kierunku tworzenia wydajnych aplikacji.
Licznie występujące w całej książce przykłady kodu mają na celu zilustrowanie przydatnych strategii programistycznych i ostrzec przed nabyciem niebezpiecznych nawyków. Aby dodatkowo ułatwić przyswajanie nowych umiejętności, każdy rozdział kończy się listą poruszonych w nim kluczowych zagadnień oraz pytaniami mającymi spowodować przemyślenia i dyskusje.
Książka przedstawia między innymi:
* Tworzenie właściwych abstrakcji dla projektu i przekształcanie abstrakcji w klasy C++
* Mechanizmy dziedziczenia pojedynczego i wielokrotnego
* Metody tworzenia klas
* Szczegółowy opis mechanizmu szablonów
* Wskazówki dotyczące stosowania wyjątków
* Metody tworzenia kodu nadającego się do wielokrotnego wykorzystania
* Przenoszenie programów z języka C do C++
Robert B. Murray jest wicedyrektorem ds. inżynierii oprogramowania w firmie Quantitative Data Systems dostarczającej niestandardowych rozwiązań z zakresu oprogramowania dla czołowych firm. [więcej...]
Język C++ to najpopularniejszy obecnie język programowania. Jego podstawowe zalety -- przejrzysta składnia, niewielka ilość słów kluczowych i szeroki wachlarz możliwości -- przysporzyły mu wielu zwolenników. Na rynku dostępnych jest wiele książek o programowaniu w C++, jednak większość z nich zawiera sposoby rozwiązywania konkretnych problemów i zadań programistycznych. Niewiele książek koncentruje się na założeniach, na których opiera się programowanie w języku C++.
W książce "Język C++. Koncepcje i techniki programowania" autorzy skoncentrowali się na kluczowych technikach programowania w C++. Jednak nie przedstawiają ich w formie odpowiedzi na pytania "jak to zrobić", ale "dlaczego robimy to tak, a nie inaczej". Opisują szeroki wachlarz idei i technik programowania w C++ począwszy od szczegółowych przykładów kodu, a skończywszy na zasadach i filozofii projektowania.
* Tworzenie klas
* Uchwyty klas
* Zasady projektowania obiektowego
* Szablony i iteratory
* Stosowanie bibliotek
* Projektowanie bibliotek
* Techniki programowania
Dzięki tej książce nauczysz się nie tylko przestrzegać reguł języka C++, ale także myśleć w tym języku podczas pracy nad programem.
O autorach:
Andrew Koenig jest członkiem działu badającego systemy oprogramowania w Shannon Laboratory firmy AT&T oraz redaktorem projektu komitetów standaryzacyjnych języka C++. [więcej...]
Barbara Moo jest konsultantką z dwudziestoletnim doświadczeniem programistycznym, zarządzała projektem pierwszego kompilatora C++. [więcej...]
C++. 50 efektywnych sposobów na udoskonalenie Twoich programówWydawnictwo Helion
Pierwsze wydanie książki "C++. 50 efektywnych sposobów na udoskonalenie twoich programów" zostało sprzedane w nakładzie 100 000 egzemplarzy i zostało przetłumaczone na cztery języki. Nietrudno zrozumieć, dlaczego tak się stało. Scott Meyers w charakterystyczny dla siebie, praktyczny sposób przedstawił wiedzę typową dla ekspertów -- czynności, które niemal zawsze wykonują lub czynności, których niemal zawsze unikają, by tworzyć prosty, poprawny i efektywny kod. Każda z zawartych w tej książce pięćdziesięciu wskazówek jest streszczeniem metod pisania lepszych programów w C++, zaś odpowiednie rozważania są poparte konkretnymi przykładami. Z myślą o nowym wydaniu, autor opracował od początku wszystkie opisywane w tej książce wskazówki. Wynik jego pracy jest wyjątkowo zgodny z międzynarodowym standardem C++, technologią aktualnych kompilatorów oraz najnowszymi trendami w świecie rzeczywistych aplikacji C++.
Do najważniejszych zalet książki "C++. 50 efektywnych sposobów na udoskonalenie twoich programów" należą:
* Eksperckie porady dotyczące projektowania zorientowanego obiektowo, projektowania klas i właściwego stosowania technik dziedziczenia
* Analiza standardowej biblioteki C++, włącznie z wpływem standardowej biblioteki szablonów oraz klas podobnych do string i vector na strukturę dobrze napisanych programów
* Rozważania na temat najnowszych możliwości języka C++: inicjalizacji stałych wewnątrz klas, przestrzeni nazw oraz szablonów składowych
* Wiedza będąca zwykle w posiadaniu wyłącznie doświadczonych programistów
Książka "C++. 50 efektywnych sposobów na udoskonalenie twoich programów" pozostaje jedną z najważniejszych publikacji dla każdego programisty pracującego z C++.
Poznaj możliwości i mechanizmy C++ stosowane przez profesjonalistów
* Efektywne zarządzanie pamięcią
* Obsługa błędów
* Biblioteki i wzorce projektowe
Język C++ od dawna cieszy się zasłużoną popularnością wśród twórców oprogramowania. Jednak często nawet najbardziej doświadczeni programiści nie wykorzystują wszystkich jego możliwości. W opracowaniach dotyczących tego języka najczęściej omawiana jest składnia i elementy języka, a znacznie rzadziej -- jego praktyczne zastosowania. Brak odniesień do praktyki powoduje nieznajomość wielu niezwykle przydatnych i ułatwiających pracę aspektów C++ i nadmierne eksploatowanie prostych, książkowych konstrukcji.
Książka "C++. Zaawansowane programowanie" to przegląd metod programowania nie omawianych w większości publikacji. Ten przeznaczony dla średnio zaawansowanych programistów podręcznik przedstawia zasady stosowania C++ do rozwiązywania prawdziwych problemów. Opisuje nieznane możliwości znacznie przyspieszające i usprawniające pracę, sposoby tworzenia przenośnego kodu oraz testowania oprogramowania. Książka zawiera również omówienie biblioteki standardowej C++ oraz wzorców projektowych.
* Zasady tworzenia projektów w C++
* Projektowanie obiektowe
* Korzystanie z biblioteki standardowej C++
* Tworzenie kodu przeznaczonego do wielokrotnego zastosowania
* Styl kodowania
* Zarządzanie pamięcią
* Procedury obsługi wyjątków
* Przeciążanie operatorów
* Tworzenie aplikacji wieloplatformowych
* Testowanie kodu i usuwanie błędów
* Programowanie rozproszone
* Stosowanie wzorców projektowych
Naucz się korzystać z C++ tak, jak robią to profesjonaliści.
Naucz się języka C++ w najlepszy sposób:
poznając go z punktu widzenia inżynierii programowania
* Demonstruje praktyczne techniki stosowane przez zawodowych programistów
* Zawiera poprawny, gruntownie przetestowany przykładowy kod źródłowy programów oraz przykłady zaczerpnięte z praktyki
* Skoncentrowana na nowoczesnych technologiach, które muszą poznać programiści
* Zawiera rady profesjonalistów, które pozwolą czytelnikowi tworzyć najlepsze programy
Książka Wiktora Shterna zatytułowana "C++. Inżynieria programowania" stosuje wyjątkowy sposób nauki języka C++ przeznaczony dla programistów mających doświadczenie w dowolnym języku programowania: prezentuje możliwość zastosowania w C++ najlepszych technik programistycznych oraz metodologii inżynierii programowania. Nawet jeżeli już wcześniej wykorzystywałeś język C++, ta wyczerpująca książka przedstawi sposób tworzenia poprawniejszego kodu, łatwiejszego do utrzymania i modyfikacji.
Książka niniejsza uczy zasad programowania obiektowego przed samą nauką języka, co pozwala wykorzystać wszystkie zalety OOP do tworzenia poprawnych aplikacji. Udoskonalisz znajomość kluczowych składników standardu ANSI/ISO C++ rozpatrywanych z punktu widzenia inżyniera: klas, metod, modyfikatorów const, dynamicznego zarządzania pamięcią, złożeń klas, dziedziczenia, polimorfizmu, operacji wejścia-wyjścia i wielu innych. Jeżeli pragniesz tworzyć w języku C++ najlepsze programy, musisz projektować, myśleć i programować stosując najlepsze obecnie praktyki inżynierii programowania. Lektura książki "C++. Inżynieria programowania" pomoże Ci w tym.
Książka "C++. Inżynieria programowania" kładzie nacisk na:
* Prezentację zastosowań zasad inżynierii programowania w programach pisanych w C++
* Tworzenie kodu łatwego do późniejszych modyfikacji
* Praktyczne zrozumienie zasad programowania obiektowego przed nauką samego języka
* Przedstawienie najnowszych cech standardu ANSI/ISO C++
* Zaprezentowanie setek realistycznych przykładów kodu programów
Zakładając znajomość podstaw języka C++ książka ta umożliwia programistom rozwinięcie zaawansowanych umiejętności programowania poprzez stosowanie styli i idiomów języka C++. Struktura książki zorganizowana jest wokół abstrakcji wspieranych przez język C++: abstrakcyjnych typów danych, kombinacji typów w strukturach dziedziczenia, programowania obiektowego i dziedziczenia wielokrotnego. W książce przedstawione zostają także te idiomy, które nie znajdują bezpośredniego wsparcia w języku C++, takie jak wirtualne konstruktory, obiekty prototypów i zaawansowane techniki odzyskiwania nieużytków.
Książka:
* Przedstawia zalety i potencjalne pułapki zaawansowanych technik programowania w języku C++.
* Sposoby efektywnego łączenia abstrakcji języka C++ ilustruje szeregiem krótkich, ale stanowiących wystarczający instruktaż przykładów.
* Dostarcza wielu praktycznych zasad wykorzystania języka C++ do implementacji rezultatów projektowania obiektowego.
* Omawia wszystkie właściwości edycji 3.0 języka C++, w tym zastosowanie szablonów w celu wielokrotnego wykorzystania kodu.
* Przedstawia istotne aspekty rozwoju złożonych systemów, w tym projektowanie bibliotek, obsługę wyjątków i przetwarzanie rozproszone.
Książka ta jest ważnym podręcznikiem dla każdego programisty aplikacji lub programisty systemowego posługującego się językiem C++.
O autorze:
James Coplien pracuje w departamencie związanym z badaniami nad produkcją oprogramowania w firmie AT&T Bell Laboratories. Jest także konsultantem przy dużych projektach wykorzystujących technologie obiektowe.
[więcej...]
Język C# został opracowany w firmie Microsoft i wywodzi się z rodziny C/C++, choć zawiera również wiele elementów znanych programistom Javy, jak na przykład mechanizmy automatycznego odzyskiwanie pamięci. Łączy więc w sobie wszystko to, co najlepsze w Javie i C++, a dodatkowo pozwala na wygodne korzystanie z klas wchodzących w skład platformy .NET.
Dzięki książce "C#. Ćwiczenia" nauczysz się programować w C# niezależnie od tego, czy znasz już C++ lub Javę. Kilkadziesiąt ćwiczeń pozwoli Ci poznać język C# od podstaw po zagadnienia zaawansowane. Zaletą książki jest zwięzły i przystępny opis prezentowanych zagadnień i nastawienie na praktykę programistyczną, a nie na rozważania teoretyczne.
Poznasz:
* Środowisko uruchomieniowe C# i Visual Studio
* Zmienne, operatory i typy danych
* Instrukcje C#
* Podstawy programowania obiektowego, tworzenie klas, metod i konstruktorów
* Użycie tablic w C#
* Obsługę błędów za pomocą wyjątków
* Interfejsy i rzutowanie
* Obsługę zdarzeń
* Korzystanie z komponentów interfejsu użytkownika Windows
"C++. Kruczki i fortele w programowaniu" to pomoc dla zawodowych programistów pozwalająca uniknąć lub poprawić dziewięćdziesiąt dziewięć najczęściej popełnianych i najbardziej szkodliwych błędów projektowych i programowych w C++. Jest to też książka, dzięki której można poznać niektóre niestandardowe cechy języka C++ i techniki programistyczne.
W książce omówiono typowe błędy występujące niemalże we wszystkich programach utworzonych w C++. Każdy z nich został starannie opisany, przedstawiono również konsekwencje wynikające z ich pojawienia się w kodzie programu i szczegółowy opis sposobów na ich uniknięcie. "C++. Kruczki i fortele w programowaniu” to książka o tym, jak uniknąć największych zagrożeń związanych z programowaniem w C++. Gotowa i praktyczna wiedza dla programistów, która pozwoli im uzyskać status ekspertów.
Omówione błędy dotyczą:
* Podstaw języka C++
* Składni języka
* Preprocesora
* Konwersji
* Inicjalizacji
* Zarządzania pamięcią i zasobami
* Polimorfizmu
* Projektowania klas
* Projektowania hierarchii
O autorze:
Stephen C. Dewhurst był jednym z pierwszych użytkowników języka C++ w laboratoriach Bell Labs. Ma ponad dwudziestoletnie doświadczenie w stosowaniu C++ do rozwiązywania problemów w takich dziedzinach, jak projektowanie kompilatorów, zabezpieczanie handlu elektronicznego czy telekomunikacja implementowana na bazie urządzeń wbudowanych [więcej...]
Poznanie ruchów figur szachowych to dopiero pierwszy krok w nauce tej gry. Aby ją opanować, trzeba zrozumieć strategie i taktyki, które wpływają na każdy ruch. To samo dotyczy języka C++. Znajomość właściwych strategii pomaga unikać pułapek i pracować o wiele skuteczniej. Rob Murray dzieląc się swoim doświadczeniem pomaga programistom C++ wykonać następny krok w kierunku tworzenia wydajnych aplikacji.
Licznie występujące w całej książce przykłady kodu mają na celu zilustrowanie przydatnych strategii programistycznych i ostrzec przed nabyciem niebezpiecznych nawyków. Aby dodatkowo ułatwić przyswajanie nowych umiejętności, każdy rozdział kończy się listą poruszonych w nim kluczowych zagadnień oraz pytaniami mającymi spowodować przemyślenia i dyskusje.
Książka przedstawia między innymi:
* Tworzenie właściwych abstrakcji dla projektu i przekształcanie abstrakcji w klasy C++
* Mechanizmy dziedziczenia pojedynczego i wielokrotnego
* Metody tworzenia klas
* Szczegółowy opis mechanizmu szablonów
* Wskazówki dotyczące stosowania wyjątków
* Metody tworzenia kodu nadającego się do wielokrotnego wykorzystania
* Przenoszenie programów z języka C do C++
Robert B. Murray jest wicedyrektorem ds. inżynierii oprogramowania w firmie Quantitative Data Systems dostarczającej niestandardowych rozwiązań z zakresu oprogramowania dla czołowych firm. [więcej...]
Język C++ to najpopularniejszy obecnie język programowania. Jego podstawowe zalety -- przejrzysta składnia, niewielka ilość słów kluczowych i szeroki wachlarz możliwości -- przysporzyły mu wielu zwolenników. Na rynku dostępnych jest wiele książek o programowaniu w C++, jednak większość z nich zawiera sposoby rozwiązywania konkretnych problemów i zadań programistycznych. Niewiele książek koncentruje się na założeniach, na których opiera się programowanie w języku C++.
W książce "Język C++. Koncepcje i techniki programowania" autorzy skoncentrowali się na kluczowych technikach programowania w C++. Jednak nie przedstawiają ich w formie odpowiedzi na pytania "jak to zrobić", ale "dlaczego robimy to tak, a nie inaczej". Opisują szeroki wachlarz idei i technik programowania w C++ począwszy od szczegółowych przykładów kodu, a skończywszy na zasadach i filozofii projektowania.
* Tworzenie klas
* Uchwyty klas
* Zasady projektowania obiektowego
* Szablony i iteratory
* Stosowanie bibliotek
* Projektowanie bibliotek
* Techniki programowania
Dzięki tej książce nauczysz się nie tylko przestrzegać reguł języka C++, ale także myśleć w tym języku podczas pracy nad programem.
O autorach:
Andrew Koenig jest członkiem działu badającego systemy oprogramowania w Shannon Laboratory firmy AT&T oraz redaktorem projektu komitetów standaryzacyjnych języka C++. [więcej...]
Barbara Moo jest konsultantką z dwudziestoletnim doświadczeniem programistycznym, zarządzała projektem pierwszego kompilatora C++. [więcej...]
C++. 50 efektywnych sposobów na udoskonalenie Twoich programówWydawnictwo Helion
Pierwsze wydanie książki "C++. 50 efektywnych sposobów na udoskonalenie twoich programów" zostało sprzedane w nakładzie 100 000 egzemplarzy i zostało przetłumaczone na cztery języki. Nietrudno zrozumieć, dlaczego tak się stało. Scott Meyers w charakterystyczny dla siebie, praktyczny sposób przedstawił wiedzę typową dla ekspertów -- czynności, które niemal zawsze wykonują lub czynności, których niemal zawsze unikają, by tworzyć prosty, poprawny i efektywny kod. Każda z zawartych w tej książce pięćdziesięciu wskazówek jest streszczeniem metod pisania lepszych programów w C++, zaś odpowiednie rozważania są poparte konkretnymi przykładami. Z myślą o nowym wydaniu, autor opracował od początku wszystkie opisywane w tej książce wskazówki. Wynik jego pracy jest wyjątkowo zgodny z międzynarodowym standardem C++, technologią aktualnych kompilatorów oraz najnowszymi trendami w świecie rzeczywistych aplikacji C++.
Do najważniejszych zalet książki "C++. 50 efektywnych sposobów na udoskonalenie twoich programów" należą:
* Eksperckie porady dotyczące projektowania zorientowanego obiektowo, projektowania klas i właściwego stosowania technik dziedziczenia
* Analiza standardowej biblioteki C++, włącznie z wpływem standardowej biblioteki szablonów oraz klas podobnych do string i vector na strukturę dobrze napisanych programów
* Rozważania na temat najnowszych możliwości języka C++: inicjalizacji stałych wewnątrz klas, przestrzeni nazw oraz szablonów składowych
* Wiedza będąca zwykle w posiadaniu wyłącznie doświadczonych programistów
Książka "C++. 50 efektywnych sposobów na udoskonalenie twoich programów" pozostaje jedną z najważniejszych publikacji dla każdego programisty pracującego z C++.
Poznaj możliwości i mechanizmy C++ stosowane przez profesjonalistów
* Efektywne zarządzanie pamięcią
* Obsługa błędów
* Biblioteki i wzorce projektowe
Język C++ od dawna cieszy się zasłużoną popularnością wśród twórców oprogramowania. Jednak często nawet najbardziej doświadczeni programiści nie wykorzystują wszystkich jego możliwości. W opracowaniach dotyczących tego języka najczęściej omawiana jest składnia i elementy języka, a znacznie rzadziej -- jego praktyczne zastosowania. Brak odniesień do praktyki powoduje nieznajomość wielu niezwykle przydatnych i ułatwiających pracę aspektów C++ i nadmierne eksploatowanie prostych, książkowych konstrukcji.
Książka "C++. Zaawansowane programowanie" to przegląd metod programowania nie omawianych w większości publikacji. Ten przeznaczony dla średnio zaawansowanych programistów podręcznik przedstawia zasady stosowania C++ do rozwiązywania prawdziwych problemów. Opisuje nieznane możliwości znacznie przyspieszające i usprawniające pracę, sposoby tworzenia przenośnego kodu oraz testowania oprogramowania. Książka zawiera również omówienie biblioteki standardowej C++ oraz wzorców projektowych.
* Zasady tworzenia projektów w C++
* Projektowanie obiektowe
* Korzystanie z biblioteki standardowej C++
* Tworzenie kodu przeznaczonego do wielokrotnego zastosowania
* Styl kodowania
* Zarządzanie pamięcią
* Procedury obsługi wyjątków
* Przeciążanie operatorów
* Tworzenie aplikacji wieloplatformowych
* Testowanie kodu i usuwanie błędów
* Programowanie rozproszone
* Stosowanie wzorców projektowych
Naucz się korzystać z C++ tak, jak robią to profesjonaliści.
Naucz się języka C++ w najlepszy sposób:
poznając go z punktu widzenia inżynierii programowania
* Demonstruje praktyczne techniki stosowane przez zawodowych programistów
* Zawiera poprawny, gruntownie przetestowany przykładowy kod źródłowy programów oraz przykłady zaczerpnięte z praktyki
* Skoncentrowana na nowoczesnych technologiach, które muszą poznać programiści
* Zawiera rady profesjonalistów, które pozwolą czytelnikowi tworzyć najlepsze programy
Książka Wiktora Shterna zatytułowana "C++. Inżynieria programowania" stosuje wyjątkowy sposób nauki języka C++ przeznaczony dla programistów mających doświadczenie w dowolnym języku programowania: prezentuje możliwość zastosowania w C++ najlepszych technik programistycznych oraz metodologii inżynierii programowania. Nawet jeżeli już wcześniej wykorzystywałeś język C++, ta wyczerpująca książka przedstawi sposób tworzenia poprawniejszego kodu, łatwiejszego do utrzymania i modyfikacji.
Książka niniejsza uczy zasad programowania obiektowego przed samą nauką języka, co pozwala wykorzystać wszystkie zalety OOP do tworzenia poprawnych aplikacji. Udoskonalisz znajomość kluczowych składników standardu ANSI/ISO C++ rozpatrywanych z punktu widzenia inżyniera: klas, metod, modyfikatorów const, dynamicznego zarządzania pamięcią, złożeń klas, dziedziczenia, polimorfizmu, operacji wejścia-wyjścia i wielu innych. Jeżeli pragniesz tworzyć w języku C++ najlepsze programy, musisz projektować, myśleć i programować stosując najlepsze obecnie praktyki inżynierii programowania. Lektura książki "C++. Inżynieria programowania" pomoże Ci w tym.
Książka "C++. Inżynieria programowania" kładzie nacisk na:
* Prezentację zastosowań zasad inżynierii programowania w programach pisanych w C++
* Tworzenie kodu łatwego do późniejszych modyfikacji
* Praktyczne zrozumienie zasad programowania obiektowego przed nauką samego języka
* Przedstawienie najnowszych cech standardu ANSI/ISO C++
* Zaprezentowanie setek realistycznych przykładów kodu programów
C++ jest obecnie wiodącym językiem programowania obiektowego. Jego podstawowymi zaletami w stosunku do innych języków obiektowych jest wysoka efektywność i uniwersalność. Stosowany jest do tworzenia komercyjnego oprogramowania oraz efektywnych rozwiązań złożonych problemów.
Książka krok po kroku omawia wszystkie właściwości języka i wyjaśnia sposoby ich praktycznego użycia. Przedstawione przykłady programów nie są zbyt skomplikowane, by nie odrywać Twojej uwagi od omawianych zagadnień, ale nie są też sztucznie uproszczone. Kluczowym założeniem języka C++ jest programowanie z wykorzystaniem szablonów, które umożliwiają tworzenie rozwiązań o wysokim poziomie ogólności - na przykład implementację polimorfizmu. Nicolai Josuttis omawia możliwość łączenia szablonów z programowaniem obiektowym, która decyduje o potężnych możliwościach języka C++ jako narzędzia tworzenia wydajnych programów. W tym zakresie książka wykracza daleko poza podstawy.
* Wprowadzenie do C++ i programowania obiektowego
* Podstawowe pojęcia języka C++
* Programowanie klas
* Dziedziczenie i polimorfizm
* Składowe dynamiczne i statyczne
* Szablony języka C++
* Szczegółowe omówienie standardowej biblioteki wejścia-wyjścia
Książka ta jest idealnym podręcznikiem umożliwiającym studiowanie języka C++ w domowym zaciszu. Prezentuje ona zagadnienia podstawowe, ale w wielu przypadkach przekracza je dostarczając prawdziwie profesjonalnej wiedzy.
Wyczerpujący, szczegółowy, praktyczny i aktualny podręcznik programowania w języku C++
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...]
Poznaj profesjonalne techniki programistyczne
C++ to jeden z najpopularniejszych języków programowania. Ma zwięzłą i elegancką składnię, czytelny i logiczny model obiektów i starannie opracowane biblioteki. Jego możliwości dają programiście niemal nieograniczoną kontrolę nad komputerem. Jednak sprawne i efektywne programowanie w C++ to prawdziwa sztuka. Wymaga staranności, dokładnego zaplanowania tworzonej aplikacji oraz wiedzy o funkcjach i mechanizmach, jakie można zastosować.
Książka "C++. Sztuka programowania" przedstawia profesjonalne sposoby tworzenia aplikacji w języku C++. Nie opisuje podstaw języka – skupia się na tworzeniu praktycznych aplikacji z wykorzystaniem profesjonalnych technik programistycznych. Wykonując zawarte w książce przykłady, rozwiążesz różne zadania programistyczne i osiągniesz biegłość w posługiwaniu się językiem C++.
* Szablony STL, biblioteki i model obiektowy języka C++
* Mechanizm odzyskiwania pamięci
* Wykorzystanie wielowątkowości w aplikacjach
* Eksperymentalne elementy języka C++
* Aplikacje internetowe w C++
* Techniki sztucznej inteligencji
* Tworzenie własnego interpretera C++
O autorze:
Herb Schildt jest autorytetem w sprawach języków C, C++, Java i C#, a także doskonałym programistą systemu Windows.
[więcej...]
Borland C++ Builder to jedno z najwygodniejszych środowisk programistycznych dla programistów C++, platforma ciesząca się dużą popularnością i mająca za sobą długą historię. W języku C++ napisano wiele aplikacji dla Windows, z których znaczna część powstała właśnie w Builderze.
"C++ Builder. Ćwiczenia" to uzupełnienie poprzedniej publikacji Wydawnictwa Helion, zatytułowanej "C++ Builder 5. Ćwiczenia praktyczne". Książka omawia zmiany, jakie wprowadzono w nowej, szóstej już wersji C++ Buildera, a także porusza wiele zagadnień, które nie znalazły się w książce traktującej o poprzedniej edycji tego programu. Informacje zostały przekazane w formie ćwiczeń z dokładnym omówieniem prezentowanego kodu źródłowego.
Znajdziesz w niej między innymi:
Zagadnienia związane z kompatybilnością pomiędzy wersjami piątą i szóstą C++ Buildera
Serię ćwiczeń przybliżających język C++
Omówienie środowiska IDE C++ Builder
Ćwiczenia z programowania w C++ z wykorzystaniem C++ Builder
Ćwiczenia z pisania aplikacji wielowątkowych
Sposoby tworzenia własnych komponentów
C++ to popularny i uniwersalny język programowania. Jednak po dłuższym stosowaniu programiści zaczynają zauważać pewne jego niedoskonałości i ograniczenia. System typów, sposób działania niektórych kompilatorów, związki pomiędzy wskaźnikami i tablicami, nieprzewidziane w standardzie zachowania obiektów statycznych i bibliotek dynamicznych to tylko niektóre z nich. Aby je obejść, należy wykorzystywać wiele bardzo zaawansowanych i nieznanych wielu programistom metod.
Książka "Język C++. Gotowe rozwiązania dla programistów" to podręcznik dla tych programistów C++, którzy zaczęli już dostrzegać ograniczenia tego języka i zastanawiają się, jak sobie z nimi poradzić. Autor pokazuje sposoby ujarzmienia złożoności języka i uzyskania pełnej kontroli nad kodem. Przedstawia najpoważniejsze wady C++ i sposoby rozwiązywania powodowanych przez nie problemów. Opisuje również metody tworzenia stabilniejszego, bardziej uniwersalnego, wydajniejszego i łatwiejszego w pielęgnacji kodu.
* Wymuszanie założeń projektowych
* Cykl życia obiektów
* Hermetyzacja zasobów, danych i typów
* Modele dostępu do obiektów
* Obsługa wątków
* Korzystanie z obiektów statycznych
* Konwersja danych i typów
* Zarządzanie pamięcią
* Sterowanie działaniem kompilatora
Wszyscy programiści, niezależnie od stopnia zaawansowania, znajdą w tej książce wiadomości, które usprawnią i przyspieszą ich pracę.
Rozpocznij przygodę z programowaniem
* Poznaj elementy języka C++.
* Naucz się przetwarzać dane tekstowe i liczbowe.
* Opanuj zasady programowania obiektowego.
C++ to język programowania wykorzystywany do wielu zadań. Programiści stosują go do tworzenia aplikacji użytkowych, gier, a nawet części systemów operacyjnych. Może więc wydawać się, że opanowanie zasad programowania w tym języku przekracza możliwości przeciętnego człowieka. Tak jednak nie jest -- programowanie to nie wiedza tajemna, dostępna jedynie dla wybranych, a programiści znający C++ nie są nadludźmi. Z odpowiednią pomocą można bez kłopotów zdobyć wiedzę o wszystkich sztuczkach i ciekawostkach C++, a nauka programowania w tym języku nie powinna sprawić Ci problemów.
Książka "C++ bez obaw" może być Twoim asystentem, gdy będziesz się uczył programowania w języku C++. Dzięki niej przekonasz się, że opanowanie tej sztuki leży w Twoim zasięgu. Znajdziesz w niej omówienie elementów C++ zilustrowane praktycznymi przykładami. Dowiesz się, z czego zbudowany jest program w C++ i jak sprawić, aby kod źródłowy stał się aplikacją możliwą do uruchomienia na Twoim komputerze. Przeczytasz o przetwarzaniu danych, operacjach na plikach, sortowaniu, obliczeniach matematycznych i programowaniu obiektowym. Poznasz wiele przydatnych zagadnień związanych z tworzeniem oprogramowania.
* Struktura programu w C++
* Wyświetlanie danych na ekranie
* Typy danych
* Pętle i instrukcje warunkowe
* Korzystanie ze wskaźników
* Operacje na plikach
* Programowanie obiektowe
Poszerz swoje możliwości, programuj w języku C++
Program CorelDRAW jest znany użytkownikom komputerów już od ponad 10 lat. Co roku firma Corel publikuje jego nową wersję wzbogaconą o nowe możliwości. Do największych zalet CorelDRAW należą: łatwość obsługi, ogromna popularność oraz różnorodność zastosowań -- zarówno do celów profesjonalnych, jak i „codziennych”. Dzięki przemyślanemu układowi poleceń, posługiwanie się programem jest łatwe nawet dla osób początkujących, dlatego też jest to doskonały program dla osób, które chcą nauczyć się tworzenia rysunków wektorowych.
Książka "CorelDRAW 11. Ćwiczenia praktyczne" przeznaczona jest dla osób początkujących, które chcą poznać podstawy tworzenia grafiki wektorowej wykorzystując do tego celu właśnie CorelDRAW. Zainteresować się nią powinni także użytkownicy starszych wersji programu chcący poznać nowe możliwości udostępniane przez najnowszą edycję tej popularnej aplikacji.
"CorelDRAW 11. Ćwiczenia praktyczne" przestawia za pomocą kilkudziesięciu ćwiczeń najważniejsze funkcje CorelDraw:
* Instalację i konfigurację programu
* Tworzenie prostych obiektów, ich transformacje i grupowanie
* Formatowanie tekstu
* Wykorzystanie narzędzi „kontur i wypełnienie”
* Precyzyjne rysowanie z użyciem siatki i prowadnic
* Edycję krzywych
* Efekty specjalne
Praktyczne rozwiązania dla zaawansowanych programistów
Do tworzenia wydajnych programów nie wystarczy teoretyczna wiedza o algorytmach, strukturach danych i inżynierii oprogramowania. Istnieje pokaźna liczba sztuczek, sprytnych technik i praktycznych rozwiązań, których znajomość jest niezbędna każdemu programiście.
Niniejsza książka zawiera pokaźny zestaw technik, które pomogą zaoszczędzić sporo czasu. Techniki te zostały opracowane przez twórców kodu poszukujących eleganckich i wydajnych sposobów tworzenia lepszego oprogramowania. W "Uczcie programistów" doświadczony programista Hank Warren dzieli się z Czytelnikami znanymi sobie sztuczkami, które zgromadził wraz z imponującym doświadczeniem w dziedzinie programowania aplikacji i systemów operacyjnych. Większość z tych sztuczek jest niezwykle praktyczna, niektóre zostały przedstawione jako ciekawostki lub zaskakujące rozwiązania. Ich zestawienie stanowi niesamowitą kolekcję, która będzie pomocna nawet dla najbardziej doświadczonych programistów w rozszerzeniu ich umiejętności.
W książce opisano następujące zagadnienia:
* Obszerna kolekcja użytecznych sztuczek programistycznych
* Drobne algorytmy rozwiązujące często spotykane problemy
* Algorytmy kontroli przekroczenia ograniczeń
* Zmiana kolejności bitów i bajtów
* Dzielenie całkowite i dzielenie przez stałe
* Elementarne operacje na liczbach całkowitych
* Kod Gray"a
* Krzywa Hilberta
* Formuły wyznaczania liczb pierwszych
Niniejsza książka jest doskonałą pozycją dla wszystkich programistów, którzy mają zamiar tworzyć wydajny kod. "Uczta programistów" nauczy Cię tworzenia aplikacji wysokiej jakości -- wyższej niż wymagana na uczelniach i kursach programowania.
Poznaj nowoczesne metody tworzenia gier komputerowych
* Wykorzystaj najefektywniejsze techniki oferowane przez C++
* Popraw czytelność kodu i wydajność programów
* Zastosuj wzorce projektowe
Rynek gier komputerowych jest niezwykle wymagający. Gracze stawiają tego rodzaju programom coraz wyższe wymagania, co z kolei przekłada się na konieczność stosowania coraz doskonalszych technik ich tworzenia. Będąc programistą gier komputerowych, na pewno doskonale zdajesz sobie z tego sprawę. Jeśli chcesz, aby kolejna stworzona przez Ciebie gra spełniała oczekiwania nawet najbardziej wybrednych graczy, wykorzystaj język C++. Jego możliwości sprawiają, że jest doskonałym narzędziem do tworzenia gier.
"C++ dla programistów gier. Wydanie II" to przewodnik po języku C++ opisujący go z punktu widzenia programowania specyficznych aplikacji, jakimi są gry. Książka przedstawia najefektywniejsze techniki C++ i metody rozwiązywania problemów, przed którymi stają programiści gier. Czytając ją, dowiesz się, jak zarządzać pamięcią i stosować wzorce projektowe oraz STL. Poznasz możliwości wykorzystania języków skryptowych do usprawnienia procesu tworzenia gry komputerowej. Każde z rozwiązań opatrzone jest przykładem, dzięki czemu łatwo będzie Ci zaimplementować je w swoich pracach.
* Podstawy języka C++
* Korzystanie z szablonów
* Obsługa wyjątków
* Zarządzanie pamięcią
* Poprawa wydajności aplikacji
* Wzorce projektowe
* Biblioteka STL
* Stosowanie języków skryptowych
* Zarządzanie obiektami
* Serializacja
Dołącz do elitarnej grupy programistów gier komputerowych.
C++BuilderX to narzędzie, które ma umożliwić tworzenie aplikacji w języku C++ dla różnych platform systemowych. Na wszystkich platformach wygląd jego interfejsu jest identyczny, co bardzo ułatwia pracę. Narzędzie to, poza możliwością tworzenia aplikacji w sposób wizualny, udostępnia programistom również rozbudowany edytor kodu źródłowego oraz edytor HTML i XML. C++BuilderX staje się coraz popularniejszym środowiskiem do tworzenia aplikacji wieloplatformowych.
"C++BuilderX. Ćwiczenia" to książka dla tych, którzy chcą poznać to narzędzie i nauczyć się podstaw programowania z użyciem C++BuilderX. Dzięki zawartym w niej wiadomościom dowiesz się, jak korzystać ze środowiska wizualnego i jak stworzyć proste programy dla systemów Windows i Linux.
* Podstawy korzystania z C++BuilderX
* Podstawowe wiadomości o C++
* Aplikacje uruchamiane z poziomu konsoli
* Tworzenie aplikacji z interfejsem graficznym
* Korzystanie z różnych kompilatorów
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.
Zostań profesjonalnym programistą C#
C# jest uważany przez wielu programistów za najlepszy język stosowany do tworzenia aplikacji dla platformy .NET. Język ten, opracowany w firmie Microsoft, łączy w sobie najbardziej wartościowe cechy C++ i Javy, ścisłą integrację z komponentami .NET, wysoki poziom bezpieczeństwa i ogromne możliwości. Świetnie nadaje się do tworzenia aplikacji sieciowych i bazodanowych przeznaczonych zarówno dla systemu Windows, jak i dla urządzeń przenośnych, takich jak PocketPC. Popularność C# stale rośnie, a nieodpłatne udostępnienie przez firmę Microsoft środowiska programistycznego Visual C# Express Edition sprawiło, że coraz więcej twórców oprogramowania wykorzystuje je w swojej pracy.
Książka "Wstęp do programowania w języku C#" to podręcznik przeznaczony dla tych, którzy chcą poznać ten język od podstaw. Czytając ją, poznasz możliwości C# i platformy .NET. Nauczysz się tworzyć własne aplikacje, korzystając ze środowiska Visual C# Express Edition. W książce znajdziesz omówienie składni i elementów języka C#, wyjaśnienie zasad programowania obiektowego i sposobów realizacji różnych zadań programistycznych. Napiszesz aplikacje dla Windows wykorzystujące biblioteki klas .NET i obsługujące pliki w formacie XML.
* Konstrukcja platformy .NET
* Składnia C#
* Elementy języka
* Programowanie obiektowe
* Obsługa zdarzeń
* Korzystanie z tablic i kolekcji
* Obsługa wyjątków
* Biblioteka Windows Forms
* Stosowanie komponentów .NET
* Operacje na plikach i strumieniach
* Obsługa formatu XML
CorelDraw to jedna z najdłużej rozwijanych i najpopularniejszych aplikacji graficznych. Każda kolejna wersja wprowadza ulepszenia i nowe możliwości. Po piętnastu latach od pojawienia się pierwszej wersji programu, wprowadzono na rynek jedenastą edycję CorelDRAW.
Książka "CorelDraw 11. Vademecum profesjonalisty" jest pozycją przeznaczoną dla grafików i ilustratorów, którzy chcą wykorzystać potężne możliwości tego programu w swojej codziennej pracy. Dzięki doświadczeniu Steve"a Baina dokładnie poznasz aplikację i i będziesz mógł wykorzystać setki wskazówek, które nauczą Cię uzyskiwać wspaniałe rezultaty.
Tom pierwszy przedstawia podstawowe zasady działania CorelDRAW i podstawy tworzenia grafiki wektorowej:
* Interfejs CorelDraw 11; dostosowywanie go do własnych potrzeb
* Praca z plikami i szablonami
* Pomocnicze narzędzia rysunkowe, linijki, siatka i prowadnice
* Zaznaczanie, przemieszczanie i przekształcanie obiektów
* Tworzenie kształtów podstawowych i rysowanie linii; krzywe B
Programowanie w języku C jest czymś więcej niż tylko wprowadzaniem kodu zgodnego z regułami składni; styl i wykrywanie błędów odgrywają równie istotną rolę w procesie tworzenia oprogramowania. Istotnie przyczyniają się do prawidłowego działania programów oraz ułatwiają ich konserwację. W książce omówiono więc nie tylko działanie języka C, ale również cały proces tworzenia programu w tym języku (uwzględniając założenia projektowe programu, kodowanie, metody wykrywania błędów, dokumentację, konserwację oraz aktualizację).
Wbrew powszechnemu przekonaniu większość programistów nie spędza całego swojego czasu przy pisaniu kodu. Poświęcają oni wiele czasu na wprowadzanie zmian i poprawek do aplikacji napisanych przez kogoś innego. Po przeczytaniu tej książki będziesz w stanie tworzyć programy, z którymi inni programiści nie będą musieli staczać bojów. Posiądziesz również umiejętność analizowania kodu napisanego przez innego programistę.
Książka "Język C. Programowanie" omawia także popularne zintegrowane środowiska programistyczne dla systemu Windows (Borland C++, Turbo C++ oraz Microsoft Visual C++) oraz narzędzia programistyczne dla systemu UNIX (cc i gcc). Zawarto w niej również kod programu generującego statystyki, który ma za zadanie zademonstrowanie zagadnień omówionych w książce. Książka jest przeznaczona dla osób, które nie miały dotąd doświadczenia w programowaniu oraz dla programistów znających już język C, a pragnących poprawić swój styl i czytelność tworzonego kodu. Jeśli chcesz sprawnie posługiwać się C, "Język C. Programowanie" to idealny podręcznik dla Ciebie.
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
Język C++ od czasu jego zdefiniowania przez Bjarne Stroustrupa był kilkakrotnie uaktualniany w latach 80. i 90. XX wieku. Chociaż C++Builder nie jest dokładnym odzwierciedleniem standardu ANSI języka C++, to obecna jego wersja przygotowana przez firmę Borland jest stabilna i zgodna z oczekiwaniami programistów. Borland C++Builder stanowi połączenie nowoczesnego języka programowania, jakim jest C++, biblioteki komponentów wizualnych VCL/CLX oraz zintegrowanego środowiska programisty IDE.
"C++Builder. Kompendium programisty" omawia podstawy programowania w C++ ze szczególnym uwzględnieniem możliwości oferowanych przez kompilator Borland C++Builder. Poznasz więc nie tylko sam język, ale nauczysz się pisać w nim wydajne i przenośne aplikacje, działające zarówno w środowisku linuksowym, jak i w Windows.
Omówione zagadnienia obejmują:
* Opis zintegrowanego środowiska programisty C++Buildera
* Podstawy języka C++
* Wczesne oraz późne wiązanie -- wstęp do programowania zorientowanego obiektowo
* Możliwości C++Buildera w zakresie posługiwania się tablicami różnego typu
* Zaawansowane operatory rzutowania typów
* Informacje czasu wykonania
* Obsługę wyjątków
* Obsługę plików
* Łańcuchy ANSI
* Zmienne o typie modyfikowalnym w czasie wykonywania programu
* Funkcje FPU i systemowe
* Elementy wielowątkowości -- wykorzystanie C++ oraz C++Buildera w nowoczesnych, wielowątkowych systemach operacyjnych
* Liczby pseudolosowe i konwersje wielkości liczbowych
* Wprowadzenie do grafiki
* Komponentowy model C++Buildera i biblioteki DLL
* Biblioteka CLX -- projektowanie aplikacji przenośnych pomiędzy systemami operacyjnymi Windows i Linux
C++Builder Borland Developer Studio 2006. Kompendium programistyWydawnictwo Helion
Jeden z najnowszych produktów firmy Borland, C++Builder Borland Developer Studio 2006, to połączenie nowoczesnego języka programowania, jakim jest C++, biblioteki komponentów wizualnych, zintegrowanego środowiska programistycznego oraz narzędzi służących do modelowania oprogramowania. Pomimo że zaimplementowana w C++Builder wersja języka C++ nie jest dokładnym odzwierciedleniem standardu ANSI, środowisko to zyskało duże uznanie wśród najlepszych programistów, doceniających jego uniwersalność i stabilność.
Książka "C++Builder Borland Developer Studio 2006. Kompendium programisty" przedstawia zasady programowania w języku C++ z wykorzystaniem narzędzia C++Builder 2006. Opisuje zarówno samo środowisko, jak i poszczególne elementy języka. Dzięki niej nauczysz się korzystać z języka UML używanego do projektowania aplikacji oraz dowiesz się, jak realizować projekty, wykorzystując język C++. Poznasz także nowoczesne metodologie tworzenia oprogramowania za pomocą narzędzi typu RAD.
* Środowisko C++Builder Borland Developer Studio 2006
* Podstawy języka UML
* Korzystanie z biblioteki STL
* Obsługa wyjątków
* Operacje na systemie plików
* Programowanie wielowątkowe
* Komponenty
* Programowanie grafiki
Poznaj potęgę języka C++i zdobądź szczególne umiejętności programowania.
Wzorce projektowe są modelami gotowych rozwiązań problemów programistycznych, przed jakimi często stają twórcy oprogramowania. Dzięki nim nie musimy ponownie "wymyślać koła". Dysponując wzorcami projektowymi, jesteśmy w stanie szybciej i efektywniej zbudować aplikację, ponieważ koncentrujemy się na samej implementacji algorytmu, a nie na jego opracowaniu. Najczęściej stosowane, klasyczne już, 23 wzorce projektowe opracowane przez twórców notacji UML implementowano już w wielu językach programowania. Jak sprawdzą się w połączeniu z jedną z najnowszych technologii, jaką jest .NET?
"C#. Wzorce projektowe" to kompletny przewodnik po wzorcach projektowych w C# i środowisku .NET. Przedstawia sposoby wykorzystania obiektowych cech języka C# i tworzenia eleganckiego kodu poprzez zastosowanie wzorców projektowych oraz korzystanie z ogromnych możliwości oferowanych przez biblioteki klas FCL dla środowiska Microsoft .NET. Wszystkie przedstawione w książce wzorce projektowe zostały zilustrowane przykładami kodu oraz diagramami UML, co ułatwia ich zrozumienie oraz zastosowanie w praktyce.
* Podstawowe wiadomości o wzorcach projektowych
* Interfejsy i klasy abstrakcyjne
* Wzorce interfejsów
* Wzorce odpowiedzialności
* Wzorce konstrukcyjne
* Wprowadzenie do operacji
* Wzorce operacji
* Wzorce rozszerzeń
* Wzorce rozszerzające
Poznaj zastosowanie wzorców projektowych
i wykorzystaj je w swojej pracy.
Umiejętność tworzenia aplikacji dla platformy .NET coraz częściej pojawia się na liście wymagań stawianych kandydatom do pracy na stanowisku programisty. Popularność języków programowania związanych z tą platformą stale rośnie. C#, jeden z najczęściej wykorzystywanych języków platformy .NET, doczekał się już wersji 2.0. Pojawiły się w niej elementy wyraźnie wskazujące kierunek rozwoju platformy. Dla programistów, którzy chcą poznać możliwości nowej wersji C#, Microsoft przygotował doskonałe narzędzie -- środowisko programistyczne Visual C# 2005 Express Edition.
Książka "Visual C# 2005 Express Edition. Od podstaw" jest doskonałym podręcznikiem dla osób zamierzających tworzyć aplikacje z wykorzystaniem języka C# oraz platformy .NET 2.0. Przedstawia zasady korzystania ze środowiska Visual C# 2005 Express Edition, opisuje możliwości języka C# oraz komponenty platformy .NET i związane z nią technologie. Zawiera informacje na temat tworzenia aplikacji konsolowych i "okienkowych", łączenia ich z bazami danych oraz korzystania z bibliotek Win API.
* Komponenty platformy .NET 2.0
* Podstawowe elementy języka C# 2.0
* Programowanie obiektowe w C# 2.0
* Tworzenie okien dialogowych i menu
* Usuwanie błędów z aplikacji
* Wywoływanie funkcji Win API
* Obsługa zdarzeń w aplikacjach
* Implementacja mechanizmu "przeciągnij i upuść"
* Komunikacja z bazami danych za pomocą ADO.NET
Poznaj możliwości platformy .NET 2.0
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...]
Odkryj potencjał systemu Windows XP
Windows XP jest pełny nowych funkcji. Nie wszystkie z nich są udokumentowane i opisane. Kiedy pozna się podstawy jego obsługi, nadchodzi czas na opanowanie zaawansowanych możliwości i odkrycie tych, które przy pierwszym kontakcie są niewidoczne.
Sprawna praca z komputerem wymaga nie tylko opanowania funkcji systemu operacyjnego, ale również poznania innych, szybszych sposobów korzystania z nich. Często jednak trudno samodzielnie znaleźć rozwiązanie niektórych problemów. W takich sytuacjach przydaje się ilustrowany przewodnik, przedstawiający sposoby wykonania zadań.
W książce "Windows XP PL. 100 najlepszych sztuczek i trików" znajdziesz przejrzyście zilustrowane instrukcje wykonania 100 zadań. Pozwolą one odkryć nieznane możliwości systemu i zawierają sztuczki, które gwarantują, że praca z systemem Windows XP stanie się bardziej wydajna.
* Poprawa efektywności pracy z plikami i folderami
* Dostosowanie wyglądu pulpitu do własnych przyzwyczajeń
* Poprawa wydajności systemu
* Kopiowanie zdjęć z aparatu cyfrowego
* Nagrywanie płyt CD
* Rozwiązywanie problemów z systemem operacyjnym
* Przeglądanie stron WWW, korzystanie z poczty elektronicznej i faksu
Kompendium wiedzy o architekturze komputerów PC
Znajomość architektury współczesnych komputerów PC to wiedza niezbędna serwisantom, programistom i projektantom urządzeń współpracujących z komputerami. Przyda się także każdemu użytkownikowi komputera, który chciałby samodzielnie znaleźć przyczyny nieprawidłowego działania swojego sprzętu, czy też po prostu dowiedzieć się, jak działa pecet. Informacje o poszczególnych komponentach komputera są, niestety, trudno dostępne i rozproszone w wielu dokumentach, specyfikacjach i schematach. Konieczność przeszukiwania tysięcy dokumentów dość skutecznie zniechęca wielu żądnych wiedzy użytkowników komputerów.
Książka "Anatomia PC. Wydanie IX" to kompletne opracowanie, zawierające wyczerpujące informacje o architekturze komputerów PC i ich komponentów. Najnowsze wydanie tej klasycznej i cieszącej się ogromną popularnością pozycji jest, podobnie jak poprzednie wydania, prawdziwą skarbnicą wiedzy dotyczącej współczesnych pecetów opisuje zarówno rozwiązania klasyczne, jak i nowości z ostatnich miesięcy. Dzięki książce rozwiążesz wszystkie problemy ze sprzętem, zdiagnozujesz usterki i zaprojektujesz urządzenia poprawnie współpracujące z komputerem.
"Anatomia PC. Wydanie IX" opisuje następujące zagadnienia:
* Mikroprocesory z rodziny x86 wraz z najnowszymi Intel 4 Extreme Edition, koprocesory i rozszerzenia, takie jak: MMX, 3DNow, SSE, SSE2, SSE3 i HT
* Architektury komputerów PC XT, AT, 386, 486 i Pentium, systemów jedno- i wieloprocesorowych oraz komputerów przenośnych
* Układy pamięciowe stosowane w komputerach PC: SIMM, DRAM, SDRAM, DDR oraz obsługa pamięci
* Chipsety Intel, VIA, SiS, i865/875, obsługa przerwań, magistrala PCI i kanał DMA
* Obsługa stacji dyskietek i dysków twardych - organizacja i odczyt danych, praca kontrolera, macierze RAID
* Złącza ATA, SCSI i FireWire
* Karty grafiki, przetwarzanie obrazu, kompresja MPEG, generowanie grafiki 3D i magistrala AGP
* Obsługa klawiatury
* Złącze szeregowe, równoległe, USB i IrDA
* System oszczędzania energii
* Nośniki optyczne
* Karty dźwiękowe
* Sieci i BlueTooth
* Zasilacze awaryjne
* BIOS
Dodatkowo książka zawiera informacje o diagnozowaniu usterek komputera za pomocą Linuksa, opisy mikroprocesorów firm Intel, AMD i Cyrix, w tym najnowszych jednostek 64-bitowych oraz serii Intel Extreme Edition. Znajdują się w niej także adresy witryn internetowych producentów sprzętu i oprogramowania diagnostycznego.
C++ jest obecnie wiodącym językiem programowania obiektowego. Jego podstawowymi zaletami w stosunku do innych języków obiektowych jest wysoka efektywność i uniwersalność. Stosowany jest do tworzenia komercyjnego oprogramowania oraz efektywnych rozwiązań złożonych problemów.
Książka krok po kroku omawia wszystkie właściwości języka i wyjaśnia sposoby ich praktycznego użycia. Przedstawione przykłady programów nie są zbyt skomplikowane, by nie odrywać Twojej uwagi od omawianych zagadnień, ale nie są też sztucznie uproszczone. Kluczowym założeniem języka C++ jest programowanie z wykorzystaniem szablonów, które umożliwiają tworzenie rozwiązań o wysokim poziomie ogólności - na przykład implementację polimorfizmu. Nicolai Josuttis omawia możliwość łączenia szablonów z programowaniem obiektowym, która decyduje o potężnych możliwościach języka C++ jako narzędzia tworzenia wydajnych programów. W tym zakresie książka wykracza daleko poza podstawy.
* Wprowadzenie do C++ i programowania obiektowego
* Podstawowe pojęcia języka C++
* Programowanie klas
* Dziedziczenie i polimorfizm
* Składowe dynamiczne i statyczne
* Szablony języka C++
* Szczegółowe omówienie standardowej biblioteki wejścia-wyjścia
Książka ta jest idealnym podręcznikiem umożliwiającym studiowanie języka C++ w domowym zaciszu. Prezentuje ona zagadnienia podstawowe, ale w wielu przypadkach przekracza je dostarczając prawdziwie profesjonalnej wiedzy.
Wyczerpujący, szczegółowy, praktyczny i aktualny podręcznik programowania w języku C++
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...]
Poznaj profesjonalne techniki programistyczne
C++ to jeden z najpopularniejszych języków programowania. Ma zwięzłą i elegancką składnię, czytelny i logiczny model obiektów i starannie opracowane biblioteki. Jego możliwości dają programiście niemal nieograniczoną kontrolę nad komputerem. Jednak sprawne i efektywne programowanie w C++ to prawdziwa sztuka. Wymaga staranności, dokładnego zaplanowania tworzonej aplikacji oraz wiedzy o funkcjach i mechanizmach, jakie można zastosować.
Książka "C++. Sztuka programowania" przedstawia profesjonalne sposoby tworzenia aplikacji w języku C++. Nie opisuje podstaw języka – skupia się na tworzeniu praktycznych aplikacji z wykorzystaniem profesjonalnych technik programistycznych. Wykonując zawarte w książce przykłady, rozwiążesz różne zadania programistyczne i osiągniesz biegłość w posługiwaniu się językiem C++.
* Szablony STL, biblioteki i model obiektowy języka C++
* Mechanizm odzyskiwania pamięci
* Wykorzystanie wielowątkowości w aplikacjach
* Eksperymentalne elementy języka C++
* Aplikacje internetowe w C++
* Techniki sztucznej inteligencji
* Tworzenie własnego interpretera C++
O autorze:
Herb Schildt jest autorytetem w sprawach języków C, C++, Java i C#, a także doskonałym programistą systemu Windows.
[więcej...]
Borland C++ Builder to jedno z najwygodniejszych środowisk programistycznych dla programistów C++, platforma ciesząca się dużą popularnością i mająca za sobą długą historię. W języku C++ napisano wiele aplikacji dla Windows, z których znaczna część powstała właśnie w Builderze.
"C++ Builder. Ćwiczenia" to uzupełnienie poprzedniej publikacji Wydawnictwa Helion, zatytułowanej "C++ Builder 5. Ćwiczenia praktyczne". Książka omawia zmiany, jakie wprowadzono w nowej, szóstej już wersji C++ Buildera, a także porusza wiele zagadnień, które nie znalazły się w książce traktującej o poprzedniej edycji tego programu. Informacje zostały przekazane w formie ćwiczeń z dokładnym omówieniem prezentowanego kodu źródłowego.
Znajdziesz w niej między innymi:
Zagadnienia związane z kompatybilnością pomiędzy wersjami piątą i szóstą C++ Buildera
Serię ćwiczeń przybliżających język C++
Omówienie środowiska IDE C++ Builder
Ćwiczenia z programowania w C++ z wykorzystaniem C++ Builder
Ćwiczenia z pisania aplikacji wielowątkowych
Sposoby tworzenia własnych komponentów
C++ to popularny i uniwersalny język programowania. Jednak po dłuższym stosowaniu programiści zaczynają zauważać pewne jego niedoskonałości i ograniczenia. System typów, sposób działania niektórych kompilatorów, związki pomiędzy wskaźnikami i tablicami, nieprzewidziane w standardzie zachowania obiektów statycznych i bibliotek dynamicznych to tylko niektóre z nich. Aby je obejść, należy wykorzystywać wiele bardzo zaawansowanych i nieznanych wielu programistom metod.
Książka "Język C++. Gotowe rozwiązania dla programistów" to podręcznik dla tych programistów C++, którzy zaczęli już dostrzegać ograniczenia tego języka i zastanawiają się, jak sobie z nimi poradzić. Autor pokazuje sposoby ujarzmienia złożoności języka i uzyskania pełnej kontroli nad kodem. Przedstawia najpoważniejsze wady C++ i sposoby rozwiązywania powodowanych przez nie problemów. Opisuje również metody tworzenia stabilniejszego, bardziej uniwersalnego, wydajniejszego i łatwiejszego w pielęgnacji kodu.
* Wymuszanie założeń projektowych
* Cykl życia obiektów
* Hermetyzacja zasobów, danych i typów
* Modele dostępu do obiektów
* Obsługa wątków
* Korzystanie z obiektów statycznych
* Konwersja danych i typów
* Zarządzanie pamięcią
* Sterowanie działaniem kompilatora
Wszyscy programiści, niezależnie od stopnia zaawansowania, znajdą w tej książce wiadomości, które usprawnią i przyspieszą ich pracę.
Rozpocznij przygodę z programowaniem
* Poznaj elementy języka C++.
* Naucz się przetwarzać dane tekstowe i liczbowe.
* Opanuj zasady programowania obiektowego.
C++ to język programowania wykorzystywany do wielu zadań. Programiści stosują go do tworzenia aplikacji użytkowych, gier, a nawet części systemów operacyjnych. Może więc wydawać się, że opanowanie zasad programowania w tym języku przekracza możliwości przeciętnego człowieka. Tak jednak nie jest -- programowanie to nie wiedza tajemna, dostępna jedynie dla wybranych, a programiści znający C++ nie są nadludźmi. Z odpowiednią pomocą można bez kłopotów zdobyć wiedzę o wszystkich sztuczkach i ciekawostkach C++, a nauka programowania w tym języku nie powinna sprawić Ci problemów.
Książka "C++ bez obaw" może być Twoim asystentem, gdy będziesz się uczył programowania w języku C++. Dzięki niej przekonasz się, że opanowanie tej sztuki leży w Twoim zasięgu. Znajdziesz w niej omówienie elementów C++ zilustrowane praktycznymi przykładami. Dowiesz się, z czego zbudowany jest program w C++ i jak sprawić, aby kod źródłowy stał się aplikacją możliwą do uruchomienia na Twoim komputerze. Przeczytasz o przetwarzaniu danych, operacjach na plikach, sortowaniu, obliczeniach matematycznych i programowaniu obiektowym. Poznasz wiele przydatnych zagadnień związanych z tworzeniem oprogramowania.
* Struktura programu w C++
* Wyświetlanie danych na ekranie
* Typy danych
* Pętle i instrukcje warunkowe
* Korzystanie ze wskaźników
* Operacje na plikach
* Programowanie obiektowe
Poszerz swoje możliwości, programuj w języku C++
Program CorelDRAW jest znany użytkownikom komputerów już od ponad 10 lat. Co roku firma Corel publikuje jego nową wersję wzbogaconą o nowe możliwości. Do największych zalet CorelDRAW należą: łatwość obsługi, ogromna popularność oraz różnorodność zastosowań -- zarówno do celów profesjonalnych, jak i „codziennych”. Dzięki przemyślanemu układowi poleceń, posługiwanie się programem jest łatwe nawet dla osób początkujących, dlatego też jest to doskonały program dla osób, które chcą nauczyć się tworzenia rysunków wektorowych.
Książka "CorelDRAW 11. Ćwiczenia praktyczne" przeznaczona jest dla osób początkujących, które chcą poznać podstawy tworzenia grafiki wektorowej wykorzystując do tego celu właśnie CorelDRAW. Zainteresować się nią powinni także użytkownicy starszych wersji programu chcący poznać nowe możliwości udostępniane przez najnowszą edycję tej popularnej aplikacji.
"CorelDRAW 11. Ćwiczenia praktyczne" przestawia za pomocą kilkudziesięciu ćwiczeń najważniejsze funkcje CorelDraw:
* Instalację i konfigurację programu
* Tworzenie prostych obiektów, ich transformacje i grupowanie
* Formatowanie tekstu
* Wykorzystanie narzędzi „kontur i wypełnienie”
* Precyzyjne rysowanie z użyciem siatki i prowadnic
* Edycję krzywych
* Efekty specjalne
Praktyczne rozwiązania dla zaawansowanych programistów
Do tworzenia wydajnych programów nie wystarczy teoretyczna wiedza o algorytmach, strukturach danych i inżynierii oprogramowania. Istnieje pokaźna liczba sztuczek, sprytnych technik i praktycznych rozwiązań, których znajomość jest niezbędna każdemu programiście.
Niniejsza książka zawiera pokaźny zestaw technik, które pomogą zaoszczędzić sporo czasu. Techniki te zostały opracowane przez twórców kodu poszukujących eleganckich i wydajnych sposobów tworzenia lepszego oprogramowania. W "Uczcie programistów" doświadczony programista Hank Warren dzieli się z Czytelnikami znanymi sobie sztuczkami, które zgromadził wraz z imponującym doświadczeniem w dziedzinie programowania aplikacji i systemów operacyjnych. Większość z tych sztuczek jest niezwykle praktyczna, niektóre zostały przedstawione jako ciekawostki lub zaskakujące rozwiązania. Ich zestawienie stanowi niesamowitą kolekcję, która będzie pomocna nawet dla najbardziej doświadczonych programistów w rozszerzeniu ich umiejętności.
W książce opisano następujące zagadnienia:
* Obszerna kolekcja użytecznych sztuczek programistycznych
* Drobne algorytmy rozwiązujące często spotykane problemy
* Algorytmy kontroli przekroczenia ograniczeń
* Zmiana kolejności bitów i bajtów
* Dzielenie całkowite i dzielenie przez stałe
* Elementarne operacje na liczbach całkowitych
* Kod Gray"a
* Krzywa Hilberta
* Formuły wyznaczania liczb pierwszych
Niniejsza książka jest doskonałą pozycją dla wszystkich programistów, którzy mają zamiar tworzyć wydajny kod. "Uczta programistów" nauczy Cię tworzenia aplikacji wysokiej jakości -- wyższej niż wymagana na uczelniach i kursach programowania.
Poznaj nowoczesne metody tworzenia gier komputerowych
* Wykorzystaj najefektywniejsze techniki oferowane przez C++
* Popraw czytelność kodu i wydajność programów
* Zastosuj wzorce projektowe
Rynek gier komputerowych jest niezwykle wymagający. Gracze stawiają tego rodzaju programom coraz wyższe wymagania, co z kolei przekłada się na konieczność stosowania coraz doskonalszych technik ich tworzenia. Będąc programistą gier komputerowych, na pewno doskonale zdajesz sobie z tego sprawę. Jeśli chcesz, aby kolejna stworzona przez Ciebie gra spełniała oczekiwania nawet najbardziej wybrednych graczy, wykorzystaj język C++. Jego możliwości sprawiają, że jest doskonałym narzędziem do tworzenia gier.
"C++ dla programistów gier. Wydanie II" to przewodnik po języku C++ opisujący go z punktu widzenia programowania specyficznych aplikacji, jakimi są gry. Książka przedstawia najefektywniejsze techniki C++ i metody rozwiązywania problemów, przed którymi stają programiści gier. Czytając ją, dowiesz się, jak zarządzać pamięcią i stosować wzorce projektowe oraz STL. Poznasz możliwości wykorzystania języków skryptowych do usprawnienia procesu tworzenia gry komputerowej. Każde z rozwiązań opatrzone jest przykładem, dzięki czemu łatwo będzie Ci zaimplementować je w swoich pracach.
* Podstawy języka C++
* Korzystanie z szablonów
* Obsługa wyjątków
* Zarządzanie pamięcią
* Poprawa wydajności aplikacji
* Wzorce projektowe
* Biblioteka STL
* Stosowanie języków skryptowych
* Zarządzanie obiektami
* Serializacja
Dołącz do elitarnej grupy programistów gier komputerowych.
C++BuilderX to narzędzie, które ma umożliwić tworzenie aplikacji w języku C++ dla różnych platform systemowych. Na wszystkich platformach wygląd jego interfejsu jest identyczny, co bardzo ułatwia pracę. Narzędzie to, poza możliwością tworzenia aplikacji w sposób wizualny, udostępnia programistom również rozbudowany edytor kodu źródłowego oraz edytor HTML i XML. C++BuilderX staje się coraz popularniejszym środowiskiem do tworzenia aplikacji wieloplatformowych.
"C++BuilderX. Ćwiczenia" to książka dla tych, którzy chcą poznać to narzędzie i nauczyć się podstaw programowania z użyciem C++BuilderX. Dzięki zawartym w niej wiadomościom dowiesz się, jak korzystać ze środowiska wizualnego i jak stworzyć proste programy dla systemów Windows i Linux.
* Podstawy korzystania z C++BuilderX
* Podstawowe wiadomości o C++
* Aplikacje uruchamiane z poziomu konsoli
* Tworzenie aplikacji z interfejsem graficznym
* Korzystanie z różnych kompilatorów
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.
Zostań profesjonalnym programistą C#
C# jest uważany przez wielu programistów za najlepszy język stosowany do tworzenia aplikacji dla platformy .NET. Język ten, opracowany w firmie Microsoft, łączy w sobie najbardziej wartościowe cechy C++ i Javy, ścisłą integrację z komponentami .NET, wysoki poziom bezpieczeństwa i ogromne możliwości. Świetnie nadaje się do tworzenia aplikacji sieciowych i bazodanowych przeznaczonych zarówno dla systemu Windows, jak i dla urządzeń przenośnych, takich jak PocketPC. Popularność C# stale rośnie, a nieodpłatne udostępnienie przez firmę Microsoft środowiska programistycznego Visual C# Express Edition sprawiło, że coraz więcej twórców oprogramowania wykorzystuje je w swojej pracy.
Książka "Wstęp do programowania w języku C#" to podręcznik przeznaczony dla tych, którzy chcą poznać ten język od podstaw. Czytając ją, poznasz możliwości C# i platformy .NET. Nauczysz się tworzyć własne aplikacje, korzystając ze środowiska Visual C# Express Edition. W książce znajdziesz omówienie składni i elementów języka C#, wyjaśnienie zasad programowania obiektowego i sposobów realizacji różnych zadań programistycznych. Napiszesz aplikacje dla Windows wykorzystujące biblioteki klas .NET i obsługujące pliki w formacie XML.
* Konstrukcja platformy .NET
* Składnia C#
* Elementy języka
* Programowanie obiektowe
* Obsługa zdarzeń
* Korzystanie z tablic i kolekcji
* Obsługa wyjątków
* Biblioteka Windows Forms
* Stosowanie komponentów .NET
* Operacje na plikach i strumieniach
* Obsługa formatu XML
CorelDraw to jedna z najdłużej rozwijanych i najpopularniejszych aplikacji graficznych. Każda kolejna wersja wprowadza ulepszenia i nowe możliwości. Po piętnastu latach od pojawienia się pierwszej wersji programu, wprowadzono na rynek jedenastą edycję CorelDRAW.
Książka "CorelDraw 11. Vademecum profesjonalisty" jest pozycją przeznaczoną dla grafików i ilustratorów, którzy chcą wykorzystać potężne możliwości tego programu w swojej codziennej pracy. Dzięki doświadczeniu Steve"a Baina dokładnie poznasz aplikację i i będziesz mógł wykorzystać setki wskazówek, które nauczą Cię uzyskiwać wspaniałe rezultaty.
Tom pierwszy przedstawia podstawowe zasady działania CorelDRAW i podstawy tworzenia grafiki wektorowej:
* Interfejs CorelDraw 11; dostosowywanie go do własnych potrzeb
* Praca z plikami i szablonami
* Pomocnicze narzędzia rysunkowe, linijki, siatka i prowadnice
* Zaznaczanie, przemieszczanie i przekształcanie obiektów
* Tworzenie kształtów podstawowych i rysowanie linii; krzywe B
Programowanie w języku C jest czymś więcej niż tylko wprowadzaniem kodu zgodnego z regułami składni; styl i wykrywanie błędów odgrywają równie istotną rolę w procesie tworzenia oprogramowania. Istotnie przyczyniają się do prawidłowego działania programów oraz ułatwiają ich konserwację. W książce omówiono więc nie tylko działanie języka C, ale również cały proces tworzenia programu w tym języku (uwzględniając założenia projektowe programu, kodowanie, metody wykrywania błędów, dokumentację, konserwację oraz aktualizację).
Wbrew powszechnemu przekonaniu większość programistów nie spędza całego swojego czasu przy pisaniu kodu. Poświęcają oni wiele czasu na wprowadzanie zmian i poprawek do aplikacji napisanych przez kogoś innego. Po przeczytaniu tej książki będziesz w stanie tworzyć programy, z którymi inni programiści nie będą musieli staczać bojów. Posiądziesz również umiejętność analizowania kodu napisanego przez innego programistę.
Książka "Język C. Programowanie" omawia także popularne zintegrowane środowiska programistyczne dla systemu Windows (Borland C++, Turbo C++ oraz Microsoft Visual C++) oraz narzędzia programistyczne dla systemu UNIX (cc i gcc). Zawarto w niej również kod programu generującego statystyki, który ma za zadanie zademonstrowanie zagadnień omówionych w książce. Książka jest przeznaczona dla osób, które nie miały dotąd doświadczenia w programowaniu oraz dla programistów znających już język C, a pragnących poprawić swój styl i czytelność tworzonego kodu. Jeśli chcesz sprawnie posługiwać się C, "Język C. Programowanie" to idealny podręcznik dla Ciebie.
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
Język C++ od czasu jego zdefiniowania przez Bjarne Stroustrupa był kilkakrotnie uaktualniany w latach 80. i 90. XX wieku. Chociaż C++Builder nie jest dokładnym odzwierciedleniem standardu ANSI języka C++, to obecna jego wersja przygotowana przez firmę Borland jest stabilna i zgodna z oczekiwaniami programistów. Borland C++Builder stanowi połączenie nowoczesnego języka programowania, jakim jest C++, biblioteki komponentów wizualnych VCL/CLX oraz zintegrowanego środowiska programisty IDE.
"C++Builder. Kompendium programisty" omawia podstawy programowania w C++ ze szczególnym uwzględnieniem możliwości oferowanych przez kompilator Borland C++Builder. Poznasz więc nie tylko sam język, ale nauczysz się pisać w nim wydajne i przenośne aplikacje, działające zarówno w środowisku linuksowym, jak i w Windows.
Omówione zagadnienia obejmują:
* Opis zintegrowanego środowiska programisty C++Buildera
* Podstawy języka C++
* Wczesne oraz późne wiązanie -- wstęp do programowania zorientowanego obiektowo
* Możliwości C++Buildera w zakresie posługiwania się tablicami różnego typu
* Zaawansowane operatory rzutowania typów
* Informacje czasu wykonania
* Obsługę wyjątków
* Obsługę plików
* Łańcuchy ANSI
* Zmienne o typie modyfikowalnym w czasie wykonywania programu
* Funkcje FPU i systemowe
* Elementy wielowątkowości -- wykorzystanie C++ oraz C++Buildera w nowoczesnych, wielowątkowych systemach operacyjnych
* Liczby pseudolosowe i konwersje wielkości liczbowych
* Wprowadzenie do grafiki
* Komponentowy model C++Buildera i biblioteki DLL
* Biblioteka CLX -- projektowanie aplikacji przenośnych pomiędzy systemami operacyjnymi Windows i Linux
C++Builder Borland Developer Studio 2006. Kompendium programistyWydawnictwo Helion
Jeden z najnowszych produktów firmy Borland, C++Builder Borland Developer Studio 2006, to połączenie nowoczesnego języka programowania, jakim jest C++, biblioteki komponentów wizualnych, zintegrowanego środowiska programistycznego oraz narzędzi służących do modelowania oprogramowania. Pomimo że zaimplementowana w C++Builder wersja języka C++ nie jest dokładnym odzwierciedleniem standardu ANSI, środowisko to zyskało duże uznanie wśród najlepszych programistów, doceniających jego uniwersalność i stabilność.
Książka "C++Builder Borland Developer Studio 2006. Kompendium programisty" przedstawia zasady programowania w języku C++ z wykorzystaniem narzędzia C++Builder 2006. Opisuje zarówno samo środowisko, jak i poszczególne elementy języka. Dzięki niej nauczysz się korzystać z języka UML używanego do projektowania aplikacji oraz dowiesz się, jak realizować projekty, wykorzystując język C++. Poznasz także nowoczesne metodologie tworzenia oprogramowania za pomocą narzędzi typu RAD.
* Środowisko C++Builder Borland Developer Studio 2006
* Podstawy języka UML
* Korzystanie z biblioteki STL
* Obsługa wyjątków
* Operacje na systemie plików
* Programowanie wielowątkowe
* Komponenty
* Programowanie grafiki
Poznaj potęgę języka C++i zdobądź szczególne umiejętności programowania.
Wzorce projektowe są modelami gotowych rozwiązań problemów programistycznych, przed jakimi często stają twórcy oprogramowania. Dzięki nim nie musimy ponownie "wymyślać koła". Dysponując wzorcami projektowymi, jesteśmy w stanie szybciej i efektywniej zbudować aplikację, ponieważ koncentrujemy się na samej implementacji algorytmu, a nie na jego opracowaniu. Najczęściej stosowane, klasyczne już, 23 wzorce projektowe opracowane przez twórców notacji UML implementowano już w wielu językach programowania. Jak sprawdzą się w połączeniu z jedną z najnowszych technologii, jaką jest .NET?
"C#. Wzorce projektowe" to kompletny przewodnik po wzorcach projektowych w C# i środowisku .NET. Przedstawia sposoby wykorzystania obiektowych cech języka C# i tworzenia eleganckiego kodu poprzez zastosowanie wzorców projektowych oraz korzystanie z ogromnych możliwości oferowanych przez biblioteki klas FCL dla środowiska Microsoft .NET. Wszystkie przedstawione w książce wzorce projektowe zostały zilustrowane przykładami kodu oraz diagramami UML, co ułatwia ich zrozumienie oraz zastosowanie w praktyce.
* Podstawowe wiadomości o wzorcach projektowych
* Interfejsy i klasy abstrakcyjne
* Wzorce interfejsów
* Wzorce odpowiedzialności
* Wzorce konstrukcyjne
* Wprowadzenie do operacji
* Wzorce operacji
* Wzorce rozszerzeń
* Wzorce rozszerzające
Poznaj zastosowanie wzorców projektowych
i wykorzystaj je w swojej pracy.
Umiejętność tworzenia aplikacji dla platformy .NET coraz częściej pojawia się na liście wymagań stawianych kandydatom do pracy na stanowisku programisty. Popularność języków programowania związanych z tą platformą stale rośnie. C#, jeden z najczęściej wykorzystywanych języków platformy .NET, doczekał się już wersji 2.0. Pojawiły się w niej elementy wyraźnie wskazujące kierunek rozwoju platformy. Dla programistów, którzy chcą poznać możliwości nowej wersji C#, Microsoft przygotował doskonałe narzędzie -- środowisko programistyczne Visual C# 2005 Express Edition.
Książka "Visual C# 2005 Express Edition. Od podstaw" jest doskonałym podręcznikiem dla osób zamierzających tworzyć aplikacje z wykorzystaniem języka C# oraz platformy .NET 2.0. Przedstawia zasady korzystania ze środowiska Visual C# 2005 Express Edition, opisuje możliwości języka C# oraz komponenty platformy .NET i związane z nią technologie. Zawiera informacje na temat tworzenia aplikacji konsolowych i "okienkowych", łączenia ich z bazami danych oraz korzystania z bibliotek Win API.
* Komponenty platformy .NET 2.0
* Podstawowe elementy języka C# 2.0
* Programowanie obiektowe w C# 2.0
* Tworzenie okien dialogowych i menu
* Usuwanie błędów z aplikacji
* Wywoływanie funkcji Win API
* Obsługa zdarzeń w aplikacjach
* Implementacja mechanizmu "przeciągnij i upuść"
* Komunikacja z bazami danych za pomocą ADO.NET
Poznaj możliwości platformy .NET 2.0
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...]
Odkryj potencjał systemu Windows XP
Windows XP jest pełny nowych funkcji. Nie wszystkie z nich są udokumentowane i opisane. Kiedy pozna się podstawy jego obsługi, nadchodzi czas na opanowanie zaawansowanych możliwości i odkrycie tych, które przy pierwszym kontakcie są niewidoczne.
Sprawna praca z komputerem wymaga nie tylko opanowania funkcji systemu operacyjnego, ale również poznania innych, szybszych sposobów korzystania z nich. Często jednak trudno samodzielnie znaleźć rozwiązanie niektórych problemów. W takich sytuacjach przydaje się ilustrowany przewodnik, przedstawiający sposoby wykonania zadań.
W książce "Windows XP PL. 100 najlepszych sztuczek i trików" znajdziesz przejrzyście zilustrowane instrukcje wykonania 100 zadań. Pozwolą one odkryć nieznane możliwości systemu i zawierają sztuczki, które gwarantują, że praca z systemem Windows XP stanie się bardziej wydajna.
* Poprawa efektywności pracy z plikami i folderami
* Dostosowanie wyglądu pulpitu do własnych przyzwyczajeń
* Poprawa wydajności systemu
* Kopiowanie zdjęć z aparatu cyfrowego
* Nagrywanie płyt CD
* Rozwiązywanie problemów z systemem operacyjnym
* Przeglądanie stron WWW, korzystanie z poczty elektronicznej i faksu
Kompendium wiedzy o architekturze komputerów PC
Znajomość architektury współczesnych komputerów PC to wiedza niezbędna serwisantom, programistom i projektantom urządzeń współpracujących z komputerami. Przyda się także każdemu użytkownikowi komputera, który chciałby samodzielnie znaleźć przyczyny nieprawidłowego działania swojego sprzętu, czy też po prostu dowiedzieć się, jak działa pecet. Informacje o poszczególnych komponentach komputera są, niestety, trudno dostępne i rozproszone w wielu dokumentach, specyfikacjach i schematach. Konieczność przeszukiwania tysięcy dokumentów dość skutecznie zniechęca wielu żądnych wiedzy użytkowników komputerów.
Książka "Anatomia PC. Wydanie IX" to kompletne opracowanie, zawierające wyczerpujące informacje o architekturze komputerów PC i ich komponentów. Najnowsze wydanie tej klasycznej i cieszącej się ogromną popularnością pozycji jest, podobnie jak poprzednie wydania, prawdziwą skarbnicą wiedzy dotyczącej współczesnych pecetów opisuje zarówno rozwiązania klasyczne, jak i nowości z ostatnich miesięcy. Dzięki książce rozwiążesz wszystkie problemy ze sprzętem, zdiagnozujesz usterki i zaprojektujesz urządzenia poprawnie współpracujące z komputerem.
"Anatomia PC. Wydanie IX" opisuje następujące zagadnienia:
* Mikroprocesory z rodziny x86 wraz z najnowszymi Intel 4 Extreme Edition, koprocesory i rozszerzenia, takie jak: MMX, 3DNow, SSE, SSE2, SSE3 i HT
* Architektury komputerów PC XT, AT, 386, 486 i Pentium, systemów jedno- i wieloprocesorowych oraz komputerów przenośnych
* Układy pamięciowe stosowane w komputerach PC: SIMM, DRAM, SDRAM, DDR oraz obsługa pamięci
* Chipsety Intel, VIA, SiS, i865/875, obsługa przerwań, magistrala PCI i kanał DMA
* Obsługa stacji dyskietek i dysków twardych - organizacja i odczyt danych, praca kontrolera, macierze RAID
* Złącza ATA, SCSI i FireWire
* Karty grafiki, przetwarzanie obrazu, kompresja MPEG, generowanie grafiki 3D i magistrala AGP
* Obsługa klawiatury
* Złącze szeregowe, równoległe, USB i IrDA
* System oszczędzania energii
* Nośniki optyczne
* Karty dźwiękowe
* Sieci i BlueTooth
* Zasilacze awaryjne
* BIOS
Dodatkowo książka zawiera informacje o diagnozowaniu usterek komputera za pomocą Linuksa, opisy mikroprocesorów firm Intel, AMD i Cyrix, w tym najnowszych jednostek 64-bitowych oraz serii Intel Extreme Edition. Znajdują się w niej także adresy witryn internetowych producentów sprzętu i oprogramowania diagnostycznego.
Poznaj możliwości komputerów przenośnych
Kończy się epoka notesów, kalendarzy, żółtych karteczek i notatek na kawiarnianych serwetkach. Rozwój technologii informacyjnej spowodował, że dzisiaj wszystkie te "pamięci podręczne" zastępuje jedno urządzenie wielkości portfela. Co więcej -- za pomocą tego urządzenia możemy również wysłać i odebrać pocztę elektroniczną, przeglądać strony WWW, napisać i wydrukować tekst, sporządzić szybkie zestawienie wydatków, a w wolnej chwili -- zagrać w pasjansa. Tym urządzeniem jest kieszonkowy komputer -- Pocket PC. Dzięki niemu w każdej chwili mamy dostęp do kalkulacji, umów, raportów i innych danych, które mogą okazać się przydatne wtedy, kiedy najmniej się tego spodziewamy.
Książka "Pocket PC" jest propozycją dla tych, którzy chcą poznać wszystkie możliwości drzemiące w urządzeniu noszonym w kieszeni. Opisuje podstawy obsługi Pocket PC, sposoby wykorzystania go jako notatnika i terminarza, możliwości jego systemu operacyjnego i aplikacji zapisanych w jego pamięci.
* Korzystanie z Pocket PC
* Interfejs systemu operacyjnego
* Wprowadzanie tekstu
* Łączenie Pocket PC z komputerem i synchronizacja danych
* Zarządzanie kontaktami
* Terminy i notatki
* Pocket Word i Pocket Excel
* Korzystanie z internetu i poczty elektronicznej
* Przeglądanie plików multimedialnych
* Nakładki spolszczające
* Przegląd oprogramowania dla Pocket PC
Cyberprzestępczość. Jak walczyć z łamaniem prawa w SieciWydawnictwo Helion
Jak walczyć z łamaniem prawa w Sieci
* Dowiedz się, jak działają cyberprzestępcy
* Naucz się zabezpieczać dowody przestępstw
* Poznaj aspekty prawne cyberprzestępczości
Jeszcze całkiem niedawno termin "cyberprzestępczość" kojarzył się wyłącznie z powieściami, filmami i grami komputerowymi o tematyce science-fiction. Dziś cyberprzestępczość to coś, z czym spotykamy się niemal codziennie. Wirusy, dialery, włamania do sieci korporacyjnych, nielegalne kopiowanie oprogramowania i danych to przejawy cyberprzestępczości, które stały się powszechne. Rozpowszechnienie internetu i możliwość zachowania w nim anonimowości tworzą idealne warunki dla wszystkich, którzy chcą wykorzystać komputer niezgodnie z prawem.
"Cyberprzestępczość. Jak walczyć z łamaniem prawa w Sieci" to książka przeznaczona zarówno dla informatyków, jak i dla przedstawicieli prawa. Pokazuje, w jaki sposób można zabezpieczyć się przed atakami komputerowych przestępców, jak z nimi walczyć i jak zapobiegać szerzeniu się cyberprzestępczości. Dzięki niej informatycy zrozumieją aspekty prawne walki z komputerowymi przestępcami, a pracownicy wymiaru sprawiedliwości dowiedzą się, w jaki sposób działają ci, których ścigają.
W książce opisano:
* Historię cyberprzestępczości
* Aspekty psychologiczne walki z cyberprzestępczością
* Podstawy działania komputerów i sieci komputerowych
* Techniki włamań do sieci i ataków na serwery sieciowe
* Sposoby zapobiegania cyberprzestępstwom
* Metody zabezpieczania danych
* Techniki wykrywania cyberprzestępstw i zabezpieczania ich dowodów
* Podstawy prawne oskarżenia o cyberprzestępstwo
Photoshop od dawna cieszy się zasłużoną sławą najlepszego narzędzia do edycji grafiki bitmapowej. Mnogość jego funkcji powoduje, że wykorzystują go fotograficy, plastycy, projektanci stron WWW i projektanci publikacji drukowanych -- przedstawiciele wszystkich zawodów związanych w jakikolwiek sposób z grafiką komputerową, poligrafią czy fotografią -- tak cyfrową, jak i konwencjonalną. Możliwości Photoshopa doceniają zarówno amatorzy, jak i profesjonaliści.
Jeśli stawiasz pierwsze kroki w grafice komputerowej i chcesz poznać tajniki Photoshopa CS, potrzebujesz takiej książki, jaką właśnie trzymasz w ręce. ABC Photoshopa CS opisuje wszystkie podstawowe zagadnienia dotyczące pracy z najnowszą wersją Photoshopa. Jeżeli pasjonujesz się fotografią, wyposażenie programu w cała gamę narzędzi, filtrów i funkcji sprawi, że używając go, poczujesz się jak w studiu fotograficznym. Prosty i przystępny język, w jakim została napisana, ułatwi Ci poznanie tego narzędzia.
Nauczysz się:
* Otwierać, zapisywać i tworzyć nowe dokumenty
* Skalować, obracać i kadrować dokument
* Posługiwać się narzędziami zgromadzonymi w przyborniku
* Korzystać z palet
* Dobierać właściwe modele kolorów, definiować kolory i modyfikować kolorystykę obrazka
* Pracować na warstwach
* Korzystać z narzędzi malarskich
* Stosować ścieżki i kształty
* Wprowadzać tekst do dokumentu
* Wykorzystywać filtry do modyfikowania obrazka
Zobacz, jakie możliwości oferuje nowy Photoshop CS
Historia pościgu za Kevinem Mitnickiem
O Kevinie Mitnicku słyszał chyba każdy, kto choć trochę interesuje się komputerowym podziemiem -- światem hakerów, włamań i pościgów w cyberprzestrzeni. Kevin, znany w tym świecie jako Kondor jest prawdziwą legendą -- jego dokonania są niedoścignionym wzorem dla wielu jego naśladowców. Historia jego działalności, poszukiwania go przez służby federalne, ucieczek, włamań i walki z cyberdetektywami przypomina doskonały film akcji mimo, iż zdarzyła się naprawdę.
Książka "Ścigany. Rozmowy z Kevinem Mitnickiem" przedstawia świat Kevina Mitnicka -- najbardziej poszukiwanego przez FBI hakera, żyjącego w ciągłym biegu i zagrożeniu. Wiosną 1994 roku autor zaczął odbierać telefony od Kevina. Mitnick dzwonił do niego, relacjonując mu kolejne dni swojego życia, przedstawiając mu motywy swojego działania. Autor rozpoczął prywatne śledztwo badając również motywy kierujące ludźmi stojącymi po drugiej stronie -- informatorami i agentami FBI, prokuratorami, pracownikami działów bezpieczeństwa, hakerami, szeryfami federalnymi i wieloma innymi. Wynikiem tych rozmów jest doskonała książka przedstawiające historię pościgu za Kevinem i ujawniająca nieznane aspekty działania amerykańskiego wymiaru sprawiedliwości i mediów.
Przeciwnik Kevina -- Tsutomu Shimomura prawie nie sypiał przez sto lub więcej godzin, skacząc od jednego punktu w internecie do drugiego, naradzając się z Asystentem Prokuratora i agentami FBI, odnotowując włamania w sieci, porównując wzory natężenia ruchu w sieciach telefonicznych, zakładając pułapki i tropiąc ślady. Pościg trwał wciągając w swój wir coraz więcej osób. W końcu: "...agenci FBI i ludzie z wydziału pościgowego pukają do mieszkania numer 202, mija dziesięć minut... najbardziej poszukiwany haker w całej cyberprzestrzeni otwiera drzwi...".
Windows XP to najnowsza i najbardziej niezawodna wersja systemu Windows. Jest rezultatem połączenia serii systemów przeznaczonych dla firm (Windows NT i 2000) z systemami skierowanymi do użytkowników domowych (Windows 95, 98 i Me). Windows XP łączy w sobie dużą stabilność pracy z nowym, atrakcyjnym wizualnie interfejsem. Jednak zaawansowani użytkownicy, którzy pragną przejąć pełną kontrolę nad działaniem systemu, napotkają podobne problemy jak przy poprzednich edycjach systemów z tej rodziny. Windows XP nie jest tu wyjątkiem.
"100 sposobów na Windows XP PL" to zbiór sztuczek, technik i narzędzi, które pozwolą Ci dostosować Windows XP do swoich potrzeb. Dowiesz się, jak używać Panel sterowania, tworzyć własne ikony, usuwać niepotrzebne składniki systemu, blokować niechciane reklamy, edytować pliki cookies, przyspieszać pobieranie plików z internetu i zabezpieczać swój system za pomocą zapory sieciowej i serwera proxy. Niezależnie od tego, czy używasz wersji Home czy Professional, znajdziesz w książce sprytne, przydatne i zabawne sztuczki dotyczące prawie każdego składnika systemu. Przydadzą się nawet, jeśli nie jesteś jeszcze zaawansowanym użytkownikiem.
Każdą wskazówkę przedstawioną w tej książce przeczytasz w ciągu kilku minut, oszczędzając czasem wiele godzin spędzonych na poszukiwaniach właściwego rozwiązania. "100 sposobów na Windows XP" to wyjątkowy zestaw bezpośrednich rozwiązań problemów, jakie stawia ten system zarówno przed początkującymi użytkownikami, jak i tymi, którzy mają duże doświadczenie i doskonale wiedzą, co chcą osiągnąć.
Wykorzystaj wskazówki profesjonalistów
i zrób doskonałe zdjęcia
Po opanowaniu podstaw fotografii cyfrowej czas na następny krok. Umiejętności fotografowania i obróbki zdjęć należy doskonalić, poznając kolejne sztuczki i techniki. Wiesz już, do czego służy balans bieli? Wiesz, jak regulować głębię ostrości? Wykorzystaj tę wiedzę i podejdź bardziej kreatywnie do fotografowania. Niech wykonane przez Ciebie zdjęcia zapadają oglądającym w pamięć.
"Fotografia cyfrowa. 100 najlepszych sztuczek i trików" to zbiór porad, dzięki którym rozwiniesz skrzydła. Nauczysz się w pełni wykorzystywać możliwości aparatu, przekonasz się, że nawet najgorsze warunki pogodowe i oświetleniowe można wykorzystać do zrobienia doskonałego zdjęcia, a jeśli mimo to zdarzy Ci się wykonać nieudane zdjęcie -- dzięki wiadomościom z tej książki poprawisz je tak, że nie będziesz musiał się go wstydzić.
* Przygotowanie aparatu i akcesoriów
* Wypracowywanie własnego stylu fotografowania
* Dobór parametrów ekspozycji
* Twórcze wykorzystywanie głębi ostrości i zróżnicowanych warunków oświetleniowych
* Korekcja i obróbka zdjęć w programie Adobe Photoshop Elements
* Drukowanie i katalogowanie zdjęć
Przekonaj się, jak bardzo możesz jeszcze pogłębić swoją wiedzę.
Stworzenie doskonałego serwisu WWW to dopiero początek drogi. Jej następnym etapem jest sprawienie, aby witryna była często odwiedzana. Nawet najbardziej efektowna i profesjonalnie przygotowana witryna WWW jest bezużyteczna, jeśli użytkownicy internetu nie wiedzą o jej istnieniu. Na popularność witryny mają wpływ różne czynniki -- szata graficzna, treść, łatwość nawigacji i odpowiednie przygotowanie jej struktury tak, aby wyszukiwarki internetowe i użytkownicy mogli odnaleźć ją w gąszczu setek tysięcy innych witryn.
Książka "Pozycjonowanie w wyszukiwarkach internetowych" zawiera informacje przydatne każdemu, kto chce spopularyzować swoją witrynę WWW. Autorka książki, doświadczona projektantka witryn internetowych, przedstawia w niej nie tylko zasady tworzenia stron wyłącznie pod kątem przeszukujących je mechanizmów, ale również pokazuje, co można zrobić, aby osoby, które odwiedziły witrynę, wracały do niej.
* Zasady projektowania witryn WWW
* Odpowiednie wykorzystanie słów kluczowych i schematów nawigacyjnych
* Dobór odpowiedniego przekazu marketingowego dla witryny
* Właściwe stosowanie JavaScript, Flasha i stylów CSS
* Sposoby pozycjonowania dynamicznych witryn WWW
* Zgłaszanie witryn do katalogów i wyszukiwarek
* Używanie statystyk do oceny popularności witryny
* Promowanie witryny bez spamowania
Jeśli projektujesz witryny internetowe lub zajmujesz się marketingiem, musisz przeczytać tę książkę. Przekonasz się, jak wiele możesz zyskać, odpowiednio wykorzystując zawartą w niej wiedzę.
Pobierz plik MP3 i posłuchaj recenzji o książce.
Każda kolejna wersja programu Photoshop firmy Adobe wywołuje wśród grafików i fotografików dreszczyk emocji. Adobe Photoshop nie jest bowiem zwykłym programem: to aplikacja, która od lat wyznacza standardy w dziedzinie komputerowego przetwarzania i przygotowania do druku obrazów bitmapowych. Można bez większej przesady powiedzieć, że Adobe tworząc Photoshopa, położyła podwaliny pod tę dziedzinę zastosowań komputera.
Książka niniejsza jest skierowana zarówno do osób, które pracowały już z wcześniejszymi edycjami Photoshopa, jak też i do nowicjuszy. Bogato ilustrowana i przystępnie napisana sprawi, że po jej lekturze będziesz sprawnie posługiwał się tym doskonałym narzędziem. Cennym uzupełnieniem są liczne ćwiczenia pozwalające sprawdzić swoją wiedzę.
Poznaj:
* Podstawy pracy z programem
* Nowości w wersji CS
* Narzędzia służące do malowania
* Edycja obrazów
* Korzystanie z warstw
* Ścieżki i kształty
* Praca z tekstem
* Mapowanie kolorów
* Tworzenie panoram
* Drukowanie obrazów
* Filtry i efekty specjalne
Sięgnij po tę książkę i przekonaj się, jak wspaniałe możliwości ma Adobe Photoshop w swojej najnowszej wersji. Mając tak zaawansowane narzędzie, granicą Twojej kreatywności będzie tylko Twoja wyobraźnia.
Poznaj swojego napastnika
Nietrudno znaleźć książkę o bezpieczeństwie komputerów -- wielu użytkowników i administratorów czuje się przytłoczonych liczbą tego rodzaju publikacji. Jednak z każdym nowym programem wykorzystującym słabości systemów komputerowych wzrasta stopień wyrafinowania ataków na nie.
Każdy administrator musi być świadomy różnego rodzaju zagrożeń związanych z jego komputerem, jak np. istnienie trojanów -- niewinnie wyglądających programów szpiegowskich wysyłających informacje o poczynaniach użytkownika, wykorzystanie reinżynierii oprogramowania czy ataków z użyciem SQL.
"Strażnik bezpieczeństwa danych" mówi o tym, co najgorszego może spotkać użytkownika komputera. Jej autorzy wyznają zasadę, że aby skutecznie się bronić, należy jak najlepiej zrozumieć napastnika. Obejmuje ona szeroki zakres tematów, począwszy od reinżynierii oprogramowania, poprzez ataki na systemy operacyjne, a skończywszy na socjotechnice -- wszystko po to, aby poznać wroga i przygotować się do walki.
"Strażnik bezpieczeństwa danych" jest najbardziej wyczerpującą i najbardziej aktualną książką opisującą sztukę wirtualnych wojen -- ataków wymierzonych w systemy komputerowe oraz obrony przed nimi.
Jeżeli znajdujesz się na linii frontu, broniąc swoich sieci przed atakami,
na pewno będziesz potrzebował tej książki.
O autorach:
Cyrus Peikari jest autorem kilku książek poświęconych bezpieczeństwu systemów komputerowych i często bierze czynny udział w konferencjach dotyczących tego zagadnienia. [więcej...]
Cyrus Peikari specjalizuje się w wykrywaniu włamań, zabezpieczaniu sieci i systemów oraz wykrywaniu ich słabych punktów. [więcej...]
Chyba każda sieć komputerowa na świecie była już atakowana przez hakerów. Niektóre z ataków były skuteczne, inne nie. Efekty skutecznego ataku hakerów mogą być różne -- od braku szkód, aż po utratę ważnych danych lub, co często okazuje się znacznie gorsze -- wydostanie się takich danych na zewnątrz. Co sprawia, że niektóre sieci opierają się atakom hakerów, a inne nie? Sekret tkwi w zabezpieczeniach i pracy administratora.
W książce "101 zabezpieczeń przed atakami w sieci komputerowej" każdy, kto chce zabezpieczyć swoją sieć przed niepowołanym dostępem, znajdzie niezbędną do tego wiedzę. Książka przedstawia różne rodzaje ataków, sposoby ich wykrywania i metody ochrony sieci przed nimi. Opisuje ataki na różne warstwy i elementy sieci oraz zasady korzystania z zapór sieciowych.
* Wykrywanie sniffingu i ochrona przed nim
* Skanowanie portów i IP-spoofing
* Ataki typu DoS
* Wirusy, robaki i programy szpiegujące
* Zabezpieczanie procesu logowania
* Ochrona przed atakiem przez przepełnienie bufora
* Technologie i architektury zapór sieciowych
* Systemy wykrywania ataków typu IDS
Jeśli chcesz, aby administrowana przez Ciebie sieć była bezpieczna, skorzystaj ze sposobów przedstawionych w tej książce.
Wzorce projektowe to opisy poprawnych rozwiązań problemów, na które napotkali programiści w swojej pracy. Pozwalają uniknąć pracy nad rozwiązaniem zagadnienia, które już dawno zostało rozwiązane. Jednak nawet największy zestaw wzorców projektowych jest nieprzydatny, jeśli nie wiadomo, jak zastosować je w określonym zadaniu. Wiedza o tym, że wzorzec istnieje bez umiejętności zaimplementowania go jest bezużyteczna.
Książka "J2EE. Stosowanie wzorców projektowych” zawiera nie tylko opisy wzorców, ale również sposoby ich implementacji w aplikacjach J2EE. Czytelnik znajdzie tu omówienie wzorców dotyczących wydajności, skalowalności i elastyczności aplikacji oraz wzorców ściśle związanych z tworzeniem aplikacji biznesowych. Książka przedstawia również nowe wzorce dla mechanizmów dystrybucji komunikatów i trwałości.
W książce omówiono:
* Podstawowe zasady tworzenia aplikacji biznesowych w Javie.
* Język UML jako uniwersalne narzędzie do modelowania aplikacji.
* Wzorce dla warstwy prezentacji.
* Wzorce dla warstwy logiki biznesowej.
* Wzorce komunikacji pomiędzy warstwami.
* Wzorce dystrybucji komunikatów.
* Przykłady błędnych wzorców.
Największą zaletą książki jest to, że przedstawia zastosowanie wzorców projektowych do tworzenia aplikacji biznesowych. Jeśli zajmujesz się tworzeniem aplikacji J2EE, to ta książka jest dla Ciebie lekturą obowiązkową.
Excel 2003 PL. Programowanie w VBA. Vademecum profesjonalistyWydawnictwo Helion
Excel jeszcze bogatszy, poręczniejszy i dostosowany do Twoich potrzeb
Możliwości Excela są ogromne, jednak nie zawsze w pełni odpowiadają naszym potrzebom. Najpopularniejszy obecnie arkusz kalkulacyjny zawiera także wiele interesujących funkcji ukrytych w tle i nieznanych typowemu użytkownikowi. Czy istnieje sposób na wykorzystanie ukrytych funkcji Excela oraz dostosowanie tych znanych do wymagań stawianych przez konkretne zadanie? Tak -- tym sposobem jest Visual Basic for Applications (VBA). VBA to język programowania umożliwiający tworzenie aplikacji bazujących na możliwościach innych aplikacji, w tym przypadku -- na możliwościach Excela.
Książka "Excel 2003 PL. Programowanie w VBA. Vademecum profesjonalisty" przeznaczona jest dla wszystkich użytkowników Excela, którzy chcą pogłębić swoją wiedzę o tej aplikacji i stworzyć własne, powiązane z nią, programy. Przedstawia podstawy programowania w Excelu oraz techniki zaawansowane -- wszystko, co jest związane z projektowaniem aplikacji w Excelu i programowaniem w języku VBA.
* Niezbędne wiadomości o Excelu i wykorzystywanych przez niego formatach plików
* Zasady projektowania aplikacji arkusza kalkulacyjnego
* Programowanie w języku VBA
* Tworzenie niestandardowych okien dialogowych -- formularzy UserForm
* Pisanie narzędzi dla programu Excel
* Praca z wykresami
* Programowanie obsługi zdarzeń
* Współpraca z innymi aplikacjami
* Tworzenie elementów aplikacji -- menu, pasków narzędzi i systemów pomocy
* Operacje na plikach
* Komponenty języka VBA
Niewielu użytkowników Excela jest tak naprawdę świadomych jego możliwości. Przeczytaj niniejszą książkę i dołącz do tej elitarnej grupy.
Wejdź w świat programowania w języku asemblera
* Dowiedz się, kiedy użycie asemblera jest niezbędne
* Poznaj zasady programowania w asemblerze
* Napisz szybkie i wydajne programy dla DOS-a i Windows
* Zdobądź wiedzę o zasadach działania procesora i pamięci
Uważasz, że możliwości języków programowania wysokiego poziomu nie pozwalają na napisanie programu, którego potrzebujesz? Chcesz stworzyć sterownik, program rezydentny, demo lub... wirusa? Interesuje Cię, co dzieje się w komputerze podczas wykonywania programu?
Wykorzystaj potencjał asemblera!
Programowanie w języku niskiego poziomu daje niemal nieograniczoną kontrolę nad sprzętem i działaniem aplikacji. Programy napisane w języku asemblera działają szybko, są niewielkie i zajmują mało pamięci. Są bardzo wydajne i otwierają dostęp do takich obszarów komputera, do których dostęp z poziomu C++ czy Visual Basica jest niemożliwy.
Książka "Praktyczny kurs asemblera" wprowadzi Cię w świat programowania w tym języku. Dowiesz się, jak działa procesor, w jaki sposób komunikuje się z pamięcią i pozostałymi elementami komputera. Poznasz typy rozkazów procesora, tryby adresowania i zasady tworzenia programów w asemblerze. Lepiej poznasz swój komputer i dowiesz się, w jaki sposób zapamiętuje i przetwarza dane. Komputer przestanie być dla Ciebie "czarną skrzynką" wykonującą w czarodziejski sposób Twoje polecenia.
* Podstawowe wiadomości o architekturze procesorów Intel
* Organizacja pamięci i tryby adresowania
* Omówienie listy rozkazów procesora
* Narzędzia do tworzenia programów w języku asemblera
* Struktura programu w asemblerze
* Definiowanie zmiennych
* Tworzenie podprogramów i makrorozkazów
* Wykorzystanie funkcji BIOS-a oraz MS-DOS
* Programy w asemblerze uruchamiane w systemie Windows
* Optymalizacja kodu
* Tworzenie modułów dla innych języków programowania
Po przeczytaniu tej książki przestaniesz postrzegać asemblera jako zbiór magicznych zaklęć, zrozumiałych jedynie dla brodatych guru pamiętających jeszcze czasy komputerów zajmujących powierzchnię sali gimnastycznej. Napiszesz programy, których uruchomienie nie będzie wymagało od użytkownika posiadania superkomputera. Poznasz wszystkie, nawet najgłębiej ukryte, możliwości komputera.
Microsoft Excel -- już sama nazwa wywołuje u niektórych użytkowników komputerów westchnienie rezygnacji, a czasami nawet strach. Niezależnie od tego, czy tworzona jest prosta lista i wykonywane nieskomplikowane obliczenia, czy też definiowane są skomplikowane formuły matematyczne i wielomegabajtowe arkusze kalkulacyjne, niewiele jest aplikacji, które wykonają te zadania tak, jak aplikacje niemal wszechobecnego pakietu Microsoft Office. Użyteczność nie zawsze idzie jednak w parze z łatwością używania, dlatego właśnie powstała książka "Excel. Leksykon kieszonkowy".
Pełen porad, opisów skrótów oraz instrukcji krok po kroku, ten zwięzły leksykon przedstawia sposób wykonania najważniejszych zadań realizowanych w Excelu 97, 2000, 2002 i 2003.
Curt Frye, uznany autor opisujący poszczególne aplikacje firmy Microsoft, wyjaśnia, w jaki sposób:
* tworzy się, dostosowuje, edytuje, formatuje i porusza po skoroszycie Excela
* wykonuje się operacje i obliczenia na danych oraz tworzy i przeprowadza inspekcję formuł matematycznych
* używa się Excela do tworzenia, edytowania i publikowania stron dla sieci WWW
* podsumowuje się dane przy użyciu tabel przestawnych oraz wykresów przestawnych
Początkujący użytkownicy Excela znajdą w tej książce przystępnie napisane instrukcje oraz porady ułatwiające rozpoczęcie pracy z tym niezwykle złożonym programem. Użytkownicy doświadczeni będą mogli odświeżyć sobie zapomniane już umiejętności oraz poznać mechanizmy, o których istnieniu nawet nie zdawali sobie sprawy.
Bogaty zbiór rozwiązań często spotykanych
problemów programistycznych języka Visual C++
* Poznaj środowisko tworzenia programów w Visual C++ 2005
* Naucz się składni języka Visual C++
* Wykorzystaj możliwości platformy .NET w programach w Visual C++
W kontekście programowania przy użyciu platformy .NET zwykle mówi się o językach Visual Basic i C#. Większość stron internetowych, artykułów i książek dotyczących .NET zawiera kod napisany właśnie w nich. Co mają zrobić programiści, którzy od lat używają C++ i wcale nie chcą rezygnować z jego licznych zalet? Czy jedynym wyborem jest nauka nowego języka lub pozostanie poza światem programowania dla .NET?
Książka "Aplikacje w Visual C++ 2005. Przykłady" zawiera dziesiątki krótkich zadań wraz z rozwiązaniami, dzięki którym błyskawicznie zaczniesz wykorzystywać możliwości platformy .NET w programach pisanych w języku C++. Poznasz środowisko Visual C++ 2005 Express Edition oraz podstawowe składniki aplikacji pisanych w Visual C++. Nauczysz się między innymi obsługiwać dane, przetwarzać pliki, korzystać z wątków oraz łączyć aplikacje z internetem. Dowiesz się także, jak wykonać wiele innych operacji niezbędnych w codziennej pracy programisty.
* Środowisko Visual C++ 2005 Express Edition
* Elementy aplikacji języka Visual C++
* Przetwarzanie i wyświetlanie danych
* Praca z plikami
* Używanie okien dialogowych
* Programy wielowątkowe
* Stosowanie grafiki w aplikacjach
* Tworzenie programów używających sieci
* Składnia języka Visual C++ w pigułce
Przyspiesz wykonywanie codziennych zadań programistycznych,
stosując sprawdzone rozwiązania.
C++ jest złożonym językiem o wielu subtelnych aspektach. Książka „C++. Leksykon kieszonkowy” umożliwia programistom C++ szybkie sprawdzenie sposobu użycia oraz składni najczęściej używanych konstrukcji tego języka. Na jej stronach umieszczono możliwie jak najwięcej informacji, a jej niewielki rozmiar pozwala mieć ją zawsze przy sobie. „C++. Leksykon kieszonkowy” opisuje następujące zagadnienia:
* Instrukcje języka C++ oraz dyrektywy preprocesora C++
* Przestrzenie nazw oraz zakres w C++
* Programowanie szablonowe oraz obsługa wyjątków
* Klasy oraz dziedziczenie
* Typy języka C++ oraz ich konwersje, w tym rzutowanie typów w C++
Poza spełnianiem funkcji podręcznego leksykonu dla programistów C++, książka „C++. Leksykon kieszonkowy” będzie także pomocna dla programistów języków Java oraz C, którzy przesiadają się na C++ lub tych, którzy w C++ programują od czasu do czasu. Te trzy języki są często mylące podobne. Książka ta umożliwia programistom zaznajomionym z językiem C lub Java szybkie orientowanie się w sposobie implementacji w C++.
„C++. Leksykon kieszonkowy” jest jednym z najbardziej zwięzłych i podręcznych opisów języka C++ dostępnych na rynku.
Kompendium wiedzy dla programistów aplikacji bazodanowych w C++
* Poznaj C++Builder 6 i dostępne w nim komponenty
* Stwórz model aplikacji w języku UML
* Wykorzystaj różne mechanizmy połączenia z bazą danych
C++Builder 6, mimo pojawienia się na rynku nowszej wersji tego środowiska, nadal cieszy się dużą popularnością wśród programistów. Wizualne środowisko programowania i gotowe komponenty znacznie przyspieszają proces tworzenia aplikacji. Możliwości C++Buildera 6 pozwalają na stworzenie aplikacji korzystających z różnych systemów zarządzania bazami danych, jednak proces przygotowania połączenia z bazą i manipulowania danym w niej zgromadzonymi jest inny dla każdego z nich.
Książka "C++Builder 6 i bazy danych" to podręcznik dla tych programistów i użytkowników C++Buildera 6, którzy w tworzonych przez siebie aplikacjach wykorzystują różne systemy baz danych. Opisuje środowisko C++ Builder 6, elementy języka C++ oraz metody modelowania aplikacji i tabel baz danych za pomocą języka UML, a przede wszystkim -- sposoby powiązania tworzonych aplikacji z większością dostępnych na rynku systemów zarządzania bazami danych. Przedstawia technologie ADO i ODBC, język SQL i możliwości zastosowania języka XML w aplikacjach bazodanowych.
* Komponenty środowiska C++Builder 6
* Zaawansowane techniki programowania w C++
* Korzystanie z bibliotek DLL i VCL
* Zastosowanie języka UML do tworzenia modelu aplikacji
* Praca ze środowiskiem CVS
* Elementy języka SQL
* Technologia ADO
* Połączenie aplikacji z bazą MySQL, dbExpress
* Interfejsy ODBC
* Systemy Interbase i BDE
* Język XML w bazach danych
Jeśli chcesz być przygotowany do napisania aplikacji korzystającej z dowolnej bazy danych, przeczytaj tą książkę
Dodatkowe przyklady do książki można pobrać z naszego serwera FTP.
Książka "Język C. Wskaźniki. Vademecum profesjonalisty" przeznaczona jest dla zaawansowanych studentów i profesjonalistów, zapewniając obszerne źródło informacji dla tych, którzy potrzebują dogłębnego omówienia języka C. Dokładne wyjaśnienie podstaw oraz przegląd zaawansowanych funkcji pozwala programistom skorzystać z siły wskaźników w języku C. Dokładny opis idiomów programowych oraz gruntowna dyskusja zaawansowanych tematów powoduje, że książka jest nieocenionym podręcznikiem i informatorem dla studentów i zawodowych programistów.
* Zawiera wszystko, co jest niezbędne do dogłębnego poznania języka C
* Dokładnie opisuje wskaźniki, ich składnię, techniki efektywnego użycia oraz często stosowane idiomy programistyczne, w których występują wskaźniki
* Porównuje różne metody implementacji często stosowanych abstrakcyjnych typów danych
* Zawiera wskazówki na temat efektywności, przenośności i zagadnień inżynierii programowania, jak również ostrzeżenia o często popełnianych błędach
* Oferuje prosty, konwersacyjny styl, jasno opisujący trudne tematy, zawiera wiele ilustracji i diagramów pomagających z wizualizacji skomplikowanych zagadnień
* Opisuje wszystkie funkcje z biblioteki standardowej C.
O autorze:
Kenneth A. Reek jest profesorem informatyki w Rochester Institute of Technology i doświadczonym programistą, który pracował w wielu firmach jako konsultant. Książka ta powstała po dziewięciu latach prowadzenia seminariów z programowania w C.
[więcej...]
AutoCAD jest bez wątpienia najpopularniejszym w Polsce programem typu CAD, posługuje się nim od bardzo dawna duże grono użytkowników. W trakcie pracy z Auto-CAD-em użytkownicy zdążyli już dokładnie poznać jego narzędzia, jednakże nowe wersje stają się coraz bardziej rozbudowane i oferują coraz więcej możliwości. Wersja 2004 wprowadza między innymi wiele ulepszeń palet narzędzi oraz zwiększoną funkcjonalność Centrum danych projektowych. Dostępny jest również poprawiony Malarz formatów, ExpressTools (znane z wersji 2000), wypełnienia gradientowe i wiele usprawnień dotyczących tworzenia odnośników zewnętrznych.
Ta obszerna pozycja przeznaczona jest zarówno dla początkujących użytkowników AutoCAD-a (mogą oni dzięki niej dogłębnie poznać ten wspaniały program), jak i dla tych, którzy mieli już do czynienia z poprzednimi wersjami tej aplikacji. W książce zamieszczono bardzo wiele bogato ilustrowanych przykładów pokazujących praktyczne zastosowanie omawianych narzędzi.
* Poznasz nowe możliwości AutoCAD-a wprowadzone w wersji 2004
* Poznasz interfejs AutoCAD-a, menu i paski narzędzi
* Nauczysz się otwierać i zapisywać dokumenty
* Poznasz podstawowe obiekty AutoCAD-a i ich właściwości
* Dowiesz się, jak wybierać i modyfikować obiekty
* Nauczysz się tworzyć napisy
* Zaznajomisz się z warstwami i blokami ułatwiającymi tworzenie projektów
* Poznasz Centrum danych projektowych, umożliwiające współdzielenie danych oraz ponowne wykorzystanie istniejących już rysunków lub wybranych ich elementów
* Nauczysz się wykorzystywać regiony i multilinie
* Poznasz techniki wymiarowania, modyfikowanie wymiarów i style wymiarowe
* Dowiesz się, jak modelować w przestrzeni 3D, nauczysz się pracować z bryłami ACIS
* Nauczysz się podstaw renderingu
* Skorzystasz z możliwości standardów CAD
* Połączysz swoje rysunki z danymi zawartymi w bazach danych
* Przyspieszysz swoją pracę za pomocą ExpressTools
* Poznasz podstawy AutoLispu
Książkę uzupełniają dwa CD-ROM, na których znajdziesz demonstracyjną wersję programu AutoCAD 2004, a także liczne rysunki, wykorzystane jako przykłady w tekście i oprogramowanie wspomagające prace z AutoCAD-em w wersjach demonstracyjnych i shareware.
Wypróbuj najnowszą wersję programu dla architektów
* Jak usprawnić i przyspieszyć tworzenie projektów?
* Które sztuczki i niestandardowe rozwiązania zastosować, aby osiągnąć cele z pozoru nieosiągalne?
* W jaki sposób zoptymalizować swoje niewłaściwe nawyki w pracy, aby nie utrudniały współpracy z oprogramowaniem?
Jesteś doświadczonym architektem, który chce zwiększyć swą produktywność? A może studiujesz architekturę i pragniesz szybko rozpocząć pracę nad pierwszymi projektami? Zapomnij o żmudnym i czasochłonnym korzystaniu z kalki i rapidografu. Programy do komputerowej obsługi projektowania pozwolą Ci dużo szybciej przygotowywać kompletne modele inwestycji, a przede wszystkim bez problemów wprowadzać potrzebne zmiany, które są automatycznie odwzorowywane na wszystkie elementy projektu, także na dokumentację. ArchiCAD 10 to najnowsza i najbardziej rozbudowana wersja programu używanego przez ponad 100 tysięcy architektów i projektantów budowlanych.
Książka "ArchiCAD 10" pomoże Ci szybko rozpocząć tworzenie wirtualnych projektów nawet wtedy, gdy nie masz dużego doświadczenia w pracy z komputerem. Wykonując praktyczne ćwiczenia z pierwszej części książki poznasz podstawy programu ArchiCAD 10 oraz nauczysz się przeprowadzać standardowe operacje. Opracujesz też prosty model domu, co pozwoli Ci nabrać doświadczenia umożliwiającego przygotowywanie większych projektów w przyszłości. Druga część zawiera bardziej zaawansowane informacje. Przeczytasz tu o nawykach i technikach zwiększających Twoją wydajność, a także o pułapkach i często popełnianych błędach, których powinieneś się wystrzegać.
* Środowisko i interfejs programu ArchiCAD
* Rysowanie za pomocą wprowadzania współrzędnych
* Tworzenie i używanie obiektów
* Praca z arkuszami projektów
* Projektowanie schodów
* Tworzenie kompletnych projektów
* Modele trójwymiarowe
* Grafika komputerowa i renderowanie
* Współpraca w zespole
* Dostosowywanie programu ArchiCAD do własnych potrzeb
* Słowniczek specjalistycznych pojęć
Używaj nowoczesnych rozwiązań do tworzenia kompletnych projektów.
Wizualne środowiska projektowe od dłuższego czasu cieszą się uznaniem programistów. Możliwość budowania aplikacji z gotowych komponentów, realizujących typowe funkcje, pozwala skoncentrować się na jej funkcjonalności bez potrzeby ponownego wymyślania koła. Najbardziej znanym środowiskiem tego typu jest Delphi, jednak jego producent, firma Borland, wypuścił na rynek kolejne narzędzie: C++Builder. To wizualne środowisko projektowe oparte na języku C++ pozwala tworzyć aplikacje dla platformy Win32 z wykorzystaniem komponentów VCL. W sieci dostępna jest również jego bezpłatna wersja o nazwie Turbo C++ Explorer.
"C++Builder i Turbo C++. Podstawy" to podręcznik programowania w tych środowiskach. Czytając go, nauczysz się tworzyć aplikacje w języku C++ dla systemu Windows z wykorzystaniem C++Buildera lub Turbo C++. Dowiesz się, jak zainstalować i skonfigurować środowisko programistyczne oraz jak utworzyć w nim projekt. Poznasz elementy języka C++, zasady programowania obiektowego i korzystania z komponentów VCL. Stworzysz własne komponenty i aplikacje, zaimplementujesz mechanizm przeciągania i upuszczania, a także zapiszesz dane aplikacji w rejestrze systemu Windows.
* Instalacja środowiska programistycznego
* Pierwszy projekt
* Zmienne i instrukcje w C++
* Programowanie zorientowane obiektowo
* Wyszukiwanie i usuwanie błędów w kodzie
* Komponenty VCL oferowane przez C++Buildera
* Tworzenie interfejsu użytkownika dla aplikacji
* Drukowanie
* Operacje na plikach
* Przechowywanie informacji w rejestrze systemowym
* Tworzenie własnych komponentów VCL
Poznaj nowoczesne narzędzia programistyczne.
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.
RS 232C - praktyczne programowanie. Od Pascala i C++ do Delphi i Buildera. Wy...Wydawnictwo Helion
Na uczelniach, w szkołach i biurach pojawia się coraz więcej zaawansowanych urządzeń komputerowych podłączanych przez port szeregowy. Czy koniecznie trzeba płacić wysokie stawki informatykom, aby wykorzystać pełnię możliwości tych nowoczesnych narzędzi? Na szczęście nie. Obsługa transmisji szeregowej przy użyciu standardu RS 232C może być na tyle łatwa, że uczniowie, studenci, nauczyciele, pracownicy naukowi czy inżynierowie mogą samodzielnie tworzyć potrzebne im oprogramowanie.
Dzięki książce "RS 232C -- praktyczne programowanie. Od Pascala i C++ do Delphi i Buildera. Wydanie III" także i Ty szybko nauczysz się pisać programy sterujące urządzeniami podłączanymi przez port szeregowy. Dowiesz się, jak działa transmisja asynchroniczna oraz czym jest standard RS 232C. Poznasz interfejs RS 232C dla systemu Windows i nauczysz się go używać w środowiskach programistycznych Builder i Delphi, co pozwoli Ci pisać potrzebne oprogramowanie w języku Pascal lub C++. Najnowsze, poprawione wydanie zawiera jeszcze więcej przykładów, dzięki którym błyskawicznie będziesz mógł sprawdzić nabytą wiedzę w praktyce.
* Standard RS 232C
* Transmisja asynchroniczna
* Obsługa RS 232C w systemach MS-DOS i Windows
* Wykorzystanie elementów interfejsu Windows API w środowiskach Builder i Delphi
* Testowanie programów do obsługi transmisji szeregowej
* Tworzenie aplikacji wielowątkowych
* Narzędzia graficzne
* Przykładowe aplikacje i ich analiza
* Specyfikacje najważniejszych funkcji
Błyskawiczny kurs tworzenia aplikacji WWW w języku C#
C# to całkiem nowy język programowania zaprojektowany przez firmę Microsoft. Wygląda on jak mieszanka C++ i Javy, jest jednak tak prosty jak Visual Basic. Z jego pomocą można tworzyć aplikacje WWW i programy wyposażone w graficzny interfejs użytkownika. Język ten związany jest z platformą .NET, umożliwiającą tworzenie zaawansowanych aplikacji biznesowych działających w środowisku sieciowym, w tym także z technologią budowania dynamicznych serwisów internetowych ASP.NET. Programy działające na platformie .NET można pisać w wielu językach programowania, ale wiele wskazuje na to, że właśnie C# stanie się najpopularniejszym z nich.
Książka "C# i ASP.NET. Szybki start" jest doskonałym podręcznikiem dla początkujących programistów. Jak każda pozycja z serii "Szybki start", składa się z kilkudziesięciu rozdziałów, z których każdy przedstawia kolejne kroki, które należy wykonać, by osiągnąć zamierzony cel. Dodatkową zaletę stanowią liczne ilustracje.
Opisano między innymi:
* Instalację niezbędnego oprogramowania
* Składniki języka C#
* Instrukcje warunkowe i pętle
* Pracę z ciągami znaków
* Programowanie obiektowe w C#
* Korzystanie z tablic i kolekcji
* Delegaty, zdarzenie, obsługę błędów
* Tworzenie dynamicznych serwisów WWW w języku C#
Programista chcący tworzyć zaawansowane aplikacje internetowe ma wybór pomiędzy dwoma platformami: Java 2 EE Suna i .NET Microsoftu. Jeśli wybierze tę drugą, dzięki książce "C# i ASP.NET. Szybki start" szybko będzie mógł tworzyć funkcjonalne aplikacje WWW w nowym, ekscytującym języku C#.
Nowoczesne techniki programowania i projektowania pozwalają pisać złożone aplikacje także osobom nie będącym informatykami. Pasjonatom nauk przyrodniczych przychodzi z pomocą projektowanie obiektowe: dzięki zastosowaniu gotowych obiektów mogą oni symulować komputerowo zjawiska występujące w przyrodzie. Programowanie zorientowane obiektowo wymaga przede wszystkim bardzo dokładnych opisów funkcjonalnych obiektów; szczegóły techniczne, realizatorskie i znajomość ich konstrukcji wewnętrznej nie są tu ważne.
Książka C++Builder. Symulacje komputerowe przedstawia kilkanaście programów symulujących rozmaite zjawiska występujące w przyrodzie. Programy te zostały napisane w języku C++ (użyto dialektu C++Builder Borlanda). Zastosowano w nich gotowe klasy, które możesz odnaleźć na dołączonym do książki krążku CD, można je rozbudowywać i wykorzystywać we własnych programach. Osoby zainteresowane tajnikami programowania obiektowego poznają szczegóły konstrukcji obiektów, przyrodnicy mogą pominąć bardziej techniczne fragmenty i skoncentrować się na modelowaniu zjawisk przyrodniczych.
Programy opisane w książce dotyczą:
* Widma światła białego
* Drgań i fal prostych
* Fal na wodzie i ich interferencji
* Interferencji światła
* Postrzegania głębi i geometrii 3D
* Fotografii relatywistycznej
* Algorytmów wzrostu
* Tworzenia wirtualnych przestrzeni za pomocą techniki śledzenia promieni (ray-tracing)
Programowanie obiektowe jest to jedyna technika szybkiego tworzenia aplikacji z wykorzystaniem istniejących, uniwersalnych algorytmów. Jeśli jesteś interesujesz się fizyką czy biologią, książka udowodni Ci, że nie musisz kończyć studiów informatycznych, by modelować komputerowo interesujące Cię zjawiska.
Dzięki lekturze tej książki:
* Przeniesiesz na ekran komputera złożone zjawiska fizyczne i procesy biologiczne
* Poznasz tajemnice kreowania wirtualnych, trójwywmiarowych przestrzeni
* Nauczysz się korzystać z programowania obiektowego
* Będziesz potrafił pisać złożone programy w prosty sposób, korzystając z gotowych obiektów.
AutoCAD jest bez wątpienia najpopularniejszym w Polsce programem typu CAD, posługuje się nim od bardzo dawna duże grono użytkowników. W trakcie pracy z AutoCAD-em użytkownicy zdążyli już dokładnie poznać jego narzędzia, jednakże nowe wersje stają się coraz bardziej rozbudowane i oferują coraz więcej możliwości. Wersja 2004 PL wprowadza między innymi wiele ulepszeń palet narzędzi oraz zwiększoną funkcjonalność Centrum danych projektowych. Dostępny jest również poprawiony Malarz formatów, ExpressTools (znane z wersji 2000), wypełnienia gradientowe i wiele usprawnień dotyczących tworzenia odnośników zewnętrznych.
Ta obszerna pozycja przeznaczona jest zarówno dla początkujących użytkowników AutoCAD-a (mogą oni dzięki niej dogłębnie poznać ten wspaniały program), jak i dla tych, którzy mieli już do czynienia z poprzednimi wersjami tej aplikacji. W książce zamieszczono bardzo wiele bogato ilustrowanych przykładów pokazujących praktyczne zastosowanie omawianych narzędzi.
* Poznasz nowe możliwości AutoCAD-a wprowadzone w wersji 2004 PL
* Poznasz interfejs AutoCAD-a, menu i paski narzędzi
* Nauczysz się otwierać i zapisywać dokumenty
* Poznasz podstawowe obiekty AutoCAD-a i ich właściwości
* Dowiesz się, jak wybierać i modyfikować obiekty
* Nauczysz się tworzyć napisy
* Zaznajomisz się z warstwami i blokami ułatwiającymi tworzenie projektów
* Poznasz Centrum danych projektowych, umożliwiające współdzielenie danych oraz ponowne wykorzystanie istniejących już rysunków lub wybranych ich elementów
* Nauczysz się wykorzystywać regiony i multilinie
* Poznasz techniki wymiarowania, modyfikowanie wymiarów i style wymiarowe
* Dowiesz się, jak modelować w przestrzeni 3D, nauczysz się pracować z bryłami ACIS
* Nauczysz się podstaw renderingu
* Skorzystasz z możliwości standardów CAD
* Połączysz swoje rysunki z danymi zawartymi w bazach danych
* Przyspieszysz swoją pracę za pomocą ExpressTools
* Poznasz podstawy AutoLispu
Książkę uzupełniają dwie płyty CD-ROM, na których znajdziesz demonstracyjną wersję programu AutoCAD 2004 PL, a także liczne rysunki, wykorzystane jako przykłady w tekście i oprogramowanie wspomagające prace z AutoCAD-em w wersjach demonstracyjnych i shareware.
Wyzwól swój twórczy potencjał
-- projektuj z programem CorelDraw X3 PL
* Poznaj możliwości CorelDraw X3 PL
* Naucz się korzystać ze wszystkich dostępnych narzędzi
* Daj upust swojej kreatywności i twórz niezwykłe projekty!
CorelDraw to jeden z najbardziej znanych i lubianych programów graficznych. Słynie z łatwości obsługi i ogromnej różnorodności zastosowań. Można wykorzystywać go na wiele różnych sposobów: do projektowania plakatów i reklam, szyldów i wizytówek, tworzenia rysunków technicznych, a nawet dokumentów tekstowych. Jednak z uwagi na to, że jego działanie jest oparte na innych zasadach niż działanie konkurencyjnych programów, nauka obsługi CorelDraw wymaga trochę czasu. Jeśli chcesz skrócić go do minimum, powinieneś mieć tę książkę.
Książka "CorelDraw X3 PL. Kurs" w sposób jasny i przejrzysty wprowadzi Cię w świat CorelDraw X3 PL, czyli trzynastej już wersji programu. W tym podręczniku każde kolejne działanie -- od instalacji na dysku do używania najbardziej wyrafinowanych narzędzi -- zostało dokładnie i szczegółowo opisane oraz zobrazowane. Stąd możesz dowiedzieć się, jak otwierać i zapisywać dokumenty, dodawać i modyfikować obiekty, stosować kolorowe wypełnienia, wstawiać tekst i używać efektów specjalnych. Proponowany tu kurs pozwoli Ci swobodnie i bez żadnego problemu tworzyć świetne projekty w tym programie.
Nauczysz się:
* Instalować i uruchamiać CorelDraw X3 PL
* Otwierać, zapisywać i drukować rysunki
* Wstawiać, rysować i wypełniać kolorem obiekty
* Kopiować, modyfikować, grupować obiekty
* Wpisywać i formatować tekst
* Stosować wypełnienia i krzywe Beziera
* Używać linijek i dynamicznych prowadnic
* Wykorzystywać efekty specjalne
Książki wydawnictwa z serii "Kurs" adresowane są do początkujących użytkowników komputerów, którzy chcą w krótkim czasie nabyć praktyczne umiejętności przydatne w karierze zawodowej i codziennej pracy. Napisane przystępnym językiem i bogato ilustrowane są wspaniałą pomocą w samodzielnej nauce.
* Przeznaczone dla początkujących
* Praktyczne zadania omówione krok po kroku
* Przystępny i zrozumiały język
* Liczne ilustracje
* Idealny do samodzielnej nauki
Odkryj CorelDraw X3 PL -- i zacznij projektować z przyjemnością
Wzorce projektowe. Analiza kodu sposobem na ich poznanieWydawnictwo Helion
Opanuj zasady stosowania wzorców projektowych na praktycznych przykładach
* Dowiedz się, czym są wzorce projektowe
* Zaimplementuj wzorce we własnych programach
* Poznaj rodzaje wzorców projektowych
Wzorce projektowe to zapisane w sposób formalny sposoby rozwiązywania najczęstszych problemów, z jakimi borykają się twórcy oprogramowania stosujący języki obiektowe. Najczęściej stosowane wzorce zostały skatalogowane i przedstawione w postaci diagramów UML, jednak do poprawnego ich wykorzystywania niezbędna jest wiedza praktyczna. Przystępując do implementacji wzorca projektowego, należy poznać zakres jego zastosowania. Taką wiedzę najlepiej zdobywa się, analizując przykłady kodów źródłowych.
Dzięki książce "Wzorce projektowe. Analiza kodu sposobem na ich poznanie" poznasz wzorce w taki właśnie sposób -- badając programy, w których je zastosowano. Każdy z omawianych w książce wzorców zaprezentowany jest w oparciu o dwie implementacje szczegółowo wyjaśniające zasadę jego działania. Dzięki takim opisom wzorców opanujesz tę technologię znacznie szybciej niż w przypadku nauki teoretycznych podstaw oraz prób ich samodzielnego wdrażania we własnych aplikacjach. Unikniesz typowych błędów i dowiesz się, jak prawidłowo wykorzystywać każdy z wzorców.
* Zastosowanie wzorców projektowych
* Klasyfikacja wzorców
* Podstawowe pojęcia z dziedziny obiektowości
* Interfejsy i wzorce konstrukcyjne
* Implementacja wzorców obserwatora i fasady
* Wykorzystanie wzorców projektowych w aplikacjach bazodanowych
Książka zawiera również zestawienie najczęściej wykorzystywanych wzorców projektowych wraz z opisem ich zastosowań.
Przysłowie "kto pyta, nie błądzi" nie zawiera całej prawdy. Nie wystarczy pytać, trzeba jeszcze znajdować odpowiedzi. Książka "Programowanie w języku C. FAQ" to zbiór kilkuset odpowiedzi na najczęściej zadawane pytania na temat tego języka programowania. Z pewnością część z przedstawionych tu pytań już pojawiła się w Twojej praktyce programistycznej (pamiętasz, ile czasu straciłeś poszukując odpowiedzi?). Inne problemy dopiero się pojawią i jeśli na Twojej półce będzie ta książka, szybko znajdziesz w niej zwięzłe, ale wyczerpujące rozwiązanie często wzbogacone przykładem kodu źródłowego.
Chociaż książka żadną miarą nie powinna być traktowana jako podręcznik, z którego można nauczyć się programowania w C, z pewnością przyda się każdej osobie używającej tego języka w codziennej praktyce. Autor porusza wiele przydatnych zagadnień obejmujących szeroki zestaw tematów.
Omówiono między innymi:
* Deklaracje
* Struktury i unie
* Puste wskaźniki
* Wyrażenia
* Makroprocesor
* Alokację pamięci
* Różnice między standardami C
* Standardową bibliotekę wejścia-wyjścia
* Kwestie związane z systemami operacyjnymi
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 Thinking in C++.
Edycja polska. Tom II
KATALOG KSI¥¯EK
Autor: Bruce Eckel, Chuck Allison
KATALOG ONLINE T³umaczenie: Przemys³aw Szeremiota, Tomasz ¯mijewski
ISBN: 83-7361-409-5
Tytu³ orygina³u: Thinking in C++, Vol. 2:
ZAMÓW DRUKOWANY KATALOG Practical Programming, Second Edition
Format: B5, stron: 688
TWÓJ KOSZYK Nauka jêzyka C++ i szczegó³owe poznanie jego mo¿liwo ci to powa¿ne wyzwanie
DODAJ DO KOSZYKA nie tylko dla pocz¹tkuj¹cego, ale równie¿ dla zaawansowanego programisty.
W ksi¹¿ce Thinking in C++. Edycja polska. Bruce Eckel w doskona³y sposób
przedstawi³ podstawowe zagadnienia zwi¹zane z tym jêzykiem. Je li opanowa³e
CENNIK I INFORMACJE materia³ z tej ksi¹¿ki, mo¿esz rozpocz¹æ lekturê drugiego tomu.
Ksi¹¿ka, któr¹ trzymasz w rêce — Thinking in C++. Edycja polska. Tom II to kolejny
ZAMÓW INFORMACJE bestseller Bruce’a Eckela po wiêcony jêzykowi C++. Tym razem Bruce w typowy dla
O NOWO CIACH siebie, prosty i zrozumia³y sposób opisuje zaawansowane aspekty programowania
w C++. Dowiesz siê, jak korzystaæ z referencji, przeci¹¿ania operatorów, dziedziczenia
ZAMÓW CENNIK i obiektów dynamicznych, a tak¿e poznasz zagadnienia zaawansowane — prawid³owe
u¿ycie szablonów, wyj¹tków i wielokrotnego dziedziczenia. Wszystkie tematy opatrzone
s¹ æwiczeniami.
CZYTELNIA • obs³uga wyj¹tków
• programowanie defensywne
FRAGMENTY KSI¥¯EK ONLINE • standardowa biblioteka C++
• strumienie wej cia-wyj cia
• wzorce projektowe
• zaawansowane metody programowania obiektowego
• wspó³bie¿no æ
Kody ród³owe znajduj¹ce siê w ksi¹¿ce s¹ zgodne z wieloma kompilatorami C++.
Bruce Eckel jest prezesem MindView, Inc., firmy prowadz¹cej kursy i szkolenia zarówno
otwarte, jak i zamkniête, a tak¿e zajmuj¹cej siê doradztwem i nadzorem nad projektami
zwi¹zanymi z technologiami obiektowymi i wzorcami projektowymi. Jest autorem
ksi¹¿ek Thinking in Java oraz pierwszego tomu Thinking in C++, a tak¿e wspó³autorem
ksi¹¿ki Thinking in C#. Napisa³ tak¿e kilka innych ksi¹¿ek i ponad 150 artyku³ów.
Wydawnictwo Helion Od ponad 20 lat prowadzi wyk³ady i seminaria na ca³ym wiecie. By³ cz³onkiem
ul. Chopina 6 Komitetu Standardów C++. Zdoby³ tytu³ naukowy w dziedzinie fizyki stosowanej
44-100 Gliwice i in¿ynierii oprogramowania.
tel. (32)230-98-63
Chuck Allison jest matematykiem, pe³ni¹cym obecnie funkcjê wyk³adowcy na wydziale
e-mail: helion@helion.pl
informatyki uniwersytetu stanowego Utah Valley. Do niedawna pe³ni³ funkcjê redaktora
w magazynie C/C++ Users Journal. Jest tak¿e autorem ksi¹¿ki C&C++ Code Capsules:
A Guide for Practitioners i kilkudziesiêciu artyku³ów po wiêconych programowaniu w C
i C++. Bra³ udzia³ w tworzeniu standardu C++. Jego artyku³y i omówienia napisanych
przez niego ksi¹¿ek mo¿na znale æ w witrynie WWW www.freshsources.com.
2. Spis treści
Wstęp ............................................................................................. 11
Cele....................................................................................................................................11
Rozdziały...........................................................................................................................12
Ćwiczenia ..........................................................................................................................14
Rozwiązania do ćwiczeń.............................................................................................14
Kod źródłowy....................................................................................................................15
Obsługiwane wersje języka...............................................................................................16
Standardy językowe ..........................................................................................................17
O okładce...........................................................................................................................17
Część I Tworzenie niezawodnych systemów.................................19
Rozdział 1. Obsługa wyjątków............................................................................ 21
Tradycyjna obsługa błędów ..............................................................................................22
Wyrzucanie wyjątku..........................................................................................................24
Przechwytywanie wyjątku.................................................................................................25
Blok try .......................................................................................................................25
Obsługa wyjątków ......................................................................................................25
Zakończenie i kontynuacja .........................................................................................26
Dopasowywanie wyjątków ...............................................................................................27
Przechwytywanie dowolnych wyjątków.....................................................................29
Ponowne wyrzucanie wyjątku ....................................................................................29
Wyjątki nieprzechwycone...........................................................................................30
Czyszczenie.......................................................................................................................32
Zarządzanie zasobami.................................................................................................33
Wszystko jest obiektem ..............................................................................................34
auto_ptr .......................................................................................................................36
Bloki try na poziomie funkcji .....................................................................................38
Wyjątki standardowe.........................................................................................................39
Specyfikacje wyjątków .....................................................................................................41
Jakieś lepsze specyfikacje wyjątków? ........................................................................45
Specyfikacja wyjątków i dziedziczenie ......................................................................45
Kiedy nie u ywać specyfikacji wyjątków?.................................................................46
Bezpieczeństwo wyjątków ................................................................................................47
Programowanie z u yciem wyjątków ...............................................................................50
Kiedy unikać wyjątków?.............................................................................................51
Typowe zastosowania wyjątków ................................................................................52
Narzuty ..............................................................................................................................55
Podsumowanie ..................................................................................................................57
Ćwiczenia ..........................................................................................................................57
3. 6 Thinking in C++. Edycja polska. Tom 2
Rozdział 2. Programowanie defensywne ............................................................. 59
Asercje...............................................................................................................................61
Najprostszy system testów jednostkowych, który ma szansę zadziałać ...........................65
Automatyczne testowanie ...........................................................................................66
Szkielet TestSuite........................................................................................................70
Zestawy testowe..........................................................................................................73
Kod szkieletu testowego .............................................................................................74
Techniki usuwania błędów................................................................................................79
Makra śledzące............................................................................................................79
Plik śladu.....................................................................................................................80
Znajdowanie wycieków pamięci.................................................................................81
Podsumowanie ..................................................................................................................86
Ćwiczenia ..........................................................................................................................86
Część II Standardowa biblioteka C++...........................................91
Rozdział 3. Wszystko o łańcuchach.................................................................... 93
Czym jest łańcuch?............................................................................................................94
Tworzenie i inicjalizacja łańcuchów C++...........................................................................95
Operacje na łańcuchach.....................................................................................................98
Dodawanie, wstawianie i łączenie łańcuchów............................................................98
Podmiana znaków łańcucha......................................................................................100
Sklejanie za pomocą przecią onych operatorów spoza klasy...................................103
Szukanie w łańcuchach ...................................................................................................104
Znajdowanie od końca ..............................................................................................107
Znajdowanie pierwszego i ostatniego ze zbioru znaków..........................................109
Usuwanie znaków z łańcuchów ................................................................................111
Porównywanie łańcuchów ........................................................................................112
Łańcuchy a znaki ......................................................................................................116
Przykład zastosowania łańcuchów ..................................................................................121
Podsumowanie ................................................................................................................125
Ćwiczenia ........................................................................................................................126
Rozdział 4. Strumienie wejścia-wyjścia............................................................. 129
Po co nowa biblioteka? ...................................................................................................129
Iostream przybywa z odsieczą.........................................................................................133
Wstawianie i pobieranie............................................................................................134
Typowe zastosowania ...............................................................................................137
Dane wejściowe pobierane wierszami ......................................................................139
Obsługa błędów strumieni...............................................................................................140
Strumienie związane z plikami .......................................................................................143
Przykład przetwarzania pliku....................................................................................143
Tryby otwarcia ..........................................................................................................145
Buforowanie strumieni....................................................................................................146
Przeszukiwanie strumieni wejścia-wyjścia .....................................................................148
Strumienie powiązane z łańcuchami ...............................................................................151
Łańcuchowe strumienie wejściowe ..........................................................................152
Łańcuchowe strumienie wyjściowe ..........................................................................153
Formatowanie strumieni wyjściowych............................................................................156
Flagi formatujące ......................................................................................................156
Pola formatujące .......................................................................................................158
Szerokość, wypełnienie, dokładność ........................................................................159
Kompletny przykład..................................................................................................160
4. Spis treści 7
Manipulatory ...................................................................................................................162
Manipulatory z argumentami....................................................................................163
Tworzenie manipulatorów ........................................................................................166
Efektory.....................................................................................................................167
Przykłady wykorzystujące iostream................................................................................169
Zarządzanie kodem źródłowym biblioteki klas ........................................................169
Wykrywanie błędów kompilatora.............................................................................173
Prosty rejestrator danych...........................................................................................175
Obsługa wielu języków ...................................................................................................179
Strumienie znaków szerokich ...................................................................................179
Ustawienia lokalne....................................................................................................181
Podsumowanie ................................................................................................................183
Ćwiczenia ........................................................................................................................183
Rozdział 5. Wszystko o szablonach .................................................................. 187
Parametry szablonów ......................................................................................................187
Parametry szablonów niebędące typami...................................................................188
Domyślne argumenty szablonów..............................................................................190
Szablony jako parametry szablonów ........................................................................191
Słowo kluczowe typename .......................................................................................196
U ycie słowa kluczowego template jako wskazówki...............................................198
Szablony składowe....................................................................................................199
Szablony funkcji..............................................................................................................201
Dedukowanie typu argumentów szablonu funkcji....................................................202
Przecią anie szablonów funkcji................................................................................205
Pobieranie adresu wygenerowanej z szablonu funkcji .............................................206
Stosowanie funkcji do sekwencji STL......................................................................209
Częściowe uporządkowanie szablonów funkcji .......................................................212
Specjalizacja szablonów..................................................................................................213
Specjalizacja jawna...................................................................................................214
Specjalizacja częściowa ............................................................................................215
Przykład praktyczny..................................................................................................217
Unikanie nadmiarowego kodu ..................................................................................220
Odszukiwanie nazw.........................................................................................................224
Nazwy w szablonach.................................................................................................224
Szablony i funkcje zaprzyjaźnione ...........................................................................228
Idiomy programowania za pomocą szablonów...............................................................233
Cechy charakterystyczne ..........................................................................................233
Reguły .......................................................................................................................238
Tajemniczo powtarzający się wzorzec szablonów ...................................................240
Szablony i metaprogramowanie ......................................................................................242
Programowanie na poziomie kompilacji ..................................................................243
Szablony wyra eń .....................................................................................................251
Modele kompilacji szablonów ........................................................................................256
Model włączania .......................................................................................................256
Ukonkretnianie jawne ...............................................................................................257
Model separacji.........................................................................................................259
Podsumowanie ................................................................................................................260
Ćwiczenia ........................................................................................................................261
Rozdział 6. Algorytmy uogólnione..................................................................... 265
Algorytmy uogólnione — wprowadzenie ..........................................................................265
Predykaty ..................................................................................................................268
Iteratory strumieni.....................................................................................................270
Zło oność algorytmu ................................................................................................272
5. 8 Thinking in C++. Edycja polska. Tom 2
Obiekty funkcyjne ...........................................................................................................274
Klasyfikacja obiektów funkcyjnych .........................................................................275
Automatyczne tworzenie obiektów funkcyjnych......................................................276
Adaptowalność obiektów funkcyjnych.....................................................................279
Więcej przykładów wykorzystania obiektów funkcyjnych ......................................281
Adaptery wskaźników do funkcji .............................................................................287
Pisanie własnych adapterów obiektów funkcyjnych ................................................293
Katalog algorytmów STL................................................................................................297
Narzędzia przydatne w tworzeniu przykładów.........................................................299
Wypełnianie i generowanie sekwencji......................................................................303
Zliczanie....................................................................................................................304
Manipulowanie sekwencjami....................................................................................305
Wyszukiwanie i zastępowanie elementów................................................................310
Porównywanie sekwencji..........................................................................................316
Usuwanie elementów sekwencji ...............................................................................319
Sortowanie i operacje na sekwencjach posortowanych ............................................322
Operacje na stertach..................................................................................................331
Wykonywanie operacji na wszystkich elementach sekwencji..................................332
Algorytmy numeryczne ............................................................................................339
Narzędzia ..................................................................................................................342
Tworzenie własnych algorytmów uogólnionych ............................................................343
Podsumowanie ................................................................................................................345
Ćwiczenia ........................................................................................................................345
Rozdział 7. Kontenery...................................................................................... 351
Kontenery i iteratory .......................................................................................................351
Dokumentacja biblioteki STL...................................................................................353
Wprowadzenie.................................................................................................................353
Kontenery przechowujące ciągi znakowe.................................................................358
Dziedziczenie po kontenerach STL ..........................................................................360
Kraina iteratorów.............................................................................................................362
Iterator w kontenerach dwukierunkowych................................................................364
Kategorie iteratorów .................................................................................................365
Iteratory predefiniowane...........................................................................................367
Kontenery sekwencyjne: vector, list i deque...................................................................373
Podstawowe operacje na kontenerach sekwencyjnych .................................................373
Kontener typu vector.................................................................................................376
Kontener typu deque .................................................................................................383
Konwersja sekwencji ................................................................................................385
Kontrolowany dostęp swobodny...............................................................................387
Kontener typu list......................................................................................................388
Wymienianie całych sekwencji.................................................................................393
Kontener typu set ............................................................................................................394
Klasa iteratora słów...................................................................................................397
Szablon stack...................................................................................................................402
Szablon queue .................................................................................................................405
Kolejki priorytetowe .......................................................................................................410
Przechowywanie bitów ...................................................................................................418
Typ bitset<n> ............................................................................................................419
Typ vector<bool> .....................................................................................................422
Kontenery asocjacyjne ....................................................................................................424
Generowanie elementów i wypełnianie kontenerów asocjacyjnych ........................428
Magia kontenerów typu map ....................................................................................431
Kontener typu multimap ...........................................................................................433
Kontener typu multiset..............................................................................................436
6. Spis treści 9
Korzystanie z wielu kontenerów STL.............................................................................439
Czyszczenie kontenera wskaźników ...............................................................................442
Tworzenie własnych kontenerów....................................................................................444
Rozszerzenia biblioteki STL ...........................................................................................446
Kontenery spoza STL......................................................................................................448
Podsumowanie ................................................................................................................452
Ćwiczenia ........................................................................................................................453
Część III Zagadnienia zaawansowane .........................................457
Rozdział 8. Rozpoznawanie typu w czasie wykonania programu......................... 459
Rzutowanie w czasie wykonania.....................................................................................459
Operator typeid................................................................................................................464
Rzutowanie na pośrednie poziomy hierarchii klas ...................................................466
Wskaźniki na typ void ..............................................................................................467
RTTI a szablony........................................................................................................468
Wielodziedziczenie .........................................................................................................469
Zastosowania mechanizmu RTTI....................................................................................470
Sortownia odpadków ................................................................................................471
Implementacja i narzuty mechanizmu RTTI...................................................................475
Podsumowanie ................................................................................................................475
Ćwiczenia ........................................................................................................................476
Rozdział 9. Wielodziedziczenie ......................................................................... 479
Wprowadzenie do wielodziedziczenia ............................................................................479
Dziedziczenie interfejsu ..................................................................................................481
Dziedziczenie implementacji ..........................................................................................484
Duplikaty podobiektów ...................................................................................................489
Wirtualne klasy bazowe ..................................................................................................493
Wyszukiwanie nazw........................................................................................................502
Unikanie wielodziedziczenia...........................................................................................504
Rozszerzanie interfejsu ...................................................................................................506
Podsumowanie ................................................................................................................509
Ćwiczenia ........................................................................................................................510
Rozdział 10. Wzorce projektowe ........................................................................ 513
Pojęcie wzorca.................................................................................................................513
Wy szość kompozycji nad dziedziczeniem..............................................................515
Klasyfikacja wzorców .....................................................................................................515
Właściwości, pojęcia, wzorce ...................................................................................516
Upraszczanie pojęć..........................................................................................................516
Posłaniec ...................................................................................................................517
Parametr zbiorczy .....................................................................................................518
Singleton..........................................................................................................................519
Odmiany Singletona..................................................................................................520
Polecenie — wybór operacji ...........................................................................................524
Polecenia izolujące obsługę zdarzeń.........................................................................526
Izolowanie obiektów .......................................................................................................529
Pośrednik — dostęp do innego obiektu ....................................................................529
Stan — modyfikowanie czynności obiektu ..............................................................531
Adapter ............................................................................................................................532
Metoda szablonowa.........................................................................................................535
Strategia — dynamiczny wybór algorytmu ....................................................................536
Łańcuch odpowiedzialności — wypróbowywanie sekwencji strategii ................................537
7. 10 Thinking in C++. Edycja polska. Tom 2
Fabryki — hermetyzacja procesu tworzenia obiektu......................................................540
Fabryki polimorficzne...............................................................................................542
Fabryka abstrakcyjna ................................................................................................545
Konstruktory wirtualne .............................................................................................547
Builder — tworzenie zło onych obiektów .........................................................................552
Obserwator ......................................................................................................................558
Pojęcie klasy wewnętrznej........................................................................................561
Przykład zastosowania Obserwatora.........................................................................564
Dyspozycja wielokrotna..................................................................................................567
Wielokrotna dyspozycja z wzorcem Wizytator ........................................................571
Podsumowanie ................................................................................................................575
Ćwiczenia ........................................................................................................................575
Rozdział 11. Współbieżność............................................................................... 579
Motywacja.......................................................................................................................580
Współbie ność w języku C++.........................................................................................582
Instalacja biblioteki ZThread ....................................................................................582
Definiowanie zadań.........................................................................................................584
Klasa Thread ...................................................................................................................585
Tworzenie interfejsu u ytkownika o krótkim czasie odpowiedzi.............................587
Uproszczenie kodu z wykorzystaniem Wykonawców .............................................589
Tymczasowe zawieszanie działania wątków ............................................................592
Usypianie wątków.....................................................................................................594
Priorytety wątków.....................................................................................................595
Współdzielenie ograniczonych zasobów............................................................................597
Gwarantowanie istnienia obiektów...........................................................................597
Niewłaściwe odwołania do zasobów ........................................................................601
Kontrola dostępu.......................................................................................................603
Uproszczenie kodu z wykorzystaniem Stra ników ..................................................605
Pamięć lokalna wątku ...............................................................................................608
Zatrzymywanie zadań .....................................................................................................610
Zapobieganie kolizji odwołań do strumieni wejścia-wyjścia ...................................610
Ogród botaniczny......................................................................................................611
Zatrzymywanie zadań zablokowanych .....................................................................616
Przerwanie.................................................................................................................617
Współpraca wątków ........................................................................................................623
Oczekiwanie i nadawanie sygnałów .........................................................................623
Zale ności typu producent-konsument .....................................................................627
Rozwiązywanie problemów wielowątkowości przez kolejkowanie.........................630
Sygnalizacja rozgłoszeniowa ....................................................................................635
Zakleszczenie ..................................................................................................................641
Podsumowanie ................................................................................................................647
Ćwiczenia ........................................................................................................................649
Dodatki .......................................................................................653
Dodatek A Zalecana lektura ........................................................................... 655
Język C++........................................................................................................................655
Ksią ki Bruce’a Eckela.............................................................................................656
Ksią ki Chucka Allisona...........................................................................................657
Zaawansowane omówienia języka C++..........................................................................658
Ksią ki o wzorcach projektowych ..................................................................................660
Dodatek B Uzupełnienie .................................................................................. 661
Skorowidz...................................................................................... 667
8. Rozdział 5.
Wszystko o szablonach
Szablony C++ to zdecydowanie więcej ni „kontenery zmiennych typu T”. Wpraw-
dzie początkowo chodziło o stworzenie bezpiecznych ze względu na typy, ogólnych
kontenerów, ale we współczesnym C++ szablony słu ą te do generowania specjali-
zowanego kodu i optymalizowania wykonania programu ju na etapie kompilacji po-
przez u ycie specyficznych konstrukcji programistycznych.
W niniejszym rozdziale Czytelnik będzie mógł się praktycznie zapoznać z mo liwo-
ściami (i pułapkami) programowania za pomocą szablonów C++. Obszerniejszą
analizę odpowiednich zagadnień języka oraz pułapek znaleźć mo na w doskonałej ksią ce
Davida Vandevoorde’a i Nico Josuttisa1.
Parametry szablonów
Jak ju powiedzieliśmy w pierwszym tomie, szablony mają dwie odmiany i występują
jako: szablony funkcji i szablony klas. Jedne i drugie są w całości opisane swoimi pa-
rametrami. Ka dy parametr szablonu sam mo e być:
1. Typem (wbudowanym lub zdefiniowanym przez u ytkownika).
2. Stałą w chwili kompilacji (na przykład liczby całkowite, wskaźniki i referencje
danych statycznych; często określa się takie stałe jako parametry niebędące typami).
3. Innym szablonem.
Wszystkie przykłady z pierwszego tomu nale ą do pierwszej kategorii i takie parametry
występują najczęściej. Klasycznym przykładem prostego szablonu będącego kontenerem
jest klasa Stack (Stos). Jako kontener obiekt Stack nie dba o to, jakiego typu obiekty
zawiera; sposób przechowywania tych obiektów nie zmienia się zale nie od ich typu.
Z tego powodu mo na u yć parametru będącego typem do opisania typu obiektów prze-
chowywanych na stosie:
1
Vandevoorde i Josuttis, C++. Szablony. Vademecum profesjonalisty, Helion, 2003.
9. 188 Część II ♦ Standardowa biblioteka C++
VGORNCVGENCUU 6 ENCUU 5VCEM ]
6
10. FCVC
UKGAV EQWPV
RWDNKE
XQKF RWUJ
EQPUV 6 V
KVF
_
Konkretny typ, który w danym stosie ma być u yty, podaje się jako argument odpo-
wiadający parametrowi T:
5VCEMKPV O[5VCEM UVQU NKED EC MQYKV[EJ KPV
Kompilator u ywa obiektu Stack dostosowanego do typu int przez podstawienie int
pod T i wygenerowanie odpowiedniego kodu. Nazwa instancji klasy wygenerowanej
na podstawie tego szablonu to Stackint.
Parametry szablonów niebędące typami
Mo na te u ywać parametrów szablonów niebędących typami, o ile tylko odpowiadają
one liczbom całkowitym znanym na etapie kompilacji. Mo na, na przykład, stworzyć stos
o ustalonej wielkości, przekazując parametr niebędący typem, odpowiadający wielkości
tablicy u ytej do implementacji tego stosu:
VGORNCVGENCUU 6 UKGAV 0
ENCUU 5VCEM ]
6 FCVC=0? 0 VQ WUVCNQPC RQLGOPQ è
UKGAV EQWPV
RWDNKE
XQKF RWUJ
EQPUV 6 V
KVF
_
Podczas tworzenia instancji takiego szablonu musisz podać wartość stałą znaną pod-
czas kompilacji, która będzie u yta jako wartość parametru N:
5VCEMKPV O[(KZGF5VCEM
Wartość N jest znana ju na etapie kompilacji, więc tablica data mo e zostać umiesz-
czona na stosie, a nie w pamięci wymagającej alokowania, co mo e przyspieszyć
działanie programu dzięki uniknięciu opóźnień związanych z dynamiczną alokacją
pamięci. Zgodnie z przedstawioną wcześniej zasadą, nazwą uzyskanej w ten sposób
klasy będzie Stackint, 100. Oznacza to, e ka da kolejna wartość N powoduje
utworzenie innego typu klasy. Na przykład klasa Stackint, 99 to klasa inna ni
Stackint, 100.
Szablon klasy bitset, szczegółowo omawiany w rozdziale 7., to jedyna klasa standar-
dowej biblioteki C++, w której u ywany jest parametr szablonu niebędący typem; pa-
rametr ten określa liczbę bitów, jakie mo e przechowywać obiekt bitset. Poni szy
przykładowy generator liczb losowych u ywa obiektu bitset do śledzenia liczb tak,
aby wszystkie liczby w danym zakresie były zwracane w losowej kolejności bez po-
wtórzeń tak długo, a u yte zostaną wszystkie liczby. Poni szy przykład pokazuje
tak e przecią enie funkcji operator() w celu uzyskania składni podobnej do wywoła-
nia funkcji:
11. Rozdział 5. ♦ Wszystko o szablonach 189
%7TCPFJ
]DQT_
.QUQYG IGPGTQYCPKG NKED DG RQYVÎTG
KHPFGH 74#0A*
FGHKPG 74#0A*
KPENWFG DKVUGV
KPENWFG EUVFFGH
KPENWFG EUVFNKD
KPENWFG EVKOG
WUKPI UVFUKGAV
WUKPI UVFDKVUGV
VGORNCVGUKGAV 7RRGT$QWPF
ENCUU 7TCPF ]
DKVUGV7RRGT$QWPF WUGF
RWDNKE
7TCPF
]
UTCPF
VKOG
.QUQYQ
_
UKGAV QRGTCVQT
(WPMELC IGPGTCVQT
_
VGORNCVGUKGAV 7RRGT$QWPF
KPNKPG UKGAV 7TCPF7RRGT$QWPF QRGTCVQT
]
KH
WUGFEQWPV
7RRGT$QWPF
WUGFTGUGV
K QF PQYC
Y[E[ è DKVUGV
UKGAV PGYXCN
YJKNG
WUGF=PGYXCN TCPF
7RRGT$QWPF?
C FQ PCNGKGPKC PKGRQYVCTCNPGL YCTVQ EK
WUGF=PGYXCN? VTWG
TGVWTP PGYXCN
_
GPFKH 74#0A* `
Niepowtarzalność w klasie Urand uzyskujemy dzięki śledzeniu w zbiorze bitset
wszystkich liczb, jakie występują w zakresie (górne ograniczenie tego zakresu poda-
wane jest jako argument szablonu) i rejestrując u ycie ka dej liczby przez ustawienie
odpowiedniego bitu w strukturze used. Kiedy wszystkie liczby zostaną u yte, zbiór
bitset jest czyszczony i losowanie odbywa się od nowa. Oto prosty przykład u ycia
obiektu Urand:
%7TCPF6GUVERR
]DQT_
KPENWFG KQUVTGCO
KPENWFG 7TCPFJ
WUKPI PCOGURCEG UVF
KPV OCKP
]
7TCPF W
HQT
KPV K K
K
EQWV W
_ `
Jak jeszcze powiemy dalej, argumenty szablonów niebędące typami są wa ne w przypadku
optymalizowania obliczeń numerycznych.
12. 190 Część II ♦ Standardowa biblioteka C++
Domyślne argumenty szablonów
Parametrom szablonu klasy mo na przypisać argumenty domyślne (niedopuszczalne
jest ich stosowanie w przypadku szablonów funkcji). Tak jak w przypadku argumen-
tów domyślnych funkcji powinno się je definiować tylko raz, w pierwszej deklaracji
lub definicji widzianej przez kompilator. Kiedy jakiś argument domyślny zostanie ju
zdefiniowany, wszystkie dalsze szablony te muszą mieć wartości domyślne. Aby
pokazana powy ej klasa stosu o ustalonej wielkości była łatwiejsza w u yciu, mo na
dodać do niej argument domyślny:
VGORNCVGENCUU 6 UKGAV 0
ENCUU 5VCEM ]
6 FCVC=0? 0 VQ WUVCNQPC RQLGOPQ è
UKGAV EQWPV
RWDNKE
XQKF RWUJ
EQPUV 6 V
KVF
_
Teraz, jeśli podczas deklarowania obiektu Stack pominięty zostanie drugi argument
szablonu, wartość N domyślnie będzie równa 100.
Mo na te podać wartości domyślne dla wszystkich argumentów, ale wtedy i tak podczas
deklarowania instancji szablonu trzeba będzie u yć pustej pary nawiasów, aby kompilator
„wiedział”, e chodzi o szablon klasy:
VGORNCVGENCUU 6 KPV UKGAV 0 QDC CTIWOGPV[ FQO[ NPG
ENCUU 5VCEM ]
6 FCVC=0? 0 VQ WUVCNQPC RQLGOPQ è
UKGAV EQWPV
RWDNKE
XQKF RWUJ
EQPUV 6 V
KVF
_
5VCEM O[5VCEM TÎYPQYC PG 5VCEMKPV
Argumenty domyślne są intensywnie wykorzystywane w standardowej bibliotece C++.
Przykładowo szablon klasy vector zadeklarowany został następująco:
VGORNCVG ENCUU 6 ENCUU #NNQECVQT CNNQECVQT6
ENCUU XGEVQT
Zwróć uwagę na spację między dwoma zamykającymi nawiasami kątowymi. Dzięki niej
kompilator nie zinterpretuje tych dwóch znaków () jako operatora przesunięcia w prawo.
Z powy szej deklaracji wynika, e szablon vector tak naprawdę ma dwa argumenty: typ
przechowywanych obiektów oraz typ odpowiadający alokatorowi u ywanemu w wektorze
(więcej o alokatorach powiemy w rozdziale 7.) Jeśli drugi argument zostanie pominięty,
u yty zostanie standardowy szablon allocator sparametryzowany pierwszym parametrem
szablonu. Z deklaracji wynika te , e w kolejnych parametrach szablonów mo na u ywać
parametrów poprzednich — tutaj tak u yto parametru T.
13. Rozdział 5. ♦ Wszystko o szablonach 191
Wprawdzie w szablonach funkcji nie mo na u ywać domyślnych argumentów sza-
blonu, ale parametrów szablonów mo na u ywać jako argumentów domyślnych zwy-
kłych funkcji. Poni szy szablon funkcji sumuje elementy sekwencji:
%(WPEGHERR
KPENWFG KQUVTGCO
WUKPI PCOGURCEG UVF
VGORNCVGENCUU 6
6 UWO
6
16. D
TGVWTP KPKV
_
KPV OCKP
]
KPV C=? ]_
EQWV UWO
C C
UKGQH C UKGQH C=? GPFN
_ `
Trzeci argument sum() jest wartością początkową dla sumy elementów. Argument ten jest
pominięty, więc domyślnie wynosi T(); w przypadku typu int i innych typów wbudowa-
nych pseudokonstruktor realizuje inicjalizację zerem.
Szablony jako parametry szablonów
Trzeci rodzaj parametrów, jakich mo na u yć w szablonie, to inny szablon klasy. Mo e
to wydawać się dziwne, gdy szablony są typami, a parametry będące typami są dozwolo-
ne; jeśli jednak w kodzie szablonu jako parametr ma być u yty inny szablon, kompi-
lator musi najpierw „wiedzieć”, e parametrem jest właśnie szablon. Poni szy przy-
kład pokazuje u ycie szablonu jako parametru innego szablonu:
%6GOR6GORERR
2QMCWLG W [EKG UCDNQPW LCMQ RCTCOGVTW UCDNQPW
KPENWFG EUVFFGH
KPENWFG KQUVTGCO
WUKPI PCOGURCEG UVF
VGORNCVGENCUU 6
ENCUU #TTC[ ] Y[M [ EKæI FCLæE[ UKú RTGF W Cè
GPWO ]+0+6 _
6
26. R
GPFN
_ `
Szablon klasy Array to najzwyklejszy kontener zawierający sekwencję elementów.
Szablon Container ma dwa parametry: typ przechowywanych obiektów oraz struktu-
rę danych słu ącą do przechowywania danych. Poni szy wiersz implementacji klasy
Container wymusza poinformowanie kompilatora, e parametr Seq jest szablonem:
5GS6 UGS
Gdybyśmy nie zadeklarowali Seq jako parametru będącego szablonem, kompilator zgłosi
błąd, twerdząc, e Seq nie jest szablonem, a jako takiego go u ywamy. W funkcji main()
tworzona jest instancja szablonu Container w ten sposób, w klasie Array przecho-
wywane były liczby całkowite — zatem w tym przykładzie Seq oznacza Array.
27. Rozdział 5. ♦ Wszystko o szablonach 193
Zauwa , e w tym wypadku nie jest konieczne nazywanie parametru Seq w deklaracji
Container. Odpowiedni wiersz to:
VGORNCVGENCUU 6 VGORNCVGENCUU ENCUU 5GS
Wprawdzie moglibyśmy zapisać:
VGORNCVGENCUU 6 VGORNCVGENCUU 7 ENCUU 5GS
lecz parametr U nie jest w ogóle potrzebny. Wszystko, co istotne, to to, e Seq jest
szablonem klasy mającym pojedynczy parametr będący typem. Jest to analogia do
pomijania nazw parametrów funkcji, kiedy nie są potrzebne, na przykład przy prze-
cią aniu operatora postinkrementacji:
6 QRGTCVQT
KPV
Słowo kluczowe int jest potrzebne jedynie ze względów formalnych, więc odpowia-
dający mu argument nie musi mieć nazwy.
Poni szy program korzysta z tablicy o ustalonej wielkości mającej dodatkowy para-
metr szablonu odpowiadający wielkości tej tablicy:
%6GOR6GORERR
9KGNQOKGPP[ UCDNQP LCMQ RCTCOGVT UCDNQPW
KPENWFG EUVFFGH
KPENWFG KQUVTGCO
WUKPI PCOGURCEG UVF
VGORNCVGENCUU 6 UKGAV 0
ENCUU #TTC[ ]
6 FCVC=0?
UKGAV EQWPV
RWDNKE
#TTC[
] EQWPV _
XQKF RWUJADCEM
EQPUV 6 V ]
KH
EQWPV 0
FCVC=EQWPV
? V
_
XQKF RQRADCEM
]
KH
EQWPV
EQWPV
_
6
34. R
GPFN
_ `
Znowu nazwy parametrów w deklaracji Seq wewnątrz deklaracji Containter są zbędne,
ale potrzebne są dwa dodatkowe parametry do zadeklarowania pola seq, stąd na najwy -
szym poziomie pojawia się parametr N niebędący typem.
Łączenie argumentów domyślnych z parametrami szablonów będących szablonami jest
nieco bardziej problematyczne. Kiedy kompilator sprawdza parametr wewnętrzny
parametru szablonu, nie są uwzględniane argumenty domyślne, wobec czego w celu
uzyskania dokładnego dopasowania konieczne jest powtórzenie wartości domyślnych.
Poni szy przykład wykorzystuje argument domyślny do szablonu Array o stałej wielko-
ści, pokazuje te , jak sobie z tym dziwactwem języka radzić:
%6GOR6GORERR
]DQT_
]OUE_
æEGPKG RCTCOGVTÎY UCDNQPÎY DúFæE[EJ UCDNQPCOK
CTIWOGPVCOK FQO[ NP[OK
KPENWFG EUVFFGH
KPENWFG KQUVTGCO
WUKPI PCOGURCEG UVF
VGORNCVGENCUU 6 UKGAV 0 #TIWOGPV FQO[ NP[
ENCUU #TTC[ ]
6 FCVC=0?
UKGAV EQWPV
RWDNKE
#TTC[
] EQWPV _
XQKF RWUJADCEM
EQPUV 6 V ]
KH
EQWPV 0
FCVC=EQWPV
? V
_
XQKF RQRADCEM
]
KH
EQWPV
EQWPV
_
6
41. R
GPFN
_ `
W poni szym wierszu trzeba włączyć domyślną wielkość równą 10:
VGORNCVGENCUU 6 VGORNCVGENCUU UKGAV ENCUU 5GS
Obie definicje, seq w Container i container, w main() wykorzystują wartości do-
myślne. Jedynym sposobem u ycia czegokolwiek innego ni wartość domyślna jest sko-
rzystanie z metody z poprzedniego programu, TempTemp2.cpp. Jest to jedyny wyją-
tek od podanej wcześniej zasady mówiącej, e argumenty domyślne powinny pojawiać
się w danej jednostce kompilacji tylko raz.
Wobec faktu, e wszystkie standardowe kontenery przechowujące elementy w formie
sekwencji (vector, list oraz deque omówiono dokładnie w rozdziale 7.) mają domyślny
argument allocator, powy sza technika jest przydatna, jeśli trzeba jedną z tych trzech
metod uporządkowania przekazać jako parametr szablonu. W poni szym programie
vector i list są przekazywane do dwóch instancji szablonu Container.
%6GOR6GORERR
]DQT_
]OUE_
2TGMCCPKG UVCPFCTFQY[EJ UGMYGPELK LCMQ CTIWOGPVÎY UCDNQPW
KPENWFG KQUVTGCO
KPENWFG NKUV
KPENWFG OGOQT[ GMNCTCELC CNNQECVQT6
KPENWFG XGEVQT
WUKPI PCOGURCEG UVF
VGORNCVGENCUU 6 VGORNCVGENCUU 7 ENCUU CNNQECVQT7
ENCUU 5GS
ENCUU %QPVCKPGT ]
5GS6 UGS 0KGLCYPKG UVQUQYCPG LGUV FQO[ NPG CNNQECVQT6
RWDNKE
XQKF RWUJADCEM
EQPUV 6 V ] UGSRWUJADCEM
V _
V[RGPCOG 5GS6 KVGTCVQT DGIKP
] TGVWTP UGSDGIKP
_
V[RGPCOG 5GS6 KVGTCVQT GPF
] TGVWTP UGSGPF
_
_
KPV OCKP
]
7 [L YGMVQTC
%QPVCKPGTKPV XGEVQT X%QPVCKPGT
X%QPVCKPGTRWUJADCEM
X%QPVCKPGTRWUJADCEM
HQT
XGEVQTKPV KVGTCVQT R X%QPVCKPGTDGIKP
R X%QPVCKPGTGPF
R ]
EQWV
43. 196 Część II ♦ Standardowa biblioteka C++
HQT
NKUVKPV KVGTCVQT R N%QPVCKPGTDGIKP
R N%QPVCKPGTGPF
R ]
EQWV
44. R GPFN
_
_ `
W tym wypadku nazwaliśmy pierwszy parametr szablonu wewnętrznego Seq (ta na-
zwa to U), gdy alokatory w standardowych sekwencjach muszą być sparametryzo-
wane tym samym typem, co obiekt ich u ywający. Poza tym, skoro domyślna wartość
parametru allocator jest znana, mo emy ją pominąć w dalszych odwołaniach do SeqT,
jak w poprzednim programie. Jednak dokładne omówienie tego przykładu wymaga
objaśnienia znaczenia słowa kluczowego typename.
Słowo kluczowe typename
Niech będzie dany program:
%6[RGPCOGF+ERR
]DQT_
5 QYQ V[RGPCOG W [YCPG LGUV LCMQ RTGHKMU V[RÎY CIPKG F QP[EJ
VGORNCVGENCUU 6 ENCUU : ]
)F[D[ PKG D[ Q V[RGPCOG RQYUVC D[ VW D æF
V[RGPCOG 6KF K
RWDNKE
XQKF H
] KI
_
_
ENCUU ; ]
RWDNKE
ENCUU KF ]
RWDNKE
XQKF I
]_
_
_
KPV OCKP
]
:; Z[
Z[H
_ `
W definicji szablonu zakłada się, e klasa T musi mieć pewnego rodzaju zagnie d ony
identyfikator id. Jednak id mo e być te statycznym polem T (a wtedy mo na byłoby
na id wykonywać operacje bezpośrednio), natomiast nie mo na „tworzyć obiektu typu id”.
Jednak właśnie to się tu dzieje — identyfikator id jest traktowany tak, jakby był typem
zagnie d onym w T. W przypadku klasy Y id jest faktycznie typem zagnie d onym,
ale bez słowa kluczowego typename kompilator nie wiedziałby o tym w chwili kompi-
lowania X.
Jeśli kompilator umo liwia traktowanie identyfikatora występującego w szablonie jako
typu lub jako czegoś innego ni typ, przyjmie, e identyfikator jest czymś innym ni
typ, czyli zało y, e identyfikator odnosi się do obiektu (przy czym dane typów pro-
stych te są traktowane jako obiekty), wyliczenia lub czegoś podobnego. Jednak kompilator
nie zało y, i nie mo e zało yć, e jest to typ.
45. Rozdział 5. ♦ Wszystko o szablonach 197
Wobec tego, e domyślne działanie kompilatora powoduje, e we wskazanych wy ej
dwóch miejscach nie chodzi o typ, trzeba u yć słowa kluczowego typename dla nazw
zagnie d onych (wyjątkiem są listy inicjalizujące konstruktora, gdzie nie jest to ani
potrzebne, ani dozwolone). W powy szym przykładzie kompilator widząc typename
T::id, „wie” (dzięki słowu kluczowemu typename), e id odnosi się do typu zagnie d o-
nego, więc mo e stworzyć obiekt tego typu.
Cała ta zasada w formie skróconej brzmi: jeśli typ odnoszący się do kodu wewnątrz
szablonu jest kwalifikowany parametrem szablonu będącym typem, powinien być po-
przedzony słowem kluczowym typename, chyba e występuje w specyfikacji klasy
bazowej lub na liście inicjalizacyjnej w tym samym zakresie (w obu tych przypadkach
słowa tego nie mo na u yć).
Powy sza dyskusja całkowicie objaśnia u ycie słowa kluczowego typename w pro-
gramie TempTemp4.cpp. Bez tego słowa kluczowego kompilator zało yłby, e wy-
ra enie SeqT::iterator nie jest typem, podczas gdy dalej u ywane jest ono do zde-
finiowania wartości zwracanej przez funkcje begin() i end().
W następnym przykładzie, zawierającym szablon funkcji pozwalający wydrukować
dowolną standardową sekwencję C++, pokazano podobny sposób u ycia typename:
%2TKPV5GSERR
]OUE_
(WPMELC FTWMWLæEC V[RQYG UGMYGPELG %
KPENWFG KQUVTGCO
KPENWFG NKUV
KPENWFG OGOQT[
KPENWFG XGEVQT
WUKPI PCOGURCEG UVF
VGORNCVGENCUU 6 VGORNCVGENCUU 7 ENCUU CNNQECVQT7
ENCUU 5GS
XQKF RTKPV5GS
5GS6 UGS ]
HQT
V[RGPCOG 5GS6 KVGTCVQT D UGSDGIKP
D UGSGPF
EQWV
46. D
GPFN
_
KPV OCKP
]
2TGVYCTCPKG YGMVQTC
XGEVQTKPV X
XRWUJADCEM
XRWUJADCEM
RTKPV5GS
X
2TGVYCTCPKG NKUV[
NKUVKPV NUV
NUVRWUJADCEM
NUVRWUJADCEM
RTKPV5GS
NUV
_ `
Znowu, gdyby nie słowo kluczowe typename, kompilator zinterpretowałby iterator
jako statyczne pole nale ące do SeqT, czyli byłby to błąd składniowy — przecie
typ jest wymagany.
47. 198 Część II ♦ Standardowa biblioteka C++
Typedef i typename
Nie wolno zakładać, e słowo kluczowe typename utworzy nową nazwę typu. Celem
stosowania tego słowa jest wskazanie kompilatorowi, e tak zakwalifikowany identy-
fikator ma być zinterpretowany jako typ. Wiersz:
V[RGPCOG 5GS6 KVGTCVQT +V
mówi, e zmienna It jest zmienną typu SeqT::iterator. Jeśli nale ałoby stworzyć
nazwę nowego typu, jak zwykle trzeba u yć typedef:
V[RGFGH V[RGPCOG 5GS+V KVGTCVQT +V
Użycie typename zamiast class
Innym zastosowaniem słowa kluczowego typename jest mo liwość u ycia typename
zamiast class na liście argumentów szablonu. Czasami powstający kod jest dzięki temu
czytelniejszy:
%7UKPI6[RGPCOGERR
7 [EKG V[RGPCOG PC NK EKG CTIWOGPVÎY UCDNQPW
VGORNCVGV[RGPCOG 6 ENCUU : ] _
KPV OCKP
]
:KPV Z
_ `
Prawdopodobnie nieczęsto spotkasz się z takim u yciem słowa kluczowego typename,
gdy słowo to zostało dodane do języka dość długo po zdefiniowaniu szablonów.
Użycie słowa kluczowego template jako wskazówki
Tak jak słowo kluczowe typename pomaga kompilatorowi w sytuacjach, kiedy nie
spodziewa się on identyfikatora typu, istnieje te potencjalna trudność związana z lekse-
mami niebędącymi identyfikatorami, jak znaki i ; czasami oznaczają one symbole
mniejszości i większości, a czasami ograniczają listy parametrów szablonu. W ramach
przykładu skorzystajmy jeszcze raz z klasy bitset:
%QV6GORNCVGERR
2QMCWLG W [EKG MQPUVTWMELK VGORNCVG
KPENWFG DKVUGV
KPENWFG EUVFFGH
KPENWFG KQUVTGCO
KPENWFG UVTKPI
WUKPI PCOGURCEG UVF
VGORNCVGENCUU EJCT6 UKGAV 0
DCUKEAUVTKPIEJCT6 DKVUGV6Q5VTKPI
EQPUV DKVUGV0 DU ]
TGVWTP DU VGORNCVG VQAUVTKPIEJCT6 EJCTAVTCKVUEJCT6
CNNQECVQTEJCT6
_
48. Rozdział 5. ♦ Wszystko o szablonach 199
KPV OCKP
]
DKVUGV DU
DUUGV
DUUGV
EQWV DU GPFN
UVTKPI U DKVUGV6Q5VTKPIEJCT
DU
EQWV U GPFN
_ `
Klasa bitset realizuje konwersję na obiekt-łańcuch za pomocą funkcji składowej to_st-
ring. Aby obsłu yć ró ne klasy łańcuchów, to_string sama jest szablonem, zgodnie
z definicją szablonu basic_string omawianą w rozdziale 3. Deklaracja to_string w ramach
bitset wygląda następująco:
VGORNCVG ENCUU EJCT6 ENCUU VTCKVU ENCUU #NNQECVQT
DCUKEAUVTKPIEJCT6 VTCKVU #NNQECVQT VQAUVTKPI
EQPUV
Nasz pokazany powy szej szablon funkcji bitsetToString() pozwala zwracać obiekty
bitset jako ró nego rodzaju łańcuchy znaków. Aby uzyskać, na przykład, łańcuch z szero-
kimi znakami, nale y wywołanie zapisać następująco:
YUVTKPI U DKVUGV6Q5VTKPIYEJCTAV
DU
Zauwa , e basic_string korzysta z domyślnych argumentów szablonu, więc nie mu-
simy powtarzać argumentów char_traits i allocator w wartości zwracanej. Niestety,
bitset::to_string nie u ywa argumentów domyślnych. U ycie bitsetToStringchar(bs)
jest wygodniejsze ni pisanie za ka dym razem całego bs.template to_stringchar,
char_traits, allocatorchar ().
Instrukcja return w funkcji bitsetToString() zawiera słowo kluczowe template w dość
dziwnym miejscu — zaraz po operatorze „kropka” zastosowanym do obiektu bs typu
bitset. Wynika to stąd, e kiedy analizowany jest szablon, znak znajdujący się za
napisem to_string zostałby interpretowany jako operator mniejszości, a nie początek
lub lista argumentów szablonu. W punkcie „Odszukiwanie nazw” w dalszej części roz-
działu słowo kluczowe template u yte w tym kontekście informuje kompilator, e dalej
następuje nazwa szablonu; dzięki temu znak zostanie zinterpretowany prawidłowo.
Takie samo rozumowanie dotyczy operatorów - i :: stosowanych do szablonów. Tak
jak w przypadku słowa kluczowego template opisana technika unikania wieloznaczności
mo e być u ywana jedynie w szablonach2.
Szablony składowe
Szablon funkcji bitset::to_string() jest przykładem szablonu składowego czyli szablonu
zadeklarowanego w innej klasie lub szablonie klasy. Dzięki temu mo na tworzyć rozmaite
kombinacje niezale nych argumentów szablonów. Praktyczny przykład znaleźć mo na
w szablonie klas complex w standardowej bibliotece C++. Szablon complex ma pa-
rametr będący typem, który pozwala zadeklarować typ zmiennoprzecinkowy słu ący
2
Komitet standaryzacyjny C++ rozwa a rezygnację z klauzuli „jedynie w szablonach”, jeśli chodzi
o unikanie wieloznaczności. Niektóre kompilatory ju teraz pozwalają na stosowanie takich podpowiedzi
poza szablonami.
49. 200 Część II ♦ Standardowa biblioteka C++
do przechowywania części rzeczywistej i urojonej liczby zespolonej. Poni szy frag-
ment kodu z biblioteki standardowej pokazuje konstruktor szablonu składowego sza-
blonu klasy complex:
VGORNCVGV[RGPCOG 6
ENCUU EQORNGZ ]
RWDNKE
VGORNCVGENCUU : EQORNGZ
EQPUV EQORNGZ:
Standardowy szablon complex ma ju gotowe specjalizacje z parametrem T o warto-
ściach float, double oraz long double. Pokazany powy ej konstruktor szablonu skła-
dowego pozwala stworzyć nową liczbę zespoloną wykorzystującą inny typ zmienno-
przecinkowy jako typ bazowy, jak poni ej:
EQORNGZHNQCV
EQORNGZFQWDNG Y
W deklaracji w parametr T szablonu complex ma wartość double, zaś X to float.
Szablony składowe bardzo ułatwiają tego typu konwersje.
Wobec tego, e definiowanie szablonu w szablonie jest operacją zagnie d enia,
przedrostki oznaczające szablony muszą to zagnie d anie odzwierciedlać, jeśli tylko
szablon składowy zostanie zdefiniowany poza definicją klasy zewnętrznej. Jeśli, na
przykład, mamy zaimplementować szablon klasy complex i nale y zdefiniować kon-
struktor szablonu składowego poza definicją klasy opartej na szablonie complex, trzeba
byłoby zrobić to tak:
VGORNCVGV[RGPCOG 6
VGORNCVGV[RGPCOG :
EQORNGZ6 EQORNGZ
EQPUV EQORNGZ: E ]
51. _
Inne zastosowanie szablonów funkcji składowych w bibliotece standardowej to ini-
cjalizacja kontenerów takich jak vector. Załó my, e mamy vector zawierający dane
typu int i chcemy tym wektorem zainicjalizować nowy wektor z liczbami double:
KPV FCVC=? ] _
XGEVQTKPV X
FCVC FCVC
XGEVQTFQWDNG X
XDGIKP
XGPF
O ile tylko elementy v1 są zgodne co do przypisania z elementami v2 (a double i int
w tym sensie są zgodne), wszystko działa prawidłowo. Szablon klasy vector ma na-
stępujący konstruktor szablonu składowego:
VGORNCVGENCUU +PRWV+VGTCVQT
XGEVQT
+PRWV+VGTCVQT HKTUV +PRWV+VGTCVQT NCUV
EQPUV #NNQECVQT #NNQECVQT
Taka konstrukcja tak naprawdę w deklaracjach wektora jest u yta dwukrotnie. Kiedy
v1 jest inicjalizowane na podstawie tablicy liczb int, InputIterator jest typu int*.
Kiedy v2 jest inicjalizowane na podstawie v1, InputIterator w instancji konstruktora
szablonu składowego jest typu vectorint::iterator.
Szablony składowe mogą być tak e klasami (nie muszą być funkcjami, choć zwykle
to właśnie jest potrzebne). W następnym przykładzie pokazano szablon klasy składowej
znajdujący się wewnątrz szablonu klasy zewnętrznej:
53. VJKUPCOG
GPFN
_
KPV OCKP
]
1WVGTKPV +PPGTDQQN KPPGT
KPPGTH
_ `
Omawiany w rozdziale 8. operator typeid zwraca obiekt, którego funkcja składowa
name() podaje zapisany jako łańcuch jego typ lub typ zmiennej. Wprawdzie dokładna
postać tego łańcucha jest ró na w ró nych kompilatorach, ale wynik działania powy -
szego programu będzie podobny do:
1WVGT KPV
+PPGT DQQN
2G PC +PPGT 1WVGTKPV +PPGTDQQN
Deklaracja zmiennej inner w programie głównym powoduje ukonkretnienie Innerbool
i Outerint.
Szablony funkcji składowych nie mogą być deklarowane jako wirtualne. Stosowane
obecnie kompilatory „spodziewają się”, e będą w stanie określić wielkość tablicy
funkcji wirtualnych klasy w chwili analizowania tej klasy. Umo liwienie stosowania
wirtualnych szablonów funkcji składowych wymagałoby znajomości wszystkich wywołań
takich funkcji składowych w programie, co jest niemo liwe, szczególnie w przypadku
projektów zawierających wiele plików.
Szablony funkcji
Tak jak szablon klasy opisuje rodzinę klas, tak szablon funkcji opisuje rodzinę funkcji.
Składnia tworzenia szablonów jednych i drugich jest w zasadzie identyczna, a ró nice
dotyczą głównie sposobu u ycia. Podczas tworzenia instancji szablonu klas zawsze
54. 202 Część II ♦ Standardowa biblioteka C++
trzeba stosować nawiasy kątowe i podawać wszystkie niedomyślne argumenty sza-
blonu. Z kolei w przypadku szablonów funkcji często mo na pomijać argumenty sza-
blonu, zaś domyślne argumenty szablonu są niedopuszczalne. Przyjrzyjmy się typo-
wej implementacji szablonu funkcji min() zadeklarowanego w pliku nagłówkowym
algorithm:
VGORNCVGV[RGPCOG 6
EQPUV 6 OKP
EQPUV 6 C EQPUV 6 D ]
TGVWTP
C D ! C D
_
Szablon taki mo na wywołać, podając typ argumentów w nawiasach kątowych, tak
jak w przypadku szablonów klas:
KPV OKPKPV
K L
U ycie takiej składni informuje kompilator, e potrzebny jest szablon funkcji min
z typem int u ytym zamiast parametru T, więc kompilator wygeneruje odpowiedni kod.
Zgodnie z konwencją nazewniczą dotyczącą klas generowanych przez szablony klas
mo na się spodziewać, e nazwą tak wywołanej funkcji będzie minint.
Dedukowanie typu argumentów szablonu funkcji
Zawsze mo na u yć jawnej specyfikacji szablonu funkcji jak powy ej, ale często wy-
godnie byłoby pominąć argumenty szablonu i pozwolić kompilatorowi wywniosko-
wać ich wartości na podstawie argumentów funkcji, na przykład tak:
KPV OKP
K L
Jeśli i i j są liczbami int, kompilator „wie”, e potrzebna jest funkcja minint(), i do-
konuje automatycznie odpowiedniego zastąpienia. Typy muszą być identyczne, gdy
szablon pierwotnie zdefiniowany jest z jednym tylko argumentem określającym typ,
u ywanym dla obu parametrów funkcji. W przypadku argumentów funkcji, których
typ wynika z parametru szablonu, nie są wykonywane adne standardowe konwersje.
Jeśli, na przykład, trzeba byłoby znaleźć mniejszą z liczb int i double, poni sza próba
wywołania nie powiodłaby się:
KPV OKP
Z L Z LGUV V[RW FQWDNG
Zmienne x i j mają ró ne typy, więc aden pojedynczy parametr T w szablonie min
nie mo e zostać u yty, a wobec tego wywołanie jest niezgodne z deklaracją szablonu.
Mo na tego problemu uniknąć, rzutując jeden argument na typ argumentu drugiego
albo stosując wywołanie z pełną specyfikacją, na przykład:
KPV OKPFQWDNG
Z L
W ten sposób kompilator „wie”, e ma wygenerować funkcję min() korzystającą z typu
double, a wtedy ju zmienna j mo e w sposób standardowy przekształcona na typ
double (gdy funkcja mindouble(const double, const double) mo e zostać
wygenerowana).
55. Rozdział 5. ♦ Wszystko o szablonach 203
Kuszące byłoby za ądanie u ycia w przypadku szablonu min u ycia dwóch parametrów,
dzięki czemu typy argumentów mogłyby być dowolne:
VGORNCVGV[RGPCOG 6 V[RGPCOG 7
EQPUV 6 OKP
EQPUV 6 C EQPUV 7 D ]
TGVWTP
C D ! C D
_
Często jest to dobre rozwiązanie, choć w tym wypadku jego zastosowanie jest dyskusyjne:
min() musi zwrócić wartość, a nie ma jednoznacznie dobrej metody określenia typu tej
wartości — czy powinien to być typ T albo U.
Jeśli typ wartości zwracanej przez funkcję jest niezale nym parametrem szablonu, zawsze
w chwili wywołania funkcji trzeba podać ten typ jawnie, gdy nie ma adnych podstaw
do wywnioskowania tego typu. Taka sytuacja występuje w przypadku szablonu fromS-
tring pokazanego poni ej:
%5VTKPI%QPXJ
KHPFGH 564+0)%108A*
FGHKPG 564+0)%108A*
5CDNQP[ HWPMELK RTGMUVC ECLæE[EJ PC C EWEJ[ K C EWEJÎY
KPENWFG UVTKPI
KPENWFG UUVTGCO
VGORNCVGV[RGPCOG 6
6 HTQO5VTKPI
EQPUV UVFUVTKPI U ]
UVFKUVTKPIUVTGCO KU
U
6 V
KU V
TGVWTP V
_
VGORNCVGV[RGPCOG 6
UVFUVTKPI VQ5VTKPI
EQPUV 6 V ]
UVFQUVTKPIUVTGCO U
U V
TGVWTP UUVT
_
GPFKH 564+0)%108A* `
Podane szablony funkcji obsługują konwersje na typ std::string oraz z tego typu
dla dowolnych typów mających odpowiednio operatory wstawiania i pobierania da-
nych ze strumienia. Oto program testowy pokazujący u ycie typu complex z biblioteki
standardowej:
%5VTKPI%QPX6GUVERR
KPENWFG 5VTKPI%QPXJ
KPENWFG KQUVTGCO
KPENWFG EQORNGZ
WUKPI PCOGURCEG UVF
KPV OCKP
]
KPV K
EQWV K VQ5VTKPI
K P
HNQCV Z
EQWV Z VQ5VTKPI
Z P
56. 204 Część II ♦ Standardowa biblioteka C++
EQORNGZHNQCV E
EQWV E VQ5VTKPI
E P
EQWV GPFN
K HTQO5VTKPIKPV
UVTKPI
EQWV K K GPFN
Z HTQO5VTKPIHNQCV
UVTKPI
EQWV Z Z GPFN
E HTQO5VTKPI EQORNGZHNQCV
UVTKPI
EQWV E E GPFN
_ `
Wynik działania tego programu będzie następujący:
K
Z
E
K
Z
E
Zauwa , e w ka dej instancji fromString parametr szablonu jest podawany w wy-
wołaniu. Jeśli masz szablon funkcji z parametrami szablonu zarówno dla parametrów
funkcji jak i wartości zwracanej, konieczne jest zadeklarowanie najpierw parametru
odpowiadającego wartości zwracanej; w przeciwnym przypadku niemo liwe będzie
pomijanie parametrów szablonu odpowiadających parametrom funkcji. W ramach przy-
kładu przyjrzyjmy się takiemu oto dobrze znanemu szablonowi funkcji3:
%+ORNKEKV%CUVERR
VGORNCVGV[RGPCOG 4 V[RGPCOG 2
4 KORNKEKVAECUV
EQPUV 2 R ]
TGVWTP R
_
KPV OCKP
]
KPV K
HNQCV Z KORNKEKVAECUVHNQCV
K
KPV L KORNKEKVAECUVKPV
Z
EJCT
58. K
_ `
Jeśli zamienisz znajdujące się na początku pliku parametry R i P miejscami, niemo -
liwe będzie skompilowanie takiego programu, gdy typ wartości zwracanej nie będzie
podany (po takiej zmianie pierwszy parametr odpowiadałby typowi parametru funk-
cji). Ostatni wiersz (zakomentowany) jest niedopuszczalny, gdy nie istnieje standar-
dowa konwersja typu int na char*; implicit_cast słu y do realizacji tych konwersji,
które są dopuszczalne.
Zachowując pewną ostro ność, mo na nawet wydedukować wielkość tablicy. Poni szy
przykład zawiera wykonujący to szablon funkcji inicjalizującej tablicę, init2:
3
Zobacz: Stroustrup, The C++ Programming Language, 3rd Edition, Addison Wesley, strony 335 – 336.
59. Rozdział 5. ♦ Wszystko o szablonach 205
%#TTC[5KGERR
KPENWFG EUVFFGH
WUKPI UVFUKGAV
VGORNCVGUKGAV 4 UKGAV % V[RGPCOG 6
XQKF KPKV
6 C=4?=%? ]
HQT
UKGAV K K 4
K
HQT
UKGAV L L %
L
C=K?=L? 6
_
VGORNCVGUKGAV 4 UKGAV % ENCUU 6
XQKF KPKV
6
C=4?=%? ] RCTCOGVT DúFæE[ TGHGTGPELæ
HQT
UKGAV K K 4
K
HQT
UKGAV L L %
L
C=K?=L? 6
_
KPV OCKP
]
KPV C=?=?
KPKV
C RQFCPKG MQPKGEPG
KPKV
C TQOKCT QUVCPKG QMTG NQP[ RTG MQORKNCVQT
_ `
Wymiary tablicy nie są przekazywane jako część typu parametru funkcji, chyba e
parametr ten jest przekazywany przez wskaźnik lub referencję. Szablon funkcji init2
zawiera deklarację a jako referencji tablicy dwuwymiarowej, więc wymiary R i C zo-
staną wyznaczone przez mechanizm szablonów, przez co init2 staje się wygodnym
narzędziem do inicjalizowania dwuwymiarowych tablic dowolnej wielkości. Szablon
init1 nie przekazuje tablicy przez referencję, wobec czego tutaj wielkość tablicy musi
być jawnie podawana, choć typ parametru mo e być nadal wywnioskowany.
Przeciążanie szablonów funkcji
Tak jak w przypadku zwykłych funkcji, mo na przecią ać szablony funkcji mające
takie same nazwy. Kiedy kompilator przetwarza w programie wywołanie funkcji, musi
zdecydować, który szablon lub zwykła funkcje będzie „najlepiej pasować” do danego
wywołania.
Jeśli istnieje opisany wcześniej szablon funkcji min(), dodajmy jeszcze zwykłe funkcje:
%/KP6GUVERR
KPENWFG EUVTKPI
KPENWFG KQUVTGCO
WUKPI UVFUVTEOR
WUKPI UVFEQWV
WUKPI UVFGPFN
VGORNCVGV[RGPCOG 6 EQPUV 6 OKP
EQPUV 6 C EQPUV 6 D ]
TGVWTP
C D ! C D
_
EQPUV EJCT
65. U T[EGTG MVÎT[
EQWV OKP
GPFN
UCDNQP
EQWV OKP
GPFN
FQWDNG
EQWV OKP
GPFN
FQWDNG
EQWV OKP
U U GPFN T[EGTG MVÎT[
EQPUV
EJCT
66. EQWV OKP
U U GPFN OÎYKæ 0K
UCDNQP
_ `
Teraz oprócz szablonu funkcji mamy zdefiniowane dwie zwykłe funkcje: wersję min()
u ywającą łańcuchów języka C oraz wersję z double. Gdyby nie istniał szablon, wy-
wołanie w wierszu 1. wywoływałoby wersję double funkcji min(), a to z uwagi na
konwersję standardową typu int na double. Jednak istniejący szablon pozwala wygenero-
wać wersję int, która jest uwa ana za lepiej dopasowaną, więc ten szablon zostanie
u yty. Wywołanie w wierszu 2. odpowiada wersji z double, zaś wywołanie z wiersza 3.
wywołuje tę samą funkcję, niejawnie konwertując 1 na 1.0. W wierszu 4. bezpośrednio
wywoływana wersja const char* funkcji min(). W wierszu 5. wymuszamy na kompila-
torze u ycie szablonu, gdy do nazwy funkcji dodajemy pustą parę nawiasów kąto-
wych; wobec tego z szablonu generowana jest wersja const char* i jest ona u ywana
(widać to po nieprawidłowej odpowiedzi — nastąpiło najzwyklejsze porównanie ad-
resów!)4. Jeśli zastanawiasz się, czemu zamiast dyrektywy using namespace std;
u yliśmy deklaracji using, wiedz, e niektóre kompilatory niejawnie dołączają pliki
nagłówkowe deklarujące std::min(), które mogłyby spowodować konflikt z naszymi
deklaracjami nazw min().
Jak powiedziano wy ej, mo na przecią ać szablony mające tę samą nazwę, o ile tylko
kompilator będzie w stanie je od siebie odró nić. Mo na byłoby, na przykład, zadeklaro-
wać szablon funkcji min() mający trzy argumenty:
VGORNCVGV[RGPCOG 6
EQPUV 6 OKP
EQPUV 6 C EQPUV 6 D EQPUV 6 E
Wersje tego szablonu będą generowane tylko dla trójargumentowych wywołań min(),
gdzie wszystkie argumenty będą tego samego typu.
Pobieranie adresu wygenerowanej z szablonu funkcji
Często potrzebny bywa adres funkcji — na przykład mamy funkcję pobierającą jako
argument wskaźnik innej funkcji. Oczywiście mo na przekazać tak e funkcję wyge-
nerowaną z szablonu, a zatem potrzebny będzie jej adres5:
4
Formalnie rzecz biorąc, porównywanie dwóch wskaźników nieznajdujących się w jednej tablicy
daje wynik nieokreślony, ale stosowane obecnie kompilatory nie traktują tego powa nie. Co więcej,
zachowują się one w takiej sytuacji poprawnie.
5
Za ten przykład jesteśmy wdzięczni Nathanowi Myersowi.
67. Rozdział 5. ♦ Wszystko o szablonach 207
%6GORNCVG(WPEVKQP#FFTGUUERR
2QDKGTCPKG CFTGUW HWPMELK Y[IGPGTQYCPGL UCDNQPW
VGORNCVG V[RGPCOG 6 XQKF H
6
72. ]_
KPV OCKP
]
2G PC URGE[HKMCELC V[RW
J
HKPV
1FICF[YCPKG V[RW
J
H
2G PC URGE[HKMCELC V[RW
IKPV
HKPV
1FICF[YCPKG V[RW
I
HKPV
5RGE[HKMCELC Eú EKQYC CNG Y[UVCTECLæEC
IKPV
H
_ `
Przykład ten porusza kilka kwestii. Po pierwsze, mimo e u ywamy szablonów, pa-
sować muszą sygnatury. Funkcja h() pobiera wskaźnik funkcji typu void mającej ar-
gument int*, właśnie taką funkcję wygeneruje szablon f(). Po drugie, funkcja, która
jako argument pobiera wskaźnik funkcji, sama mo e być szablonem, jak w przypadku
szablonu g().
W funkcji main() widać, e działa te dedukowanie typu. W pierwszym jawnym wy-
wołaniu h() podawany jest argument szablonu, ale wobec tego, e h() przyjmuje je-
dynie adres funkcji mającej parametr int*, mógłby się tego domyślić kompilator.
Jeszcze ciekawiej jest w przypadku funkcji g(), gdy tutaj mamy do czynienia z dwoma
szablonami. Kompilator nie mo e „wywnioskować” typu, nie mając adnych danych, ale
jeśli w przypadku f() lub g() podany zostanie typ int, resztę ju mo na będzie odgadnąć.
Problem pojawia się, kiedy próbujemy przekazać jako parametry funkcje tolower czy
toupper zadeklarowane w pliku nagłówkowym cctype. Mo na ich u ywać, na przy-
kład, wraz z algorytmem transform (szczegółowo omawianym w następnym rozdziale),
aby łańcuchy przekształcać na wielkie lub na małe litery. Jednak trzeba zachować tu
ostro ność, gdy funkcje te mają wiele deklaracji. Najprościej byłoby zapisać coś takiego:
OKGPPC U VQ UVFUVTKPI
VTCPUHQTO
UDGIKP
UGPF
UDGIKP
VQNQYGT
Algorytm transform stosuje swój czwarty parametr (tutaj tolower()) do ka dego
znaku łańcucha s, wynik umieszcza w s, przez co nadpisuje ka dy znak s odpowiada-
jącą mu małą literą. Jednak tak zapisana instrukcja mo e zadziałać lub nie! W poni -
szym kontekście nie zadziała:
%(CKNGF6TCPUHQTOERR ]ZQ_
KPENWFG CNIQTKVJO
KPENWFG EEV[RG
KPENWFG KQUVTGCO
73. 208 Część II ♦ Standardowa biblioteka C++
KPENWFG UVTKPI
WUKPI PCOGURCEG UVF
KPV OCKP
]
UVTKPI U
.19'4
VTCPUHQTO
UDGIKP
UGPF
UDGIKP
VQNQYGT
EQWV U GPFN
_ `
Nawet jeśli Twój kompilator sobie z tym programem poradzi, to program jest i tak
niepoprawny. Wynika to stąd, e plik nagłówkowy iostream udostępnia tak e dwuar-
gumentowe wersje tolower() i toupper():
VGORNCVG ENCUU EJCT6 EJCT6 VQWRRGT
EJCT6 E EQPUV NQECNG NQE
VGORNCVG ENCUU EJCT6 EJCT6 VQNQYGT
EJCT6 E EQPUV NQECNG NQE
Te szablony funkcji mają drugi argument typu locale. Kompilator nie jest w stanie
stwierdzić, czy powinien u yć jednoargumentowej wersji tolower() z cctype czy
powy szej. Problem ten mo na rozwiązać (prawie), za pomocą rzutowania w czasie
wywołania transform:
VTCPUHQTO
UDGIKP
UGPF
UDGIKP
UVCVKEAECUVKPV