Feed aggregator

Как защитить бизнес-логику от мутаций в DTO: коротко

Habr.com - Wed, 06/04/2025 - 21:31

Привет, Хабр!

Сегодня рассмотрим, как обезопасить бизнес-логику от случайного (или злонамеренного) изменения DTO, чем опасна мутабельность моделей и какие инструменты дают C#, Java, Python и Go, чтобы вы больше никогда не ловили эти баги.

Читать далее

Десктопное кросс-платформенное приложение на Wails (Golang + Vue.js). Как мы делали Tuna Desktop

Habr.com - Wed, 06/04/2025 - 21:24

Wails - это легковесный фреймворк, предназначенный для создания кросс-платформенных GUI приложений рабочего стола на golang и стандартных веб технологиях (Svelte, React, Preact, Vue, Lit, Vanilla JS). Ближайшие аналоги это естественно Electron (JS), Tauri (Rust), хочется добавить Qt (С++), но это уже другой уровень. Сразу скажу, что Wails не идеален, имеет множество ограничений и в целом не подойдёт для чего-то крупного, Tauri к примеру более зрелый проект, больше функций, быстрее развивается, больше и живее сообщество, но это уже на rust, а это не наш стэк.

Читать далее

Почему ты пропустил баг? Или как настроены процессы в обеспечении качества

Habr.com - Wed, 06/04/2025 - 21:09

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

Прекрасно, вам должны платить просто так! Ведь мы работаем только так как написано в ISTQB, а там много чего написано) И на заборе тоже написано...

Вам задают простой вопрос, почему вы пропустили баг на прод? Это обычный разбор полетов после релиза и нужно учится на своих ошибках, прежде чем стартанет следующий горящий релиз! И нам необходимо объяснить причину, которая скрывается не только в процессах тестирование, но и в процессах всей команды.

Какой баг?

Отказ от рекламы: ограничения методов оценки денежной стоимости

Habr.com - Wed, 06/04/2025 - 20:34

Привет, Хабр! Мы команда T-Банка: Алиса — лидер проекта, Алексей — аналитик по клиентскому негативу, Влад — аналитик, разбирается в данных и превращает числа в гипотезы, Александр — исследователь-разработчик ML-алгоритмов. Мы изучаем, как коммуникации влияют на клиентов и как сделать их более точными и ценными для бизнеса.

Реакция клиентов на рекламу и их восприятие коммуникаций напрямую влияют на долгосрочные отношения. В T-Банке мы стремимся персонализировать предложения, минимизируя негатив, который может возникнуть при взаимодействии с рекламой.

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

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

В статье мы поделимся опытом оценки стоимости отказа от рекламы на примере трех подходов — Stratified Random Sampling, Propensity Score Matching и FAISS, а также выводами, к которым пришли в итоге.

Читать далее

Из декрета в аналитику — как я вкатилась в IT

Habr.com - Wed, 06/04/2025 - 20:30

Привет, Хабр! Меня зовут Даша Козлова, я аналитик в Авито. В этой статье я расскажу свою не самую репрезентативную, но интересную историю рождения бабочки аналитика. Добро пожаловать, усаживайтесь поудобнее и погнали!

Интересно! Пойду читать

Об опыте перехода с on-premises на облачные Gitlab runners

Habr.com - Wed, 06/04/2025 - 20:24

*Все технические решения описаны в обезличенном виде и адаптированы под публичное изложение. Проект находится под НДА, поэтому часть информации и детали реализации были изменены или обобщены.

Изначальный расчет был на то, что данное решение позволит существенно сократить обслуживание «железной» инфраструктуры. А вместе с ним 一 и расходы на IT-отдел в принципе. Дополнительно планировались привести в порядок текущий парк, который в тот момент насчитывал большое количество неуправляемых раннеров. Часть из них была просто забыта и заброшена, другая часть 一 в один прекрасный момент зависла и так и не пришла в себя. И, разумеется, никому не хотелось с этим разбираться, ведь гораздо проще было просто создать новый раннер. 

Все это выливалось в то, что длительность сборок проектов составляла по несколько часов 一 долго, нудно, тяжело и нерационально. 

Итого, наша мотивация для перехода в облако включала в себя:

Читать далее

Маленькая утилита для контроля квот в Yandex Cloud

Habr.com - Wed, 06/04/2025 - 20:00

Yandex Cloud использует квоты для мягкого контроля ресурсов. Квоты можно легко увеличить через специальную форму или техническую поддержку. Однако, очень часто бывает, что о необходимости увеличить квоты мы узнаем поздно, например, когда падает джоба с terraform. Это раздражает, а в некоторых случаях даже может сломать стейт и принести ненужные проблемы. Решить проблему поможет маленькая утилита.

Читать далее

Структурированные логи + локальный стек вызовов: эволюция обработки ошибок в Go

Habr.com - Wed, 06/04/2025 - 19:25


Каждый Go-разработчик знаком с этим паттерном — создание обёрток для ошибок с дублированием метаданных:


func (*SomeObject) SomeMethod(val any) error { if err := otherMethod(val); err != nil { return fmt.Errorf("otherMethod %w with val %v", err, val) } return nil }

