
Node JS: Продвинутые темы
Выйдите за рамки! Изучите кэширование с помощью Redis, повысьте производительность с помощью кластеризации, добавьте загрузку изображений с помощью S3 и многое другое! Это обязательный курс, если вы работаете с Node.
Выйдите за рамки! Изучите кэширование с помощью Redis, повысьте производительность с помощью кластеризации, добавьте загрузку изображений с помощью S3 и многое другое! Это обязательный курс, если вы работаете с Node.
Этот курс поднимет ваши компоненты на новые уровни с помощью этих продвинутых паттернов, лекций и упражнений и многого другого. Нет лучшего способа изучить паттерны, используемые авторами библиотеки React, что сделает ваши компоненты необычайно многоразовыми, а ваши приложения более декларативными. Вы сразу же найдете где все это можно будет приментить в своих приложениях React и сделаете свой код потрясающим.
Узнайте как вы можете использовать ramda.js для приведения функциональных концепций программирования в свой код JavaScript. Ramda предлагает удобство и неизменность прямо из коробки, поэтому вы можете оставить свой императивный код и создать более чистый и более удобный код.
Все вычислительные системы следуют определенным правилам, как в теории, так и на практике, в сферах как информатики, так и повседневного программирования. За полтора часа плотных скринкастов мы получим представление высокого уровня по основным вычислительным темам, продемонстрированным с использованием кода, а не математического обозначения.
Мы создаем функции 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, который мы можем выполнить. Большинство компиляторов сильно оптимизированы для скорости, но наши оптимизированы для удобства чтения и понимания.