zaawansowane-programowanie-w-systemie-linux pełna wersja.pdf

(7886 KB) Pobierz
4
Zaawansowane programowanie w systemie Linux
Aktualizacja repozytorium.....................................................................................76
Wydanie projektu.................................................................................................77
Przeglądanie zmian .............................................................................................78
Dodawanie i usuwanie plików z projektu................................................................79
Rozwinięcia słów kluczowych ................................................................................79
Korekty, znaczniki i rozgałęzienia ...............................................................................80
Korekty...............................................................................................................80
Znaczniki ............................................................................................................81
Rozgałęzienia projektu .........................................................................................84
CVS dla wielu użytkowników ......................................................................................89
Praca zespołowa .................................................................................................90
Śledzenie zmian..................................................................................................92
Więcej zabawy z CVS ................................................................................................92
Pliki binarne........................................................................................................92
Poprawianie błędnych adnotacji ............................................................................93
Sieciowy dostęp do CVS............................................................................................93
Klienty CVS z interfejsem graficznym ..........................................................................96
Materiały dodatkowe.................................................................................................97
Podsumowanie.........................................................................................................98
Rozdział 3. Bazy danych
101
Wybór bazy danych .................................................................................................102
mSQL...............................................................................................................102
MySQL .............................................................................................................103
PostgreSQL ......................................................................................................103
Jaki wybór będzie odpowiedni? ...........................................................................103
PostgreSQL............................................................................................................104
Instalacja i uruchamianie ...................................................................................104
Tworzenie użytkowników ...............................................................................106
Tworzenie baz danych...................................................................................107
Tworzenie zapasowych kopii bazy danych .......................................................107
Zdalny dostęp..............................................................................................108
Podstawy teorii baz danych .....................................................................................109
Pierwsza postać normalna .................................................................................110
Druga postać normalna .....................................................................................111
Trzecia postać normalna ....................................................................................111
Denormalizacja .................................................................................................112
Prosta baza danych ...........................................................................................112
Korzystanie z psql ..................................................................................................117
Polecenia dla psql.............................................................................................117
Polecenia do definicji danych .............................................................................118
Tworzenie i usuwanie tabel ...........................................................................119
Typy danych w PostgreSQL............................................................................123
Polecenia do manipulacji danymi ........................................................................123
Wstawianie danych ......................................................................................124
Pobieranie danych z pojedynczej tabeli...........................................................125
Kombinowane pobieranie danych z wielu tabel ...............................................127
Aktualizacja danych w tabeli..........................................................................129
Usuwanie danych .........................................................................................129
Transakcje........................................................................................................130
Spis treści
5
Wskazówki dla projektu bazy danych ........................................................................132
Materiały dodatkowe...............................................................................................134
Podsumowanie.......................................................................................................134
Rozdział 4. Interfejsy PostgreSQL
135
Dostęp do PostgreSQL z kodu programu...................................................................135
Biblioteka libpq .................................................................................................136
Funkcje do obsługi połączeń z bazą danych ....................................................137
Uruchamianie poleceń SQL ...........................................................................139
Uzyskiwanie wyników zapytań........................................................................142
Biblioteka ecpg .................................................................................................155
Jaką metodę zastosować? .................................................................................166
Aplikacja................................................................................................................167
Podsumowanie.......................................................................................................174
Rozdział 5. MySQL
175
Instalacja i zarządzanie ...........................................................................................175
Pakiety skompilowane .......................................................................................175
Budowanie z plików źródłowych ..........................................................................177
Konfiguracja poinstalacyjna................................................................................178
Zarządzanie bazą MySQL.........................................................................................179
Polecenia .........................................................................................................179
isamchk ......................................................................................................180
mysql..........................................................................................................180
mysqladmin.................................................................................................181
mysqlbug ....................................................................................................181
mysqldump..................................................................................................181
mysqlimport ................................................................................................182
mysqlshow ..................................................................................................182
Tworzenie użytkowników i nadawanie uprawnień ..................................................183
grant...........................................................................................................183
with grant ....................................................................................................184
revoke, delete .............................................................................................185
Hasła ...............................................................................................................185
Tworzenie bazy danych ......................................................................................186
Obsługa standardu SQL przez PostgreSQL i MySQL ...................................................187
Dostęp do danych MySQL z języka C ........................................................................188
Inicjalizacja połączenia ......................................................................................189
Obsługa błędów ................................................................................................193
Wykonywanie poleceń SQL .................................................................................194
Polecenia SQL niezwracające danych.............................................................194
Polecenia zwracające dane ...........................................................................197
Przetwarzanie zwróconych danych..................................................................202
Funkcje dodatkowe............................................................................................207
Materiały dodatkowe...............................................................................................208
Podsumowanie.......................................................................................................208
Rozdział 6. Zmagania z błędami
209
Typy błędów ...........................................................................................................209
Zgłaszanie błędów ..................................................................................................210
Wykrywanie błędów w oprogramowaniu.....................................................................214
Rodzaje błędów w oprogramowaniu ..........................................................................214
6
Zaawansowane programowanie w systemie Linux
Instrukcje diagnostyczne .........................................................................................215
Weryfikacja założeń ...........................................................................................220
Gdzie jesteś?....................................................................................................222
Ślad wsteczny (backtrace)..................................................................................226
Usuwanie błędów
czynności wstępne ...................................................................228
Użycie programu uruchomieniowego ...................................................................229
Proste polecenia GDB........................................................................................230
Inne możliwości GDB .........................................................................................234
Zasoby ..................................................................................................................234
Podsumowanie.......................................................................................................235
Rozdział 7. Usługi katalogowe LDAP
237
Co to jest usługa katalogowa?.................................................................................237
X.500 i LDAP ....................................................................................................238
Struktura serwera katalogowego ..............................................................................239
Nazwy części... .................................................................................................240
Nadawanie nazw dn...........................................................................................241
Schemat nazewnictwa X.500 ........................................................................241
X.500 ze schematem nazewnictwa domen .....................................................241
Schemat nazewnictwa oparty na składniku domeny ........................................241
Składniki obiektów ............................................................................................242
Standardowe typy i atrybuty ..........................................................................243
Drzewo katalogowe LDAP ...................................................................................244
Pliki LDIF ..........................................................................................................245
Instalacja i konfiguracja serwera LDAP .....................................................................247
Instalacja OpenLDAP .........................................................................................248
Konfiguracja OpenLDAP .....................................................................................248
Uruchomienie serwera ............................................................................................251
Dostęp do LDAP z poziomu języka C.........................................................................253
Inicjalizacja biblioteki LDAP ................................................................................253
Powiązanie z serwerem LDAP .............................................................................254
Obsługa błędów LDAP........................................................................................255
Pierwszy program kliencki LDAP..........................................................................256
Wyszukiwanie ...................................................................................................257
Wybór zakresu .............................................................................................257
Filtracja wyników ..........................................................................................257
Wyszukiwanie przy użyciu API ........................................................................260
Sortowanie zwróconych obiektów...................................................................266
Zmiana danych.......................................................................................................266
Nowy wpis ........................................................................................................266
Modyfikacja wpisu .............................................................................................270
Usuwanie wpisu ................................................................................................272
Aplikacja................................................................................................................273
Materiały dodatkowe...............................................................................................273
Podsumowanie.......................................................................................................274
Rozdział 8. Programowanie graficznych interfejsów u ytkownika (GUI)
za pomocą GNOME-GTK+
275
Biblioteki GTK+ i GNOME ........................................................................................276
glib277
GTK+ ...............................................................................................................277
Spis treści
7
GDK .................................................................................................................277
Imlib ................................................................................................................278
ORBit ...............................................................................................................278
libGnorba..........................................................................................................278
Biblioteka glib ........................................................................................................278
Typy .................................................................................................................279
Makrodefinicje ..................................................................................................280
Makrodefinicje diagnostyczne .......................................................................280
Funkcje obsługujące napisy................................................................................282
Przydzielanie pamięci.........................................................................................284
Listy.................................................................................................................285
GTK+.....................................................................................................................287
Widżety ............................................................................................................287
Utworzenie widżetu ......................................................................................287
Pojemniki ....................................................................................................288
Tabele ........................................................................................................290
Sygnały .......................................................................................................292
Ukazanie, aktywność i ukrycie .......................................................................293
Zniszczenie .................................................................................................293
gtk_init i gtk_main .............................................................................................293
Przykładowa aplikacja GTK+ ...............................................................................293
Podstawy GNOME...................................................................................................295
gnome_init ..................................................................................................295
GnomeApp ..................................................................................................296
Menu i paski narzędziowe ..................................................................................296
GnomeAppbar..............................................................................................299
Pasek postępu ............................................................................................300
Okna dialogowe ................................................................................................300
Tworzenie widżetu GnomeDialog....................................................................301
Pokazywanie widżetu GnomeDialog................................................................302
GnomeAbout ...............................................................................................304
GnomePropertyBox.......................................................................................305
GnomeMessageBox .....................................................................................306
Przykładowa aplikacja GNOME............................................................................307
Drzewo kodu źródłowego GNOME.............................................................................309
configure.in .................................................................................................310
Makefile.am ................................................................................................312
Zapis konfiguracji ..............................................................................................313
Przechowywanie danych................................................................................314
Odczyt zachowanych danych .........................................................................315
Zarządzanie sesją .............................................................................................315
GnomeClient ...............................................................................................316
Analiza składniowa wiersza poleceń z użyciem popt .............................................319
Materiały dodatkowe...............................................................................................322
Podsumowanie.......................................................................................................323
Rozdział 9. Tworzenie GUI za pomocą Glade i GTK+/GNOME
325
Ogólne omówienie Glade.........................................................................................326
Uwagi na temat projektowania GUI .....................................................................326
Samouczek Glade...................................................................................................327
Okno główne.....................................................................................................328
Paleta ..............................................................................................................329
Zgłoś jeśli naruszono regulamin