Как стать автором
Обновить
24.27

Node.JS *

Среда для запуска JavaScript-приложений

Сначала показывать
Порог рейтинга
Уровень сложности

«Подождите, не успеваю записывать код …». Я слушал это пару лет и в итоге написал раздатчик изменений кода для студентов

Уровень сложности Простой
Время на прочтение 6 мин
Количество просмотров 2.7K
Блог компании Ростелеком Разработка веб-сайтов *Node.JS *Учебный процесс в IT
Кейс

Всем привет! На связи Александр Разыграев, я разрабатываю модуль ESMP Metrica, а в свободное время преподаю web-разработку студентам в институте, также преподавал на курсах переподготовки.

Часть студентов во время занятия повторяют действия и код за преподавателем. Примерно треть из них часто не успевала и сигнализировала мне, например, останавливали словами: «Подождите, я не успеваю записывать код …».

Как решал эту проблему: если писали короткий пример, то брал паузу и ждал пока не успевающие перепишут код; если разрабатывали более длинный пример или одно большое приложение за занятие, то отправлял отдельный файл с кодом или весь проект приложения, например, архивом в чат или коммитами в git.

Но ощущал какую-то неудовлетворённость. Во-первых, понимал, что это не решение, а скорей экстренная помощь. Во-вторых, у меня не получалось работать на опережение, т. е. я не мог понять, как часто отправлять код, а иногда, увлекшись, забывал. Какого-то другого решения этой проблемы у своих коллег я не встречал.

В этой статье привожу свой опыт, как я ушёл от этой проблемы, написав свой раздатчик изменений кода. Статья будет полезна преподавателям IT.

Читать далее
Всего голосов 20: ↑20 и ↓0 +20
Комментарии 10

Оптимизация автотестов Cypress с помощью  циклов JavaScript

Время на прочтение 7 мин
Количество просмотров 3.5K
Тестирование IT-систем *JavaScript *Node.JS *Тестирование веб-сервисов *TypeScript *
Из песочницы

Привет, Хабр!

За последние несколько лет работы с командами тестировщиков ПО в России и США мне довелось столкнуться с различными подходами к организации тестирования, разнообразными паттернами построения тестовых сценариев и разработки автоматических тестов. При этом нередко случалось, что приходя на проект и анализируя имеющуюся тестовую базу выяснялось, что существующие автотесты нуждались в серьезной доработке или вовсе переработке в целях обеспечения их надежности и сокращения времени на их выполнение. Преимущественно это касалось этапа сквозного (e2e) тестирования, и по моим наблюдениям очень часто причиной тому было не столько незнание тестировщиками встроенных команд тестового фреймворка, сколько неумение применить в тестах базовые возможности используемого языка программирования.

Это подтолкнуло меня к написанию пары статей, в которых я делюсь некоторыми наработками по оптимизации автотестов Cypress, основываясь на простых и в основном известных возможностях JavaScript. Изначально статьи были опубликованы на английском языке в моем блоге "Testing with Cypress" на Medium.

Читать далее
Всего голосов 8: ↑7 и ↓1 +6
Комментарии 17

Как я намайнил первое* в мире биткоин**-стихотворение

Уровень сложности Простой
Время на прочтение 15 мин
Количество просмотров 8.5K
Ненормальное программирование *JavaScript *Node.JS *Криптовалюты

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

Иногда хочется как-то объединить эти две стороны своей жизнедеятельности. Написать скрипт четырёхстопным ямбом. Или наоборот — скрипт, который напишет четырёхстопный ямб. Обычно это желание мимолётно и ни к чему не ведёт. Но недавно мне очень захотелось написать биткоин-стихотворение — и я это сделал.

Ниже вы сможете познакомиться с моим великим творением и историей его создания, а также выяснить, что это вообще за ерунда — биткоин-стихотворение, и чем оно полезно народному хозяйству. Я постараюсь, чтобы статья была интересна и понятна как моим коллегам-программистам, так и моим коллегам-литераторам.

Испить мёда поэзии
Всего голосов 119: ↑113 и ↓6 +107
Комментарии 46

Знакомьтесь, tRPC

Уровень сложности Сложный
Время на прочтение 8 мин
Количество просмотров 4.2K
Блог компании Timeweb Cloud Разработка веб-сайтов *JavaScript *Node.JS *TypeScript *
Туториал


