Обновить

Разработка

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

Биномиальное — это не нормальное распределение

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

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

С графиками и без формул

Мобильная разработка за неделю #612 (8 — 14 декабря)

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

В этом выпуске особенности Struct в Swift и RemoteCompose в Android, знакомство с Frida и новые умные очки Google, сломанное ценообразование приложений с подпиской, навигация на SwiftUI, создание анимированных полос и многое другое. Заходите!

Читать далее

Как реализовать выборочную долговременную память в LLM-боте на Python

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

LLM-модели хорошо решают задачи диалога, но имеют одно ключевое ограничение: отсутствие встроенной долговременной памяти. Модель опирается только на текущий контекст.

Читать далее

Станет ли FreeBSD 15.0 новым шагом в развитии свободной ОС

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

2 декабря 2025 года, спустя два года после выхода ветки 14.0, сообщество FreeBSD представило долгожданный релиз 15.0. Нам обещают ряд технических улучшений и серьезные изменения в подходе к разработке и сопровождению системы. Кажется, все желающие уже выпустили новости по этому случаю с перечислением основных апдейтов. Что ж, попробуем посмотреть внимательнее, что же нам предлагают.

Читать далее

Golang: Пакет для мульти-логирования на основе log/Slog

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

Golang: Пакет для мульти-логирования на основе log/Slog

Привет Хабр! Это моя первая статья тут, я надеюсь получилось читабельно и интересно :-)

В статье я описываю свой небольшой проект мульти-логера, написанный на основе распространённого в go пакета log/Slog.

Читать далее

Кейс: как мы ускорили серверную часть мобильной игры в 2,5 раза и снизили расходы в 5 раз

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

Как ускорить серверную часть мобильной MMO-игры в 2,5 раза и при этом сократить инфраструктурные расходы в 5 раз? В этом кейсе рассказал опыт проекта The Firstborn: почему виртуальная машина перестала справляться с нагрузкой ещё до релиза, зачем мы отказались от геораспределённой базы данных, как выбор точки размещения повлиял на пинг по всему миру и почему переход на выделенный сервер с NVMe кардинально изменил стабильность, деплой и скорость серверного просчёта боёв.

Читать далее

Минимальный набор практик для микросервиса

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

Я собрал минимальный набор практик, без которых микросервис очень быстро превращается в «чёрный ящик»: логи, трассировка, метрики, конфигурация, feature flags, тестирование и чуть-чуть документации. Это не теория — это вещи, которые я выстрадал, пока делал Go-шаблон для коллег, переходящих после Ruby/PHP, и пытался сделать так, чтобы сервис было реально удобно запускать, отлаживать и поддерживать.

Внутри — простые объяснения, почему эти штуки окупаются, и примеры на Go: как разделить логи и связать их с trace_id, как руками добавить span, какие метрики имеет смысл считать, как организовать конфиг, зачем OpenFeature, почему testcontainers — это не боль, и почему Makefile иногда экономит больше времени, чем очередной «идеальный рефакторинг».

Читать далее

Remote-first в ритейле: чиню принтеры из кресла, в зал выхожу только по запаху гари

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

Привет всем, кто заглянул на Хабр в поисках чего-нибудь интересного под кофе!

Устраивайтесь поудобнее, поговорим про ту самую работу, где в тикете пишут просто «Не работает принтер», логов — ноль, деталей — ноль, а магазин уже горит и всем «очень срочно». И при этом ты сидишь в подсобке, смотришь в принт-сервер, веб-морду и RDP, и стараешься чинить всё, не вставая со стула.

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

Никакой занудной теории: только живой кейс из практики, рабочие шаги диагностики, немного самоиронии и мысли о том, как сделать так, чтобы уставал не ты, а только spooler.

Нука-нука, что там у тебя...

Сборка высокопроизводительного AI-десктопа

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

