SDK для машинного перевода

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

Привет, Хабр!
Сегодня хочу рассказать о нашем SDK для машинного перевода — библиотеке, которая позволяет встраивать перевод прямо в ваше приложение или систему, без необходимости отправлять данные на внешний сервер.
В этой статье я покажу как получить работающую под DOS программу, написанную на Rust.
Начинаем с установки Rust. Даже если он есть системный из пакетов, его недостаточно, так как мы будем (вынужденно) использовать nightly версию. Итак, идём на https://rustup.rs/, копируем предлагаемую строку и запускаем её в терминале. Чтобы команда заработала возможно потребуется доустановить curl. Имеет смысл выбрать в качестве ветки по-умолчанию nightly. Если вы выбрали не nightly, то нужно будет доустановить nightly тулчейн:

В прошлой статье, где мы тестировали популярные нейросети, нам удалось выяснить, что почти все из них ошибаются. Почему же тогда они стали столь популярны и широко используемы в разных сферах? Почему большинство компаний, даже из числа тех, кто не связан с IT напрямую, вкладывают огромные средства в развитие собственных IT-продуктов и стремятся иметь в своем штате профессиональных разработчиков?
Вот один из недавних ярких примеров
В начале октября в сети появились фотографии Тилли Норвуд — первой актрисы, сгенерированной искусственным интеллектом в студии Xicoia (подразделение продюсерской компании Particle6). Реакции были неоднозначными: кто-то восхищался прогрессом, кто-то воспринял это как угрозу рабочим местам и вновь вспомнил про восстание машин.

Mobile System Design — один из ключевых навыков мобильного инженера.
Именно он часто определяет уровень зрелости: в реальной работе, на собеседованиях и в матрицах компетенций компаний.
Но вокруг этой темы полно разночтений и разных трактовок — отсюда споры, путаница и хаос.
В этой статье я систематизирую Mobile System Design как дисциплину: покажу, какие навыки действительно важны и как они проверяются. Это не личное мнение, а выжимка из опыта инженеров, требований собеседований, литературы и практики команд.

Два новых линта в Dart 3.9:
1. switch_on_type, чтобы сделать switch по типу переменной безопасным.
2. unnecessary_unawaited, чтобы избавиться от unawaited, которые стали ненужными.

Привет, Хабр! Меня зовут Антон Николаев, я senior android-разработчик в Okko, работаю в команде «Молодость» — занимаюсь мультипрофилем и всем, что связано с детским контентом.
Сегодня расскажу о JSON Schema и как мы используем эту спецификацию на проекте, а также о библиотеке kotlinx.serialization и том, как она упростила нам работу со схемами. Статья будет полезна разработчикам, которые интересуются библиотекой kotlinx.serialization и хотят глубже узнать её устройство. В ней обсудим:
Что такое JSON Schema

Меня зовут Светлана Палицына, я старший разработчик в мобильной команде «Лаборатории Касперского». Мы занимаемся разработкой EMM-решения для управления корпоративными телефонами и защиты хранящейся на них корпоративной информации. Защита мобильного начинается с экрана блокировки, и в этой статье расскажу про разные способы оформления этого экрана на Android, предоставляемые классом DevicePolicyManager.
Экран блокировки — своего рода визитная карточка всего мобильного интерфейса. Каждый виджет и UI-элемент тут требует особого внимания, чтобы не перегружать пользователя информацией и обеспечивать защиту корпоративных данных (например, скрывать показ содержимого уведомлений от посторонних, которым аппарат случайно может попасться на глаза). Но главное — важно, чтобы разблокировать его можно было исключительно одобренным корпоративными политиками методом. Многие компании, к примеру, запрещают биометрические методы разблокировки как не самые безопасные. В идеале для бизнеса (и самого пользователя) такой экран должен быть лаконичным, понятным и безопасным. И лучший способ достичь этого идеала — подробная кастомизация!

Октябрь был насыщенным и вдохновляющим: новые релизы, статьи, переводы с Medium и целая волна полезных пакетов. Flutter не останавливается, а сообщество растёт с каждой неделей! 🚀

