Category : javascript

javascript
Хватит это терпеть: как я написал Telegram-бота для VPS, который не бесит

Всем привет! Меня, как и многих здесь, в какой-то момент достало. Достало логиниться по SSH, чтобы проверить htop. Достало запускать Termius на телефоне, чтобы сделать sudo reboot зависшему инстансу. Достало ставить тяжелые веб-панели, которые жрут ресурсы и открывают лишний порт, только ради того, чтобы посмотреть загрузку диска.Я админю VPS. Мне нужен был инструмент, который:Мгновенно даёт сводку по системе.Работает легковесно, не отъедая ресурсы.Безопасен (никаких "запусти_от_рута_в_один…

  • четверг, 23 октября 2025 г. в 00:00:06
javascript
Почему Google Таблицы лучше Excel для частного инвестора, и при чем здесь Apps Script

Каждый инвестор рано или поздно сталкивается с необходимостью ведения учёта своего портфеля, особенно если брокеров несколько. В первом приближении для этого подходит Excel: многим знаком, работает локально и почти всегда установлен на компьютере. Подходит для расчета доходности, учета дивидендов.Однако механическая работа со временем утомляет, а возможности Excel для автоматизации онлайн получения котировок ограничены. Google Таблицы решают эту проблему: это изначально облачный инструмент. Что…

  • среда, 22 октября 2025 г. в 00:00:05
javascript
Оверинжиниринг в бэкенде: «промышленные» решения, которые чаще вредят, чем помогают

За годы работы с TypeScript, Java, Kotlin и Go я не раз сталкивался с одним и тем же паттерном: команда внедряет «правильное» архитектурное решение — и получает не гибкость, а технический долг.Причина проста: оверинжиниринг маскируется под профессионализм. Мы выбираем сложные инструменты не потому, что они нужны, а потому, что «так делают в серьёзных проектах».В результате принцип KISS — «Keep It Simple, Stupid» — работает не хуже, чем в 1930-х, когда его впервые сформулировали в среде авиацион…

  • среда, 22 октября 2025 г. в 00:00:04
javascript
Веб. К черту фреймворки! Пишем свой starter-kit с роутером и сторами. Часть 2

Продолжение статьи. Предыдущая статья немного неполная, поскольку по совету @cpud47 добавил в исходный код реализацию динамических роутов, а также страницу с примером работы. Впрочем, логика там особо не поменялась, а результат можно посмотреть в исходниках.РеактивностьГоворя о реактивности, я буду подразумевать механизм, который автоматически обновляет пользовательский интерфейс при изменении данных. По сути, все, что делает веб приложение - показывает данные и обновляет их при каких-либо собы…

  • вторник, 21 октября 2025 г. в 00:00:04
javascript
URLPattern — pattern matching, который мы ждали

Привет, Хабр! На связи снова Сергей, ведущий фронтенд-разработчик из Центрального университета. В последнее время я преисполнился URL и опять хочу про него рассказать. В прошлой статье я рассказал о том, почему неправильно использовать URL API для валидации ссылок. В этот раз буду использовать инструменты по назначению. Речь пойдет про новый URLPattern API для сопоставления URL с шаблонами, который позволит валидировать ссылки без головной боли.Что за новое APIПоследние четыре года WHATWG актив…

  • вторник, 21 октября 2025 г. в 00:00:03
javascript
DANILOS

Буду хвастаться своим прекрасным рабочим столом на macOS.От читателей жду комментарии на тему того, как это можно улучшить, потому что мои решения далеки от идеала — сделано «на коленке».Часть этого процесса я уже описывал в предыдущей статье.Как и многие, я понял, что рабочий стол — это не место для файлов и папок.Это не секрет, что возможность класть туда всё нужное и ненужное — ужасная практика, порождающая хаос.Допустим, вы уже дошли до того уровня дзена, чтобы перестать этим пользоваться, …

  • понедельник, 20 октября 2025 г. в 00:00:02
javascript
Числовой тип данных с плавающей точкой float IEEE 754

Данная статья посвящена детальному разбору числового типа данных float.Что такое тип данных в программировании?Тип данных это метод хранения блока битов в определённом порядке и по определённым алгоритмам (правилам), чтобы при декодировании битов можно было получить достоверные данные.Существует две группы типов данных:ПримитивныеСтруктурированныеПримитивные типы данных делятся на целочисленные, вещественные, символьный, строковый, логический.Структурированные типы данных устроены гораздо сложн…

  • воскресенье, 19 октября 2025 г. в 00:00:06
javascript
Ну это полный мэтч! Как мы сделали бота для знакомств в чатах

Всем привет, я Иван, продакт-менеджер. И я остою в айтишном чате — человек двести, может, чуть больше. Там всё как обычно: обсуждаем новости, спорим про фреймворки, кидаем мемы.Сообщений очень много, и когда новички приходят, пишут интро о себе — через пару минут их уже никто не видит, всё уходит в ленту. В какой-то момент стало интересно: можно ли эту проблему решить алгоритмом?Так появилась идея бота, который помогает людям знакомиться по интересам, а не случайно. В этой статье я расскажу, ка…

  • суббота, 18 октября 2025 г. в 00:00:07
javascript
Протоколы (устройства) системы DevelSCADA (часть 2)

Данная статья является продолжением этой статьи:Протоколы (устройства) системы DevelSCADA (часть 1)Система DevelSCADA, как и любая SCADA система, в первую очередь предназначена для взаимодействия с к...habr.comПеред прочтением данной статьи, желательно ознакомиться с предыдущей, так как в ней может находиться информация, необходимая для понимания текущей.Устройство "OPC UA"Протокол OPC является наиболее универсальным, так как поддерживает все популярные типы данных и механизмы обмена ин…

  • пятница, 17 октября 2025 г. в 00:00:06