plp spis tre%9cci 1 VVTEDBFB4FO Nieznany

background image

Spis treści

Wstęp

Witaj czytelniku!
Dla kogo jest przeznaczona ta książka?
Tematyka książki
Czego wymagamy od czytelnika książki?
Kod źródłowy
Oznaczenia stosowane w książce

1. Projekt aplikacji

Informacje ogólne
Formułowanie założeń
Modele tworzenia kodu

Metoda szybkiego śledzenia
Wczesne i częste testy

Wypożyczalnia DVD

Założenia wstępne
Analiza wymagań klienta

Spis wymagań

Przypadki użycia

Architektura aplikacji

Projekt szczegółowy
Funkcje dostępu do danych
Funkcje klienta
Funkcje związane z tytułem filmu
Funkcje opisujące płytę DVD
Funkcje związane z wypożyczaniem
Przykładowa aplikacja

Materiały źródłowe
Podsumowanie

2. CVS

Narzędzia dla systemu Linux
Terminologia
Repozytorium
Obsługa CVS przez jedynego użytkownika

Format polecenia CVS
Zmienne środowiskowe
Import nowego projektu

background image

Początek prac nad projektem w CVS
Porównywanie zmian z zawartością repozytorium
Aktualizacja repozytorium
Wydanie projektu
Przeglądanie zmian
Dodawanie i usuwanie plików z projektu
Rozwinięcia słów kluczowych

Korekty, znaczniki i rozgałęzienia

Korekty
Znaczniki
Rozgałęzienia projektu

CVS dla wielu użytkowników

Praca zespołowa
Praca ze śledzeniem

Dodatkowa zabawa z CVS

Pliki binarne
Poprawianie błędnych adnotacji

Sieciowy dostęp do CVS
Klienty CVS z interfejsem graficznym
Materiały źródłowe
Podsumowanie

3. Bazy danych

Wybór bazy danych

mSQL
MySQL
PostgreSQL
Jaki wybór będzie odpowiedni?

PostgreSQL

Instalacja i uruchamianie

Tworzenie użytkowników
Tworzenie baz danych
Tworzenie zapasowych kopii bazy danych
Zdalny dostęp

Podstawy teorii baz danych

Pierwsza postać normalna
Druga postać normalna
Trzecia postać normalna
De-normalizacja
Prosta baza danych

Korzystanie z psql

Polecenia dla psql
Polecenia do definicji danych

Tworzenie i usuwanie tabel
Typy danych w PostgreSQL

Polecenia do manipulacji danymi

Wstawianie danych
Pobieranie danych z pojedynczej tabeli
Kombinowane pobieranie danych z wielu tabel

background image

Aktualizacja danych w tabeli
Usuwanie danych

Transakcje

Wskazówki dla projektu bazy danych
Materiały źródłowe
Podsumowanie

4. Interfejsy PostgreSQL

Dostęp do PostgreSQL z kodu programu

Biblioteka libpq

Funkcje do obsługi połączeń z bazą danych
Uruchamianie poleceń SQL
Uzyskiwanie wyników zapytań

Biblioteka ecpg
Jaką metodę zastosować?

Aplikacja
Podsumowanie

5. MySQL

Instalacja i zarządzanie

Pakiety skompilowane
Budowanie z plików źródłowych
Konfiguracja poinstalacyjna

Zarządzanie bazą MySQL

Polecenia

isamchk
mysql
mysqladmin
mysqlbug
mysqldump
mysqlimport
mysqlshow

Tworzenie użytkowników i nadawanie uprawnień

grant
with grant
revoke, delete

Hasła
Tworzenie bazy danych

Wspomaganie SQL w PostgreSQL i MySQL
Dostęp do danych MySQL z języka C

Funkcje połączeniowe
Obsługa błędów
Wykonywanie poleceń SQL

Polecenia SQL, które nie zwracają żadnych danych
Polecenia zwracające dane
Przetwarzanie zwróconych danych

Funkcje dodatkowe

Materiały źródłowe
Podsumowanie

6. Wykrywanie błędów

background image

Klasy błędów
Zgłaszanie błędów
Wykrywanie błędów programowych
Rodzaje błędów programowych
Polecenia wykrywania błędów

Zakotwiczenia

Gdzie jesteśmy?

Powrót do początku

Przygotowanie do wykrywania błędów

Używanie debuggera
Proste polecenia GDB
Inne właściwości GDB

Materiały źródłowe
Podsumowanie

7. Usługi katalogowe LDAP

Czym jest usługa katalogowa?

X.500 i LDAP

Struktura serwera usług katalogowych

