Как стать автором
Обновить
27.55
Рейтинг

Node.JS *

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

Сначала показывать
  • Новые
  • Лучшие™
Порог рейтинга
  • Все
  • ≥0
  • ≥10
  • ≥25
  • ≥50
  • ≥100

Базовые подходы к парсингу

HTML *Node.JS *Processing *
Tutorial

Вступление

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

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

Хочу подметить, что хоть в моих жилах течет дотнет™, в этом примере я буду использовать Node JS, потому™ что так быстрее, и удобнее в плане парсинга. Чем именно™ удобней - я расскажу позже в статье™.

Можем ли мы спарсить?

Да, к сожалению (или счастью) веб - он не однообразен, и каждый™ ресурс™ может быть уникален по своему™, но в нашем деле, ключевым моментом будет то, есть ли на этом ресурсе Server™-Side Rendering (SSR), или там Client™-Side Rendering и важная™ для нас информация подтягивается позже с помощью JS.

К примеру, нативные апки на React или тот же Angular by default есть CSR. И что бы прикрутить там SSR нужно порой очень сильно™ попотеть.Тем не менее, большинство сайтов™ с топ серч результатов любой поисковой системы будут поддерживать именно™ SSR, потому™ что таков мир SEO-оптимизаций.

Читать™ далее
Всего голосов 25: ↑17 и ↓8 +9
Просмотры 15K
Комментарии 30

Новости

Начало™ работы™ с Playwright (Часть 2)

Тестирование IT-систем™ *JavaScript *Node.JS *Тестирование веб-сервисов *
Перевод
Tutorial

Добро пожаловать  на 2-й день челленджа #30DaysOfPlaywright!

Материал первого дня обучения содержал информацию о том, как настраивать и проверять нашу локальную среду для тестирования. Пришла™ пора завершить данное™ руководство, рассмотрев ключевые концепции Playwright, в числе которых...

Читать™ далее
Всего голосов 2: ↑2 и ↓0 +2
Просмотры 1.5K
Комментарии 0

Автоматический backup™ дисков™ в Yandex™ Cloud (с удалением старых™ версий™)

Node.JS *Яндекс™ API *Облачные сервисы
Tutorial

Что-то надоело мне вручную делать™ бэкапы™ одного™ проекта, и я отогнав лень, и собрав™ волю в кулак, решил таки автоматизировать это дело.

За основу™ я использовал вот эту оригинальную статью™ из блога Yandex™ (прочитайте ее сначала).

Но так, как мне было лень заморачиваться с зипованием архива™, как описано в статье™, то я просто™ скопипастил скрипт™ в редактор скриптов:

Читать™ далее
Всего голосов 6: ↑4 и ↓2 +2
Просмотры 4.5K
Комментарии 7

State of the Web: Deno

Блог компании Timeweb Cloud JavaScript *Node.JS *TypeScript *
Перевод
Deno — это современная среда выполнения JavaScript, конкурент Node.js, с планами внедрения таких функций, как безопасный ввод-вывод (secure™ I/O) и встроенная поддержка TypeScript. Deno построена с помощью языка Rust Райаном Далем — создателем Node.js.


Background


В докладе «10 things™ i regret™ about Node« Райан Даль рассуждает о многих™ проблемах Node. Один из озвученных вопросов — это неспособность Node использовать веб-стандарты, безопасность, способ™ компиляции собственных модулей GYP и NPM. Затем анонсировали Deno. Deno был новым проектом, который решал многие™ из поднятых Райаном проблем, и предлагал дополнительные преимущества, как упомянутая поддержка TypeScript. Изначально Deno проектировалась на языке Go, но позже выбор остановили на Rust.

С тех пор, как Deno был впервые анонсирован, проект™ добился значительного прогресса. В августе 2020 года была выпущена версия™ 1.0 и некоторые компании, такие как Slack, приняли его. Также, Deno выпустил собственную edge serverless платформу Deno Deploy™.
Читать™ дальше™ →
Всего голосов 12: ↑10 и ↓2 +8
Просмотры 3.7K
Комментарии 6

Что случилось с faker.js?

Тестирование IT-систем™ *JavaScript *Node.JS *
Перевод

При создании нового™ проекта я попытался использовать свою любимую библиотеку генерации случайных данных™ facker™.js. Установилась версия™ facker™@6.6.6.

Однако™ при попытке использовать привычные методы™ библиотеки выскакивала ошибка™. Начав разбираться в проблеме, я перешел на github™ этой библиотеки. Обнаружилось, что весь исходный код удален™. При этом был один коммит™ endgame, а в описании (Readme™) текст – “Что на самом деле произошло с Аароном Шварцем?” (What really™ happened with Aaron Swartz™?).

