100_sposobow_na_Perl_100per.pdf

(294 KB) Pobierz
IDZ DO
PRZYK£ADOW Y ROZDZIA£
100 sposobów na Perl
SPIS TREœCI
Autorzy: Damian Conway, Curtis „Ovid” Poe
T³umaczenie: S³awomir Dzieniszewski
ISBN: 83-246-0634-3
Tytu³ orygina³ u: Perl Hacks: Tips & Tools
Format: B5, stron: 320
KATALOG KSI¥¯EK
KATALOG ONLINE
ZAMÓW DRUKOWANY KATALOG
TWÓJ KOSZYK
Zbiór skutecznych rozwi¹zañ dla programistów aplikacji internetowych
Zwiêkszanie produktywnoœci pracy
Tworzenie interfejsów u¿ytkownika
Wyszukiwanie i usuwanie b³êdów
Perl, od swojego zaistnienia na rynku, wyewoluowa³ od prostego narzêdzia do
przetwarzania tekstów i budowania raportów do formy zaawansowanego jêzyka
programowania pozwalaj¹cego na tworzenie praktycznie ka¿dej aplikacji dzia³aj¹cej
w sieci. Mimo doœæ zaawansowanego „wieku”, nie traci nic na popularnoœci. W sieci
pojawiaj¹ siê coraz nowsze wersje, a grono programistów korzystaj¹cych z Perla
stale roœnie. Spo³ecznoœæ u¿ytkowników tego jêzyka skupiona wokó³ portalu CPAN
udostêpnia napisane przez siebie skrypty, wskutek czego z wieloma problemami
programistycznymi mo¿na sobie poradziæ, korzystaj¹c z gotowych rozwi¹zañ lub
siêgaj¹c do innych Ÿróde³.
Dziêki ksi¹¿ce „100 sposobów na Perl” odkryjesz ma³o znane i mniej typowe
zastosowania tego jêzyka. Czytaj¹c j¹, dowiesz siê, w jaki sposób wykorzystaæ Perl
do ró¿nych zadañ. Nauczysz siê zwiêkszaæ efektywnoœæ swojej pracy, tworzyæ
elementy interaktywne i przetwarzaæ pliki tekstowe w nietypowy sposób. Zapoznasz
siê z odczytywaniem danych z baz i arkuszy kalkulacyjnych, prac¹ z modu³ami oraz
programowaniem obiektowym. Znajdziesz tu tak¿e informacje o testowaniu kodu,
usuwaniu b³êdów i optymalizowaniu wydajnoœci programów napisanych w Perlu.
Korzystanie z biblioteki CPAN
Automatyczne formatowanie kodu w edytorze Emacs
Generowanie elementów graficznych
Przetwarzanie arkuszy kalkulacyjnych
Praca z bazami danych
Tworzenie zestawu narzêdziowego modu³ów
Korzystanie z obiektów
Testowanie kodu
œledzenie wykonywania programu
DODAJ DO KOSZYKA
CENNIK I INFORMACJE
ZAMÓW INFORMACJE
ONOWOœCIACH
ZAMÓW CENNIK
CZYTELNIA
FRAGMENTY KSI¥¯EK ONLINE
Wydawnictwo Helion
ul. Koœciuszki 1c
44-100 Gliwice
tel. 032 230 98 63
e-mail: helion@helion.pl
944979305.018.png 944979305.019.png 944979305.020.png 944979305.021.png 944979305.001.png 944979305.002.png 944979305.003.png 944979305.004.png 944979305.005.png 944979305.006.png 944979305.007.png 944979305.008.png 944979305.009.png 944979305.010.png 944979305.011.png 944979305.012.png 944979305.013.png 944979305.014.png 944979305.015.png 944979305.016.png
 
