Как стать автором
Обновить
1
0
Вячеслав Кузнецов @slavenski

Android Developer

Отправить сообщение

Разбираемся с coroutine в Kotlin — 1

Уровень сложностиСредний
Время на прочтение3 мин
Количество просмотров2.9K

Я начну от идеи и истоков и надеюсь дойти до понимания реализации в Kotlin. Мне удалось найти статью Design of a Separable Transition-diagram Compiler от 1963 года. Люди пишут, что это одно из самых ранних упоминаний идеи корутин. В статье есть часть с названием "Coroutines and Separable Programs", про которую я узнал из поста Why using Kotlin Coroutines?. С этой части, а точнее с ее перевода я и начну.

Назад в прошлое
Всего голосов 4: ↑2 и ↓2+4
Комментарии4

Разложение модели числа на подмодели. Часть I

Время на прочтение20 мин
Количество просмотров1.9K

Изучение чисел простых и составных, четных и нечетных длится не одно тысячелетие, а теория чисел пока далека от завершения. Даже для простых и понятных арифметических операций поиск обратных им операций на сегодняшний день не завершен. Например, для n-й степени числа обратной является операция извлечение корня n-й степени, для умножения чисел обратной является факторизация произведения, но простой и доступный алгоритм ее реализации до сих пор не открыт. Оказалось, что это очень большая и сложная проблема. Универсальный способ факторизации до сих не найден. В мире людей предпринимаются огромные усилия огромным числом математиков (судя по публикациям) для отыскания такого способа, но пока без особого успеха.

Известно несколько подходов к решению проблемы (алгоритм Ферма, числовое решето, эллиптические кривые, CFRAC, CLASNO, SQUFOF, Вильямса, Шенкса и др.), которые критикуются и не кажутся перспективными и которые даже не претендуют на универсальность. Автором публикации предлагается оригинальный подход к решению проблемы с претензией на универсальность, т.е. без каких либо ограничений на факторизуемые числа, в частности, ограничений на разрядность чисел.

Существо подхода состоит в разработке такой модели числа, которая использует концепцию закона распределения делителей (ЗРД) числа, открытого автором (публикация 2014г). Подход позволяет находить инволюцию в конечном числовом кольце вычетов (КЧКВ) по составному модулю N, путем разложения предлагаемой модели числа (аналогичного разложению кольца Пирса) в цикловые множества строк (ЦМС) модели.

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

Читать далее
Всего голосов 15: ↑9 и ↓6+7
Комментарии29

Библиотека Scout — быстрый и безопасный DI на Kotlin

Уровень сложностиПростой
Время на прочтение23 мин
Количество просмотров8.6K

Привет! Меня зовут Александр Миронычев. Я занимаюсь инфраструктурой приложения Яндекс Маркет под Android. Около двух лет назад при работе над модульностью у меня появилось желание написать собственную библиотеку для внедрения зависимостей, которая позволила бы ускорить сборку приложения и упростить процесс модуляризации. Так появился Scout. Сегодня его код мы выложили в открытый доступ.

Эта статья — рассказ о том, как пройти путь от безумной идеи до конкурентоспособного опенсорс-фреймворка. Статья будет полезна тем, кто ищет замену DI-фреймворку в своем проекте, а также тем, кто мечтает написать свою библиотеку, но никак не может начать.

Читать далее
Всего голосов 31: ↑30 и ↓1+35
Комментарии13

FastTrack: Управление вводом/выводом с учетом FG приложений для улучшения пользовательского опыта смартфонов Android

Время на прочтение5 мин
Количество просмотров1K

Я разобрала статью:

Hahn, S. S., Lee, S., Yee, I., Ryu, D., & Kim, J. (2018). FastTrack: Foreground App-Aware I/O Management for Improving User Experience of Android Smartphones. In 2018 Annual Technical Conference (USENIX 18) (pp. 15-28).

И хочу поделиться основными идеями по улучшению пользовательского опыта при взаимодействии со смартфонами Android.

Пользователям смартфонов важно, чтобы их устройства без задержек реагировали на действия пользователя. Инверсии приоритетов ввода-вывода в разделах кэша страниц (page cache) и хранилище (storage device) являются причинами увеличения времени отклика приложений переднего плана (FG, Foreground). Цель статьи - исследовать проблему инверсии приоритетов ввода-вывода на смартфонах Android, ее влияние на работу пользователя. Авторы статьи предлагают инструмент управления вводом-выводом FastTrack. Он вытесняет текущую фоновую активность на всех уровнях. 

По результатам тестирования инструмент ограничивает увеличение времени отклика на 27%, в дефолтной реализации Android еще на 2,319%. Когда шесть фоновых приложений (BG, Background) работают вместе, FastTrack может сократить время отклика приложения FG на 94% по сравнению с Android. Авторы изменили реализацию кэша страниц, планировщик ввода-вывода внутри хранилища. FastTrack улучшает взаимодействие пользователя со смартфонами, предотвращая инверсию приоритетов ввода-вывода.

Читать далее
Рейтинг0
Комментарии1

ExoPlayer для IPTV приложений. Быстрый старт проигрывания

Время на прочтение8 мин
Количество просмотров16K

Доброго времени суток всем, кто неравнодушен к мобильной разработке. Меня зовут Надежда и я являюсь старшим инженером Мобильной студии в компании Orion Innovation. Вот уже несколько лет моя жизнь неразрывно связана с разработкой под Андроид. В нашей компании много интересных, а также нестандартных проектов. За последний год мне удалось принять участие в разработке под Android TV, Automotive. И очень часто на моем пути попадается ExoPlayer. В обычных ситуациях разработчики используют его для проигрывания аудио/видео, однако не задумываются, сколько возможностей действительно он предоставляет (и сколько еще можно добавить)! Существуют разные варианты настроек проигрывания, буферизации, способы оптимизации контента разного рода. Они бывают особенно полезны при разработке IPTV - приложений, когда каждая секунда по загрузке видео на счету и может сыграть очень важную роль во впечатлении пользователя от вашего приложения. Сегодня мы начнем цикл статей, раскрывающий эту тему. Он будет полезен всем разработчикам, которые когда-либо использовали ExoPlayer. Предполагается, что читатель знаком с основными терминами, связанными с плеером и воспроизведением медиа. Первая часть будет посвящена работе с DASH манифестом и оптимизацией проигрывания VOD (Video On Demand) контента.

Читать далее
Всего голосов 4: ↑4 и ↓0+4
Комментарии3

Информация

В рейтинге
Не участвует
Откуда
Волгоград, Волгоградская обл., Россия
Дата рождения
Зарегистрирован
Активность