1.035.018

kiadvánnyal nyújtjuk Magyarország legnagyobb antikvár könyv-kínálatát

A kosaram
0
MÉG
5000 Ft
a(z) 5000Ft-os
szállítási
értékhatárig

Alkalmazásfejlesztés Perlben

Szerző
Lektor

Kiadó: Panem Kiadó Kft.
Kiadás helye: Budapest
Kiadás éve:
Kötés típusa: Ragasztott papírkötés
Oldalszám: 447 oldal
Sorozatcím: Webvilág
Kötetszám:
Nyelv: Magyar  
Méret: 24 cm x 17 cm
ISBN: 963-545-415-5
Megjegyzés: CD-melléklet nélkül.
Értesítőt kérek a kiadóról
Értesítőt kérek a sorozatról

A beállítást mentettük,
naponta értesítjük a beérkező friss
kiadványokról
A beállítást mentettük,
naponta értesítjük a beérkező friss
kiadványokról

Fülszöveg

A Perl rendkívül sokoldalú, flexibilis nyelve amelyet leginkább a web-fejlesztésben és a szövegfeldolgozásban használnak, de bármilyen típusú platformfüggetlen szoftver fejlesztésére is alkalmas. Jelen könyv témája a Perl 5 nyelv eszközeinek áttekintése és gyakorlati felhasználásuk bemutatása.
A könyv felépítése és szemléletmódja alkalmazásorientált. Legfontosabb célkitűzése, hogy lerövidítse, megkönnyítse azt az utat, amely a programozási nyelv elsajátításától a teljes értékű szoftverek kifejlesztéséig vezet. Ennek
érdekében komplett Perl-alkalmazásokat ismertet, a tervezéstől az implementációig. Természetesen minden részletre nem terjedhet ki a magyarázat, ezért a kompromisszumos megoldás a legtöbb esetben az architekturális vonatkozásokat és a Perl-specifikus technikák bemutatását részesíti előnyben. Egyes modulok API-jának feltérképezése az olvasóra van bízva, amihez a forráskódba ágyazott leírások, példák elegendő háttérinformációt biztosítanak. A könyv minimális... Tovább

Fülszöveg

A Perl rendkívül sokoldalú, flexibilis nyelve amelyet leginkább a web-fejlesztésben és a szövegfeldolgozásban használnak, de bármilyen típusú platformfüggetlen szoftver fejlesztésére is alkalmas. Jelen könyv témája a Perl 5 nyelv eszközeinek áttekintése és gyakorlati felhasználásuk bemutatása.
A könyv felépítése és szemléletmódja alkalmazásorientált. Legfontosabb célkitűzése, hogy lerövidítse, megkönnyítse azt az utat, amely a programozási nyelv elsajátításától a teljes értékű szoftverek kifejlesztéséig vezet. Ennek
érdekében komplett Perl-alkalmazásokat ismertet, a tervezéstől az implementációig. Természetesen minden részletre nem terjedhet ki a magyarázat, ezért a kompromisszumos megoldás a legtöbb esetben az architekturális vonatkozásokat és a Perl-specifikus technikák bemutatását részesíti előnyben. Egyes modulok API-jának feltérképezése az olvasóra van bízva, amihez a forráskódba ágyazott leírások, példák elegendő háttérinformációt biztosítanak. A könyv minimális előismereteket feltételez a Perl nyelvben, és ezért eltekint a beépített függvények, operátorok, iterációs és szelekciós utasítások részletes tárgyalásától. Ezek szintaxisa viszonylag könnyen elsajátítható a Perl-terjesztésekhez tartozó dokumentációkból.

A CD-melléklet tartalma: • a könyvben fellelhető Perl-modulok és alkalmazások * adatbázisok létrehozására szolgáló SQL parancsállományok * a webalkalmazások HTML-oldalai és sablonállományai • a példaprogramokban használt CPAN-modulok listája és URL-címe • több tucat hivatkozást tartalmazó, a könyv felépítését követő struktúrába rendezett lista szabadon hozzáférhető Perl elektronikus könyvek, cikkek és előadások letöltéséhez •
ActivePerl 5.8.4 verziójú telepítőprogram (az ActiveState engedélyével) • az Apache, MySQL, PHP és Perlprogramokat ötvöző XAMPP csomag telepítője • a gráfok rajzolására szolgáló Graphviz (AT&T) szoftver • SQLite
beágyazott adatbáziskezelő Vissza

Tartalom

