Nowoczesne aplikacje internetowe. MongoDB, Express, AngularJS, Node.js

This document was uploaded by one of our users. The uploader already confirmed that they had the permission to publish it. If you are author/publisher or own the copyright of this documents, please report to us by using this DMCA report form.

Simply click on the Download Book button.

Yes, Book downloads on Ebookily are 100% Free.

Sometimes the book is free on Amazon As well, so go ahead and hit "Search on Amazon"

Poznaj nowe podejście do aplikacji internetowych! Tradycyjne aplikacje internetowe składały się z dwóch elementów — ciężkiego back-endu odpowiadającego za przetwarzanie danych, ich walidację i przechowywanie oraz z klienta, którego zadaniem była prosta komunikacja z użytkownikiem. To rozwiązanie rodziło liczne kłopoty — przede wszystkim ze skalowaniem. Od nowoczesnych aplikacji użytkownicy wymagają najwyższej wydajności, niezawodności, możliwości działania w trybie offline oraz wygody użytkowania. Tradycyjne podejście do tworzenia aplikacji już się nie sprawdza. Potrzebujesz czegoś nowego! Na ratunek przychodzi drużyna — MongoDB, Express, AngularJS oraz Node.js. Dzięki temu zestawowi narzędzi będziesz w stanie stworzyć zaawansowaną aplikację z wygodnym interfejsem użytkownika oraz szerokimi możliwościami skalowania. Wystarczy, że sięgniesz po tę książkę i przyswoisz sobie zawartą w niej wiedzę. W publikacji znajdziesz odpowiedź na wiele pytań: Dlaczego warto wybrać AngularJS? Czym się charakteryzują bazy NoSQL? W jakich sytuacjach bazy NoSQL są lepsze od tradycyjnych baz relacyjnych? Dlaczego Node.js jest tak szybki? Ponadto nauczysz się budować wydajne API, integrować Node.js z AngularJS, automatyzować zadania za pomocą pakietu Gulp oraz korzystać z zaawansowanych mechanizmów autoryzacji. Na sam koniec zaznajomisz się z dobrymi praktykami — testami API, klienta oraz uruchomisz przygotowaną aplikację na serwerze produkcyjnym. Ta książka jest doskonałą lekturą, która zaprezentuje Ci każdy z elementów nowoczesnej aplikacji internetowej. Dzięki tej książce: Poznasz możliwości AngularJS oraz Node.js Przekonasz się, dlaczego warto wybrać MongoDB Przygotujesz praktyczne API w Node.js Poznasz narzędzie Gulp Wykorzystasz JSON Web Token do uwierzytelniania Przetestujesz aplikację Nauczysz się tworzyć nowoczesne aplikacje internetowe! Aplikacje internetowe już nigdy nie będą takie same! Jeff Dickey — wszechstronny programista sieciowy. Doświadczenie zdobywał przy pracy z licznymi start-upami z okolic San Francisco i Los Angeles. Obecnie prowadzi zespoły programistów i opracowuje projekty. Unika biurokracji, jest zaangażowany w serię spotkań Code for America Brigade w Los Angeles.

Author(s): Jeff Dickey
Year: 0

Language: Polish
Pages: 240

Przedmowa (9)

Wprowadzenie (10)

Rozdział 1. Jak zmienia się nowoczesna architektura sieci? (12)

Powstanie aplikacji statycznych (14)
Poznaj grubego klienta (17)
Rozdział 2. Dlaczego JavaScript jest dobrym wyborem dla nowoczesnych aplikacji? (20)

Co to jest AngularJS? (22)
Co to jest Node.js? (25)
Co to jest Express? (33)
Co to jest MongoDB? (35)
Rozdział 3. Rozpoczynamy pracę nad projektem aplikacji społecznościowej (40)

Utworzenie statycznej imitacji strony wyświetlającej najnowsze posty (42)
Użycie AngularJS w aplikacji (43)
Dodawanie nowych postów (46)
Co dalej? (49)
Rozdział 4. Utworzenie API Node.js (50)

Punkt wyjścia (52)
Utworzenie postów za pomocą API (54)
Obsługa modeli MongoDB za pomocą Mongoose (55)
Użycie modeli Mongoose wraz z API (56)
Co dalej? (59)
Rozdział 5. Integracja Node.js i AngularJS (60)

