Обновить
206.15

JavaScript *

Прототипно-ориентированный язык программирования

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

Округление как зеркало корпоративной культуры в IT-продуктах

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

Представление чисел в IT сфере - одна из самых простых вещей, которую интуитивно знает каждый разработчик, аналитик, тестировщик, админ (нужное подчеркнуть).

Еще из школы мы помним: Округление — замена числа на его приближённое значение (с определённой точностью), записанное с меньшим количеством значащих цифр. 

Точные определения и механизмы легко гуглятся.

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

Читать далее

Что такое MCP-сервер, и зачем он нужен

Уровень сложностиПростой
Время на прочтение15 мин
Охват и читатели22K

Привет, Хабр! Меня зовут Андрей Слесаренко — frontend‑разработчик с опытом работы более 8 лет. Прошёл путь от джуна до тимлида, работал над разными высоко‑нагруженными проектами. В начале этого года начал активно использовать LLM‑агентов в повседневной работе — и за это время набил немало шишек.

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

Читать далее

Веб-приложение без фронтенд-фреймворков в эпоху AI-поиска: личный опыт

Уровень сложностиСредний
Время на прочтение17 мин
Охват и читатели11K

Опыт одиночной разработки и поддержки долгоживущего веб-приложения: отказ от фронтенд-фреймворков, использование нативных возможностей браузера, работа с Core Web Vitals и влияние AI-поиска на трафик реального проекта.

Читать далее

n8n — масштабируем получение SMS и уведомлений с нескольких (десятков) SIM-карт одновременно

Уровень сложностиПростой
Время на прочтение21 мин
Охват и читатели6.8K

TL;DR Автор в прошлой статье настроил Telegram-чат, куда несколько смартфонов скидывают пуши с помощью MacroDroid и/или Tasker. Проблема в том, что смартфоны брали на себя слишком много работы. Что, если они будут тонкими клиентами, которые шлют сырые данные на сервер, где уже происходит вся обработка и рассылка? Автор делится workflow и конфигурацией для n8n, которые позволяют это реализовать в режиме "Быстрого старта".

Читать далее

Next JS и React опять дал сбой? CVE-2025-55182, или о том как легко ломают сервера

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

История о том, как одна критическая уязвимость (CVE-2025-55182) в серверных компонентах React привела к полному захвату нашего тестового сервера. Майнер, убитые системные процессы, сломанный GRUB и 10 часов борьбы за контроль. Разбираем хронологию взлома, наши ошибки и жесткие выводы о безопасности современной Full-Stack разработки.

Читать далее

Я участвовал в Advent of Code каждый год, начиная с 2021, и мне есть что сказать

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

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

Меня зовут Стас Федянин, я ведущий инженер-программист в Контуре. Недавно завершился Advent of Code 2025 — в этом году он длился 12 дней вместо 25. Я участвовал, как и пять предыдущих лет. Созрел на эту статью, потому что подумал, что мой опыт и мнение будут интересны сообществу, ведь есть изюминка: каждый год я писал код на новом языке. Считаю, это отличный способ расширить кругозор. В статье делюсь нюансами всех опробованных языков.

Читать далее

Хаос второго порядка: Как алгоритмические торговые боты играют сами против себя в убыток

Уровень сложностиСложный
Время на прочтение7 мин
Охват и читатели7.9K

🤖 Тысячи копий одного и того же алгоритма от Claude/Grok/ChatGPT торгуют друг против друга. Это создаёт спираль смерти, на которой зарабатывает только биржа через комиссии

Читать далее

Переводим проекты с Python на Node.js: на что способна локальная LLM на самом деле

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

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

Всем привет! Меня зовут Максим, и я работаю в ООО РТК ИТ руководителем направления в департаменте разработки и развития систем поддержки бизнеса (ОП ЮГ). В этой статье расскажу, как с помощью локальной языковой модели автоматизировал перевод Python-проектов в Node.js.Опишу технические детали реализации от сборки контекста до генерации файлов с кодом. Подниму вопрос масштабируемости, ограничений LLM при работе с большими проектами и возможных улучшений для повышения точности перевода.

Читать далее

JSDocs в VSCode

Время на прочтение3 мин
Охват и читатели9.4K

Меня зовут Алекс Гусев. В этой публикации я очень кратко раскрываю, почему переход с IntelliJ IDEA (PhpStorm) на VSCode ломает привычную работу с JSDoc в JavaScript-проектах.

Читать далее

Индикация раскладки клавиатуры подсветкой — решение для GNOME

Уровень сложностиСредний
Время на прочтение18 мин
Охват и читатели18K

Несмотря на весь технический прогресс IT, мне за всё время так и не удалось повстречать убедительное решение проблемы ввода «ghbdtn» вместо «привет» или «lf» вместо «да» — путаницы с раскладкой клавиатуры при наборе текста.

Предлагаю свой вариант — менять в зависимости от раскладки цвет всей подсветки клавиатуры. С таким подходом куда бы вы ни смотрели перед компьютером, подсветка будет хорошо заметна периферийным зрением, и вы всегда будете знать какая раскладка выбрана.

Я опишу реализацию решения для среды рабочего стола GNOME, проверенное на дистрибутивах Fedora 43 и Ubuntu 24.04.

Читать далее

Практическая оптимизация React: ререндеры, Context, списки, INP и code splitting

Уровень сложностиПростой
Время на прочтение15 мин
Охват и читатели9.6K


