دسترسی نامحدود
برای کاربرانی که ثبت نام کرده اند
برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید
در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید
برای کاربرانی که ثبت نام کرده اند
درصورت عدم همخوانی توضیحات با کتاب
از ساعت 7 صبح تا 10 شب
ویرایش:
نویسندگان: Philip Ackermann
سری:
ISBN (شابک) : 1173622156, 9783836264556
ناشر: Rheinwerk
سال نشر: 2019
تعداد صفحات: 653
زبان: German
فرمت فایل : PDF (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود)
حجم فایل: 9 مگابایت
در صورت تبدیل فایل کتاب Node.js Rezepte und Lösungen به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.
توجه داشته باشید کتاب دستور العمل ها و راه حل های Node.js نسخه زبان اصلی می باشد و کتاب ترجمه شده به فارسی نمی باشد. وبسایت اینترنشنال لایبرری ارائه دهنده کتاب های زبان اصلی می باشد و هیچ گونه کتاب ترجمه شده یا نوشته شده به فارسی را ارائه نمی دهد.
Materialien zum Buch Geleitwort des Fachgutachters Vorwort 1 Initialisierung und Setup 1.1 Rezept 1: Node.js installieren 1.1.1 Arten der Installation 1.1.2 Lösung: Installation über Installationsdatei unter macOS 1.1.3 Lösung: Installation über Installationsdatei unter Windows 1.1.4 Lösung: Installation über Binärpaket unter macOS 1.1.5 Lösung: Installation über Binärpaket unter Windows 1.1.6 Lösung: Installation über Binärpaket unter Linux 1.1.7 Lösung: Installation über Paketmanager 1.1.8 Ausblick 1.2 Rezept 2: Mehrere Node.js-Versionen parallel betreiben 1.2.1 Lösung 1.2.2 Alternativen 1.2.3 Ausblick 1.3 Rezept 3: Ein neues Node.js-Package manuell erstellen 1.3.1 Lösung 1.3.2 Modulsyntax 1.3.3 Weitere Dateien 1.3.4 Best Practices für Node.js-Packages 1.3.5 Ausblick 1.4 Rezept 4: Ein neues Node.js-Package automatisch erstellen 1.4.1 Möglichkeiten zur Initialisierung von Packages 1.4.2 Lösung: Packages über den Kommandozeilenwizard erstellen 1.4.3 Lösung: Packages über Starter-Kits erstellen 1.4.4 Lösung: Packages über Code-Generatoren erstellen 1.4.5 Ausblick 1.5 Rezept 5: Den Kommandozeilenwizard von npm anpassen 1.5.1 Lösung: Standardwerte anpassen 1.5.2 Lösung: Eine individuelle Package-Initialisierung einrichten 1.5.3 Ausblick 1.6 Rezept 6: Abhängigkeiten richtig installieren und verwalten 1.6.1 Die verschiedenen Typen von Abhängigkeiten verstehen 1.6.2 Lösung: Installieren von Laufzeitabhängigkeiten 1.6.3 Lösung: Installieren von Entwicklungsabhängigkeiten 1.6.4 Lösung: Installieren von globalen Packages 1.6.5 Lösung: Installieren von globalen Packages ohne sudo-Rechte 1.6.6 Ausblick 1.7 Rezept 7: Packages in Mono-Repositorys organisieren 1.7.1 Lösung 1.7.2 Lerna 1.7.3 Aufbau von Mono-Repositorys 1.7.4 Packages innerhalb eines Mono-Repositorys anlegen 1.7.5 Projekt-globale Abhängigkeiten 1.7.6 Voraussetzung: Git 1.7.7 Workflow 1.7.8 Ausblick 1.8 Zusammenfassung 2 Package Management 2.1 Rezept 8: Semantische Versionierung richtig einsetzen 2.1.1 Exkurs: semantische Versionierung 2.1.2 Lösung: variable Versionsnummern verwenden 2.1.3 Lösung: exakte Versionsnummern verwenden 2.1.4 Die Datei package-lock.json 2.1.5 Die Datei npm-shrinkwrap.json 2.1.6 Ausblick 2.2 Rezept 9: Den alternativen Package Manager »Yarn« verwenden 2.2.1 Lösung 2.2.2 Einführung und Vergleich zu npm 2.2.3 Installation 2.2.4 Verwendung 2.2.5 Lock-Datei 2.2.6 Ausblick 2.3 Rezept 10: Den alternativen Package Manager »pnpm« verwenden 2.3.1 Lösung 2.3.2 Einführung und Vergleich zu npm 2.3.3 Installation 2.3.4 Verwendung 2.3.5 Ausblick 2.4 Rezept 11: Lokale Abhängigkeiten für die Entwicklung verlinken 2.4.1 Lösung 2.4.2 Alternativen 2.5 Rezept 12: Informationen zu verwendeten Abhängigkeiten abrufen 2.5.1 Lösung: allgemeine Informationen für ein Package ermitteln 2.5.2 Lösung: Downloadstatistik eines Packages ermitteln 2.5.3 Lösung: den Abhängigkeitsbaum eines Packages ermitteln 2.5.4 Ausblick 2.6 Rezept 13: Lizenzen der verwendeten Abhängigkeiten ermitteln 2.6.1 Lösung 2.6.2 Alternativen 2.6.3 Ausblick 2.7 Rezept 14: Nicht verwendete oder fehlende Abhängigkeiten ermitteln 2.7.1 Lösung 2.7.2 Weitere Features 2.7.3 Ausblick 2.8 Rezept 15: Veraltete Abhängigkeiten ermitteln 2.8.1 Lösung 2.8.2 Alternativen 2.9 Zusammenfassung 3 Logging und Debugging 3.1 Rezept 16: Logging für Node.js-Packages einrichten 3.1.1 Exkurs: Logging 3.1.2 Lösung: das »debug«-Package 3.1.3 Ausblick 3.2 Rezept 17: Logging für Node.js-Applikationen einrichten 3.2.1 Lösung: Logging mit »winston« 3.2.2 Lösung: Logging mit »bunyan« 3.2.3 Lösung: Logging mit »log4js-node« 3.2.4 Ausblick 3.3 Rezept 18: Logging über Adapter-Packages einrichten 3.3.1 Lösung 3.3.2 Ausblick 3.4 Rezept 19: Applikationen mit Chrome Developer Tools debuggen 3.4.1 Vorbereitung 3.4.2 Lösung 3.4.3 Ausblick 3.5 Rezept 20: Applikationen mit Visual Studio Code debuggen 3.5.1 Lösung 3.5.2 Ausblick 3.6 Rezept 21: Applikationen über die Kommandozeile debuggen 3.6.1 Lösung 3.6.2 Ausblick 3.7 Zusammenfassung 4 Konfiguration und Internationalisierung 4.1 Rezept 22: Applikationen konfigurieren über Umgebungsvariablen 4.1.1 Exkurs: Konfiguration von Applikationen 4.1.2 Lösung: Umgebungsvariablen mit der Node.js-API auslesen 4.1.3 Lösung: Umgebungsvariablen über .env-Datei definieren 4.1.4 Ausblick 4.2 Rezept 23: Applikationen konfigurieren über Konfigurationsdateien 4.2.1 Lösung: Konfigurationsdateien mit JSON 4.2.2 Lösung: Konfigurationsdateien mit JavaScript 4.2.3 Ausblick 4.3 Rezept 24: Applikationen konfigurieren über Kommandozeilenargumente 4.3.1 Lösung: auf Kommandozeilenargumente zugreifen über die Standard-Node.js-API 4.3.2 Lösung: auf Kommandozeilenargumente zugreifen über »yargs« 4.3.3 Lösung: auf Kommandozeilenargumente zugreifen über »commander.js« 4.3.4 Ausblick 4.4 Rezept 25: Applikationen optimal konfigurierbar machen 4.4.1 Lösung 4.4.2 Ausblick 4.5 Rezept 26: Mehrsprachige Applikationen erstellen 4.5.1 Exkurs: i18n 4.5.2 Die Internationalization API 4.5.3 Lösung: Vergleich von Zeichenketten 4.5.4 Lösung: Formatierung von Datums- und Zeitangaben 4.5.5 Lösung: Formatierung von Zahlenwerten 4.5.6 Ausblick 4.6 Rezept 27: Sprachdateien verwenden 4.6.1 Verwenden von Sprachdateien mit »i18n« 4.6.2 Ausblick 4.7 Zusammenfassung 5 Dateisystem, Streams und Events 5.1 Rezept 28: Mit Dateien und Verzeichnissen arbeiten 5.1.1 Lösung 5.1.2 Dateien lesen 5.1.3 Dateien schreiben 5.1.4 Weitere Methoden 5.1.5 Über Verzeichnisse iterieren 5.1.6 Ausblick 5.2 Rezept 29: Dateien und Verzeichnisse überwachen 5.2.1 Einführung 5.2.2 Lösung: Dateien und Verzeichnisse überwachen mit dem »fs«-Modul 5.2.3 Lösung: Dateien und Verzeichnisse überwachen mit »chokidar« 5.2.4 Ausblick 5.3 Rezept 30: Daten mit Streams lesen 5.3.1 Exkurs: Streams 5.3.2 Lösung 5.3.3 Ausblick 5.4 Rezept 31: Daten mit Streams schreiben 5.4.1 Lösung 5.4.2 Ausblick 5.5 Rezept 32: Mehrere Streams über Piping kombinieren 5.5.1 Lösung 5.5.2 Piping im Produktionsbetrieb 5.5.3 Ausblick 5.6 Rezept 33: Eigene Streams implementieren 5.6.1 Lösung 5.6.2 Lösung: Einen Readable Stream implementieren 5.6.3 Lösung: Einen Writable Stream implementieren 5.6.4 Lösung: Einen Duplex Stream implementieren 5.6.5 Lösung: Einen Transform Stream implementieren 5.6.6 Ausblick 5.7 Rezept 34: Events versenden und empfangen 5.7.1 Lösung 5.7.2 Ausblick 5.8 Rezept 35: Erweiterte Features beim Event-Handling verwenden 5.8.1 Lösung 5.8.2 Ausblick 5.9 Zusammenfassung 6 Datenformate 6.1 Rezept 36: XML verarbeiten 6.1.1 Einführung: XML-Verarbeitung 6.1.2 Lösung 1: XML mit einem DOM-Parser verarbeiten 6.1.3 Lösung 2: XML mit einem SAX-Parser verarbeiten 6.1.4 Ausblick 6.2 Rezept 37: XML generieren 6.2.1 Lösung 1: XML generieren mit »xmlbuilder« 6.2.2 Lösung 2: XML generieren mit Template Strings 6.2.3 Ausblick 6.3 Rezept 38: RSS und Atom generieren und verarbeiten 6.3.1 Lösung: RSS und Atom generieren 6.3.2 Lösung: RSS und Atom verarbeiten 6.3.3 Ausblick 6.4 Rezept 39: CSV verarbeiten 6.4.1 Lösung 6.4.2 Ausblick 6.5 Rezept 40: HTML mit Template-Engines generieren 6.5.1 Einführung 6.5.2 Lösung 1: HTML generieren mit »Pug« 6.5.3 Lösung 2: HTML generieren mit »EJS« 6.5.4 Ausblick 6.6 Rezept 41: HTML mit der DOM-API generieren 6.6.1 Exkurs: das Document Object Model 6.6.2 Lösung 6.6.3 Ausblick 6.7 Rezept 42: YAML verarbeiten und generieren 6.7.1 Exkurs: das YAML-Format 6.7.2 Lösung: YAML lesen 6.7.3 Lösung: YAML generieren 6.7.4 Ausblick 6.8 Rezept 43: TOML verarbeiten 6.8.1 Lösung 6.8.2 Ausblick 6.9 Rezept 44: INI verarbeiten und generieren 6.9.1 Lösung: INI verarbeiten 6.9.2 Lösung: INI generieren 6.9.3 Ausblick 6.10 Rezept 45: JSON validieren 6.10.1 Einführung 6.10.2 Lösung 6.10.3 Ausblick 6.11 Rezept 46: JavaScript verarbeiten und generieren 6.11.1 Lösung: JavaScript verarbeiten 6.11.2 Lösung: JavaScript generieren 6.11.3 Ausblick 6.12 Rezept 47: CSS verarbeiten und generieren 6.12.1 Lösung: CSS mit »PostCSS« verarbeiten 6.12.2 Lösung: eigene Plugins für »PostCSS« schreiben 6.12.3 Ausblick 6.13 Zusammenfassung 7 Persistenz 7.1 Rezept 48: Auf eine MySQL-Datenbank zugreifen 7.1.1 Lösung 7.1.2 Ausblick 7.2 Rezept 49: Auf eine PostgreSQL-Datenbank zugreifen 7.2.1 Lösung 7.2.2 Ausblick 7.3 Rezept 50: Objektrelationale Mappings definieren 7.3.1 Exkurs: Objektrelationale Mappings 7.3.2 Lösung 7.3.3 Ausblick 7.4 Rezept 51: Auf eine MongoDB-Datenbank zugreifen 7.4.1 Lösung 7.4.2 Ausblick 7.5 Rezept 52: Auf eine Redis-Datenbank zugreifen 7.5.1 Lösung 7.5.2 Redis als Pub/Sub 7.5.3 Ausblick 7.6 Rezept 53: Auf eine Cassandra-Datenbank zugreifen 7.6.1 Lösung 7.6.2 Ausblick 7.7 Zusammenfassung 8 Webanwendungen und Webservices 8.1 Rezept 54: Einen HTTP-Server implementieren 8.1.1 Lösung: einen Webserver mit der Standard-Node.js-API erstellen 8.1.2 Lösung: einen Webserver mit »Express« implementieren 8.1.3 Ausblick 8.2 Rezept 55: Eine Webanwendung über HTTPS betreiben 8.2.1 Lösung 8.2.2 Ausblick 8.3 Rezept 56: Eine REST-API implementieren 8.3.1 Exkurs: REST-APIs 8.3.2 Lösung: eine REST-API mit »Express« implementieren 8.3.3 Versionierung 8.3.4 Ausblick 8.4 Rezept 57: Einen HTTP-Client implementieren 8.4.1 Lösung: einen HTTP-Client mit der Standard-Node.js-API implementieren 8.4.2 Lösung: einen HTTP-Client mit »superagent« implementieren 8.4.3 Ausblick 8.5 Rezept 58: Authentifizierung implementieren 8.5.1 Lösung 8.5.2 Ausblick 8.6 Rezept 59: Authentifizierung mit »Passport.js« implementieren 8.6.1 Lösung 8.6.2 Ausblick 8.7 Rezept 60: Eine GraphQL-API implementieren 8.7.1 Exkurs: das Problem von REST 8.7.2 Lösung: dynamische APIs mit GraphQL 8.7.3 Ausblick 8.8 Rezept 61: Anfragen an eine GraphQL-API stellen 8.8.1 Lösung 8.8.2 Ausblick 8.9 Rezept 62: Eine GraphQL-API über HTTP betreiben 8.9.1 Lösung: GraphQL über HTTP betreiben 8.9.2 Lösung: GraphQL über »Express« betreiben 8.9.3 Lösung: GraphQL über den Apollo Server betreiben 8.9.4 Ausblick 8.10 Zusammenfassung 9 Sockets und Messaging 9.1 Rezept 63: Einen TCP-Server erstellen 9.1.1 Lösung 9.1.2 Ausblick 9.2 Rezept 64: Einen TCP-Client erstellen 9.2.1 Lösung 9.2.2 Ausblick 9.3 Rezept 65: Einen WebSocket-Server erstellen 9.3.1 Lösung 9.3.2 Ausblick 9.4 Rezept 66: Einen WebSocket-Client erstellen 9.4.1 Lösung 9.4.2 Ausblick 9.5 Rezept 67: Nachrichtenformate für WebSocket- Kommunikation definieren 9.5.1 Lösung 9.5.2 Ausblick 9.6 Rezept 68: Subprotokolle für WebSocket-Kommunikation definieren 9.6.1 Lösung 9.6.2 Ausblick 9.7 Rezept 69: Server-Sent Events generieren 9.7.1 Lösung: die Server-Seite implementieren 9.7.2 Lösung: die Client-Seite implementieren 9.7.3 Ausblick 9.8 Rezept 70: Über AMQP auf RabbitMQ zugreifen 9.8.1 Exkurs: Messaging 9.8.2 Einführung: AMQP 9.8.3 Installation eines Message-Brokers für AMQP 9.8.4 Lösung 9.8.5 Ausblick 9.9 Rezept 71: Einen MQTT-Broker erstellen 9.9.1 Exkurs: das Nachrichtenprotokoll MQTT 9.9.2 Lösung: einen MQTT-Broker installieren 9.9.3 Lösung: einen MQTT-Broker über Node.js starten 9.9.4 Ausblick 9.10 Rezept 72: Über MQTT auf einen MQTT-Broker zugreifen 9.10.1 Lösung: einen MQTT-Client verwenden 9.10.2 Ausblick 9.11 Rezept 73: E-Mails versenden 9.11.1 Lösung 9.11.2 Ausblick 9.12 Zusammenfassung 10 Testing und TypeScript 10.1 Rezept 74: Unit-Tests schreiben 10.1.1 Exkurs: Unit-Tests und testgetriebene Entwicklung 10.1.2 Lösung: Unit-Test mit »Jest« schreiben 10.1.3 Ausblick 10.2 Rezept 75: Unit-Tests automatisch neu ausführen 10.2.1 Lösung 10.2.2 Ausblick 10.3 Rezept 76: Die Testabdeckung ermitteln 10.3.1 Lösung 10.3.2 Ausblick 10.4 Rezept 77: Unit-Tests für REST-APIs implementieren 10.4.1 Lösung 10.4.2 Ausblick 10.5 Rezept 78: Eine Node.js-Applikation in TypeScript implementieren 10.5.1 Lösung 10.5.2 Ausblick 10.6 Rezept 79: TypeScript-basierte Applikationen automatisch neu kompilieren 10.6.1 Lösung 10.6.2 Ausblick 10.7 Zusammenfassung 11 Skalierung, Performance und Sicherheit 11.1 Rezept 80: Externe Anwendungen als Unterprozess ausführen 11.1.1 Exkurs: Multithreading vs. Multiprocessing 11.1.2 Lösung 11.1.3 Ausblick 11.2 Rezept 81: Externe Anwendungen als Stream verarbeiten 11.2.1 Lösung 11.2.2 Ausblick 11.3 Rezept 82: Node.js-Applikationen als Unterprozess aufrufen 11.3.1 Lösung 11.3.2 Ausblick 11.4 Rezept 83: Eine Node.js-Anwendung clustern 11.4.1 Lösung 11.4.2 Ausblick 11.5 Rezept 84: Unterprozesse über einen Prozessmanager verwalten 11.5.1 Lösung 11.5.2 Ausblick 11.6 Rezept 85: Systeminformationen, CPU-Auslastung und Speicherverbrauch ermitteln 11.6.1 Lösung: Systeminformationen, CPU-Auslastung und Speicherverbrauch ermitteln mit der Standard-Node.js-API 11.6.2 Lösung: Systeminformationen, CPU-Auslastung und Speicherverbrauch ermitteln mit »systeminformation« 11.6.3 Ausblick 11.7 Rezept 86: Speicherprobleme identifizieren 11.7.1 Lösung 11.7.2 Ausblick 11.8 Rezept 87: CPU-Probleme identifizieren 11.8.1 Lösung 11.8.2 Ausblick 11.9 Rezept 88: Schwachstellen von verwendeten Abhängigkeiten erkennen 11.9.1 Lösung: Schwachstellen erkennen mit npm 11.9.2 Lösung: Schwachstellen automatisch beheben mit npm 11.9.3 Lösung: Schwachstellen erkennen mit Third-Party-Tools 11.9.4 Lösung: Schwachstellen erkennen mit »Snyk« 11.9.5 Lösung: Schwachstellen erkennen mit »Retire.js« 11.9.6 Ausblick 11.10 Rezept 89: JavaScript dynamisch laden und ausführen 11.10.1 Einführung 11.10.2 Keine Lösung: JavaScript mit eval() ausführen 11.10.3 Lösung: JavaScript mit »vm« ausführen 11.10.4 Lösung: JavaScript mit »vm2« ausführen 11.10.5 Ausblick 11.11 Zusammenfassung 12 Native Module 12.1 Rezept 90: Native Node.js-Module mit der V8-API erstellen 12.1.1 Lösung 12.1.2 Ausblick 12.2 Rezept 91: Native Node.js-Module mit der NAN-API erstellen 12.2.1 Lösung 12.2.2 Ausblick 12.3 Rezept 92: Native Node.js-Module mit der N-API erstellen 12.3.1 Lösung 12.3.2 Ausblick 12.4 Rezept 93: Werte und Objekte zurückgeben mit der N-API 12.4.1 Lösung 12.4.2 Ausblick 12.5 Rezept 94: Callbacks aufrufen mit der N-API 12.5.1 Lösung 12.5.2 Ausblick 12.6 Rezept 95: Promises zurückgeben mit der N-API 12.6.1 Lösung 12.6.2 Ausblick 12.7 Rezept 96: Assertions verwenden mit der N-API 12.7.1 Lösung 12.7.2 Ausblick 12.8 Rezept 97: Native Node.js-Module debuggen 12.8.1 Lösung 12.8.2 Ausblick 12.9 Zusammenfassung 13 Publishing, Deployment und Microservices 13.1 Rezept 98: Eine private npm-Registry verwenden 13.1.1 Einführung: private npm-Registrys 13.1.2 Lösung: private npm-Registry mit Verdaccio 13.1.3 Lösung: private npm-Registry mit Artefakt-Repositorys 13.1.4 Ausblick 13.2 Rezept 99: Docker verstehen 13.2.1 Einführung 13.2.2 Grundlagen 13.2.3 Node.js unter Docker 13.2.4 Docker-Befehlsreferenz 13.2.5 Docker Compose 13.2.6 Befehlsreferenz Docker Compose 13.2.7 Docker User Interfaces 13.2.8 Ausblick 13.3 Rezept 100: Ein Docker Image für eine Node.js- Applikation erstellen 13.3.1 Lösung 13.3.2 Ausblick 13.4 Rezept 101: Einen Docker-Container starten 13.4.1 Lösung 13.4.2 Ausblick 13.5 Rezept 102: Microservice-Architekturen verstehen 13.5.1 Eigenschaften von Microservice-Architekturen 13.5.2 Technologien bei Microservice-Architekturen 13.5.3 Kommunikation mit Microservices 13.5.4 API Gateways 13.5.5 Ausblick 13.6 Rezept 103: Microservice-Architekturen aufsetzen mit Docker Compose 13.6.1 Lösung 13.6.2 Ausblick 13.7 Rezept 104: Den Quelltext bundeln und komprimieren mit Webpack 13.7.1 Lösung 13.7.2 Ausblick 13.8 Zusammenfassung Anhang: Rezept 105 Index