Előszó 15
1. fejezet
BEVEZETÉS 17
1.1. Tévhitek a nyelvvel kapcsolatban 17
1.1.1. „Igazi, komoly programok írására alkalmatlan" 17
PPM: állami nyugdíj-biztosítási rendszer 18
eToys: online webáruház 18
Bioperl: génkutatás, bioinformatikai fejlesztések 18
1.1.2. „A Perl-kód olvashatatlan, csúnya, zavaros" 19
Nyilvános kulcsú titkosítás két sorban 19
Perl-programozás latinul 20
1.1.3. „Ami a webet illeti: Periben csak CGI-szkriptek készíthetők" 21
1.1.4. „Csak UNIX-okon használható" 21
1.1.5. „A Perl-programok lassúak" 21
1.2. A Perl tudásszintjei 22
Átlagszámítás és programozói tapasztalat 22
13 Programozási paradigmák a Periben 23
Imperatív eszközök 24
Funkcionális elemek 24
Egyéb paradigmák 24
1.4. Miért nem Perl? 24
2. fejezet
ALAPOK 25
2.1. Alapvető adattípusok 25
Beépített függvények, speciális változók 2(5
2.1.1 Skalár típus 26
Műveletek, automatikus konverzió 27
Interpoláció, here-doc sztringek 28
Boolean-változók 28
2.1.2. Tömb típus 29
Lista 29
Környezet (kontextus) 30
Indexelés, tömbszeletek 31
A tömbméret megállapítása 31
Sor, verem 32
Műveletek 32
2.1.3. Hash típus 34
Hash létrehozása 34
Műveletek 34
2.2. Referenciák 35
2.2.1. Referenciaképzés, feloldás 36
2.2.2. Referenciatípus lekérdezése 37
2.2.3. Komplex adatszerkezetek 37
Példák 38
2.2.4. Data::Dumper használata 41
2.3. Alprogramok (szubrutinok) 42
2.3.1. Szubrutinok definiálása 42
2.3.2. Szubrutinhívások 43
2.3.3. Szubrutinok készítése 43
Nevesített argumentumok, paraméterek alapértekei 15
Típusellenőrzés, megszorítások 46
2.3.4. Metaadatok a szubrutinhívásról 47
A wantarray függvény 47
A caller függvény 47
2.3 5. Szubrutin-referenciák 48
1. példa: többnyelvű üdvözlőprogram 48
2. példa: diszpécsertáblák 49
2.3.6. Prototípusok 51
Példa: szűrő (filter)függvény 51
2.3 7. Speciális szubrutinok 52
2.3 8. A szubrutinok összefoglalása 53
2.4. Csomagok 53
2.4.1. Változók hatásköre és élettartama 54
Csomagszintű változók 54
Lexikális változók: my 55
Dinamikus változók: local 55
2.4.2. Szimbólumtábla, típusegyesítő 56
A szimbólumtábla módosítása 58
Példa: memorizálás 58
2.4.3. A csomagok összefoglalása 59
2.5. Modulok 59
2.5.1. Modulok elnevezése 59
2.5.2. Elérési útvonalak 60
2.5.3. Modulok betöltése 60
2.5.4. Exportálás 61
2.5.5. Az AUTOLOAD szubrutin 62
2.5.6. A modulok összefoglalása 63
2.6. UML osztálydiagram-rajzoló 64
2.6.1. Adatszerkezetek 64
2.6.2. Implementáció 66
2.6.3. A diagram előállítása 67
2.6.4. Megjegyzések 69
Szimbolikus referenciák 69
A szubrutinok paraméter-kezelése 69
Idiomatikus megoldások 70
2.6.5. Példa: Observer tervezési minta 70
3. fejezet
OBJEKTUMORIENTÁLT PROGRAMOZÁS 73
3.1. Osztályok, attribútumok, metódusok 73
3.1.1. Konstruktor 76
3.1.2. A DESTROY metódus 77
3.1.3. Osztályattribútumok és metódusok 77
3.1.4. Láthatósági szintek 77
3.1.5. Metódusok automatikus generálása 79
A Class::MethodMaker modul 79
3.1.6. Megjegyzések 81
3.2. Öröklődés 82
3.2.1. A UNI VERSAL osztály 83
3.2.2. A SUPER pszeudoosztály 84
3.2.3. Bekeveredő (mix-in) technikák 84
3.3. Operátorok túlterhelése 85
3 31. Automatikus generálás 86
3.3 2. Szabályok 86
1. példa: a " " operátor túlterhelése 87
2. példa: objektumpéldányok összehasonlítása 87
3.4. Kivételkezelés 88
3.4.1. Hibakezelési módok 88
3.4.2. Az Error.pm modul 90
1. példa: matematikai műveletek 91
2. példa: fájlkezelés 92
3.5. Objektumok perzisztenciája 93
3.5.1. Állományalapú perzisztencia: Storable 93
Szerializálás 93
Deszerializálás 93
3.5.2. Adatbázisalapú perzisztencia 94
A Class::DBI keretrendszer 95
A Perl 6 objektumorientált eszközei 97
3.6. Egy általános fa osztály 99
3.6.1. A tárolási adatszerkezet 99
3.6.2. YA::Tree 101
3.6 3. Kivételkezelő osztályok 109
3.6.4. A fa osztály egységtesztje 110
3.6.5. Perzisztens alosztály 112
3 6.6. A perzisztens alosztály egységtesztje 114
4. fejezet
HALADÓ 00-TECHNIKÁK 116
4.1. Tie: osztályok kapcsolása beépített típusokhoz 116
4.1.1. Skalárok „kötése" 117
4.1.2. Tömbök „kötése" 119
4.1.3. Kapcsolt hash-változók 119
4.2. Design-by-contract programozás 122
4.2.1. A DBC-programozás elemei 122
4.2.2. A Class::Contract osztályok felépítése 123
Konstruktorok, destruktorok 123
Attribútumok, metódusok 124
Elő- és utófeltételek, invariánsok 125
Öröklődés 126
4.3. Aspektusorientált technikák 126
4.31. Az Aspect-keretrendszer elemei 126
A Logger aspektus 129
4.3.2. Ad hoc aspektusorientált technikák 131
4.1. Metaadatok kinyerése, introspekció 132
4.4.1. A Class::Reflection osztály 132
4.4.2. A Class::MetaClass osztály 135
4.4.3. Megjegyzések 136
"Kézi" importálás 136
Feladatok szétválasztása 136
Az önelemzés korláta i 136
4.4.4. Osztálydiagram készítése futási időben 136
4.4.5. Class::UML::Preparator 139
4.5. Tulajdonságok (attributes) 142
Az Undo tulajdonság 144
5. fejezet
ADATBÁZIS-ALKALMAZÁSOK 146
Kezelőobjektumok 146
Műveletek 147
Kapcsolódás, előkészítés, végrehajtás 147
Eredménytábla feldolgozása 149
Tranzakció-kezelés 150
Metaadatok 150
5.1. Adatbázistáblák szerkezetének feltérképezése 151
5.1.1. Implementáció 151
DBI::Introspector::Table 153
DBI::Introspector::Field 155
DBI::Meta:: Table 158
DBI::Meta::Field 160
5.2. A DBIx::OpcodeBook modul 161
5.2.1. Implementáció lói
5.2.2. Gyártó metódus 171
5.2.3. CSV-állományok SQLite adatbázisba mentése 171
5.3. A Naive Bayes módszer SQL-alapú implementációja 174
5.31. Implementáció 176
Builder: modell készítése 176
Evaluator: modell kiértékelése 179
A modell tárolása 180
Factory: gyártó metódus osztály 181
5.3.2. Vásárlók osztályozása 182
5.4. Class::DBI-alapú osztályok generálása 184
6. fejezet
GRAFIKUS ALKALMAZÁSOK 186
6.1. A Perl/Tk programozás elemei 186
6.1.1. „Hello Világ!" alkalmazás készítése 186
6.1.2. Komponensek és tulajdonságaik 188
Címke (Label) komponens 188
Nyomógomb (Button) komponens 189
Kiválasztható gomb (Checkbutton) komponens 190
Rádiógomb (Radiobutton) komponens 191
Szövegmező (Entry) komponens 192
Rajzvászon (Canvas) komponens 192
Szövegdoboz (Text) komponens 194
6.1.3. Geometriakezelők 195
Pack geometriakezelő 196
Grid geometriakezelő 196
6.1.4. Események, esemény kezelők 197
6.2. Felületgenerátor adatbázistáblákhoz 198
Implementáció 199
Builder 199
Builder::Fixed 204
Builder::Free 207
Editor 207
Adatbázis-műveletek 212
Az absztrakt osztály implementációja 212
dbeditor.pl 215
6.3. DBIx::Starfield vizuális adatbányászati alkalmazás 216
6.3-1. Architektúra 216
6.3 2. A grafikus felület vázának kialakítása 219
DBIx::Starfield::App 219
6.3.3. A komponensek létrehozása és elhelyezése 220
DBIx::Starfield::App::UI 220
DBIx::Sta rfielcLAppy.Layo ut 222
6.3 4. Az alrendszerek összekapcsolása, kommunikációja 226
6.3-5. Komponensek és feladataik 227
Koordináták, paraméterek beállítása 227
Rekord szöveges megjelenítése 231
Diagram előállítása 232
Színpaletta generálása 242
7. fejezet
SZÖVEGES DOKUMENTUMOK FELDOLGOZÁSA ÉS ELŐÁLLÍTÁSA 246
7.1. Reguláris kifejezések 246
7.1.1. A reguláris kifejezések elemei 246
Karakterek 247
Metakarakterek 247
Karakterosztályok 248
Karakterek előfordulásának számát jelölő metaszimbólumok 249
Határoló karakterek 249
Csoportosító és alternatívát jelző karakterek 250
7.1.2. Operátorok, beépített függvények 250
Illeszkedésvizsgálat 250
Karakterláncok helyettesítése 253
Karakterek cseréje 254
A qr operátor 254
A split függvény 254
7.1.3. Nyelvtanok használata 255
A Parser.RecDescent modul 256
7.2. Sablonnyelvek és keretrendszerek 259
7.2.1. Template Toolkit 260
Sablonok betöltése 260
Szelekciós utasítások 260
Iterációs utasítások 261
Bővítmények 262
A Template Toolkit használata 262
HTML::Template sablonok használata 263
A HTML::Template sablon nyelv 264
A HTML::Template modul használata 265
8. fejezet
HÁLÓZATI ALKALMAZÁSOK 267
8.1. Kliensprogramok fejlesztése 267
Állományok letöltése távoli gépekről (FTP) 267
Elektronikus levelesládák olvasása (POP3) 268
Levélküldés (SMTP) 270
Webrobotok (HTTP) 271
8.2. A PubMed webrobot-alkalmazás 272
8.2.1. Keresési paraméterek 273
8.2.2. Implementáció 274
Robot.pl 274
Adatbázistáblák létrehozása 278
A robot gerince 280
Üzenőtábla („tervrajz") 283
A Stoprun aspektus 283
Letöltő 284
Kereső 286
Kereséstervező 288
Letöltőegység 293
Letöltéstervező 296
Dokumentumok feldolgozása 298
Dokumentumok tárolása 309
Találatok megjelenítése 313
9. fejezet
WEBFEJLESZTÉS 316
9.1. CGI 317
9.1.1. CGl.pm 317
9.1.2. A CGI működése 317
9.1.3. A CGI::Application keretrendszer 319
9.1.4. DBIx::\V3Editor adatbázis-szerkesztő alkalmazás 322
Implementáció 323
A DBIx:: W3Edito r osztály 324
HTML::Template sablonok 333
Hibakezelés 338
Tesztelés 339
Biztonsági kérdések 340
9.2. A mod_perl alkalmazások 341
9.2.1. Az Apache webszerver felépítése és működése 341
9.2.2. A mod_perl alapjai 342
A kéréskezelő modul elkészítése 342
A konfigurációs állomány módosítása 343
Webszerver újraindítása 343
9.2.3. CGl-alkalmazások mod_perl alatt 344
9.2.4. A MyPortal portál 345
A portál fejlesztésének menete, a felhasznált eszközök 345
Adatbázis-szerkezet kialakítása 346
A webalkalmazás Apache-moduljai és osztályai 348
A munkamenet-kezelő modul 349
Az azonosításért felelős modul 351
Az alkalmazás MVC-architektúrája 352
Modell osztály 353
Nézet osztály 354
Vezérlő modul 355
Az alkalmazás beállítása 360
A főoldal megjelenítésére szolgáló osztály 361
A profilszerkesztő osztály 365
A weboldalak létrehozására szolgáló sablonállományok 367
9.3. A Catalyst keretrendszer 380
9.3.1. A Catalyst keretrendszer elemei 380
9.3.2. Online webáruház 383
Adatbázis-szerkezet kialakítása 384
Az alkalmazás fő komponense 387
Nézet és modell ősosztályok. 389
Katalógus 390
Bevásárlókocsi 392
Vásárlók adatainak kezelése 396
Vásárlók azonosítása 402
A rendelés lebonyolítása 404
9.4. SVG dokumentumok előállítása 408
Heatmap::SVG 409
SVG_Utils.js 418
Heatmap.pl 419
Az S VG beágyazása HTML -be 422
FÜGGELÉK 423
A) A CPAN-modulok készítése 423
Modulvázak és információs állományok 423
Dokumentáció 424
Kódolás, tesztelés 424
Telepítőcsomag készítése 424
B) POD (Plain Old Documentation) 425
C) A YAML nyelv 427
D) Naplózás 431
E) Optimalizálás 435
F) A CD-mellékletről 440
IRODALOMJEGYZÉK, EGYÉB FORRÁSOK 441
TÁRGYMUTATÓ 443

Barta Zoltán

Barta Zoltán műveinek az Antikvarium.hu-n kapható vagy előjegyezhető listáját itt tekintheti meg: Barta Zoltán könyvek, művek
Megvásárolható példányok

Nincs megvásárolható példány
A könyv összes megrendelhető példánya elfogyott. Ha kívánja, előjegyezheti a könyvet, és amint a könyv egy újabb példánya elérhető lesz, értesítjük.

Előjegyzem
konyv