Mar 14, 2023 | Событийно-ориентированная архитектура и Node.js Events |
Mar 11, 2023 | Реактивное программирование: теория и практика |
Mar 10, 2023 | Как и зачем писать тесты? |
Mar 10, 2023 | Функциональное программирование. Что это и зачем? |
Mar 9, 2023 | Профилирование Node.js-приложений |
Mar 5, 2023 | Docker: что, зачем и почему |
Mar 5, 2023 | Микросервисы или монолит? |
Mar 3, 2023 | Аутентификация, авторизация, идентификация и прочие сложные слова |
Feb 26, 2023 | Управление памятью в JS |
Feb 21, 2023 | Модуль Cluster: как сделать Node.js многопоточным |
Feb 21, 2023 | Proxy и Reflect — зачем и когда? |
Feb 21, 2023 | Встроенные в JS структуры данных: Map/WeakMap, Set/WeakSet |
Feb 20, 2023 | Базы данных: какие бывают, зачем так много, что с ними делать |
Feb 20, 2023 | Inversion of Control и Dependency Injection — что и зачем. Максимально коротко. |
Feb 20, 2023 | Транспортный уровень — протоколы TCP, UDP и все такое. Максимально просто (я старался) |
Feb 20, 2023 | Немного о монадах в JavaScript |
Feb 20, 2023 | Генераторы в JS — что это, зачем это и почему это красиво |
Feb 7, 2023 | SOLID, GRASP и другие принципы разработки |
Feb 6, 2023 | Как работает HTTP: разбор в деталях |
Feb 3, 2023 | Прототипное наследование в JS |
Feb 3, 2023 | Контекст выполнения функции (this) в JS |
Feb 3, 2023 | Асинхронность в JavaScript: практика и теория |