Komponent $http (62)
Użycie $http do odczytu postów z API (63)
Udostępnianie pliku posts.html za pomocą Node.js (64)
Użycie $http do zapisu postów w API (65)
Zmiana kolejności wyświetlania postów (66)
Uporządkowanie pliku server.js (67)
Uporządkowanie kodu AngularJS (71)
Co dalej? (75)
Rozdział 6. Automatyzacja za pomocą Gulp (76)

Wprowadzenie do Grunt i Gulp (78)
"Witaj, świecie" w Gulp (79)
Przygotowanie kodu JavaScript za pomocą Gulp (80)
Kompilacja CSS za pomocą Gulp (87)
Zadanie dev w Gulp (89)
Inne wtyczki Gulp (91)
Co dalej? (92)
Rozdział 7. Utworzenie uwierzytelniania w Node.js (94)

Wprowadzenie uwierzytelniania na podstawie tokenu (96)
JSON Web Token (JWT) (97)
Użycie BCrypt (101)
Uwierzytelnianie z użyciem MongoDB (103)
Co dalej? (106)
Rozdział 8. Dodanie routingu i uwierzytelniania klienta (108)

Routing (110)
Utworzenie formularza logowania (113)
Uwierzytelnianie Express (116)
Zdarzenia AngularJS (119)
Uwierzytelnianie postów aplikacji społecznościowej (121)
HTML5 pushstate (123)
Rejestracja (124)
Wylogowanie (125)
Zapamiętaj mnie (126)
Klucz zewnętrzny użytkownika (127)
Co dalej? (128)
Rozdział 9. Obsługa powiadomień za pomocą WebSocket (130)

Wprowadzenie do WebSocket (132)
Jak działa WebSocket? (133)
Do czego można wykorzystać WebSocket? (134)
WebSocket w budowanej aplikacji społecznościowej (135)
WebSocket w AngularJS (139)
Architektura WebSocket (141)
Dynamiczna nazwa hosta WebSocket (146)
Co dalej? (147)
Rozdział 10. Wykonywanie testów E2E (148)

Konfiguracja narzędzia Protractor (150)
Frameworki testowania w JavaScript (151)
Utworzenie prostego testu Protractor (152)
Przygotowanie w narzędziu Protractor definicji oczekiwanego zachowania (162)
Wtyczka chai-as-promised (164)
Kiedy należy wykonywać testy typu E2E? (165)
Co dalej? (166)
Rozdział 11. Testowanie serwera Node.js (168)

To nie całkiem są testy jednostkowe (170)
Framework Mocha dla Node.js (171)
Kontroler Post (173)
SuperTest (174)
Router bazowy (175)
Użycie routera bazowego wraz z SuperTest (176)
Modele w testach kontrolerów (177)
Testowanie kontrolera z uwierzytelnieniem (179)
Pokrycie kodu (181)
Polecenie npm test (183)
JSHint (184)
Co dalej? (185)
Rozdział 12. Testowanie kodu AngularJS (186)

Użycie narzędzia Karma (188)
Bower (189)
Konfiguracja narzędzia Karma (191)
Podstawowy test usługi (193)
Testowanie HTTP za pomocą narzędzia Karma (194)
Użycie narzędzia Karma do przetestowania kontrolera (196)
Testowanie za pomocą komponentów spy (200)
Co dalej? (202)
Rozdział 13. Wdrożenie w Heroku (204)

Platforma jako usługa (206)
Jak działa Heroku? (207)
12 czynników w aplikacji (208)
Wdrożenie aplikacji w Heroku (209)
MongoDB w Heroku (211)
Redis w Heroku (212)
Kompilacja zasobów (214)
Klaster Node.js (216)
Co dalej? (217)
Rozdział 14. Wdrożenie w Digital Ocean (218)

Co to jest Digital Ocean? (220)
Architektura jeden kontra wiele serwerów (221)
Fedora 22 (222)
Utworzenie serwera (223)
Instalacja Node.js (225)
Instalacja MongoDB (226)
Instalacja Redis (227)
Uruchomienie aplikacji społecznościowej (229)
Uruchomienie aplikacji społecznościowej za pomocą systemd (230)
Wdrożenie bez przestoju serwera (231)
Migracja do architektury wieloserwerowej (235)
Co dalej? (237)
Podsumowanie (238)
Skorowidz (239)