Доклад

Node.js: Меньше сложности, больше надежности

  • На русском языке
Презентация pdf

Вы точно не знаете всех встроенных возможностей платформы, которые сделаны хорошо, и используете внешние зависимости, которые устарели и написаны гораздо хуже. Похоже на вас? Давайте посмотрим на fs, v8, vm, child_process, worker_threads, async_hooks, crypto, undici и забудем про axios, express, lodash, async.js, bcrypt, argon2, mkdirp, bluebird, socket.io, и др.

Вы не думаете про безопасность и надежность — давайте узнаем про роутинг запросов без ReDOS-уязвимостей и Path traversal, изоляцию контекстов исполнения запросов друг от друга. Вспомним про XSS, SQL инъекции, CSRF, поговорим про обработку ошибок на колбэках и промисах, которые вы часто игнорируете. Обсудим утечки памяти и других ресурсов, race condition и dead locks, которые у вас на каждом шагу в однопоточном JavaScript, а вы боретесь с ними рестартом процесса, не догадываясь, что происходит.

Вы используете навязанные вам архитектурные и структурные антипаттерны, такие как middleware, shared/global state, смешивание слоев абстракций, нарушение закона Деметры и принципов DDD. У вас контексты запросов req и res проникают в код предметной области и код, работающий с базой данных, потому что нужно помнить про GRASP и SOLID, применять GoF и чистую архитектуру.

Давайте писать framework agnostic-код, вытесним фреймворки и зависимости в детали реализации.

  • #node.js

Спикеры

Приглашенные эксперты

Доклады