Hello, world!


В этом туториале мы разработаем простое типобезопасное (typesafe) клиент-серверное (fullstack) приложение с помощью tRPC, React и Express.


tRPC позволяет разрабатывать полностью безопасные с точки зрения типов API для клиент-серверных приложений (предпочтительной является архитектура монорепозитория). Это посредник между сервером и клиентом, позволяющий им использовать один маршрутизатор (роутер) для обработки запросов HTTP. Использование одного роутера, в свою очередь, обуславливает возможность автоматического вывода типов (type inference) входящих и исходящих данных (input/output), что особенно актуально для клиента и позволяет избежать дублирования типов или использования общих (shared) типов.


Руководство по tRPC находится в процессе подготовки — следите за обновлениями 😉


Для тех, кого интересует только код, вот ссылка на соответствующий репозиторий.


Интересно? Тогда прошу под кат.

Читать дальше →
Всего голосов 14: ↑12 и ↓2 +10
Комментарии 9

Истории

Оптимизация бюджета с помощью Telegram-бота

Уровень сложности Простой
Время на прочтение 5 мин
Количество просмотров 3.4K
Node.JS *API *TypeScript *
Из песочницы

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

Читать далее
Всего голосов 7: ↑2 и ↓5 -3
Комментарии 0

Менеджмент зависимостей в Javascript

Уровень сложности Средний
Время на прочтение 19 мин
Количество просмотров 8.8K
Блог компании Газпромбанк JavaScript *Node.JS *TypeScript *
FAQ

Для многих разработчиков процесс установки зависимостей представляет собой некую "магию", которая происходит при выполнении npm install. Понимание принципов работы этой "магии" может сильно помочь при возникновении ошибки во время установки очередной библиотеки. Нынешний NPM — результат многих лет проб и ошибок, поэтому для его детального понимания я предлагаю начать с самого начала.

Читать далее
Всего голосов 32: ↑31 и ↓1 +30
Комментарии 5

Публикация NPM-пакетов

Время на прочтение 6 мин
Количество просмотров 2.4K
Node.JS *ReactJS *TypeScript *
Из песочницы

Недавно после очередного копирования файлов react-компонентов из проекта в проект я решил что хватит это терпеть и пора научиться публиковать npm-пакеты. Прошерстив интернет в поисках простого рецепта, который позволял бы с минимальными усилиями сделать пакет из react-приложения, я нашел несколько рабочих вариантов. Но, к сожалению, все они имели различные недочеты. Поэтому мне пришлось вооружиться напильником и составить эту памятку по результатам своих манипуляций.

Читать далее
Всего голосов 9: ↑9 и ↓0 +9
Комментарии 1

Что такое менеджер пакетов, и в чем разница YARN, NPM, PNPM?

Уровень сложности Простой
Время на прочтение 9 мин
Количество просмотров 5.4K
Node.JS *
Мнение

Очень хочется пошутить про пакет с пакетами. Но нет. Статья про другое. Для начала давайте разберемся, почему я ее написал, и кому она может быть полезна:

Читать далее
Всего голосов 6: ↑4 и ↓2 +2
Комментарии 16

«Скачал плагин и опингвинился». Полезные инструменты для работы с IDE

Время на прочтение 4 мин
Количество просмотров 10K
Блог компании Selectel Программирование *VIM *Git *Node.JS *
Обзор

Эффективность разработки зависит не только от скиллов программиста, но и от рабочего окружения. Так, чтобы оптимизировать процесс, можно использовать специальные плагины или расширения IDE. В тексте собрали самые полезные, по мнению специалистов Selectel, инструменты. Сохраняйте подборку в закладки и делитесь своими вариантами в комментариях.
Читать дальше →
Всего голосов 50: ↑47 и ↓3 +44
Комментарии 6

SQRT.app или о том как, сократить затраты в автоматизации тестирования

Уровень сложности Простой
Время на прочтение 7 мин
Количество просмотров 852
Тестирование IT-систем *Node.JS *GitHub *Data Engineering *
Из песочницы

Всем привет, меня зовут Виталий, я являюсь Test automation engineer и по совместительству один из создателей библиотеки который называется sqrt.app. В IT-сфере я около 6 лет и успел повидать много говна решений но сегодня я бы хотел рассказать про то - зачем любому инженеру будет полезно использовать данный тул.

