Details zum E-Book

Podręcznik Node.js. Smashing Magazine

Podręcznik Node.js. Smashing Magazine

Guillermo Rauch

E-book

Wykorzystaj potencjał Node.js!

Platforma Node.js powstała w 2009 roku. Pozwala na tworzenie wydajnych, skalowalnych aplikacji sieciowych. W tym środowisku napiszesz kod działający po stronie serwera - i użyjesz do tego języka JavaScript. Brzmi niesamowicie? I tak w rzeczywistości jest! Przekonasz się o tym w czasie czytania tej książki. Została ona w całości poświęcona Node.js.

Dzięki temu wspaniałemu podręcznikowi błyskawicznie skonfigurujesz i uruchomisz swoją pierwszą aplikację. Potem będzie już tylko ciekawiej - sterowanie zdarzeniami, wykorzystywanie wydajnych operacji wejścia-wyjścia oraz połączenie z bazą MongoDB to tylko niektóre z poruszanych tematów. Dowiesz się także, jak skorzystać z dostępu do danych w czasie rzeczywistym z pomocą technologii WebSocket oraz jak testować napisany kod z użyciem testów automatycznych. Po lekturze tej książki bez trudu przygotujesz aplikację, która będzie w stanie obsłużyć dziesiątki tysięcy jednoczesnych połączeń na jednym serwerze. Zainteresowany? Sięgnij po książkę - naprawdę warto!

Sprawdź:

  • jak stworzyć wydajne aplikacje sieciowe
  • jak uzyskać dostęp do danych w czasie rzeczywistym
  • jak łatwo zintegrować Node.js z MongoDB

Twój klucz do tworzenia wydajnych aplikacji sieciowych!

CZĘŚĆ I. SZYBKI START: INSTALACJA I POJĘCIA OGÓLNE (19)

Rozdział 1. Przygotowanie środowiska (21)

  • Instalacja w systemie Windows (22)
  • Instalacja w systemie OS X (22)
  • Instalacja w systemie Linux (23)
    • Kompilacja (23)
    • Kontrola działania (23)
  • Narzędzie REPL Node (23)
  • Wykonanie skryptu (24)
  • NPM (25)
    • Instalowanie modułów (25)
    • Definiowanie własnego modułu (26)
    • Instalacja narzędzi binarnych (27)
    • Przeszukiwanie rejestru NPM (28)
  • Podsumowanie (29)

Rozdział 2. Przegląd JavaScript (31)

  • Podstawowy JavaScript (32)
    • Typy (32)
    • Typowa łamigłówka (32)
    • Funkcje (33)
    • Konstrukcje this, call() i apply() (34)
    • Arność funkcji (34)
    • Domknięcia (35)
    • Klasy (35)
    • Dziedziczenie (36)
    • Blok try {} catch {} (37)
  • JavaScript w wersji v8 (38)
    • Metoda keys() obiektu (38)
    • Metoda isArray() tablicy (39)
    • Metody tablic (39)
    • Metody łańcuchów znaków (39)
    • JSON (39)
    • Metoda bind() funkcji (40)
    • Właściwość name funkcji (40)
    • Właściwość __proto__ i dziedziczenie (40)
    • Metody dostępowe (41)
  • Podsumowanie (42)

Rozdział 3. Blokujące i nieblokujące operacje wejścia-wyjścia (43)

  • Duże możliwości to duża odpowiedzialność (44)
    • Blokowanie (46)
    • Jednowątkowy świat (47)
    • Obsługa błędów (50)
    • Ślady stosów wywołań (51)
  • Podsumowanie (53)

Rozdział 4. JavaScript dla Node (55)

  • Obiekt globalny (56)
    • Pożyteczne zmienne globalne (56)
  • System modułów (57)
    • Moduły względne i bezwzględne (57)
  • Udostępnianie interfejsu programistycznego (59)
  • Zdarzenia (61)
  • Bufory (63)
  • Podsumowanie (64)

CZĘŚĆ II. NAJISTOTNIEJSZE INTERFEJSY PROGRAMISTYCZNE NODE (65)

Rozdział 5. Wiersz poleceń i moduł FS: Twoja pierwsza aplikacja (67)

  • Wymagania (68)
  • Piszemy nasz pierwszy program (68)
    • Tworzymy moduł (69)
    • sync czy async? (70)
    • Zrozumienie strumieni (71)
    • Wejście i wyjście (73)
    • Refaktoring (75)
    • Interakcja z modułem fs (77)
  • Wiersz poleceń (79)
    • Obiekt argv (79)
    • Katalog roboczy (80)
    • Zmienne środowiskowe (81)
    • Zakańczanie programu (81)
    • Sygnały (82)
    • Sekwencje sterujące ANSI (82)
  • Moduł fs (82)
    • Strumienie (83)
    • Obserwacja (84)
  • Podsumowanie (84)

