Golang: Пакет для мульти-логирования на основе log/Slog
Привет Хабр! Это моя первая статья тут, я надеюсь получилось читабельно и интересно :-)
В статье я описываю свой небольшой проект мульти-логера, написанный на основе распространённого в go пакета log/Slog.
Читать далееСтруктура дорожной карты, гайд по скрамбану, аналоги джиры, диаграмма Венна, убивающий таск-трекер, работа с синдромом самозванца, как понять, что хочет заказчик, и всё интересное, что писали за последние 2 недели про управление проектами. Мы прочитали все публикации и выбрали для вас самые крутые и полезные. Читайте, сохраняйте и применяйте!
Читать далееКак ускорить серверную часть мобильной MMO-игры в 2,5 раза и при этом сократить инфраструктурные расходы в 5 раз? В этом кейсе рассказал опыт проекта The Firstborn: почему виртуальная машина перестала справляться с нагрузкой ещё до релиза, зачем мы отказались от геораспределённой базы данных, как выбор точки размещения повлиял на пинг по всему миру и почему переход на выделенный сервер с NVMe кардинально изменил стабильность, деплой и скорость серверного просчёта боёв.
Читать далееЯ собрал минимальный набор практик, без которых микросервис очень быстро превращается в «чёрный ящик»: логи, трассировка, метрики, конфигурация, feature flags, тестирование и чуть-чуть документации. Это не теория — это вещи, которые я выстрадал, пока делал Go-шаблон для коллег, переходящих после Ruby/PHP, и пытался сделать так, чтобы сервис было реально удобно запускать, отлаживать и поддерживать.
Внутри — простые объяснения, почему эти штуки окупаются, и примеры на Go: как разделить логи и связать их с trace_id, как руками добавить span, какие метрики имеет смысл считать, как организовать конфиг, зачем OpenFeature, почему testcontainers — это не боль, и почему Makefile иногда экономит больше времени, чем очередной «идеальный рефакторинг».
Читать далееМеждународный коллектив ученых из Института космических исследований Российской академии наук (ИКИ РАН), МФТИ и Бэйханского университета (Китай) обнаружил ранее неизвестный механизм ускорения частиц и перераспределения энергии в магнитном хвосте Земли. Анализируя данные миссии NASA Magnetospheric Multiscale (MMS), исследователи показали, что турбулентные потоки плазмы, удаленные от основной зоны высвобождения энергии, сами становятся источниками мощных, но локальных «микро-ускорителей». Эти процессы сопровождаются генерацией интенсивных электростатических волн, служащих маркерами скрытых событий. Результаты работы, меняющие представление о динамике космической плазмы, опубликованы в журнале JETP Letters. Исследование поддержано грантом 23-12-00031 Российского научного фонда.
Читать далееПривет всем, кто заглянул на Хабр в поисках чего-нибудь интересного под кофе!
Устраивайтесь поудобнее, поговорим про ту самую работу, где в тикете пишут просто «Не работает принтер», логов — ноль, деталей — ноль, а магазин уже горит и всем «очень срочно». И при этом ты сидишь в подсобке, смотришь в принт-сервер, веб-морду и RDP, и стараешься чинить всё, не вставая со стула.
В этой статье — мой взгляд на удалённую первую линию в ритейле: как по-честному закрывать запросы через логи, статус принтера и настройки на клиенте, а не марш-броском до каждой железки. Расскажу, что смотреть первым делом, как понять, что проблема ещё в софте, а когда уже пора реально встать и идти к принтеру, который жует бумагу и пахнет гарью.
Никакой занудной теории: только живой кейс из практики, рабочие шаги диагностики, немного самоиронии и мысли о том, как сделать так, чтобы уставал не ты, а только spooler.
Нука-нука, что там у тебя...Запуск крупных языковых моделей локально всегда был игрой в компромиссы. Вы либо тратите более $10 000 на GPU потребительского уровня, которые едва справляются с моделями на 70 миллиардов параметров, либо мечтаете о корпоративном оборудовании, которое вам никогда не по карману. Платформа Grace-Hopper — архитектура суперчипов Nvidia, объединяющая CPU и GPU на одном кристалле, — представляет собой именно ту инфраструктуру для ИИ, о которой мечтает сообщество LocalLlama, причём системы обычно стоят более $100 000 и доступны исключительно дата-центрам и исследовательским учреждениям.
Поэтому, когда я наткнулся на систему Grace-Hopper, продаваемую за 10 тысяч евро на Reddit, моей первой мыслью было «откровенный развод». Второй мыслью было «интересно, а согласится ли он на 7,5 тысячи евро?».
Это история о том, как я приобрёл корпоративное ИИ-оборудование, разработанное для жидкостного охлаждения в серверных стойках, которое было переделано на воздушное охлаждение, затем я снова перевёл его на водяное охлаждение, пережил несколько "почти катастроф" (включая работу с GPU, сообщающим, что у него температура в 16 миллионов градусов) и в итоге получил настольную систему, способную запускать модели с 235 миллиардами параметров дома. Это повествование о сомнительных решениях, творческом решении проблем и о том, что происходит, когда вы пытаетесь превратить серверное оборудование в повседневную рабочую станцию.
Если вам когда-либо было интересно, что требуется для запуска действительно крупных моделей локально, или если вы просто пришли посмотреть, как кто-то разбирает оборудование стоимостью $80 000, вооружившись лишь надеждой и изопропиловым спиртом, вы попали по адресу.
Читать далееРазработка эффективных и безопасных приложений требует не только хорошо продуманного API, но и правильного выбора протокола передачи данных. Веб-приложения обычно используют текстовые форматы, такие как JSON или XML, но для высокопроизводительных систем, требующих минимальной задержки и небольшого объема передачи данных, может быть выгодно использовать бинарные протоколы.
В этой статье мы рассмотрим, как разработать собственный бинарный протокол для приложений на основе Node.js и WebSockets, добавить авторизацию с помощью JWT и изучим преимущества бинарного протокола по сравнению с другими форматами данных.
Читать далееИногда даже долгожданный отпуск не приносит радости, если знаешь, что скоро возвращаться в рабочую рутину. Возникает вопрос: «Почему одни люди счастливо идут на работу, а другие сталкиваются с апатией и выгоранием? И, даже если меняют организацию или уходят в новую сферу, попадают в ту же самую западню?»
Читать далееСтатья содержит описание работы утилиты для видео звонков из командной строки say. Рассказывается о том как всё устроено под капотом, как оптимизированно и почему всё работает так быстро с минимальным размером памяти и нагрузки на CPU.
Так же небольшой обзор утилиты see для просмотра фильмов опять же в окне терминала.
В мире современного программирования эффективное использование ресурсов, включая память, является ключевым аспектом разработки приложений. Сегодня мы поговорим о том, как можно оптимизировать доступные ресурсы в процессе разработки.
Язык программирования C#, несмотря на то, что обеспечивает автоматическое управление памятью с помощью механизма сборки мусора (GC), требует от разработчиков специальных знаний и навыков для оптимизации работы с памятью.
Читать далееAI развивается очень быстро, но основной фокус у большинства - на LLM.
Но кроме LLM есть и другие применения и в этой статье - рассказ про проект синхронного перевода (в реальном времени) между любыми парами языков:
https://github.com/QuentinFuxa/WhisperLiveKit/
Основан этот проект на OpenAI Whisper. Что добавляет WhisperLiveKit?
Читать далееВ статье рассмотрено программное решение для сбора набора данных о пропавших и найденных животных с сайта Pet911.ru – крупнейшей в России система поиска пропавших животных, анализа и визуализации полученных данных. Исследуется зависимость шанса нахождения животного или новых хозяев от его вида, возраста, подробности описания примет, числа комментариев, количества фотографий и так далее Формируется статистика о пропавших питомцах по регионам. Данная работа может помочь при организации поисков пропавших животных и для нахождения хозяев уличным животным, создании новых волонтёрских объединений.
Исследование выполнено в рамках дисциплины «Большие данные» магистерской программы «Математические методы анализа и визуализации данных» Санкт‑Петербургского политехнического университета Петра Великого.
Читать далееВсем привет! Сегодня хотелось бы затронуть такую тему, как оптимизация CPU для ваших приложений на C#. В целом, эффективное использование вычислительных ресурсов, включая процессор, является одним из главных аспектов разработки программного обеспечения. В этой статье мы рассмотрим несколько ключевых подходов и стратегий оптимизации нагрузки на CPU в языке программирования C#.
Читать далееВсе мы видели круговые диаграммы. Их любят рисовать во всяких отчётах и презентациях. А ещё их очень любят авторы рекламных материалов и стоковых картинок: довольный «эффективный менеджер» с лучезарной улыбкой держит в руках распечатку графиков своего головокружительного успеха.
На первый взгляд может показаться, что круговая диаграмма — это отличный способ визуализации данных. Наглядно, красиво, высокохудожественно, современно. Однако у круговых диаграмм есть ряд проблем... При должном усилии их можно превратить в инструмент искажения данных. Но мы ведь хотим донести до наших читателей объективную информацию и не хотим её скрыть или исказить. Ведь правда?
Читать далееОдна из проблем при проектировании сверточных сетей (CNN) – несоответствие размеров тензоров. Неправильно заданные padding, stride или dilation могут замедлить разработку модели.
Этот туториал – шпаргалка по формулам расчета размерности преобразованного изображения. Мы разберем, как каждый параметр свертки влияет на ширину и высоту выходного тензора. Материал будет полезен как новичкам, так и опытным разработчикам, желающим освежить ключевые формулы.
Читать далееБыстрые автомобили. Гламурные локации. Драма на трассе и за ее пределами.
Растущая популярность Формулы 1 во многом обусловлена "Эффектом Netflix".
Читать далееЯ попросил отметить расширение Highlighter Extension рекомендованным, и этого оказалось достаточно!
Ежедневные установки примерно удвоились, ну может, увеличились в полтора раза. Весь процесс занял 2–3 дня (люди пишут, что бывает от нескольких дней до месяца).
Читать далееРечь в этой статье пойдет о личной продуктивности или как сделать больше в единицу времени и не "рипнуться от напряга". В свое время я пытался оптимизировать свой график, тогда я еще работал 5/2 и вел свой пет проект создавал игру на юнити. Времени на все катастрофически не хватало. В перерывах на работе я читал книгу по гейм дизайну и паттернам, а приходя домой сразу садился за работу. В то время я думал, что надо все больше и больше прилагать усилий, потому что другого варианта нет. В итоге игру я все же завершил, но в добавок получил хорошее выгорание. Чтобы предотвратить подобное, я разобрал некоторые не просто разобрал свои ошибки с отдыхом и мотивацией, а определил четкие принципы.
Читать далееВсем привет. Я уже примерно 3 года занимаюсь ведением рекламы на маркетплейсах, в частности ВБ, и поскольку люблю все автоматизировать - разработкой и поддержкой инструмента для управления рекламными кампаниями и аналитикой через публичный API Wildberries.
И в целом я уже привык к тому, что иногда новые версии методов абсолютно не соответствуют старым, даже там, где можно было сделать обновленную версию с минимальными изменениями, чтобы разработчик просто поменял URL ендпоинта. Привык что приходится иногда делать работу ради работы по сути, потому что кто-то не продумал заранее проблемные нюансы.
Но в последнее время в АПИ произошло такое количество изменений, и они настолько напрягают своими неочевидными ошибками, что уже "накипело", и хочется это сформулировать в виде какого-то структурированного текста с примерами, вдруг кто-то из команды обратит на это внимание.
Постараюсь описывать проблемы WB API не с позиции «пользователя, которому не понравилось», а с точки зрения интегратора, который отвечает за стабильную работу рекламы для нескольких клиентов с миллионными оборотами. Я сознательно опускаю детали реализации и не привожу конкретные ID кампаний и запросы, но описываю поведение, воспроизводимое на сотнях кампаний нескольких клиентов.
Читать далее