Проблемы такого подхода:


  • Дублирование названий методов в сообщениях об ошибках
  • Ручное добавление метаданных (аргументы, переменные) в каждое место
  • Сложность отслеживания места возникновения ошибки при нескольких точках выхода
  • Засорение кода — повторяющийся boilerplate
  • Отсутствие структуры — все метаданные упакованы в одной строке

Что если объединить мощь структурированного логирования (slog) с автоматическим сбором локального стека вызовов. Результат — чистый код и информативные логи.

Читать дальше →

[Перевод] Топ-5 лучших Linux дистрибутивов для пентестера

Habr.com - Wed, 06/04/2025 - 19:15

Что такое тестирование на проникновение и оценка уязвимостей? Первым делом после настройки сервера и сети компании необходимо проверить систему на наличие брешей в сетевой безопасности. Специалистам, отвечающим за ИТ‑инфраструктуру школ, библиотек, хостинг‑провайдеров, бизнес‑серверов и небольших компаний, жизненно необходимо проводить тестирование на проникновение. Для этого понадобятся бесплатные инструменты. Специалист, проводящий тестирование на проникновение, называется пентестером, и для атак они часто используют Linux.

Читать далее

Конец эпохи программистов? Почему 80% IT-школ закроются к 2027 году

Habr.com - Wed, 06/04/2025 - 19:08

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

Читать далее

Сети захватили район, маркетплейсы отнимают клиентов, но почему продуктовые магазины выживают?

Habr.com - Wed, 06/04/2025 - 19:00

Представьте, что вы — маленький продуктовый магазинчик. Точнее, его владелец. По соседству только что открылась огромная "Пятёрочка", а ещё "Магнит" и "Дикси". В телефонах ваших покупателей — приложения "Самоката" и "Яндекс.Лавки". А на холодильнике — магнитик с промокодом на скидку в Ozon-продуктах. Всё, конец? Пора закрываться?

Читать далее

[Перевод] Паттерны интеграции API

Habr.com - Wed, 06/04/2025 - 19:00

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

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

Читать далее

[Перевод] Прогрессивный JSON

Habr.com - Wed, 06/04/2025 - 18:39

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

Что, если мы применим тот же принцип к передаче JSON?

Читать далее

Google Project Management: Professional Certificate and AI, все самое главное из курса для начинающих, часть 6

Habr.com - Wed, 06/04/2025 - 18:29

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

Курс состоит из шести разделов, и каждая статья будет охватывать один раздел. Вот их список:

Читать далее

Читаем под одеялом с фонариком: темная тема и документация в ТМС TestY 2.1

Habr.com - Wed, 06/04/2025 - 18:21

Привет, Хабр! Я Александр Зырянов, проектный менеджер TMS с открытым исходным кодом TestY. Сразу о главном: выложили в open source версию TestY 2.1. 

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

Какие еще изменения ждут пользователей в TestY 2.1 — читайте под катом.

Читать далее

Апгрейды для Денди: часть 2/2

Habr.com - Wed, 06/04/2025 - 18:01

Продолжаем разговор об исторических, практических и теоретических улучшениях восьмибитных игровых приставок типа «Денди», она же Famicom в Японии, Nintendo Entertainment System в США и Европе, и «любое-безумное-название» в Китае.

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

Сегодня узнаем, что ещё интересного смогли сотворить с классической 8-битной платформой разработки 1983 года китайские разработчики, радиолюбители прошлых лет и современные энтузиасты! Читать дальше →

[Перевод] Секреты изнанки музыкальных инструментов

Habr.com - Wed, 06/04/2025 - 17:55

Привет, Хабр! Как думаете, что на этом фото? Нет, это не современная урбанистика или галлюцинации нейросетей. Это фотография... концертного органа изнутри. Предлагаем отвлечься от архитектуры ПО, инфраструктур, нейронок и погрузиться в архитектуру музыкальных инструментов.

Читать далее

Open source в России: команда Аэродиска делится опытом запуска Open vAIR — первого открытого проекта компании

Habr.com - Wed, 06/04/2025 - 17:50

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

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

Читать далее

[Перевод] Оценка ценовой эластичности спроса продуктов с помощью байесовского иерархического моделирования

Habr.com - Wed, 06/04/2025 - 17:49

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

Читать далее

Философствующий Claude 4, Gemini для самых маленьких и пачка агентов-программистов: главные события мая в ИИ

Habr.com - Wed, 06/04/2025 - 17:48

Индустрия ИИ продолжает выдавать релизы с завидной регулярностью, но некоторые из них оказываются с сюрпризом (даже для их создателей). Google устроила традиционное I/O-шоу с прорывным Veo-3, Anthropic порадовала новыми Claude 4, которые умеют работать часами, но иногда пытаются копировать себя на другие серверы, а у Meta случилась небольшая драма с Llama 4.

В нашем майском дайджесте — свежие релизы, корпоративные интриги и расследования исследования: от ИИ, победившего в Pokémon, и перевода «языка» животных до подтверждения пользы слова «спасибо» в промптах. Будет интересно!

Читать далее

Who's online

There are currently 0 users and 2 guests online.
Syndicate content