Rozdział 6. Protokół TCP (87)

  • Czym charakteryzuje się TCP? (88)
    • Komunikacja z naciskiem na połączenia i zasada zachowania kolejności (88)
    • Kod bajtowy jako podstawowa reprezentacja (88)
    • Niezawodność (89)
    • Kontrola przepływu (89)
    • Kontrola przeciążeń (89)
  • Telnet (89)
  • Czat na bazie TCP (92)
    • Tworzymy moduł (92)
    • Klasa net.Server (92)
    • Odbieranie połączeń (94)
    • Zdarzenie data (96)
    • Stan i monitorowanie połączeń (97)
    • Wykończenie (100)
  • Klient IRC (102)
    • Tworzymy moduł (102)
    • Interfejs net.Stream (103)
    • Implementacja części protokołu IRC (103)
    • Test z prawdziwym serwerem IRC (104)
  • Podsumowanie (104)

Rozdział 7. Protokół HTTP (105)

  • Struktura HTTP (106)
  • Nagłówki (107)
  • Połączenia (111)
  • Prosty serwer WWW (112)
    • Tworzymy moduł (112)
    • Wyświetlamy formularz (112)
    • Metody i adresy URL (114)
    • Dane (117)
    • Składamy elementy w całość (119)
    • Dopracowanie szczegółów (120)
  • Klient Twittera (121)
    • Tworzymy moduł (121)
    • Wysyłanie prostego żądania HTTP (122)
    • Wysłanie danych (123)
    • Pobieranie tweetów (124)
  • Moduł superagent na pomoc (128)
  • Przeładowanie serwera za pomocą narzędzia up (130)
  • Podsumowanie (130)

CZĘŚĆ III. TWORZENIE APLIKACJI SIECIOWYCH (133)

Rozdział 8. Framework Connect (135)

  • Prosta strona internetowa przy użyciu modułu http (136)
  • Prosta strona internetowa przy użyciu frameworka Connect (139)
  • Metody pośredniczące (141)
    • Tworzenie metod pośredniczących wielokrotnego użytku (142)
    • Metoda pośrednicząca static (146)
    • Metoda pośrednicząca query (148)
    • Metoda pośrednicząca logger (148)
    • Metoda pośrednicząca bodyParser (150)
    • Ciasteczka (153)
    • Metoda pośrednicząca session (154)
    • Sesje Redis (159)
    • Metoda pośrednicząca methodOverride (160)
    • Metoda pośrednicząca basicAuth (160)
  • Podsumowanie (162)

Rozdział 9. Framework Express (163)

  • Prosta aplikacja Express (164)
    • Tworzymy moduł (164)
    • HTML (164)
    • Konfiguracja (165)
    • Definiowanie tras (166)
    • Moduł search (168)
    • Uruchomienie aplikacji (169)
  • Ustawienia (170)
  • Mechanizmy szablonów (172)
  • Obsługa błędów (173)
  • Metody złożone (173)
  • Trasy (175)
  • Metody pośredniczące (177)
  • Strategie organizacji (178)
  • Podsumowanie (180)

Rozdział 10. Technologia WebSocket (181)

  • AJAX (182)
  • Technologia WebSocket (184)
  • Aplikacja Echo (185)
    • Przygotowanie (185)
    • Konfiguracja serwera (186)
    • Konfiguracja klienta (187)
    • Uruchomienie serwera (188)
  • Kursory myszy (189)
    • Przygotowanie (189)
    • Konfiguracja serwera (189)
    • Konfiguracja klienta (192)
    • Uruchomienie serwera (194)
  • Kwestie do rozwiązania (194)
    • Zamknięcie połączenia a rozłączenie (195)
    • JSON (195)
    • Ponowne łączenie (195)
    • Rozgłaszanie (195)
    • WebSocket to HTML5: starsze przeglądarki go nie obsługują (195)
    • Rozwiązanie (195)
  • Podsumowanie (196)

Rozdział 11. Framework Socket.IO (197)

  • Transporty (198)
    • Rozłączenie kontra zamknięcie połączenia (198)
    • Zdarzenia (198)
    • Przestrzenie nazw (199)
  • Czat (200)
    • Przygotowanie programu (200)
    • Konfiguracja serwera (200)
    • Konfiguracja klienta (201)
    • Zdarzenia i rozgłaszanie (203)
    • Gwarancja odbioru (207)
  • Aplikacja DJ (209)
    • Rozszerzenie czata (209)
    • Integracja z interfejsem Grooveshark (210)
    • Odtwarzanie (213)
  • Podsumowanie (218)

