Привет, Хабр!
Сегодня рассмотрим, как обезопасить бизнес-логику от случайного (или злонамеренного) изменения DTO, чем опасна мутабельность моделей и какие инструменты дают C#, Java, Python и Go, чтобы вы больше никогда не ловили эти баги.
Читать далееWails - это легковесный фреймворк, предназначенный для создания кросс-платформенных GUI приложений рабочего стола на golang и стандартных веб технологиях (Svelte, React, Preact, Vue, Lit, Vanilla JS). Ближайшие аналоги это естественно Electron (JS), Tauri (Rust), хочется добавить Qt (С++), но это уже другой уровень. Сразу скажу, что Wails не идеален, имеет множество ограничений и в целом не подойдёт для чего-то крупного, Tauri к примеру более зрелый проект, больше функций, быстрее развивается, больше и живее сообщество, но это уже на rust, а это не наш стэк.
Читать далееМне нравится наблюдать за менторами, которые учат быть независимыми в тестировании и слать всех нафиг т.к. тестирование это не поиск багов, а сравнение ожидаемого результата с фактическим, и если нет требований, то и сравнивать нечего!
Прекрасно, вам должны платить просто так! Ведь мы работаем только так как написано в ISTQB, а там много чего написано) И на заборе тоже написано...
Вам задают простой вопрос, почему вы пропустили баг на прод? Это обычный разбор полетов после релиза и нужно учится на своих ошибках, прежде чем стартанет следующий горящий релиз! И нам необходимо объяснить причину, которая скрывается не только в процессах тестирование, но и в процессах всей команды.
Какой баг?Привет, Хабр! Мы команда T-Банка: Алиса — лидер проекта, Алексей — аналитик по клиентскому негативу, Влад — аналитик, разбирается в данных и превращает числа в гипотезы, Александр — исследователь-разработчик ML-алгоритмов. Мы изучаем, как коммуникации влияют на клиентов и как сделать их более точными и ценными для бизнеса.
Реакция клиентов на рекламу и их восприятие коммуникаций напрямую влияют на долгосрочные отношения. В T-Банке мы стремимся персонализировать предложения, минимизируя негатив, который может возникнуть при взаимодействии с рекламой.
Мы описывали подход к предсказанию отказов пользователей от маркетинговых уведомлений, что позволило нам ранжировать пользователей по вероятности отписки от рекламы и статистически значимо снизить отказы.
Потом перед нами появилась задача посложнее: дать количественную оценку средней денежной стоимости отказа клиента от рекламы. Мы столкнулись со сложными причинно-следственными связями в поведении пользователей, и это привело нас к важному выводу: далеко не все методы дают быстрый практический результат в условиях реальных данных.
В статье мы поделимся опытом оценки стоимости отказа от рекламы на примере трех подходов — Stratified Random Sampling, Propensity Score Matching и FAISS, а также выводами, к которым пришли в итоге.
Читать далееПривет, Хабр! Меня зовут Даша Козлова, я аналитик в Авито. В этой статье я расскажу свою не самую репрезентативную, но интересную историю рождения бабочки аналитика. Добро пожаловать, усаживайтесь поудобнее и погнали!
Интересно! Пойду читать*Все технические решения описаны в обезличенном виде и адаптированы под публичное изложение. Проект находится под НДА, поэтому часть информации и детали реализации были изменены или обобщены.
Изначальный расчет был на то, что данное решение позволит существенно сократить обслуживание «железной» инфраструктуры. А вместе с ним 一 и расходы на IT-отдел в принципе. Дополнительно планировались привести в порядок текущий парк, который в тот момент насчитывал большое количество неуправляемых раннеров. Часть из них была просто забыта и заброшена, другая часть 一 в один прекрасный момент зависла и так и не пришла в себя. И, разумеется, никому не хотелось с этим разбираться, ведь гораздо проще было просто создать новый раннер.
Все это выливалось в то, что длительность сборок проектов составляла по несколько часов 一 долго, нудно, тяжело и нерационально.
Итого, наша мотивация для перехода в облако включала в себя:
Читать далееYandex Cloud использует квоты для мягкого контроля ресурсов. Квоты можно легко увеличить через специальную форму или техническую поддержку. Однако, очень часто бывает, что о необходимости увеличить квоты мы узнаем поздно, например, когда падает джоба с terraform. Это раздражает, а в некоторых случаях даже может сломать стейт и принести ненужные проблемы. Решить проблему поможет маленькая утилита.
Читать далееКаждый Go-разработчик знаком с этим паттерном — создание обёрток для ошибок с дублированием метаданных:
Проблемы такого подхода:
Что если объединить мощь структурированного логирования (slog) с автоматическим сбором локального стека вызовов. Результат — чистый код и информативные логи.
Читать дальше →Что такое тестирование на проникновение и оценка уязвимостей? Первым делом после настройки сервера и сети компании необходимо проверить систему на наличие брешей в сетевой безопасности. Специалистам, отвечающим за ИТ‑инфраструктуру школ, библиотек, хостинг‑провайдеров, бизнес‑серверов и небольших компаний, жизненно необходимо проводить тестирование на проникновение. Для этого понадобятся бесплатные инструменты. Специалист, проводящий тестирование на проникновение, называется пентестером, и для атак они часто используют Linux.
Читать далееВ то время как тысячи людей штурмуют курсы программирования, надеясь на высокие зарплаты и удаленную работу, индустрия уже переживает радикальную трансформацию. Что будет с рынком IT-образования в ближайшие годы, и как не оказаться среди тех, кто инвестировал время и деньги в устаревающие навыки?
Читать далееПредставьте, что вы — маленький продуктовый магазинчик. Точнее, его владелец. По соседству только что открылась огромная "Пятёрочка", а ещё "Магнит" и "Дикси". В телефонах ваших покупателей — приложения "Самоката" и "Яндекс.Лавки". А на холодильнике — магнитик с промокодом на скидку в Ozon-продуктах. Всё, конец? Пора закрываться?
Читать далееНезависимо от того, работаете ли вы с локальными системами, облачными решениями или сторонними сервисами, ключевые вопросы остаются одними и теми же: какой пользовательский или клиентский опыт вы хотите предложить? И как согласовать с этим опытом вашу стратегию интеграции?
В этом справочном материале рассматриваются базовые шаблоны для аутентификации, поллинга, запросов и других аспектов, которые помогут вам оценить потребности в интеграции и подойти к проектированию, разработке и сопровождению API-интеграций наиболее эффективно с точки зрения вашего бизнес-кейса.
Читать далееВы знаете, что такое прогрессивный JPEG? Можете почитать хорошее объяснение. Идея заключается в том, что вместо загрузки изображения сверху вниз оно сначала грузится размытым, а потом постепенно становится чётче.
Что, если мы применим тот же принцип к передаче JSON?
Читать далееНедавно я завершила обучение на курсе от Google по программе Управление проектами. Поэтому я решила подготовить цикл из шести статей, в которых постараюсь передать ключевые идеи курса для русскоязычной аудитории.
Курс состоит из шести разделов, и каждая статья будет охватывать один раздел. Вот их список:
Читать далееПривет, Хабр! Я Александр Зырянов, проектный менеджер TMS с открытым исходным кодом TestY. Сразу о главном: выложили в open source версию TestY 2.1.
Во-первых, подвезли любимую фичу всех разработчиков — темную тему. Дочитайте до конца, чтобы посмотреть, как выглядит интерфейс различных страниц. Во-вторых, совместно с командой технических писателей YADRO разработали удобную документацию, чтобы погрузиться в работу системы с головой.
Какие еще изменения ждут пользователей в TestY 2.1 — читайте под катом.
Читать далееПривет, Хабр! Как думаете, что на этом фото? Нет, это не современная урбанистика или галлюцинации нейросетей. Это фотография... концертного органа изнутри. Предлагаем отвлечься от архитектуры ПО, инфраструктур, нейронок и погрузиться в архитектуру музыкальных инструментов.
Читать далееПродолжаю рассказывать об опенсорсе в России — стратегиях и опыте развития российских организаций на базе открытой разработки. На этот раз на связи команда Аэродиска, которая делится историей запуска своего первого открытого проекта.
В интервью поучаствовали сразу несколько специалистов компании, поэтому рассказ получился подробный и разносторонний. Мы поговорили об особенностях открытой стратегии и ключевых возможностях Open vAIR — решения, лежащего в её основе.
Читать далееВ этой статье я хочу познакомить вас с байесовским иерархическим моделированием — гибким подходом, который автоматически объединяет результаты нескольких подмоделей. Этот метод позволяет оценивать эффекты на индивидуальном уровне путем оптимального объединения информации из различных групп данных с помощью байесовского вывода. Это особенно полезно, когда данные наблюдений для некоторых объектов ограничены, но эти объекты имеют общие характеристики или поведение с другими объектами.
Читать далееИндустрия ИИ продолжает выдавать релизы с завидной регулярностью, но некоторые из них оказываются с сюрпризом (даже для их создателей). Google устроила традиционное I/O-шоу с прорывным Veo-3, Anthropic порадовала новыми Claude 4, которые умеют работать часами, но иногда пытаются копировать себя на другие серверы, а у Meta случилась небольшая драма с Llama 4.
В нашем майском дайджесте — свежие релизы, корпоративные интриги и расследования исследования: от ИИ, победившего в Pokémon, и перевода «языка» животных до подтверждения пользы слова «спасибо» в промптах. Будет интересно!
Читать далее