Nazwy elementów
Nazwy dn

Schemat nazewnictwa X.500
Schemat X.500 z nazwami domen
Schemat nazewnictwa składników domeny

Składniki obiektowe

Standardowe typy i atrybuty

Drzewo katalogu LDAP
Pliki LDIF

Instalacja i konfiguracja serwera LDAP

Etapy instalacji OpenLDAP
Konfiguracja OpenLDAP

Uruchamianie serwera
Dostęp do LDAP z języka C

Inicjacja biblioteki LDAP
Powiązania z serwerem LDAP
Obsługa błędów LDAP
Pierwszy program kliencki wykorzystujący LDAP
Wyszukiwanie

Określenie zakresu
Filtrowanie wyników
Wyszukiwanie z zastosowaniem API
Sortowanie zwróconych obiektów

Zmiana danych

Dodawanie nowego wpisu
Modyfikacja wpisu
Usuwanie wpisu

Aplikacja
Materiały źródłowe
Podsumowanie

background image

8. Tworzenie GUI za pomocą GTK+/GNOME

Biblioteki GTK+/GNOME

glib
GTK+
GDK
lmlib
ORBit
libGnorba

glib

Typy
Makropolecenia

Śledzenie błędów w makropoleceniach

Funkcje obsługujące napisy
Przydział pamięci
Listy

GTK+

Widżety

Tworzenie widżetów
Kontenery
Sygnały
Wyświetlanie, czułość i ukrywanie
Usuwanie

gtk_init oraz gtk_main
Przykładowa aplikacja GTK+

Podstawy GNOME

gnome_init
GnomeApp

Menu i paski narzędzi

GnomeAppbar

Okna dialogowe

Wyświetlanie GnomeDialog
GnomeAbouit
GnomePropertyBox
GnomeMessageBox

Przykładowa aplikacja GNOME

Wersja źródłowa GNOME

configure.in
Makefile.am

Zachowywanie konfiguracji
Zarządzanie sesją

GnomeClient

Analiza wiersza poleceń za pomocą popt
Materiały źródłowe na temat GNOME/GTK+

Podsumowanie

9. Budowanie GUI za pomocą Glade i GTK+/GNOME

Ogólne omówienie Glade

Uwagi na temat projektowania GUI

Samouczek Glade

background image

Okno główne
Paleta
Okno właściwości
Kod źródłowy utworzony za pomocą Glade
lookup_widget
Dopisywanie kodu
Libglade

GUI do obsługi wypożyczalni płyt DVD

Projekt
Kompilacja i uruchamianie dvdstore
Struktura
Kod

main.c
callbacks.c
member_dialog.c oraz title_dialog.c
rent_dialog.c oraz return_dialog.c
search_window.c
misc.c

Podsumowanie

10. Flex i Bison

Struktura wejściowa

Skanery i analizatory składni
Jak działają generatory?

Skanery

Prosty skaner
Specyfikacje skanera
Reguła najpełniejszego dopasowania
Wyrażenia regularne

Złożenia wyrażeń regularnych

Działania
Przekierowywanie wejścia i wyjścia skanera
Zwracanie elementów
Skanery kontekstowe
Opcje programu flex

Analizatory składni

Generacja analizatorów składni

Definicje
Reguły
Kod dodatkowy

Tworzenie testera składni
Rodzaje elementów
Działania w regułach
Opcje programu bison
Konflikty gramatyczne
Wyrażenia arytmetyczne

Materiały źródłowe
Podsumowanie

11. Narzędzia do testowania

background image

Testowanie wymagań

Architektura aplikacji
Etapy
Testy ogólne
Testy regresyjne
Program testujący

Nagłówki i deklaracje
main()
show_result()
Interfejsy programowe (API)

Testowanie programu dvdstore
Zapis testów w skryptach
expect
Problemy z pamięcią

Pamięć statyczna
Stos
Pamięć dynamiczna

Instalacja programu mpatrol
Zastosowanie programu mpatrol
Testy pokrycia

Pokrycie instrukcji
Pokrycie rozgałęzień i danych
GCOV — narzędzie do testów pokrycia instrukcji

Testowanie wydajności

Podsumowanie

12. Bezpieczne programowanie

Czym jest bezpieczne programowanie?
Dlaczego trudno jest bezpiecznie programować?

Błędy ukryte
Zaleta paranoi

Bezpieczeństwo systemu plików

Standardowe uprawnienia
Bit sticky
Atrybuty setuid i setgid
Bezpieczne używanie setuid i setgid

Potwierdzanie tożsamości użytkowników

