Разработка ждёт балета – Telegram
Разработка ждёт балета
1.65K subscribers
505 photos
4 videos
15 files
1.53K links
What I cannot create, I do not understand.

DM: @alexey_mileev
PeerLab: https://news.1rj.ru/str/+e2ND1tAa0lU2ZTli
Download Telegram
Обновился Android Gradle Plugin, завезли немного новых API и, surprise-surprise, выложили обновлённые доки.
 
#gradle #agp #build
Замечательная статья про RCE уязвимость, найденную в MX Player. Весело, что RCE получить позволило SDK Facebook. Очень интересно и достаточно коротко. Почитайте!
 
#cybersec #vulnerability #facebook
В Google Analytics для Firebase (который Firebase Analytics) метод setCurrentScreen пометили как deprecated. Теперь screen_view событие можно трекать ручками в любых подходящих для этого местах.
 
#google #firebase #analytics
Похоже, гугл решил наконец-то прикопать SharedPreferences. Вышла альфа их новой балалайки - DataStore.
Это такие префсы, которые постарались написать по-человечески, а не как в прошлый раз. Оно умеет в нормальную обработку ошибок, в асинхронщину, в транзакции и даже в миграцию со старых SharedPreferences. Ещё и типизированное хранилище поверх protobuf накрутили!
В общем, выглядит многообещающе, будем ждать релиза. Не первого, конечно, по старой-доброй традиции.
 
#preferences #datastore #protobuf
Не супер глубокий, но всё равно прикольный разбор того, как написать своего демона. Всё с примерами кода и довольно подробными комментариями. Можно узнать, например, почему одного fork() недостаточно.

#unix #daemon #c
5 октября стартует новый сезон Podlodka Android Crew.

Целых две недели разных активностей:
- Доклады. Например, рассказ про то, как вырасти в CTO
- Парное программирование и лайв-рефакторинг
- На протяжении всей движухи можно будет тусить в слаке с другими слушателями и докладчиками, тереть за жизнь и, чего греха таить, пить чего покрепче осенними вечерами
- Ну и много чего ещё, полистайте расписание!
 
А, ну и цена снижена до 1 октября. Да и стоит оно, прямо скажем, не сильно дорого. Заходите!
 
#event
Забавная статья-расследование про реальный размер объектов в памяти на ART. Основной вывод - heap dumps для Android дают правильный размер. Штош.
 
#art #memory #cpp
В Android 11 ART научили в обновления layout'а классов на лету, чтобы как минимум использовать с Apply Changes в Android Studio. Обозвали это дело Structural Class Redefinition. В статье разбирают, как всё это пилили и с какими сложностями пришлось бороться.
 
#art #studio #ide
И ещё разок: 5 октября начнётся двухнедельная Podlodka Android Crew.  Про какие-то технические штуки я уже писал выше, давайте теперь засветим бездельников:
- Доклады про стартап с нуля и про личный бренд
- Круглый стол по релизным процессам
- Психология в команде и доклад про зарплаты и рынок труда
 
Сессии проходят утром и вечером, поработать днём всё ещё удастся. Стоит это счастье 3900, загляните!
 
#event
Вот здесь рассказывают, как можно немного остудить ваши полыхающие жопки, измученные тяжёлой борьбой с RecyclerView и UI thread, накостыляв асинхронное создание ViewHolder поверх Kotlin Channel.

#recycler #async #channel
Не щадя живота своего мы с товарищами работаем над AppsLive 2020. Это как AppsConf, только совсем-совсем бесплатно и очень-очень онлайн.

Случится это всё 21-22 октября.

Расскажу про доклады ребят, с которыми мне повезло поработать:
- Саша Агейченко расскажет про все тонкости работы в фоне. Все вот эти WorkManager, Doze mode и foreground Service - это всё к нему.
- Артур Бадретдинов обрисует свой опыт жонглирования MVI, Compose и Ribs. И, что важно, научит жонглировать вас!
- Дима Пермяков покажет, как написать Gradle плагин, который нагенерит вам весь нужный код, чтобы каждый билд мог неподражаемо блистать своим набором feature toggles.

Заходите!