Запуск крупных языковых моделей локально всегда был игрой в компромиссы. Вы либо тратите более $10 000 на GPU потребительского уровня, которые едва справляются с моделями на 70 миллиардов параметров, либо мечтаете о корпоративном оборудовании, которое вам никогда не по карману. Платформа Grace-Hopper — архитектура суперчипов Nvidia, объединяющая CPU и GPU на одном кристалле, — представляет собой именно ту инфраструктуру для ИИ, о которой мечтает сообщество LocalLlama, причём системы обычно стоят более $100 000 и доступны исключительно дата-центрам и исследовательским учреждениям.

Поэтому, когда я наткнулся на систему Grace-Hopper, продаваемую за 10 тысяч евро на Reddit, моей первой мыслью было «откровенный развод». Второй мыслью было «интересно, а согласится ли он на 7,5 тысячи евро?».

Это история о том, как я приобрёл корпоративное ИИ-оборудование, разработанное для жидкостного охлаждения в серверных стойках, которое было переделано на воздушное охлаждение, затем я снова перевёл его на водяное охлаждение, пережил несколько "почти катастроф" (включая работу с GPU, сообщающим, что у него температура в 16 миллионов градусов) и в итоге получил настольную систему, способную запускать модели с 235 миллиардами параметров дома. Это повествование о сомнительных решениях, творческом решении проблем и о том, что происходит, когда вы пытаетесь превратить серверное оборудование в повседневную рабочую станцию.

Если вам когда-либо было интересно, что требуется для запуска действительно крупных моделей локально, или если вы просто пришли посмотреть, как кто-то разбирает оборудование стоимостью $80 000, вооружившись лишь надеждой и изопропиловым спиртом, вы попали по адресу.

Читать далее

Бинарные протоколы передачи данных. Разбираемся на примере NodeJS приложения

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

Разработка эффективных и безопасных приложений требует не только хорошо продуманного API, но и правильного выбора протокола передачи данных. Веб-приложения обычно используют текстовые форматы, такие как JSON или XML, но для высокопроизводительных систем, требующих минимальной задержки и небольшого объема передачи данных, может быть выгодно использовать бинарные протоколы.

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

Читать далее

Скажи yay -S say

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

Статья содержит описание работы утилиты для видео звонков из командной строки say. Рассказывается о том как всё устроено под капотом, как оптимизированно и почему всё работает так быстро с минимальным размером памяти и нагрузки на CPU.
Так же небольшой обзор утилиты see для просмотра фильмов опять же в окне терминала.

Читать далее

Оптимизация памяти в C# (и немного в Unity): эффективные методы и стратегии

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

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

Язык программирования C#, несмотря на то, что обеспечивает автоматическое управление памятью с помощью механизма сборки мусора (GC), требует от разработчиков специальных знаний и навыков для оптимизации работы с памятью.

Читать далее

Анализ данных с сайта Pet911

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

В статье рассмотрено программное решение для сбора набора данных о пропавших и найденных животных с сайта Pet911.ru – крупнейшей в России система поиска пропавших животных, анализа и визуализации полученных данных. Исследуется зависимость шанса нахождения животного или новых хозяев от его вида, возраста, подробности описания примет, числа комментариев, количества фотографий и так далее Формируется статистика о пропавших питомцах по регионам. Данная работа может помочь при организации поисков пропавших животных и для нахождения хозяев уличным животным, создании новых волонтёрских объединений.

Исследование выполнено в рамках дисциплины «Большие данные» магистерской программы «Математические методы анализа и визуализации данных» Санкт‑Петербургского политехнического университета Петра Великого.

Читать далее

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

Оптимизация загрузки CPU в C# (и немного в Unity): ключевые подходы и стратегии на примерах

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

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

Читать далее

Вот такие пироги… Почему нам врут круговые диаграммы

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

Все мы видели круговые диаграммы. Их любят рисовать во всяких отчётах и презентациях. А ещё их очень любят авторы рекламных материалов и стоковых картинок: довольный «эффективный менеджер» с лучезарной улыбкой держит в руках распечатку графиков своего головокружительного успеха.

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

Читать далее

Арифметика сверточных слоев. Вычисляем размерность изображения с учетом stride, padding и dilation

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