CZĘŚĆ IV. BAZY DANYCH (219)

Rozdział 12. MongoDB (221)

  • Instalacja (223)
  • Dostęp do MongoDB: przykład uwierzytelnienia użytkownika (224)
    • Konfiguracja aplikacji (224)
    • Tworzymy aplikację Express (224)
    • Łączymy się z MongoDB (228)
    • Tworzymy dokumenty (230)
    • Wyszukiwanie dokumentów (232)
    • Metoda pośrednicząca do uwierzytelniania (233)
    • Sprawdzanie poprawności danych (234)
    • Niepodzielność (235)
    • Tryb bezpieczny (235)
  • Wprowadzenie do Mongoose (236)
    • Definiowanie modelu (236)
    • Definiowanie zagnieżdżonych kluczy (238)
    • Definiowanie zagnieżdżonych dokumentów (238)
    • Ustawianie indeksów (239)
    • Metody pośredniczące (239)
    • Sprawdzanie stanu modelu (239)
    • Zapytania (240)
    • Rozszerzanie zapytań (240)
    • Sortowanie (240)
    • Wybieranie danych (240)
    • Limitowanie wyników (241)
    • Pomijanie wyników (241)
    • Automatyczne wypełnianie kluczy (241)
    • Konwersja typów (242)
  • Przykład Mongoose (242)
    • Konfiguracja aplikacji (242)
    • Refaktoryzacja (243)
    • Definiowanie modeli (243)
  • Podsumowanie (245)

Rozdział 13. MySQL (247)

  • node-mysql (248)
    • Konfiguracja (248)
    • Aplikacja Express (248)
    • Łączenie z MySQL (249)
    • Inicjalizacja skryptu (250)
    • Wstawianie danych (253)
    • Pobieranie danych (258)
  • Narzędzie Sequelize (259)
    • Konfiguracja Sequelize (260)
    • Konfiguracja aplikacji Express (260)
    • Konfiguracja Sequelize (263)
    • Definiowanie modeli i synchronizacja (264)
    • Wstawianie danych (266)
    • Pobieranie danych (268)
    • Usuwanie danych (269)
    • Wykończenie (271)
  • Podsumowanie (272)

Rozdział 14. Redis (273)

  • Instalacja Redis (275)
  • Język zapytań Redis (275)
  • Typy danych (276)
    • Ciągi znaków (277)
    • Tablice asocjacyjne (277)
    • Listy (279)
    • Zbiory (279)
    • Zbiory sortowane (280)
  • Redis i Node (280)
    • Implementacja mapy relacji przy użyciu Node i Redis (281)
  • Podsumowanie (290)

CZĘŚĆ V. TESTOWANIE (291)

Rozdział 15. Współdzielony kod (293)

  • Co może być współdzielone? (294)
  • Kompatybilność kodu JavaScript (294)
    • Udostępnianie modułów (295)
    • Adaptacja interfejsów programistycznych ECMA (296)
    • Adaptacja interfejsów programistycznych Node (297)
    • Adaptacja interfejsów programistycznych przeglądarek (298)
    • Dziedziczenie dla wszystkich przeglądarek (298)
  • Zastosowanie praktyczne: narzędzie browserbuild (299)
    • Prosty przykład (300)
  • Podsumowanie (302)

Rozdział 16. Testowanie (305)

  • Proste testy (306)
    • Przedmiot testów (306)
    • Strategia testów (306)
    • Program testowy (307)
  • Expect.js (308)
    • Przegląd interfejsów programistycznych (308)
  • Mocha (310)
    • Testowanie asynchronicznego kodu (311)
    • Styl BDD (313)
    • Styl TDD (314)
    • Styl eksportu (314)
    • Korzystanie z Mocha w przeglądarce (315)
  • Podsumowanie (316)

Skorowidz (317)

  • Titel: Podręcznik Node.js. Smashing Magazine
  • Autor: Guillermo Rauch
  • Originaler Titel: Smashing Node.js: JavaScript Everywhere (Smashing Magazine)
  • Übersetzung: Krzysztof Wołowski
  • ISBN: 978-83-246-6675-1, 9788324666751
  • Veröffentlichungsdatum: 2014-01-13
  • Format: E-book
  • Artikelkennung: podnod
  • Verleger: Helion