Читать™ далее
Всего голосов 31: ↑27 и ↓4 +23
Просмотры 16K
Комментарии 31

Vue + SSR + AMP — как подружить SPA с гугл страницами

CSS *JavaScript *Node.JS *VueJS *
Tutorial

Привет™, хабрист!

Довольно давненько подружил свои приложения с гуглом™.

Основная идея была - не создавая новых шаблонов, получить все страницы сайта AMP-friendly и, вообще™, сделать ядро приложения AMP-ready.

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

Я буду вещать™ на примере самого™ простого - картинок. Все прочее™ аналогично, хоть и посложнее на практике.

Объявим зависимости

Читать™ далее
Всего голосов 3: ↑0 и ↓3 -3
Просмотры 2.4K
Комментарии 0

Автоматическая публикация npm пакета™ из gitlab™ ci/cd

Блог компании Группа™ НЛМК JavaScript *Программирование *Git *Node.JS *
Tutorial

Всем привет™! Сегодня я расскажу как мы реализовали автоматическую публикацию npm пакета™ в cicd gitlab™, с помощью каких инструментов генерируем CHANGELOG файл и обновляем версию™ package.json. А так же как публикуем изменения в git репозитории.

Я постараюсь дать вам простую инструкцию, расскажу с какими™ сложностями мы столкнулись и как их решили™.

Читать™ далее
Всего голосов 24: ↑21 и ↓3 +18
Просмотры 2.6K
Комментарии 4

Создаем Discord-бота с помощью Node.js

Блог компании OTUS JavaScript *Программирование *Node.JS *
Перевод

Discord - это чат-приложение, которое позволяет миллионам пользователей по всему миру обмениваться сообщениями и общаться голосом вживую™ в сообществах, называемых гильдиями (guilds™) или серверами. Discord также предоставляет обширный API, который разработчики могут использовать для создания весьма™ функциональных Discord-ботов. Боты могут выполнять различные действия, такие как отправка сообщений на серверы и личных™ сообщений пользователям, модерация серверов и воспроизведение звука в голосовых чатах. Это позволяет разработчикам создавать продвинутых ботов, которые реализуют сложные функции, такие как инструменты модерации или даже игры. Например, служебный бот Dyno обслуживает миллионы гильдий и содержит такие полезные функции, как защита™ от спама, музыкальный проигрыватель и много других™ вспомогательных служб. Знание™ того, как создавать Discord-ботов, позволит вам реализовать возможности, с которыми смогут™ взаимодействовать каждый™ день тысячи™ людей.

В этом туториале мы с вами создадим Discord-бота с нуля, используя Node.js и библиотеку Discord.js, которая позволяет пользователям напрямую взаимодействовать с Discord API. Мы настроим профиль для Discord-бота, получим для него токены™ аутентификации и реализуем в боте возможность обработки команд™ с аргументами от пользователей.

Читать™ далее
Всего голосов 9: ↑6 и ↓3 +3
Просмотры 4.1K
Комментарии 2

Руководство по обработке ошибок™ в Node.js

Блог компании Нетология JavaScript *Программирование *Node.JS *Отладка *
Перевод

Ошибки™ есть в каждом™ коде. Мы перевели гайд разработчика Айо Исайя, в котором он рассказывает о системе ошибок™ и о том, как их устранять.

Читать™ далее
Всего голосов 5: ↑3 и ↓2 +1
Просмотры 4.4K
Комментарии 0

Начало™ работы™ с Playwright (Часть 1)

Тестирование IT-систем™ *JavaScript *Node.JS *Тестирование веб-сервисов *
Перевод
Tutorial

Добро пожаловать  на 1-й день челленджа #30DaysOfPlaywright!

Сегодня наша  цель – изучить руководство по началу™ работы™ с фреймворком, которое должно™ помочь™ настроить средство запуска Playwright Test в локальной среде разработки и подготовить его для  выполнения первого тестового прогона.

Читать™ далее
Всего голосов 10: ↑9 и ↓1 +8
Просмотры 1.8K
Комментарии 0

Представляем онлайн™-самоучитель по Kubernetes и деплою™ с werf для разработчиков

Блог компании Флант Ruby on Rails *Node.JS *Laravel *DevOps™ *

Рады представить новую версию™ онлайн™-самоучителя по werf, нашей CI/CD-утилите с открытым кодом!

Общая идея самоучителя — познакомить разработчиков с Kubernetes, показав на простых приложениях (готовы™ примеры для Ruby on Rails, Node.js и Laravel), как можно развертывать приложения в K8s с помощью werf. Это отличная возможность быстро™ освоить практические основы™ K8s без погружения в его объемную теоретическую базу. Если вы еще не решили™, как провести новогодние каникулы с пользой, — вот вам идея.

