the native web
Node.js
Learning
Learning Node.js empowers you to build lightweight web and cloud backends. This entirely free video course guides you on your journey.
techlounge-nodejs

Node.js – JavaScript for the backend

Node.js is a server-side JavaScript runtime environment that lets you develop and run scalable, high-performance, real-time web and cloud applications and APIs. This video course takes you from the first installation of Node.js and its configuration via writing web APIs and accessing the file system to understanding asynchronous code, analysing and testing your code, and much more. If you need any further guidance or support, we provide consulting, workshops, and development services.

Diversity

Human in front of world
To learn Node.js there is a variety of amazing resources on the web – at least, if you speak English. As we want to improve the diversity of languages and to raise inclusion, we produce these videos in German.

Free forever

Present
Everyone working at the native web has learned so much for free in their lives that we believe it is fair to give something in return. That's why we provide the tech:lounge video courses for free, forever.

Let's get in touch

Speech bubbles
We would like to get to know you, and to learn about your current situation. Together, we can figure out how to empower you, and find answers to your individual visions, ideas, and questions. Let's get in touch!

Welcome to Node.js

We welcome you to the free tech:lounge video course on Node.js. The first episode introduces you to this course and guides your first steps on your journey to learn Node.js. All further videos can be found in the playlist below. This course as well as other interesting courses are also available directly on our YouTube channel. We always look forward to questions and feedbacks, and we would be more than happy about positive reviews or comments. For anything else, let's get in touch!

Folge 1: Node.js installierenPlay
Folge 1: Node.js installieren (25:18)
Die Installation von Node.js scheint auf den ersten Blick ein Selbstläufer zu sein. Doch was, wenn man mehrere Versionen von Node.js parallel installieren und zwischen diesen wechseln möchte?
Veröffentlicht am 7. Januar 2017

Playlist

