Habr.com

Syndicate content Хабр
Все публикации подряд на Хабре
Updated: 31 min 21 sec ago

Скрываем данные от стандартного режима exiftool прямо в чанках PNG

Wed, 11/26/2025 - 12:10

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

Читать далее

[Перевод] Современный подход к предотвращению CSRF/CORF-атак в Go

Wed, 11/26/2025 - 12:09

Команда Go for Devs подготовила перевод статьи о новом подходе к защите Go-приложений от CSRF/CORF-атак. Автор разбирает, как связка TLS 1.3, SameSite cookies и http.CrossOriginProtection из стандартной библиотеки позволяют отказаться от токенов — но только если соблюдены важные условия. Насколько безопасен такой подход? Разбираемся.

Читать далее

Я всё сделаю сам: синдром спасателя у менеджера

Wed, 11/26/2025 - 12:05

Каждый менеджер хотя бы раз ловил себя на мысли: «Если не я, то кто?» Это вроде бы простая фраза, но за ней скрывается куда больше, чем желание увидеть проект успешным. Она задаёт тон всей культуре управления: той, где руководитель становится «героем», который раз за разом вытаскивает команду из дедлайнов, конфликтов и хаоса. 

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

Читать далее

Страх и ненависть вайб-кодинга: как я сделал для ребенка игру и попал в топ приложений на android-TV

Wed, 11/26/2025 - 12:02

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

Привет, Хабр! Меня зовут Леонид Калядин, я Cluster Data lead в МТС Web Services. Я отлично разбираюсь во всем, что связано с data, но вот в мобильной разработке — полный ноль. Во всяком случае был до недавнего времени. В этом материале я расскажу, как решил спасти дочь от надоедливой рекламы и навайбкодил Adventure Mazes — игру, которая вошла в топ Android TV в Google Play. Итак, кому интересны подробности — велкам под кат. 

Читать далее

Итоги встречи ISO C++ на Гавайях: начинаем полировку стандарта С++26

Wed, 11/26/2025 - 12:02

Привет! На связи Антон Полухин из Техплатформы Городских сервисов Яндекса. Сегодня я расскажу о ноябрьской встрече Международного комитета по стандартизации языка программирования C++, в которой принимал активное участие. Это была первая из встреч, связанных с «полировкой» C++26. Другими словами, новые фичи C++ пока не появятся — комитет должен только проработать замечания всех стран-участников, включая наши замечания от России.

Однако от плана немного отступили и втащили некоторые новинки как ответы на пожелания участников комитета: std::integer_sequence оброс новой функциональностью, а std::format научился в constexpr.

Помимо этого, поправили множество багов, перековыряли связку Hardening + Contracts, внесли улучшения во многие части стандартной библиотеки.

Читать далее

Когда порядок решает, или почему я больше не доверяю сеттерам в Angular

Wed, 11/26/2025 - 11:53

Привет, меня зовут Дарина. Два очень увлекательных года я работала в команде разработки дизайн-системы Prizm.

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

Читать далее

[Перевод] Fil-C: реализация C с безопасной работой с памятью

Wed, 11/26/2025 - 11:43

В последние годы язык Rust активно продвигается в качестве инструмента для системного программирования. Самый яркий символ этого процесса - официальное добавление Rust в исходный код ядра Linux, одного из ранее неприступных бастионов языка C. Это событие встряхнуло сообщество разработчиков на C, где десятилетиями царила уверенность: «да, C небезопасен, но так всегда было и всегда будет».

Но то, что десятилетиями казалось незыблемым, теперь вызывает вопросы. Возможно ли, чтобы сам C стал безопасным, не меняясь?

Проект Fil-C - одна из самых необычных и смелых попыток ответить «да».

Читать далее

Почему все ненавидят 1С, но продолжают на нём работать?

Wed, 11/26/2025 - 11:27

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

Сегодня поговорим о феномене: странной, почти мазохистской привязанности 1С-разработчиков к своему инструменту. Это как брак, в котором ты ежедневно угрожаешь разводом, но остаёшься — потому что «а куда деваться?».

Читать далее

DCN-R: как объединить Deep & Cross-модель и ResNet-подход для улучшения рекомендаций

Wed, 11/26/2025 - 11:15

Как мы построили DCN-R: новую гибридную модель рекомендаций на Cross Network и ResNet-блоках

Современные рекомендательные системы сталкиваются с парадоксом: модели умеют либо отлично «запоминать» закономерности, либо хорошо «обобщать» новые случаи — но почти никогда не делают это одновременно. В этой статье я показываю, как гибридная архитектура DCN-R, сочетающая Cross Network и Residual Blocks, смогла обойти это ограничение и превзойти классические подходы.

Мы провели серия экспериментов, автоматический подбор гиперпараметров, абляции и построили продакшн-готовый сервис, чтобы проверить, действительно ли DCN-R работает лучше, или это просто красивая идея.

Читать далее

Локальный контактный зоопарк фронтенд-разработчика

Wed, 11/26/2025 - 11:12

Недавно я провел эксперимент по развертыванию на своем ноутбуке небольшой экосистемы контейнеров с сервисами и инструментами для фронтенд-разработки. Что получилось в результате? Как я все собирал по кусочкам? С чем столкнулся? Обо всем поговорим в этой статье.

Читать

Забавный парадокс отправки в канал в Go

Wed, 11/26/2025 - 11:01

Коллега давеча показал любопытный "фокус", который вызвал изрядный спор в рабочем канальчике посвящённом Golang. Сначала обозвали коллегу двоечником, мол синхронизацию забыл - но выходит что дело тоньше и выдаёт небольшую неконсистентность эволюции средств языка, в частности каналов.

