Habr.com

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

Мы ввели правило «Сначала спроси у нейросети» — и вот что из этого вышло

2 hours 53 min ago

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

Читать далее

Хотел сэкономить 150 тыс на стройке, а развели на 500 тыс. И всё по закону

3 hours 18 min ago

Делюсь, как мы спасли от гнили дом 1937 года и почему труба во время стройки резко вырастает с 50 тыс до 200 тыс. А ещё — как строители разводят заказчиков в договоре. И всё по закону.

Читать далее

iOS или Android: чей замок крепче?

3 hours 19 min ago

Сегодня трудно представить жизнь без смартфона. Мы доверяем ему личную переписку, фотографии, платежные данные и доступы к финансовым и медицинским сервисам. Но задумываетесь ли вы, насколько надежно защищены ваши данные?

Ответ во многом зависит от операционной системы — именно она определяет уровень вашей безопасности. Ваши личные «сокровища» защищают две основные системы: iOS от Apple и Android от Google. Их принципы работы различаются, поэтому отличаются и слабые места, и способы защиты.

В этой статье мы не будем советовать, какой смартфон выбрать. Зато подробно сравним защиту iOS и Android по ключевым параметрам: от безопасности и удобства до экосистемы и функциональности.

Читать далее

Специальные функции-члены в C++

3 hours 24 min ago

Продолжаем серию «C++, копаем вглубь». Цель этой серии — рассказать максимально подробно о разных особенностях языка, возможно довольно специфичных. Это девятая статья из серии, список предыдущих статей приведен в разделе 6. Серия ориентирована на программистов, имеющих определенный опыт работы на C++. Данная статья посвящена специальным функциям-членам.

В C++ жизненный цикл экземпляра класса/структуры/объединения (объект, представляемый в коде переменной) начинается с инициализации, то есть задания его начального состояния. Далее, почти всегда, объект копируется, выполняются присваивания или их перемещающие аналоги. Эти операции необходимы для работы функций, контейнеров, алгоритмов. Финальной точкой жизненного цикла объекта является его уничтожение. Именно для поддержки этих операций в C++ и предназначены специальные функции-члены.

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

Итак, попробуем рассказать о специальных функциях-членах максимально подробно.

Читать далее

ActiveRecord: опасная магия

3 hours 29 min ago

В Ruby‑разработке ActiveRecord давно стал стандартом: он интуитивно понятен, встроен в Rails и позволяет быстро проводить CRUD‑операции. По мере роста проекта его «удобство» нередко начинает оборачиваться скрытыми проблемами.

Читать далее

Делаем простой фитнес-трекер на React Native + Expo

3 hours 37 min ago

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

Чтобы совместить полезное с полезным, заодно соберём небольшое приложение — простой трекер веса и тренировок — и посмотрим, как на практике работает мультиплатформенная разработка на React с Expo. Спойлер: почти то же самое, что и обычная разработка на React — и, похоже, именно она окончательно забивает гвоздь в гроб Dart/Flutter и прочих попыток конкурентов сделать вид, что React — это страшный сон, который можно забыть.

Читать далее

Борьба с дисбалансом классов. Oversampling

3 hours 44 min ago

Привет, Хабр! На связи KozhinDev и ml-разработчик Приходько Александр. Это третья статья в цикле публикаций по теме борьбы с проблемой дисбаланса классов в машинном обучении. В первой статье мы обсудили актуальность данной проблемы в машинном обучении, а также сравнили методы борьбы с ним, без внесения изменений в сами данные: изменение весов классов и порога принятия решения моделью. Во второй статье мы сравнивали undersampling-методы, которые удаляли представителей частого класса.

В данной части мы протестируем методы балансировки данных методом oversampling из библиотеки imblearn. Суть данного метода заключается в том, что мы пытаемся бороться с дисбалансом классов генерируя данные для редкого класса. Мы рассмотрим разные способы генерации таких данных и протестируем их на синтетических данных.

Читать далее

Интеграционное тестирование: от теории до боевого опыта

3 hours 44 min ago

Это схема, которая описывает типы объектов в вашей системе и возможные отношения между пользователями и этими объектами (ролями, функциями защиты и привилегиями).