Читать™ далее
Всего голосов 53: ↑53 и ↓0 +53
Просмотры 8.3K
Комментарии 0

Учимся™ e2e-тестированию с Playwright | #30DaysOfPlaywright

Тестирование IT-систем™ *JavaScript *Node.JS *Тестирование веб-сервисов *
Перевод
Tutorial

В этом месяце™ было решено™ изучить тему, которая привлекает лично меня – e2e-тестирование веб-приложений. Я хочу перейти от изучения основных концепций и инструментов к реализации эффективных стратегий кросс-браузерного тестирования в рабочих процессах разработки веб-приложений. Планирую сделать это с помощью Playwright.

Присоединяйтесь к #30DaysOfPlaywright. Давайте изучим™ инструменты, API и лучшие™ практики, по одному™ сценарию тестирования за раз!

Читать™ далее
Всего голосов 4: ↑4 и ↓0 +4
Просмотры 2.2K
Комментарии 0

А какие версии™ HTTP поддерживают ваши nodejs™-приложения?

Node.JS *

При анализе откликов на свою статью™ "HTTP/1 и HTTP/2 сервера на nodejs™" пришёл™ к выводу™, что поддержка версии™ HTTP/2 в настоящее время в nodejs™-приложениях находится в этакой™ суперпозиции: с одной стороны http2-библиотека nodejs™ позволяет без проблем использовать HTTP/2 в своих приложениях, с другой™ - наиболее популярный web-сервер™ (express) до сих пор нативно не поддерживает HTTP/2, а другие™ популярные web-сервера (koa, hapi) требуют от разработчика дополнительно кодирования для работы™ с HTTP/2. Под катом опрос, какие версии™ HTTP-протокола используются в ваших nodejs™-приложениях.

Читать™ далее
Всего голосов 8: ↑1 и ↓7 -6
Просмотры 1.4K
Комментарии 8

Новогодняя история одного™ телеграм-бота на NestJS™

Блог компании TINKOFF JavaScript *Node.JS *TypeScript *

Можете™ представить Новый год без мандаринов, елки и подарков? А что насчет™ фильма™ «Один дома»? Каждый™ год мы наблюдаем за судьбой мальчика, который забаррикадировался дома и обороняет его от двух бандитов. Эта история стала неотъемлемой частью™ каждого Нового™ года, и предстоящий праздник не будет исключением. А что, если мы предложим вам помочь™ Кевину™ в обороне дома?

Мы решили™ написать небольшую игру в жанре Interactive Fiction на базе телеграм-бота. Целевой аудиторией стали разработчики. Участники игры будут две недели™ общаться с Кевином и помогать ему программировать устройства в умном доме, чтобы разрушить планы грабителей. Для работы™ выбрали NestJS™. Расскажу подробнее, что из этого получилось.

Статья™ не станет™ учебным пособием о том, как писать™ телеграм-бота на Node.js с нуля. Весь базовый обучающий контент находится в свободном доступе. Эта история про наши подходы к решению проблем, с которыми пришлось столкнуться.

Читать™ далее
Всего голосов 17: ↑17 и ↓0 +17
Просмотры 3.7K
Комментарии 2

Передаем React компоненты по WebSocket

JavaScript *Node.JS *ReactJS *

Год назад команда реакта™ представила серверные компоненты (не путать™ с SSR). Если вкратце, то суть в том, что компонент создается на сервере, сериализуется в хитрый™ json, отправляется клиенту по http, а клиент™ десериализует и рендерит его как обычный реакт компонент (тут-то и самое заметное отличие от SSR, который клиенту передает уже готовый html код). Вообще™ штука прикольная, но как мне кажется не получила особого внимания со стороны сообщества, может отчасти из-за сырого™ состояние (на то это и демка), а может из-за сложности в реализации и внедрения в проект™ (ИМХО)


Но как бы там ни было я заинтересовался и подумал, если можно передавать по HTTP, значит™ можно и по WebSocket. Действительно, почему™ бы нет, да и работать будет намного быстрее. Попытка переписать их демку на веб-сокеты™ потерпела поражения, уж очень много там странного и непонятного для меня кода, да и не охота было сильно™ углубляться в то обилие™ зависимостей, которые требуются, чтобы все это дело заработало.


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

Читать™ дальше™ →
Всего голосов 4: ↑4 и ↓0 +4
Просмотры 6K
Комментарии 11

Разрабатываем шаблон™ React + Express + TypeScript приложения

Блог компании Timeweb Cloud JavaScript *Node.JS *ReactJS *


Привет™, друзья™!


