Рубрика «мобильная разработка»

Как мы в 2 раза увеличили скорость формирования ленты в UGC-приложении - 1

Несколько лет назад мы добавили в мобильное приложение iFunny социальные механики: подписку и фид с мемами, которые запостили друзья. В этом материале обсудим вызовы времени и ответы на них в виде нескольких подходов в технической реализации на бэкенде.

Читать полностью »

Как мы «вырастили» и победили читеров в своем онлайн-шутере - 1

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

Читать полностью »

SafetyNet Attestation — описание и реализация проверки на PHP - 1

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

Читать полностью »

Быстрый, простой, сложный: как мы выпилили Realm - 1

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

Читать полностью »

Как создать виджет для iOS 14 (и не удалить его у пользователей при обновлении) - 1

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

Помимо обзорной информации, под катом — истории о том, почему нельзя просто взять и добавить настройки в виджет (спойлер: можно случайно удалить виджет установившим его пользователям), и как даже новейшие Swift-only API иногда страдают от наследия Objective-C. Материал будет полезен как тем, кто привык разбираться во всём новом, находя готовые гайды в интернете, так и тем, кто предпочитает официальную документацию.

Читать полностью »

А ну-ка, сгруппировались, или как отделить фото котиков от счетов ЖКХ - 1Удобно сфотографировать на смартфон страницу из паспорта, визитку коллеги, договор с банком или чек из ресторана. Важные документы всегда будут под рукой, и их можно распечатать или переслать. Но быстро найти нужные файлы в галерее мобильного телефона становится все сложнее. Как правило, у пользователей копится целая коллекция мемчиков и картинок с котиками вперемешку с фотографиями счетов на оплату электричества, СНИЛС и др. У сотрудников компаний, например, выездных менеджеров банка или юридической фирмы, тоже бывают похожие ситуации. Только вместо изображений пушистиков – сотни фотографий клиентских договоров и других документов. Как отыскать необходимый экземпляр, чтобы отправить коллегам в офис, или как распечатать фото водительского удостоверения в правильном масштабе, а не на весь А4? Придется повозиться.

Гораздо проще решать все эти задачи с помощью одного приложения. Поэтому мы и обновили ABBYY FineScanner AI. Теперь он умеет автоматически сортировать фотографии из галереи смартфона на 7 групп документов и быстро ищет нужные фото по текстовым запросам.

Сегодня мы подробно расскажем, как создавали каждую из этих фич, какие технологии при этом использовали и как в этом помог фреймворк ABBYY NeoML. Также покажем, как это работает в приложении. А в конце – поделимся нашими планами по развитию FineScanner и зададим вам несколько вопросов.
Читать полностью »

Чаты на вебсокетах, когда на бэкенде WAMP. Теперь про Android - 1

Мой коллега уже писалЧитать полностью »

Не баян: ищем дубликаты изображений на основе Milvus с индексом FAISS внутри - 1

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

Под катом рассмотрим используемые инструменты, а потом перейдём к примеру реализации.
Читать полностью »

Продолжаем публикации из рубрики личный опыт. Сегодня iOS-разработчик Игорь Никитин, который два года назад переехал в Сидней, поделится опытом поиска работы, обустройстве на новом месте и впечатлениями от устройства жизни в Австралии. Передаем ему слово!

[Личный опыт] Как я переехал в Австралию всего с двумя годами опыта в разработке - 1

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

Повышенная производительность, автозаполнение, новый виджет и многое другое!

Всем привет, я Евгений Сатуров из Surf. Представляю перевод официальной статьи про последний апдейт Flutter 1.20 с моими комментариями. Фреймворк с каждым новым релизом становится всё более отполированным, и сегодня мы рассмотрим, что принес нам stable-канал в конце лета.

Анонс Flutter 1.20 - 1
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js