Как стать автором
Обновить
17
0
Нурлан Набиев @drhouse

Android developer

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

Анализ трафика телеметрической информации Android смартфона

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

Сбор телеметрических данных о пользователях и их действиях в вебе и приложениях — плата за пользование «бесплатными» сервисами в Интернете. Пользователи расплачиваются своим вниманием и временем, проведёнными в данных сервисах и приложениях. Поэтому производители мобильных платформ, ИТ-компании, социальные сети заинтересованы в получении максимального объёма данных с устройств.

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

В данной статье рассматривается вопрос о том, какую конкретно информацию смартфон передает на серверы вендоров.

Интересненько
Всего голосов 60: ↑60 и ↓0+60
Комментарии33

Что мы используем для анализа Android-приложений

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

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

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

Навигация на Jetpack Compose by Google

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

Всем привет, в данной статья покажу как организовать навигацию в Android приложении при использовании в своём проекте только compose UI. Методики навигации применены из официального источника от Google.

Расскажу как передавать объекты и примитивные данные между состояниями экранов, как советует google и свой метод, который мне подошёл как наиболее оптимальный и менее затратный.

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

Программируем умный дом

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

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

И, как и многое другое в Дивном Новом Мире Большого Брата, практически бесплатно мы получаем термостат с интеллектом кофеварки и кофеварку с интеллектом умственно отсталого муравья. С простецкой ценой в одну смертную душу в виде ваших данных. Всё это пришло вместе с лицензионными соглашениями, которые можно только посылать в филиал ада по соглашениям с Бессмертными Душами, сопроводив запиской: «Учитесь, парни…» (© Терри Праттчет, Нил Гейман — Благие Знамения.)

Не раз мы слышали новости о том, что какая-то нерадивая Алекса позвонила куда-то не туда или Алиса с Сири сливают данные одновременно товарищу майору и мистеру Смиту. Но мы не лыком шиты. У нас есть альтернативы, и с ними мы и познакомимся.
Читать дальше →
Всего голосов 17: ↑17 и ↓0+17
Комментарии12

Ускоряем панораму машины в приложении Авто.ру

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


В приложении Авто.ру есть такая фича — панорамы автомобилей. Она позволяет любому сделать 3D-фото своей машины, показать её во всей красе. Как это работает и как нашим коллегам из ML удалось уместить в смартфон то, что раньше требовало целого ангара, напичканного дорогостоящим оборудованием, yaantonn уже рассказывал на Хабре.


Но отснять панораму — лишь полдела. Затем её предстоит воспроизвести, причём сделать это одинаково хорошо и на топовом флагмане, и на бюджетном смартфоне.

Читать дальше →
Всего голосов 31: ↑31 и ↓0+31
Комментарии15

Как я тестировал Android-приложения с помощью Samsung Remote Test Lab

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

Меня зовут Игорь. В прошлом году, параллельно с учебой в 11 классе, я проходил обучение в “IT-Школе Samsung” на базе томского IT-Куба. В конце курса обучения я одержал победу во Всероссийском конкурсе компании Samsung по разработке мобильных приложений «IT Школа выбирает сильнейших!» и стал финалистом «Samsung Android Bootcamp».

В рамках этих мероприятий я разработал пару мобильных приложений и сейчас расскажу об опыте их тестирования с помощью сервиса Samsung Remote Test Lab, с которым я познакомился совсем недавно.

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

Запись звука и отображение громкости на Android

Время на прочтение4 мин
Количество просмотров6.6K
Всем привет! Меня зовут Юрий Дорофеев, я Android-разработчик и преподаватель в Mail.ru Group. Если вы когда-нибудь записывали аудиосообщения, то видели, как анимируется интерфейс в зависимости от громкости вашего голоса. Давайте повторим этот эффект:


Читать дальше →
Всего голосов 27: ↑26 и ↓1+25
Комментарии4

