Фронтенд — это то, что видит и с чем взаимодействует каждый пользователь интернета, но как он работает на самом деле?
Node.JS *
Среда для запуска JavaScript-приложений
Новости
Как подружить GLPI с Node Js Часть 1. (Выбор основного подхода)
Как просто можно использовать node js и его возможности, чтоб дружить с другими системами (например GLPI) через их БД. Это мой опыт такого взаимодействия, который я получил в контексте решения рабочего кейса.
Как я создавал онлайн игру «нарды» (часть пятая). Сервер
Всем привет!
В прошлых частях своего повествования я рассказывал, как мне пришла идея реализовать простую, на первый взгляд, игру "длинные нарды", затем я описал архитектуру сервера, модули "авторизация" и "игра", а в этот раз я хочу рассказать об игроках, которыми управляет программа, таких игроков еще называют ботами. Большинство игр так или иначе реализуют механику ботов, так как ботами можно считать любых противников или персонажей в игре, если ими не управляет человек.
Компьютерное зрение в автотестах. Поиск элемента по фото
В автотестах для web-приложений, мы привыкли искать элементы по селектору. Это обязывает наделять html-элементы уникальными атрибутами, будь то класс или data-атрибут. Но когда проект становится достаточно большим, команда начинает задумываться над сокращением размера index.html, чтобы переходя по ссылке пользователь как можно быстрее получил полезную для него информацию. Тут-то и начинается гонка за каждый байт и каждую миллисекунду и необходимость любого «лишнего» символа в html разметке ставится под сомнение. В такие моменты data-атрибуты для автотестов это первые кандидаты на удаление из конечного html. Уже довольно давно я думал о том как же находить элементы на странице не привязываясь к DOM-дереву, результатом этих поисков является плагин, который я написал для Cypress. О нем, и о подходе, который в нем применяется, пойдет речь в данной статье.
Истории
Бесплатный аналог Notion на своем сервере за 10 минут. Локальный запуск, настройка и деплой Wiki.JS
Привет, друзья!
Как вы, возможно, уже знаете, 9 сентября Notion покидает рынок РФ, и, по слухам, это может сопровождаться удалением всех аккаунтов из России. В связи с этим, нам всем стоит задуматься о том, какую альтернативу выбрать.
После тщательного анализа различных опций, я нашел, на мой взгляд, отличную и полностью бесплатный аналог Notion — Wiki.JS.
Сегодня мы разберемся, как установить и настроить эту платформу. Начнем с первичной настройки и запуска системы на локальном компьютере, а затем, всего за несколько минут, развернем наш проект на удаленном хостинге, превратив Wiki.JS в полноценную замену Notion.
Для освоения материала вам не понадобятся никакие навыки программирования. Следуйте моим инструкциям, и к концу статьи у вас будет свой собственный экземпляр Notion, работающий на удаленном хостинге.
Для деплоя я буду использовать сервис Amvera Cloud. Я выбрал его за простоту развертывания и предоставление бесплатного доменного имени с HTTPS-протоколом, которое будет выделено вам сразу после создания проекта.
Для деплоя нам понадобится создать Dockerfile (этот файл будет использоваться как для локального запуска, так и для развертывания). Технически, вам достаточно будет скопировать настройки с этой статьи и все у вас заработает. Затем, просто загрузите этот файл через консоль на сайте Amvera Cloud, и ваш проект соберется и запустится автоматически!
В качестве бонуса за регистрацию вы получите 111 рублей, что позволит вам запустить проект бесплатно уже в процессе чтения этой статьи. Подробнее об этом в разделе про деплой.
Как я создавал онлайн игру «нарды» (часть четвертая). Сервер
Всем привет!
В прошлой статье я описал модуль "авторизация", который использую в своем проекте и рассказал, как проходит аутентификация и авторизация пользователей, какие библиотеки и методы используются в системе, а сегодня, согласно опросу проведенному во второй части, я расскажу о модуле "игра". Именно в нем происходит вся "магия" игры.
Как я свалил рутинные задачи на low-code-платформу и не пожалел
Привет! На связи Леша Шамшур, разработчик ПО LiSeller. Недавно мой хороший знакомый Паша устроился джуниор-разработчиком в отдел бэкенд-разработки Debex: компания продает просроченные долги.
После пришел ко мне и захотел поделиться уже своим опытом работы с low-код-инструментами. Решили, что будет круто выложить инсайты на Хабр. Начнем 👇
Настройка алиасов путей с помощью Node.js Subpath Imports в TypeScript проекте
Я попробовал новые Node.js Subpath Imports для алиасов путей в TypeScript проекте. Оказалось, всё не так просто!
Красно-черные сигналы в node.js
Что происходит, когда мы отправляем сигнал приложению на node.js? Когда вызываются обработчики? А где хранятся? Во всем этом мы разберемся в данной статье, начиная от пользовательского кода на javascript и до встречи с операционной системой.
Как я сделал платформу коротких видео в Telegram Mini Apps
Недавно я поехал на море с другом. Во время пути мы узнали, что YouTube собираются блокировать (или замедлять). Тут в моей голове родилась идея: почему бы не сделать видеохостинг в Telegram? Я поспорил с другом, что сделаю его по дороге, но ноутбук сел. Поэтому мы договорились, что я сделаю это за день (спойлер: получилось, но кривовато).
Способы запуска Telegram mini apps
Существует множество различных способов запуска Telegram Mini Apps, но я для себя выделил несколько наиболее удобных и простых методов.
Топ модулей для распознавания рекапчи на Python, Node js и PHP
В наш век автоматизации большинство решений можно найти в свободном доступе, и я говорю сейчас не про решение задач по математике, а чуть более сложные задачи, типа парсинга данных, и как в нашем случае, распознавания рекапчи. Но как найти хороший модуль? Ведь с получением доступа к технологиям его получили все и добросовестные разработчики и откровенные мошенники.
Я проанализировал рынок модулей распознавания капчи и у меня получился свой субъективный топ модулей на трех популярных языках программирования. Давайте разбираться!
Как я создавал онлайн игру «нарды» (часть третья). Сервер
Всем привет!
В прошлой статье я описал архитектуру сервера и рассказал, как устроено само приложение, которое обслуживает клиентов игры. В конце статьи было голосование, о каких модулях приложения было бы интересно прочитать и голоса в основном разделились между модулями "авторизация" и "игра".
Я решил начать с модуля авторизации, так как он, на мой взгляд, является базовым для любого проекта. В первой статье, я немного затрагивал эту тему, а в этот раз хочу разложить все по полочкам.
Ближайшие события
От любви до ненависти с process.send
Столкнулся со странной проблемой замедления получения данных от process.send - и решил поделиться симптомами и итоговым решением.
Автоматизировать LinkedIn за месяц без команды разработчиков? Легко! Делюсь своей историей
Привет, меня зовут Леша Шамшур, я разработчик ПО LiSeller. Еще недавно я думал, что разработка IT-продукта стоит денег — от 4–5 млн рублей в месяц, и собрать приличный MVP «на коленке» не получится. Но оказалось, что реализацию любого стартапа можно сильно удешевить благодаря low-code-инструментам.
Да, разработчики скептически относятся к таким инструментам, отдавая предпочтение классическому коду, но они идеальны для быстрой проверки гипотезы. Например, у меня от идеи до реализации MVP прошел всего месяц. В статье расскажу, что получилось реализовать и как сильно low-code помог сэкономить деньги и время.
Подключение PrismaORM в NestJS-mod приложение и проверка его работы через REST
Подключение Prisma к NestJS происходит через пакет https://www.npmjs.com/package/@nestjs-mod/prisma.
Проверка работы происходит через запуск E2E тесты на REST-ендпойтны.
Как я создал систему поиска недооцененных американских акций, используя данные Яху Финанс: мой путь к разумному выбору
Хочу рассказать о своем опыте поиска ценных бумаг на американском рынке, которые торгуются на NYSE, NASDAQ и AMEX.
Из России покупать акции иностранных компаний в 2024 году сложно, но варианты до сих пор остаются: иностранный брокер, страховая или некоторые российские брокеры, которые не попали под санкции.
Обычно я покупаю индексные фонды, но иногда хочется купить конкретные акции. Акции какой конкретной компании выбрать, ведь на американском рынке на август 2024 года их торгуется 10'522 штуки? Ответ на вопрос сложен и зависит от многих факторов. Правда, часто не хочется тратить много времени на анализ, но и совсем случайную акцию покупать не хочется.
Существует популярный ресурс Яху Финанс, который предоставляет различные данные по акциям, включая фундаментальные данные, а ещё сводные рекомендации аналитиков различных инвестиционных компаний: прогнозируемую цену бумаги и рекомендацию: покупать / продавать / держать. Все эти данные представлены на Яху в структурированном виде. По одной компании может быть дано множество прогнозов, например для Apple Inc. (AAPL) в августе 2024 таких прогнозов было дано 38 от различных инвестиционных компаний.
Мне пришла идея - а почему бы не собрать эти данные по каждой бумаге, отфильтровать по потенциалу роста - проценту между текущей и прогнозируемой по мнению этих аналитиков ценой, а ещё учесть сколько компаний-аналитиков проводило анализ за два последних месяца. Обязательно фильтровать и учитывать текущую дивидендную доходностью. При практических исследованиях оказалось, что не все акции имеют такие данные о прогнозной цене, а только 4'250 из 10'522 бумаг. Оставшиеся 6'272 акции не имеют данных о прогнозируемой цене.
Акции с прогнозными ценами - можно перебирать каждую из 4'250 бумаг и если она отвечает требованиям - включать в выборку. Ну а с выборкой уже работать самому, когда механический отбор произведён.
Как я создавал онлайн игру «нарды» (часть вторая). Сервер
Всем привет!
Напомню, что в первой части я рассказал о том, как выбирал игру и как начинался процесс ее создания. В конце статьи было голосование, о чем написать в следующей части и большинство выбрало тему сервера, по этому сегодня статья о нем.
Последние несколько лет я использую исключительно облачную инфраструктуру для запуска проектов, это не только позволяет существенно экономить финансовые ресурсы на этапе разработки, но и дает возможность в дальнейшем легко масштабировать мощности по мере роста нагрузки на сервера в процессе эксплуатации.
Расширяем кругозор: Garbage Collector в V8
Всем привет, Хабрчане! Во время подготовки к очередному тех-собесу, я задался вопросом: а как в V8 работает Garbage Collector, что такое Heap и Stack, про которые я неоднократно слышал? После прочтения нескольких англоязычных и русскоязычных ресурсов понял, что одни копают очень глубоко, а другие дают лишь минимальную базу. Я решил сделать что-то среднее и с агрегировать все эти знания в одну статью и плавно погрузить читателя в тему.
А что если вместо банковского вклада использовать облигации после резкого повышения ставки Банком России?
Процентные ставки по вкладам сейчас очень высокие - Банк России публикует информацию о 17,11%, но что если вместо традиционных банковских депозитов использовать облигации для сбережения и получения дополнительного пассивного дохода от этого актива?
Какие у облигаций есть особенности?
📍 Покупать облигации всегда выгоднее, когда ключевая ставка высокая (сейчас 18%). В таких случаях рыночная цена облигаций будет ниже, а доходность к погашению - больше.
📍 При покупке облигаций доходность фиксирует на всё время владения облигациями до их погашения.
📍 Когда Банк России начнет снижать ставку, доходность облигаций начнет падать, а цена - расти, но доходность облигаций, которые уже куплены останется неизменной.
Четыре года назад я написал открытый скрипт, который обращается к API Московской биржи и создаёт выборку по полезным параметрам. Публичных сервисов в интернете по поиску облигаций довольно много, но особенностью моего скрипта стало то, что скрипт выдаёт небольшой список интересных вариантов, которые можно купить прямо сегодня и сейчас. Ведь на Мосбирже торгуется больше двух тысяч облигаций, однако большинство из них не ликвидны, то есть по ним нет или совсем мало предложений о продаже - купить их невозможно.
За эти годы скрипт регулярно менялся. Сейчас представляю его обновленную версию.