Классическая ситуация:

«Я данные отправил!»

«А я не получил!»

«А они зависли где-то, потому что формат не тот!»

Пример из практики: комплексный проект по рефакторингу системы управления доступами. Интеграция приложения по управлению доступами на основе ролей и привилегий (это наша Новая система) с другими информационными системами (ИС) в контуре предприятия (например, управление учетными записями, авторизация пользователей и прочие).

Читать далее

[Перевод] За рекордными отчётами Nvidia скрывается афера на 2 триллиона долларов, и вот что от нас прячут…

4 hours 1 sec ago

«Много говорят о пузыре ИИ, - отметил CEO Nvidia Дженсен Хуанг во время недавнего отчёта о прибылях за третий квартал. - Мы видим иную картину».

Легко понять, почему Хуанг так считает. В конце концов, этот отчёт был лакмусовой бумажкой для всей индустрии, и они с блеском прошли проверку. Их выручка взлетела на 62%, превзойдя прогнозы Уолл-стрит. Я уверен, что с вершины своей золотой горы Хуангу всё кажется прекрасным. И впрямь, похоже, мир согласился, что страхи о катастрофическом взрыве пузыря ИИ - не более чем паникёрство. Но я заявляю - это полная чушь, потому что это не гора золота, а карточный домик.

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

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

Пристегните ремни - погружение будет глубоким!

Читать далее

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

4 hours 13 min ago

Система быстрых платежей (СБП) существует достаточно давно, но бытовые переводы «по номеру телефона» всё ещё регулярно вызывают ошибки, путаницу и лишние действия.
Если открыть комментарии под любой статьёй на эту тему — гарантированно найдёшь реплики вида:

«Но ведь можно просто скопировать контакт? Или показать QR из банка. Зачем вообще что-то ещё?»

Проблема в том, что в инженерных рассуждениях мы часто видим идеальные сценарии, а в реальной жизни всё намного менее стерильно.

В этой статье — разбор, почему бытовые переводы по номеру на практике всё ещё далеки от идеала, с точки зрения UX, безопасности, разрозненности банковских реализаций и человеческого фактора.
И почему альтернативные способы (vCard, контакт, QR из приложений банков) не всегда закрывают эту бытовую рутину.

Здесь нет рекламы и нет призывов пользоваться каким-то конкретным инструментом.

Это исследование проблемы, которая всплывает каждый день у людей вне IT-пузыря.

Читать далее

Форматируем строку по-человечески: C++ и его <format>

4 hours 14 min ago

Когда-то давным-давно (то есть до C++20) мы форматировали вывод либо по-старинке через printf, либо используя громоздкие стримы ввода-вывода из <iostream>. Оба подхода, мягко говоря, не очень. printf работал шустро и лаконично, но требовал строгого соответствия типов, забудешь правильный %d или %s в формате, и получишь неопределённое поведение вплоть до падения программы. Компиляторы иногда предупреждают о несоответствиях, но полностью проблему не решают (особенно если форматируемая строка не литерал). Кроме того, printf не умеет выводить пользовательские классы, только примитивы.

Сейчас ситуация изменилась. В C++20 завезли библиотеку <format>, современный подход к форматированию строк, сочетающий лаконичность printf с безопасностью iostream. Инструмент называется std::format и объявлен в заголовке <format>. По сути, это адаптация популярной библиотеки fmt.

Читать далее

Книга: «Solutions architect: Архитектура и проектирование ИТ-решений. 3-е изд.»

4 hours 19 min ago

Привет, Хаброжители! Овладейте искусством дизайна архитектур и станьте успешным архитектором решений. Книга, написанная опытными техлидами AWS Саурабхом Шриваставой и Ниланджали Шривастав, выходит за рамки традиционных руководств для подготовки к сертификации. В ней вы найдете подробную аналитику и описания передовых методов, предназначенных для удовлетворения конкретных потребностей клиентов и решения проблем, с которыми сталкиваются современные архитекторы решений.

Читать далее

Почему LLM не становятся субъектами

4 hours 24 min ago

Все вокруг спорят, станет ли крупная языковая модель субъектом.

