Как стать автором
Поиск
Написать публикацию
Обновить
10.54

Node.JS *

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

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

Vike — современный SSR-фреймворк

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров7K

Всем привет. Я являюсь ведущим frontend-разработчиком компании 21Yard. Мы разрабатываем сервис для поиска строительных подрядчиков. На проект я пришел желторотым масленком, который мало смыслил в seo-продвижении продукта, но жизнь внесла свои коррективы, и сейчас я хочу рассказать, как я vike покорял.

Придя на проект, я с энтузиазмом взялся за дело. На момент старта моей работы у нас уже существовал интернет-портал, написанный на php. К сожалению, он был написан на устаревшем фреймворке, поэтому было принято решение переписать его с нуля на чем-то современном - выбор пал на React. Однако, параллельно кодингу шел и маркетинг. К работе был привлечен seo-специалист, по указаниям которого мне нужно было вносить микро-правки в старый портал. Тогда я узнал, что такое seo, и что для него нужен ssr...

Читать далее

Как работает фронтенд: от загрузки сайта до современных инструментов

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров17K

Фронтенд — это то, что видит и с чем взаимодействует каждый пользователь интернета, но как он работает на самом деле?

Читать далее

Как подружить GLPI с Node Js Часть 1. (Выбор основного подхода)

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров1.9K

Как легко и просто можно использовать node js и его возможности, чтоб дружить с другими системами (например GLPI) через их БД. Эта статья - мой опыт такого взаимодействия, который я получил в контексте решения рабочего кейса.

К прочтению

Как я создавал онлайн игру «нарды» (часть пятая). Сервер

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров1.7K

Всем привет!

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

Читать далее

Компьютерное зрение в автотестах. Поиск элемента по фото

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров2.8K

В автотестах для web-приложений, мы привыкли искать элементы по селектору. Это обязывает наделять html-элементы уникальными атрибутами, будь то класс или data-атрибут. Но когда проект становится достаточно большим, команда начинает задумываться над сокращением размера index.html, чтобы переходя по ссылке пользователь как можно быстрее получил полезную для него информацию. Тут-то и начинается гонка за каждый байт и каждую миллисекунду и необходимость любого «лишнего» символа в html разметке ставится под сомнение. В такие моменты data-атрибуты для автотестов это первые кандидаты на удаление из конечного html. Уже довольно давно я думал о том как же находить элементы на странице не привязываясь к DOM-дереву, результатом этих поисков является плагин, который я написал для Cypress. О нем, и о подходе, который в нем применяется, пойдет речь в данной статье.

Читать далее

Бесплатный аналог Notion на своем сервере за 10 минут. Локальный запуск, настройка и деплой Wiki.JS

Уровень сложностиПростой
Время на прочтение14 мин
Количество просмотров23K

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

Как вы, возможно, уже знаете, 9 сентября Notion покидает рынок РФ, и, по слухам, это может сопровождаться удалением всех аккаунтов из России. В связи с этим, нам всем стоит задуматься о том, какую альтернативу выбрать.

После тщательного анализа различных опций, я нашел, на мой взгляд, отличную и полностью бесплатный аналог Notion — Wiki.JS.

Сегодня мы разберемся, как установить и настроить эту платформу. Начнем с первичной настройки и запуска системы на локальном компьютере, а затем, всего за несколько минут, развернем наш проект на удаленном хостинге, превратив Wiki.JS в полноценную замену Notion.

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

Для деплоя я буду использовать сервис Amvera Cloud. Я выбрал его за простоту развертывания и предоставление бесплатного доменного имени с HTTPS-протоколом, которое будет выделено вам сразу после создания проекта.

Для деплоя нам понадобится создать Dockerfile (этот файл будет использоваться как для локального запуска, так и для развертывания). Технически, вам достаточно будет скопировать настройки с этой статьи и все у вас заработает. Затем, просто загрузите этот файл через консоль на сайте Amvera Cloud, и ваш проект соберется и запустится автоматически!

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

Читать далее

Как я создавал онлайн игру «нарды» (часть четвертая). Сервер

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров1.4K

Всем привет!

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

Читать далее

Как я свалил рутинные задачи на low-code-платформу и не пожалел

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров18K

Привет! На связи Леша Шамшур, разработчик ПО LiSeller. Недавно мой хороший знакомый Паша устроился джуниор-разработчиком в отдел бэкенд-разработки Debex: компания продает просроченные долги. 

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

Читать далее