Folge 1: Node.js installierenPlay
Folge 1: Node.js installieren (25:18)
Die Installation von Node.js scheint auf den ersten Blick ein Selbstläufer zu sein. Doch was, wenn man mehrere Versionen von Node.js parallel installieren und zwischen diesen wechseln möchte?
Veröffentlicht am 7. Januar 2017
Folge 2: Erste SchrittePlay
Folge 2: Erste Schritte (28:43)
Ein typisches Anwendungsgebiet für Node.js ist das Entwickeln serverseitiger Webanwendungen. Für einen einfachen Webserver genügen einige wenige Codezeilen. Bereits an diesem simplen Beispiel lassen sich einige grundlegende Konzepte von Node.js erklären.
Veröffentlicht am 14. Januar 2017
Folge 3: Module verwendenPlay
Folge 3: Module verwenden (47:21)
Der kompakte Kern von Node.js ist Vor- und Nachteil zugleich: Während er der Reife und Stabilität zuträglich ist, fehlt der Laufzeitumgebung dadurch zugleich eine umfangreiche Standardbibliothek. Diese Aufgabe übernehmen stattdessen hunderttausende Module aus der Community. Wie funktioniert das?
Veröffentlicht am 21. Januar 2017
Folge 4: Web-APIs entwickelnPlay
Folge 4: Web-APIs entwickeln (51:30)
Node.js eignet sich hervorragend, um Web-APIs zu entwickeln. Die Grundlage dazu stellt das Modul Express zur Verfügung, das sich um das Verwalten von Routen, Parametern und Co. kümmert. Außerdem lassen sich Erweiterungen für Express schreiben. Wie funktioniert das?
Veröffentlicht am 28. Januar 2017
Folge 5: MiddlewarePlay
Folge 5: Middleware (45:03)
Express enthält die Basisfunktionen für das Entwickeln von Web-APIs. Zum Erweitern der Funktionalität kennt Express das Konzept der Middleware, die Cross-Cutting-Concerns behandeln. Einige der verfügbaren Middleware-Module benötigt man immer wieder, unter anderem für Cookies, Sessionhandling & Co. - ein Überblick.
Veröffentlicht am 4. Februar 2017
Folge 6: Auf das Dateisystem zugreifenPlay
Folge 6: Auf das Dateisystem zugreifen (54:56)
Kaum eine Anwendung kommt ohne Zugriff auf das Dateisystem aus. Für das Laden von JavaScript- und JSON-Dateien lässt sich zwar die require-Funktion verwenden, doch für andere Dateitypen werden andere Funktionen benötigt. Wie funktioniert das, und wie geht man mit Pfaden, Encodings & Co. um?
Veröffentlicht am 11. Februar 2017
Folge 7: Callbacks verstehenPlay
Folge 7: Callbacks verstehen (01:05:30)
In Node.js gehört der Umgang mit asynchronem Code zum Alltag. Dazu greift man in der Regel auf den Einsatz von Callbacks zurück. Doch der Umkehrschluss gilt nicht: Nicht alle Callbacks sind asynchron. Woran erkennt man asynchrone Callbacks und worauf gilt es bei ihrer Verwendung zu achten?
Veröffentlicht am 18. Februar 2017
Folge 8: Events auslösen und verarbeitenPlay
Folge 8: Events auslösen und verarbeiten (56:49)
Für die asynchrone Programmierung verwendet Node.js das Konzept der Callbacks. Allerdings gibt es Szenarien, wo andere Sprachmerkmale vorzuziehen sind. Das gilt beispielsweise dann, wenn etwas einfach passiert, ohne voriges Zutun des Entwicklers. Zu dem Zweck kennt Node.js Events. Wie funktionieren sie und was gilt es zu beachten?
Veröffentlicht am 26. Februar 2017
Folge 9: Datenbanken ansprechen (NoSQL)Play
Folge 9: Datenbanken ansprechen (NoSQL) (51:27)
JavaScript lässt sich nicht nur im Browser und auf dem Webserver einsetzen. Auch Infrastrukturdienste wie Datenbanken, Message-Queues, Caches & Co. verstehen die Sprache zunehmend und beherrschen JSON als Datenformat. Die NoSQL-Datenbank MongoDB war eine der ersten dieser Art. Wie funktioniert der Zugriff auf MongoDB?
Veröffentlicht am 4. März 2017
Folge 10: PraxisbeispielPlay
Folge 10: Praxisbeispiel (01:39:07)
Express und Middleware, Callbacks und Events, der Zugriff auf das Dateisystem und MongoDB sind inzwischen bekannt. Doch wie entsteht aus all den einzelnen Bausteinen eine integrierte Anwendung? Ein Praxisbeispiel zeigt Schritt für Schritt, wie man eine Anwendung in Node.js entwickelt und strukturiert.
Veröffentlicht am 11. März 2017
Folge 11: Code analysierenPlay
Folge 11: Code analysieren (55:21)
Der gleiche Code kann unterschiedlich aussehen. Das beginnt bei der Formatierung und dem verwendeten Stil, führt dann zur Wahl der Sprachkonstrukte, und endet schließlich bei der Frage, wie Elemente zu bezeichnen sind. Pair-Programming und Codereviews sind zwei Möglichkeiten, für einheitlichen Code zu sorgen. Wie lässt sich das durch Werkzeuge unterstützen?
Veröffentlicht am 19. März 2017
Folge 12: Unit-Tests schreibenPlay
Folge 12: Unit-Tests schreiben (01:16:15)
Für das Erreichen einer hohen Codequalität sind Unit-Tests nahezu unverzichtbar. Zum Schreiben und Ausführen der Tests stehen verschiedene Frameworks zur Auswahl, unter anderem Mocha. Wie funktioniert es?
Veröffentlicht am 25. März 2017
Folge 13: HTTPS und HTTP/2Play
Folge 13: HTTPS und HTTP/2 (34:14)
Die Protokolle HTTPS und HTTP/2 gewinnen zunehmend an Relevanz, weil sie die übertragenen Daten verschlüsseln und die Identität des Servers verifizieren. Darüber hinaus bietet HTTP/2 einige praktische Funktionen, beispielsweise das Multiplexing von Verbindungen. Wie lassen sich die beiden Protokolle in Node.js verwenden?
Veröffentlicht am 2. April 2017
Folge 14: WebsocketsPlay
Folge 14: Websockets (36:16)
Websockets sind ein TCP-basiertes Netzwerkprotokoll, das eine dauerhafte und bidirektionale Verbindung zwischen Client und Server ermöglicht. Auf dem Weg lassen sich beispielsweise Push-Nachrichten zeitnah zustellen, ohne aufwändiges Polling betreiben zu müssen. Wie funktioniert das unter Node.js?
Veröffentlicht am 8. April 2017
Folge 15: Integration-Tests schreibenPlay
Folge 15: Integration-Tests schreiben (58:19)
Unit-Tests überprüfen einzelne Funktionseinheiten isoliert, Integration-Tests hingegen prüfen das Zusammenspiel verschiedener Komponenten im Verbund. Allerdings haben sie häufig auch externe Abhängigkeiten, beispielsweise auf das Dateisystem oder das Netzwerk. Wie lassen sich solche Tests in Node.js schreiben?
Veröffentlicht am 23. April 2017
Folge 16: Node.js und DockerPlay
Folge 16: Node.js und Docker (01:10:03)
Für das Deployment einer in Node.js entwickelten Anwendung gilt es verschiedene Herausforderungen zu meistern. Eine der wichtigsten Aspekte ist das Erstellen einer auf Tastendruck reproduzierbaren Installation. Die Container-Plattform Docker kann helfen, das Ziel zu erreichen.
Veröffentlicht am 30. April 2017
Folge 17: Streams verwendenPlay
Folge 17: Streams verwenden (54:06)
Der in der Community bekannte Entwickler Dominic Tarr hat einmal gesagt, Streams seien das beste und zugleich das am wenigsten verstandene Konzept von Node.js. Daher lohnt es sich, die Grundlagen von Streams kennenzulernen. Wie funktionieren Streams, was können sie leisten, und worauf gilt es zu achten?
Veröffentlicht am 7. Mai 2017
Folge 18: Eigene Streams schreibenPlay
Folge 18: Eigene Streams schreiben (42:39)
Zusätzlich zu den in Node.js integrierten Streams lassen sich auch eigene schreiben. Zur Wahl stehen außer les- und scheibbaren Streams auch die sogenannten Transform-Streams, die Daten verändern und aggregieren können. Wie funktioniert das?
Veröffentlicht am 14. Mai 2017
Folge 19: Dokumentation schreibenPlay
Folge 19: Dokumentation schreiben (40:40)
Das Schreiben von Dokumentation gehört zu den eher wenig geliebten Aufgaben von Entwicklern. Trotzdem ist das Thema wichtig, denn eine gute Dokumentation erleichtert die Arbeit mit einer Komponente dramatisch. Wie funktioniert das im Kontext von Node.js?
Veröffentlicht am 16. Juli 2017
Folge 20: PraxisbeispielPlay
Folge 20: Praxisbeispiel (01:28:55)
Die vergangenen Folgen haben unter anderem HTTP/2 und Streams vorgestellt und gezeigt, wie Codeanalyse und Tests in Node.js funktionieren. Doch wie lassen sich die einzelnen Bausteine zu einem großen Ganzen kombinieren? Ein Praxisbeispiel zeigt das Zusammenspiel.
Veröffentlicht am 22. Juli 2017
Folge 21: Daten verschlüsselnPlay
Folge 21: Daten verschlüsseln (44:58)
Das Verschlüsseln von Daten gewinnt zunehmend an Bedeutung. Node.js greift zu dem Zweck auf OpenSSL zurück und unterstützt sowohl die symmetrische als auch die asymmetrische Verschlüsselung. Darüber hinaus weiß es auch mit digitalen Signaturen, Hashfunktionen & Co. umzugehen. Wie funktioniert das?
Veröffentlicht am 30. Juli 2017
Folge 22: CLI-AnwendungenPlay
Folge 22: CLI-Anwendungen (52:55)
Node.js wird in der Regel als Laufzeitumgebung für Webanwendungen verwendet. Doch es eignet sich auch für andere Arten von Anwendungen wie Konsolenprogramme. Das wirft jedoch eine Reihe von Problemen auf, von der Analyse der Parameter bis zur Ausgabe der Hilfe. Wie lässt sich das bewerkstelligen?
Veröffentlicht am 7. August 2017
Folge 23: Child-ProzessePlay
Folge 23: Child-Prozesse (29:32)
In zahlreichen Anwendungen besteht die Anforderung, andere Anwendungen als Child-Prozesse zu starten. Zu dem Zweck enthält Node.js das Modul child_process. Allerdings ist Vorsicht geboten, denn das Modul führt rasch zu plattformabhängigem Code. Wie lässt sich das Problem anders lösen?
Veröffentlicht am 11. August 2017
Folge 24: Let's code (typedescriptor)Play
Folge 24: Let's code (typedescriptor) (01:21:40)
Der typeof-Operator von JavaScript hat einige Schwächen: Er kann beispielsweise nicht zwischen Objekten und Arrays unterscheiden, und identifiziert null fälschlicherweise als Objekt. Abhilfe schafft ein eigenes Modul, das Typen verlässlich identifiziert und beschreibt.
Veröffentlicht am 24. Februar 2019
Folge 25: Let's code (is-subset-of)Play
Folge 25: Let's code (is-subset-of) (01:55:57)
Will man in JavaScript wissen, ob ein Array oder ein Objekt eine Teilmenge eines anderen Arrays oder eines anderen Objekts ist, lässt sich das nicht einfach herausfinden – erst recht nicht, wenn eine rekursive Analyse gewünscht ist. Warum also nicht ein Modul zu dem Zweck entwickeln?
Veröffentlicht am 2. März 2019
Folge 26: Let's code (comparejs)Play
Folge 26: Let's code (comparejs) (01:56:08)
JavaScript verfügt – wie auch andere Programmiersprachen – über Operatoren zum Vergleichen von Werten. Leider läuft ihre Funktionsweise häufig der Intuition zuwider. Warum also nicht die Vergleichsoperatoren in Form eines Moduls neu schreiben und dabei auf vorhersagbares Verhalten achten?
Veröffentlicht am 10. März 2019