Когда проект растёт, а вместе с ним — количество проверок, CI превращается в марафон. Мы в Циан через это прошли: кодовая база растёт, тестов становится всё больше, и каждое изменение начинает тормозить весь пайплайн.
В этой статье расскажу, как мы сократили время выполнения unit-тестов с помощью Impact-анализа — метода, который позволяет запускать только те тесты, которые действительно нужны. Это продолжение моего подхода к оптимизации проверок в Android — в первой статье я показывал, как ускорить статические анализаторы. Теперь — про unit-тесты.
Примеры кода будут на JUnit, но подход подходит ко всем проверкам, которые гоняются через Gradle. В конце статьи — рабочий пример на GitHub, который можно адаптировать под себя.

Я верил, что с приходом ИИ жизнь разработчика превратится в сказку. ИИ будет писать код, а я — придумывать фичи и строить продукт. В реальности я полдня пишу промты, а еще полдня трачу на правки за Copilot. Быстрее написать код самому.
Почему промты занимают так много времени и как компании учат сотрудников использовать ИИ, чтобы он не портил никому жизнь — рассказываю в статье.

Ну как, вы уже обновили свои приложения для поддержки новых требований Google? Если нет, то эта статья будет вам особенно полезна =) Напомню, что с 1 ноября 2025 года приложения, таргетирующиеся Android 15 и выше, должны поддерживать 16-килобайтные страницы памяти.
Как вы помните по предыдущим статьям, я работаю в МойОфис в команде разработки мобильной версии высоконагруженного корпоративного мессенджера Squadus (бэкенд на Node.js, NestJS и Meteor, а веб-интерфейс на React). Мы уже успешно перестроились на новые стандарты Google, и поэтому могу компетентно рассказать, что именно требуется, как адаптировать под это React Native-приложение и что делать, если используемая библиотека ещё не успела обновиться.

Привет! Я Роза, Flutter Dev Friflex. Недавно на CrossConf рассказывала о том, что такое система управления переводами и как подключить ее к проекту на Flutter. В этой статье — краткое сравнение популярных сервисов локализации и разбор подключения TMS по шагам.

Яндекс Карты — это не просто приложение для навигации, а один из самых высоконагруженных мобильных сервисов с широкой аудиторией. В центре всех наших сценариев — сама карта, которая уже сегодня не уступает по сложности отдельным игровым движкам. Мы постоянно работаем над тем, чтобы сделать её более удобной для ориентирования, и постепенно идём к высокодетализированным и реалистичным картам будущего: добавляем трёхмерные здания, разметку на дорогах, детализированные развязки и другие городские объекты.
Но чем богаче визуальное и информационное наполнение, тем выше требования к устройствам, на которых работает приложение. Улучшая пользовательский опыт с помощью новых технологий и более детальной картографии, мы сталкиваемся с постоянным ростом потребления ресурсов — прежде всего оперативной памяти (RAM). Наша задача — находить баланс между развитием продукта и сохранением его стабильной и быстрой работы на разных устройствах, включая самые бюджетные модели.
Меня зовут Игорь Зверев, я руководитель группы разработки автонавигации в Яндекс Картах. Сегодня я расскажу, как мы подошли к решению этой задачи: что изменили в процессе разработки, как создали и используем систему RAM‑классов для выпуска требовательных функций и какие технические выводы сделали на этом пути.

Всем привет! На связи Александр Гирев, Mobile Lead в команде ценообразования портала для продавцов в Wildberries. Однажды на собеседовании мы обсуждали с кандидатом кусочек кода, связанный с Kotlin Flow. Кандидату нужно было найти причину бага. И при помощи нейросети или своих глубоких познаний наш визави стал говорить о синхронности и асинхронности emit и tryEmit, которые используются для передачи новой порции данных в SharedFlow.
К сути проблемы его размышления не относились, однако я получил сигнал, что здорово было бы поглубже разобраться, как это работает. В статье разберём разницу между emit() и tryEmit(), для каких случаев подходят эти операторы, а также обсудим влияние параметров replay и bufferCapacity на работу MutableSharedFlow