Безопасность в мобильных приложениях

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

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

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

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

Читать далее
Всего голосов 24: ↑23 и ↓1+22
Комментарии1

Пишем свой профайлер для анализа производительности приложения на Android

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

По мере развития приложения стоит проводить её аудит для выявления неявных деградаций в производительности. Недавно я проводил аудит раздела комментариев iFunny и написал собственный профайлер. Он не заменит имеющиеся на рынке инструменты Android Profile из Android Studio, Battery Historian и Systrace, но обладает рядом плюсов:

1. Негативное влияние профилировщика на производительность приложения сводится к минимуму.
2. Документация итераций оптимизации работы приложения.
3. Гибкость в сборе метрик.

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

Читать далее
Всего голосов 33: ↑32 и ↓1+31
Комментарии0

Эхо-бот для Telegram на Kotlin

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

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

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

Как я искал работу в США во время пандемии, подался на 200 вакансий и получил оффер на $380K

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

Украинский профильный ресурс DOU.UA опубликовал статью о нелегком пути релокации специалиста в США во время пандемии, где он также отвечает на дополнительные вопросы и комментарии.

Адам Леос — Senior Software Engineer в Roku. Пару лет назад он принял решение о релокации и в итоге выбрал своей целью США. Всего за три месяца Адам с нуля собрал все необходимое для подачи на визу О1, но потом в историю вмешалась пандемия. О том, с какими трудностями он столкнулся из-за карантина, как искать работу на американском IT-рынке, как получить большое количество офферов и выторговать самую выгодную компенсацию, разработчик рассказал в интервью DOU.UA

Читать далее
Всего голосов 47: ↑39 и ↓8+31
Комментарии74

Стоп рефакторинг. Kotlin. Android

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

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

Я хочу рассказать про практики, которые не один раз уже выручали нас в проекте. Подборка примеров получилась не на пустом месте, все реальные примеры PullRequest-ов.
Все примеры НЕ выдуманные и тестировались на живых людях. В процессе сбора данных несколько людей пострадало.

Читать далее
Всего голосов 12: ↑11 и ↓1+10
Комментарии6

Уязвимости в реализации межпроцессного взаимодействия в Android-приложениях

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

Последние 6 лет я работаю экспертом по информационной безопасности в Одноклассниках и отвечаю за безопасность приложений.


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



Но сначала пара слов о том, как появился этот доклад.


Наверное, вы уже заметили, что на каждом Heisenbug есть как минимум один доклад про безопасность, например про XSS или поиск уязвимостей в веб-приложениях. Тема мобильной безопасности осталась не охвачена, хотя мы живем в 2020 году, и аудитория мобильных приложений уже давно превысила аудиторию веба. Мне хотелось выбрать тему из мира мобильной безопасности — достаточно конкретную, чтобы выдержать формат технического доклада, но при этом достаточно распространенную.

Читать дальше →
Всего голосов 30: ↑28 и ↓2+26
Комментарии2

Как построить самовоспроизводящуюся практику

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


Сегодня расскажем, как организовать устойчивое развитие команды, которая не подвержена кадровым кризисам. Где руководитель не тонет в оперативке, сотрудники не скучают годами на одинаковых задачах, старшие специалисты не «бронзовеют», а привлечение новых сотрудников не стоит как крыло самолёта. Если не найдёте в тексте ничего нового для себя, поздравляем! А мы наступили на все приведённые грабли. Может быть, кого-то наш опыт убережёт от ошибок. Или подскажет решение.
Читать дальше →
Всего голосов 14: ↑13 и ↓1+12
Комментарии4

Android-разработчикам: как сократить время реализации тёмной темы с пары месяцев до недели

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

Привет, меня зовут Влад Шипугин, я Android-разработчик в Redmadrobot. В этой статье я хочу поделится опытом реализации темной темы, создания удобного UI Kit, как для разработки, так и для дизайнеров. Я расскажу про использование Material Components и работу с Vector Drawable. Также вы узнаете, как быстро поддержать режим edge-to-edge с использованием Window Insets и познакомитесь с моей библиотекой — edge-to-edge-decorator.