Workshops

Learn about the advantages of Node.js and its benefits for your project. Become an expert in designing scalable web and cloud architecture. Learn how to use the Node.js APIs and navigate in the npm ecosystem. Write high-quality code that is immediately ready for CI / CD. And finally, run Node.js in production. You can learn all of this in our workshops, which of course are also available tailor-made, suitable to your individual needs – remote or on-site. Let's get in touch!

On demand – remote or on-site

You define place and time

An advanced deep-dive into Node.js

In English or German

Learn how to build professional web and cloud applications and grasp Node.js in all its details. In a small group you will experience the theoretical basics as well as the hands-on usage.

This workshop includes

  • Installing and configuring Node.js
  • Using HTTP, TCP, and accessing the file system
  • Understanding asynchronous code
  • Consuming and publishing npm modules
  • Analysing and testing your code
  • Connecting to databases and services
  • Deploying into production
  • And much more…
Hannes Leutloff
Hannes Leutloff
Let's get in touch

On demand – remote or on-site

You define place and time

Building modern web APIs with Node.js

In English or German

Learn how to develop scalable APIs that integrate perfectly with your existing architecture and infrastructure. In a small group you will experience the theoretical basics as well as the hands-on usage.

This workshop includes

  • Using Express, middleware & co.
  • Sending and receiving JSON via REST
  • Authenticating and authorizing users
  • Integrating with single-sign on (SSO)
  • Streaming data and pushing notifications
  • Building micro-services
  • Securing APIs using HTTPS and OpenID Connect
  • And much more…
Golo Roden
Golo Roden
Let's get in touch

On demand – remote or on-site

You define place and time

Your individual Node.js workshop

In English or German

Do you need an individual Node.js workshop? In close collaboration with you we setup a tailor-made agenda that addresses what's most important to your individual project requirements.

This workshop includes

  • Tailor-made agenda
  • Balanced mix of theory and hands-on
  • Your place, your time
  • Close collaboration with the speaker
  • Group size according to your wishes
  • Follow-up support from our experts
  • Everything according to your needs
  • And much more…
Sophie van Sky
Sophie van Sky
Let's get in touch

Contact

If you share our core values and like our approach, we would be more than happy to support you in achieving your goals and visions. To get started, send us a message and tell us about you and your situation, no matter which project phase you are in. We are confident that together we will figure out the right way to help you. Whether you are a start-up or an established corporation, we will shape and provide a tailor-made solution for your individual needs.

Golo Roden

Golo Roden, founder and CTO, is looking forward to receive your message and to get to know you!