Оптимизация в React почти всегда сводится к двум факторам: объёму работы, которую выполняет JavaScript, и частоте (а также «стоимости») перерисовок компонентов. Сам React работает достаточно быстро, но в крупных интерфейсах даже небольшие архитектурные промахи и на первый взгляд безобидные ререндеры начинают заметно бить по производительности.

В данной статье мы расскажем про ключевые подходы к оптимизации React-приложений: как уменьшить количество лишних ререндеров, сократить объём вычислений при вводе и скролле и снизить нагрузку стартового JavaScript.

Читать далее

Мультиплексирование: от основ до сложных сценариев

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

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

Читать далее

Как я нашёл уязвимость в JavaScript-движке, или Почему корень из нуля чуть не сломал браузеры

Время на прочтение19 мин
Охват и читатели36K

Сколько будет корень из нуля? Даже школьник ответит не задумываясь: ноль. Но если задать этот вопрос JIT‑компилятору Maglev внутри движка V8, то при определённых обстоятельствах он сначала скажет: «ноль», а потом решит сэкономить на проверке безопасности и отдаст злоумышленнику доступ к памяти браузера.

Меня зовут Паша Кузьмин, я занимаюсь практической безопасностью Яндекс Браузера и проекта Chromium. В нашей команде мы регулярно разбираем уязвимости и исследуем методы атак — чтобы защищать пользователей до того, как их атакуют злоумышленники. Сегодня расскажу про CVE-2025-9864 — уязвимость, которую я нашёл в движке V8.

Это история о том, как безобидный Math.sqrt(0) превращается в use‑after‑free, а затем в произвольное чтение и запись памяти. Разберём проблему по шагам: от теории до работающего эксплойта.

Читать далее

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

Рендер-функции и Teleport в Vue.js

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели6.8K

Декларативные шаблоны Vue решают 90% задач фронтенда. Но периодически возникают ситуации, где шаблонного синтаксиса оказывается мало. Нужен более тонкий контроль над рендерингом или возможность вынести часть компонента за пределы его естественной позиции в DOM-дереве. Для таких случаев Vue 3 послал нам render-функции и встроенный компонент Teleport.

Понять Vue

Module Federation на примере фишинга

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели5.9K

Разберём микрофронтенд через историю вымышленного хакера — и заодно поймём, почему это спрашивают на собеседованиях.

Недавно на собесе меня спросили: "А как именно работают микрофронты? Там что, прямо eval используют?"

Я что-то промямлил про expose, host, сборку... и понял, что вообще не понимаю сути. Знакомо?

Читать далее

Изучаем транспорт для ShadowSocks/XRAY: от «голубиной почты» до туннеля по WebRTC

Уровень сложностиСредний
Время на прочтение19 мин
Охват и читатели12K

В компьютерных сетях (как и, в принципе, при любой передаче информации) есть и всегда будут существовать две задачи:

конфиденциальность (confidentiality) - я отправляю письмо Маше, это всем известно, но что в этом письме - можем прочитать только мы с Машей

анонимность (anonymity) - все могут прочитать содержимое письма, но от кого оно и куда - непонятно (понимаем только мы с Машей)

Соответственно, имея те или иные цели есть множество решений этих задач.

Итак, хорошо. Вот я подключаюсь к своему любимому серверу, и делаю я это по SSH. В целом - мне не так важно, что кто-то узнает, что именно Я подключаюсь именно к ЭТОМУ серверу, больше меня беспокоит, чтобы никто не прочитал мои пароли, мой трафик, и влез таким образом в мои дела. Т.е. в данном случае речь идёт о конфиденциальности. Если бы я делал это по старому доброму Telnet, то увы, здесь я полностью под вашей властью - и по IP меня можно вычислить, и все передаваемые данные в открытом виде.

Читать далее

Замещение Pega, или Реинжиниринг онлайн

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели927

Импортозамещение крупных зарубежных платформ является одной из приоритетных задач для российского бизнеса. Сбер успешно мигрировал систему с иностранной платформы Pega на собственную разработку Platform V. Опыт реализации проекта станет полезным руководством для руководителей проектов, инженеров, аналитиков, архитекторов и специалистов, работающих над крупными ИТ-решениями.

Изгнание Пегаса - реинжениринг

Почему 90% торговых ботов умирают после первого деплоя

Уровень сложностиСложный
Время на прочтение4 мин
Охват и читатели13K

🐻 Почему 90% торговых ботов умирают после первого деплоя

Статья содержит код, который не просто можно запустить в чёрную на Binance, а в белую на Мосбирже через Альфа-Инвестиции или Т-Банк.

Читать далее

JavaScript: заметка об Invoker Commands API

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

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

В этой небольшой статье я хочу рассказать вам о новом Web API - Invoker Commands.

Invoker Commands API позволяет декларативно управлять поведением некоторых интерактивных элементов с помощью кнопок. "Декларативно" означает, что управления элементами осуществляется только с помощью HTML, без JavaScript.

На сегодняшний день этот API поддерживается всеми основными браузерами (в Safari пока только в качестве экспериментальной возможности).

Читать далее

shadcn-glass-ui: Glassmorphism поверх shadcn/ui без миграции

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели9.9K

Привет, Хабр! Представляю shadcn-glass-ui — библиотеку React-компонентов с glassmorphism-эффектами, которая работает поверх существующих shadcn/ui проектов без миграции.

Читать далее