Читать далее
Всего голосов 21: ↑20 и ↓1+19
Комментарии7

Отрисовка первого кадра Android-приложения

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

Всем приветЪ! Этот пост является продолжением поста про глубокое погружение в процесс загрузки-запуска Android-приложения. Сегодня мы пойдем чуть дальше и обсудим момент когда главная Activity приложения запущена и система должна отрисовать первый кадр. Прошу под кат.
Читать дальше →
Всего голосов 23: ↑23 и ↓0+23
Комментарии2

«Холодный» запуск Android-приложения

Время на прочтение6 мин
Количество просмотров15K
Всем приветъ! Давно ничего не писал.

Это будет серия постов о процессе «холодного» запуска Android приложения, с момента нажатия на иконку и до создания процесса приложения.

image
Читать дальше →
Всего голосов 17: ↑17 и ↓0+17
Комментарии2

Чем опасен postDelayed

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

Часто из-за особенностей работы android системы и sdk, нам необходимо подождать, когда определённая часть системы будет сконфигурирована или произойдёт какое-то необходимое нам событие. Зачастую это является костылём, но иногда без них никак, особенно в условиях дедлайнов. Поэтому во многих проектах для этого использовался postDelayed. Под катом рассмотрим, чем же он так опасен и что с этим делать.

Читать дальше →
Всего голосов 9: ↑8 и ↓1+7
Комментарии4

Математика для искусственных нейронных сетей для новичков, часть 1 — линейная регрессия

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

Часть 1 — линейная регрессия
Часть 2 — градиентный спуск
Часть 3 — градиентный спуск продолжение

Введение


Этим постом я начну цикл «Нейронные сети для новичков». Он посвящен искусственным нейронным сетям (внезапно). Целью цикла является объяснение данной математической модели. Часто после прочтения подобных статей у меня оставалось чувство недосказанности, недопонимания — НС по-прежнему оставались «черным ящиком» — в общих чертах известно, как они устроены, известно, что делают, известны входные и выходные данные. Но тем не менее полное, всестороннее понимание отсутствует. А современные библиотеки с очень приятными и удобными абстракциями только усиливают ощущение «черного ящика». Не могу сказать, что это однозначно плохо, но и разобраться в используемых инструментах тоже никогда не поздно. Поэтому моей первичной целью является подробное объяснение устройства нейронных сетей так, чтобы абсолютно ни у кого не осталось вопросов об их устройстве; так, чтобы НС не казались волшебством. Так как это не математический трактат, я ограничусь описанием нескольких методов простым языком (но не исключая формул, конечно же), предоставляя поясняющие иллюстрации и примеры.

Цикл рассчитан на базовый ВУЗовский математический уровень читающего. Код будет написан на Python3.5 с numpy 1.11. Список остальных вспомогательных библиотек будет в конце каждого поста. Абсолютно все будет написано с нуля. В качестве подопытного выбрана база MNIST — это черно-белые, центрированные изображения рукописных цифр размером 28*28 пикселей. По-умолчанию, 60000 изображений отмечены для обучения, а 10000 для тестирования. В примерах я не буду изменять распределения по-умолчанию.
Читать дальше →
Всего голосов 54: ↑47 и ↓7+40
Комментарии43

Навыки и требования к специалистам по информационной безопасности

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


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

В данной статье будет раскрыта тема востребованности специалистов по информационной безопасности, специфика требований и навыков.
Читать дальше →
Всего голосов 28: ↑26 и ↓2+24
Комментарии22
1

Информация

В рейтинге
Не участвует
Откуда
Алматы (Алма-Ата), Алма-Атинская обл., Казахстан
Дата рождения
Зарегистрирован
Активность