Szczegóły ebooka

Tajniki języka JavaScript. Asynchroniczność i wydajność

Tajniki języka JavaScript. Asynchroniczność i wydajność

Kyle Simpson

Ebook
Istnieje wiele podręczników do nauki języka JavaScriptu. Większość z nich nie wyczerpuje trudniejszych i bardziej zaawansowanych zagadnień, których zrozumienie — choć wymaga wysiłku — jest warunkiem osiągnięcia prawdziwej biegłości w tym języku. JavaScript jest jednym z przystępniejszych języków programowania i można go używać, znając jedynie podstawy. Równocześnie jednak ten łatwy i zachęcający język zawiera wiele zaawansowanych, złożonych mechanizmów, których stosowanie w praktyce rozszerzy możliwości programisty w zadziwiający sposób. Szkoda, że tak niewielu programistów stara się dogłębnie poznać JavaScript!

Niniejsza książka jest częścią serii w całości poświęconej temu językowi. Założeniem autora było skupić się właśnie na tych głębszych aspektach języka JavaScript i wnikliwie je przeanalizować, a następnie, bazując na takich solidnych podstawach, pokazać praktyczne zastosowanie opisanych koncepcji. Owszem, JavaScript może być z powodzeniem wykorzystywany bez głębszej znajomości, jednak prawdziwą biegłość i kontrolę nad swoim kodem uzyskasz dopiero po zrozumieniu kilku trudniejszych koncepcji, z których część opisano w tej właśnie książce.

Dzięki tej książce:
  • Zrozumiesz zaawansowane i złożone koncepcje JavaScriptu.
  • Nabierzesz biegłości w programowaniu asynchronicznym w języku JavaScript.
  • Nauczysz się stosować obietnice JavaScript i wykorzystasz je do pisania asynchronicznych API.
  • Będziesz wykorzystywał generatory do wyrażania asynchroniczności w sposób sekwencyjny i wyglądający na synchroniczny.
  • Dowiesz się, w jaki sposób zoptymalizować wydajność na poziomie programu za pomocą wątków roboczych, SIMD i stylu asm.js.
  • Poznasz nieocenione zasoby i techniki przeznaczone do przeprowadzania testów jednostkowych oraz dostrajania wyrażeń i poleceń.

Sprawdź, jakie zagadki kryje w sobie ten stary, dobry JavaScript!

Przedmowa (5)

Wprowadzenie (7)

1. Asynchroniczność - teraz i później (11)

  • Program we fragmentach (12)
  • Pętla zdarzeń (14)
  • Równoległe wykonywanie wątków (16)
  • Współbieżność (21)
  • Zadania (28)
  • Kolejność poleceń (30)
  • Podsumowanie (32)

2. Wywołania zwrotne (33)

  • Kontynuacja (34)
  • Sekwencyjny mózg (35)
  • Kwestie zaufania (41)
  • Próba uratowania wywołań zwrotnych (45)
  • Podsumowanie (49)

3. Obietnice (51)

  • Czym jest obietnica? (52)
  • Określanie typu na podstawie then() (60)
  • Kwestie zaufania i obietnice (63)
  • Łańcuch przepływu kontroli (71)
  • Obsługa błędów (79)
  • Wzorce obietnic (85)
  • Powtórzenie wiadomości o API obietnic (92)
  • Ograniczenia obietnic (95)
  • Podsumowanie (106)

4. Generatory (107)

  • Złamanie zasady "działanie aż do zakończenia" (107)
  • Generowanie wartości przez generator (116)
  • Asynchroniczna iteracja przez generatory (123)
  • Generatory plus obietnice (126)
  • Delegowanie generatora (135)
  • Współbieżność generatorów (142)
  • Koncepcja thunk (146)
  • Generatory istniejące przed wydaniem ES6 (152)
  • Podsumowanie (158)

5. Wydajność programu (159)

  • Architektura wątków roboczych (160)
  • SIMD (165)
  • asm.js (167)
  • Podsumowanie (170)

6. Testy wydajności i dostrajanie (173)

  • Testy wydajności (173)
  • Kontekst ma znaczenie (177)
  • jsPerf.com (180)
  • Tworzenie dobrych testów (183)
  • Mikrowydajność (184)
  • Optymalizacja rekurencji ogonowej (191)
  • Podsumowanie (192)

A. Biblioteka asynquence (195)

  • Projekt oparty na sekwencji (196)
  • API biblioteki asynquence (198)
  • Sekwencje wartości i błędu (208)
  • Obietnice i wywołania zwrotne (209)
  • Iterowane sekwencje (210)
  • Uruchamianie generatorów (211)
  • Podsumowanie (213)

B. Zaawansowane wzorce asynchroniczności (215)

  • Iterowane sekwencje (215)
  • Zdarzenia reaktywne (221)
  • Współprogram generatora (225)
  • Koncepcja języka CSP (229)
  • Podsumowanie (233)

C. Podziękowania (234)

Skorowidz (237)

  • Tytuł: Tajniki języka JavaScript. Asynchroniczność i wydajność
  • Autor: Kyle Simpson
  • Tytuł oryginału: You Don't Know JS: Async & Performance
  • Tłumaczenie: Robert Górczyński
  • ISBN: 978-83-283-2181-6, 9788328321816
  • Data wydania: 2016-04-27
  • Format: Ebook
  • Identyfikator pozycji: tjsasy
  • Wydawca: Helion