Настройка алиасов путей с помощью Node.js Subpath Imports в TypeScript проекте

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров3.2K

Я попробовал новые Node.js Subpath Imports для алиасов путей в TypeScript проекте. Оказалось, всё не так просто!

Читать далее

Красно-черные сигналы в node.js

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров4K

Что происходит, когда мы отправляем сигнал приложению на node.js? Когда вызываются обработчики? А где хранятся? Во всем этом мы разберемся в данной статье, начиная от пользовательского кода на javascript и до встречи с операционной системой.

Читать далее

Как я сделал платформу коротких видео в Telegram Mini Apps

Уровень сложностиПростой
Время на прочтение17 мин
Количество просмотров10K

Недавно я поехал на море с другом. Во время пути мы узнали, что YouTube собираются блокировать (или замедлять). Тут в моей голове родилась идея: почему бы не сделать видеохостинг в Telegram? Я поспорил с другом, что сделаю его по дороге, но ноутбук сел. Поэтому мы договорились, что я сделаю это за день (спойлер: получилось, но кривовато).

Читать далее

Способы запуска Telegram mini apps

Время на прочтение6 мин
Количество просмотров13K

Существует множество различных способов запуска Telegram Mini Apps, но я для себя выделил несколько наиболее удобных и простых методов.

Читать далее

Ручной деплой NestJS и Angular приложений на выделенном сервер через «Docker Compose» и «PM2»

Время на прочтение33 мин
Количество просмотров2.1K

Покупаем выделенный сервер и настраиваем SSH доступ к нему с локального компьютера.
Добавляем https://github.com/SteveLTN/https-portal в "Docker compose" для автоматической генерации и продления сертификатов.

Читать далее

Ближайшие события

Топ модулей для распознавания рекапчи на Python, Node js и PHP

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров1.8K

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

Я проанализировал рынок модулей распознавания капчи и у меня получился свой субъективный топ модулей на трех популярных языках программирования. Давайте разбираться!

Читать далее

Сборка приложений на NestJS и Angular и запуск их в двух вариантах: через PM2 и через «Docker Compose»

Время на прочтение42 мин
Количество просмотров1.4K

Для запуска собранных приложений в режиме PM2 фронтенд будет встроен в бэкенд в виде статичных файлов.

Для запуска в режиме "Docker Compose" бэкенд будет собран в виде Docker образа, а собранная статика фронтенда будет отдаваться через и Nginx.

База данных запускается через "Docker Compose".

Читать далее

Добавление Swagger документации в NestJS-mod приложение и генерация REST-клиента для Angular-приложения

Время на прочтение18 мин
Количество просмотров948

Подключение генератора Swagger документации к бэкенду.
Подключение https://www.npmjs.com/package/prisma-class-generator для генерации DTO из Prisma - схемы.
Создание nx библиотеки для работы с бэкендом.
Подключение https://www.npmjs.com/package/@openapitools/openapi-generator-cli для генерации SDK для работы с бэкендом.

Читать далее

Как я создавал онлайн игру «нарды» (часть третья). Сервер

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров1.8K

Всем привет!

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

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

Читать далее

От любви до ненависти с process.send

Уровень сложностиСредний
Время на прочтение3 мин
Количество просмотров1.7K

Столкнулся со странной проблемой замедления получения данных от process.send - и решил поделиться симптомами и итоговым решением.

Что там?

Автоматизировать LinkedIn за месяц без команды разработчиков? Легко! Делюсь своей историей

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров3.7K

Привет, меня зовут Леша Шамшур, я разработчик ПО LiSeller. Еще недавно я думал, что разработка IT-продукта стоит денег — от 4–5 млн рублей в месяц, и собрать приличный MVP «на коленке» не получится. Но оказалось, что реализацию любого стартапа можно сильно удешевить благодаря low-code-инструментам. 

Да, разработчики скептически относятся к таким инструментам, отдавая предпочтение классическому коду, но они идеальны для быстрой проверки гипотезы. Например, у меня от идеи до реализации MVP прошел всего месяц. В статье расскажу, что получилось реализовать и как сильно low-code помог сэкономить деньги и время.

Читать далее

Подключение PrismaORM в NestJS-mod приложение и проверка его работы через REST

Время на прочтение20 мин
Количество просмотров698

Подключение Prisma к NestJS происходит через пакет https://www.npmjs.com/package/@nestjs-mod/prisma.

Проверка работы происходит через запуск E2E тесты на REST-ендпойтны.

Читать далее

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