CategoryDokumentace

NodeJS: hlouběji do králičí nory

Pokud to s NodeJS myslíte opravdu vážně, pak by vás určitě neměli minimout minimálně tyhle 2 témta.

Event loop

NodeJS Internals

Prosím, berte to jako pozvánku do králičí nory. Pokus otevřít dveře vedoucí k hlubšímu poznání věci vedoucí ke kvalitnějšímu kódu a kontrolovaně padajícím aplikacím…

MongoDB: $expr

MongoDB od verze 3.6 umí expressions, které, pokud jste je chtěli využívat, tak doposud jen přes agregační framework.

$expr vám umožní sestavit dotaz, ve kterém můžete porovnávat pole, klíče toho stjeného dokumentu v prohledávané kolekci, stejně jako $match v agregaci.

Příklad

Dejme tomu, že máme kolekci s následujícími dokumety:

A dejme tomu, že chceme s kolekce získat jen ty dokumenty, kde spent je větší než budget. To zní logicky a jednoduše, ne?

Špatná zpráva, tedy až doposud: bez agregace jen jednoduchým query tohle nejde.

Od verze 3.6 díky $expr ano 😀

Výsledkem pak bude následující pole dokumentů:

Holla!

Zdroj: MongoDB dokumentace

NodeJS dokumentace

Určitě všichni máte přečtenou online dokumentaci k NodeJS. No ale pokud ne a chtěli byste si ji přečíst s vaší přítelkyní, nebo kamarádem, třeba někde u vody, nebo kdekoliv bez připojení na Internet, pak doporučuji stáhnout si její offline verzi.

Var dump v JavaScriptu, TypeScriptu

Řekněme, že máte nějakou strukturovanou proměnou.

… nebo jakoukoliv jinou…

A pak byste chtěli nějak jednoduše debugovat, řekněme, že stačí jen vypisovat do konzole:

Výstupem pak bude, v tom lepším případě, že máte nějaký lepší shell a dobře jej nakonfigurovaný, toto:

Alternativně můžete použít funci JSON.stringify

Abyste pak dostali toto:

Ale tohle už nené object, ale JSON….

A tím jsme nejzákladnější možnosti vyčerpali…

Dobrou zprávou je, že přímo v jednom z core balíčku NodeJS utils existuje funkce inspect, která vaše možnosti dál výnamně rozšiřuje.
Její základní použití:

A výsledek pak vypadá následovně:

Přidáním sorted a compact získáte pěkný a abecedně seřazený výstup:

Dokumentaci k funkci najdete zde.

NodeJS: neodchycené výjimky

Premisa 1: JavaScript, potažmo TypeScript, je komplexní, mocný programovací jazyk. Krom všeho možného 🙂
Premisa 2: všichni děláme chyby…

Je dobré o chybách vědět.
A to je cílem tohoto kódu:

Tento krátký kód se postará o obsluhu všech neodchycených výjimek kdekoliv v aplikaci. A proto je dobré jej umístit někam do míst startu aplikace, aby vše, co je španě, někde nepropadlo. V samotné funkci obsluhy výjimky pak může být cokoliv co vám dává smysl: výstup do konsole, notifikace někam přes sít, či cokoliv jiného co vám dává smysl.

Více zde.

The BASH Guide

http://guide.bash.academy

JWT: JSON Web Token

jwt-handbook (PDF)

Reference Cards for MongoDB

Reference Cards for MongoDB (PDF format)

SQL Queries Succinctly

SQL Queries Succinctly (v PDF)

NodeJS, Module patterns

NodeJS Module Patterns

© 2018 pepa.holla.cz

Theme by Anders NorénUp ↑