#appsconf #conference #event
Бывает, несёшь себе кофеёк к компу. Путь пролегает не самый близкий - покинуть кухню, преодолеть коридор, крадучись занести кружку в комнату, не обосрав тот любимый белый ковёр, и водрузить, наконец, дрожащими руками заветный напиток на рабочий стол.
А тут, на тебе, в коридоре, прямо под ногами, песок какой-то. Ясное дело, подставил кто-то. Гады. Ну ты-то не мог, ты-то ногами об коврик пошаркал, когда с прогулки возвращался. Сволочи. А кофе-то запахом манит. Да и пролить не хочется, они от нас только этого и ждут, Бубба.
Тут ты и принимаешь стратегическое решение аккуратненько ножкой так ать, и смести песок куда-то в сторону. Пусть это будет проблема выходного тебя.
Вот так и с сайд-эффектами, всё время их диверсанты какие-то в наш чудесный код добавляют. Но хочется же их аккуратненько куда-то под коврик замести, и чтобы только там они где-то и водились, и не отсвечивали, пока не позовут. И чтобы нельзя было ими наши замечательные чистые функции попортить.
Вот в этом посте смотрят на использование suspend модификатора для этих целей. Интересная идея, пометить всё, у чего есть сайд-эффекты, тогда компилятор не даст нам чистые куски запятнать. Особенно интересно в контексте Redux-like подходов на эту идею посмотреть.

#kotlin #coroutine #fp
Работа с датами и таймзонами - почти всегда больнючая заноза в заднице. Причём заноза старая. Такая, которую не хочется лишний раз трогать. Страшно же. Эта боль уже знакомая, все вроде как к ней привыкли, а новая - хрен её знает, какой окажется. И SQLite ещё, собака, подливает масла в огонь, отдельного типа данных для дат-то не водится.

Но не всё так плохо. Отдельного типа данных нам не положено, но если очень-очень нужно, то есть всякие вспомогательные функции. Вот в этом посте показали, какие инструменты у нас всё-таки есть, и как ими можно пользоваться.

P.S. Вот тут есть очень забавное видео про проблемы со временем и таймзонами в целом.

#sqlite #db #date
Кстати, не забывайте, что у этого канала есть ещё вот такая движуха: Shitty Android PeerLab.

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

Ближайший пирлаб случится уже завтра, заходите!

#peerlab #event
Близится ещё одна мобильная конференция - MobileOptimized.

Пройдёт она, ясное дело, онлайн. Будут потоки по Android, iOS и кроссплатформе. Все доклады там на английском и от разработчиков из самых разных стран.

Из Android трэка моё внимание сразу привлекли:
- Android App Start Explained от Lucas Nelaupe - разбор того, что происходит от нажатия на иконку аппа и до отрисовки первого экрана, как замерить и впоследствии оптимизировать каждый из этапов
- Absolute Modularization for Android от Степана нашего Гончарова - тут вроде бы и добавить нечего, название говорит само за себя
- А historical account of memory leaks in Android от Amanda Hinchman - историю того, как и что происходило с Android фреймворком за столько лет, всегда интересно послушать, а в контексте утечек памяти - вдвойне

Цена билета сейчас $30, а с промокодом shitty10android ещё и скидка в 10% положена. Заходите!

#event #conference
Let’s Encypt (разрешённая в РФ некоммерческая организация) решила ласково так, по-отечески, приложить лицом о стол пользователей Android с версией ниже 7.1.1 (API 25). На таких устройствах нет корневого сертификата Let’s Encrypt. И если сейчас они могут ходить на ряд ресурсов благодаря перекрёстной подписи с другим удостоверяющим центром, то с некоторого момента X больше не смогут.
Хочется, конечно, сказать, что туда им и дорога, но устройств таких очень уж много - 33.8%.
За новость спасибо @istima.

#network #https #certificate
Ребята из Podlodka Crew делают очередную конфу. На этот раз - по кроссплатформе. Грозятся потрогать своими немытыми лапками и React Native, и Flutter, и Kotlin Multiplatform Mobile. Проходить это всё будет 14-18 декабря. Welcome!

#event
“Когда не выходит насухо, стоит прибегнуть к смазке”. Шило же дурного не посоветует. Хлеб похорошеет, если его смазать маслом. Место укуса комара можно смазать специальным средством, чтобы не чесалось. Ну а всякую работу с View и анимациями Chris Banes решил смазать корутинами.
Вот тут описано, что там куда можно присобачить, чтобы дожидаться следующего прохода layout или окончания анимации прямо без коллбэка и прямо в корутине.

#ui #view #coroutine
Тут показывают, чем Arrow-kt может помочь, если приходится делать множественные вложенные .copy на data class’ах.
Мне почему-то кажется, что если проделывать такое приходится действительно часто, то, возможно, где-то мы свернули не туда. Ну, случаи бывают разные, может быть для кого-то это и впрямь оправданно. Да и выглядят эти modify и @optics не прямо фу-фу-фу.

#arrowkt #fp #library