Практический гид по быстрому запуску StarRocks Lakehouse с Apache Paimon. Вы узнаете, как построить единую пакетную и потоковую обработку (batch/stream) на базе ACID-хранилища с поддержкой schema evolution и Time Travel, разберетесь в моделях таблиц (Primary Key, Append, Append Queue) и стратегиях compaction. Пошагово настроим Flink, Kafka, Paimon и StarRocks, создадим топик и генератор данных, соберем Flink SQL‑пайплайн и выполним запросы из StarRocks, включая Read-Optimized и инкрементальное чтение.

Вопрос запуска полноценного рабочего места на мобильном устройстве в последнее время становится все более актуальным – конечно не для всех пользователей, а для тех, кто работает в дороге, должен заполнять документы или обращаться к корпоративным системам, как говорится «в полевых условиях». В этой статье мы расскажем о том, чем RED OS Mode отличается от других подходов к решению этой задачи.

Платёжная система — один из самых важных элементов любого приложения. От неё зависит не только удобство пользователей, но и стабильность выручки. Когда мы запускали RuStore, быстро поняли: платежи должны работать безупречно, иначе страдают и пользователи, и разработчики.
На старте мы использовали внешнее решение, чтобы быстро запустить процесс монетизации. Но со временем, когда стор вырос и количество интеграций увеличилось, стало очевидно: для гибкости, скорости и контроля нам нужно собственное решение. Так в RuStore появилась идея создать Pay SDK — платёжного решения, которое мы спроектировали с нуля под реальные задачи российских разработчиков и наших пользователей.
Меня зовут Алексей Мольков, я менеджер продукта в RuStore. В этом посте расскажу, как мы пришли к решению написать свой SDK, какие вызовы прошли по пути и какие преимущества уже видят команды, которые его используют.

Статусы вошли в жизнь пользователей коммуникационных инструментов очень давно: вспомните легендарную «Аську» или Mail.ru Агента. Это действительно удобно – заранее видеть информацию, которую потенциальный собеседник хочет сообщить о себе. В корпоративной среде статус играет более утилитарную роль. При помощи статусов сотрудник транслирует свой уровень доступности, сообщая коллегам важную информацию о том, что он, например, «В отпуске», «На больничном», «На звонке» или «На встрече».
Мы запустили статусы в июне 2025 года, и это стало долгожданным событием для сотен тысяч наших пользователей. Не каждое нововведение настолько круто «заходит» в корпоративной среде. И конечно, за удобной и простой фичей стояла большая работа. О том, как это было, мы расспросили в команде разработки eXpress.

В новом выпуске 7 способов найти логи и поймать баг на iOS, разбираем «Telega» по винтикам и делаем эффект глюка, очки на Android XR, что ждёт Kotlin Multiplatform разработчика на собесе, реверс обфускации Amazon Kindle Web, удаление Tea и TeaOnHer из App Store и многое другое. Заходите!

В статье рассматриваются технические аспекты разработки речевого тренажёра GolosAI, основанного на технологиях генеративного искусственного интеллекта и использовании больших языковых моделей (Large language models). Описана необходимость создания подобных средств обучения в России в условиях ограниченного доступа к зарубежным языковым сервисам, а также обозначена актуальность проблемы формирования разговорных навыков вне языковой среды. Автором представлен алгоритм функционирования тренажёра, включающий распознавание речи, генерацию ответов, синтез голоса и анализ выполнения учебных задач. В качестве важного достоинства тренажера отмечена его мультиязычная направленность и гибкость настройки под имеющиеся компьютерные средства. Дополнительно рассматривается потенциал интеграции речевого тренажера в образовательный процесс российских вузов на основе отечественных больших языковых моделей (YandexGPT, GigaChat) для создания автономных интерактивных речевых систем обучения иностранным языкам.