Node.TLV 2020: Report z mezinárodní konference v Izraeli
Na začátku března (týden před uzavřením izraelských hranic) jsem se zúčastnil mezinárodní konference Node.TLV v izraelském Tel Avivu. Někoho možná překvapí, že Izrael je technologickou zemí, kde sídlí mnoho softwarových společností, vzniká zde spousta startupů a IT je jedním z hlavních ekonomických odvětví. Důkazem je také to, že v posledních několika letech hostí velké množství technologických konferencí jako například chatbot summit nebo react next. Node.TLV nicméně byla první akcí svého druhu a na své si přišli konečně i pokročilí backendisté.
Jelikož hrazené návštěvy konferencí jsou jedním z benefitů, které v Ackee máme, využil jsem příležitosti a spojil návštěvu Node.TLV s dovolenou. V Tel Avivu jsem strávil 5 dní v příjemném slunečném počasí a zhruba 25°C. Samotná konference se konala v hotelu Intercontinental David, kde probíhá většina konferencí, a který je mimochodem vzdálený zhruba 300 metrů od pláže.
Konference byla celodenní a kromě skvělého občerstvení obsahovala velmi zajímavé přednášky (některé záznamy naleznete na YouTube). Jelikož je Ackee agentura, kde se setkáváme s velkým množstvím problémů, tak pro mě většina z 22 představených témat nebyla žádnou novinkou. Z jedenácti přednášek, které jsem měl možnost si poslechnout, mě nejvíce zaujaly následující tři:
3) I Want to Publish My First Open Source Library
Tuto přednášku vedl Tomas Della Vedova, který je autorem známého frameworku Fastify. Ve svých 25 minutách shrnul best practices v oblasti tvorby open source balíků. Za důležité považuje psaní testů, vedení changelogu, psaní dokumentace a komentářů do zdrojového kódu. Nakonec, aby se balík dostal k co nejvíce uživatelům, je potřeba o něm mluvit na konferencích nebo meetupech, případně jej sdílet na Twitteru nebo zasílat v newsletterech.
2) ES Modules in Node.js
Přednáška Gila Tayara se mi velmi líbila hlavně proto, že přednášející nemluvil o tom, co jsou to ES moduly, ale proč trvalo tak dlouho, než se v Node.js staly funkčními. Důvodem jsou právě rozdíly mezi ES moduly (ESM) a Common JS. Konkrétně tedy ESM je striktní, ESM je kompatibilní s prohlížeči, ESM importované soubory pouze načítá, parsuje a binduje, což znamená, že pokud parsování nebo bindování selže, dostaneme chybu ještě před jakýmkoliv spuštěním. Posledním hlavním rozdílem je to, že ESM je asynchronní, což znamená paralelní načítání, bindování a parsování souborů nebo také náš již velmi očekávaný top level await.
1) Black Clouds and Silver Linings in Node.js Security
Přednáška odborníka na bezpečnost a zaměstnance společnosti Snyk mě zaujala nejvíc. Řeč byla hlavně o problémech souvisejících s NPM, které je největším registrem balíčků, což mimo jiné znamená dobré místo pro útočníky. Problémem NPM může být například fakt, že nemusíte mít veřejný repozitář, například na GitHubu, abyste mohli vydat svůj balík. Dále zde ukazuje reálné příklady hrozeb a útoků jako je třeba typosquatting útok, případně nějaká odcizení NPM účtů shrnuté v číslech.
Obecně konferenci Node.TLV hodnotím velmi kladně a rozhodně bych ji doporučil. Všichni přednášející měli bohaté zkušenosti a rychle reagovali na dotazy publika. Pochvalu si zaslouží také organizátoři, kteří velmi dobře zvolili místo pro pořádání akce: Prostory byly dostatečně velké a 800 účastníků z celého světa nabídly pohodlí jak v samotných sálech, tak předsálích, kde bylo několik relax zón přizpůsobených networkingu (skládání puzzlí nebo řešení hlavolamů), stánky sponzorů nebo bary s občerstvením. Nedaleko hotelu je pak krásný park s pláží, kde můžete skvěle pozorovat západ slunce, který je navíc – na rozdíl od organizátory pořádaných večeří a výletů k Mrtvému moři nebo do Starého města – pro všechny zdarma. :)