Виссарион Григорьевич Белинский едет по вечернему Петербургу на извозчике. Извозчик видит — барин незаносчив, из простых, пальтишко на нём худое, фуражечка, — в общем, можно поговорить. Спрашивает: — Ты, барин, кем будешь? — А я, братец, литературный критик. — А это, к примеру, что ж такое? — Ну вот писатель напишет книжку, а я ее ругаю… Извозчик чешет бороду, кряхтит: — Ишь, говна какая…Срыв покровов: в 2GIS бывают фейковые отзывы!Тезисно:В 2GIS много странных/аномальных (накрученных) отзывовЗ…
Ошибки в приложениях неизбежны, но мы можем их смягчить и упростить отладку. Но как выбрать правильный способ обработки?В этой статье предлагаю разобраться, как организовать работу с ошибками в Go так, чтобы они не просто сигнализировали о проблеме, но и помогали быстро её локализовать, воспроизвести и устранить. Рассмотрим инструменты и ограничения Go, обсудим подходы к обработке ошибок, а в финале сформулируем регламент, который поможет выбрать оптимальный способ работы с ошибками в разных сц…
Привет, Хабр!Сегодня рассмотрим, почему безобидная строчка await fetch() неожиданно превращается в тормоз, где именно она зарывает драгоценные миллисекунды — и что можно сделать с этим.Холодные TCP-соединения: 200 мс на ровном местеСимптом: первый запрос к API стабильно дольше остальных, а при бурсте скачет в космос.Каждый fetch() в лоб открывает новый сокет: 1×DNS, 1×TCP-handshake, 1×TLS. Средний RTT в Европе ~50 мс, умножаем — получаем сотни лишних миллисекунд.Бенчмарки показывают 3-кратный …
Привет, Хабр (и просто случайные читатели, зашедшие сюда в поисках истины или интересной статейки на пару минут)! Сегодня я расскажу вам историю о том, как я провёл полгода в тесных объятиях «1С: Кабинет сотрудника» на новой технологии 1С:Элемент — системы, которая обещала сделать кадровый документооборот простым, как бутерброд с колбасой. Но, как выяснилось, бутерброд этот оказался с сюрпризом… то ли огурцом, то ли гвоздём.Изображение сгенерировано ChatGPT Впрочем, не будем забегать вперёд. П…
В первой статье цикла об исследовании инструментов для анализа производительности сайта мы рассмотрели вкладку Performance. В этом материале познакомимся с таким пакетом как Webpack Bundle Analyzer. В качестве тестового проекта использована сборка на базе Next.js 15-й версии с app router.Общие сведенияWebpack Bundle Analyzer - это npm пакет, который может наглядно продемонстрировать: как ваш проект разбивается на части;сколько эти части весят;какие npm-пакеты загружаются вместе с вашим кодом вн…
JacquardСсылка на GitHub: https://github.com/JacqquardСсылка готовый пример жмякХочу поделиться идеей, как сделать признание в любви особенным, запоминающимся и искренним, не прибегая к классическим цветам или банальным текстам в телеграме/вацапе на миллиард строк. Я расскажу про интерактивный веб-сайтик, который можно создать своими руками, чтобы передать свои чувства. Это не просто слова, а целая история, которая разворачивается на экране, погружая человека в атмосферу тепла и эмоций. Код, ко…
Всем привет! Меня зовут Дмитрий, и я занимаюсь веб-разработкой в IT-компании Intelsy, работая как на аутсорс-, так и на аутстафф-проектах. В своей работе я постоянно сталкиваюсь с задачами, связанными с датами и временем, и давно заметил, что стандартный объект Date в JavaScript часто доставляет много неудобств. Мне захотелось разобраться, почему так происходит и какие современные решения помогают упростить эту работу. Это привело меня к изучению нового API Temporal — перспективного инструмента…
Framework to prove inference of ML models blazingly fast🚀 DeepProve: Zero-Knowledge Machine Learning (zkml) Inference Welcome to DeepProve, a cutting-edge framework designed to prove neural network inference using zero-knowledge cryptographic techniques. Whether you're working with Multi-Layer Perceptrons (MLPs) or Convolutional Neural Networks (CNNs), DeepProve offers a fast and efficient way to verify computations without revealing the underlying data. zkml is the name of the subcrate imp…
Аналитики «Лаборатории Касперского» обнаружили уязвимость в мобильном приложении Rubetek Home. Злоумышленники могли получить доступ к конфиденциальной информации жильцов квартир и частных домов, а также совершать несанкционированные действия с общедомовыми устройствами.