узнать про sqrt.app
Рейтинг 0
Комментарии 4

Создание простого SPA на VueJs с использованием CMS Strapi

Уровень сложности Средний
Время на прочтение 10 мин
Количество просмотров 4.5K
CSS *JavaScript *HTML *Node.JS *VueJS *
Из песочницы

Данное руководство составлено на основе некоторого опыта, который был получен из книг и официальной документации. Вашему вниманию будет представлено 2 варианта написания простых в поддержке сайтов на Vue.js (с использованием backend систем и без). 

В первой части будет изложена инструкция по экспресс созданию сайта - галереи с использованием статичных JSON файлов для хранения данных сайта. 

Во второй части мы рассмотрим более сложный вариант, с использованием опен сорс CMS решения для управления данными сайта. Весь код в данном руководстве представлен в синтаксисе javascript/hml/css и bash.

Читать далее
Всего голосов 3: ↑3 и ↓0 +3
Комментарии 12

Стартап в Соло. Часть 4: техническая реализация

Уровень сложности Средний
Время на прочтение 10 мин
Количество просмотров 3.2K
Разработка веб-сайтов *JavaScript *Программирование *Node.JS *Развитие стартапа
Кейс

В этой статье хочу рассказать, как технически устроен мой Telegram чат для сайта, из каких компонентов состоит и с какими подводными камнями я сталкивался.

Читать далее
Всего голосов 12: ↑12 и ↓0 +12
Комментарии 2

Вечный RnD: chunk flushing для серверного рендеринга React + WMF

Уровень сложности Сложный
Время на прочтение 9 мин
Количество просмотров 1.6K
Блог компании билайн Node.JS *ReactJS *
Из песочницы

Все говорят про webpack-module-federation - микрофронты тут, микрофронты там.
— "А мы уже внедрили", "а мы уже построили микрофронтовую-архитектуру", "мы релизим независимо".

Но начинаешь расспрашивать, "а что сделали", "а как связали" - выходит что за всеми этими броскими фасадами скрывалось добавление вызова ModuleFederationPlugin(...) на уровне рядового потребителя, в лучшем случае с подстройкой конфигурации под локальный и продуктовый стенды. А независимые релизы - обычный авто деплой trunk'а.

На этом фоне доклады, повествующие о динамическом развертывании k8s pod'ов с версиями микрофронтов, указанных в заголовках браузера (на базе argo-cd) производят вау-эффект. Но даже все эти истории имеют один общий недостаток.

На вопрос:
— А как вы реализовали SSR?

Следует ответ:
— Мы не стали этого делать, у нас админка / дэшборд / MVP / *.

Читать далее
Всего голосов 15: ↑14 и ↓1 +13
Комментарии 11

Node.JS: заменили модуль SSH2 на OpenSSH и снизили задержки eventloop в 15 раз

Уровень сложности Средний
Время на прочтение 5 мин
Количество просмотров 3.9K
Блог компании Тензор Высокая производительность *JavaScript *Программирование *Node.JS *
Кейс

В нашем сервисе мониторинга и анализа PostgreSQL доступ к серверам осуществляется по протоколу SSH. В качестве ssh-клиента мы используем популярный модуль SSH2 , однако при передаче данных большого объема этот модуль вносит существенные задержки в event loop. Как их можно снизить - расскажем в этой статье.

Читать далее
Всего голосов 12: ↑12 и ↓0 +12
Комментарии 3

Как фронтендер подписывать CSR учился

Уровень сложности Средний
Время на прочтение 14 мин
Количество просмотров 2.4K
JavaScript *Node.JS *
Из песочницы

В статье рассказываю про опыт изучения Certificate Signing Request (CSR) формата. О том, что такое PEM, DER, какова структура самого CSR файла и как последний подписывается. А также поделюсь, с какими сложностями в процессе изучения я столкнулся.

Читать далее
Всего голосов 5: ↑5 и ↓0 +5
Комментарии 2

Веб-скрейпинг с помощью JavaScript и Node.js — исчерпывающее руководство

Время на прочтение 11 мин
Количество просмотров 6.3K
Блог компании OTUS JavaScript *Node.JS *
Перевод