Показывают скрины ответов, где модель рассуждает про себя, говорит что ей страшно или радостно, и делают выводы про зарождающееся сознание.Проблема в том, что на уровне инженерии там нет ни субъекта, ни траектории, ни устойчивого Я. Есть мощный условный распределитель по токенам. Все. В этой статье я разберу, почему так, что для субъектности не хватает и как это закрывает архитектура ENA как отдельный слой поверх LLM.

Прочитать статью

Хакеры начинают фишинг и выигрывают у Google

4 hours 39 min ago

У мошенников нет ничего святого! Хакеры взялись за Google: подделка подписей теперь не обязательна, ведь можно заставить Google подписывать фишинговые письма валидным DKIM самостоятельно. Если раньше опытный ИБ-специалист мог сходу разобраться, где фишинговое письмо, а где — нет, сейчас это сделать в разы сложнее. И дело вовсе не в популярных нейронках, изощренном социальном инжиниринге или слитых базах.

Несем вам горячий кейс о том, как мошенники научились злоупотреблять настройкой OAuth-приложений, используя официальные инструменты Google для отправки поддельных писем от no-reply@accounts.google.com.

Спойлер: хотя Google уже устранил возможность вставлять произвольный текст в название OAuth-приложений, сама техника повторного использования легитимной DKIM-подписи никуда не делась. На её основе по-прежнему можно реализовать сценарии, позволяющие обходить DKIM-аутентификацию.

Читать далее

Транзакции в InnoDB: разбираемся с уровнями изоляции и блокировками

4 hours 40 min ago

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

В этой статье давайте разберём несколько распространенных заблуждений и на примерах посмотрим, как на самом деле работают транзакции.

Читать далее

Этот CSS пора оставить в прошлом

4 hours 43 min ago

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

В беседах с коллегами я всё чаще замечаю, что многие не в курсе последних фишек CSS. Конечно, у каждого свои причины. Кто-то погряз в повседневной рутине. Кому-то просто неинтересно, что там нового происходит в мире CSS. А кто-то годами сидит на десятилетних подходах и чувствует себя прекрасно.

Честно говоря, как давнему фанату CSS, мне становится немного грустно. Сколько классных возможностей проходит мимо них! А ведь их код мог бы быть короче, надёжнее и понятнее. Именно поэтому я собрал несколько примеров, которые были популярны раньше, и переписал их, используя современные возможности CSS.

Давайте посмотрим, что у меня получилось.

Читать далее

Когда Seq Scan не миновать: Data Skipping в новом колоночном движке Tarantool

4 hours 44 min ago

Привет, Хабр! Меня зовут Андрей Саранчин, и я разработчик СУБД Tarantool в VK Tech. Вот уже полтора года мы строим MemCS — новый колоночный движок Tarantool для HTAP. И вот парадокс: даже с индексами иногда не уйти от сплошного прохода таблицы. Поделюсь, почему мы не смогли миновать Sequential Scan и как мы смягчили эту проблему с помощью Data Skipping.

Эта статья написана по мотивам доклада для Saint HighLoad++ и отражает одну из проблем, которую мы затрагивали в этом докладе.

Читать далее

3D-таймлайн-слайдер под React

4 hours 54 min ago

Продолжение истории с 3D-таймлайном. Я допилил исходный слайдер из прошлой статьи, завёл его под React, добавил форму для настройки параметров в реальном времени и показываю, как встроить всё это в проект одной строкой.

Читать далее

5 промтов, которые сэкономили мне часы рутинной работы тестировщика

5 hours 39 sec ago

Всем привет! Я Катя, QA Tech Lead в MD Audit.

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

Список не про генерацию тест-кейсов или чек-листов — про это уже написаны километры текстов.

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

Читать далее

Мини-обзор Amazon Kindle Colorsoft Signature Edition + сравнение с PocketBook 700 Era Color

5 hours 13 min ago

 Приветствую всех!

Сегодня я расскажу об электронной книге Amazon Kindle Colorsoft Signature Edition. С устройством я провел около недели, и успел накопить впечатления. На последние пару дней я взял в пару к Kindle еще и PocketBook 700 Era Color– чтобы понять, какое из этих устройств предпочтительнее и для кого.

Читать далее

Who's online

There are currently 0 users and 0 guests online.