Пожалуй это первый раз когда я такое вижу - документация библиотеки в Twitter-треде
Официальный сайт либы в документации говорит что описание либы можно почитать в треде и *ссылка на тред*
История становится чуть менее сюрреалистичнее когда обращаешь внимания на то, что библиотека от Twitter : D
Официальный сайт либы в документации говорит что описание либы можно почитать в треде и *ссылка на тред*
История становится чуть менее сюрреалистичнее когда обращаешь внимания на то, что библиотека от Twitter : D
🤯11😁3
Как неявная кодогенерация съела несколько часов в моей жизни
Сегодня во время разработки приложения я получаю очень странное падение приложения. Согласно ему мы крашимся во время чтения обычной строки. Место это происходит в многопоточном коде и мне пришлось потратить много времени чтобы высказать предположения а почему так может быть.
Спустя множество потраченных часов просмотра логов и кода я поменял стратегию - решил посмотреть генерируемый код. Для этого я взял собранное приложение и декомпилировал его с помощью JADX. И там я увидел что вместо моей красивой строки следующее:
В этот момент я стал что-то подозревать, так как в продакшене таких ошибок ни у кого не было.
Оказалось все это время у меня крашился внутренний механизм LiveLiterals. AndroidStudio самостоятельно подменяет все константы в коде на LiveLiterals. Это сделано чтобы можно было менять константы в коде без пересборки приложения. Удивительно сколько всего себе позволяет текстовый редактор
Сегодня во время разработки приложения я получаю очень странное падение приложения. Согласно ему мы крашимся во время чтения обычной строки. Место это происходит в многопоточном коде и мне пришлось потратить много времени чтобы высказать предположения а почему так может быть.
Спустя множество потраченных часов просмотра логов и кода я поменял стратегию - решил посмотреть генерируемый код. Для этого я взял собранное приложение и декомпилировал его с помощью JADX. И там я увидел что вместо моей красивой строки следующее:
LiveLiterals$FirmwareVersionBuilderApiImplKt.INSTANCE.m9856xc5cc7c0e(). Сама строка в коде выглядит так: " ".В этот момент я стал что-то подозревать, так как в продакшене таких ошибок ни у кого не было.
Оказалось все это время у меня крашился внутренний механизм LiveLiterals. AndroidStudio самостоятельно подменяет все константы в коде на LiveLiterals. Это сделано чтобы можно было менять константы в коде без пересборки приложения. Удивительно сколько всего себе позволяет текстовый редактор
🤯20🕊2
Media is too big
VIEW IN TELEGRAM
Меня пугает то количество Privacy Policy которое нужно принять для игры в https://contexto.me/
🤬4
Мобильные приложения флиппера засветились в ролике у розеткед. Ну все, можно и умирать теперь спокойно.
Ранее флиппер засветился в ролике у другого "деда" рутуба - Усачева, но тут приятно что именно приложения показали)
Ранее флиппер засветился в ролике у другого "деда" рутуба - Усачева, но тут приятно что именно приложения показали)
🔥31❤3
Media is too big
VIEW IN TELEGRAM
Автоматическое тестирование Flipper Zero с помощью OpenCV и лазерного гравера
Тестирование хардвара это ахереть какая сложная задача. Для каждого устройства нужно по сути изобретать новые способы тестирования.
Наша (Flipper Devices) команда QA сейчас впиливает в воркфлоу в Pull Request автоматический прогон тестов. Как на ваших этих софтварных разработках, только для хардвара.
Для этого они используют OpenCV чтобы распознавать элементы на экране флиппера и проверять их наличие+корректность данных.
А затем следующий уровень - станок, который двигает флиппер и проверяет его работу с картами/ридерами или другими внешними сущностями.
Все это выглядит как какой-то космос 🚀
Тестирование хардвара это ахереть какая сложная задача. Для каждого устройства нужно по сути изобретать новые способы тестирования.
Наша (Flipper Devices) команда QA сейчас впиливает в воркфлоу в Pull Request автоматический прогон тестов. Как на ваших этих софтварных разработках, только для хардвара.
Для этого они используют OpenCV чтобы распознавать элементы на экране флиппера и проверять их наличие+корректность данных.
А затем следующий уровень - станок, который двигает флиппер и проверяет его работу с картами/ридерами или другими внешними сущностями.
Все это выглядит как какой-то космос 🚀
🔥34👍5❤🔥1⚡1❤1👎1😱1💩1
Рассказываю как устроены виджеты в Android-приложении для Flipper Zero
На недавней конференции Podlodka Crew выступал с докладом про устройство виджетов, RemoteView и внешнего взаимодействия с окружением.
Доклад с архитектурной направленностью не привязанный к конкретным технологиям. С особенностями работы лаунчеров андроидовских и системных компонентов.
Помимо виджетов ещё упоминаю коммуникацию с WearOS приложением и накидываю штрихи фундамента для интеграции с голосовым помощником от Google - "Hey, Google, emulate my home key with Flipper Mobile App"
https://youtu.be/AS7h8hM9SKk
P. S. Да, звук пососный, я уже исправился и купил себе микрофон, о чем будет следующий пост
На недавней конференции Podlodka Crew выступал с докладом про устройство виджетов, RemoteView и внешнего взаимодействия с окружением.
Доклад с архитектурной направленностью не привязанный к конкретным технологиям. С особенностями работы лаунчеров андроидовских и системных компонентов.
Помимо виджетов ещё упоминаю коммуникацию с WearOS приложением и накидываю штрихи фундамента для интеграции с голосовым помощником от Google - "Hey, Google, emulate my home key with Flipper Mobile App"
https://youtu.be/AS7h8hM9SKk
P. S. Да, звук пососный, я уже исправился и купил себе микрофон, о чем будет следующий пост
YouTube
RemoteView и компаньоны: готовим виджеты и приложение-компаньон для WearOS правильно/Никита Куликов
Расскажем про проблемы построения архитектуры взаимодействия виджета с приложением и приложения-компаньона с приложением. Поговорим о том, как обрабатывать внешние запросы в приложении без боли и с наименьшим количеством багов
Подпишись на канал – каждую…
Подпишись на канал – каждую…
🔥7
This media is not supported in your browser
VIEW IN TELEGRAM
GitHub подготовил видео-итоги года, вот мой.
Кидайте в комментариях свои "открытки")
https://www.githubunwrapped.com/
Кидайте в комментариях свои "открытки")
https://www.githubunwrapped.com/
Иногда я публикую тут #resources - полезные для меня ссылки, которые, возможно, будут полезны для вас.
Вот новая пачка
Поиск авиабилетов:
https://www.lastminute.com/
https://www.skyscanner.net/
В каких странах сколько стоит техника эпл:
https://themacindex.com/
Вот новая пачка
Поиск авиабилетов:
https://www.lastminute.com/
https://www.skyscanner.net/
В каких странах сколько стоит техника эпл:
https://themacindex.com/
lastminute.com
Lastminute holidays, hotels, flights & city breaks | lastminute.com
Plan your next holiday with the official lastminute.com website. We offer amazing late travel deals. Huge savings on Hotels, Flights, Holidays, City Breaks, Spa & more. Book online now & save!
👍7👎1
Завтра меня публично прособеседуют
25 января в 19:00 по Москве будет стрим с собеседованием меня по теме Jetpack Compose. Обычно мои собеседования это рассказ про байки в разработке, полученные в моем опыте. Посмотрим во что выльеться это собеседование 🙂
Запись будет
https://www.youtube.com/watch?v=qb0Ezy-WO_k
25 января в 19:00 по Москве будет стрим с собеседованием меня по теме Jetpack Compose. Обычно мои собеседования это рассказ про байки в разработке, полученные в моем опыте. Посмотрим во что выльеться это собеседование 🙂
Запись будет
https://www.youtube.com/watch?v=qb0Ezy-WO_k
YouTube
Jetpack Compose Battle: Онлайн-собеседования Senior разработчика / Мобильный разработчик
Поддержать канал и задать вопрос на стриме
https://www.donationalerts.com/r/mobiledeveloper
Всем привет! Приглашаю вас принять участие в живом стриме Jetpack Compose Battle, где два синьор разработчика поговорят на тему Jetpack Compose и сравнят свои навыки…
https://www.donationalerts.com/r/mobiledeveloper
Всем привет! Приглашаю вас принять участие в живом стриме Jetpack Compose Battle, где два синьор разработчика поговорят на тему Jetpack Compose и сравнят свои навыки…
🔥10👍1
Forwarded from Меня заставили создать канал
Что думаете о сливе практически всех исходников Яндекса?
Мне наконец приехал SharGeek Storm 2
Покупал я его еще в прошлом году осенью. Мое желание было купить качественный и красивый powerbank который прослужит мне лет пять - до этого powerbank'и xiaomi приходилось менять раз в год, потому что они быстро разряжались.
Этот powerbank:
- Имеет DC out/in с возможностью настройки выходного вольтажа (!)
- Показывает потребление устройства (V/A/W)
- Два usb type-c
- USB Type-A
Итого, он заменяет сразу три устройства: лабораторный БП, повербанк, измеритель мощности
При этом он умеет контролировать отдачу тока, показывать состояние батареи, температуры и прочего. Ну и выглядит как будто бы из 2077 года.
Оч доволен, хоть и это явно overprice - зато прослужит долго и я всегда на него смогу положиться.
Покупал я его еще в прошлом году осенью. Мое желание было купить качественный и красивый powerbank который прослужит мне лет пять - до этого powerbank'и xiaomi приходилось менять раз в год, потому что они быстро разряжались.
Этот powerbank:
- Имеет DC out/in с возможностью настройки выходного вольтажа (!)
- Показывает потребление устройства (V/A/W)
- Два usb type-c
- USB Type-A
Итого, он заменяет сразу три устройства: лабораторный БП, повербанк, измеритель мощности
При этом он умеет контролировать отдачу тока, показывать состояние батареи, температуры и прочего. Ну и выглядит как будто бы из 2077 года.
Оч доволен, хоть и это явно overprice - зато прослужит долго и я всегда на него смогу положиться.
❤17👍4🔥1
⚠️В сеть утекли исходники Flipper Devices⚠️
Сегодня стало известно о публикации исходников прошивки Flipper Zero, исходников мобильных приложений и деcктопного продукта компании - qFlipper.
Качайте пока не удалили: https://github.com/flipperdevices
Сегодня стало известно о публикации исходников прошивки Flipper Zero, исходников мобильных приложений и деcктопного продукта компании - qFlipper.
Качайте пока не удалили: https://github.com/flipperdevices
😁88🤣34😱17🤡17💩5👍2🔥2⚡1👏1🤯1