O autorach ..................................................................................................................................... 7
Przedmowa ................................................................................................................................... 13
Rozdział 1. Sposoby zwiększające produktywność .................................................................. 19
1.
Dodawanie skrótów biblioteki CPAN do przeglądarki Firefox .............................. 19
2.
Zaprzęganie do pracy narzędzia Perldoc .................................................................... 22
3.
Przeglądanie dokumentacji Perla w internecie .......................................................... 25
4.
Zastępowanie poleceń powłoki aliasami ..................................................................... 27
5.
Autouzupełnianie identyfikatorów Perla w edytorze Vim ...................................... 30
6.
Dobieranie najlepszego dla Perla trybu edytora Emacs ........................................... 33
7.
Wymuszanie lokalnego stylu ........................................................................................ 35
8.
Unikanie zachowywania złego kodu Perla ................................................................. 38
9.
Automatyzowanie przeglądów kodu .......................................................................... 42
10.
Uruchamianie testów z edytora Vim ........................................................................... 44
11.
Uruchamianie kodu Perla spod edytora Emacs ......................................................... 46
Rozdział 2. Interakcja z użytkownikiem ...................................................................................... 49
12.
Wykorzystywanie edytora ze zmiennej $EDITOR jako interfejsu użytkownika .... 49
13.
Prawidłowa współpraca w wierszu poleceń .............................................................. 51
14.
Upraszczanie interakcji z terminalem .......................................................................... 53
15.
Ostrzeganie naszego Maca ............................................................................................. 58
16.
Interaktywne aplikacje graficzne .................................................................................. 61
17.
Zbieranie informacji na temat konfiguracji programu .............................................. 66
18.
Przepisywanie na nowo stron WWW .......................................................................... 69
Rozdział 3. Obsługa danych ........................................................................................................ 73
19.
Traktowanie pliku jak tablicy ........................................................................................ 73
20.
Odczytywanie plików wstecz ........................................................................................ 75
21.
Wykorzystywanie jako źródła danych dowolnego arkusza kalkulacyjnego ........ 76
22.
Porządkowanie kodu współpracującego z bazą danych .......................................... 81
23.
Budowanie biblioteki kodu SQL ................................................................................... 84
24.
Dynamiczne przepytywanie baz danych bez pomocy kodu SQL ............................... 86
Spis treści
3
944979305.017.png
25.
Wiązanie kolumn bazy danych ..................................................................................... 87
26.
Wykorzystywanie iteracji i technik generowania kosztownych danych ............... 89
27.
Pobieranie z iteratora więcej niż jednej wartości ....................................................... 91
Rozdział 4. Praca z modułami ..................................................................................................... 95
28.
Skracanie długich nazw klas ......................................................................................... 95
29.
Zarządzanie ścieżkami do modułów ........................................................................... 96
30.
Ponowne ładowanie zmodyfikowanych modułów ................................................... 99
31.
Przygotowywanie osobistych zestawów modułów ................................................ 100
32.
Zarządzanie instalowaniem modułów ...................................................................... 103
33.
Zachowywanie ścieżek do modułów ......................................................................... 105
34.
Tworzenie standardowego zestawu narzędziowego modułów ............................ 107
35.
Pisanie przykładowych kodów do przewodników dla użytkowników .............. 110
36.
Zastępowanie wadliwego kodu pochodzącego z zewnątrz ................................... 112
37.
Wznieś toast za CPAN .................................................................................................. 114
38.
Poprawianie warunków uruchamiających wyjątki ................................................. 115
39.
Lokalne odszukiwanie modułów CPAN ................................................................... 118
40.
Przekształcanie samodzielnych aplikacji Perla w pakiety ...................................... 122
41.
Tworzenie własnych leksykalnych komunikatów ostrzegawczych ..................... 126
42.
Odszukiwanie i raportowanie błędów w modułach ............................................... 127
Rozdział 5. Sposoby na obiekty ................................................................................................ 133
43.
Tworzenie zamkniętych obiektów .............................................................................. 133
44.
Darmowe (prawie) serializowanie obiektów ............................................................ 136
45.
Umieszczanie dodatkowych informacji w atrybutach ............................................ 138
46.
Upewnianie się, że metody są prywatne dla obiektów .......................................... 140
47.
Autodeklarowanie argumentów metod .................................................................... 144
48.
Kontrola dostępu do zdalnych obiektów .................................................................. 147
49.
Przygotowywanie naprawdę polimorficznych obiektów ....................................... 150
50.
Automatyczne generowanie metod dostępu ............................................................ 152
Rozdział 6. Wykrywanie i usuwanie błędów .............................................................................. 157
51.
Szybkie wyszukiwanie błędów kompilacji ............................................................... 157
52.
Uwidacznianie niewidocznych wartości ................................................................... 159
53.
Wyszukiwanie błędów za pomocą testów ................................................................ 161
54.
Wykrywanie błędów za pomocą komentarzy .......................................................... 163
55.
Wyświetlanie kodu źródłowego związanego z błędem ......................................... 167
56.
Analiza funkcji anonimowych ..................................................................................... 170
57.
Nadawanie nazw procedurom anonimowym .......................................................... 172
58.
Wyszukiwanie źródła pochodzenia procedury ........................................................ 174
59.
Dopasowywanie debugera do naszych potrzeb ...................................................... 175
4
Spis treści
Rozdział 7. Triki dla twórców programów ................................................................................ 179
60.
Przebudowywanie dystrybucji kodu ......................................................................... 179
61.
Testowanie z użyciem specyfikacji ............................................................................. 181
62.
Oddzielanie testów programisty od testów użytkownika ..................................... 185
63.
Automatyczne uruchamianie testów ......................................................................... 188
64.
Oglądanie informacji o niepowodzeniach — w kolorze! ........................................ 189
65.
Testy na żywym kodzie ................................................................................................ 192
66.
Poprawianie rekordów szybkości ............................................................................... 195
67.
Budowanie własnej wersji Perla .................................................................................. 196
68.
Uruchamianie zestawów testów z trwałym ładowaniem potrzebnego kodu .... 199
69.
Symulowanie w testach nieprzyjaznego środowiska .............................................. 204
Rozdział 8. Poznaj swój kod ...................................................................................................... 209
70.
Kolejność wykonywania kodu .................................................................................... 209
71.
Badanie naszych struktur danych ............................................................................... 213
72.
Bezpieczne wyszukiwanie funkcji .............................................................................. 215
73.
Sprawdzanie, jakie moduły tworzą rdzeń Perla ...................................................... 218
74.
Śledzenie wszystkich wykorzystywanych modułów .............................................. 219
75.
Wyszukiwanie wszystkich symboli używanych w pakiecie ................................. 223
76.
Zaglądanie za zamknięte drzwi .................................................................................. 225
77.
Wyszukiwanie wszystkich zmiennych globalnych ................................................. 228
78.
Dokonywanie introspekcji procedur .......................................................................... 231
79.
Odnajdywanie importowanych funkcji ..................................................................... 234
80.
Profilowanie rozmiaru programu ............................................................................... 236
81.
Ponowne wykorzystywanie procesów Perla ............................................................ 239
82.
Śledzenie operatorów ................................................................................................... 241
83.
Pisanie własnych ostrzeżeń ......................................................................................... 243
Rozdział 9. Poszerz swoje zrozumienie Perla .......................................................................... 247
84.
Podwajanie danych za pomocą funkcji dualvar() .................................................... 247
85.
Zastępowanie miękkich odwołań prawdziwymi odwołaniami ............................ 249
86.
Optymalizowanie kłopotliwych elementów ............................................................. 252
87.
Blokowanie tablic asocjacyjnych ................................................................................. 253
88.
Sprzątanie po sobie przy wychodzeniu z zakresu ................................................... 255
89.
Dziwne sposoby wywoływania funkcji ..................................................................... 257
90.
Użycie funkcji glob w ciągach ..................................................................................... 263
91.
Jak zaoszczędzić sobie pracy przy kodzie sprawdzającym błędy ........................ 266
92.
Przygotowywanie lepszych wartości zwracanych przez procedury .................... 268
93.
Zwracanie wartości aktywnych .................................................................................. 272
94.
Tworzenie własnej składni Perla ................................................................................ 275
Spis treści
5
95.
Modyfikowanie semantyki kodu za pomocą filtrów kodu źródłowego ............. 277
96.
Korzystanie ze wspólnych bibliotek bez pomocy kodu XS ................................... 281
97.
Uruchamianie dwóch usług na pojedynczym porcie TCP ..................................... 283
98.
Poprawianie naszych tablic dyspozycji ..................................................................... 287
99.
Śledzenie przybliżeń w obliczeniach ......................................................................... 290
100.
Przeciążanie operatorów .............................................................................................. 293
101.
Pożytki z zabaw z kodem ............................................................................................ 298
Skorowidz ................................................................................................................................. 301
6
Spis treści
Zgłoś jeśli naruszono regulamin