Одна из проблем при проектировании сверточных сетей (CNN) – несоответствие размеров тензоров. Неправильно заданные padding, stride или dilation могут замедлить разработку модели.

Этот туториал – шпаргалка по формулам расчета размерности преобразованного изображения. Мы разберем, как каждый параметр свертки влияет на ширину и высоту выходного тензора. Материал будет полезен как новичкам, так и опытным разработчикам, желающим освежить ключевые формулы.

Читать далее

Как получить Featured badge в Chrome Web Store и удвоить установки (достаточно просто попросить)

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

Я попросил отметить расширение Highlighter Extension рекомендованным, и этого оказалось достаточно!

Ежедневные установки примерно удвоились, ну может, увеличились в полтора раза. Весь процесс занял 2–3 дня (люди пишут, что бывает от нескольких дней до месяца).

Читать далее

Wildberries API: версии есть, стабильности — нет

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

Всем привет. Я уже примерно 3 года занимаюсь ведением рекламы на маркетплейсах, в частности ВБ, и поскольку люблю все автоматизировать - разработкой и поддержкой инструмента для управления рекламными кампаниями и аналитикой через публичный API Wildberries.

И в целом я уже привык к тому, что иногда новые версии методов абсолютно не соответствуют старым, даже там, где можно было сделать обновленную версию с минимальными изменениями, чтобы разработчик просто поменял URL ендпоинта. Привык что приходится иногда делать работу ради работы по сути, потому что кто-то не продумал заранее проблемные нюансы.

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

Постараюсь описывать проблемы WB API не с позиции «пользователя, которому не понравилось», а с точки зрения интегратора, который отвечает за стабильную работу рекламы для нескольких клиентов с миллионными оборотами. Я сознательно опускаю детали реализации и не привожу конкретные ID кампаний и запросы, но описываю поведение, воспроизводимое на сотнях кампаний нескольких клиентов.

Читать далее

В прошлом квартале я внедрил Microsoft Copilot для 4000 сотрудников

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

В прошлом квартале я внедрил Microsoft Copilot для 4000 сотрудников.

$30 за место в месяц.

$1,4 миллиона в год.

Я назвал это "цифровой трансформацией".

Совету директоров понравилась эта формулировка.

Они одобрили за одиннадцать минут.

Никто не спросил, что это вообще будет делать.

Включая меня.

Я всем говорил, что это "увеличит продуктивность в 10 раз".

Это не реальная цифра.

Но звучит как реальная.

HR спросил, как мы будем измерять это увеличение в 10 раз.

Я сказал, что мы "задействуем аналитические дашборды".

Вопросы прекратились.

Три месяца спустя я проверил отчёты по использованию.

47 человек открывали его.

12 использовали больше одного раза.

Один из них — это я.

Я использовал его, чтобы пересказать письмо, которое мог прочитать за 30 секунд.

Это заняло 45 секунд.

Плюс время на исправление галлюцинаций.

Но я назвал это "успешным пилотом".

Успех означает, что пилот не провалился явно.

Финдир спросил про ROI.

Я показал ему график.

График шёл вверх и вправо.

Он измерял "AI-enablement".

Я эту метрику придумал.

Он одобрительно кивнул.

Теперь мы "AI-enabled".

Я не знаю, что это значит.

Но это есть в нашей инвесторской презентации.

Старший разработчик спросил, почему мы не используем Claude или ChatGPT.

Я сказал, что нам нужна "энтерпрайз-безопасность".

Он спросил, что это значит.

Я сказал "комплаенс".

Он спросил, какой именно комплаенс.

Я сказал "все виды".

Он выглядел скептически.

Я назначил ему "встречу по развитию карьеры".

Вопросы прекратились.

Microsoft прислала команду для кейс-стади.

Они хотели представить нас как историю успеха.

Читать далее

Обнови ICU в PHP 7.3 intl на Centos 7, если осмелишься

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

Надеюсь, этот материал вам никогда не понадобится. А если понадобится, то вы уже преисполнились проблемой и полны решимости ее исправить!

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

Я джва года ждал!