Рубрика «node.js» - 29

С момента появления Node.js диагностика совершенствовалась в несколько этапов, от отладки приложений до глубокого анализа производительности. В этот раз речь пойдет о стратегиях использования таких инструментов, как core dump debuggers, flame graphs, ошибках в production и утечке памяти.

В основе материала — расшифровка доклада Николая Матвиенко из Grid Dynamics с нашей декабрьской конференции HolyJS 2017 Moscow.
Читать полностью »

Как заставить Vue.js и Electron работать вместе - 1

Введение

На волне популярности (надеюсь, что они популярны) Vue.js и Electron, возникает резонный вопрос, а как заставить их работать вместе. В этом небольшом руководстве я расскажу, как быстро установить и настроить шаблон для разработки приложений на Electron и Vue.js. И так приступим.

Что нам понадобится

  • yarn — пакетный менеджер, аналог npm. Я выбрал yarn, потому что мне просто нравится этот инструмент, однако вы можете использовать и npm. Как установить yarn здеся, а npm тута;
  • vue-cli — консольная утилита, которая позволяет быстро инициализировать проекты на Vue.js, добавив поддержку webpack;
  • electron-vue — шаблон, который мы и будем использовать.Читать полностью »

Сразу уточню. Apollo graphql client использует redux под капотом. То есть, никто не собирается отказываться от redux. Просто ничего из того что описано в документации redux для работы с Apollo graphql client не понадобится. То, о чем я хотел бы рассказать в этой статье — это что связка react + apollo client + graphql существенно (на порядок) упрощает разработку приложений react.
Читать полностью »

В июле 2017 года в Node.js 8 появилась реализация HTTP/2. С тех пор она прошла через несколько этапов улучшений, и теперь в Node.js Foundation говорят о том, что они почти готовы к тому, чтобы вывести поддержку HTTP/2 из разряда экспериментальных возможностей. Если вы хотите испытать HTTP/2 в среде Node.js, лучше всего это сделать, воспользовавшись Node.js 9 — здесь имеются все самые свежие исправления ошибок и улучшения.
image
Материал, перевод которого мы сегодня публикуем, посвящён работе с HTTP/2, и, в частности, с Server Push, в Node.js.
Читать полностью »

В первой статье я рассказал о цели, сделал небольшое описание проекта. В данной публикации я расскажу о текущем положении дел и развитии проекта.

Bobaos — KNX TP-UART, Raspberry Pi и Unix Domain Socket - 1

История не повторяется, история улучшается.

Цитата с пачки табака. Далее я показажу, что улучшилось за четыре месяца работы над проектом.

Читать полностью »

Релиз Node.js 10 и NPM 6 - 1

Сегодня состоялся двойной релиз Node.js v10 (LTS) и NPM v6. Данное событие особенно важно, оно знаменует собой новую веху для всей платформы и привносит много значимых изменений и улучшений во всей кодовой базе Node.js. В сфере безопасности появилась поддержка новых форматов шифрования.

Читать полностью »

Задача: обойти блокировку Телграма для бота, крутящегося на NodeJS на Raspberry Pi
Устанавливаем Tor
apt-get install tor

Открываем конфиг tor, расположенный по адресу: /etc/tor/torrc
И убеждаемся, что там есть такие строки
SocksPort 127.0.0.1:9050
А вот эту строку надо «закомитить», т.е. она должна выглядеть так
# SocksPolicy accept
Это означает, что мы принимаем все запросы, ничего не отфильтровывая.Читать полностью »

До этого я никогда не сталкивался с CRM "Мегаплан" и не знал, что она существует. Один мой хороший знакомый предложил мне подработку, сказал, что один его знакомый ищет программиста, чтобы написать небольшую программу или скрипт для автоматизации работы.
Было сказано, что нужно из какой-то системы получить данные по API, обработать их и вывести в XLS. Мне предложение показалось интересным, я созвонился с Заказчиком и договорился о встрече.

Сразу хочу сказать, что я никак не связан с самим Мегапланом и не собираюсь его рекламировать.

Постановка задачи

Заказчик — предприятие, в котором примерно 50 сотрудников.

Сотрудники, проекты и задачи заведены в CRM.

Сотрудники выполняют поставленные задачи. При этом в комментариях к задаче они указывают количество отработанных часов. Кроме того, при выполнении задачи тратятся "ядро-часы" (часы машинного времени).

Они также указываются в каждой задаче в отдельном поле.

Заказчику нужно формировать отчёт в XLS по данным из Мегаплана за указанный временной период.

По каждому проекту, по каждой задаче, нужно знать, сколько было потрачено рабочих часов и "ядро-часов".

Т.е. затраты группируются вначале по проектам, далее по задачам, потом уже по каждому сотруднику.

Примерный вид отчёта представлен на рисунке ниже.

image

Получить такой отчёт средствами Мегаплана заказчик не смог. Поэтому было принято решение пригласить стороннего разработчика для разработки программы/скрипта, который решит задачу.

Срок: 1 неделя.
Цена: 20 тыс.руб.

Бюджет небольшой, информации в Интернете об опыте использования Мегаплан API — ещё меньше. Нашёл здесь, на Хабре, вот эту статью, и она совсем не вызывала оптимизма. Пахло проблемами, деньги были не сильно нужны, но было интересно и хотелось помочь людям в их рутине. Я согласился.

Читать полностью »

Вы как-нибудь задумывались, сколько версий одной и той же библиотеки затягивает ваша клиентская или серверная сборка? Мне вот в какой-то момент стало интересно. Навскидку найти для этого готовый инструмент не получилось, а смотреть глазами package-lock слишком утомительно. Как мы знаем — в любой непонятной ситуации нужно писать свой npm пакет, поэтому я именно это и сделал… Дальше в посте я рассмотрю результат анализа живого проекта и сделаю пару спорных выводов.

Ну и никак нельзя обойтись без этой классической картинки:

Ещё один инструмент для проверки ваших npm зависимостей — wtfwith - 1

Читать полностью »

Асинхронные циклы и Stream API в Node.js 10 - 1

В этом месяце выходит десятая версия Node.js, в которой нас ждет изменение поведения потоков (readable-stream), вызванное появлением асинхронных циклов for-await-of. Давайте разберемся что это такое и к чему нам готовиться.

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js