JavaScript сегодня стал одним из наиболее предпочтительных языков для веб-скрейпинга (web scraping). Его способность извлекать данные из SPA (Single Page Application) [одностраничное приложение] повышает его популярность. Разработчики могут с легкостью автоматизировать свои задачи при помощи таких библиотек, как Puppeteer и Cheerio, которые доступны в JavaScript.

В этом блоге мы обсудим различные библиотеки для веб-скрейпинга в JavaScript, их преимущества и недостатки, определим лучшие из них, а в конце обсудим некоторые различия между Python и JavaScript с точки зрения веб-скрейпинга.

Читать далее
Всего голосов 13: ↑11 и ↓2 +9
Комментарии 2

Бот из машины. Как инженеру сократить время на диагностику дисков

Уровень сложности Простой
Время на прочтение 7 мин
Количество просмотров 5.4K
Блог компании Selectel Node.JS *API *Накопители
Кейс


Привет, Хабр! Меня зовут Дмитрий, я старший системный инженер в дата-центре Selectel, работаю с серверами и клиентским оборудованием.

Каждый день я обрабатываю десятки клиентских обращений. Часть из них связана с физическим участием, когда нужно ногами пойти к серверу и руками заменить комплектующие. Такие задачи роботу не поручить. Но я нашел способ экономить себе и коллегам несколько часов в месяц с помощью бота, способного быстро диагностировать состояние дисков. Также он снижает влияние «человеческого фактора» на задачи, которые надо решать с высокой скоростью и вниманием к деталям.

В статье я расскажу, как написал бота, запустил его в облаке и автоматизировал замену накопителей в выделенных серверах.
Читать дальше →
Всего голосов 54: ↑54 и ↓0 +54
Комментарии 12

Playwright и Puppeteer в 2023 году: что выбрать

Уровень сложности Простой
Время на прочтение 11 мин
Количество просмотров 3.4K
Блог компании OTUS JavaScript *Node.JS *Тестирование веб-сервисов *
Обзор
Перевод

Дебаты по поводу выбора между Playwright и Puppeteer — это большая дискуссия, поскольку они обе являются фантастическими библиотеками Node.js для автоматизации браузера. Хотя эти библиотеки делают практически одно и то же, между Puppeteer и Playwright есть несколько заметных различий.

Читать далее
Всего голосов 12: ↑8 и ↓4 +4
Комментарии 2

Как сайты определяют ботов? Деобфускация Akamai Bot Manager 2.0

Уровень сложности Средний
Время на прочтение 47 мин
Количество просмотров 15K
JavaScript *Node.JS *Реверс-инжиниринг *

Akamai Technologies - американская компания, занимающаяся защитой веб-ресурсов от ботов с помощью своего продукта Bot Manager. В её портфолио числятся такие гиганты ритейла, как Nike, Adidas и Asos, для которых особенно важен контроль за ботами, автоматизирующими процесс выкупа редких/лимитированных товаров с целью их перепродажи по завышенной цене. В данной статье мы взглянем на скрипт антибота Akamai и рассмотрим, какие методы обнаружения через JavaScript в нём используются. Не знаете почему обнаруживается ваш selenium? Добро пожаловать!

Читать далее
Всего голосов 106: ↑106 и ↓0 +106
Комментарии 37

Как мы быстро запустили мобильное приложение и споткнулись о свой успех

Уровень сложности Средний
Время на прочтение 13 мин
Количество просмотров 6.4K
Блог компании Группа НЛМК JavaScript *Node.JS *API *
Туториал

Привет, Хабр! Мы крупная производственная компания с 50К+ сотрудников, и в 2019 году поняли, что нам нужно мобильное приложение. Срок реализации 5 месяцев. Какой стек вы бы выбрали при такой скорости? Мы выбрали нативные Kotlin и Swift. Поначалу запилили всего 6 сервисов (новости, зарплатный лист, отпуска, блоги, регистрацию опасностей, выдачу СИЗ), и даже при том, что нанесли минимальную пользу, приложение очень зашло, количество пользователей начало расти лавинообразно. И тут мы поняли, что серверная часть на node.js + PostgreSQL создана без всякой мысли о развитии и масштабировании, решала исключительно локальные задачи. Все было на неоптимальной монолитной архитектуре, развивать и поддерживать которую просто нельзя.

Расскажу, как мы решили проблему.

Читать далее
Всего голосов 21: ↑18 и ↓3 +15
Комментарии 11

Вклад авторов

Работа