Revision 349: Serverseitige Entwicklung mit Node
Working Draft - En podcast af Vanessa Otto, Peter Kröner, Hans Christian Reinl, Stefan Baumgartner, Christian »Schepp« Schaefer - Tirsdage
Kategorier:
Der Schepp, Rodney und Hans sprechen über die Entwicklung von serverseitigen Applikationen mit Node. UNSER SPONSOR Diese Folge wird gesponsert vom neuen CV-Tool “GravityCV”, für einfaches, flexibles und schnelles erstellen und versenden Deines Lebenslaufs. “GravityCV” – Professionelles Design & hoher Datenschutz für dein CV. Kostenlos anmelden unter gravitycv.com. SCHAUNOTIZEN [00:01:27] CLI TOOLS Selbstgeschriebene Command Line Interface (CLI) Tools sind hilfreich, wenn man viel auf der Command Line unterwegs ist. Mit Node kann man eigene Tools sehr einfach schreiben. Wir erklären wie und welche Module dabei helfen können. Hier eine Auswahl der genannten: * Meow – Argument Parsing * opn – Liest einzelne Dateien oder Websites * ora – Aktivitätsindikator (Spinner) * prompt – Abfragen von User-Input * shelljs – Einheitliche Command Line API für Windows, Linux und Mac * as-table – Tabellarische Daten ausgeben * decompress und archiver – Einfacher Umgang mit zip, tar und Co. * keytar – Lokaler Passwort-Speicher Zur Installation eines eigenen CLI kann man einfach ein Paket von NPM installieren oder direkt von GitHub per entsprechendem Command: npm install -g git+ssh://@github.com:username/repository.git [00:20:40] SERVERSEITIGE SERVICES Natürlich sprechen wir auch drüber, wie man einen Service mit Node bauen kann. Wir haben alle mehr oder minder viel Erfahrung damit und diskutieren über unsere Ansätze. Grundsätzlich sind wir der Meinung, dass Services sich immer an die 12 Factors halten sollten. Einige Tools die wir empfehlen: * Express – HTTP Server, Middleware-Pattern * pino (für Express: express-pino-logger) – Serverseitiges Logging * fluentd – Logging auf stdout * Sequelize – ORM Modul für MySQL, MariaDB, Postgres * finale-rest – RESTful Implementierung für Sequelize Models in Express * Passport – Authentifizierungslirary * Helmet – Header Management in Express Apps, hier steht wies geht, hier auch. * dotenv – Configuration einfach verwalten mit einem Dotfile * brakes – Hystrix equivalent in Node zur Umsetzung des CircuitBreaker-Patterns