Tradycyjne metody potwierdzania tożsamości w systemie UNIX
PAM — Pluggable Authentication Modules
Rejestracja wywołań zwrotnych
Zarządzanie uprawnieniami
Strategie zarządzania przywilejami

Bezpieczne korzystanie z szyfrowania

Niektóre powszechnie stosowane metody
Generacja liczb losowych w systemie LINUX
Zarządzanie kluczami

Bezpieczne programowanie sieciowe
Protokoły zapisu

Stosowanie standardów tam, gdzie jest to możliwe

background image

Przyjazność zapory ogniowej
Bezpieczeństwo aplikacji WWW
Zagadnienia związane z zarządzaniem sesją

Standardowe sieciowe narzędzia szyfrujące

Ogólne sztuczki i metody zabezpieczeń

Problemy ze środowiskiem

Specjalne zmienne środowiskowe
IFS
Zagadnienia związane z językiem
Sprawdzanie błędów i wyjątków
Perl
Skrypty Perl Setuid/Setgid

Python
PHP

Podsumowanie

13. Programowanie GUI za pomocą KDE/Qt

Wprowadzenie

Informacje o Qt
Informacje o KDE
Instalowanie Qt
Instalowanie KDE
Biblioteki

Programowanie aplikacji używających Qt

Na początek: Hello world
Ułatwienie zarządzania plikiem Makefile za pomocą tmake
Sygnały i szczeliny
„Hello world” ponownie
Wykorzystanie klas podstawowych
Widżety
Wygląd

Programowanie aplikacji używających KDE

Prosty edytor tekstowy

Materiały źródłowe
Podsumowanie

14. Program obsługi wypożyczalni płyt DVD wykorzystujący KDE/Qt

Projekt aplikacji
Główne okno

Pozycje menu
Pasek narzędzi
Główny widżet
Log transakcji

Okno dialogowe klienta wypożyczalni
Okno dialogowe wypożyczeń

Lista wypożyczeń

Okno dialogowe raportu wypożyczeń
Okno wyszukiwania

Strona wyszukiwania płyt DVD
Strona wyszukiwania klientów

background image

Strona wyszukiwania płyt

SettingsManager

Dopasowanie kodu do KDE
KConfig i SettingsManager
Materiały źródłowe
Podsumowanie

15. Python

Wprowadzenie

Właściwości

Język bardzo wysokiego poziomu (VHLL)
Język interpretowany
Czytelna, prosta i wydajna składnia
Obiektowość
Dynamiczne pisanie programu
Obszerna biblioteka standardowa
Wieloplatformowość
Wielorakie zastosowania
Skalowalność
Otwarty kod źródłowy
Dużo radości!

Python: odpowiednie narzędzie do pracy
...Lecz nie do każdej pracy!

Instalacja języka Python
Praca z pakietem Python

Interaktywny interpreter
Argument poleceniowy
Argument skryptowy
Program „autonomiczny”

Szczegóły

Interpreter i kompilacja bajtowa
Składnia komentarza
Wpływ wielkości liter
Wbudowane typy danych i operatory

Nieokreślone (none)
Integer
Long integer
Liczby zmiennoprzecinkowe
Liczby zespolone
Listy
Napisy
Krotki
Słowniki

Zmienne
Składnia struktury blokowej
Składnia instrukcji

Deklaracja wyrażenia
Przypisanie
Instrukcje proste

background image

Instrukcje złożone

Funkcje
Funkcje wbudowane
Obszary robocze nazw
Moduły i pakiety
Niektóre moduły ze standardowej dystrybucji
Klasy i obiekty

Metody
Self (własna)
Dziedziczenie
Metody specjalne

Rozszerzenia języka Python

Prosty program: rzut monetą
Zasoby w sieci
Podsumowanie





Wyszukiwarka

Podobne podstrony:
Spis treci, geodezja, rok III, Geodezja inżynieryjna
Technologia spis i tresc z 6 07 Nieznany
0 Spis Tresciid 1865 Nieznany (2)
04 podziekowania autorki, spis treci, wstęp
spis treci BMPQ2OSO62G3RFFXREULKLSNSO72CMX7AGP7UUQ
04 podziekowania autorki, spis treci, wstęp
Strony od PSL XLIV nr4 1 spis treci dom Kopia
NI Spis tresci id 318044 Nieznany
Pan Podstoli cz 1 spis tresci Nieznany
21 wiek history 2012 01 spis tr Nieznany (2)
Jelenia Gora 2013 04 25 Spis te Nieznany
NI Spis tresci id 318044 Nieznany
spis Nieznany
spis lab I sem 2010
spis wykład I sem 2010

więcej podobnych podstron