
Node JS: Продвинутые темы
Выйдите за рамки! Изучите кэширование с помощью Redis, повысьте производительность с помощью кластеризации, добавьте загрузку изображений с помощью S3 и многое другое! Это обязательный курс, если вы работаете с Node.


Выйдите за рамки! Изучите кэширование с помощью Redis, повысьте производительность с помощью кластеризации, добавьте загрузку изображений с помощью S3 и многое другое! Это обязательный курс, если вы работаете с Node.

Мы создаем функции malloc () и free () с нуля, видя, как на самом деле работает распределение памяти. Этот скринкаст сделан полностью на C, но все в порядке, если вы не знаете C; мы представим необходимые идеи по мере продвижения.

Мы создаем HTTP-сервер, который может обслуживать статические файлы с диска, а также динамические приложения в стиле cgi-bin. Компонент сетевого сервера создается с использованием системных вызовов сокетов (socket, setsockopt, bind, listen и accept), а не с использованием предварительно созданных TCP-серверов, доступных в стандартной библиотеке Ruby.

Мы создаем Shell в стиле оболочки Bourne, Bash, zsh и тд. Она поддерживает (1) выполнение команд с произвольным числом аргументов, (2) цитирование этих аргументов и (3) объединение команд в произвольно длинные конвейеры, вывод одной команды становится входом следующей. Для этого требуется написать парсер, который мы делаем с Parslet, библиотекой парсеров PEG.

Мы создаем текстовый редактор с нуля. Он включает в себя базовое текстовое редактирование: перемещение курсора, ввод текста, backspacing а также крок назад.

Мы создаем автономный компрессор данных и декомпрессор с нуля. Схема сжатия основана на Huffman coding, который используется в gzip, zip и многих других форматах сжатия. Не требуется предварительного знания Huffman coding или сжатия данных. Исходный код, включая вспомогательные файлы, не показанные в скринкасте, доступен в GitHub.

Мы строим небольшой компилятор из стандартных компонентов: токенизатор, анализатор и генератор кода. К концу мы успешно скомпилируем некоторый код на нашем языке, создавая вывод JavaScript, который мы можем выполнить. Большинство компиляторов сильно оптимизированы для скорости, но наши оптимизированы для удобства чтения и понимания.

Мы делаем веб-фреймвор «с нуля». Он будет выполнять маршрутизацию HTTP-запросов, рендеринг шаблонов, доступ к базе данных, проверку форм и многое другое. Каждая часть дизайна будет определяться потребностями примерного приложения.

В этом курсе: Сделаем CRUD с NODE.js, использование MongoDB в Node, Node validation и сообщения. На выходе мы построим систему управления событиями.

В этом курсе мы узнаем как обрабатывать запросы от пользователей, как использовать middleware, обрабатывать маршруты GET / POST, построим чистую структуру маршрутизации в приложении Node. Также мы поговорим о масштабируемой маршрутизации в Node.js.