(UPD - нет не единственный, смотри примечание в конце - код более похожий на то что можно встретить в жизни)

Читать далее

IT-рынку плохо, но не переживайте — будет ещё хуже

Wed, 11/26/2025 - 11:00

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

Я — Степан Сорокин, Delivery-менеджер в Outlines Tech. Хочу поделиться мнением, что поломало рынок, как удержаться в IT-сфере и надо ли оно вообще. Волшебных пилюль не дам, просто покажу точку зрения человека, который уже больше 10 лет варится в IT.

Читать далее

[Перевод] Комета 3I/ATLAS подаёт сигналы? Что это за странное синее свечение и почему оно нарушает все известные законы?

Wed, 11/26/2025 - 10:51

Мимолётный гость из другой звёздной системы держит в напряжении весь научный мир. Межзвёздная комета 3I/ATLAS, всего лишь третий подобный объект из когда-либо обнаруженных, демонстрирует поведение, которое бросает вызов всем известным моделям. По мере того как она несётся к своему максимальному сближению с Солнцем, её драматичный и неожиданный рост яркости вызвал шквал исследований и догадок, заставляя астрономов спешить разгадать секреты этого загадочного небесного странника, прежде чем он вновь исчезнет в бездне.

Читать далее

Превращаем C# в Python, JavaScript и F#

Wed, 11/26/2025 - 10:45

В С# 14 появился новый синтаксис расширений (extension members), позволяющий добавлять методы, свойства и даже перегружать операторы для существующих типов без создания врапперов и без изменения исходных типов.

Благодаря этому, стал возможен код как на обложке.

Выглядит, мягко говоря, необычно. Давайте разберёмся, что тут вообще происходит…

Читать далее

SVG, Canvas, WebGL, WebGPU — кто здесь вообще главный? Большой тест 2D-графики в браузере

Wed, 11/26/2025 - 10:15

В последние годы спрос на 2D/3D-инструменты в веб-сервисах растет довольно стремительно, технологии развиваются, появляются новые подходы и библиотеки — а вместе с ними растёт и путаница: что где использовать, где грань между похожими решениями и почему у разработчиков часто возникают противоположные мнения?

Так что я решила устроить небольшой тест 2D-решений: посмотреть, на что они реально способны, понять, почему результаты местами вызывают большое удивление, и ответить себе (и вам) на вопрос: а WebGPU вообще зачем?

Спойлер: всё далеко не так очевидно, как кажется.

Читать далее

Сравниваю Jupyter Notebook, Google Colab, Kaggle и Marimo глазами исследователя и начинающего Data Scientist

Wed, 11/26/2025 - 10:01

Я пришел в Data Science не сразу. Учился в магистратуре по вечерам, работая в совершенно другой сфере (строительство). Осваивать машинное обучение и анализ данных было интересно, но один из самых неожиданных вопросов, который возник буквально сразу - в какой среде писать код?

На первый взгляд кажется, что Jupyter Notebook, Google Colab, Kaggle и сравнительно новая Marimo - это одно и то же, ноутбук с ячейками и Python (так же поддерживаются другие языки программирования). Но на практике каждая из этих сред подходит для разных задач, где-то удобнее учиться, а где-то работать командой.

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

Статья будет полезна:

Читать далее

Третий путь для удаленщиков. Лондон с визой Global Talent, Азия с DTV и идея сервиса на стыке работы и релокации

Wed, 11/26/2025 - 09:49

Я живу в Лондоне по визе Global Talent.

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

Параллельно мой брат живет в Таиланде.

У него Паттайя, море, созвоны с Европой и США, свои проекты. По качеству жизни и по деньгам все выглядит не хуже Лондона. По юридической стороне все намного менее определенно.

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

Читать далее

Управление потоком в Kotlin Flow

Wed, 11/26/2025 - 09:47

Поколение большого пальца – вот как нас называли. Какие глубокомысленные переписки мы ухитрялись вести на кнопочных телефонах, набирая текст SMS большим пальцем асинхронно с конспектированием лекций…

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

Естественно, в Kotlin Flow, где данные текут непрерывным потоком и легко провоцируют избыточные реакции, эта проблема стоит особенно остро. Например, если мы построим на Flow систему автодополнений, то увидим что-то такое:

Читать далее

Разработка peer-to-peer мессенджера на Rust

Wed, 11/26/2025 - 08:36

История о том, как написать свой P2P-мессенджер, когда Discord и Telegram перестали устраивать. В статье разбирается устройство транспортного протокола с ECDH и ротацией ключей, решение проблем с NAT traversal, реализация голосовых звонков и работа с аудиоустройствами. Бонусом — откровенный опыт использования LLM для написания кода: что работает из коробки, а какие модули пришлось полностью переписывать.

Читать далее

quic-test: открытый инструмент для тестирования QUIC, BBRv3 и FEC в реальных условиях

Wed, 11/26/2025 - 06:30

Можно использовать iperf3, но он про TCP и базовый UDP. Можно взять отдельные QUIC-библиотеки, но без визуализации и нагрузки. Можно написать кастомные симуляторы, но они не отражают реального поведения каналов. Хочешь проверить, как BBRv3 ведет себя на трассе Москва — Новосибирск? Пожалуйста, найди три сервера в разных дата-центрах, настрой netem, собери метрики вручную и надейся, что результаты будут воспроизводимы.

Читать далее

Who's online

There are currently 1 user and 1 guest online.