Goodbye, Node.js Buffer
Тип Buffer с самого начала был краеугольным камнем для работы с двоичными данными в Node.js. Однако сегодня у нас есть Uint8Array, который является родным типом JavaScript и работает кроссплатформенно. Хотя Buffer является экземпляром Uint8Array, он предоставляет множество методов, которые недоступны в других средах JavaScript. Следовательно, код, использующий методы, специфичные для Buffer, нуждается в полифиллинге, что не позволяет многим ценным пакетам быть совместимыми с браузерами.
https://sindresorhus.com/blog/goodbye-nodejs-buffer
✍️ @nodejs_lib
Тип Buffer с самого начала был краеугольным камнем для работы с двоичными данными в Node.js. Однако сегодня у нас есть Uint8Array, который является родным типом JavaScript и работает кроссплатформенно. Хотя Buffer является экземпляром Uint8Array, он предоставляет множество методов, которые недоступны в других средах JavaScript. Следовательно, код, использующий методы, специфичные для Buffer, нуждается в полифиллинге, что не позволяет многим ценным пакетам быть совместимыми с браузерами.
https://sindresorhus.com/blog/goodbye-nodejs-buffer
✍️ @nodejs_lib
Sindresorhus
Goodbye, Node.js Buffer
It's time to move from Buffer to Uint8Array.
Как создать REST API с помощью Node.js, Express и MySQL
https://github.com/emetdas/Youtube-code/tree/master/rest-api
https://www.youtube.com/watch?v=LdCVLUxcTTA
✍️ @nodejs_lib
https://github.com/emetdas/Youtube-code/tree/master/rest-api
https://www.youtube.com/watch?v=LdCVLUxcTTA
✍️ @nodejs_lib
YouTube
REST API Using Node Express With MySQL
👩💻 Source Code
https://github.com/emetdas/Youtube-code/tree/master/rest-api
👨💻 Hire Me As a Web Designer
https://www.fiverr.com/emet24
🔔 Subscribe for more!
https://www.youtube.com/c/cods-yt
📱 Join Facebook Group
https://www.facebook.com/groups/3072356883017916/…
https://github.com/emetdas/Youtube-code/tree/master/rest-api
👨💻 Hire Me As a Web Designer
https://www.fiverr.com/emet24
🔔 Subscribe for more!
https://www.youtube.com/c/cods-yt
📱 Join Facebook Group
https://www.facebook.com/groups/3072356883017916/…
Как создать проект Node.js + Next.js | Express Backend + Next.js & React Frontend
В этом видео я покажу вам, как создать проект с бэкендом на Node.js и фронтендом на Next.js & React. Мы создадим API бэкенда с помощью Express, который будет возвращать данные, и будем получать их для отображения на фронтенде.
https://youtu.be/5Vxx5UkjV4s?si=9c5rB9HI-Fo0T0el
✍️ @nodejs_lib
В этом видео я покажу вам, как создать проект с бэкендом на Node.js и фронтендом на Next.js & React. Мы создадим API бэкенда с помощью Express, который будет возвращать данные, и будем получать их для отображения на фронтенде.
https://youtu.be/5Vxx5UkjV4s?si=9c5rB9HI-Fo0T0el
✍️ @nodejs_lib
YouTube
How to Create a Node.js + Next.js Project | Express Backend + Next.js & React Frontend
Hey guys, wecome back. In this video, I wil show you guys how to set up a project with a Node.js backend and a Next.js & React frontend. We will set up a backend API using Express that returns data and fetch the data to display it on the frontend.
If you…
If you…
Как использовать тайм-ауты в Node.js
Из-за асинхронной природы Node.js очень важно установить таймауты, чтобы обеспечить отзывчивость вашего приложения.
Таймауты Node.js помогают предотвратить бесконечное ожидание и позволяют вашему бэкенду справляться с ситуациями, когда выполнение задач занимает больше времени, чем ожидалось. Благодаря таймаутам вы можете контролировать максимальную продолжительность входящих и исходящих запросов.
В этой статье мы рассмотрим различные типы таймаутов и способы их установки в ванильных Node.js и Express. Мы также посмотрим, как использовать тайм-ауты в некоторых из самых популярных библиотек Node.js, таких как Axios и Sequelize.
Пришло время узнать, как справляться со сценариями простоя в Node.js!
https://blog.appsignal.com/2023/11/08/how-to-use-timeouts-in-nodejs.html
✍️ @nodejs_lib
Из-за асинхронной природы Node.js очень важно установить таймауты, чтобы обеспечить отзывчивость вашего приложения.
Таймауты Node.js помогают предотвратить бесконечное ожидание и позволяют вашему бэкенду справляться с ситуациями, когда выполнение задач занимает больше времени, чем ожидалось. Благодаря таймаутам вы можете контролировать максимальную продолжительность входящих и исходящих запросов.
В этой статье мы рассмотрим различные типы таймаутов и способы их установки в ванильных Node.js и Express. Мы также посмотрим, как использовать тайм-ауты в некоторых из самых популярных библиотек Node.js, таких как Axios и Sequelize.
Пришло время узнать, как справляться со сценариями простоя в Node.js!
https://blog.appsignal.com/2023/11/08/how-to-use-timeouts-in-nodejs.html
✍️ @nodejs_lib
Переменные окружения в Node.js: полное руководство
В этой статье мы рассмотрим переменные окружения (environment variables). По сути, это пары ключ-значение набора данных, которые хранятся на уровне операционной системы.
В этой статье мы узнаем о переменных окружения в Node.js с примерами. Содержание:
Что такое переменные окружения
Почему переменные окружения важны
Необходимые условия для проекта
Установка Node.js и настройка нового проекта
Инициализация первой переменной окружения в Node.js
Переменные окружения при вызове API / асинхронные задачи
Переменные окружения в операциях с базой данных / асинхронные задачи
Расширенные возможности работы с переменными окружения в Node.js: кодирование, валидация и преобразование типов
Управление секретами и лучшие практики безопасности с примерами
Подводные камни и как их избежать
https://dev.to/alakkadshaw/environment-variables-in-environment-variables-in-nodejs-the-complete-guide-em1
✍️ @nodejs_lib
В этой статье мы рассмотрим переменные окружения (environment variables). По сути, это пары ключ-значение набора данных, которые хранятся на уровне операционной системы.
В этой статье мы узнаем о переменных окружения в Node.js с примерами. Содержание:
Что такое переменные окружения
Почему переменные окружения важны
Необходимые условия для проекта
Установка Node.js и настройка нового проекта
Инициализация первой переменной окружения в Node.js
Переменные окружения при вызове API / асинхронные задачи
Переменные окружения в операциях с базой данных / асинхронные задачи
Расширенные возможности работы с переменными окружения в Node.js: кодирование, валидация и преобразование типов
Управление секретами и лучшие практики безопасности с примерами
Подводные камни и как их избежать
https://dev.to/alakkadshaw/environment-variables-in-environment-variables-in-nodejs-the-complete-guide-em1
✍️ @nodejs_lib
CRC.Conquering.JavaScript.Node.js.pdf
7.7 MB
Conquering JavaScript: Node.js
Автор: Sufyan bin Uzayr (2023)
JavaScript, безусловно, является одним из наиболее известных и распространенных языков программирования на стороне клиента. В последние годы сфера применения JavaScript расширилась, и теперь он используется и для разработки на стороне сервера. Node.js - чрезвычайно популярный JS-фреймворк, предназначенный для быстрой разработки веб-приложений.
Эта книга представляет собой подробное руководство, которое поможет разработчикам и кодерам добиться большего с помощью Node.js. В ней вкратце рассматриваются основы, а затем переходят к более сложным и подробным упражнениям, которые помогут читателю быстро получить необходимые знания.
✍️ @nodejs_lib
Автор: Sufyan bin Uzayr (2023)
JavaScript, безусловно, является одним из наиболее известных и распространенных языков программирования на стороне клиента. В последние годы сфера применения JavaScript расширилась, и теперь он используется и для разработки на стороне сервера. Node.js - чрезвычайно популярный JS-фреймворк, предназначенный для быстрой разработки веб-приложений.
Эта книга представляет собой подробное руководство, которое поможет разработчикам и кодерам добиться большего с помощью Node.js. В ней вкратце рассматриваются основы, а затем переходят к более сложным и подробным упражнениям, которые помогут читателю быстро получить необходимые знания.
✍️ @nodejs_lib
Оптимизация ресурсов в Node.js
В этой статье мы рассмотрим возможности максимального использования возможностей Node.js и поймем преимущества совместного использования ресурсов, опровергая предположение о том, что каждый запрос должен быть изолирован. Присоединяйтесь к нам, чтобы раскрыть весь потенциал Node.js и узнать, как оптимизация ресурсов может повысить производительность и эффективность ваших приложений.
https://medium.com/pipedrive-engineering/resource-optimization-in-node-js-c90c731f9df4
✍️ @nodejs_lib
В этой статье мы рассмотрим возможности максимального использования возможностей Node.js и поймем преимущества совместного использования ресурсов, опровергая предположение о том, что каждый запрос должен быть изолирован. Присоединяйтесь к нам, чтобы раскрыть весь потенциал Node.js и узнать, как оптимизация ресурсов может повысить производительность и эффективность ваших приложений.
https://medium.com/pipedrive-engineering/resource-optimization-in-node-js-c90c731f9df4
✍️ @nodejs_lib
Планирование заданий в Node.js с помощью Agenda: Руководство для начинающих
Планирование задач - важный компонент современных веб-приложений, особенно когда речь идет о ресурсоемких или чувствительных ко времени операциях.
В экосистеме Node.js одним из самых эффективных и универсальных инструментов для этих целей является Agenda. Это легкая, но мощная библиотека, которая упрощает управление фоновыми заданиями, начиная от простых задач вроде периодической рассылки писем и заканчивая более сложными операциями вроде обработки данных и создания отчетов.
https://betterstack.com/community/guides/scaling-nodejs/node-scheduled-tasks/
✍️ @nodejs_lib
Планирование задач - важный компонент современных веб-приложений, особенно когда речь идет о ресурсоемких или чувствительных ко времени операциях.
В экосистеме Node.js одним из самых эффективных и универсальных инструментов для этих целей является Agenda. Это легкая, но мощная библиотека, которая упрощает управление фоновыми заданиями, начиная от простых задач вроде периодической рассылки писем и заканчивая более сложными операциями вроде обработки данных и создания отчетов.
https://betterstack.com/community/guides/scaling-nodejs/node-scheduled-tasks/
✍️ @nodejs_lib
Кто на самом деле пользуется is-odd и is-even?
Разработчики любят подшучивать над раздуванием зависимостей Javascript (и вполне имеют на это право, учитывая историю пакетов наподобие left-pad); при этом часто упоминаются пакеты is-even и is-odd. Поэтому я заинтересовался, кто же на самом деле их использует?
Что такое is-even и is-odd?
В большинстве приложений для выполнения часто встречающихся задач используются общие пакеты, чтобы разработчикам не приходилось переписывать заново код, уже написанный кем-то другим. Такие пакеты часто распространяются через менеджер пакетов (в случае Javascript это npm — node package manager).
https://habr.com/ru/articles/787222/
✍️ @nodejs_lib
Разработчики любят подшучивать над раздуванием зависимостей Javascript (и вполне имеют на это право, учитывая историю пакетов наподобие left-pad); при этом часто упоминаются пакеты is-even и is-odd. Поэтому я заинтересовался, кто же на самом деле их использует?
Что такое is-even и is-odd?
В большинстве приложений для выполнения часто встречающихся задач используются общие пакеты, чтобы разработчикам не приходилось переписывать заново код, уже написанный кем-то другим. Такие пакеты часто распространяются через менеджер пакетов (в случае Javascript это npm — node package manager).
https://habr.com/ru/articles/787222/
✍️ @nodejs_lib
Введение в дебаггинг в Node.Js
В книгах и учебниках по Node.js отладку часто объясняют в конце, и она часто рассматривается как продвинутая техника для опытных разработчиков. Это может привести к разочарованию, когда вы сталкиваетесь с проблемой в самом начале своего пути к написанию кода. Эта статья поможет вам исправить ситуацию и даст все необходимое для отладки кода.
Node.js - это популярная среда выполнения JavaScript с тем же движком V8, который используется в браузере Google Chrome. Она кроссплатформенная и становится все более популярной для создания серверных веб-приложений, инструментов сборки, приложений командной строки и многого другого.
Однако после того, как вы напишете код и запустите его, все будет не так однозначно, если что-то пойдет не так. Если вам повезет, ваш код упадет с очевидным сообщением об ошибке. Если не повезет, приложение запустится, но не выдаст ожидаемых результатов.
https://blog.openreplay.com/an-introduction-to-debugging-in-nodejs/
✍️ @nodejs_lib
В книгах и учебниках по Node.js отладку часто объясняют в конце, и она часто рассматривается как продвинутая техника для опытных разработчиков. Это может привести к разочарованию, когда вы сталкиваетесь с проблемой в самом начале своего пути к написанию кода. Эта статья поможет вам исправить ситуацию и даст все необходимое для отладки кода.
Node.js - это популярная среда выполнения JavaScript с тем же движком V8, который используется в браузере Google Chrome. Она кроссплатформенная и становится все более популярной для создания серверных веб-приложений, инструментов сборки, приложений командной строки и многого другого.
Однако после того, как вы напишете код и запустите его, все будет не так однозначно, если что-то пойдет не так. Если вам повезет, ваш код упадет с очевидным сообщением об ошибке. Если не повезет, приложение запустится, но не выдаст ожидаемых результатов.
https://blog.openreplay.com/an-introduction-to-debugging-in-nodejs/
✍️ @nodejs_lib
Состояние бенчмаркинга в Node.js
Бенчмаркинг становится все более важным по мере того, как мы создаем все больше приложений и инструментов для таких сред исполнения, как Node.js и Bun. Эта статья посвящена макро- и микробенчмаркингу и рассматривает варианты, которые мы можем использовать уже сегодня. Статья включает примеры кода и CodeSandbox, которые можно попробовать реализовать в собственных приложениях.
https://www.webpro.nl/articles/the-state-of-benchmarking-in-nodejs
✍️ @nodejs_lib
Бенчмаркинг становится все более важным по мере того, как мы создаем все больше приложений и инструментов для таких сред исполнения, как Node.js и Bun. Эта статья посвящена макро- и микробенчмаркингу и рассматривает варианты, которые мы можем использовать уже сегодня. Статья включает примеры кода и CodeSandbox, которые можно попробовать реализовать в собственных приложениях.
https://www.webpro.nl/articles/the-state-of-benchmarking-in-nodejs
✍️ @nodejs_lib
Простой GPT-ассистент в Telegram на базе Яндекса и Node.js
В статье вас ждёт "сборка" очень простой связки из распознавания и синтеза речи, а также запросов в модель YandexGPT на Node.js. Наш телеграм бот будет получать голосовое сообщение, а затем распознавать его, скармливать в модель GPT и синтезировать полученный ответ в голосовое сообщение.
Хочется начать с небольшого предисловия. В ходе написания этого простейшего решения я потратил кучу времени на попытку интегрироваться с популярным OpenAI ChatGPT, но мои нервы вышли из чата (обход блокировки, HTTPS прокси и т.п.), поэтому я перешёл к Яндексу. Он встречает нас дружелюбной консолью, понятной документацией и грантом на тестирование. В целом, если гранта по каким-либо причинам нет, то мне на все тесты хватило 20 рублей.
https://habr.com/ru/articles/791256/
✍️ @nodejs_lib
В статье вас ждёт "сборка" очень простой связки из распознавания и синтеза речи, а также запросов в модель YandexGPT на Node.js. Наш телеграм бот будет получать голосовое сообщение, а затем распознавать его, скармливать в модель GPT и синтезировать полученный ответ в голосовое сообщение.
Хочется начать с небольшого предисловия. В ходе написания этого простейшего решения я потратил кучу времени на попытку интегрироваться с популярным OpenAI ChatGPT, но мои нервы вышли из чата (обход блокировки, HTTPS прокси и т.п.), поэтому я перешёл к Яндексу. Он встречает нас дружелюбной консолью, понятной документацией и грантом на тестирование. В целом, если гранта по каким-либо причинам нет, то мне на все тесты хватило 20 рублей.
https://habr.com/ru/articles/791256/
✍️ @nodejs_lib
Хабр
Простой GPT-ассистент в Telegram на базе Яндекса и Node.js
Всем привет! Это моя первая публикация на Хабре, поэтому буду благодарен за любую обратную связь, которая поможет мне писать ещё лучше. В статье вас ждёт "сборка" очень простой связки из распознавания...
Переводим аудио в текст на Cloudflare Workers с помощью AssemblyAI и TypeScript
В этом уроке вы узнаете, как создать приложение, переводящее аудиофайлы (и видеофайлы) в текст. Вы создадите бэкенд на TypeScript поверх Cloudflare Workers и будете использовать API AssemblyAI для расшифровки аудио.
https://www.assemblyai.com/blog/transcribe-audio-cloudflare-workers-assemblyai-nodejs-typescript/
✍️ @nodejs_lib
В этом уроке вы узнаете, как создать приложение, переводящее аудиофайлы (и видеофайлы) в текст. Вы создадите бэкенд на TypeScript поверх Cloudflare Workers и будете использовать API AssemblyAI для расшифровки аудио.
https://www.assemblyai.com/blog/transcribe-audio-cloudflare-workers-assemblyai-nodejs-typescript/
✍️ @nodejs_lib
Топ-5 функций Node.js, которые должен знать каждый разработчик
Независимо от того, являетесь ли вы опытным разработчиком Node.js или только начинаете свой путь, в Node.js всегда есть что-то, что ждет своего часа.
В этой статье я расскажу о пяти функциях Node.js, которые могут улучшить ваш общий опыт, а именно:
Worker Threads
Cluster Process Module
Built-in HTTP/2 Support
Streams API
REPL
https://medium.com/bitsrc/top-5-features-of-nodejs-e49d1c68f4a7
✍️ @nodejs_lib
Независимо от того, являетесь ли вы опытным разработчиком Node.js или только начинаете свой путь, в Node.js всегда есть что-то, что ждет своего часа.
В этой статье я расскажу о пяти функциях Node.js, которые могут улучшить ваш общий опыт, а именно:
Worker Threads
Cluster Process Module
Built-in HTTP/2 Support
Streams API
REPL
https://medium.com/bitsrc/top-5-features-of-nodejs-e49d1c68f4a7
✍️ @nodejs_lib
Media is too big
VIEW IN TELEGRAM
Работа с переменными окружения в Node.js
Конфигурация переменных окружения имеет решающее значение для эффективного управления секретами и следования лучшим практикам, таким как двенадцатифакторная методология.
Именно поэтому мы недавно провели мастер-класс, в котором рассказали о том, почему управление конфигурациями важно, как различать окружения, о рисках использования NODE_ENV, о лучших практиках конфигурирования Node.js и многом другом.
https://blog.platformatic.dev/handling-environment-variables-in-nodejs
✍️ @nodejs_lib
Конфигурация переменных окружения имеет решающее значение для эффективного управления секретами и следования лучшим практикам, таким как двенадцатифакторная методология.
Именно поэтому мы недавно провели мастер-класс, в котором рассказали о том, почему управление конфигурациями важно, как различать окружения, о рисках использования NODE_ENV, о лучших практиках конфигурирования Node.js и многом другом.
https://blog.platformatic.dev/handling-environment-variables-in-nodejs
✍️ @nodejs_lib
Создание «Google Sheets» через Websockets на Node.js
В этой статье мы разработаем табличный редактор - аналог Google Sheets (в упрощенном виде), работающий на основе вебсокетов, чтобы познакомиться со способами применения этой технологии в браузерах.
Поскольку цель - ознакомление, код будет не очень «чистым», но для базового примера этого будет достаточно. В качестве серверной платформы будем использовать Node.js, также потребуется пакет ws, предоставляющий API для работы с вебсокетами на сервере.
https://habr.com/ru/articles/718780/
✍️ @nodejs_lib
В этой статье мы разработаем табличный редактор - аналог Google Sheets (в упрощенном виде), работающий на основе вебсокетов, чтобы познакомиться со способами применения этой технологии в браузерах.
Поскольку цель - ознакомление, код будет не очень «чистым», но для базового примера этого будет достаточно. В качестве серверной платформы будем использовать Node.js, также потребуется пакет ws, предоставляющий API для работы с вебсокетами на сервере.
https://habr.com/ru/articles/718780/
✍️ @nodejs_lib
Как использовать Fetch API в Node.js, Deno и Bun
Ключевые моменты
Fetch API в современных средах JavaScript: в этой статье рассмотрим, как использовать Fetch API, современную и более простую альтернативу XMLHttpRequest, в различных средах JavaScript — таких как Node.js, Deno и Bun. Уделим особое внимание его структуре, основанной на промисах, а также простоте использования.
Различия в использовании fetch на стороне клиента и на стороне сервера: хотя Fetch API предоставляет единый интерфейс, важно учитывать различия в ограничениях, таких как CORS и CSP на стороне клиента и потенциальные ограничения API сторонних разработчиков на стороне сервера.
Важность эффективных стратегий fetch запросов: статья подчёркивает использование Promise.allSettled для параллельных запросов и управление таймаутами с AbortController для оптимизации производительности и обработки ошибок в веб-приложениях.
https://www.sitepoint.com/fetch-api-node-deno-bun/
✍️ @nodejs_lib
Ключевые моменты
Fetch API в современных средах JavaScript: в этой статье рассмотрим, как использовать Fetch API, современную и более простую альтернативу XMLHttpRequest, в различных средах JavaScript — таких как Node.js, Deno и Bun. Уделим особое внимание его структуре, основанной на промисах, а также простоте использования.
Различия в использовании fetch на стороне клиента и на стороне сервера: хотя Fetch API предоставляет единый интерфейс, важно учитывать различия в ограничениях, таких как CORS и CSP на стороне клиента и потенциальные ограничения API сторонних разработчиков на стороне сервера.
Важность эффективных стратегий fetch запросов: статья подчёркивает использование Promise.allSettled для параллельных запросов и управление таймаутами с AbortController для оптимизации производительности и обработки ошибок в веб-приложениях.
https://www.sitepoint.com/fetch-api-node-deno-bun/
✍️ @nodejs_lib
SitePoint
How to use the Fetch API in Node.js, Deno, and Bun
Learn how to use the Fetch API — a simpler, easier, promise-based alternative to XMLHttpRequest — with Node.js, Deno and Bun.
Как в Node.js контролировать потребление памяти при обработке сетевых запросов
Всем привет! Я Виктор Кугай, руководитель команды разработки спецпроектов в Тинькофф. Мы создаем геймификационные проекты, основанные на данных, чтобы познакомить пользователей с экосистемой компании и повысить узнаваемость бренда.
Расскажу, как с помощью Node.js Streams и механизма Back Pressure протокола TCP реализовать пакетную обработку сотен гигабайтов данных на машинах с жестким лимитом памяти.
https://habr.com/ru/companies/tinkoff/articles/799709/
✍️ @nodejs_lib
Всем привет! Я Виктор Кугай, руководитель команды разработки спецпроектов в Тинькофф. Мы создаем геймификационные проекты, основанные на данных, чтобы познакомить пользователей с экосистемой компании и повысить узнаваемость бренда.
Расскажу, как с помощью Node.js Streams и механизма Back Pressure протокола TCP реализовать пакетную обработку сотен гигабайтов данных на машинах с жестким лимитом памяти.
https://habr.com/ru/companies/tinkoff/articles/799709/
✍️ @nodejs_lib
Классификаторы тем в Node.js с использованием векторного поиска Astra
Векторные базы данных - это самый распространенный, но далеко не единственный вариант использования расширенного поиска. Векторные базы данных также могут быть полезны в самых разных задачах машинного обучения. Например, в этой статье я покажу, как можно использовать векторный поиск Astra для классификации текста: отнесения произвольного текста к одной из заранее выбранных категорий.
https://thecodebarbarian.com/topic-classifiers-in-nodejs-using-astra-vector-search.html
✍️ @nodejs_lib
Векторные базы данных - это самый распространенный, но далеко не единственный вариант использования расширенного поиска. Векторные базы данных также могут быть полезны в самых разных задачах машинного обучения. Например, в этой статье я покажу, как можно использовать векторный поиск Astra для классификации текста: отнесения произвольного текста к одной из заранее выбранных категорий.
https://thecodebarbarian.com/topic-classifiers-in-nodejs-using-astra-vector-search.html
✍️ @nodejs_lib
The Code Barbarian
Topic Classifiers in Node.js Using Astra Vector Search
You can build a topic classifier using vector search by storing representative vectors for each topic. Here's how you can build a representative vector based classifier in Node.js with Astra and Mongoose.
С 500 мс до нуля, или история о том, как я написал Node.js C++ addon и ускорил скидочный сервис в 500 раз
Приветствую тебя! Меня зовут Дмитрий и я работаю в Lad.
Сегодня я поведаю историю о том, как эволюционировал скидочный сервис одного из наших проектов. Пройдя путь от всеми нелюбимого, "тормозящего" сервиса, до сервиса,
который имеет наилучшие показатели на недельных графиках SLA.
Рассказ делится на четыре части, первая из которых это краткая вводная о том, что из себя представляет скидочный сервис и как он справлялся (нет) с нагрузкой до рефакторинга. Во второй, более технической части, я делюсь опытом рефакторинга, в частности говорю про те трудности с которыми пришлось столкнуться и какие шаги были предприняты для того, чтобы исправить печальную ситуацию с производительностью. В третьей части поговорим о достигнутых результатах. В завершающей, четвертой части приводятся некоторые мысли о возможных улучшениях.
https://habr.com/ru/companies/lad_/articles/802153/
✍️ @nodejs_lib
Приветствую тебя! Меня зовут Дмитрий и я работаю в Lad.
Сегодня я поведаю историю о том, как эволюционировал скидочный сервис одного из наших проектов. Пройдя путь от всеми нелюбимого, "тормозящего" сервиса, до сервиса,
который имеет наилучшие показатели на недельных графиках SLA.
Рассказ делится на четыре части, первая из которых это краткая вводная о том, что из себя представляет скидочный сервис и как он справлялся (нет) с нагрузкой до рефакторинга. Во второй, более технической части, я делюсь опытом рефакторинга, в частности говорю про те трудности с которыми пришлось столкнуться и какие шаги были предприняты для того, чтобы исправить печальную ситуацию с производительностью. В третьей части поговорим о достигнутых результатах. В завершающей, четвертой части приводятся некоторые мысли о возможных улучшениях.
https://habr.com/ru/companies/lad_/articles/802153/
✍️ @nodejs_lib
Как эффективно передавать двоичные данные между рабочими потоками в NodeJs
Для взаимодействия с рабочим процессом используются вызовы
Но что делать, если данные - это двоичные данные в буфере? Например, PDF-файл или ZIP-файл.
Тогда мне стало интересно: какие есть способы отправки двоичных данных через postMessage? И какой из них самый лучший?
https://advancedweb.hu/how-to-transfer-binary-data-efficiently-across-worker-threads-in-nodejs/
✍️ @nodejs_lib
Для взаимодействия с рабочим процессом используются вызовы
postMessage
, а переданные ему значения будут клонированы с помощью алгоритма структурированного клонирования. Это позволяет легко передавать объекты, строки, массивы, числа и даже поддерживает циклические ссылки.Но что делать, если данные - это двоичные данные в буфере? Например, PDF-файл или ZIP-файл.
Тогда мне стало интересно: какие есть способы отправки двоичных данных через postMessage? И какой из них самый лучший?
https://advancedweb.hu/how-to-transfer-binary-data-efficiently-across-worker-threads-in-nodejs/
✍️ @nodejs_lib