Kompletny przewodnik po języku asemblera
Asembler, mimo że jest zdecydowanie trudniejszy w nauce niż języki programowania wysokiego poziomu, jest wśród programisów bardzo popularny. Tworzone w nim programy są mniejsze, zajmują mniej pamięci i miejsca na dysku, a przede wszystkim działają szybciej. Opracowano język HLA, dzięki któremu programowanie w asemblerze przebiega płynnie i polega na analizie implementacji poszczególnych, wysokopoziomowych konstrukcji, znanych z języków takich jak C, C++ czy Pascal.
Książka "Asembler. Sztuka programowania" to podręcznik programowania w języku asemblera oparty na języku HLA. Opisuje 32-bitową architekturę procesorów Intel oraz zasady tworzenia programów w języku HLA. Przedstawia sposoby pisania, kompilacji i uruchamiania programów wykorzystujących różne, nawet najbardziej złożone typy danych.
* Wprowadzenie do języka HLA
* Sposoby reprezentacji danych
* Organizacja pamięci i tryby adresowania
* Typy danych
* Podział programu na procedury i moduły
* Sterowanie wykonaniem programu
* Instrukcje arytmetyczne
* Operacje na plikach
* Operacje bitowe i łańcuchowe
* Makrodefinicje
* Klasy i obiekty
* Połączenie asemblera z programami w innych językach
Przekonaj się, jak prosty jest język asemblera.
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.
Wyszukiwanie błędów w kodzie to czynność, którą programiści wykonują niemal równie często, jak pisanie kodu. Narzędzia do wykrywania i poprawiania błędów tylko częściowo rozwiązują problem. W wielu przypadkach błąd nie tkwi w nieprawidłowo sformułowanym poleceniu lub źle zdefiniowanej zmiennej, ale w miejscu, którego nawet najlepsze narzędzie nie znajdzie. Programista musi się nauczyć samemu bronić przed ukrytymi pomyłkami i nieprzyjemnymi niespodziankami. Błędy trzeba znaleźć, zanim one znajdą nas.
Książka "Znajdź błąd. Sztuka analizowania kodu" to zbiór 50 programów napisanych w językach Perl, C, Java, Python i asembler x86. Każdy z nich zawiera jeden, trudny do znalezienia, ale jak najbardziej realistyczny błąd. Wykrycie go wymaga przewidzenia sposobu, w jaki program będzie wykonywany, i prześledzenia krok po kroku jego działania. Każdy przykład opatrzony jest wskazówkami pomocnymi przy wyszukiwaniu błędów. Książka przedstawia sposoby analizowania programów i przewidywania miejsc, w których może wystąpić błąd.
* Klasyfikacja błędów
* Metody analizy kodu
* Błędy w programach w języku C
* Analiza aplikacji napisanych w języku Python
* Wyszukiwanie błędów w programach w języku Java
* Programy w języku Perl i asembler x86
Wykonując zadania zawarte w tej książce, nie tylko nauczysz się odnajdywać błędy, ale także udoskonalisz swoje umiejętności w zakresie pisania aplikacji.
Java jest jednym z najpopularniejszych języków programowania na świecie wykorzystywanym przy tworzeniu popularnych aplikacji. Język ten dla początkujących programistów jest często pierwszym poznanym językiem programowania. Dzięki przemyślanej architekturze obiektowej Javy łatwiej Ci będzie nabrać prawidłowych nawyków programistycznych, z kolei funkcjonalność tego języka sprawi, że nauka nie pójdzie na marne, a zdobytą wiedzę wykorzystasz w praktyce. W Javie można bowiem napisać prawie każdą aplikację, od prostej gry działającej w telefonie komórkowym, po skomplikowany system uruchamiany na potężnym serwerze.
"Po prostu Java 2" to książka, dzięki której nauczysz się pisać programy w tym języku, nawet jeśli programowanie było Ci do tej pory zupełnie obce. Książka jest pozbawiona zbędnego balastu teorii. Prezentuje ona wiele zastosowań Javy.
Dzięki książce nauczysz się:
* Składni Javy oraz podstawowych instrukcji
* Korzystać z obiektów i rozpoznawać ich metody
* Tworzyć interfejs użytkownika dla aplikacji Javy
* Pisać aplety i osadzać je w stronach WWW
* Łączyć Javę z JavaScript
* Pisać servlety i strony JSP
* Korzystać z XML z poziomu Javy
Chcesz szybko i bez zbędnych dywagacji dowiedzieć się, dlaczego Java cieszy się takim powodzeniem? Chcesz wykorzystać ją do swoich potrzeb? Ta książka z pewnością Ci w tym pomoże.
Błyskawiczny kurs programowania aplikacji w języku C
Język C, mimo prawie 30-letniej historii, cieszy się niesłabnącą popularnością wśród programistów. Wszyscy jego użytkownicy cenią w nim prostą i czytelną składnię, niewielki i łatwy do zapamiętania zakres słów kluczowych oraz duże możliwości, dzięki którym za pomocą C można rozwiązać niemal każde zagadnienie programistyczne. Zewnętrzne biblioteki, dostępne w sieci oraz dołączane do najpopularniejszych narzędzi programistycznych, dodatkowo rozszerzają możliwości C.
Książka "Programowanie w języku C. Szybki start" to podręcznik dla tych, którzy chcą poznać C w praktyce i nie chcą przebijać się przez dziesiątki stron opisów teoretycznych. Każde zagadnienie -- od najprostszych, związanych ze strukturą programu i zasadami kompilacji aż do złożonych typów danych i obsługi plików zewnętrznych -- jest przedstawione w postaci bogato ilustrowanej sekwencji czynności. Wykonując kolejne przykłady z książki, poznasz wszystkie podstawowe wiadomości o programowaniu w języku C.
* Struktura programu w języku C
* Typy danych
* Sterowanie działaniem programu
* Korzystanie ze standardowego wejścia i wyjścia
* Deklarowanie i stosowanie funkcji
* Dyrektywy preprocesora
* Wskaźniki i zarządzanie pamięcią
* Obsługa plików
* Złożone typy danych
Poznaj zalety i możliwości najpopularniejszego języka programowania.
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.
Choć Java to język gwarantujący efektywną pracę, to jednak kryje w sobie wiele pułapek, które mogą zniweczyć jej efekty. Książka ta ma za zadanie oszczędzić Twój czas i zapobiec frustracji przeprowadzając Cię bezpiecznie przez skomplikowane zagadnienia. Zespół ekspertów od języka Java pod wodzą guru programowania w osobie Michaela Daconta proponuje Ci zestaw sprawdzonych rozwiązań 50 trudnych problemów pojawiających się w praktyce każdego programisty. Rozwiązania te pozwolą Ci uniknąć problemów wynikających z niedostatków języka Java oraz jego interfejsów programowych, w tym pakietów java.util, java.io, java.awt i javax.swing. Autorzy dzielą się także z Czytelnikiem swoimi sposobami na poprawę wydajności aplikacji pisanych w Javie.
Oto niektóre z omawianych zagadnień:
* Składnia języka: zastosowanie metody equals() zamiast operatora == do porównywania obiektów klasy String
* Funkcjonalność wbudowana w język: rozdział metod a mechanizm refleksji, interfejsy i klasy anonimowe
* Użyteczne klasy i kolekcje: wybór klasy PropertyFile i ResourceBundle
* Wejście i wyjście, w tym subtelności związane z przesyłaniem serializowanych obiektów za pomocą gniazd sieciowych
* Graficzny interfejs użytkownika: sposoby uniknięcia typowej pułapki polegającej na zastosowaniu metody repaint() zamiast metody validate() w celu uzyskania nowego układu komponentów
* Graficzny interfejs użytkownika -- sterowanie: m.in. bardziej funkcjonalna kontrola danych wprowadzanych przez użytkownika
* Wydajność: m.in. zastosowanie odroczonego ładowania, tak by zwiększyć szybkość uruchamiania programów
Flash CS3 Professional PL. Techniki zaawansowane. Klatka po klatceWydawnictwo Helion
Odkryj najgłębiej strzeżone tajemnice Flasha
* Jak tworzyć rozbudowane animacje?
* W jaki sposób kontrolować obiekty, wykorzystując ActionScript?
* Jak pobierać dane z zewnętrznych źródeł?
Flash CS3 Professional to kolejne wcielenie narzędzia, które zyskało uznanie dziesiątek tysięcy twórców witryn WWW. Jednak jego niesamowite możliwości w zakresie tworzenia grafiki i animacji to tylko wierzchołek góry lodowej. Swoją prawdziwą potęgę Flash ujawnia, gdy sięgniemy po rozwiązania oparte na wbudowanym, obiektowym języku programowania noszącym nazwę ActionScript 3.0. Za jego pomocą możemy kontrolować niemal każdy aspekt animacji i wszystkie obiekty wchodzące w jej skład, sterować wyświetlaniem i pobieraniem danych oraz odtwarzaniem dźwięku. Jesteśmy w stanie wykreować niesamowite efekty, jakich nigdy nie uzyskalibyśmy, wykorzystując inne techniki.
W książce „Flash CS Professional PL. Techniki zaawansowane. Klatka po klatce" opisano techniki tworzenia animacji związane ze stosowaniem języka ActionScript. Czytając ją, poznasz podstawy tego języka, a także dowiesz się, w jaki sposób pisać skrypty i do jakich obiektów je dołączać. Nauczysz się kontrolować elementy graficzne, dźwiękowe, tekstowe i nawigacyjne umieszczone w prezentacji za pomocą poleceń ActionScriptu. Opanujesz sposoby łączenia witryn WWW tworzonych we Flashu z zewnętrznymi plikami, przeglądarką internetową i serwerem, na którym są publikowane. Znajdziesz tu także informacje o wykrywaniu błędów w skryptach i ich usuwaniu.
* Animacje poklatkowe i automatyczne
* Animowane maski
* Rotoskopia
* Edycja kodu ActionScript w panelu Actions
* Tworzenie funkcji
* Obsługa zdarzeń w animacji
* Zarządzanie listwami czasowymi
* Tworzenie elementów nawigacyjnych
* Pobieranie plików multimedialnych z zewnętrznych źródeł
* Przetwarzanie elementów graficznych i dźwiękowych oraz danych tekstowych
* Operacje matematyczne we Flashu
* Optymalizacja filmów
Odkryj zapierające dech w piersiach możliwości synergii Flasha i języka ActionScript!
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
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.
Wyszukiwanie błędów w kodzie to czynność, którą programiści wykonują niemal równie często, jak pisanie kodu. Narzędzia do wykrywania i poprawiania błędów tylko częściowo rozwiązują problem. W wielu przypadkach błąd nie tkwi w nieprawidłowo sformułowanym poleceniu lub źle zdefiniowanej zmiennej, ale w miejscu, którego nawet najlepsze narzędzie nie znajdzie. Programista musi się nauczyć samemu bronić przed ukrytymi pomyłkami i nieprzyjemnymi niespodziankami. Błędy trzeba znaleźć, zanim one znajdą nas.
Książka "Znajdź błąd. Sztuka analizowania kodu" to zbiór 50 programów napisanych w językach Perl, C, Java, Python i asembler x86. Każdy z nich zawiera jeden, trudny do znalezienia, ale jak najbardziej realistyczny błąd. Wykrycie go wymaga przewidzenia sposobu, w jaki program będzie wykonywany, i prześledzenia krok po kroku jego działania. Każdy przykład opatrzony jest wskazówkami pomocnymi przy wyszukiwaniu błędów. Książka przedstawia sposoby analizowania programów i przewidywania miejsc, w których może wystąpić błąd.
* Klasyfikacja błędów
* Metody analizy kodu
* Błędy w programach w języku C
* Analiza aplikacji napisanych w języku Python
* Wyszukiwanie błędów w programach w języku Java
* Programy w języku Perl i asembler x86
Wykonując zadania zawarte w tej książce, nie tylko nauczysz się odnajdywać błędy, ale także udoskonalisz swoje umiejętności w zakresie pisania aplikacji.
Java jest jednym z najpopularniejszych języków programowania na świecie wykorzystywanym przy tworzeniu popularnych aplikacji. Język ten dla początkujących programistów jest często pierwszym poznanym językiem programowania. Dzięki przemyślanej architekturze obiektowej Javy łatwiej Ci będzie nabrać prawidłowych nawyków programistycznych, z kolei funkcjonalność tego języka sprawi, że nauka nie pójdzie na marne, a zdobytą wiedzę wykorzystasz w praktyce. W Javie można bowiem napisać prawie każdą aplikację, od prostej gry działającej w telefonie komórkowym, po skomplikowany system uruchamiany na potężnym serwerze.
"Po prostu Java 2" to książka, dzięki której nauczysz się pisać programy w tym języku, nawet jeśli programowanie było Ci do tej pory zupełnie obce. Książka jest pozbawiona zbędnego balastu teorii. Prezentuje ona wiele zastosowań Javy.
Dzięki książce nauczysz się:
* Składni Javy oraz podstawowych instrukcji
* Korzystać z obiektów i rozpoznawać ich metody
* Tworzyć interfejs użytkownika dla aplikacji Javy
* Pisać aplety i osadzać je w stronach WWW
* Łączyć Javę z JavaScript
* Pisać servlety i strony JSP
* Korzystać z XML z poziomu Javy
Chcesz szybko i bez zbędnych dywagacji dowiedzieć się, dlaczego Java cieszy się takim powodzeniem? Chcesz wykorzystać ją do swoich potrzeb? Ta książka z pewnością Ci w tym pomoże.
Błyskawiczny kurs programowania aplikacji w języku C
Język C, mimo prawie 30-letniej historii, cieszy się niesłabnącą popularnością wśród programistów. Wszyscy jego użytkownicy cenią w nim prostą i czytelną składnię, niewielki i łatwy do zapamiętania zakres słów kluczowych oraz duże możliwości, dzięki którym za pomocą C można rozwiązać niemal każde zagadnienie programistyczne. Zewnętrzne biblioteki, dostępne w sieci oraz dołączane do najpopularniejszych narzędzi programistycznych, dodatkowo rozszerzają możliwości C.
Książka "Programowanie w języku C. Szybki start" to podręcznik dla tych, którzy chcą poznać C w praktyce i nie chcą przebijać się przez dziesiątki stron opisów teoretycznych. Każde zagadnienie -- od najprostszych, związanych ze strukturą programu i zasadami kompilacji aż do złożonych typów danych i obsługi plików zewnętrznych -- jest przedstawione w postaci bogato ilustrowanej sekwencji czynności. Wykonując kolejne przykłady z książki, poznasz wszystkie podstawowe wiadomości o programowaniu w języku C.
* Struktura programu w języku C
* Typy danych
* Sterowanie działaniem programu
* Korzystanie ze standardowego wejścia i wyjścia
* Deklarowanie i stosowanie funkcji
* Dyrektywy preprocesora
* Wskaźniki i zarządzanie pamięcią
* Obsługa plików
* Złożone typy danych
Poznaj zalety i możliwości najpopularniejszego języka programowania.
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.
Choć Java to język gwarantujący efektywną pracę, to jednak kryje w sobie wiele pułapek, które mogą zniweczyć jej efekty. Książka ta ma za zadanie oszczędzić Twój czas i zapobiec frustracji przeprowadzając Cię bezpiecznie przez skomplikowane zagadnienia. Zespół ekspertów od języka Java pod wodzą guru programowania w osobie Michaela Daconta proponuje Ci zestaw sprawdzonych rozwiązań 50 trudnych problemów pojawiających się w praktyce każdego programisty. Rozwiązania te pozwolą Ci uniknąć problemów wynikających z niedostatków języka Java oraz jego interfejsów programowych, w tym pakietów java.util, java.io, java.awt i javax.swing. Autorzy dzielą się także z Czytelnikiem swoimi sposobami na poprawę wydajności aplikacji pisanych w Javie.
Oto niektóre z omawianych zagadnień:
* Składnia języka: zastosowanie metody equals() zamiast operatora == do porównywania obiektów klasy String
* Funkcjonalność wbudowana w język: rozdział metod a mechanizm refleksji, interfejsy i klasy anonimowe
* Użyteczne klasy i kolekcje: wybór klasy PropertyFile i ResourceBundle
* Wejście i wyjście, w tym subtelności związane z przesyłaniem serializowanych obiektów za pomocą gniazd sieciowych
* Graficzny interfejs użytkownika: sposoby uniknięcia typowej pułapki polegającej na zastosowaniu metody repaint() zamiast metody validate() w celu uzyskania nowego układu komponentów
* Graficzny interfejs użytkownika -- sterowanie: m.in. bardziej funkcjonalna kontrola danych wprowadzanych przez użytkownika
* Wydajność: m.in. zastosowanie odroczonego ładowania, tak by zwiększyć szybkość uruchamiania programów
Flash CS3 Professional PL. Techniki zaawansowane. Klatka po klatceWydawnictwo Helion
Odkryj najgłębiej strzeżone tajemnice Flasha
* Jak tworzyć rozbudowane animacje?
* W jaki sposób kontrolować obiekty, wykorzystując ActionScript?
* Jak pobierać dane z zewnętrznych źródeł?
Flash CS3 Professional to kolejne wcielenie narzędzia, które zyskało uznanie dziesiątek tysięcy twórców witryn WWW. Jednak jego niesamowite możliwości w zakresie tworzenia grafiki i animacji to tylko wierzchołek góry lodowej. Swoją prawdziwą potęgę Flash ujawnia, gdy sięgniemy po rozwiązania oparte na wbudowanym, obiektowym języku programowania noszącym nazwę ActionScript 3.0. Za jego pomocą możemy kontrolować niemal każdy aspekt animacji i wszystkie obiekty wchodzące w jej skład, sterować wyświetlaniem i pobieraniem danych oraz odtwarzaniem dźwięku. Jesteśmy w stanie wykreować niesamowite efekty, jakich nigdy nie uzyskalibyśmy, wykorzystując inne techniki.
W książce „Flash CS Professional PL. Techniki zaawansowane. Klatka po klatce" opisano techniki tworzenia animacji związane ze stosowaniem języka ActionScript. Czytając ją, poznasz podstawy tego języka, a także dowiesz się, w jaki sposób pisać skrypty i do jakich obiektów je dołączać. Nauczysz się kontrolować elementy graficzne, dźwiękowe, tekstowe i nawigacyjne umieszczone w prezentacji za pomocą poleceń ActionScriptu. Opanujesz sposoby łączenia witryn WWW tworzonych we Flashu z zewnętrznymi plikami, przeglądarką internetową i serwerem, na którym są publikowane. Znajdziesz tu także informacje o wykrywaniu błędów w skryptach i ich usuwaniu.
* Animacje poklatkowe i automatyczne
* Animowane maski
* Rotoskopia
* Edycja kodu ActionScript w panelu Actions
* Tworzenie funkcji
* Obsługa zdarzeń w animacji
* Zarządzanie listwami czasowymi
* Tworzenie elementów nawigacyjnych
* Pobieranie plików multimedialnych z zewnętrznych źródeł
* Przetwarzanie elementów graficznych i dźwiękowych oraz danych tekstowych
* Operacje matematyczne we Flashu
* Optymalizacja filmów
Odkryj zapierające dech w piersiach możliwości synergii Flasha i języka ActionScript!
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
Asembler dla procesorów Intel. Vademecum profesjonalistyWydawnictwo Helion
Chociaż świat programowania nieodwołalnie zdominowany jest przez języki wyższego poziomu (takie jak C, C++ czy Java), znajomość asemblera jest nadal wysoko ceniona. Użycie języka maszynowego pozwala na pisanie niezwykle wydajnych programów, odwołujących się bezpośrednio do sprzętu, wykorzystujących w 100% możliwości hardware"u.
Książka "Asembler dla procesorów Intel. Vademecum profesjonalisty" to kompletny przewodnik po języku programowania najpopularniejszej rodziny procesorów. Możesz ją traktować jako podręcznik asemblera lub jako kompendium wiedzy, do którego zawsze będziesz mógł się odwołać, gdy zajdzie taka potrzeba. Znajdziesz w niej informacje dotyczące:
* architektury mikroprocesorów i zestawu rozkazów procesorów z rodziny Intel 80x86
* dyrektyw, makr i operatorów języka asembler oraz podstawowej struktury programu
* metodologii programowania oraz sposobów użycia języka asembler do tworzenia narzędzi systemowych i aplikacji
* sposobów pracy z urządzeniami sprzętowymi
* interakcji między programem napisanym w języku asembler, systemem operacyjnym a innymi aplikacjami
* śledzenia przebiegu wykonania programu za pomocą debugera
Oprócz krótkich przykładów książka "Asembler dla procesorów Intel. Vademecum profesjonalisty" zawiera 75 gotowych do uruchomienia programów, które realizują koncepcje prezentowane w tekście. Znajdujące się na końcu książki dodatki stanowią przewodniki po przerwaniach MS-DOS i mnemonikach kodu maszynowego.
Książka "C. Leksykon kieszonkowy" składa się z dwóch części: zwięzłego opisu języka C oraz tematycznie ułożonego przewodnika po bibliotece standardowej. Opis języka został przedstawiony na podstawie standardu ANSI i zawiera wprowadzone później rozszerzenia. Dołączony skorowidz ułatwia szybkie znalezienie informacji na temat funkcji, typów i innych interesujących elementów składni.
Książka przedstawia:
* Podstawy języka C
* Typy danych
* Wyrażenia i operatory
* Instrukcje języka C
* Deklaracje
* Funkcje
* Dyrektywy preprocesora
* Biblioteka standardowa
Gdy zawiedzie Cię pamięć i zapomnisz składni danej instrukcji, "C. Leksykon kieszonkowy" przyjdzie Ci z pomocą. Dzięki tej książce szybko znajdziesz potrzebne informacje, bez konieczności wertowania setek stron podręczników.
Jeśli chcesz rozpocząć przygodę z programowaniem -- zacznij naukę od Perla. Po kilku godzinach pracy przekonasz się, że dokonałeś najlepszego wyboru. Perl posiada wielką zaletę, której brakuje konkurencyjnym narzędziom: nie znając wszystkich jego niuansów możesz pisać działające aplikacje.
Larry Wall stworzył Perla dla osób, które są niecierpliwe (programy w Perlu pisze się bardzo szybko), leniwe (kod programów jest zwięzły, a ich tworzenie ułatwia ogromna liczba gotowych modułów) i chcą być dumne z tego, co robią (sam przekonasz się, jak wiele satysfakcji dostarczy Ci programowanie w Perlu).
Książka przeznaczona jest dla początkujących programistów. Dowiesz się z niej jak zainstalować Perla, a następnie, krok po kroku, ćwiczenie po ćwiczeniu, zagłębisz się w jego świat.
Poznasz:
* Fundamenty języka: zmienne, instrukcje i referencje
* Wyrażenia regularne, umożliwiające szybkie przeszukiwanie tekstów i podmianę fragmentów
* Sposoby korzystania z plików
* Zasady pisania skryptów CGI
* Wysyłanie e-maili za pomocą Perla
* Łączenie Perla z bazami danych
Java to wspaniałe narzędzie w rękach programisty. Ale nawet najlepsze narzędzie może zostać źle użyte. Istnieje wiele książek, które opisują ten język programowania, skupiając się na przedstawieniu jego składni. Ta książka jest zupełnie inna. Adresowana do osób znających już Javę, przedstawia 57 praktycznych zasad pisania efektywnego, poprawnego kodu.
Każda wskazówka to oddzielny podrozdział, przedstawiający opis problemu, przykłady poprawnego (i błędnego!) kodu, a także historie wzięte z doświadczenia autora. Dzięki książce zapoznasz się z idiomami właściwymi językowi Java oraz z istotnymi z praktycznego punktu widzenia wzorcami projektowymi.
Wskazówki dotyczą między innymi:
* Tworzenia i usuwania obiektów
* Pisania metod wspólnych dla wielu obiektów
* Klas i interfejsów
* Javowych odpowiedników konstrukcji znanych z C
* Pisania poprawnych metod
* Obsługi wyjątków
* Korzystania z wątków
* Serializacji obiektów
O autorze:
Joshua Bloch jest współautorem wielu bibliotek języka Java, takich jak Java Collections Framework i java.math, a także autorem licznych prac naukowych.
[więcej...]
Podobnie jak wszystkie książki z serii "Po prostu...", również ta ma na celu wyrwanie Cię z trybu pasywnego czytania i zachęcenie do rozpoczęcia pracy z programem. Ćwiczenia zawarte w książce uczą obsługi funkcji programu Flash. Książka jest przeznaczona zarówno dla początkujących użytkowników programu, jak i dla średnio zaawansowanych projektantów.
Początkowe rozdziały odkrywają podstawy tworzenia elementów graficznych z wykorzystaniem unikalnego zbioru narzędzi rysowniczych programu Flash. Następnie nauczysz się przekształcać elementy graficzne w animację. Potem poznasz sposoby tworzenia elementów interfejsu użytkownika, na przykład przycisków. Aby uczynić zawartość strony interaktywną, użyjesz panelu Behaviors do "napisania" podstawowych skryptów w języku ActionScript. W książce znajdują się też informacje o imporcie różnych plików spoza programu Flash -- czyli utworzonych w innych aplikacjach: grafik, dźwięków i klipów wideo -- oraz ich przetwarzania. Zamieszczono także przegląd nowych narzędzi edycyjnych. Na koniec nauczysz się korzystać z funkcji Publish, czyli tworzyć kod HTML, który jest potrzebny do umieszczania filmów Flasha na stronach WWW.
Master Thesis - Comparative analysis of programming Environments based on Rub...Adam Skołuda
In this thesis, we analyzed technologies for creating web applications, using Ruby and JavaScript. Were chosen two tools for creating frontend and three responsible for the backend. The main emphasis has been on a comparison of selected tools. The preface provides background information to the problem, presents the purpose and division of work. This also explains the motivation to take the topic of work and arrangement of chapters. The theoretical introduction describes the essential issues of web application architecture, the understanding of which is crucial for the realization of the theme. Description of the technology is an important chapter, which describes the selected libraries. These chapters lead to the multivariate analysis. This chapter is a comparison of selected tools, aimed to identify the best in each category. At the end, there is a summary of the work carried out, the conclusions of the study, as well as a subjective assessment of examined technologies. It also takes a polemic about the future direction of web applications.
Poznaj tajniki programowania w języku PL/SQL
* Jak pisać kod w języku PL/SQL?
* Jak zarządzać błędami?
* Jak tworzyć funkcje i procedury?
PL/SQL to wbudowany język proceduralny baz danych Oracle. Jest on rozszerzeniem języka SQL i umożliwia tworzenie takich konstrukcji, jak pętle, instrukcje warunkowe, zmienne i wyzwalacze. Dzięki temu można zautomatyzować wiele czynności administracyjnych oraz rejestrować zmiany danych lub nadzorować ich modyfikacje. Język ten pozwala więc na budowanie dynamicznych i stabilnych aplikacji, opartych na bazach danych typu klient-serwer.
Książka „Oracle Database 11g. Programowanie w języku PL/SQL” zawiera omówienie wszystkich najnowszych funkcji i narzędzi tego języka programowania. Szczegółowe wyjaśnienia wzbogacone zostały o studia przypadków oraz przykładowy kod, który można wkleić do własnej aplikacji. Z tym podręcznikiem nauczysz się pobierać i modyfikować informacje w bazach danych, tworzyć wartościowe instrukcje w języku PL/SQL, skutecznie wykonywać zapytania i budować niezawodne zabezpieczenia. Dowiesz się także między innymi, jak stosować procedury, funkcje, pakiety, kolekcje i wyzwalacze oraz jak zoptymalizować wydajność aplikacji.
* Język PL/SQL — architektura i funkcje
* Struktury sterujące
* Instrukcje
* Zarządzanie błędami
* Programowanie w języku PL/SQL
* Kolekcje
* Obiekty i pakiety
* Wyzwalacze
* Komunikacja między sesjami
* Podprogramy zewnętrzne
* Typy obiektowe
* Biblioteka języka Java
* Rozwój aplikacji sieciowych
Twórz solidne aplikacje sieciowe w języku PL/SQL
* Jak wykorzystać strumienie?
* Jak stworzyć efektowny interfejs użytkownika?
* Jak zapewnić bezpieczeństwo w tworzonych aplikacjach?
Co spowodowało, że język programowania Java zyskał tak wielką popularność? Przyczyn jest kilka: możliwość przenoszenia kodu między programami, wydajność i to, co programiści lubią najbardziej - mechanizm automatycznego oczyszczania pamięci. Nie bez znaczenia jest również to, że Java jest językiem zorientowanym obiektowo, udostępnia obsługę programowania rozproszonego oraz świetną dokumentację. Ponadto liczne publikacje oraz pomocna społeczność sprawiają, że Java zajmuje poczesne miejsce wśród innych języków programowania.
Kolejne wydanie książki "Java. Techniki zaawansowane. Wydanie VIII" zostało zaktualizowane o wszystkie te elementy, które pojawiły się w wersji szóstej platformy Java Standard Edition. Dzięki tej książce dowiesz się, w jaki sposób wykorzystać strumienie, jak parsować dokumenty XML czy też w jaki sposób tworzyć aplikacje sieciowe. Poznasz interfejs JDBC, sposób wykorzystania transakcji oraz wykonywania zapytań SQL. Autorzy w szczegółowy sposób pokażą Ci, jak tworzyć aplikacje z wykorzystaniem biblioteki Swing. Dodatkowo przedstawią, w jaki sposób zapewnić bezpieczeństwo w tworzonych przez Ciebie aplikacjach. Wszystkie te - oraz wiele innych - zagadnienia zostaną przedstawione w przystępny i sprawdzony sposób!
* Wykorzystanie strumieni
* Dokumenty XML i ich wykorzystanie w języku Java
* Programowanie aplikacji sieciowych
* Wykorzystanie interfejsu JDBC
* Tworzenie aplikacji wielojęzycznych
* Możliwości pakietu Swing
* Wykorzystanie biblioteki AWT
* Bezpieczeństwo w aplikacjach
* Zastosowanie podpisu cyfrowego
* Sposoby wykorzystania obiektów rozproszonych (RMI)
Wykorzystaj zaawansowane możliwości języka Java w swoich projektach!
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
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!
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!
Twórz bezpieczne i wydajne aplikacje wielowątkowe
Chcesz podnieść wydajność swoich aplikacji? Planujesz stworzenie systemu, który będzie uruchamiany na maszynach wyposażonych w procesory wielordzeniowe? A może próbowałeś już tworzyć aplikacje wielowątkowe, ale zniechęciłeś się po wielogodzinnych poszukiwaniach przyczyn błędów, które pojawiają się przy wysokich obciążeniach? Java niemal od początku swego istnienia jest wyposażona w mechanizmy umożliwiające tworzenie aplikacji wielowątkowych, lecz dopiero wersja 5. wniosła zupełnie nową jakość, dzięki wielu poprawkom zwiększającym wydajność maszyny wirtualnej oraz dodatkowym klasom ułatwiającym osiąganie lepszej współbieżności.
W książce "Java. Współbieżność dla praktyków" znajdziesz wyczerpujący opis metod projektowania i tworzenia aplikacji wielowątkowych. Przeczytasz nie tylko o klasach, ich działaniu i sposobach wykorzystania, ale również poznasz wzorce projektowe, praktyki programistyczne i modele, dzięki którym programowanie współbieżne jest łatwiejsze. Znajdziesz tu praktyczne aspekty oraz przykłady tworzenia pewnych, skalowalnych i łatwych w konserwacji aplikacji współbieżnych. Dowiesz się także, w jaki sposób testować aplikacje wielowątkowe, wynajdywać w nich błędy i usuwać je.
Dzięki książce poznasz:
* Możliwości wykorzystania wątków
* Podstawy stosowania wątków
* Współdzielenie obiektów
* Struktura aplikacji wielowątkowych
* Zarządzanie wątkami i zadaniami
* Zastosowania pul wątków
* Optymalizowanie wydajności
* Skalowalność aplikacji wielowątkowych
* Testowanie aplikacji współbieżnych
* Model pamięci Javy
* Tworzenie własnych synchronizatorów
* Jak zainstalować i skonfigurować Vistę?
* Jak rozpocząć sprawną pracę w nowym systemie?
* Jak zapewnić mu wysoką wydajność?
Od premiery Visty - najnowszego systemu operacyjnego Microsoftu - minęły już ponad dwa lata. Ogrom zmian i ulepszeń w stosunku do poprzedniej wersji na wszystkich robi wrażenie, dzięki czemu system ten zdobywa coraz większą popularność. Jeżeli zatem masz wątpliwości, czy warto "przesiąść się" na Vistę, lub obawy przed tą operacją, ta książka z pewnością je rozwieje!
Dzięki niej poznasz podstawy wydajnej pracy w systemie operacyjnym Windows Vista oraz dowiesz się, jak szybko uzyskać pomoc w kłopotliwych sytuacjach. Zdobędziesz wiedzę na temat personalizacji środowiska pracy, organizacji plików i folderów oraz instalacji oprogramowania. Ponadto nauczysz się konfigurować nowy sprzęt oraz korzystać z drukarek i skanerów. Wśród poruszanych tematów umieszczono także te związane z podłączeniem komputera do sieci Internet oraz wykorzystaniem multimediów. Ponadto znajdziesz tu szczegółowy opis instalacji systemu oraz dobre rady na temat jego konserwacji i rozwiązywania problemów. Książa ta stanowi świetną lekturę zarówno dla osób, w przypadku których Windows Vista będzie pierwszym systemem operacyjnym, jak i dla tych, które wcześniej korzystały ze starszej wersji systemu. Najwyższy czas zacząć cieszyć się bogactwem możliwości i innowacji systemu Windows Vista. Z tą książką będzie to łatwiejsze!
* Rozpoczęcie pracy
* Interfejs użytkownika
* Korzystanie z systemu pomocy
* Personalizacja środowiska pracy
* Sposoby organizacji plików i folderów
* Instalacja i uruchamianie oprogramowania
* Drukowanie i skanowanie w systemie Windows Vista
* Konfiguracja sprzętu
* Odtwarzanie multimediów
* Podłączenie do sieci Internet
* Sposoby zapewnienia prywatności i bezpieczeństwa
* Zarządzanie kontami użytkownika
* Rozwiązywanie problemów
* Zapewnienie systemowi wysokiej wydajności
Poznaj i wykorzystaj bogactwo możliwości Visty!
Flash MX to aplikacja o oszałamiających możliwościach. Dynamiczne prezentacje, łączenie grafiki z dźwiękiem, animacje -- to tylko część zastosowań tego najpopularniejszego narzędzia multimedialnego stworzonego na potrzeby Internetu. Jeśli chcesz wzbogacić swoje strony WWW o atrakcyjne animacje -- po prostu sięgnij po tę książkę. Bez zbędnych opisów wprowadzi Cię ona w świat Flasha MX.
Dowiesz się:
* Jak funkcjonuje środowisko Flash i jakie nowości wprowadzono w wersji MX
* Jak tworzyć i modyfikować grafikę we Flashu
* Jak wykorzystać możliwości pracy z warstwami
* Jak używać symboli
* Jak tworzyć animacje
* Jak stworzyć animację reagującą na działania użytkownika
* Jak łączyć animacje z dźwiękiem i obrazem wideo
* ... i wiele więcej
Systematycznie lub wyrywkowo: czytaj tę książkę tak, jak chcesz. Zwięzłe objaśnienia i towarzyszące im liczne ilustracje oraz przykłady doprowadzą Cię wprost do celu.
Nawet najbardziej niezawodny komputer czasem działa nieprawidłowo. Rozwiązanie nasuwające się jako pierwsze -- oddanie sprzętu do naprawy -- tylko pozornie jest najlepsze. Każdy serwis za zdiagnozowanie usterki wystawi rachunek, czasami dość słony. Może więc spróbować samodzielnie znaleźć przyczynę problemów i usunąć ją? Dzięki programom diagnostycznym zadanie to może wykonać także początkujący użytkownik komputera.
Czytając książkę "Diagnostyka sprzętu komputerowego", nauczysz się korzystać z programów monitorujących pracę komputera oraz wykrywać i usuwać usterki. Dowiesz się, jak sprawdzić parametry systemu za pomocą programów SiSoft Sandra i Everest. Przeanalizujesz połączenia sieciowe i zabezpieczenia komputera, a także poznasz sposoby przywracania uszkodzonego systemu za pomocą płyt UBCD i EBCD.
* Testowanie systemu i kart graficznych
* Kontrola temperatury procesora i napięcia na płycie głównej
* Zmiana taktowania płyty głównej
* Testowanie połączeń sieciowych
* Tworzenie płyt UBCD i EBCD oraz korzystanie z nich
Masz problem z komputerem?
Rozwiąż go samodzielnie, a zaoszczędzisz sporo pieniędzy.
Skorzystaj z tego, co w Windows Vista najlepsze i najbardziej potrzebne
* Jak korzystać z ciekawych gadżetów?
* Jak bezpiecznie surfować po sieci?
* Jak obrobić grafikę?
Windows Vista to nowoczesny system operacyjny, stworzony po to, abyś mógł po prostu sprawnie, bezpiecznie i z radością używać swojego komputera i korzystać z internetu. Jeśli nie lubisz opasłych tomów przepełnionych technicznym żargonem, a zależy Ci na zdobyciu praktycznych umiejętności oraz interesuje Cię kilka pomijanych w innych książkach zagadnień, ten podręcznik jest właśnie dla Ciebie!
Dzięki książce „Windows Vista PL. Zabawa multimediami” nauczysz się efektywnie korzystać z najnowszych możliwości systemu Windows. Dowiesz się m.in. jak perfekcyjnie zorganizować swoją kolekcję cyfrowych fotografii, odtwarzać muzykę, montować i obrabiać wideo i zapewnić bezpieczną pracę komputera. Dopasujesz także Vistę do swoich potrzeb i nawet najbardziej wygórowanych oczekiwań! Każdą stronę tego podręcznika poświęcono jednemu tematowi, bogato ilustrując je kolorowymi fotografiami i zrzutami ekranowymi, ułatwiającymi opanowanie zagadnienia i szybkie znalezienie w książce właśnie tego, czego poszukujesz.
* Windows Vista — tworzenie własnego pulpitu
* Nowe gadżety i pasek boczny
* Bezpieczeństwo
* Internet i poczta elektroniczna
* Osobista galeria fotografii i upiększanie zdjęć
* Odtwarzanie i organizowanie plików muzycznych — Media Player
* DVD i własne filmy
* Porządek i nawigacja po plikach i folderach
Wszystko, co musisz wiedzieć, by czerpać radość z pracy z systemem Vista!
Błyskawiczny kurs obsługi niesamowitego systemu operacyjnego
* Jak zarządzać plikami i katalogami?
* W jaki sposób wykorzystywać Findera?
* Jak dostosować system do swoich potrzeb?
* W jaki sposób podłączyć komputer do internetu?
Najnowsza wersja systemu operacyjnego Mac OS X, nosząca nazwę Leopard, znów wyznacza standardy w zakresie graficznych interfejsów użytkownika oraz jakości i wygody obsługi. Filozofia korzystania z systemu Mac OS od dawna była źródłem inspiracji dla autorów innych rozwiązań. Leopard oferuje to, co najlepsze, z poprzednich wersji Mac OS X, a dodatkowo wiele nowych funkcji, dzięki którym praca z nim staje się jeszcze łatwiejsza i wydajniejsza. Nowy moduł Finder, przekonstruowana wyszukiwarka Spotlight, aplikacja Time Machine - to tylko niektóre z udoskonaleń, jakie czekają na użytkowników Leoparda.
Książka "Po prostu Mac OS X 10.5 Leopard PL" to podręcznik, dzięki któremu ujarzmisz kolejnego dzikiego kota spod znaku jabłka. Dowiesz się, jak zainstalować system, korzystać z jego podstawowych elementów - biurka, Docka, Findera, Spotlight, menu systemowego - i zarządzać plikami oraz katalogami. Poznasz programy dołączone do Mac OS X, nauczysz się dostosowywać system do swoich potrzeb, korzystać z przeglądarki Safari, programu Mail oraz widgetów. Przeczytasz także o aplikacji Time Machine, pracy w sieci, odtwarzaniu plików multimedialnych i wielu innych zadaniach, jakie możesz zrealizować za pomocą Twojego Maca i systemu Leopard. Co najważniejsze, każde z zagadnień jest przedstawione w postaci bogato ilustrowanej sekwencji czynności. Dzięki temu szybko je opanujesz i będziesz mógł zająć się pracą oraz zabawą z Leopardem.
* Instalacja systemu
* Korzystanie z klawiatury i myszy
* Dock, Finder i Spotlight
* Zarządzanie katalogami
* Narzędzia do zarządzania dyskami
* Nagrywanie płyt CD i DVD
* Wykorzystywanie wszystkich możliwości Findera
* Edycja tekstów w programie TextEdit
* Odtwarzanie muzyki i filmów
* Dashboard
* Drukowanie i faksowanie
* Zarządzanie czcionkami
* Praca w sieci
* Przeglądanie stron WWW i korzystanie z poczty elektronicznej
* Preferencje systemowe
* Instalacja systemu Windows za pomocą modułu BootCamp
Poznaj system Leopard - kota zaskakująco łatwego w tresurze!
Moduł mod_rewrite, nazywany często "scyzorykiem armii szwajcarskiej", to potężne narzędzie administratorów serwerów WWW, które uruchomiono w oparciu o Apache. Za jego pomocą można w dowolny niemal sposób manipulować adresami URL wpisywanymi przez użytkowników w przeglądarce internetowej. Mod_rewrite, oparty na dyrektywach i wyrażeniach regularnych, pozwala na zmianę postaci adresów URL w oparciu o zmienne środowiskowe, nagłówki HTTP i wiele innych warunków. Ogromne możliwości mod_rewrite sprawiają, że jest on określany jako "równie skomplikowany i tajemniczy jak magia woodoo".
Celem książki "mod_rewrite. Podręcznik administratora" jest przybliżenie możliwości tego modułu administratorom serwerów. Przedstawia ona zarówno zagadnienia podstawowe, czyli obszar zastosowań modułu oraz zasady wykorzystania wyrażeń regularnych, jak i zagadnienia zaawansowane, takie jak tworzenie serwerów wirtualnych, kontrola dostępu i użycie dyrektyw warunkowych. Czytając tę książkę, dowiesz się, kiedy należy stosować mod_rewrite, jak go instalować i konfigurować, jak pracować z mechanizmem przepisywania oraz w jaki sposób wyszukiwać i usuwać błędy w dyrektywach modułu.
* Podstawowe wiadomości o mod_rewrite
* Wyrażenia regularne
* Procedura instalowania modułu mod_rewrite
* Korzystanie z dyrektywy RewriteRule
* Przepisywanie warunkowe
* Zewnętrzny mechanizm odwzorowania adresów
* Dynamiczne tworzenie serwerów wirtualnych
* Współpraca modułu mod_rewrite z modułem mod_proxy
Przekonaj się, że mod_rewrite jest mniej skomplikowany
od formuły uzyskania złota z ołowiu.
Asembler dla procesorów Intel. Vademecum profesjonalistyWydawnictwo Helion
Chociaż świat programowania nieodwołalnie zdominowany jest przez języki wyższego poziomu (takie jak C, C++ czy Java), znajomość asemblera jest nadal wysoko ceniona. Użycie języka maszynowego pozwala na pisanie niezwykle wydajnych programów, odwołujących się bezpośrednio do sprzętu, wykorzystujących w 100% możliwości hardware"u.
Książka "Asembler dla procesorów Intel. Vademecum profesjonalisty" to kompletny przewodnik po języku programowania najpopularniejszej rodziny procesorów. Możesz ją traktować jako podręcznik asemblera lub jako kompendium wiedzy, do którego zawsze będziesz mógł się odwołać, gdy zajdzie taka potrzeba. Znajdziesz w niej informacje dotyczące:
* architektury mikroprocesorów i zestawu rozkazów procesorów z rodziny Intel 80x86
* dyrektyw, makr i operatorów języka asembler oraz podstawowej struktury programu
* metodologii programowania oraz sposobów użycia języka asembler do tworzenia narzędzi systemowych i aplikacji
* sposobów pracy z urządzeniami sprzętowymi
* interakcji między programem napisanym w języku asembler, systemem operacyjnym a innymi aplikacjami
* śledzenia przebiegu wykonania programu za pomocą debugera
Oprócz krótkich przykładów książka "Asembler dla procesorów Intel. Vademecum profesjonalisty" zawiera 75 gotowych do uruchomienia programów, które realizują koncepcje prezentowane w tekście. Znajdujące się na końcu książki dodatki stanowią przewodniki po przerwaniach MS-DOS i mnemonikach kodu maszynowego.
Książka "C. Leksykon kieszonkowy" składa się z dwóch części: zwięzłego opisu języka C oraz tematycznie ułożonego przewodnika po bibliotece standardowej. Opis języka został przedstawiony na podstawie standardu ANSI i zawiera wprowadzone później rozszerzenia. Dołączony skorowidz ułatwia szybkie znalezienie informacji na temat funkcji, typów i innych interesujących elementów składni.
Książka przedstawia:
* Podstawy języka C
* Typy danych
* Wyrażenia i operatory
* Instrukcje języka C
* Deklaracje
* Funkcje
* Dyrektywy preprocesora
* Biblioteka standardowa
Gdy zawiedzie Cię pamięć i zapomnisz składni danej instrukcji, "C. Leksykon kieszonkowy" przyjdzie Ci z pomocą. Dzięki tej książce szybko znajdziesz potrzebne informacje, bez konieczności wertowania setek stron podręczników.
Jeśli chcesz rozpocząć przygodę z programowaniem -- zacznij naukę od Perla. Po kilku godzinach pracy przekonasz się, że dokonałeś najlepszego wyboru. Perl posiada wielką zaletę, której brakuje konkurencyjnym narzędziom: nie znając wszystkich jego niuansów możesz pisać działające aplikacje.
Larry Wall stworzył Perla dla osób, które są niecierpliwe (programy w Perlu pisze się bardzo szybko), leniwe (kod programów jest zwięzły, a ich tworzenie ułatwia ogromna liczba gotowych modułów) i chcą być dumne z tego, co robią (sam przekonasz się, jak wiele satysfakcji dostarczy Ci programowanie w Perlu).
Książka przeznaczona jest dla początkujących programistów. Dowiesz się z niej jak zainstalować Perla, a następnie, krok po kroku, ćwiczenie po ćwiczeniu, zagłębisz się w jego świat.
Poznasz:
* Fundamenty języka: zmienne, instrukcje i referencje
* Wyrażenia regularne, umożliwiające szybkie przeszukiwanie tekstów i podmianę fragmentów
* Sposoby korzystania z plików
* Zasady pisania skryptów CGI
* Wysyłanie e-maili za pomocą Perla
* Łączenie Perla z bazami danych
Java to wspaniałe narzędzie w rękach programisty. Ale nawet najlepsze narzędzie może zostać źle użyte. Istnieje wiele książek, które opisują ten język programowania, skupiając się na przedstawieniu jego składni. Ta książka jest zupełnie inna. Adresowana do osób znających już Javę, przedstawia 57 praktycznych zasad pisania efektywnego, poprawnego kodu.
Każda wskazówka to oddzielny podrozdział, przedstawiający opis problemu, przykłady poprawnego (i błędnego!) kodu, a także historie wzięte z doświadczenia autora. Dzięki książce zapoznasz się z idiomami właściwymi językowi Java oraz z istotnymi z praktycznego punktu widzenia wzorcami projektowymi.
Wskazówki dotyczą między innymi:
* Tworzenia i usuwania obiektów
* Pisania metod wspólnych dla wielu obiektów
* Klas i interfejsów
* Javowych odpowiedników konstrukcji znanych z C
* Pisania poprawnych metod
* Obsługi wyjątków
* Korzystania z wątków
* Serializacji obiektów
O autorze:
Joshua Bloch jest współautorem wielu bibliotek języka Java, takich jak Java Collections Framework i java.math, a także autorem licznych prac naukowych.
[więcej...]
Podobnie jak wszystkie książki z serii "Po prostu...", również ta ma na celu wyrwanie Cię z trybu pasywnego czytania i zachęcenie do rozpoczęcia pracy z programem. Ćwiczenia zawarte w książce uczą obsługi funkcji programu Flash. Książka jest przeznaczona zarówno dla początkujących użytkowników programu, jak i dla średnio zaawansowanych projektantów.
Początkowe rozdziały odkrywają podstawy tworzenia elementów graficznych z wykorzystaniem unikalnego zbioru narzędzi rysowniczych programu Flash. Następnie nauczysz się przekształcać elementy graficzne w animację. Potem poznasz sposoby tworzenia elementów interfejsu użytkownika, na przykład przycisków. Aby uczynić zawartość strony interaktywną, użyjesz panelu Behaviors do "napisania" podstawowych skryptów w języku ActionScript. W książce znajdują się też informacje o imporcie różnych plików spoza programu Flash -- czyli utworzonych w innych aplikacjach: grafik, dźwięków i klipów wideo -- oraz ich przetwarzania. Zamieszczono także przegląd nowych narzędzi edycyjnych. Na koniec nauczysz się korzystać z funkcji Publish, czyli tworzyć kod HTML, który jest potrzebny do umieszczania filmów Flasha na stronach WWW.
Master Thesis - Comparative analysis of programming Environments based on Rub...Adam Skołuda
In this thesis, we analyzed technologies for creating web applications, using Ruby and JavaScript. Were chosen two tools for creating frontend and three responsible for the backend. The main emphasis has been on a comparison of selected tools. The preface provides background information to the problem, presents the purpose and division of work. This also explains the motivation to take the topic of work and arrangement of chapters. The theoretical introduction describes the essential issues of web application architecture, the understanding of which is crucial for the realization of the theme. Description of the technology is an important chapter, which describes the selected libraries. These chapters lead to the multivariate analysis. This chapter is a comparison of selected tools, aimed to identify the best in each category. At the end, there is a summary of the work carried out, the conclusions of the study, as well as a subjective assessment of examined technologies. It also takes a polemic about the future direction of web applications.
Poznaj tajniki programowania w języku PL/SQL
* Jak pisać kod w języku PL/SQL?
* Jak zarządzać błędami?
* Jak tworzyć funkcje i procedury?
PL/SQL to wbudowany język proceduralny baz danych Oracle. Jest on rozszerzeniem języka SQL i umożliwia tworzenie takich konstrukcji, jak pętle, instrukcje warunkowe, zmienne i wyzwalacze. Dzięki temu można zautomatyzować wiele czynności administracyjnych oraz rejestrować zmiany danych lub nadzorować ich modyfikacje. Język ten pozwala więc na budowanie dynamicznych i stabilnych aplikacji, opartych na bazach danych typu klient-serwer.
Książka „Oracle Database 11g. Programowanie w języku PL/SQL” zawiera omówienie wszystkich najnowszych funkcji i narzędzi tego języka programowania. Szczegółowe wyjaśnienia wzbogacone zostały o studia przypadków oraz przykładowy kod, który można wkleić do własnej aplikacji. Z tym podręcznikiem nauczysz się pobierać i modyfikować informacje w bazach danych, tworzyć wartościowe instrukcje w języku PL/SQL, skutecznie wykonywać zapytania i budować niezawodne zabezpieczenia. Dowiesz się także między innymi, jak stosować procedury, funkcje, pakiety, kolekcje i wyzwalacze oraz jak zoptymalizować wydajność aplikacji.
* Język PL/SQL — architektura i funkcje
* Struktury sterujące
* Instrukcje
* Zarządzanie błędami
* Programowanie w języku PL/SQL
* Kolekcje
* Obiekty i pakiety
* Wyzwalacze
* Komunikacja między sesjami
* Podprogramy zewnętrzne
* Typy obiektowe
* Biblioteka języka Java
* Rozwój aplikacji sieciowych
Twórz solidne aplikacje sieciowe w języku PL/SQL
* Jak wykorzystać strumienie?
* Jak stworzyć efektowny interfejs użytkownika?
* Jak zapewnić bezpieczeństwo w tworzonych aplikacjach?
Co spowodowało, że język programowania Java zyskał tak wielką popularność? Przyczyn jest kilka: możliwość przenoszenia kodu między programami, wydajność i to, co programiści lubią najbardziej - mechanizm automatycznego oczyszczania pamięci. Nie bez znaczenia jest również to, że Java jest językiem zorientowanym obiektowo, udostępnia obsługę programowania rozproszonego oraz świetną dokumentację. Ponadto liczne publikacje oraz pomocna społeczność sprawiają, że Java zajmuje poczesne miejsce wśród innych języków programowania.
Kolejne wydanie książki "Java. Techniki zaawansowane. Wydanie VIII" zostało zaktualizowane o wszystkie te elementy, które pojawiły się w wersji szóstej platformy Java Standard Edition. Dzięki tej książce dowiesz się, w jaki sposób wykorzystać strumienie, jak parsować dokumenty XML czy też w jaki sposób tworzyć aplikacje sieciowe. Poznasz interfejs JDBC, sposób wykorzystania transakcji oraz wykonywania zapytań SQL. Autorzy w szczegółowy sposób pokażą Ci, jak tworzyć aplikacje z wykorzystaniem biblioteki Swing. Dodatkowo przedstawią, w jaki sposób zapewnić bezpieczeństwo w tworzonych przez Ciebie aplikacjach. Wszystkie te - oraz wiele innych - zagadnienia zostaną przedstawione w przystępny i sprawdzony sposób!
* Wykorzystanie strumieni
* Dokumenty XML i ich wykorzystanie w języku Java
* Programowanie aplikacji sieciowych
* Wykorzystanie interfejsu JDBC
* Tworzenie aplikacji wielojęzycznych
* Możliwości pakietu Swing
* Wykorzystanie biblioteki AWT
* Bezpieczeństwo w aplikacjach
* Zastosowanie podpisu cyfrowego
* Sposoby wykorzystania obiektów rozproszonych (RMI)
Wykorzystaj zaawansowane możliwości języka Java w swoich projektach!
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
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!
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!
Twórz bezpieczne i wydajne aplikacje wielowątkowe
Chcesz podnieść wydajność swoich aplikacji? Planujesz stworzenie systemu, który będzie uruchamiany na maszynach wyposażonych w procesory wielordzeniowe? A może próbowałeś już tworzyć aplikacje wielowątkowe, ale zniechęciłeś się po wielogodzinnych poszukiwaniach przyczyn błędów, które pojawiają się przy wysokich obciążeniach? Java niemal od początku swego istnienia jest wyposażona w mechanizmy umożliwiające tworzenie aplikacji wielowątkowych, lecz dopiero wersja 5. wniosła zupełnie nową jakość, dzięki wielu poprawkom zwiększającym wydajność maszyny wirtualnej oraz dodatkowym klasom ułatwiającym osiąganie lepszej współbieżności.
W książce "Java. Współbieżność dla praktyków" znajdziesz wyczerpujący opis metod projektowania i tworzenia aplikacji wielowątkowych. Przeczytasz nie tylko o klasach, ich działaniu i sposobach wykorzystania, ale również poznasz wzorce projektowe, praktyki programistyczne i modele, dzięki którym programowanie współbieżne jest łatwiejsze. Znajdziesz tu praktyczne aspekty oraz przykłady tworzenia pewnych, skalowalnych i łatwych w konserwacji aplikacji współbieżnych. Dowiesz się także, w jaki sposób testować aplikacje wielowątkowe, wynajdywać w nich błędy i usuwać je.
Dzięki książce poznasz:
* Możliwości wykorzystania wątków
* Podstawy stosowania wątków
* Współdzielenie obiektów
* Struktura aplikacji wielowątkowych
* Zarządzanie wątkami i zadaniami
* Zastosowania pul wątków
* Optymalizowanie wydajności
* Skalowalność aplikacji wielowątkowych
* Testowanie aplikacji współbieżnych
* Model pamięci Javy
* Tworzenie własnych synchronizatorów
* Jak zainstalować i skonfigurować Vistę?
* Jak rozpocząć sprawną pracę w nowym systemie?
* Jak zapewnić mu wysoką wydajność?
Od premiery Visty - najnowszego systemu operacyjnego Microsoftu - minęły już ponad dwa lata. Ogrom zmian i ulepszeń w stosunku do poprzedniej wersji na wszystkich robi wrażenie, dzięki czemu system ten zdobywa coraz większą popularność. Jeżeli zatem masz wątpliwości, czy warto "przesiąść się" na Vistę, lub obawy przed tą operacją, ta książka z pewnością je rozwieje!
Dzięki niej poznasz podstawy wydajnej pracy w systemie operacyjnym Windows Vista oraz dowiesz się, jak szybko uzyskać pomoc w kłopotliwych sytuacjach. Zdobędziesz wiedzę na temat personalizacji środowiska pracy, organizacji plików i folderów oraz instalacji oprogramowania. Ponadto nauczysz się konfigurować nowy sprzęt oraz korzystać z drukarek i skanerów. Wśród poruszanych tematów umieszczono także te związane z podłączeniem komputera do sieci Internet oraz wykorzystaniem multimediów. Ponadto znajdziesz tu szczegółowy opis instalacji systemu oraz dobre rady na temat jego konserwacji i rozwiązywania problemów. Książa ta stanowi świetną lekturę zarówno dla osób, w przypadku których Windows Vista będzie pierwszym systemem operacyjnym, jak i dla tych, które wcześniej korzystały ze starszej wersji systemu. Najwyższy czas zacząć cieszyć się bogactwem możliwości i innowacji systemu Windows Vista. Z tą książką będzie to łatwiejsze!
* Rozpoczęcie pracy
* Interfejs użytkownika
* Korzystanie z systemu pomocy
* Personalizacja środowiska pracy
* Sposoby organizacji plików i folderów
* Instalacja i uruchamianie oprogramowania
* Drukowanie i skanowanie w systemie Windows Vista
* Konfiguracja sprzętu
* Odtwarzanie multimediów
* Podłączenie do sieci Internet
* Sposoby zapewnienia prywatności i bezpieczeństwa
* Zarządzanie kontami użytkownika
* Rozwiązywanie problemów
* Zapewnienie systemowi wysokiej wydajności
Poznaj i wykorzystaj bogactwo możliwości Visty!
Flash MX to aplikacja o oszałamiających możliwościach. Dynamiczne prezentacje, łączenie grafiki z dźwiękiem, animacje -- to tylko część zastosowań tego najpopularniejszego narzędzia multimedialnego stworzonego na potrzeby Internetu. Jeśli chcesz wzbogacić swoje strony WWW o atrakcyjne animacje -- po prostu sięgnij po tę książkę. Bez zbędnych opisów wprowadzi Cię ona w świat Flasha MX.
Dowiesz się:
* Jak funkcjonuje środowisko Flash i jakie nowości wprowadzono w wersji MX
* Jak tworzyć i modyfikować grafikę we Flashu
* Jak wykorzystać możliwości pracy z warstwami
* Jak używać symboli
* Jak tworzyć animacje
* Jak stworzyć animację reagującą na działania użytkownika
* Jak łączyć animacje z dźwiękiem i obrazem wideo
* ... i wiele więcej
Systematycznie lub wyrywkowo: czytaj tę książkę tak, jak chcesz. Zwięzłe objaśnienia i towarzyszące im liczne ilustracje oraz przykłady doprowadzą Cię wprost do celu.
Nawet najbardziej niezawodny komputer czasem działa nieprawidłowo. Rozwiązanie nasuwające się jako pierwsze -- oddanie sprzętu do naprawy -- tylko pozornie jest najlepsze. Każdy serwis za zdiagnozowanie usterki wystawi rachunek, czasami dość słony. Może więc spróbować samodzielnie znaleźć przyczynę problemów i usunąć ją? Dzięki programom diagnostycznym zadanie to może wykonać także początkujący użytkownik komputera.
Czytając książkę "Diagnostyka sprzętu komputerowego", nauczysz się korzystać z programów monitorujących pracę komputera oraz wykrywać i usuwać usterki. Dowiesz się, jak sprawdzić parametry systemu za pomocą programów SiSoft Sandra i Everest. Przeanalizujesz połączenia sieciowe i zabezpieczenia komputera, a także poznasz sposoby przywracania uszkodzonego systemu za pomocą płyt UBCD i EBCD.
* Testowanie systemu i kart graficznych
* Kontrola temperatury procesora i napięcia na płycie głównej
* Zmiana taktowania płyty głównej
* Testowanie połączeń sieciowych
* Tworzenie płyt UBCD i EBCD oraz korzystanie z nich
Masz problem z komputerem?
Rozwiąż go samodzielnie, a zaoszczędzisz sporo pieniędzy.
Skorzystaj z tego, co w Windows Vista najlepsze i najbardziej potrzebne
* Jak korzystać z ciekawych gadżetów?
* Jak bezpiecznie surfować po sieci?
* Jak obrobić grafikę?
Windows Vista to nowoczesny system operacyjny, stworzony po to, abyś mógł po prostu sprawnie, bezpiecznie i z radością używać swojego komputera i korzystać z internetu. Jeśli nie lubisz opasłych tomów przepełnionych technicznym żargonem, a zależy Ci na zdobyciu praktycznych umiejętności oraz interesuje Cię kilka pomijanych w innych książkach zagadnień, ten podręcznik jest właśnie dla Ciebie!
Dzięki książce „Windows Vista PL. Zabawa multimediami” nauczysz się efektywnie korzystać z najnowszych możliwości systemu Windows. Dowiesz się m.in. jak perfekcyjnie zorganizować swoją kolekcję cyfrowych fotografii, odtwarzać muzykę, montować i obrabiać wideo i zapewnić bezpieczną pracę komputera. Dopasujesz także Vistę do swoich potrzeb i nawet najbardziej wygórowanych oczekiwań! Każdą stronę tego podręcznika poświęcono jednemu tematowi, bogato ilustrując je kolorowymi fotografiami i zrzutami ekranowymi, ułatwiającymi opanowanie zagadnienia i szybkie znalezienie w książce właśnie tego, czego poszukujesz.
* Windows Vista — tworzenie własnego pulpitu
* Nowe gadżety i pasek boczny
* Bezpieczeństwo
* Internet i poczta elektroniczna
* Osobista galeria fotografii i upiększanie zdjęć
* Odtwarzanie i organizowanie plików muzycznych — Media Player
* DVD i własne filmy
* Porządek i nawigacja po plikach i folderach
Wszystko, co musisz wiedzieć, by czerpać radość z pracy z systemem Vista!
Błyskawiczny kurs obsługi niesamowitego systemu operacyjnego
* Jak zarządzać plikami i katalogami?
* W jaki sposób wykorzystywać Findera?
* Jak dostosować system do swoich potrzeb?
* W jaki sposób podłączyć komputer do internetu?
Najnowsza wersja systemu operacyjnego Mac OS X, nosząca nazwę Leopard, znów wyznacza standardy w zakresie graficznych interfejsów użytkownika oraz jakości i wygody obsługi. Filozofia korzystania z systemu Mac OS od dawna była źródłem inspiracji dla autorów innych rozwiązań. Leopard oferuje to, co najlepsze, z poprzednich wersji Mac OS X, a dodatkowo wiele nowych funkcji, dzięki którym praca z nim staje się jeszcze łatwiejsza i wydajniejsza. Nowy moduł Finder, przekonstruowana wyszukiwarka Spotlight, aplikacja Time Machine - to tylko niektóre z udoskonaleń, jakie czekają na użytkowników Leoparda.
Książka "Po prostu Mac OS X 10.5 Leopard PL" to podręcznik, dzięki któremu ujarzmisz kolejnego dzikiego kota spod znaku jabłka. Dowiesz się, jak zainstalować system, korzystać z jego podstawowych elementów - biurka, Docka, Findera, Spotlight, menu systemowego - i zarządzać plikami oraz katalogami. Poznasz programy dołączone do Mac OS X, nauczysz się dostosowywać system do swoich potrzeb, korzystać z przeglądarki Safari, programu Mail oraz widgetów. Przeczytasz także o aplikacji Time Machine, pracy w sieci, odtwarzaniu plików multimedialnych i wielu innych zadaniach, jakie możesz zrealizować za pomocą Twojego Maca i systemu Leopard. Co najważniejsze, każde z zagadnień jest przedstawione w postaci bogato ilustrowanej sekwencji czynności. Dzięki temu szybko je opanujesz i będziesz mógł zająć się pracą oraz zabawą z Leopardem.
* Instalacja systemu
* Korzystanie z klawiatury i myszy
* Dock, Finder i Spotlight
* Zarządzanie katalogami
* Narzędzia do zarządzania dyskami
* Nagrywanie płyt CD i DVD
* Wykorzystywanie wszystkich możliwości Findera
* Edycja tekstów w programie TextEdit
* Odtwarzanie muzyki i filmów
* Dashboard
* Drukowanie i faksowanie
* Zarządzanie czcionkami
* Praca w sieci
* Przeglądanie stron WWW i korzystanie z poczty elektronicznej
* Preferencje systemowe
* Instalacja systemu Windows za pomocą modułu BootCamp
Poznaj system Leopard - kota zaskakująco łatwego w tresurze!
Moduł mod_rewrite, nazywany często "scyzorykiem armii szwajcarskiej", to potężne narzędzie administratorów serwerów WWW, które uruchomiono w oparciu o Apache. Za jego pomocą można w dowolny niemal sposób manipulować adresami URL wpisywanymi przez użytkowników w przeglądarce internetowej. Mod_rewrite, oparty na dyrektywach i wyrażeniach regularnych, pozwala na zmianę postaci adresów URL w oparciu o zmienne środowiskowe, nagłówki HTTP i wiele innych warunków. Ogromne możliwości mod_rewrite sprawiają, że jest on określany jako "równie skomplikowany i tajemniczy jak magia woodoo".
Celem książki "mod_rewrite. Podręcznik administratora" jest przybliżenie możliwości tego modułu administratorom serwerów. Przedstawia ona zarówno zagadnienia podstawowe, czyli obszar zastosowań modułu oraz zasady wykorzystania wyrażeń regularnych, jak i zagadnienia zaawansowane, takie jak tworzenie serwerów wirtualnych, kontrola dostępu i użycie dyrektyw warunkowych. Czytając tę książkę, dowiesz się, kiedy należy stosować mod_rewrite, jak go instalować i konfigurować, jak pracować z mechanizmem przepisywania oraz w jaki sposób wyszukiwać i usuwać błędy w dyrektywach modułu.
* Podstawowe wiadomości o mod_rewrite
* Wyrażenia regularne
* Procedura instalowania modułu mod_rewrite
* Korzystanie z dyrektywy RewriteRule
* Przepisywanie warunkowe
* Zewnętrzny mechanizm odwzorowania adresów
* Dynamiczne tworzenie serwerów wirtualnych
* Współpraca modułu mod_rewrite z modułem mod_proxy
Przekonaj się, że mod_rewrite jest mniej skomplikowany
od formuły uzyskania złota z ołowiu.
Usuń luki w zabezpieczeniach programów i systemów operacyjnych
* Poznaj przyczyny powstawania luk
* Naucz się sposobów włamań do systemów
* Podejmij odpowiednie środki zapobiegawcze
Niemal co tydzień dowiadujemy się o nowych "łatach" usuwających luki w zabezpieczeniach systemów operacyjnych i programów. Niestety -- często, zanim łata zostanie rozpowszechniona i zainstalowana na komputerach, ktoś wykorzysta "dziurę" w systemie i włamie się do niego. Cóż więc zrobić, aby zabezpieczyć swoje dane przez atakiem hakera? Jak znaleźć słabe punkty zabezpieczeń i usunąć je? W jaki sposób zaimplementować odpowiednie zabezpieczenia w tworzonym przez siebie oprogramowaniu?
Książka "The Shellcoder’s handbook. Edycja polska" zawiera odpowiedzi na wszystkie te pytania. Książka będąca efektem pracy zespołu złożonego ze specjalistów w zakresie bezpieczeństwa systemów komputerowych, analityków i hakerów przedstawia sposoby wykrywania słabych punktów oprogramowania tworzonego w języku C i sprawdzenia możliwości ich wykorzystania. Opisuje luki w istniejących systemach i programach oraz sposoby ich zabezpieczenia. Zawarte w niej wiadomości pozwolą na tworzenie własnych systemów wykrywania błędów i pomogą ustalić, czy błędy te stanowią potencjalne zagrożenie.
* Podstawowe metody włamań do różnych systemów operacyjnych
* Techniki przepełniania stosu, wykorzystywania kodu powłoki i błędów łańcuchów formatujących
* Kontrola słabych punktów programów metodami wstrzykiwania kodu i fuzzingu
* Kontrola kodu źródłowego programów
* Klasy błędów
* Sposoby śledzenia słabych punktów
* Analiza kodu binarnego
* Tworzenie eksploitów
* Ataki na systemy zarządzania bazami danych
Nie dopuść do tego, aby Twoje programy padły ofiarą ataku hakera.
Język Pascal, kojarzący się głównie z nauką programowania, stał się podstawą jednego z najpopularniejszych obecnie środowisk programistycznych -- Delphi firmy Borland. To graficzne środowisko, pozwalające na szybkie tworzenie aplikacji dzięki możliwości składania ich z "klocków" zwanych komponentami, błyskawicznie zyskało uznanie programistów na całym świecie. Kolejne wersje Delphi oferowały coraz większe możliwości. Jego najnowsza wersja pozwala na tworzenie programów dla platformy .NET i korzystanie nie tylko z języka Pascal, ale również z coraz popularniejszego C#.
Książka "Delphi. Szybki start" to doskonały przewodnik po Delphi dla początkujących użytkowników. Dzięki niemu poznasz język Object Pascal i zasady programowania obiektowego. Nauczysz się wykorzystywać komponenty do tworzenia aplikacji i od zera napiszesz własne programy. Dowiesz się, czym się różni Delphi 7 od Delphi 2005, i wykorzystasz możliwości obu tych środowisk.
* Interfejs użytkownika środowiska Delphi
* Elementy języka Object Pascal
* Programowanie obiektowe
* Obsługa wyjątków
* Tworzenie okien dialogowych
* Projektowanie interfejsów użytkownika
* Korzystanie z komponentów
Poznaj możliwości środowiska Delphi.
Czytanie kodu. Punkt widzenia twórców oprogramowania open sourceWydawnictwo Helion
Książka "Czytanie kodu. Punkt widzenia twórców oprogramowania" open source to pierwszy na rynku podręcznik poświęcony czytaniu kodu źródłowego jako osobnej dziedzinie wiedzy, której znajomość jest przydatna każdemu programiście. Ponad 600 przykładów, w których wykorzystywane są kody oprogramowania open source , przedstawia sposoby identyfikowania dobrego i złego kodu, czytania go, przeszukiwania pod kątem konkretnych funkcji oraz wykorzystywania umiejętności czytania kodu do poprawy jakości kodów źródłowych pisanych samodzielnie.
* Podstawowe konstrukcje sterujące działaniem programu
* Proste i złożone typy danych
* Struktury i unie
* Dynamiczne zarządzanie pamięcią
* Metody analizy projektów informatycznych
* Konwencje pisania i formatowania kodu źródłowego
* Tworzenie i czytanie dokumentacji
* Architektura systemów
Poznaj umiejętność czytania kodu źródłowego i popraw samodzielnie pisany kod.
Programowanie w Prologu różni się zasadniczo od programowania w językach strukturalnych, takich jak Pascal czy C i językach obiektowych jak Java. Dla wielu osób zaczynających przygodę z Prologiem zaskoczeniem jest fakt, że pisanie programu w tym języku nie polega na kodowaniu algorytmu. Programista opisuje obiekty i związki między nimi, a także podaje warunki, jakie powinno spełniać szukane rozwiązanie. System sam przeprowadza obliczenia w oparciu o podane zależności logiczne, zaś programista jedynie częściowo może wpływać na sposób działania programu.
Książka "Prolog. Programowanie" to podręcznik tego niezwykłego języka programowania stosowanego przy rozwiązywaniu problemów z różnych dziedzin: od logiki matematycznej i symbolicznego rozwiązywania równań przez analizę języka naturalnego, aż do zagadnień związanych ze sztuczną inteligencją. Zawiera ona:
* Wprowadzenie do Prologu
* Podstawowe struktury danych
* Nawracanie, sterowanie nawracaniem za pomocą symbolu odcięcia
* Operacje wejścia/wyjścia
* Predykaty
* Składnię reguł gramatycznych i analizę języka naturalnego
* Wiele przykładowych programów
Wszystkim rozdziałom towarzyszą ćwiczenia. Uzupełnieniem tekstu książki są dodatki omawiające m.in. rozwiązania ćwiczeń i różnice między najważniejszymi wersjami Prologu.
"Prolog. Programowanie" to książka dla studentów matematyki i informatyki, a także dla wszystkich zainteresowanych programowaniem opartym na regułach logicznych. Jeśli chcesz podjąć wyzwanie i nauczyć się Prologu, jest książka dla Ciebie.
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ę.
SQL jest uznawanym za standard językiem programowania służącym do tworzenia, modyfikowania oraz pobierania informacji przechowywanych przez systemy zarządzania relacyjnymi bazami danych. Chociaż każdy system bazodanowy używa nieco innego dialektu tego języka, często rozbudowując go o dodatkowe funkcje, podstawowe instrukcje SQL są wspólne dla wszystkich systemów: od Accessa do Oracle'a.
Bogata w ilustracje, napisana przystępnym językiem książka "SQL. Szybki start" pozwoli Ci nauczyć się SQL-a i zacząć pracę z relacyjną bazą danych, niezależnie od tego, który system wybierzesz. Autor kładzie szczególny nacisk na realizację konkretnych zadań, przedstawiając kolejne kroki, jakie należy wykonać, by rozwiązać dany problem. Dzięki temu książka jest nie tylko przewodnikiem po języku SQL i jego odmianach, ale także doskonałą pomocą, po którą będziesz często sięgał w swojej praktyce programistycznej.
W książce omówiono m.in.:
* Najpopularniejsze systemy bazodanowe, ich wady i zalety
* Relacyjny model danych
* Podstawy języka SQL: składnię i najważniejsze typy danych
* Pobieranie danych za pomocą zapytań
* Operatory i funkcje SQL
* Filtrowanie, grupowanie i sortowanie wyników zapytań
* Dodawanie, usuwanie i modyfikowanie danych
* Korzystanie z indeksów
* Używanie perspektyw
* Stosowanie transakcji
Badanie algorytmów leży w samym sercu nauk komputerowych. W ostatnich latach dokonano znaczących postępów w tej dziedzinie. Opracowano m.in. wiele efektywniejszych algorytmów (szybkie przekształcenie Fouriera), odkryto także istnienie pewnych naturalnych zadań, dla których wszystkie algorytmy są nieefektywne. Wyniki te powodują wzrost zainteresowania badaniami algorytmów, co przyczynia się do intensywnego rozwoju tej dziedziny wiedzy.
Książka jest podręcznikiem wstępnego kursu projektowania i analizy algorytmów. Autorzy położyli nacisk raczej na prezentacji najważniejszych idei i przystępności wykładu, niż na szczegółach realizacji i sztuczkach programistycznych. Autorzy przedstawiają na ogół nieformalne, intuicyjne objaśnienia zamiast długich i pracochłonnych dowodów. Książka nie wymaga żadnego szczególnego przygotowania z zakresu matematyki, czy języków programowania. Pożądana jest jednak pewna dojrzałość w stosowaniu pojęć matematycznych, ogólne obycie w językach programowania wysokiego poziomu, takich jak FORTRAN lub ALGOL, a także podstawowa znajomość algebry liniowej.
W książce omówiono m.in.:
* Podstawowe pojęcia i modele (w tym maszynę Turniga)
* Najważniejsze struktury danych, rekurencję, programowanie dynamiczne
* Algorytmy sortowania, operacje na zbiorach, drzewach i grafach
* Szybkie przekształcenie Fouriera z zastosowaniami
* Algorytmy arytmetyczne, operacje na wielomianach
* Algorytmy dopasowania wzorców
* Problemy NP-zupełne
* Dolne ograniczenia złożoności obliczeniowej
Ważnym uzupełnieniem treści książki są ćwiczenia o zróżnicowanych poziomach trudności. "Projektowanie i analiza algorytmów" to doskonały podręcznik dla studentów informatyki i kierunków pokrewnych, a także wspaniała pomoc dla osób prowadzących wykłady i ćwiczenia na tych kierunkach.
Wielu programistów poszukuje książki, która przedstawiłaby implementacje znanych algorytmów w Perlu. Niestety w podręcznikach do tego języka trudno znaleźć informacje na ten temat. Informatycy opracowali wiele technik związanych z często spotykanymi problemami, takimi jak:
* Przybliżone dopasowywanie tekstów (uwzględniające literówki)
* Znajdowanie korelacji w zbiorach danych
* Algorytmy związane z grami
* Przewidywanie zjawisk (np. obciążenia serwera WWW)
* Dopasowywanie wielomianowe i za pomocą funkcji sklejanych
* Szyfrowanie informacji
Dzięki algorytmom przedstawionym w niniejszej książce będziesz mógł poradzić sobie z tymi problemami używając wydajnego i łatwego do nauczenia się języka, jakim jest Perl.
Autorzy zakładają, że opanowałeś już składnię Perla i znasz jego podstawowe funkcje. Książka "Algorytmy w Perlu" przystępnie objaśni Ci, kiedy używać klasycznych technik programistycznych i w jakich rodzajach aplikacji znajdują one swoje zastosowanie, a przede wszystkim pokaże Ci, jak je implementować w Perlu.
Jeśli jesteś początkującym programistą, poznasz najważniejsze algorytmy, które pozwolą Ci rozwiązywać problemy programistyczne w sposób profesjonalny. Nawet jeśli znasz już podstawy algorytmiki, będziesz zapewne zaskoczony z jaką łatwością można je zastosować w Perlu. W książce znajdziesz nawet obowiązkowy program rysujący fraktale.
Jest to pierwsza książka spośród licznych pozycji poświęconych algorytmom, która demonstruje ich użycie za pomocą Perla.
Autorami są m.in. Jon Orwant, redaktor The Perl Journal i Jarkko Hietaniemi -- zarządzający biblioteką modułów CPAN. Wszyscy autorzy są stałymi współpracownikami CPAN, stąd wiele z przytoczonych tu fragmentów kodu możesz znaleźć w tej bibliotece.
"Poświęciłem lekturze wiele czasu przeznaczonego na sen -- tak ekscytująca jest ta książka"
Tom Christiansen
Lista nazwisk autorów wydrukowanych na okładce książki jest błędna. Autorem książki, pierwotnie wydanej w wydawnictwie "No Starch Press", jest Brian Ward. Za pomyłkę przepraszamy naszych klientów, wydawnictwo No Starch Press i Pana Briana Warda.
Jeśli chcesz poznać Linuksa "od środka" -- sięgnij po tę książkę
* Poznaj mechanizmy uruchamiania i pracy systemu
* Zobacz, jak realizowane są usługi systemowe i sieciowe
* Naucz się administrować Linuksem
Jeśli korzystasz z Linuksa, to na pewno nie trzeba opisywać Ci jego zalet. Bez wątpienia doceniasz jego stabilność i szybkość działania. Dzięki stale zwiększającej się liczbie aplikacji, komputer z zainstalowanym Linuksem można wykorzystać do pełnienia wielu funkcji – od domowej stacji roboczej, aż do serwera sieciowego. Aby jednak w pełni wykorzystać jego możliwości, musisz poznać jego wewnętrzne mechanizmy rządzące uruchamianiem systemu oraz obsługą sieci i urządzeń peryferyjnych, a także zasady administrowania jego zasobami.
Książka "Jak działa Linux" zawiera wszystkie informacje dotyczące wnętrza systemu Linux oraz zasad korzystania z niego. Przedstawia zarówno zagadnienia podstawowe -- przebieg procesu uruchamiania systemu i mechanizmy obsługi sieci, jak i tematy zaawansowane, związane z administracją systemem, jego współpracą z urządzeniami zewnętrznymi oraz programowaniem.
* Podstawy korzystania z Linuksa – polecenia, struktura plików i katalogów oraz dyski logiczne
* Przebieg procesu uruchamiania Linuksa
* Konfigurowanie i uruchamianie sieci i usług sieciowych
* Pisanie własnych programów w języku powłoki oraz w C++
* Kompilowanie programów
* Konserwacja jądra systemu
* Obsługa urządzeń peryferyjnych
* Tworzenie kopii bezpieczeństwa
Zwięzły przewodnik opisujący najczęściej używane instrukcje języka Java
* Naucz się kompilować i uruchamiać programy w Javie
* Poznaj najpopularniejsze polecenia tego języka
* Pisz programy działające na wielu platformach
Już od wielu lat Java jest jednym z najpopularniejszych języków programowania, a znający ją programiści są poszukiwani i cenieni na rynku pracy. Jej atrakcyjność wynika głównie z tego, że kod napisany w tym języku można uruchamiać na wielu platformach, włączając w to różne systemy operacyjne, a także urządzenia przenośne, na przykład telefony komórkowe. Prosty jest także dostęp do wielu narzędzi oraz bezpłatnych bibliotek ułatwiających programowanie w Javie. Ponadto język ten otwiera wielkie możliwości w zakresie tworzenia aplikacji sieciowych.
"Java. Rozmówki" przedstawia skuteczne rozwiązania najczęściej występujących problemów i pomoże Ci błyskawicznie rozpocząć programowanie w tym języku. Dowiesz się, jak kompilować i uruchamiać programy w Javie. Nauczysz się manipulować ciągami, strukturami danych i datami oraz stosować wyrażenia regularne. Poznasz operacje wejścia i wyjścia, a także sposoby pracy z katalogami i plikami. Przeczytasz o aplikacjach sieciowych działających zarówno po stronie klienta, jak i po stronie serwera. Opanujesz efektywne techniki pracy z bazami danych i korzystanie z formatu XML.
* Kompilowanie i uruchamianie programów w Javie
* Współpraca ze środowiskiem
* Obsługa ciągów i liczb
* Korzystanie ze struktur danych
* Operacje wejścia i wyjścia
* Manipulowanie plikami i katalogami
* Praca z klientami i serwerami sieciowymi
* Komunikacja z bazami danych i używanie XML
* Programowanie wielowątkowe
Dzięki treściwym rozmówkom błyskawicznie poznasz praktyczne podstawy programowania w Javie.
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.
Struktury danych i techniki obiektowe na przykładzie Javy 5.0Wydawnictwo Helion
Przy tworzeniu systemów informatycznych najważniejsze zadania wykonuje się, zanim powstanie pierwszy fragment kodu źródłowego. Wymogi stawiane współczesnym aplikacjom powodują, że inżynieria oprogramowania staje się kwestią kluczową. Opracowanie odpowiedniego projektu oraz właściwy dobór technologii i metodologii zapewniają szybką i efektywną pracę nad systemem. Niezwykle ważne jest poznanie dostępnych w języku Java struktur danych i umiejętność ich wykorzystania. Prawidłowo dobrana struktura danych znacznie przyspiesza nie tylko implementację aplikacji, ale również działanie gotowego systemu.
Książka "Struktury danych i techniki obiektowe na przykładzie Javy 5.0" przedstawia podstawowe struktury danych i sposoby ich wykorzystania podczas programowania obiektowego. Wszystkie wiadomości zostały zaprezentowane z uwzględnieniem reguł nowoczesnej inżynierii oprogramowania. Czytając kolejne rozdziały książki, poznasz najlepsze zastosowania różnych struktur danych oraz wady i zalety ich implementacji. Przede wszystkim jednak zrozumiesz potrzebę stosowania tak wielu struktur danych.
* Cykl życia oprogramowania
* Zastosowanie języka UML w projektowaniu systemów
* Obsługa błędów i wyjątków
* Testowanie oprogramowania
* Dziedziczenie i hierarchia klas
* Listy jedno- i dwukierunkowe
* Interfejs Collection
* Stosy i kolejki
* Algorytmy rekurencyjne
* Sortowanie danych
* Drzewa wyszukiwania
* Grafy
Po przeczytaniu tej książki zrozumiesz zasadę:
"Pomyśl, a dopiero potem pisz kod".
Język programowania PHP stanowi dla wielu osób przepustkę w świat pisania aplikacji działających po stronie serwera WWW. Łatwość z jaką przychodzi nauczenie się tego języka, sprawiła, że używają go setki tysięcy amatorów i profesjonalistów na całym świecie.
Po pewnym czasie wiedza wyniesiona z podręczników opisujących podstawy PHP języka przestaje wystarczać. Niniejsza książka pomoże Ci w wykonaniu kolejnego kroku: kroku w kierunku pisania zaawansowanych aplikacji. Dzięki niej wzbogacisz swoją wiedzę i staniesz się prawdziwym ekspertem programowania w PHP, poszukiwanym na rynku pracy.
* Poznasz tajniki programowania obiektowego.
* Nauczysz się korzystać z baz danych.
* Dowiesz się, w jaki sposób zabezpieczać stworzone przez siebie aplikacje.
* Napiszesz własny sklep internetowy, korzystając z sesji i bazy SQL.
* Poznasz sposoby uruchamiania programów PHP w oderwaniu od serwera WWW.
* Nauczysz się generować nie tylko strony WWW, ale także grafikę i pliki PDF.
* Dowiesz się, jak i po co używać języka XML.
* Skorzystasz z wielu rozszerzeń języka, które ułatwiają rozwiązywanie złożonych problemów.
Pomoże Ci w tym prosty język w jakim napisana jest książka oraz liczne przykłady kodu, a także osoba autora, doświadczonego programisty i wykładowcy PHP na Uniwersytecie Kalifornijskim w Berkeley.
Wprowadzenie do problematyki algorytmów i struktur danych
* Badanie złożoności algorytmów
* Analiza i implementacja algorytmów
* Zasady testowania kodu
Algorytmy leżą u podstaw programowania. Zasady rozwiązywania typowych problemów programistycznych, opisane w postaci blokowej lub za pomocą uniwersalnego "pseudokodu", są wykorzystywane codziennie przez tysiące informatyków na całym świecie. Właściwe zrozumienie zarówno samych algorytmów, jak i zasad ich stosowania w praktyce, jest kluczem do tworzenia wydajnych aplikacji. Umiejętność oceny efektywności i złożoności algorytmów przyda się również przy wyborze najlepszego rozwiązania określonego problemu.
Książka "Algorytmy. Od podstaw" przedstawia podstawowe zagadnienia związane z algorytmami. Dzięki niej nauczysz się wyznaczać złożoność obliczeniową algorytmów i implementować algorytmy w programach. Poznasz algorytmy sortowania, przeszukiwania i przetwarzania danych. Dowiesz się, czym są testy jednostkowe i dlaczego ich stosowanie jest tak ważne podczas tworzenia oprogramowania.
W książce omówiono m.in. następujące zagadnienia:
* Testy jednostkowe i biblioteka JUnit
* Iteracja i rekurencja
* Kolejki FIFO
* Listy i stosy
* Algorytmy sortowania
* Binarne wyszukiwanie i zastępowanie
* Zbiory, mapy i drzewa wyszukiwawcze
* Wyszukiwanie tekstu
Poznaj sprawdzone i powszechnie używane algorytmy
i zastosuj je w swoich aplikacjach.
Przekonanie, że programowanie w asemblerze odeszło w przeszłość wraz z opartymi na interfejsie tekstowym systemami w rodzaju DOS i upowszechnieniem się wysokopoziomowych języków programowania takich jak Visual Basic, C++ czy Java, jest błędne. Całkiem spora grupa osób nadal używa asemblera w środowisku Windows. Jeśli chcesz do nich dołączyć, znalazłeś właściwą książkę.
Asembler daje programiście poczucie ogromnej wolności i pełnego panowania nad sprzętem. Dzięki tej książce nauczysz się programować w tym języku, poznasz również cały zestaw aplikacji, które programowanie to ułatwią. W tekście książki znajdziesz wiele przykładów kodu ilustrujących najważniejsze omawiane zagadnienia.
Książka przedstawia:
* Podstawowe informacje związane z asemblerem: systemy kodowania, zapis liczb i znaków
* Rejestry i pamięć maszyny z punktu widzenia programisty asemblera, adresowanie
* Instrukcje asemblera i listę rozkazów procesora
* Programowanie z użyciem MASM -- Makro Asemblera
* Użycie programu NMAKE i tworzenie plików Makefile
* Programowanie w Windows: WinAPI
* Biblioteki DLL
* Technologie COM i OLE
* Zasoby programów Windows
Jeszcze jedna metoda tworzenia programów w Windows, która może zafascynować osoby lubiące "dłubanie w kodzie"? Dlaczego nie! Przeczytaj tę książkę, a sam będziesz mógł ocenić, czy asembler się zdewaluował.
Programowanie w Windows dla wtajemniczonych
* Poznaj język asembler dla procesorów Intel i kompatybilnych
* Naucz się używać Windows API z poziomu asemblera
* Poznaj narzędzia ułatwiające programowanie
Profesjonalne programowanie. Część 1. Zrozumieć komputerWydawnictwo Helion
Chcesz zostać programistą doskonałym?
Zacznij od poznania szczegółów działania komputera
* Zapis wartości liczbowych oraz arytmetyka zmiennoprzecinkowa i binarna
* Organizacja dostępu do pamięci komputera
* Proces wykonywania programu oraz operacje wejścia i wyjścia
Kod napisany przez profesjonalnego programistę jest wydajny i efektywny. Aby tworzyć wydajny kod, należy poznać architekturę komputera i sposób, w jaki program jest wykonywany. Zrozumienie tego, w jaki sposób komputer realizuje kolejne instrukcje programu i jak słowa kluczowe języków wysokiego poziomu są przenoszone na rozkazy procesora, jest kluczem do napisania kodu, który po skompilowaniu da szybko i bezbłędnie działający program.
"Profesjonalne programowanie. Część 1. Zrozumieć komputer" to pierwszy tom serii książek przeznaczonych dla tych programistów, którzy chcą podnieść swoje kwalifikacje. Przedstawia wewnętrzną architekturę komputera od strony, której znajomość jest niezbędna programiście. Opisuje sposoby zapisu wartości liczbowych i tekstów, działania na liczbach binarnych i zmiennoprzecinkowych oraz logikę Boole’a. Czytając tę książkę, dowiesz się, w jaki sposób procesor przetwarza rozkazy asemblera, jak odbywa się dostęp do danych zapisanych w pamięci oraz jak przesyłane są dane do i z urządzeń zewnętrznych.
* Zapis liczb w systemie binarnym, ósemkowym i szesnastkowym
* Działania na liczbach binarnych i zmiennoprzecinkowych
* Sposoby reprezentacji danych znakowych
* Organizacja pamięci i tryby adresowania
* Złożone typy danych
* Projektowanie układów cyfrowych i logika Boole’a
* Architektura procesora i rozkazy asemblera
* Operacje wejścia i wyjścia
Jeśli chcesz, aby napisane przez Ciebie oprogramowanie budziło podziw, koniecznie przeczytaj tę książkę.
Popularność języka Java stale rośnie. Programiści z całego świata wykorzystują go do tworzenia zarówno prostych aplikacji, jak i złożonych systemów. Podstawowa zaleta Javy -- przenośność kodu -- powoduje, że programy napisane w Javie możemy spotkać nie tylko na dyskach komputerów i serwerów, ale również w telefonach komórkowych i innych urządzeniach mobilnych. Java jest ciągle rozwijana -- w każdej kolejnej wersji pojawiają się nowe elementy, ułatwiające realizację coraz bardziej złożonych zagadnień programistycznych.
"Java. Kompendium programisty" to doskonały przewodnik po najnowszym wcieleniu języka Java, noszącym oznaczenie J2SE5. Każdy twórca aplikacji w Javie znajdzie tu niezbędne do swojej pracy informacje. Autor -- Herb Schildt, znany z wielu bestsellerowych pozycji dotyczących programowania w Javie i C++ -- opisuje wszystkie elementy języka Java w wersji 5. Typy danych, metody, konstrukcje, podstawowe biblioteki i techniki programistyczne -- wszystko zostało opisane prostym i zrozumiałym językiem oraz zilustrowane przykładami.
* Historia języka Java
* Podstawowe założenia programowania obiektowego
* Typy danych i zmienne
* Operatory
* Klasy, metody, pakiety i interfejsy
* Wątki i wyjątki
* Elementy bibliotek Javy
* Operacje wejścia i wyjścia
* Programowanie sieciowe
* Biblioteki AWT i Swing
* JavaBeans i serwlety
W tym podręczniku znajdziesz odpowiedzi na wszystkie pytania związane z Javą.
O autorze:
Herb Schildt jest autorytetem w sprawach języków C, C++, Java i C#, a także doskonałym programistą systemu Windows.
[więcej...]
PHP, Microsoft IIS i SQL Server. Projektowanie i programowanie baz danychWydawnictwo Helion
Poznaj i wykorzystaj narzędzia do projektowania baz danych
* Jak konfigurować repozytorium PEAR?
* Jak przetwarzać formularze za pomocą języka PHP?
* Jak wprowadzać dane do tabeli bazy danych, a później je usuwać?
Umiejętność tworzenia interaktywnych stron www typu e-commerce i zarządzania nimi jest dzisiaj właściwie niezbędna. Przydaje się nie tylko administratorom sieci, ale także wszystkim informatykom i właścicielom firm. Relacyjne bazy danych stanowią podstawę nowoczesnej aplikacji internetowej, więc przede wszystkim należy poznać najpopularniejsze języki wykorzystywane podczas pracy na tych bazach: język skryptowy PHP oraz język zapytań SQL, a także internetowe usługi informacyjne (IIS) występujące w najnowszych serwerowych systemach operacyjnych Microsoft Windows.
Książka „PHP, Microsoft IIS i SQL Server. Projektowanie i programowanie baz danych” w przystępny sposób i na konkretnym przykładzie przedstawia zagadnienia dotyczące projektowania, programowania i implementowania relacyjnej bazy danych. Mimo że podręcznik przeznaczony jest dla osób, które przynajmniej w niewielkim stopniu orientują się w tej tematyce, szeroka skala prezentowanych informacji (od prostych zagadnień teoretycznych do problemów zaawansowanych technicznie) sprawia, że każdy może z niego skorzystać - aby na przykład nauczyć się podstawowych instrukcji języka SQL i PHP, instalowania i konfigurowania ich w systemie Windows, korzystania z usług IIS i wreszcie zarządzania własną bazą danych.
* System zarządzania bazą danych
* Nazwy i typy danych
* Indeksy, klucze i schematy
* Architektura baz danych
* Normalizacja i projektowanie baz danych
* Środowisko języka SQL
* Podstawowe klauzule języka SQL
* Podstawowe właściwości języka PHP
* Architektura usług IIS
* Obsługa baz danych Microsoft SQL z poziomu PHP
* PEAR
Znajdziesz tu wszystko, czego potrzebujesz, aby stworzyć własną profesjonalną bazę danych!
Algorytmy, struktury danych i techniki programowania. Wydanie IIIWydawnictwo Helion
Algorytmika stanowi gałąź wiedzy, która w ciągu ostatnich kilkudziesięciu lat dostarczyła wielu efektywnych narzędzi wspomagających rozwiązywanie różnorodnych problemów za pomocą komputera. Teoria algorytmów i struktur danych jest jednym z podstawowych przedmiotów wykładanych na studiach informatycznych i pokrewnych.
To już trzecie, poprawione wydanie książki, która od wielu lat stanowi podstawowy podręcznik z dziedziny algorytmiki. Różni się od klasycznych podręczników akademickich: skierowana jest nie tylko do adeptów informatyki. Dzięki naciskowi na praktyczną stronę prezentowanych zagadnień powinna zainteresować także osoby programujące hobbystycznie, jak również tych wszystkich, dla których programowanie jest działalnością ważną, lecz nie podstawową w pracy zawodowej. Jest to nowoczesny podręcznik dla wszystkich, którzy w codziennej pracy programistycznej odczuwają potrzebę szybkiego odszukania pewnych informacji z dziedziny algorytmiki w celu zastosowania ich w swoich programach.
W książce opisano m.in.:
* Techniki rekurencyjne: co to jest rekurencja i jak ją stosować w praktyce?
* Sortowanie danych: najpopularniejsze procedury sortujące.
* Struktury danych: listy, kolejki, zbiory i drzewa w ujęciu praktycznym.
* Derekursywacja: jak zmienić program rekurencyjny (czasami bardzo czasochłonny) na wersję iteracyjną?
* Algorytmy przeszukiwania: przeszukiwanie liniowe, binarne i transformacja liniowa (ang. hashing).
* Przeszukiwanie tekstów: opis najbardziej znanych metod przeszukiwania tekstów (Boyera i Moore"a, Rabina i Karpa, brute-force, K-M-P).
* Zaawansowane techniki programowania: dziel i rządź, programowanie dynamiczne, algorytmy żarłoczne (ang. greedy).
* Algorytmika grafów: opis jednej z najciekawszych struktur danych występujących w informatyce.
* Sztuczna inteligencja: czy komputery mogą myśleć?
* Kodowanie i kompresja danych: opis najpopularniejszych metod kodowania i kompresji danych -- systemu kryptograficznego z kluczem publicznym i metody Huffmana
W książce znajdziesz również liczne przykłady i zadania, które pomogą Ci sprawdzić swoją wiedzę. Kod źródłowy znajdziesz na dołączonej dyskietce.
Umiesz programować w Perlu, lecz czujesz pewien niedosyt? Pracujesz nad większym projektem niż zazwyczaj i jesteś zagubiony? A może chciałbyś dodać do swojej aplikacji efektowny interfejs użytkownika, bardziej zaawansowany mechanizm przechwytywania błędów lub obsługę sieci i nie wiesz jak to zrobić?
Ta książka pomoże Ci stać się lepszym programistą bez względu na to, czy Twoja znajomość Perla jest powierzchowna, czy dogłębna. Nauczysz się zaawansowanych technik przygotowywania programów w Perlu o jakości produkcyjnej. Poznasz metody przetwarzania danych i używania obiektów, które wcześniej mogły wydawać Ci się czarną magią. Książka przedstawia szerokie zastosowania Perla: od sieci, baz danych, po interfejsy użytkownika. Znajdziesz w niej także opis wewnętrznych mechanizmów języka umożliwiających tworzenie wydajniejszych aplikacji oraz łączenie Perla z językiem C.
Do najważniejszych tematów poruszanych w książce należą:
* Praktyczne zastosowania pakietów i klas (programowanie obiektowe)
* Złożone struktury danych
* Trwałość danych (np. bazy danych)
* Sieci
* Interfejsy graficzne budowane za pomocą pakietu Tk
* Interakcja z funkcjami języka C
* Osadzanie i rozszerzanie interpretera Perla
* Wybrane aspekty wewnętrznych mechanizmów Perla
W książce przystępnie wytłumaczono wszystkie zagadnienia związane z Perlem, o których zapewne chciałbyś wiedzieć więcej: odwołania, przechwytywanie błędów operatorem eval, nieblokujące operacje wejścia/wyjścia, zasadność stosowania domknięć oraz dowiązania z użyciem mechanizmu tie. Jej lektura spowoduje, że poczujesz się prawdziwym hakerem -- mistrzem Perla.
"Nieprzeciętny tekst i najbardziej zaawansowana książka o Perlu, jaką napisano. Autor -- specjalista -- objaśnia trudne koncepcje w sposób klarowny i kompletny."
Jon Orwant, redaktor The Perl Journal
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!
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ć!
Naucz się łączyć największe zalety języków oraz technik programowania
i twórz interaktywne strony internetowe
* Jak unikać typowych błędów i sprawnie rozwiązywać problemy programistyczne?
* Jak połączyć zalety HTML, XML i PHP dla uzyskania pożądanych efektów?
* Jak tworzyć aplikacje wyposażone w aktywny interfejs użytkownika?
Statyczne strony WWW to dziś już przeszłość. Powszechnie dostępne narzędzia dają programistom prawie nieograniczone możliwości w zakresie tworzenia interaktywnych witryn internetowych, wzbogaconych o najróżniejsze efekty wizualne, animacje oraz wbudowane narzędzia pomocnicze. Największą popularność zdobyły sobie narzędzia z kategorii open source — z powodu ich minimalnego kosztu oraz niezwykle dużych zasobów, dostępnych za pośrednictwem Internetu. Z tej książki dowiesz się, jak tworzyć bogate i interaktywne strony WWW, łącząc rozmaite techniki i korzystając z różnych języków.
Książka "Ajax, JavaScript i PHP. Intensywny trening" poprowadzi Cię krok po kroku po podstawowych zasadach programowania w językach JavaScript, PHP i HTML oraz technologiach programowania. Dzięki temu podręcznikowi dowiesz się m.in., jak wykorzystywać dostępne biblioteki ajaksowe do implementowania i ulepszania podstawowych mechanizmów aplikacji. Szybko nauczysz się tworzyć interaktywne strony WWW, zarówno za pomocą technologii serwerowych, jak i technik oraz narzędzi umiejscowionych po stronie klienckiej, a także ich kombinacji.
* Tworzenie stron WWW w języku HTML
* Stylizacja stron za pomocą arkuszy CSS
* Tworzenie skryptów w języku JavaScript
* Wbudowanie skryptu w stronę WWW
* Obiektowy model dokumentu (DOM)
* Obiekty String
* Instrukcje warunkowe i pętle
* Funkcje wbudowane i biblioteki
* Konstruowanie aplikacji ajaksowych
* Zmienne w języku PHP
* Funkcje liczbowe, łańcuchy i tabele
* Kontrola przepływu sterowania
* Usługi webowe oraz protokoły REST i SOAP
Łącz, kompiluj, dobieraj — niech Twoje strony WWW zrobią wrażenie!
Poznaj narzędzia programu PowerPoint i twórz wyjątkowe prezentacje!
* Jak stworzyć profesjonalną prezentację na każdą okazję?
* Jak modyfikować grafikę SmartArt?
* Jak korzystać z programu Clip Organizer i biblioteki slajdów?
Z pewnością wiesz, do czego służy program PowerPoint, lecz jeśli jeszcze nie potrafisz z niego korzystać, a musisz szybko przygotować profesjonalną prezentację, ta książka jest właśnie dla Ciebie! Znajdziesz tu opis ostatniej wersji programu — PowerPoint 2007. Umożliwia ona stworzenie zaawansowanej i bogatej prezentacji, wyposażonej w dźwięk, fotografie i animacje filmowe. Nowy PowerPoint pozwala także na bezpieczne udostępnianie Twojej prezentacji wszystkim zainteresowanym.
Książka "PowerPoint 2007 PL. Seria praktyk" to bogato ilustrowany, a przy tym prawdziwie intuicyjny podręcznik, dzięki któremu każdy nauczy się sprawnie korzystać z tej aplikacji. Kolor i zrzuty ekranowe ilustrujące kolejne informacje, jak również klarowne i zrozumiałe instrukcje sprawiają, że nauka staje się niezwykle prosta. Dzięki tej książce poznasz wszystkie niezbędne narzędzia PowerPointa i ciekawe funkcje tego programu. Dowiesz się, jak zastosować w swojej prezentacji grafiki SmartArt oraz zaawansowane układy slajdów, a także w jaki sposób korzystać z galerii stylów czy biblioteki slajdów.
* Tworzenie prezentacji
* Praca z tekstem
* Grafika i linie
* Konwersja na grafikę SmartArt
* Tabele i wykresy
* Używanie Excela 2007 — kopiowanie i wstawianie tabel
* Wzbogacanie prezentacji — animacje
* Multimedia
* Dodawanie filmów i dźwięku
* Tworzenie albumów
* Pokaz slajdów
* Nagrywanie narracji
* Udostępnianie prezentacji
* Bezpieczeństwo
PowerPoint jest dla każdego!
Poznaj narzędzia oraz funkcje Excela i z łatwością wykorzystuj tę wiedzę w pracy
* Jak tworzyć skoroszyty i wykresy?
* Jak zarządzać danymi w arkuszach?
* Jak szacować formuły?
Na samo brzmienie słowa "Excel" reagujesz paniką? Uważasz, że to bardzo skomplikowany i trudny w obsłudze program? Świetnie! Ta książka została napisana właśnie z myślą o Tobie! Podręcznik, który trzymasz w rękach, stanowi namacalny dowód na to, że Excel 2007 może być prosty, a nauka jego obsługi bardzo przyjemna! Choć trudno Ci w tej chwili w to uwierzyć, aplikacja ta oferuje cale spektrum nowoczesnych, a przy tym przyjaznych i intuicyjnych narzędzi oraz funkcji, dzięki którym znacznie usprawnisz i przyspieszysz swoją pracę. Naprawdę warto je poznać!
Książkę "Excel 2007 PL. Seria praktyk" przygotowano w taki sposób, aby każdy mógł nauczyć się korzystać z narzędzi Excela, tworzyć odpowiednie arkusze oraz wykonywać na nich praktyczne operacje. Wszystkie porady i instrukcje napisane zostały prostym, zrozumiałym językiem. Dzięki temu szybko opanujesz sposoby zarządzania danymi czy szacowania formuł w tym programie. Wszystkie omawiane zagadnienia zilustrowane są ułatwiającymi zrozumienie zrzutami ekranowymi, a kolorowy druk znacznie uprzyjemni Ci korzystanie z książki. Wystarczy ją przeczytać, a poznasz Excela w stopniu pozwalającym Ci na swobodną pracę w tym programie. Na co zatem czekasz? Przed Tobą nauka takich zagadnień, jak:
* Tworzenie skoroszytu
* Wprowadzanie danych do arkusza i zarządzanie nimi
* Formuły i funkcje
* Tabele i wykresy
* Konwersja tabeli do postaci zakresu
* Zaawansowane funkcje
* Szacowanie formuł
* Zarządzanie Excelem
* Makra
* Szablony i scenariusze
* Łącza i odwołania
* Stosowanie aktualizacji
Najprostszy i najprzyjemniejszy sposób na poznanie Excela!
Poznaj praktyczne możliwości programu Access 2007!
* Jak właściwie zaprojektować bazę danych?
* Jak korzystać z szablonów?
* Jak tworzyć tabele i definiować relacje między nimi?
Wbrew pozorom nie trzeba być specjalistą, żeby korzystać z Accessa! Jest to program wyjątkowo przyjazny dla użytkownika, umożliwiający tworzenie baz danych i zarządzanie nimi bez potrzeby dogłębnego poznawania języka SQL oraz skomplikowanych środowisk serwerowych. Aplikacja pozwala na zapisywanie danych z wykorzystaniem formularzy, kierowanie zapytań do bazy, a także dzielenie danych ze współpracownikami za pośrednictwem sieci komputerowej.
Książka "Access 2007 PL. Seria praktyk" zawiera zwięzły i czytelny opis wszystkich najważniejszych funkcji tego programu, a także konkretne przykłady i jasne instrukcje zastosowania narzędzi Accessa. Kolorowe strony pozwalają na szybkie odnalezienie interesujących Cię zagadnień. Dzięki temu podręcznikowi poznasz podstawowe zasady tworzenia dobrego projektu bazy danych oraz jej zaawansowane możliwości. Nauczysz się tworzyć tabele, formularze i raporty, a także korzystać z kluczy podstawowych i obcych. Bez problemu zbudujesz taką bazę danych, która pozwoli Ci sprawnie zarządzać informacjami.
* Personalizacja Accessa 2007
* Projektowanie baz danych
* Relacyjne bazy danych
* Klucze podstawowe i obce
* Tworzenie tabel
* Korzystanie z typów danych
* Definiowanie relacji
* Kwerendy
* Korzystanie z SQL
* Tworzenie i dostrajanie formularzy
* Tworzenie raportów
* Współdzielenie Accessa
Naucz się korzystać z Accessa — zachwycą Cię jego możliwości!
Odkryj bogactwo funkcji Worda!
Jak poprawnie formatować i uatrakcyjniać dokumenty?
Chcesz zacząć sprawnie tworzyć w programie Word dokumenty o profesjonalnym wyglądzie? A może tak dobrze go już znasz, że wątpisz, by skrywał przed Tobą jeszcze jakiekolwiek tajemnice? Tak czy inaczej warto opanować wszystkie potężne możliwości najpopularniejszego edytora tekstów, różne sposoby pracy z nim i metody tworzenia dokumentów tekstowych. Uzbrojony w taką wiedzę, z pewnością będziesz pracował szybciej i sprawniej.
Książka "Word 2007 PL. Seria praktyk" jest graficznym przewodnikiem po najnowszej wersji Worda i zawiera dokładny opis jego funkcji podstawowych oraz zaawansowanych — począwszy od tworzenia i formatowania tekstów, a na złożonych makrach skończywszy. Wszystko to przedstawione zostało za pomocą przejrzystych, kolorowych i szczegółowych instrukcji oraz praktycznych przykładów. Dzięki temu podręcznikowi poznasz całe spektrum narzędzi Worda i udoskonalisz swoją pracę z tym programem.
* Narzędzia główne
* Formatowanie tekstu
* Szybkie style
* Praca z dokumentem
* Drukowanie i publikowanie
* Konwersja do formatu PDF
* Biblioteka ClipArt i SmartArt
* Hiperłącza i zakładki
* Równania
* Zaawansowane funkcje — podpis cyfrowy
* Makra
Opanuj wszystkie narzędzia Worda i ciesz się swobodą tworzenia dokumentów!
Serwisy społecznościowe. Budowa, administracja i moderacjaWydawnictwo Helion
Dołącz do kreatorów nowych trendów! Stwórz własny serwis społecznościowy!
* Pierwsze kroki w roli twórcy serwisu — rodzaje stron, prawo i reklama
* Skrypty, instalacja i administracja — PHPizabi, Elgg, Dolphin, Joomla!
* ABC moderatora i użytkownika — regulamin, trolle, zakres ingerencji
Serwisy społecznościowe są bodaj najszybciej rozwijającą się dziś częścią internetu. Nie sposób przecenić ich roli społecznej i opiniotwórczej. Liczba użytkowników i ich poczucie wspólnoty decydują o sile i prężności tych serwisów. W każdej chwili możesz przyłączyć się do któregoś z nich. Jednak znacznie więcej radości sprawiłoby Ci na pewno prowadzenie własnego serwisu, wokół którego skupiałaby się cała społeczność osób o zainteresowaniach podobnych do Twoich.
W książce "Serwisy społecznościowe. Budowa, administracja i moderacja" znajdziesz wszelkie informacje dotyczące tworzenia i obsługi serwisu społecznościowego. Opisano w niej początki tego zjawiska społecznego, podstawy jego działania, rozmaite odmiany serwisów, wszelkie kwestie prawne i techniczne. Niezależnie od tego, czy szukasz inspiracji odnośnie treści umieszczanych w serwisie, czy chciałbyś dowiedzieć się, jak rozwiązać konkretne problemy z konfiguracją, rejestracją, wyborem mechanizmu działania czy wyglądu Twojego serwisu, autorzy służą Ci rzetelną wiedzą, wskazówkami i podpowiedziami. Oprócz tego wprowadzą Cię w kwestie związane z bezpieczeństwem w sieci, rolą moderatora i rozwiązywaniem problemów z użytkownikami.
* Społeczności internetowe
* Serwisy społecznościowe (historia, rodzaje, reklama)
* Regulacje prawne
* Wybór domeny i hostingu
* Niezbędne narzędzia (klient FTP, edytory CSS i tekstowe)
* Serwis społecznościowy a forum dyskusyjne
* Bezpieczeństwo serwisu
* Skrypty (PHPizabi, Elgg, Dolphin, Joomla!, BuddyPress, Joovili, SocialEngine i wiele innych)
* Online-Community-Building
* Skrypty do budowy serwisu wideo (ClipBucket Lite, Clipshare, ClipHouse i wiele innych)
* Rola moderatora
* Social shopping
Sprawdź, jak wiele satysfakcji daje własny serwis społecznościowy!
AutoCAD to program do komputerowego wspomagania projektowania, który od lat wyznacza standardy na rynku takich aplikacji. Z jego możliwości korzystają projektanci różnych branż, a ogromna liczba bibliotek, modułów i nakładek sprawia, że realizacja nawet najbardziej złożonych projektów przebiega szybko i sprawnie. Każda kolejna wersja AutoCAD-a jest bardziej rozbudowana. W wersji 2008 autorzy aplikacji zadbali o optymalizację znanych już użytkownikom narzędzi i zwiększenie produktywności pracy. Zmodernizowany interfejs użytkownika oraz nowe możliwości docenią nie tylko profesjonaliści, ale również ci, którzy stawiają pierwsze kroki w świecie komputerowego wspomagania projektowania.
Książka "AutoCAD 2008 i 2008 PL" to wyczerpujące omówienie najnowszej edycji tej aplikacji. Każdy użytkownik AutoCAD-a, niezależnie od stopnia zaawansowania, znajdzie w niej interesujące informacje. Czytając tę książkę, nauczysz się tworzyć i modyfikować rysunki, wymiarować je, korzystać z warstw, bloków i stylów oraz drukować projekty. Poznasz zasady modelowania bryłowego, tworzenia szablonów oraz rysowania w trybie aksonometrycznym. Każde z narzędzi dostępnych w aplikacji jest dokładnie omówione, a ilustrowane przykłady ułatwiają poznanie ich w praktyce.
* Interfejs użytkownika, menu i paski narzędzi
* Praca z dokumentami
* Układy współrzędnych
* Tworzenie podstawowych obiektów i definiowanie ich właściwości
* Napisy i tabelki
* Rysowanie precyzyjne
* Rysunek aksonometryczny
* Kreskowanie
* Naprawianie uszkodzonych rysunków
* Techniki wymiarowania, modyfikowanie wymiarów i style wymiarowe
* Modelowanie 3D i bryły ACIS
Poznaj najnowszą wersję narzędzia, które zrewolucjonizowało pracę projektantów na całym świecie.
Zobacz, jakie to proste — naucz się tworzyć bazy danych!
* Jak tworzyć formularze i raporty?
* Jak modyfikować strukturę tabel?
* Jak stosować mechanizmy wymiany danych?
Współczesny świat wymusza na przedsiębiorstwach gromadzenie oraz przetwarzanie ogromnej ilości informacji. To sprawia, że muszą one dysponować wydajnymi i sprawnymi bazami danych. Aby zbudować taki system zarządzania danymi, niezbędne są odpowiednie narzędzia — jednym z nich jest program MS Access. Ta aplikacja przede wszystkim pozwala na łatwą kontrolę poprawności tworzonych projektów oraz zapewnia integrację narzędzi służących do tworzenia struktury relacyjnej. Dba także o zgodność tych narzędzi ze standardem języka zapytań SQL, wykorzystywanym do tworzenia i modyfikowania baz danych oraz operowania na zgromadzonych w nich informacjach.
Książka „Bazy danych. Pierwsze starcie” stanowi doskonałe wprowadzenie w tematykę tworzenia baz danych. Zawiera wszystkie potrzebne informacje, podane w prosty i przejrzysty sposób. Ten podręcznik przyda się zarówno studentom kierunków informatycznych, jak i wszystkim tym, którzy chcą zdobyć wiedzę o nowoczesnych metodach budowania takich baz. Stąd dowiesz się m.in., jak wykorzystywać język zapytań SQL, w jaki sposób tworzyć tabele, formularze i raporty oraz stosować mechanizmy wymiany danych, a także na czym polega filtrowanie i sortowanie w zapytaniach. Zdobędziesz wiedzę i umiejętności wystarczające do samodzielnego zbudowania wydajnej bazy danych i sprawnego nią zarządzania.
* Projektowanie bazy danych — narzędzia wizualne
* Tworzenie formularzy i raportów
* Strukturalny język zapytań SQL w wersji MS JetSQL
* Składnia podstawowa
* Unia — koniunkcja zbiorów
* Grupowanie i funkcje agregujące
* Zastosowanie języka SQL z poziomu formularzy
* Mechanizmy wymiany danych
* Obiekty: DAO, RDO, ADO
* Zastosowanie mechanizmów wymiany danych przy tworzeniu aplikacji
Stwórz własną, niezawodną bazę danych!
Wkrocz w świat projektowania 3D
* Jak definiować parametry projektu?
* W jaki sposób korzystać z narzędzi projektowych?
* Jak generować dokumentację techniczną?
Inventor, opracowany i sprzedawany przez firmę Autodesk, to program typu CAD, pozwalający na zamodelowanie projektowanego urządzenia lub elementu w postaci bryły trójwymiarowej. W oparciu o tak zamodelowaną bryłę Inventor umożliwia wygenerowanie pełnej dokumentacji projektowej — rysunków wykonawczych i złożeniowych, wykazu części i innych. Aplikacja pozwala także na przeprowadzenie symulacji i analizy działania projektowanego urządzenia.
"Inventor. Pierwsze kroki " to podręcznik dla wszystkich osób, które chcą poznać możliwości tej aplikacji i wykorzystać je w swojej pracy. Książka opisuje proces instalacji i konfiguracji programu oraz definiowania parametrów projektu. Pokazuje także kolejne kroki jego realizacji. Przeczytasz w niej o tworzeniu szkiców, definiowaniu wiązań, generowaniu modeli bryłowych i tworzeniu zespołów. Dowiesz się także, w jaki sposób wygenerować dokumentację techniczną w oparciu o gotowy model oraz jak zaprezentować elementy projektu w postaci animacji trójwymiarowej.
* Instalacja Inventora
* Konfiguracja interfejsu użytkownika
* Praca z oknami dialogowymi
* Tworzenie szkiców i wiązań
* Edycja obiektów graficznych
* Tworzenie brył trójwymiarowych
* Łączenie elementów w zespoły
* Tworzenie dokumentacji technicznej
* Prezentacja zespołów
Zrealizuj swoje wizje za pomocą Inventora!
Poznaj nowoczesne technologie zarządzania bazami danych
* Jak zainstalować i skonfigurować SQL Server 2008?
* W jaki sposób monitorować wydajność i bezpieczeństwo serwera bazy danych?
* Jak tworzyć oprogramowanie współpracujące z SQL Serverem?
System zarządzania bazami danych MS SQL Server zyskał sobie zasłużoną renomę wśród projektantów baz danych i programistów. Stabilna i wydajna platforma, dostępna w kilku edycjach, różniących się możliwościami i zastosowaniami, wykorzystywana jest w aplikacjach biznesowych, portalach internetowych i aplikacjach mobilnych. Jej najnowsza wersja, oznaczona symbolem 2008, to potężna platforma do zarządzania danymi, umożliwiająca nie tylko przechowywanie ich w tabelach, ale także przetwarzanie, analizowanie, udostępnianie i zabezpieczanie. Pozwala ona także na składowanie danych nierelacyjnych — obiektów binarnych i danych geograficznych.
Książka „Serwer SQL 2008. Administracja i programowanie” zawiera szczegółowe omówienie możliwości najnowszej wersji tej platformy bazodanowej. Zarówno administratorzy, jak i programiści znajdą w niej wiele przydatnych informacji. Opisano w niej poszczególne edycje SQL Servera 2008, sposób ich instalacji, konfiguracji i administrowania, techniki optymalizacji wydajności oraz zabezpieczania i analizowania danych. Dzięki niej dowiesz się, jakie nowe funkcje wprowadzono w wersji 2008, jak korzystać z języka T-SQL i przechowywać dane nierelacyjne. Przeczytasz także o integracji z platformą CLR oraz korzystaniu z technologii SOA.
* Instalacja SQL Servera 2008
* Administrowanie serwerem bazy danych
* Optymalizacja dostępności i wydajności
* Nowe funkcje SQL Servera 2008
* Monitorowania pracy serwera
* Zabezpieczanie danych
* Programowanie w T-SQL
* Nierelacyjne typy danych
* Korzystanie z dokumentów XML
* Praca z SQL Server Compact Edition
Wykorzystaj w praktyce możliwości najnowszej wersji platformy bazodanowej SQL Server.
Dowiedz się więcej o działaniu USB i poznaj metody programowania transmisji danych
* W jaki sposób odbywa się transfer danych?
* Jak odblokować urządzenia do transmisji?
* Na czym polega programowanie obiektowe transmisji USB?
USB (skrót od ang. Universal Serial Bus — uniwersalna magistrala szeregowa) to rodzaj bardzo praktycznego portu komunikacyjnego, dzięki któremu możliwe jest podłączanie do komputera wielu różnych urządzeń, takich jak mysz, kamera, aparat fotograficzny, telefon komórkowy, modem, skaner, przenośna pamięć. Podłączone w ten sposób urządzenia są od razu wykrywane i rozpoznawane przez system, dzięki czemu instalacja sterowników i konfiguracja sprzętu odbywają się zwykle automatycznie.
Książka „USB. Praktyczne programowanie z Windows API w C++” w zwięzły sposób przedstawia wszelkie zagadnienia, dotyczące użytkowania i programowania transmisji USB. Korzystając z tego podręcznika, poznasz nie tylko teoretyczne podstawy działania USB, ale także zdobędziesz praktyczne umiejętności w tym zakresie. Książka zawiera bowiem zarówno konkretne przykłady, jak i ćwiczenia do samodzielnego wykonania dla wszystkich, którzy chcą zyskać wiedzę na zaawansowanym poziomie. Dowiesz się między innymi, jakie są rodzaje transferów danych i transakcji USB, za co odpowiadają komponenty i jak wykorzystać wzorce projektowe. Zrozumiesz także metody projektowania obiektowego oraz implementacji oprogramowania sterującego łączem USB.
* Środowisko fizyczne i sygnałowe USB
* Klasy instalacji urządzeń
* Rejestr systemowy
* Transmisja danych
* Struktura systemu USB
* Detekcja i identyfikacja urządzeń
* Odczyt i zapis danych w formie raportu
* Programowanie obiektowe transmisji USB
* Wewnętrzne struktury danych
* Programy wielowątkowe
* Konwertery USB
Tu znajdziesz wszystko o działaniu USB i możliwościach jego wykorzystania!
1. IDZ DO
PRZYK£ADOWY ROZDZIA£
SPIS TRE CI Asembler.
Sztuka programowania
KATALOG KSI¥¯EK
Autor: Randall Hyde
KATALOG ONLINE T³umaczenie: Przemys³aw Szeremiota
ISBN: 83-7361-602-0
ZAMÓW DRUKOWANY KATALOG Tytu³ orygina³u: The Art of Assembly Language
Format: B5, stron: 968
TWÓJ KOSZYK
DODAJ DO KOSZYKA Ksi¹¿ka „Asembler. Sztuka programowania” to podrêcznik programowania w jêzyku
asemblera oparty na jêzyku HLA. Opisuje 32-bitow¹ architekturê procesorów Intel
oraz zasady tworzenia programów w jêzyku HLA. Przedstawia sposoby pisania,
CENNIK I INFORMACJE kompilacji i uruchamiania programów wykorzystuj¹cych ró¿ne, nawet najbardziej
z³o¿one typy danych.
ZAMÓW INFORMACJE • Wprowadzenie do jêzyka HLA
O NOWO CIACH • Sposoby reprezentacji danych
• Organizacja pamiêci i tryby adresowania
ZAMÓW CENNIK • Typy danych
• Podzia³ programu na procedury i modu³y
• Sterowanie wykonaniem programu
CZYTELNIA • Instrukcje arytmetyczne
• Operacje na plikach
FRAGMENTY KSI¥¯EK ONLINE • Operacje bitowe i ³añcuchowe
• Makrodefinicje
• Klasy i obiekty
• Po³¹czenie asemblera z programami w innych jêzykach
Przekonaj siê, jak prosty jest jêzyk asemblera
Wydawnictwo Helion
ul. Chopina 6
44-100 Gliwice
tel. (32)230-98-63
e-mail: helion@helion.pl
2. Spis treści
Rozdział 1. Wstęp do języka asemblerowego...................................................... 13
1.1. Wprowadzenie........................................................................................................ 13
1.2. Anatomia programu HLA....................................................................................... 13
1.3. Uruchamianie pierwszego programu HLA ............................................................. 16
1.4. Podstawowe deklaracje danych programu HLA..................................................... 17
1.5. Wartości logiczne ................................................................................................... 19
1.6. Wartości znakowe................................................................................................... 20
1.7. Rodzina procesorów 80x86 firmy Intel .................................................................. 21
1.7.1. Podsystem obsługi pamięci........................................................................... 24
1.8. Podstawowe instrukcje maszynowe........................................................................ 26
1.9. Podstawowe struktury sterujące wykonaniem programu HLA............................... 30
1.9.1. Wyra enia logiczne w instrukcjach HLA ..................................................... 31
1.9.2. Instrukcje if..then..elseif..else..endif języka HLA ......................................... 33
1.9.3. Iloczyn, suma i negacja w wyra eniach logicznych...................................... 35
1.9.4. Instrukcja while ............................................................................................ 37
1.9.5. Instrukcja for................................................................................................. 38
1.9.6. Instrukcja repeat............................................................................................ 39
1.9.7. Instrukcje break oraz breakif......................................................................... 40
1.9.8. Instrukcja forever.......................................................................................... 40
1.9.9. Instrukcje try, exception oraz endtry............................................................. 41
1.10. Biblioteka standardowa języka HLA — wprowadzenie ......................................... 44
1.10.1. Stałe predefiniowane w module stdio ........................................................... 46
1.10.2. Standardowe wejście i wyjście programu ..................................................... 46
1.10.3. Procedura stdout.newln................................................................................. 47
1.10.4. Procedury stdout.putiN ................................................................................. 47
1.10.5. Procedury stdout.putiNSize .......................................................................... 48
1.10.6. Procedura stdout.put ..................................................................................... 49
1.10.7. Procedura stdin.getc...................................................................................... 51
1.10.8. Procedury stdin.getiN ................................................................................... 52
1.10.9. Procedury stdin.readLn i stdin.flushInput..................................................... 53
1.10.10. Procedura stdin.get ....................................................................................... 54
1.11. Jeszcze o ochronie wykonania kodu w bloku try..endtry........................................ 55
1.11.1. Zagnie d one bloki try..endtry ..................................................................... 56
1.11.2. Klauzula unprotected bloku try..endtry......................................................... 58
1.11.3. Klauzula anyexception bloku try..endtry ...................................................... 61
1.11.4. Instrukcja try..endtry i rejestry...................................................................... 61
1.12. Język asemblerowy a język HLA ........................................................................... 63
1.13. Źródła informacji dodatkowych.............................................................................. 64
3. 4 Asembler. Sztuka programowania
Rozdział 2. Reprezentacja danych ...................................................................... 65
2.1. Wprowadzenie........................................................................................................ 65
2.2. Systemy liczbowe ................................................................................................... 66
2.2.1. System dziesiętny — przypomnienie............................................................ 66
2.2.2. System dwójkowy......................................................................................... 66
2.2.3. Formaty liczb dwójkowych........................................................................... 68
2.3. System szesnastkowy.............................................................................................. 69
2.4. Organizacja danych ................................................................................................ 72
2.4.1. Bity ............................................................................................................... 72
2.4.2. Półbajty......................................................................................................... 73
2.4.3. Bajty ............................................................................................................. 73
2.4.4. Słowa ............................................................................................................ 75
2.4.5. Podwójne słowa ............................................................................................ 76
2.4.6. Słowa poczwórne i długie............................................................................. 77
2.5. Operacje arytmetyczne na liczbach dwójkowych i szesnastkowych....................... 77
2.6. Jeszcze o liczbach i ich reprezentacji...................................................................... 78
2.7. Operacje logiczne na bitach.................................................................................... 81
2.8. Operacje logiczne na liczbach dwójkowych i ciągach bitów.................................. 84
2.9. Liczby ze znakiem i bez znaku ............................................................................... 86
2.10. Rozszerzanie znakiem, rozszerzanie zerem, skracanie, przycinanie....................... 91
2.11. Przesunięcia i obroty .............................................................................................. 95
2.12. Pola bitowe i dane spakowane................................................................................ 99
2.13. Wprowadzenie do arytmetyki zmiennoprzecinkowej ........................................... 104
2.13.1. Formaty zmiennoprzecinkowe przyjęte przez IEEE ................................... 108
2.13.2. Obsługa liczb zmiennoprzecinkowych w języku HLA ............................... 112
2.14. Reprezentacja liczb BCD ..................................................................................... 115
2.15. Znaki .................................................................................................................... 117
2.15.1. Zestaw znaków ASCII................................................................................ 117
2.15.2. Obsługa znaków ASCII w języku HLA...................................................... 121
2.16. Zestaw znaków Unicode....................................................................................... 125
2.17. Źródła informacji dodatkowych............................................................................ 126
Rozdział 3. Dostęp do pamięci i jej organizacja ................................................ 127
3.1. Wprowadzenie...................................................................................................... 127
3.2. Tryby adresowania procesorów 80x86 ................................................................. 127
3.2.1. Adresowanie przez rejestr........................................................................... 128
3.2.2. 32-bitowe tryby adresowania procesora 80x86........................................... 129
3.3. Organizacja pamięci fazy wykonania ................................................................... 135
3.3.1. Obszar kodu................................................................................................ 137
3.3.2. Obszar zmiennych statycznych................................................................... 139
3.3.3. Obszar niemodyfikowalny .......................................................................... 140
3.3.4. Obszar danych niezainicjalizowanych ........................................................ 141
3.3.5. Atrybut @nostorage.................................................................................... 141
3.3.6. Sekcja deklaracji var ................................................................................... 142
3.3.7. Rozmieszczenie sekcji deklaracji danych w programie HLA ..................... 143
3.4. Przydział pamięci dla zmiennych w programach HLA......................................... 144
3.5. Wyrównanie danych w programach HLA ............................................................ 146
3.6. Wyra enia adresowe............................................................................................. 149
3.7. Koercja typów ...................................................................................................... 151
3.8. Koercja typu rejestru ............................................................................................ 154
3.9. Pamięć obszaru stosu oraz instrukcje push i pop .................................................. 155
3.9.1. Podstawowa postać instrukcji push............................................................. 155
3.9.2. Podstawowa postać instrukcji pop .............................................................. 157
3.9.3. Zachowywanie wartości rejestrów za pomocą instrukcji push i pop .......... 158
4. Spis treści 5
3.9.4. Stos jako kolejka LIFO ............................................................................... 159
3.9.5. Pozostałe wersje instrukcji obsługi stosu.................................................... 161
3.9.6. Usuwanie danych ze stosu bez ich zdejmowania ........................................ 163
3.9.7. Odwoływanie się do danych na stosie bez ich zdejmowania ...................... 165
3.10. Dynamiczny przydział pamięci — obszar pamięci sterty ..................................... 166
3.11. Instrukcje inc oraz dec.......................................................................................... 171
3.12. Pobieranie adresu obiektu..................................................................................... 171
3.13. Źródła informacji dodatkowych............................................................................ 172
Rozdział 4. Stałe, zmienne i typy danych.......................................................... 173
4.1. Wprowadzenie...................................................................................................... 173
4.2. Kilka dodatkowych instrukcji: intmul, bound i into ............................................. 174
4.3. Typ tbyte............................................................................................................... 178
4.4. Deklaracje stałych i zmiennych w języku HLA.................................................... 178
4.4.1. Typy stałych ............................................................................................... 182
4.4.2. Literały stałych łańcuchowych i znakowych............................................... 183
4.4.3. Stałe łańcuchowe i napisowe w sekcji const............................................... 185
4.4.4. Wyra enia stałowartościowe....................................................................... 186
4.4.5. Wielokrotne sekcje const i ich kolejność w programach HLA ................... 189
4.4.6. Sekcja val programu HLA .......................................................................... 190
4.4.7. Modyfikowanie obiektów sekcji val w wybranym miejscu
kodu źródłowego programu ....................................................................... 191
4.5. Sekcja type programu HLA .................................................................................. 192
4.6. Typy wyliczeniowe w języku HLA ...................................................................... 193
4.7. Typy wskaźnikowe ............................................................................................... 194
4.7.1. Wskaźniki w języku asemblerowym........................................................... 196
4.7.2. Deklarowanie wskaźników w programach HLA ........................................ 197
4.7.3. Stałe wskaźnikowe i wyra enia stałych wskaźnikowych............................ 197
4.7.4. Zmienne wskaźnikowe a dynamiczny przydział pamięci ........................... 199
4.7.5. Typowe błędy stosowania wskaźników ...................................................... 200
4.8. Moduł chars.hhf biblioteki standardowej HLA .................................................... 205
4.9. Zło one typy danych ............................................................................................ 207
4.10. Łańcuchy znaków................................................................................................. 208
4.11. Łańcuchy w języku HLA...................................................................................... 210
4.12. Odwołania do poszczególnych znaków łańcucha ................................................. 217
4.13. Moduł strings biblioteki standardowej HLA i procedury manipulacji łańcuchami...219
4.14. Konwersje wewnątrzpamięciowe ......................................................................... 231
4.15. Zbiory znaków...................................................................................................... 232
4.16. Implementacja zbiorów znaków w języku HLA................................................... 233
4.17. Literały, stałe i wyra enia zbiorów znaków w języku HLA ................................. 235
4.18. Operator in w wyra eniach logicznych
wysokopoziomowego rozszerzenia języka HLA.................................................. 237
4.19. Obsługa zbiorów znaków w bibliotece standardowej HLA.................................. 237
4.20. Wykorzystywanie zbiorów znaków w programach HLA ..................................... 241
4.21. Tablice.................................................................................................................. 243
4.22. Deklarowanie tablic w programach HLA ............................................................. 244
4.23. Literały tablicowe................................................................................................. 245
4.24. Odwołania do elementów tablicy jednowymiarowej ............................................ 246
4.24.1. Porządkowanie tablicy wartości ................................................................. 248
4.25. Tablice wielowymiarowe ..................................................................................... 250
4.25.1. Wierszowy układ elementów tablicy .......................................................... 251
4.25.2. Kolumnowy układ elementów tablicy ........................................................ 255
4.26. Przydział pamięci dla tablic wielowymiarowych ................................................. 256
4.27. Odwołania do elementów tablic wielowymiarowych w języku asemblerowym... 258
5. 6 Asembler. Sztuka programowania
4.28. Du e tablice i MASM (tylko dla programistów systemu Windows) .................... 259
4.29. Rekordy (struktury) .............................................................................................. 260
4.30. Stałe rekordowe.................................................................................................... 263
4.31. Tablice rekordów.................................................................................................. 264
4.32. Wykorzystanie tablic i rekordów w roli pól rekordów ......................................... 265
4.33. Ingerowanie w przesunięcia pól rekordów ........................................................... 269
4.34. Wyrównanie pól w ramach rekordu...................................................................... 270
4.35. Wskaźniki na rekordy........................................................................................... 271
4.36. Unie ...................................................................................................................... 273
4.37. Unie anonimowe................................................................................................... 275
4.38. Typy wariantowe .................................................................................................. 276
4.39. Stałe unii............................................................................................................... 277
4.40. Przestrzenie nazw ................................................................................................. 278
4.41. Tablice dynamiczne w języku asemblerowym ..................................................... 281
4.42. Obsługa tablic w bibliotece standardowej języka HLA ........................................ 284
4.43. Źródła informacji dodatkowych............................................................................ 287
Rozdział 5. Procedury i moduły ........................................................................ 289
5.1. Wprowadzenie...................................................................................................... 289
5.2. Procedury.............................................................................................................. 289
5.3. Zachowywanie stanu systemu .............................................................................. 292
5.4. Przedwczesny powrót z procedury ....................................................................... 296
5.5. Zmienne lokalne ................................................................................................... 297
5.6. Symbole lokalne i globalne obiektów innych ni zmienne................................... 303
5.7. Parametry.............................................................................................................. 304
5.7.1. Przekazywanie przez wartość ..................................................................... 305
5.7.2. Przekazywanie przez adres ......................................................................... 308
5.8. Funkcje i wartości funkcji .................................................................................... 311
5.8.1. Zwracanie wartości funkcji......................................................................... 312
5.8.2. Zło enie instrukcji języka HLA .................................................................. 313
5.8.3. Atrybut @returns procedur języka HLA..................................................... 316
5.9. Rekurencja............................................................................................................ 318
5.10. Deklaracje zapowiadające .................................................................................... 322
5.11. Procedury w ujęciu niskopoziomowym — instrukcja call.................................... 323
5.12. Rola stosu w procedurach..................................................................................... 325
5.13. Rekordy aktywacji................................................................................................ 328
5.14. Standardowa sekwencja wejścia do procedury ..................................................... 331
5.15. Standardowa sekwencja wyjścia z procedury....................................................... 333
5.16. Niskopoziomowa implementacja zmiennych automatycznych ............................ 334
5.17. Niskopoziomowa implementacja parametrów procedury..................................... 336
5.17.1. Przekazywanie argumentów w rejestrach ................................................... 337
5.17.2. Przekazywanie argumentów w kodzie programu........................................ 340
5.17.3. Przekazywanie argumentów przez stos....................................................... 342
5.18. Wskaźniki na procedury ....................................................................................... 365
5.19. Parametry typu procedurowego............................................................................ 368
5.20. Nietypowane parametry wskaźnikowe ................................................................. 370
5.21. Zarządzanie du ymi projektami programistycznymi............................................ 371
5.22. Dyrektywa #include ............................................................................................. 372
5.23. Unikanie wielokrotnego włączania do kodu tego samego pliku........................... 374
5.24. Moduły a atrybut @external................................................................................. 375
5.24.1. Działanie atrybutu @external ..................................................................... 380
5.24.2. Pliki nagłówkowe w programach HLA....................................................... 382
5.25. Jeszcze o problemie zaśmiecania przestrzeni nazw .............................................. 384
5.26. Źródła informacji dodatkowych............................................................................ 386
6. Spis treści 7
Rozdział 6. Arytmetyka.................................................................................... 389
6.1. Wprowadzenie...................................................................................................... 389
6.2. Zestaw instrukcji arytmetycznych procesora 80x86 ............................................. 389
6.2.1. Instrukcje mul i imul................................................................................... 389
6.2.2. Instrukcje div i idiv..................................................................................... 393
6.2.3. Instrukcja cmp ............................................................................................ 396
6.2.4. Instrukcje setXX ......................................................................................... 401
6.2.5. Instrukcja test.............................................................................................. 403
6.3. Wyra enia arytmetyczne ...................................................................................... 404
6.3.1. Proste przypisania ....................................................................................... 405
6.3.2. Proste wyra enia ......................................................................................... 406
6.3.3. Wyra enia zło one...................................................................................... 408
6.3.4. Operatory przemienne................................................................................. 413
6.4. Wyra enia logiczne .............................................................................................. 414
6.5. Idiomy maszynowe a idiomy arytmetyczne.......................................................... 417
6.5.1. Mno enie bez stosowania instrukcji mul, imul i intmul.............................. 417
6.5.2. Dzielenie bez stosowania instrukcji div i idiv............................................. 419
6.5.3. Zliczanie modulo n za pośrednictwem instrukcji and ................................. 420
6.5.4. Nieostro ne korzystanie z idiomów maszynowych .................................... 420
6.6. Arytmetyka zmiennoprzecinkowa ........................................................................ 421
6.6.1. Rejestry jednostki zmiennoprzecinkowej.................................................... 421
6.6.2. Typy danych jednostki zmiennoprzecinkowej ............................................ 429
6.6.3. Zestaw instrukcji jednostki zmiennoprzecinkowej ..................................... 430
6.6.4. Instrukcje przemieszczania danych............................................................. 431
6.6.5. Instrukcje konwersji.................................................................................... 433
6.6.6. Instrukcje arytmetyczne .............................................................................. 436
6.6.7. Instrukcje porównań ................................................................................... 442
6.6.8. Instrukcje ładowania stałych na stos koprocesora....................................... 445
6.6.9. Instrukcje funkcji przestępnych .................................................................. 445
6.6.10. Pozostałe instrukcje jednostki zmiennoprzecinkowej ................................. 447
6.6.11. Instrukcje operacji całkowitoliczbowych.................................................... 449
6.7. Tłumaczenie wyra eń arytmetycznych na kod maszynowy
jednostki zmiennoprzecinkowej........................................................................... 449
6.7.1. Konwersja notacji wrostkowej do odwrotnej notacji polskiej..................... 451
6.7.2. Konwersja odwrotnej notacji polskiej do kodu języka asemblerowego...... 453
6.8. Obsługa arytmetyki zmiennoprzecinkowej w bibliotece standardowej języka HLA.....455
6.8.1. Funkcje stdin.getf i fileio.getf ..................................................................... 455
6.8.2. Funkcje trygonometryczne modułu math.................................................... 455
6.8.3. Funkcje wykładnicze i logarytmiczne modułu math................................... 456
6.9. Podsumowanie...................................................................................................... 458
Rozdział 7. Niskopoziomowe struktury sterujące wykonaniem programu............ 459
7.1. Wprowadzenie...................................................................................................... 459
7.2. Struktury sterujące niskiego poziomu................................................................... 460
7.3. Etykiety instrukcji................................................................................................. 460
7.4. Bezwarunkowy skok do instrukcji (instrukcja jmp) ............................................. 462
7.5. Instrukcje skoku warunkowego ............................................................................ 465
7.6. Struktury sterujące „średniego” poziomu — jt i jf................................................ 468
7.7. Implementacja popularnych struktur sterujących w języku asemblerowym ......... 469
7.8. Wstęp do podejmowania decyzji .......................................................................... 469
7.8.1. Instrukcje if..then..else................................................................................ 471
7.8.2. Tłumaczenie instrukcji if języka HLA na język asemblerowy.................... 475
7.8.3. Obliczanie wartości zło onych wyra eń logicznych
— metoda pełnego szacowania wartości wyra enia................................... 480
7. 8 Asembler. Sztuka programowania
7.8.4. Skrócone szacowanie wyra eń logicznych ................................................. 481
7.8.5. Wady i zalety metod szacowania wartości wyra eń logicznych ................. 483
7.8.6. Efektywna implementacja instrukcji if w języku asemblerowym ............... 485
7.8.7. Instrukcje wyboru ....................................................................................... 490
7.9. Skoki pośrednie a automaty stanów...................................................................... 500
7.10. Kod spaghetti........................................................................................................ 503
7.11. Pętle...................................................................................................................... 504
7.11.1. Pętle while .................................................................................................. 505
7.11.2. Pętle repeat..until ........................................................................................ 506
7.11.3. Pętle nieskończone ..................................................................................... 508
7.11.4. Pętle for ...................................................................................................... 508
7.11.5. Instrukcje break i continue.......................................................................... 509
7.11.6. Pętle a rejestry ............................................................................................ 513
7.12. Optymalizacja kodu.............................................................................................. 514
7.12.1. Obliczanie warunku zakończenia pętli na końcu pętli ................................ 515
7.12.2. Zliczanie licznika pętli wstecz .................................................................... 517
7.12.3. Wstępne obliczanie niezmienników pętli.................................................... 518
7.12.4. Rozciąganie pętli ........................................................................................ 519
7.12.5. Zmienne indukcyjne ................................................................................... 521
7.13. Mieszane struktury sterujące w języku HLA........................................................ 522
7.14. Źródła informacji dodatkowych............................................................................ 524
Rozdział 8. Pliki .............................................................................................. 525
8.1. Wprowadzenie...................................................................................................... 525
8.2. Organizacja plików............................................................................................... 525
8.2.1. Pliki jako listy rekordów............................................................................. 526
8.2.2. Pliki tekstowe a pliki binarne...................................................................... 528
8.3. Pliki sekwencyjne ................................................................................................. 530
8.4. Pliki dostępu swobodnego .................................................................................... 538
8.5. Indeksowany sekwencyjny dostęp do pliku (ISAM) ............................................ 543
8.6. Przycinanie pliku .................................................................................................. 546
8.7. Źródła informacji dodatkowych............................................................................ 548
Rozdział 9. Zaawansowane obliczenia w języku asemblerowym......................... 549
9.1. Wprowadzenie...................................................................................................... 549
9.2. Operacje o zwielokrotnionej precyzji ................................................................... 550
9.2.1. Obsługa operacji zwielokrotnionej precyzji
w bibliotece standardowej języka HLA...................................................... 550
9.2.2. Dodawanie liczb zwielokrotnionej precyzji ................................................ 553
9.2.3. Odejmowanie liczb zwielokrotnionej precyzji............................................ 556
9.2.4. Porównanie wartości o zwielokrotnionej precyzji ...................................... 558
9.2.5. Mno enie operandów zwielokrotnionej precyzji ........................................ 562
9.2.6. Dzielenie wartości zwielokrotnionej precyzji ............................................. 565
9.2.7. Negacja operandów zwielokrotnionej precyzji ........................................... 575
9.2.8. Iloczyn logiczny operandów zwielokrotnionej precyzji.............................. 577
9.2.9. Suma logiczna operandów zwielokrotnionej precyzji................................. 577
9.2.10. Suma wyłączająca operandów zwielokrotnionej precyzji........................... 578
9.2.11. Inwersja operandów zwielokrotnionej precyzji .......................................... 578
9.2.12. Przesunięcia bitowe operandów zwielokrotnionej precyzji ........................ 578
9.2.13. Obroty operandów zwielokrotnionej precyzji............................................. 583
9.2.14. Operandy zwielokrotnionej precyzji w operacjach wejścia-wyjścia........... 583
9.3. Manipulowanie operandami ró nych rozmiarów.................................................. 604
9.4. Arytmetyka liczb dziesiętnych.............................................................................. 606
9.4.1. Literały liczb BCD...................................................................................... 608
9.4.2. Instrukcje maszynowe daa i das.................................................................. 608
8. Spis treści 9
9.4.3. Instrukcje maszynowe aaa, aas, aam i aad .................................................. 610
9.4.4. Koprocesor a arytmetyka spakowanych liczb dziesiętnych ........................ 612
9.5. Obliczenia w tabelach........................................................................................... 615
9.5.1. Wyszukiwanie w tabeli wartości funkcji .................................................... 615
9.5.2. Dopasowywanie dziedziny ......................................................................... 620
9.5.3. Generowanie tabel wartości funkcji............................................................ 621
9.5.4. Wydajność odwołań do tabel przeglądowych ............................................. 625
9.6. Źródła informacji dodatkowych............................................................................ 625
Rozdział 10. Makrodefinicje i język czasu kompilacji .......................................... 627
10.1. Wprowadzenie...................................................................................................... 627
10.2. Język czasu kompilacji — wstęp .......................................................................... 627
10.3. Instrukcje #print i #error....................................................................................... 629
10.4. Stałe i zmienne czasu kompilacji.......................................................................... 631
10.5. Wyra enia i operatory czasu kompilacji............................................................... 632
10.6. Funkcje czasu kompilacji ..................................................................................... 635
10.6.1. Funkcje czasu kompilacji — konwersja typów........................................... 636
10.6.2. Funkcje czasu kompilacji — obliczenia numeryczne ................................. 638
10.6.3. Funkcje czasu kompilacji — klasyfikacja znaków ..................................... 638
10.6.4. Funkcje czasu kompilacji — manipulacje łańcuchami znaków .................. 639
10.6.5. Funkcje czasu kompilacji — dopasowywanie wzorców............................. 639
10.6.6. Odwołania do tablicy symboli .................................................................... 641
10.6.7. Pozostałe funkcje czasu kompilacji ............................................................ 643
10.6.8. Konwersja typu stałych napisowych........................................................... 643
10.7. Kompilacja warunkowa........................................................................................ 645
10.8. Kompilacja wielokrotna (pętle czasu kompilacji)................................................. 650
10.9. Makrodefinicje (procedury czasu kompilacji) ...................................................... 653
10.9.1. Makrodefinicje standardowe....................................................................... 654
10.9.2. Argumenty makrodefinicji.......................................................................... 656
10.9.3. Symbole lokalne makrodefinicji ................................................................. 663
10.9.4. Makrodefinicje jako procedury czasu kompilacji ....................................... 666
10.9.5. Symulowane przecią anie funkcji .............................................................. 667
10.10. Tworzenie programów czasu kompilacji.............................................................. 672
10.10.1. Generowanie tabel wartości funkcji............................................................ 673
10.10.2. Rozciąganie pętli ........................................................................................ 677
10.11. Stosowanie makrodefinicji w osobnych plikach kodu źródłowego ...................... 679
10.12. Źródła informacji dodatkowych ........................................................................... 679
Rozdział 11. Manipulowanie bitami .................................................................... 681
11.1. Wprowadzenie...................................................................................................... 681
11.2. Czym są dane bitowe? .......................................................................................... 681
11.3. Instrukcje manipulujące bitami............................................................................. 683
11.4. Znacznik przeniesienia w roli akumulatora bitów ................................................ 692
11.5. Wstawianie i wyodrębnianie łańcuchów bitów .................................................... 693
11.6. Scalanie zbiorów bitów i rozpraszanie łańcuchów bitowych................................ 696
11.7. Spakowane tablice łańcuchów bitowych .............................................................. 699
11.8. Wyszukiwanie bitów ............................................................................................ 701
11.9. Zliczanie bitów ..................................................................................................... 704
11.10. Odwracanie łańcucha bitów.................................................................................. 707
11.11. Scalanie łańcuchów bitowych .............................................................................. 709
11.12. Wyodrębnianie łańcuchów bitów ......................................................................... 710
11.13. Wyszukiwanie wzorca bitowego .......................................................................... 712
11.14. Moduł bits biblioteki standardowej HLA ............................................................. 713
11.15. Źródła informacji dodatkowych ........................................................................... 715
9. 10 Asembler. Sztuka programowania
Rozdział 12. Operacje łańcuchowe..................................................................... 717
12.1. Wprowadzenie...................................................................................................... 717
12.2. Instrukcje łańcuchowe procesorów 80x86............................................................ 717
12.2.1. Sposób działania instrukcji łańcuchowych ................................................. 718
12.2.2. Przedrostki instrukcji łańcuchowych — repX ............................................ 719
12.2.3. Znacznik kierunku ...................................................................................... 719
12.2.4. Instrukcja movs........................................................................................... 721
12.2.5. Instrukcja cmps........................................................................................... 727
12.2.6. Instrukcja scas............................................................................................. 731
12.2.7. Instrukcja stos............................................................................................. 732
12.2.8. Instrukcja lods ............................................................................................ 733
12.2.9. Instrukcje lods i stos w zło onych operacjach łańcuchowych .................... 733
12.3. Wydajność instrukcji łańcuchowych procesorów 80x86 ...................................... 734
12.4. Źródła informacji dodatkowych............................................................................ 735
Rozdział 13. Instrukcje MMX............................................................................. 737
13.1. Wprowadzenie...................................................................................................... 737
13.2. Sprawdzanie obecności rozszerzenia MMX......................................................... 738
13.3. Środowisko programowania MMX ...................................................................... 739
13.3.1. Rejestry MMX............................................................................................ 739
13.3.2. Typy danych MMX .................................................................................... 741
13.4. Przeznaczenie instrukcji zestawu MMX............................................................... 742
13.5. Arytmetyka z nasycaniem a arytmetyka z zawijaniem ......................................... 743
13.6. Operandy instrukcji MMX ................................................................................... 744
13.7. Instrukcje zestawu MMX ..................................................................................... 746
13.7.1. Instrukcje transferu danych......................................................................... 747
13.7.2. Instrukcje konwersji.................................................................................... 747
13.7.3. Arytmetyka operandów spakowanych ........................................................ 752
13.7.4. Instrukcje logiczne...................................................................................... 755
13.7.5. Instrukcje porównań ................................................................................... 756
13.7.6. Instrukcje przesunięć bitowych................................................................... 760
13.7.7. Instrukcja emms.......................................................................................... 762
13.8. Model programowania MMX............................................................................... 763
13.9. Źródła informacji dodatkowych............................................................................ 774
Rozdział 14. Klasy i obiekty............................................................................... 775
14.1. Wprowadzenie...................................................................................................... 775
14.2. Wstęp do programowania obiektowego................................................................ 775
14.3. Klasy w języku HLA ............................................................................................ 779
14.4. Obiekty ................................................................................................................. 782
14.5. Dziedziczenie ....................................................................................................... 784
14.6. Przesłanianie......................................................................................................... 785
14.7. Metody wirtualne a procedury statyczne .............................................................. 786
14.8. Implementacje metod i procedur klas ................................................................... 788
14.9. Implementacja obiektu ......................................................................................... 793
14.9.1. Tabela metod wirtualnych .......................................................................... 796
14.9.2. Reprezentacja w pamięci obiektu klasy pochodnej..................................... 798
14.10. Konstruktory i inicjalizacja obiektów................................................................... 802
14.10.1. Konstruktor a dynamiczny przydział obiektu ............................................. 804
14.10.2. Konstruktory a dziedziczenie...................................................................... 806
14.10.3. Parametry konstruktorów i przecią anie procedur klas .............................. 810
14.11. Destruktory........................................................................................................... 811
14.12. Łańcuchy _initialize_ oraz _finalize_ w języku HLA .......................................... 812
14.13. Metody abstrakcyjne ............................................................................................ 818
10. Spis treści 11
14.14. Informacja o typie czasu wykonania (RTTI) ........................................................ 822
14.15. Wywołania metod klasy bazowej ......................................................................... 824
14.16. Źródła informacji dodatkowych ........................................................................... 825
Rozdział 15. Na styku asemblera i innych języków programowania...................... 827
15.1. Wprowadzenie...................................................................................................... 827
15.2. Łączenie kodu HLA i kodu asemblera MASM bądź Gas ..................................... 827
15.2.1. Kod asemblera MASM (Gas) rozwijany w kodzie języka HLA................. 828
15.2.2. Konsolidacja modułów MASM (Gas) z modułami HLA............................ 832
15.3. Moduły HLA a programy języka Delphi (Kylix) ................................................. 837
15.3.1. Konsolidacja modułów HLA z programami języka Delphi (Kylix) ........... 838
15.3.2. Zachowywanie wartości rejestrów.............................................................. 842
15.3.3. Wartości zwracane funkcji.......................................................................... 843
15.3.4. Konwencje wywołań .................................................................................. 849
15.3.5. Przekazywanie argumentów przez wartość i adres,
parametry niemodyfikowalne i wyjściowe ................................................. 854
15.3.6. Skalarne typy danych w językach HLA i Delphi (Kylix) ........................... 856
15.3.7. Przekazywanie łańcuchów znaków z Delphi do procedury HLA ............... 858
15.3.8. Przekazywanie rekordów z programu w języku Delphi do kodu HLA....... 862
15.3.9. Przekazywanie zbiorów z programu w języku Delphi do kodu HLA ......... 866
15.3.10. Przekazywanie tablic z programu w języku Delphi do kodu HLA ............. 867
15.3.11. Odwołania do obiektów programu pisanego w Delphi w kodzie HLA....... 867
15.4. Moduły HLA a programy języków C i C++ ......................................................... 870
15.4.1. Konsolidacja modułów języka HLA z programami języków C i C++........ 872
15.4.2. Zachowywanie wartości rejestrów.............................................................. 875
15.4.3. Wartości funkcji ......................................................................................... 876
15.4.4. Konwencje wywołań .................................................................................. 876
15.4.5. Tryby przekazywania argumentów ............................................................. 880
15.4.6. Odwzorowanie typów skalarnych
pomiędzy językiem C (C++) a językiem HLA ........................................... 881
15.4.7. Przekazywanie łańcuchów znaków
pomiędzy programem w języku C (C++) a modułem HLA........................ 883
15.4.8. Przekazywanie rekordów
pomiędzy programem w języku C (C++) a modułem HLA........................ 883
15.4.9. Przekazywanie tablic
pomiędzy programem w języku C (C++) a modułem HLA........................ 886
15.5. Źródła informacji dodatkowych............................................................................ 886
Dodatek A Tabela kodów ASCII....................................................................... 887
Dodatek B Instrukcje procesorów 80x86......................................................... 891
Skorowidz...................................................................................... 927
11. 1.9. Podstawowe struktury sterujące
wykonaniem programu HLA
Instrukcje OQX, CFF oraz UWD, choć niezwykle u yteczne, nie wystarczają do napisania
sensownych programów. Aby takie programy mogły powstać, podstawowe instrukcje
muszą zostać uzupełnione o podstawowy zbiór struktur sterujących wykonaniem kodu
umo liwiających tworzenie pętli i podejmowanie decyzji w programie. Język HLA
przewiduje szereg wysokopoziomowych struktur sterujących wykonaniem charaktery-
stycznych dla języków wy szego ni asembler poziomu. Programista HLA ma więc do
dyspozycji konstrukcje KHVJGPGNUGKHGNUGGPFKH, YJKNGGPFYJKNG, TGRGCV
WPVKN i tak dalej. Dopiero znajomość i umiejętność wykorzystywania owych konstrukcji
pozwala na stworzenie prawdziwego programu.
Przed zagłębieniem się w cechach struktur sterujących nale ałoby podkreślić, e nie mają
one odpowiedników w zestawie instrukcji maszynowych procesorów 80x86. Kompi-
lator HLA tłumaczy owe struktury do postaci szeregu prawdziwych instrukcji maszyno-
wych za programistę. Sposób, w jaki to czyni, opisany zostanie w dalszej części ksią ki;
wtedy te Czytelnik nauczy się pisać kod w czystym języku asemblerowym, bez wy-
korzystania wysokopoziomowych cech kompilatora HLA. Na razie jednak, z racji
niewielkiego jeszcze zasobu wiedzy o języku asemblerowym, nieco sztuczne struktury
sterujące HLA będą bardzo pomocne.
Warto przy tym pamiętać, e wysokopoziomowe na pierwszy rzut oka struktury sterujące
nie są w istocie tak wysokopoziomowe. Mają one bowiem jedynie ułatwić rozpoczęcie
pisania programów w języku asemblerowym — w adnym razie nie zastępują asem-
blerowych instrukcji sterujących wykonaniem kodu. Ju wkrótce oka e się więc, e owe
wysokopoziomowe struktury sterujące mają szereg ograniczeń, które w miarę nabie-
rania przez Czytelnika doświadczenia i w miarę komplikowania kolejnych programów
staną się dość ucią liwe. To zresztą efekt zamierzony — po osiągnięciu pewnego poziomu
umiejętności programista sam stwierdzi, e w wielu przypadkach wygoda (i czytelność
programu) wynikająca z zastosowania struktur sterujących HLA nie rekompensuje
utraty efektywności, charakterystycznej dla kodu wykorzystującego wprost instrukcje
maszynowe procesora.
Niniejsze omówienie kierowane jest do tych Czytelników, którzy znają ju przynajmniej
jeden z popularnych języków wysokiego poziomu. Znajomość ta znakomicie uprości
prezentację struktur sterujących wykonaniem programu HLA, pozwalając na pominięcie
opisów sposobów zastosowania owych struktur w typowych zadaniach programistycz-
nych. Czytelnicy potrafiący korzystać ze struktur sterujących wykonaniem programu
w dowolnym z języków wysokiego poziomu nie powinni być zaskoczeni, kiedy odkryją,
e analogiczne struktury wykorzystywane są w programach HLA w sposób dosłownie
identyczny.
12. Rozdział 1. ♦ Wstęp do języka asemblerowego 31
1.9.1. Wyrażenia logiczne w instrukcjach HLA
Niektóre z instrukcji sterujących wykonaniem programu HLA wymagają określenia
w miejsce operandu wartości logicznej („prawda” bądź „fałsz”); ście ka wykonania pro-
gramu zale y wtedy od wartości wyra enia logicznego. Przykładami struktur wyma-
gających określenia wyra enia logicznego są instrukcje KH, YJKNG oraz TGRGCVWPVKN.
Pierwszą oznaką ograniczeń struktur sterujących wykonaniem programu HLA jest
składnia owych wyra eń. W tym jednym miejscu nawyki wyniesione z języków wyso-
kiego poziomu zwracają się przeciwko programiście asemblera: w języku HLA wyra-
enia logiczne są bardzo ograniczone — nie sposób konstruować tu wyra eń równie
wymyślnych, z jakimi mo e mieć do czynienia programista języka C++.
Wyra enia logiczne w języku HLA mogą przyjąć jedną z następujących postaci1:
PCEPKM
PCEPKM
TGLGUVT
TGLGUVT
OKGPPCNQIKEPC
OKGPPCNQIKEPC
RCOKúèTGLGUVT QRGTCVQTTGNCELK RCOKúèTGLGUVTUVC C
TGLGUVT KP UVC C
ITCPKECFQNPCUVC C
ITCPKECIÎTPC
TGLGUVT PQV KP UVC C
ITCPKECFQNPCUVC C
ITCPKECIÎTPC
Znacznik mo e zostać określony za pośrednictwem jednego z symboli wyliczonych
w tabeli 1.2.
Tabela 1.2. Symbole reprezentujące znaczniki
Symbol Znacznik Znaczenie
E Przeniesienie „Prawda” dla ustawionego (1) znacznika przeniesienia;
„fałsz” dla wyzerowanego (0) znacznika przeniesienia.
PE Brak przeniesienia „Prawda” dla wyzerowanego (0) znacznika przeniesienia;
„fałsz” dla ustawionego (1) znacznika przeniesienia.
Zero „Prawda” dla ustawionego (1) znacznika zera; „fałsz”
dla wyzerowanego (0) znacznika zera.
P Brak zera „Prawda” dla wyzerowanego (0) znacznika zera; „fałsz”
dla ustawionego (1) znacznika zera.
Q Przepełnienie „Prawda” dla ustawionego (1) znacznika przepełnienia;
„fałsz” dla wyzerowanego (0) znacznika przepełnienia.
PQ Brak przepełnienia „Prawda” dla wyzerowanego (0) znacznika przepełnienia;
„fałsz” dla ustawionego (1) znacznika przepełnienia.
U Znak „Prawda” dla ustawionego (1) znacznika znaku; „fałsz”
dla wyzerowanego (0) znacznika znaku.
PU Brak znaku „Prawda” dla wyzerowanego (0) znacznika znaku; „fałsz”
dla ustawionego (1) znacznika znaku.
1
Istnieje jeszcze kilka postaci dodatkowych; zostaną one omówione w dalszych podrozdziałach
i rozdziałach.
13. 32 Asembler. Sztuka programowania
Wykorzystanie tych znaczników w wyra eniach logicznych to ju dość zaawansowane
programowanie w asemblerze. Sposób konstruowania wyra eń logicznych anga ujących
znaczniki słowa stanu procesora zaprezentowany zostanie w następnym rozdziale.
W przypadku, kiedy wartość logiczna anga uje operand rejestrowy, operand ten mo e
odnosić się do zarówno do rejestru 8-bitowego, 16-bitowego, jak i 32-bitowego. Wyra-
enie takie przyjmuje wartość „fałsz”, jeśli rejestr zawiera wartość zero. Dla ka dej innej
wartości rejestru wyra enie logiczne przyjmuje wartość „prawda”.
Jeśli w wyra eniu logicznym uwikłana jest zmienna przechowywana w pamięci, jej war-
tość jest sprawdzana, a wyra enie przyjmuje wartość logiczną „prawdy” bądź „fałszu”
w zale ności od tej wartości, według reguł identycznych jak dla rejestrów. Nale y
jednak pamiętać, e w wyra eniu logicznym powinna występować zmienna typu logicz-
nego (DQQNGCP). Uwikłanie w wyra eniu logicznym zmiennej innego typu spowoduje
błąd. W przypadku potrzeby określenia wartości logicznej zmiennej typu innego ni
DQQNGCP nale y skorzystać z wyra eń logicznych ogólnego przeznaczenia, omówio-
nych poni ej.
Najbardziej ogólna postać wyra enia logicznego w języku HLA pozwala na określenie
operatora relacji wraz z dwoma operandami. Listę dozwolonych kombinacji rodzajów
operandów i operatorów relacji zawiera tabela 1.3.
Tabela 1.3. Dozwolone wyra enia logiczne
Operand lewy Operator relacji Operand prawy
Zmienna w pamięci bądź rejestr albo Zmienna w pamięci, rejestr bądź stała
albo
Nie mo na określić obu operandów jako operandów pamięciowych. Lewy operand mo -
na więc uto samić z operandem źródłowym, a operand prawy z operandem docelowym
i stosować kombinacje rodzajów operandów takie jak dla instrukcji CFF czy UWD.
Kolejna analogia operatorów relacji do instrukcji UWD i CFF objawia się w wymogu
identycznego rozmiaru operandów. I tak, oba operandy muszą być albo bajtami, albo
słowami, albo podwójnymi słowami. Jeśli operand prawy jest stałą, jego wartość musi
nadawać się do zapisania w operandzie lewym.
I jeszcze jedno: jeśli lewy operand jest rejestrem, a prawy to stała dodatnia albo inny
rejestr, porównanie odbywa się bez uwzględnienia znaku operandów. Efekty takiego
porównania omówione zostaną w następnym rozdziale; na razie wystarczy zapamiętać,
e nie powinno się porównywać wartości ujemnej przechowywanej w rejestrze z warto-
ścią stałą albo zawartością innego rejestru. Wynik porównania mo e bowiem odbiegać
od oczekiwań programisty.
14. Rozdział 1. ♦ Wstęp do języka asemblerowego 33
Operatory KP i PQV KP pozwalają na wykonanie testu zawierania się wartości prze-
chowywanej w rejestrze w określonym zbiorze liczb. Na przykład wyra enie GCZ KP
daje wartość logiczną VTWG, jeśli wartość przechowywana w rejestrze
EAX to wartość z zakresu od 2000 do 2099 (włącznie). Operator PQV KP ma działanie
odwrotne — da wartość logiczną VTWG jedynie wtedy, kiedy zawartość rejestru to
liczba spoza określonego zbioru. Na przykład wyra enie CN PQV KP C będzie
miało wartość VTWG tylko wtedy, kiedy znak przechowywany w rejestrze AL nie będzie
małą literą alfabetu.
Oto kilka przykładów wyra eń logicznych w języku HLA:
E
$QQNAXCT
CN
'5+
'#: '$:
'$:
K
K
CN K
GCZ KP
EJ PQV KP C
1.9.2. Instrukcje if..then..elseif..else..endif języka HLA
Składnia instrukcji warunkowego wykonania kodu KH w wydaniu języka HLA prezen-
towana jest na rysunku 1.10.
Rysunek 1.10. Składnia instrukcji if w języku HLA
Wyra enia występujące w instrukcji KH muszą odpowiadać jednej z postaci wyra eń lo-
gicznych, zaprezentowanych w poprzednim ustępie. Jeśli wyra enie przyjmie wartość lo-
giczną „prawda”, wykonany zostanie kod umieszczony za klauzulą VJGP. W przeciwnym
przypadku sterowanie przekazane zostanie do kodu w ramach klauzuli GNUGKH bądź GNUG.
15. 34 Asembler. Sztuka programowania
Poniewa klauzule GNUGKH i GNUG nie są obowiązkowe, instrukcja KH w najprostszej
postaci składa się z wyra enia logicznego i pojedynczej klauzuli VJGP, za którą wystę-
puje instrukcja lub blok instrukcji wykonywanych warunkowo, w zale ności od war-
tości wyra enia logicznego:
KH
GCZ VJGP
UVFQWVRWV
DNCF YCTVQUE 07.. PN
GPFKH
Jeśli w trakcie wykonania programu wyra enie logiczne w instrukcji KH będzie miało
wartość VTWG, wykonany zostanie kod znajdujący się pomiędzy słowami VJGP i GPFKH.
W przypadku kiedy wyra enie logiczne będzie miało wartość HCNUG, kod ów zostanie
pominięty.
Inną powszechnie występującą formą instrukcji KH jest forma z pojedynczą klauzulą
GNUG. Instrukcja taka wygląda następująco:
KH
GCZ VJGP
UVFQWVRWV
DNCF YCTVQEU 07.. YUMCPKMC PN
GNUG
UVFQWVRWV
2QRTCYPC YCTVQUE YUMCPKMC PN
GPFKH
Jeśli wyra enie logiczne przyjmie wartość VTWG, wykonany zostanie kod zawarty między
słowami VJGP a GNUG. W przypadku wartości HCNUG sterowanie przekazane zostanie do
kodu ograniczonego klauzulą GNUG i słowem GPFKH.
Przez osadzanie opcjonalnych klauzul GNUGKH w instrukcji KH mo na rozbudowywać
podejmowanie decyzji o wykonaniu kodu. Na przykład, jeśli rejestr CH zawiera wartość
znakową, mo na na podstawie jego wartości dokonać wyboru spośród dostępnych
opcji menu, konstruując następującą instrukcję KH:
KH
EJ C VJGP
UVFQWVRWV
9[DTCPQ RQ[ELG OGPW C PN
GNUGKH
EJ D VJGP
UVFQWVRWV
9[DTCPQ RQ[ELG OGPW D PN
GNUGKH
EJ E
UVFQWVRWV
9[DTCPQ RQ[ELG OGPW E PN
GNUG
UVFQWVRWV
$NCF Y[DQT QRELK URQC OGPW PN
GPFKH
16. Rozdział 1. ♦ Wstęp do języka asemblerowego 35
Choć nie widać tego w powy szym przykładzie, język HLA nie wymaga umieszczania
po sekwencji klauzul GNUGKH klauzuli GNUG. Jednak przy podejmowaniu decyzji o wyko-
naniu jednej z wielu ście ek kodu warto uzupełnić instrukcję KH klauzulą GNUG rozpo-
czynającą ście kę kodu obsługi ewentualnych błędów wyboru. Nawet jeśli pozornie
wykonanie owego kodu wydaje się niemo liwe, to nale y wziąć pod uwagę ewentualny
rozwój aplikacji — w kolejnych wersjach kodu wybór ście ki wykonania mo e mieć
inny przebieg; warto, aby wtedy kod decyzyjny uzupełniony został o obsługę sytuacji
wyjątkowych i niespodziewanych.
1.9.3. Iloczyn, suma i negacja
w wyrażeniach logicznych
Na liście operatorów zaprezentowanej w poprzednich punktach zabrakło bardzo wa nych
operatorów logicznych: operatora iloczynu logicznego (AND), logicznej sumy (OR)
oraz logicznej negacji (NOT). Ich zastosowanie w wyra eniach logicznych omówione
zostanie tutaj — wcześniej omówienie takie nie miałoby racji bytu z uwagi na koniecz-
ność poprzedzenia go omówieniem instrukcji warunkowego wykonania kodu KH. Bez
mo liwości wybiórczego wykonywania kodu trudno zaprezentować realistyczne przy-
kłady zastosowania operatorów logicznych.
W języku HLA operator iloczynu logicznego ma postać znaków . Jest to operator
binarny i jako taki wymaga określenia dwóch operandów; operandy te muszą być po-
prawnymi wyra eniami czasu wykonania. Operator ten zwraca wartość logiczną „prawda”
wtedy, kiedy oba operandy mają wartość „prawda”. Oto przykład:
KH
GCZ EJ C VJGP
OQX
GCZ GDZ
OQX
EJ
GPFKH
Obie instrukcje OQX zostaną wykonane jedynie wtedy, kiedy równocześnie rejestr EAX
będzie miał wartość większą od 0, a rejestr CH będzie zawierał znak „a”. Jeśli który-
kolwiek z tych warunków nie będzie spełniony, obie instrukcje OQX zostaną pominięte.
Warto pamiętać, e operandy operatora mogą być dowolnymi poprawnymi wyra-
eniami logicznymi języka HLA — nie muszą to być wyłącznie operatory relacji. Oto
kilka poprawnych logicznych z operatorem iloczynu logicznego:
CN KP
CN KP C GDZ
DQQN8CT GCZ
W języku HLA wykorzystywana jest metoda skróconego szacowania wartości wyra eń
operandów operatora logicznego . Otó jeśli lewy operand ma wartość „fałsz”, to
operand prawy nie jest ju sprawdzany — wyra enie logiczne natychmiast otrzymuje
wartość „fałsz” (co jest jak najbardziej poprawne, bo operator daje wartość „prawda”
wyłącznie dla dwu operandów o wartości „prawda”). Stąd w ostatnim z zaprezentowanych
wy ej wyra eń najpierw sprawdzona zostanie wartość logiczna zmiennej DQQN8CT; jeśli
będzie to wartość HCNUG, test wartości logicznej rejestru EAX zostanie pominięty.
17. 36 Asembler. Sztuka programowania
Nie sposób nie zauwa yć, e wyra enie z operatorem , np. GCZ GDZ GCZ,
jest wyra eniem logicznym (zwraca albo wartość logiczną „prawda”, albo wartość
„fałsz”), więc wyra enie takie mo e występować w roli operandu innego wyra enia
z operatorem logicznym. Stąd poprawność następującego wyra enia:
GCZ GDZ GCZ GEZ
Operator iloczynu logicznego cechuje się łącznością lewostronną, co oznacza, e w kodzie
wygenerowanym przez kompilator HLA ewaluacja (wartościowanie) wyra enia następuje
od strony lewej do prawej. Jeśli rejestr EAX zawiera wartość większą od zera, pozostałe
operandy nie będą sprawdzane. Analogicznie, jeśli EAX jest mniejszy od zera, ale EBX
jest równy EAX, to sprawdzanie logicznej wartości wyra enia GEZ zostanie pominięte —
całe wyra enie od razu otrzyma wartość HCNUG.
Operator sumy logicznej w języku HLA reprezentowany jest znakami ^^. Podobnie, jak
operator iloczynu, operator sumy logicznej wymaga określenia dwóch operandów będą-
cych poprawnymi wyra eniami logicznymi. Operator zwraca przy tym wartość logiczną
„prawda”, jeśli którykolwiek z operandów ma wartość logiczną „prawda”. Równie
podobnie jak w przypadku operatora iloczynu stosowana jest metoda skróconej ewalu-
acji wyra enia — jeśli ju pierwszy operand ma wartość logiczną „prawda”, operator
natychmiast zwraca wartość „prawda”, niezale nie od wartości drugiego operandu. Oto
przykłady zastosowania operatora sumy logicznej:
^^ CN
CN KP C ^^ GDZ
DQQN8CT ^^ GCZ
Podobnie jak operator operator logicznej sumy cechuje się łącznością lewostronną,
więc w wyra eniach z wieloma operatorami ^^ ewaluacja przebiega od strony lewej do
prawej. Na przykład:
GCZ ^^ GDZ GCZ ^^ GEZ
Jeśli powy sze wyra enie zostałoby osadzone w wyra eniu logicznym instrukcji KH, to
kod po klauzuli VJGP zostałby wykonany tylko wtedy, kiedy rejestr EAX miałby wartość
mniejszą od zera lub EBX nie byłby równy EAX bądź rejestr ECX zawierałby wartość
zero. Jeśli ju pierwszy test dałby wartość VTWG, pozostałe warunki nie byłyby spraw-
dzane. Gdyby pierwszy warunek miał wartość HCNUG, ale drugi VTWG, to etap szacowania
wartości logicznej wyra enia GEZ zostałby pominięty. Test zawartości rejestru ECX
nastąpiłby jedynie w obliczu niespełnienie wcześniejszych dwóch wyra eń.
Jeśli w jednym wyra eniu logicznym występują operatory iloczynu i sumy logicznej,
pierwszeństwo przed operatorem sumy ma operator iloczynu. Weźmy następujące wy-
ra enie:
GCZ ^^ GDZ GCZ GEZ
W interpretacji HLA powy szemu wyra eniu równowa ne jest wyra enie następujące:
GCZ ^^
GDZ GCZ GEZ
Jeśli rejestr EAX będzie miał wartość mniejszą od zera, reszta wyra enia nie będzie
sprawdzana — całość wyra enia otrzyma wartość VTWG. Jeśli jednak rejestr EAX będzie
18. Rozdział 1. ♦ Wstęp do języka asemblerowego 37
zawierał wartość większą od zera, to aby całość wyra enia otrzymała wartość VTWG,
oba operandy operatora iloczynu musiałyby mieć wartość VTWG.
Podwyra enia wykorzystujące operatory iloczynu i sumy logicznej mo na grupować
wedle własnego uznania, otaczając je nawiasami. Oto przykładowe wyra enie:
GCZ ^^ GDZ GCZ GEZ
Aby to wyra enie otrzymało wartość logiczną „prawda”, rejestr ECX musi zawierać
wartość zero oraz albo wartość EAX musi być mniejsza od zera, albo rejestr EBX musi
zawierać wartość ró ną od rejestru EAX. Szacowanie wyra enia przebiega więc od-
miennie ni w wersji bez nawiasów.
Operator negacji logicznej ma w języku HLA postać znaku wykrzyknika ( ). Operan-
dami operatora negacji mogą być jednak wyłącznie rejestry i zmienne w pamięci (np.
GCZ ) — operator negacji nie mo e być bezpośrednio aplikowany do zło onych
wyra eń logicznych. Aby wykonać logiczną negację wyra enia logicznego, nale y to
wyra enie ująć w nawiasy i cały nawias opatrzyć przedrostkiem w postaci wykrzyknika:
GCZ
Powy sze wyra enie otrzymuje wartość VTWG wtedy, kiedy rejestr EAX ma wartość
mniejszą od zera.
Operator logicznej negacji jest szczególnie u yteczny w odniesieniu do wyra eń zło-
onych anga ujących operatory logicznej sumy i logicznego iloczynu. W prostych wyra-
eniach, jak powy sze, lepiej jest zazwyczaj bezpośrednio określić stan logiczny wyra-
enia ni dodatkowo komplikować go operatorem negacji.
W języku HLA programista mo e te korzystać z operatorów bitowych ^ i , ale te ró nią
się znacząco od operatorów logicznych ^^ oraz . Szczegółowe omówienie operatorów
bitowych i innych operatorów języka HLA znajduje się w dokumentacji kompilatora.
1.9.4. Instrukcja while
Składnię instrukcji YJKNG ilustruje rysunek 1.11.
Rysunek 1.11.
Składnia instrukcji
while języka HLA
Wykonanie instrukcji YJKNG przebiega następująco: najpierw szacowana jest wartość
logiczna wyra enia warunku pętli. Jeśli ma ono wartość „fałsz”, sterowanie natych-
miast przekazywane jest do kodu znajdującego się za klauzulą GPFYJKNG. W przypadku
19. 38 Asembler. Sztuka programowania
wartości „prawda” wyra enia warunku, procesor przystępuje do wykonania ciała pętli.
Po wykonaniu wszystkich instrukcji ciała pętli następuje ponowne oszacowanie wartości
logicznej wyra enia warunkowego. Cała procedura powtarzana jest a do momentu,
w którym wyra enie warunkowe pętli przyjmie wartość logiczną „fałsz”.
W pętli YJKNG sprawdzenie wartości warunku wykonania pętli następuje podobnie jak
w językach wysokiego poziomu, czyli przed wykonaniem pierwszej instrukcji ciała
pętli. Z tego względu istnieje prawdopodobieństwo, e instrukcje ciała pętli nie zostaną
wykonane ani razu, jeśli wyra enie warunku będzie od początku miało wartość HCNUG.
Poza tym warto pamiętać, e przynajmniej jedna z instrukcji ciała pętli powinna mody-
fikować wartość wyra enia logicznego — w przeciwnym przypadku będziemy mieli
do czynienia z pętlą nieskończoną.
Oto przykład pętli YJKNG w języku HLA:
OQX
K
YJKNG
K FQ
UVFQWVRWV
K K PN
CFF
K
GPFYJKNG
1.9.5. Instrukcja for
W języku HLA pętla for przybiera następującą postać:
HQT
Y[TC GPKGKPKELCNKWLæEG YCTWPGM KPUVTWMELCNKEPKMC FQ
EKC QRúVNK
GPFHQT
Instrukcja pętli HQT odpowiada następującej pętli YJKNG:
Y[TC GPKGKPKELCNKWLæEG
YJKNG
YCTWPGM FQ
EKC QRúVNK
KPUVTWMELCNKEPKMC
GPFYJKNG
Wyra enie inicjalizujące mo e być dowolną, pojedynczą instrukcją maszynową. Instruk-
cja ta zwykle inicjalizuje rejestr albo zmienną przechowywaną w pamięci, której wartość
decyduje o kontynuowaniu pętli (tzw. licznik pętli). Warunek to wyra enie logiczne
języka HLA w formacie takim jak dla instrukcji YJKNG. Wartość tego wyra enia decy-
duje o podjęciu kolejnej iteracji pętli i zwykle anga uje licznik pętli. Instrukcja licz-
nika to typowo instrukcja zwiększająca licznik pętli; odpowiednikiem tej instrukcji
jest instrukcja w pętli YJKNG, której wykonanie zmienia wartość logiczną warunku
wykonania pętli. Zwykle instrukcją tą jest instrukcja języka HLA, na przykład CFF.
20. Rozdział 1. ♦ Wstęp do języka asemblerowego 39
Oto przykład ilustrujący równowa ność pętli HQT i YJKNG:
HQT
OQX
K K CFF
K FQ
UVFQWVRWV
K K PN
GPFHQT
// Analogiczna pętla for:
OQX
K
YJKNG
K FQ
UVFQWVRWV
K K PN
CFF
K
GPFYJKNG
1.9.6. Instrukcja repeat
Instrukcja TGRGCVWPVKN języka HLA wykorzystuje składnię prezentowaną na rysunku
1.12. Programiści języków C, C++ oraz Java powinni od razu zauwa yć, e instrukcja
ta jest odpowiednikiem dostępnej w tych językach instrukcji FQYJKNG.
Rysunek 1.12.
Składnia instrukcji
repeat..until
języka HLA
Test warunku zatrzymania pętli TGRGCVWPVKN odbywa się po zakończeniu wykony-
wania ciała pętli. Z tego względu instrukcja (bądź blok instrukcji) ciała pętli zostanie
wykonana przynajmniej raz, niezale nie od wartości początkowej wyra enia warunku
zatrzymania pętli. Warunek ten jest badany po raz pierwszy dopiero po zakończeniu
pierwszej iteracji; jeśli wyra enie ma wartość HCNUG, pętla jest powtarzana2. Jeśli wa-
runek otrzyma wartość VTWG, pętla jest zatrzymywana i sterowanie przekazywane jest
do instrukcji znajdujących się za klauzulą WPVKN.
Oto prosty przykład wykorzystania pętli TGRGCVWPVKN:
OQX
GEZ
TGRGCV
UVFQWVRWV
GEZ GEZ PN
UWD
GEZ
WPVKN
GEZ
2
Znaczenie warunku jest więc w języku HLA odwrotne ni warunku w analogicznej konstrukcji
FQYJKNG znanej z języków C, C++ i Java.
21. 40 Asembler. Sztuka programowania
Jeśli instrukcje ciała pętli mają być wykonane przynajmniej raz, niezale nie od warto-
ści wyra enia warunku pętli, wtedy w miejsce pętli YJKNG lepiej zastosować pętlę TG
RGCVWPVKN — konstrukcja taka będzie efektywniejsza.
1.9.7. Instrukcje break oraz breakif
Instrukcje DTGCM i DTGCMKH słu ą do przedwczesnego przekazywania sterowania poza
pętlę. Składnię obu instrukcji ilustruje rysunek 1.13.
Rysunek 1.13.
Składnia instrukcji
break oraz breakif
języka HLA
Instrukcja DTGCM powoduje bezwarunkowe przerwanie wykonywania pętli; instrukcja
DTGCMKH uzale nia przekazanie sterowania poza pętlę od spełnienia warunku będącego
wyra eniem logicznym. Wyjście z pętli następuje wtedy wyłącznie w obliczu wartości
VTWG tego wyra enia.
Zastosowanie instrukcji DTGCM oraz DTGCMKH nie pozwala na przekazanie sterowania poza
pętle zagnie d one. W języku HLA słu ą do tego osobne instrukcje, jak DGIKPGPF
oraz GZKV i GZKVKH. Szczegółowe informacje na ten temat zawiera dokumentacja języka
HLA. Dalej, język HLA udostępnia instrukcje EQPVKPWG oraz EQPVKPWGKH pozwalające
na przystąpienie do kolejnej iteracji pętli z pominięciem niewykonanych jeszcze instrukcji
ciała pętli. Po szczegóły odsyłam Czytelników do stosownej dokumentacji.
1.9.8. Instrukcja forever
Składnię konstrukcji HQTGXGTGPFHQT prezentuje rysunek 1.14.
Rysunek 1.14.
Składnia instrukcji
forever języka HLA
Instrukcja HQTGXGT tworzy pętlę nieskończoną. Wewnątrz takiej pętli mo na jednak
umieścić instrukcje DTGCM bądź DTGCMKH celem przerwania pętli w wybranym momencie.
To chyba najczęstszy układ pętli HQTGXGT. Ilustruje go następujący przykład:
HQTGXGT
UVFQWVRWV
9RTQYCF NKEDG ECNMQYKVC
OPKGLUC QF
UVFKPIGV
K
DTGCMKH
K
UVFQWVRWV
9RTQYCFQPC YCTVQUE OKCNC D[E OPKGLUC QF PN
GPFHQT
22. Rozdział 1. ♦ Wstęp do języka asemblerowego 41
1.9.9. Instrukcje try, exception oraz endtry
Instrukcje VT[GZEGRVKQPGPFVT[ słu ą do implementacji bardzo przydatnych bloków
obsługi wyjątków. Składnia instrukcji prezentowana jest na rysunku 1.15.
Rysunek 1.15.
Składnia instrukcji
obsługi wyjątków
Blok instrukcji VT[GPFVT[ słu y do ochrony wykonania instrukcji. Jeśli wykonanie
instrukcji znajdujących się pomiędzy klauzulą VT[ a pierwszą klauzulą GZEGRVKQP,
tworzących tzw. blok chroniony, przebiegnie bez niespodzianek, sterowanie przeka-
zywane jest do pierwszej instrukcji za klauzulą GPFVT[. Jeśli jednak w czasie wyko-
nywania instrukcji bloku chronionego zdarzy się błąd (wyjątek), wykonanie programu
jest przerywane, a sterowanie przekazywane jest do odpowiedniej klauzuli GZEGRVKQP
(skojarzonej z wyjątkiem, który wystąpił). Ka dy wyjątek ma unikalny identyfikator
w postaci liczby całkowitej. Niektóre z identyfikatorów wyjątków zadeklarowane zostały
w pliku nagłówkowym excepts.hhf biblioteki standardowej języka HLA, ale programi-
sta mo e te definiować własne wyjątki. W momencie sprowokowania wyjątku system
porównuje identyfikator zgłoszonego wyjątku z identyfikatorami określonymi w klauzu-
lach GZEGRVKQP. Jeśli wśród nich znajduje odpowiedni identyfikator, następuje wykonanie
instrukcji określonych w ramach klauzuli GZEGRVKQP. Po zakończeniu wykonywania tych
instrukcji sterowanie przekazywane jest do pierwszej instrukcji za klauzulą GPFVT[.
Jeśli wyjątek zostanie sprowokowany poza blokiem kodu chronionego (tzn. poza ramami
instrukcji VT[GPFVT[) albo jeśli w ramach instrukcji VT[GPFVT[ brak jest klauzuli
skojarzonej ze zgłoszonym wyjątkiem, program jest awaryjnie zatrzymywany. Zatrzy-
maniu towarzyszy wyprowadzenie stosownego komunikatu na wyjście programu.
Instrukcje VT[GPFVT[ mo na na przykład wykorzystać do ochrony programu przed
skutkami wprowadzenia niepoprawnych danych:
23. 42 Asembler. Sztuka programowania
TGRGCV
OQX
HCNUG )QQF+PVGIGT // Uwaga: zmienna GoodInteger musi być typu boolean
VT[
UVFQWVRWV
9RTQYCF NKEDG ECNMQYKVC
UVFKPIGV
K
OQX
VTWG )QQF+PVGIGT
GZEGRVKQP
GZ%QPXGTUKQP'TTQT
UVFQWVRWV
0KGRQRTCYPC YCTVQUE YRTQYCF LGUEG TC PN
GZEGRVKQP
GZ8CNWG1WV1H4CPIG
UVFQWVRWV
9CTVQUE URQC CMTGUW YRTQYCF LGUEG TC PN
GPFVT[
WPVKN
)QQF+PVGIGT
Zastosowana w powy szym programie pętla TGRGCV pozwala na wykonywanie kodu
ciała pętli tak długo, jak długo u ytkownik podaje niepoprawne wartości. Jeśli z powodu
wprowadzenia niepoprawnej wartości jej przypisanie do zmiennej )QQF+PVGIGT będzie
niemo liwe (na przykład z racji umieszczenia we wprowadzonym niedozwolonych dla
liczb znaków albo wprowadzenia zbyt wielkiej wartości), wykonany zostanie odpo-
wiedni do rodzaju błędu blok instrukcji obsługi wyjątku. Obsługa wyjątków polega tu
na wyświetleniu stosownego komunikatu i przekazaniu sterowania poza instrukcję
VT[GPFVT[. Poniewa z racji wyjątku nie udało się w ramach bloku chronionego ustawić
wartości VTWG dla zmiennej )QQF+PVGIGT, pętla jest wykonywana ponownie. Jeśliby jedna
w ramach bloku chronionego sprowokowany został inny ni obsługiwane wyjątek, pro-
gram zakończyłby działanie po uprzednim wyprowadzeniu komunikatu o błędzie3.
W tabeli 1.4 zebrane zostały wyjątki, zdefiniowane w pliku excepts.hhf w czasie przy-
gotowywania wydania niniejszej ksią ki. Aktualną listę zdefiniowanych w bibliotece
standardowej wyjątków mo na znaleźć, zaglądając do pliku excepts.hhf dołączonego
do posiadanej wersji oprogramowania kompilatora HLA.
Większość z tych wyjątków dotyczy sytuacji, których omawianie w niniejszym rozdziale
byłoby przedwczesne. Zostały umieszczone w tabeli wyłącznie gwoli kompletności
omówienia. Ka dy z wyjątków opisany jest szczegółowo w dokumentacji HLA Reference
Manual dokumentacji biblioteki standardowej języka HLA; ostateczną wykładnią jest
zaś sam kod źródłowy biblioteki standardowej HLA. Najczęściej wykorzystywanymi
wyjątkami są GZ%QPXGTUKQP'TTQT, GZ8CNWG1WV1H4CPIG oraz GZ5VTKPI1XGTHNQY.
Omówienie bloku kodu chronionego podjęte zostanie ponownie nieco później. Czytelnik
powinien kontynuować edukację w zakresie podstawowym, zadowalając się na razie
szczątkowymi informacjami o obsłudze wyjątków.
3
Doświadczony programista zastanawia się zapewne, dlaczego w powy szym kodzie do sterowania
przebiegiem pętli wykorzystywana jest zmienna typu DQQNGCP — przecie mo na by identyczny efekt
osiągnąć, stosując instrukcję DTGCMKH. Zastosowana konstrukcja ma uzasadnienie, które zostanie
przedstawione w dalszej części ksią ki.
24. Rozdział 1. ♦ Wstęp do języka asemblerowego 43
Tabela 1.4. Wyjątki zdefiniowane w pliku nagłówkowym excepts.hhf
Identyfikator wyjątku Znaczenie
GZ5VTKPI1XGTHNQY Próba zapisania zbyt długiego łańcucha
GZ5VTKPI+PFGZ'TTQT Próba odwołania do znaku o indeksie spoza łańcucha
GZ8CNWG1WV1H4CPIG Zbyt wielka wartość dla danego typu zmiennej
GZ+NNGICN%JCT Zaanga owanie w operacji znaku spoza dopuszczalnego zakresu
(kod ASCI spoza zakresu od 0 do 127)
GZ%QPXGTUKQP'TTQT Niedozwolone znaki w konwersji łańcucha do wartości numerycznej
GZ$CF(KNG*CPFNGT Odwołanie do pliku za pośrednictwem niepoprawnego uchwytu pliku
GZ(KNG1RGP(CKNWTG Niemo ność otwarcia pliku (np. brak pliku o zadanej nazwie)
GZ(KNG%NQUG'TTQT Niemo ność zamknięcia pliku
GZ(KNG9TKVG'TTQT Błąd przy zapisie danych do pliku
GZ(KNG4GCF'TTQT Błąd przy odczycie danych z pliku
GZKUM(WNN'TTQT Próba zapisania danych do pliku przy pełnym dysku
GZ'PF1H(KNG Próba odczytania bajta spoza końca pliku
GZ/GOQT[#NNQECVKQP(CKNWTG Brak pamięci do zaspokojenia ądania alokacji
GZ#VVGORV6QGTGH07.. Próba odwołania do pamięci za pośrednictwem wskaźnika o wartości NULL
GZ%CPPQV(TGG/GOQT[ Błąd przy operacji zwalniania pamięci
GZ9KFVJ6QQ$KI Zły format konwersji wartości liczbowej do łańcucha
GZ6QQ/CP[%OF.P2CTCOU Wiersz wywołania programu zawiera zbyt du ą liczbę argumentów
GZ#TTC[5JCRG8KQNCVKQP Próba operowania na dwóch tablicach o ró nych rozmiarach
GZ#TTC[$QWPFU Próba odwołania do elementu spoza tablicy
GZ+PXCNKFCVG Operacja na niepoprawnej wartości daty
GZ+PXCNKFCVG(QTOCV Błąd konwersji łańcucha do daty (łańcuch zawiera niedozwolone znaki)
GZ6KOG1XGTHNQY Przepełnienie w operacji manipulowania informacją o czasie
GZ#UUGTVKQP(CKNGF Błąd instrukcji asercji
GZ'ZGEWVGF#DUVTCEV Próba wywołania metody klasy abstrakcyjnej
GZ#EEGUU8KQNCVKQP Próba odwołania się do niedozwolonego adresu pamięci
GZ$TGCM2QKPV Program dotarł do punktu zatrzymania (przerwanie 3.)
GZ5KPING5VGR Program wykonywany jest z ustawionym znacznikiem wykonania
krokowego
GZ2TKX+PUVT Próba wykonania instrukcji charakterystycznej dla trybu nadzoru
GZ+NNGICN+PUVT Próba wykonania niedozwolonej instrukcji maszynowe
GZ$QWPF+PUVT Rejestr zawiera wartość spoza zakresu określonego w instrukcji DQWPF
GZ+PVQ+PUVT Wykonanie instrukcji KPVQ przy ustawionym znaczniku przepełnienia
GZKXKFG'TTQT Próba dzielenia przez zero bądź inny błąd dzielenia
GZHGPQTOCN Wyjątek operacji zmiennoprzecinkowej (patrz rozdział poświęcony
obliczeniom arytmetycznym)
GZHKX$[GTQ Wyjątek operacji zmiennoprzecinkowej (patrz rozdział poświęcony
obliczeniom arytmetycznym)
25. 44 Asembler. Sztuka programowania
Tabela 1.4. Wyjątki zdefiniowane w pliku nagłówkowym excepts.hhf — ciąg dalszy
Identyfikator wyjątku Znaczenie
GZH+PGZCEV4GUWNV Wyjątek operacji zmiennoprzecinkowej (patrz rozdział poświęcony
obliczeniom arytmetycznym)
GZH+PXCNKF1RGTCVKQP Wyjątek operacji zmiennoprzecinkowej (patrz rozdział poświęcony
obliczeniom arytmetycznym)
GZH1XGTHNQY Wyjątek operacji zmiennoprzecinkowej (patrz rozdział poświęcony
obliczeniom arytmetycznym)
GZH5VCEM%JGEM Wyjątek operacji zmiennoprzecinkowej (patrz rozdział poświęcony
obliczeniom arytmetycznym)
GZH7PFGTHNQY Wyjątek operacji zmiennoprzecinkowej (patrz rozdział poświęcony
obliczeniom arytmetycznym)
GZ+PXCNKF*CPFNG System operacyjny odrzucił niepoprawny uchwyt
GZ5VCEM1XGTHNQY System operacyjny zgłosił przepełnienie stosu
1.10. Biblioteka standardowa
języka HLA — wprowadzenie
Język HLA prezentuje się na tle tradycyjnego języka asemblerowego korzystnie dzięki
dwóm aspektom. Pierwszym jest składnia języka HLA zapo yczająca elementy znane
z języków programowania wysokiego poziomu (jak struktury kontroli wykonania ko-
du czy deklaracje zmiennych). Dostępność tych elementów pozwala na efektywne wyko-
rzystanie umiejętności przeniesionych z programowania wysokopoziomowego i tym
samym znacznie szybszą naukę języka asemblerowego. Drugim elementem stanowią-
cym o przewadze HLA nad tradycyjnym asemblerem jest dostępność biblioteki HLA
Standard Library. Biblioteka standardowa języka HLA zawiera wiele prostych w u yciu
procedur języka asemblerowego realizujących typowe zadania programistyczne — ich
dostępność eliminuje konieczność samodzielnego pisania wszystkich, nawet tych naj-
bardziej typowych, elementów programu. Dostępność biblioteki standardowej znosi jedną
z podstawowych trudności, w obliczu których stają programiści chcący poznać język
asemblerowy — trudność tkwiącą w konieczności samodzielnej implementacji zło onych
niekiedy procedur wejścia-wyjścia, niezbędnych w nawet najprostszych programach.
Brak standaryzowanej biblioteki wywołań powodowałby, e ka dy początkujący progra-
mista poświęcałby mnóstwo czasu na zaimplementowanie tak podstawowych operacji
jak wyprowadzanie napisów. Jej dostępność oznacza więc, e adept języka asemblerowego
mo e skoncentrować się na nauce samego języka, nie poświęcając się od samego początku
zgłębianiu tajników podsystemu wejścia-wyjścia danego systemu operacyjnego.
Dostępność rozmaitych procedur bibliotecznych to nie jedyna zaleta języka HLA. W końcu
biblioteki kodu asemblerowego to nie nowy wynalazek4. Jednak biblioteka standardowa
4
Popularna jest na przykład biblioteka UCR Standard Library dla programistów języka asemblerowego
procesorów 80x86.