Команда Go for Devs подготовила перевод статьи о новом подходе к защите Go-приложений от CSRF/CORF-атак. Автор разбирает, как связка TLS 1.3, SameSite cookies и http.CrossOriginProtection из стандартной библиотеки позволяют отказаться от токенов — но только если соблюдены важные условия. Насколько безопасен такой подход? Разбираемся.
Читать далееКаждый менеджер хотя бы раз ловил себя на мысли: «Если не я, то кто?» Это вроде бы простая фраза, но за ней скрывается куда больше, чем желание увидеть проект успешным. Она задаёт тон всей культуре управления: той, где руководитель становится «героем», который раз за разом вытаскивает команду из дедлайнов, конфликтов и хаоса.
Это состояние хорошо знакомо большинству менеджеров — особенно тем, кто пришёл из экспертизы. Кажется естественным заменить коллегу, подхватить чужую задачу, переписать решение за сотрудника, «чтобы точно всё было правильно». Но то, что ощущается как ответственность и участие, часто оказывается одной из самых разрушительных привычек для команды и для самого менеджера.
Читать далееВ моем распоряжении были: согласованный отпуск, отмененный рейс, дочь, наотрез отказывающаяся спать, выслуга в десять айтишных лет, нулевой опыт в геймдеве на двоих, меняющиеся друг за другом посты о новых рекордах AI-моделей и письмо в почте с предложением триала на месяц в одном крупном AI-сервисе. Весь этот дикий коктейль и превратился в итоге в мобильную игру.
Привет, Хабр! Меня зовут Леонид Калядин, я Cluster Data lead в МТС Web Services. Я отлично разбираюсь во всем, что связано с data, но вот в мобильной разработке — полный ноль. Во всяком случае был до недавнего времени. В этом материале я расскажу, как решил спасти дочь от надоедливой рекламы и навайбкодил Adventure Mazes — игру, которая вошла в топ Android TV в Google Play. Итак, кому интересны подробности — велкам под кат.
Читать далееПривет! На связи Антон Полухин из Техплатформы Городских сервисов Яндекса. Сегодня я расскажу о ноябрьской встрече Международного комитета по стандартизации языка программирования C++, в которой принимал активное участие. Это была первая из встреч, связанных с «полировкой» C++26. Другими словами, новые фичи C++ пока не появятся — комитет должен только проработать замечания всех стран-участников, включая наши замечания от России.
Однако от плана немного отступили и втащили некоторые новинки как ответы на пожелания участников комитета: std::integer_sequence оброс новой функциональностью, а std::format научился в constexpr.
Помимо этого, поправили множество багов, перековыряли связку Hardening + Contracts, внесли улучшения во многие части стандартной библиотеки.
Читать далееПривет, меня зовут Дарина. Два очень увлекательных года я работала в команде разработки дизайн-системы Prizm.
Это был мой первый опыт работы над «библиотечным» проектом, и он сильно расширил мой угол зрения и представления о том, как можно работать с кодом. Ещё он подарил множество интересных открытий, которые помогают мне в ежедневной работе и сейчас.
Читать далееВ последние годы язык Rust активно продвигается в качестве инструмента для системного программирования. Самый яркий символ этого процесса - официальное добавление Rust в исходный код ядра Linux, одного из ранее неприступных бастионов языка C. Это событие встряхнуло сообщество разработчиков на C, где десятилетиями царила уверенность: «да, C небезопасен, но так всегда было и всегда будет».
Но то, что десятилетиями казалось незыблемым, теперь вызывает вопросы. Возможно ли, чтобы сам C стал безопасным, не меняясь?
Проект Fil-C - одна из самых необычных и смелых попыток ответить «да».
Читать далееПривет, Хабр! И тебе, случайный читатель, который зашёл сюда в перерыве между поиском ответа на очередную ошибку в типовой конфигурации — возможно, с горящим взором и трясущимися от гнева руками.
Сегодня поговорим о феномене: странной, почти мазохистской привязанности 1С-разработчиков к своему инструменту. Это как брак, в котором ты ежедневно угрожаешь разводом, но остаёшься — потому что «а куда деваться?».
Читать далееКак мы построили DCN-R: новую гибридную модель рекомендаций на Cross Network и ResNet-блоках
Современные рекомендательные системы сталкиваются с парадоксом: модели умеют либо отлично «запоминать» закономерности, либо хорошо «обобщать» новые случаи — но почти никогда не делают это одновременно. В этой статье я показываю, как гибридная архитектура DCN-R, сочетающая Cross Network и Residual Blocks, смогла обойти это ограничение и превзойти классические подходы.
Мы провели серия экспериментов, автоматический подбор гиперпараметров, абляции и построили продакшн-готовый сервис, чтобы проверить, действительно ли DCN-R работает лучше, или это просто красивая идея.
Читать далееНедавно я провел эксперимент по развертыванию на своем ноутбуке небольшой экосистемы контейнеров с сервисами и инструментами для фронтенд-разработки. Что получилось в результате? Как я все собирал по кусочкам? С чем столкнулся? Обо всем поговорим в этой статье.
ЧитатьКоллега давеча показал любопытный "фокус", который вызвал изрядный спор в рабочем канальчике посвящённом Golang. Сначала обозвали коллегу двоечником, мол синхронизацию забыл - но выходит что дело тоньше и выдаёт небольшую неконсистентность эволюции средств языка, в частности каналов.
(UPD - нет не единственный, смотри примечание в конце - код более похожий на то что можно встретить в жизни)
Читать далееНастал момент, когда IT перестал быть «рынком кандидата». Внешние заказчики ушли, внутренний спрос просел, компании режут бюджеты, вакансий стало меньше, конкурентов больше. Одних специалистов просят тянуть сразу несколько ролей за одну ставку, от других ждут узкой экспертизы в конкретной области. ИИ тоже внёс свою долю хаоса: резюме автоматом режут алгоритмы, а часть людей заменяют «оптимизацией».
Я — Степан Сорокин, Delivery-менеджер в Outlines Tech. Хочу поделиться мнением, что поломало рынок, как удержаться в IT-сфере и надо ли оно вообще. Волшебных пилюль не дам, просто покажу точку зрения человека, который уже больше 10 лет варится в IT.
Читать далееМимолётный гость из другой звёздной системы держит в напряжении весь научный мир. Межзвёздная комета 3I/ATLAS, всего лишь третий подобный объект из когда-либо обнаруженных, демонстрирует поведение, которое бросает вызов всем известным моделям. По мере того как она несётся к своему максимальному сближению с Солнцем, её драматичный и неожиданный рост яркости вызвал шквал исследований и догадок, заставляя астрономов спешить разгадать секреты этого загадочного небесного странника, прежде чем он вновь исчезнет в бездне.
Читать далееВ С# 14 появился новый синтаксис расширений (extension members), позволяющий добавлять методы, свойства и даже перегружать операторы для существующих типов без создания врапперов и без изменения исходных типов.
Благодаря этому, стал возможен код как на обложке.
Выглядит, мягко говоря, необычно. Давайте разберёмся, что тут вообще происходит…
Читать далееВ последние годы спрос на 2D/3D-инструменты в веб-сервисах растет довольно стремительно, технологии развиваются, появляются новые подходы и библиотеки — а вместе с ними растёт и путаница: что где использовать, где грань между похожими решениями и почему у разработчиков часто возникают противоположные мнения?
Так что я решила устроить небольшой тест 2D-решений: посмотреть, на что они реально способны, понять, почему результаты местами вызывают большое удивление, и ответить себе (и вам) на вопрос: а WebGPU вообще зачем?
Спойлер: всё далеко не так очевидно, как кажется.
Читать далееЯ пришел в Data Science не сразу. Учился в магистратуре по вечерам, работая в совершенно другой сфере (строительство). Осваивать машинное обучение и анализ данных было интересно, но один из самых неожиданных вопросов, который возник буквально сразу - в какой среде писать код?
На первый взгляд кажется, что Jupyter Notebook, Google Colab, Kaggle и сравнительно новая Marimo - это одно и то же, ноутбук с ячейками и Python (так же поддерживаются другие языки программирования). Но на практике каждая из этих сред подходит для разных задач, где-то удобнее учиться, а где-то работать командой.
Эта статья - результат моего практического сравнения сред, которое я проводил во время обучения и выполнения исследовательских задач, связанных с анализом и подготовкой данных, моделированием и машинным обучением.
Статья будет полезна:
Читать далееЯ живу в Лондоне по визе Global Talent.
У меня аккуратный штамп в паспорте, понятные правила, предсказуемый горизонт. Я примерно представляю, что со мной будет через год и через три года. Это спокойное и немного непривычное чувство нормальности.
Параллельно мой брат живет в Таиланде.
У него Паттайя, море, созвоны с Европой и США, свои проекты. По качеству жизни и по деньгам все выглядит не хуже Лондона. По юридической стороне все намного менее определенно.
Из этого контраста и родилась мысль, которой я хочу поделиться и которую хочу обсудить. Идея простая. Мир как будто дал айтишникам выбор между двумя половинчатыми решениями. Интересно понять, можно ли собрать из этого что то цельное.
Читать далееПоколение большого пальца – вот как нас называли. Какие глубокомысленные переписки мы ухитрялись вести на кнопочных телефонах, набирая текст SMS большим пальцем асинхронно с конспектированием лекций…
Когда пользователь печатает или вообще взаимодействует с приложением слишком быстро, возникает опасность гиперотзывчивости. Приложение вынуждено реагировать на всякий чих, а в таких случаях, как известно, не наздравствуешься.
Естественно, в Kotlin Flow, где данные текут непрерывным потоком и легко провоцируют избыточные реакции, эта проблема стоит особенно остро. Например, если мы построим на Flow систему автодополнений, то увидим что-то такое:
Читать далееИстория о том, как написать свой P2P-мессенджер, когда Discord и Telegram перестали устраивать. В статье разбирается устройство транспортного протокола с ECDH и ротацией ключей, решение проблем с NAT traversal, реализация голосовых звонков и работа с аудиоустройствами. Бонусом — откровенный опыт использования LLM для написания кода: что работает из коробки, а какие модули пришлось полностью переписывать.
Читать далееМожно использовать iperf3, но он про TCP и базовый UDP. Можно взять отдельные QUIC-библиотеки, но без визуализации и нагрузки. Можно написать кастомные симуляторы, но они не отражают реального поведения каналов. Хочешь проверить, как BBRv3 ведет себя на трассе Москва — Новосибирск? Пожалуйста, найди три сервера в разных дата-центрах, настрой netem, собери метрики вручную и надейся, что результаты будут воспроизводимы.
Читать далееПо большей части цель данной публикации — шпаргалка для моих студентов, а так же и для меня, чтобы не потерять последовательность и четкость изложения вопроса, поставленного в заголовке. Материалов на русском языке, излагающих эту тему с достаточной степенью полноты, исчезающе мало. Все нижеизложенное — скрупулезная компиляция разнородной информации, найденной в сети, в основном в зарубежных источниках. Так что, кому интересно — прошу под кат
Читать далее