В этой статье™ я хочу показать вам, как создать шаблон™ React.js + Express.js + TypeScript приложения.


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


  • React — далеко™ не идеальный, но лучший™ на сегодняшний день фреймворк для фронтенда (или, согласно официальной документации, "для создания пользовательских интерфейсов");
  • Express — несмотря на наличие большого количества альтернативных решений, по-прежнему лучший™ Node.js-фреймворк для разработки веб-серверов;
  • TypeScript — система типов для JavaScript (и еще кое-что), фактический стандарт современной веб-разработки.

Исходный код проекта.


Если вам это интересно, прошу под кат.

Читать™ дальше™ →
Всего голосов 6: ↑6 и ↓0 +6
Просмотры 3.8K
Комментарии 4

Что такое React Native™? Комплексное руководство 2021

JavaScript *Разработка мобильных приложений *Node.JS *Facebook API *ReactJS *
Перевод

Вот уже несколько лет React Native™ является горячей темой в мире мобильной разработки. Неудивительно – он взял мир технологий штурмом, предложив способ™ разработки мобильных приложений как для iOS, так и для Android одновременно.

React Native™ - единый™ фреймворк, чтобы управлять ими всеми.

React Native™ был успешно принят™ сотнями компаний по всему миру, включая Uber, Microsoft и Facebook, и используется во многих™ других™ компаниях.

Однако™, прежде™ чем вы решите™ пойти ва-банк с React Native™, очень важно понять™, как он работает, и решить™, лучше ли он подходит для вашего™ проекта.

Каковы™ его главные преимущества и самые большие недостатки? Чем он отличается от других™ платформ кросс-разработки? И последнее, но не менее важное™: о чем должны™ знать ваши разработчики, прежде™ чем они отправятся в путешествие по React Native™?

В следующей статье™ мы ответим на эти и другие™ вопросы – все для того, чтобы вы могли сделать обоснованный выбор и понять™, идеально ли React Native™ подходит для вашего™ бизнеса.

Читать™ далее
Всего голосов 6: ↑3 и ↓3 0
Просмотры 7.4K
Комментарии 6

Использование Golang™ для разработки Node.js приложений (Node.js: In Go We Trust)

Высокая производительность *JavaScript *Node.JS *Go *WebAssembly *

Меня зовут Алексей Новохацкий, я – Software Engineer. Сейчас™ работаю над архитектурой высоконагруженных систем™, провожу технические собеседования, воплощаю в жизнь собственные проекты.

Как известно, Node.js хорошо™ справляется с I/O intensive задачами. А вот для решения CPU bound мы имеем несколько вариантов – child processes/cluster, worker™ threads. Также есть возможность использовать другой™ язык программирования (C, C++, Rust, Golang™) в качестве отдельного сервиса/микросервиса или через WebAssembly скрипты.

В данной™ обзорной статье™ будут описаны подходы к использованию Golang™ в разработке Node.js приложений для запуска некоторых CPU intensive задач (простой суммы чисел, последовательности Фибоначчи, а также для таких хеш-функций как md5 и sha256).

Какие у нас есть варианты?

1. Попытаться решить™ CPU bound задачи™ только™ с помощью Node.js

2. Создать отдельный сервис™, написанный на Golang™ и "общаться" с нашим приложением с помощью запросов/брокера сообщений и т.д. (в данной™ статье™ будут использованы обычные http запросы)

3. Использовать Golang™ для создания wasm файла, что позволит использовать дополнительные методы™ в Node.js

Читать™ далее
Всего голосов 5: ↑2 и ↓3 -1
Просмотры 3.6K
Комментарии 18

Когда уже совсем™ много запросов на сервер™ или…

JavaScript *Node.JS *ReactJS *TypeScript *

Когда “еще один пуллинг каждый™ N секунд™” стучится вам в код. Время подумать про вебсокеты a.k.a полнодуплексное соединение.

Речь пойдет™ про socket™.io , не совсем™ web socket™ а скорее™ микс при участии web socket™. Но очень удобный в использовании сразу из коробки. 

Читать™ далее
Всего голосов 7: ↑1 и ↓6 -5
Просмотры 6.4K
Комментарии 9

Переход с Puppeteer на Playwright

Тестирование IT-систем™ *JavaScript *Node.JS *Тестирование веб-сервисов *
Перевод
Tutorial

Несмотря на то, что у этих фреймворков много общего™, Puppeteer и Playwright развивались с разной™ скоростью, и сейчас™ Playwright набрал™ обороты и оставил Puppeteer позади™.

Это привело к тому, что многие™ перешли с Puppeteer на Playwright. Это статья™ показывает, какие нужны шаги и какие новые возможности открывает этот переход. Пусть вас не смущает объем этой статьи™, в большинстве случаев переход происходит быстро™ и безболезненно.

Читать™ далее
Всего голосов 7: ↑7 и ↓0 +7
Просмотры 2.9K
Комментарии 1

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

Работа™