red_mad_dev – Telegram
red_mad_dev
1.78K subscribers
172 photos
10 videos
166 links
Делимся железной экспертизой от практик red_mad_robot 🤖

YouTube-канал: https://www.youtube.com/@red_mad_dev

Другие наши проекты: @Redmadnews, @red_mad_product,
@design_jam, @daisygpt_bot.
Download Telegram
Работа с сетью в iOS обычно не представляет особой сложности, но только до тех пор пока пользователь не свайпнул ваше приложение снизу экрана или не нажал кнопку Home. Через некоторое время после этого начинается особая уличная магия, потому что сетевые запросы переходят из области ответственности вашего приложения в недра операционной системы, и это уже 🤯. В этой статье Шурик Бабаев раскопал все прелести Background URL Session, рассказал, как она работает, как передавать сетевые запросы в фоновую сессию, какие хитрости таятся под капотом, как это правильно дебажить и отслеживать. Чудесный пятничный лонгрид от Redmadrobot! https://habr.com/ru/company/redmadrobot/blog/478566/
Андроид команда снова на линии 🧙🏾‍♂️
Перед праздниками решили обсудить такую важную тему, как код ревью 👨🏻‍🔧
У нас есть документ описывающий основные принципы на которые стоит ориентироваться при оценке нового патча, который был составлен из различных статей и собственного опыта. А недавно на хабре был перевод принципов код ревью от гугл.
Поэтому Петя изучил эти источники и собрал информацию вместе, чтобы мы могли оценить и обсудить ее вместе. 🤖
Приглашаем к просмотру! 📺
https://youtu.be/O4lcyGouQKY
Вы говорили о проблемах со звуком? 😊
С наступающим 2020! 🌲
А у нас последний митап уходящего года 🥳
https://youtu.be/O70fKdU1ABs
Максим продолжает рассказ про безопасность и реализацию входа в авторизованный режим. 👮‍♀️
Из него вы узнаете:
👉 как реализовать работу со сканером отпечатков
👉 почему BiometricPromt это круто!
👉 и почему он может вам пока не подойти
👉 что можно увидеть во внутренностях разных банков
👉 и какие неочевидные ошибки стоит ожидать от сканнера

ЗЫ: первый митап про шифрование и хранение токена можно посмотреть в записи здесь https://www.youtube.com/watch?v=FHScWP8M844 📺
ЗЫЫ: у нас появились новые микрофоны, но пока не все задействованы, так как мы учимся быть звукооператорами. На данный момент должно быть идеально слышно только рассказчика. 😉
Праздники уже далеко, а мы продолжаем 🤖
Встречайте второй выпуск советов и приемов 🥳
https://youtu.be/p7srNXH_RpE
Как и раньше целых шесть тем:
👨🏻‍🔧 как проще всего загрузить и показать пользователю PDF файл?
🧐 решение проблемы с названиями месяцев в русской локали
💪 отличная библиотека для отображения календаря с возможностью полной кастомизации
👻 BottomSheetDialog и исчезнувшие инсеты
💄 тинтинг Drawable в рантайме
🙅🏽‍♀️ глобальный PlaceHolder при использовании Glide

P.S.: оцените звук, должен был стать лучше 😶
Привет! Много ли тут людей с 30-летним опытом программирования? 👨‍🦳

Вот и у нас нету 😎
Зато мы обсудили советы такого человека на последнем митапе:
- есть ли код без спецификации?
- о пользе документации и тестов
- будь готов выбросить свой код
- не думай о будущем, береги силы 😁
- падать или не падать, вот в чем вопрос
- "правильный инструмент для задачи"

... и еще много интересных мыслей.
📺 Подключайся: https://youtu.be/8p03xTMTUho
Алоха!
На прошлой неделе Дима рассказал, что за «странные дела» были в недавнем проекте.
И получился просто огненный 🔥 митап:
- MotionLayout - отличный результат 😎 и проблемы редактора 😭
- Краткий экскурс в AfterEffect
- Перемотка анимации ☠️
- ExoPlayer и недостающие listener’ы
- Подмена картинки и текста в анимации
- Поиск решений и эксперименты 🧪
- Клики по элементам анимации 😮
- Доработка Lottie, чтобы ловить клики
- Склеивание видео и анимации 🎥
- Прогресс и отмена процессинга (the coroutines way)

💻 Очень рекомендуем посмотреть: https://youtu.be/0FPrpwkALZM
Привет! Продолжаем делиться знаниями. 📚
На этот раз поговорили про библиотеку Material Design Сomponens (ведь в феврале вышла v1.1) и вообще про Material Design:
- Основы Material Design
- Theme vs. Style (тема обсуждается c 14го года еще 😁)
- Что такое ThemeOverlay и как использовать
- Нюансы и советы
- Новое в Material Design 😻
- Наши обсуждения и баги из жизни 🐞

🧩 Присоединяйтесь: https://youtu.be/t_mjpPGGZ8w

PS. Под видео куча полезных ссылок.
Привет самоизолировавшимся! 🏠
Мы записали наш первый онлайн-митап, в котором Руслан и Миша рассказали о решениях по управлению зависимостями в применении к многомодульному проекту:
- Иерархия скоупов, повторяющая иерархию фрагментов
- Наследование и добавление зависимостей
- Пару слов о FlowFragment и ScopeManagementPlugin
- Презентация в презентации 😎
- Многомодульность как ответ на рефакторинг
- Зависимости в модулях использующих Dagger
- Подставляем зависимости модуля из любого другого в котором его используем🤘

📡 Оставайтесь дома: https://youtu.be/YqQKTCkiWu8

PS. И будьте здоровы!
Привет, домоседы! Пока мы все с вами изолируемся, как компоненты хорошей архитектуры, давайте вспомним как оно там было в офисе :) Мы в iOS-команде раскопали одну нашу старую запись, которую сделали еще в офисе, и которая еще долго не потеряет актуальность.

В ней Амир рассказал нам про Swift Memory Layout!

Как устроена модель памяти в Swift?
Что мы можем о ней узнать, используя структуру MemoryLayout?
И что в конце концов означаются все эти Unsafe[Mutable][Raw][Buffer]Pointer?

В общем, самое время узнать что-то новое, пока понедельник и силы на новую неделю еще есть :)

https://youtu.be/TQ5I12IlhVc
Продолжаем онлайн-митапы. 🛰
Решили проверить что нового в RxJava3 и стоит ли мигрировать. Петя пробежался по самым интересным изменениям:
- Меньше пропущенных ошибок ⚠️
- reset() для СonnectableObservable
- Flowable.publish().take() теперь c паузой
- Поддержка Java 8 Stream API 🤓
- Добавлены забытые операторы 👨‍🦳
- Ещё много миноров
- Поняли, что основные либы ещё не переехали 🏴‍☠️
- Обсудили, стоит ли переезжать
- Плавно ушли в обсуждение корутин 😂

🎈Узнайте наше решение тут: https://youtu.be/wYwdK0T0KJE
Привет! А вы писали когда-нибудь свою библиотеку? 📚

Мы решили рассказать как это происходит на примере истории библиотеки RxPM. Эту библиотеку писали вместе Вася Чирвон и Дима Горбунов (МойОфис, мы его пригласили к нам на митап).

☝️Сразу предупредим, это не «how to», а скорее история создания либы: https://youtu.be/SfP3j59HnIk

PS. Лучше на скорости выше чем 1x 😄🐌
Привет, РОБОТяги! 🤖
На следующей неделе появится запись нашего вчерашнего митапа(спойлер - там будет про Gradle).

А вот записи с Mobius, который будет 22-25 июня придется ждать еще дольше. Поэтому, чтобы не пропустить крутые технические доклады, советуем поторопиться купить билеты. И специально от нас скидка для вас по промокоду RMRSPb2020pc по ссылке https://bit.ly/35CYewa 🥳

Что там будет: технические доклады, интервью, развлекательные подкасты, ток-шоу и дискуссии со спикерами. А ещё можно выиграть классные призы.

Среди спикеров есть и наш бывший робот Костя Цховребов (теперь в JetBrains), он расскажет как переписал реальное мобильное приложение на Kotlin MPP. 👾

А также много других крутых ребят:
🤘 Руслан Ким из Facebook расскажет насколько много Android в Oculus;
🤟 Кирилл Попов из Одноклассников поведает как они "докатились" до написания своих профайлеров для прода;
✌️ Ольга Шкряба из Лаборатории Касперского поделится опытом создания библиотек для разработчиков;
🤙 Матвей Мальков из Google расскажет про эволюцию декларативного программирования вплоть до свежего Jetpack Compose
А вы знали, что в pdf-документации к Gradle 1283 страницы? 🤯
Дима прочитал всё (нет) и сделал для нас крутой обзор:
- Структура и фазы сборки
- Основы: projects, tasks, actions 🐘
- Как конфигурировать таски
- Incremental tasks
- Варианты зависимостей между тасками
- gradle .properties и ext 🤓
- Репозитории, зависимости и модули
- Конфигурации и артефакты
- Зависимости в проекте и решение конфликтов 🧯
- Виды и способы подключения плагинов
- soursSet, buildSrc, работа с файлами, fatJar 🧩
- buildTypes vs provuctFlavors
- Groovy vs Kotlin

🍿 Запасайтесь попкорном и вперед: https://youtu.be/WOBok2u-SL8
Пользуясь Android Studio или IntelliJ IDEA всегда можно найти новые ништяки! Делюсь полезными советами по работе с нашей любимой IDE:
- Долой табы, navigation bar и номера строк 🗑
- Навигация без всего этого
- Как жить с touchbar? 🤔
- Самые горячие горячие клавиши 🔥
- Плагины для обучения горячим клавишам
- Ещё больше горячих клавиш
- Как "кодить на ошибках"
- Полезные приемы и советы 🤘

💻 Веселого кодинга: https://youtu.be/_atetzVtK-g
Кстати, мы сейчас ищем aндроида себе в команду 🤖. Так что, если тебе с нами по пути, пиши на hrspb@redmadrobot.com 🤘
Про работу с сетью в iOS написаны сотни статей и рассказаны десятки докладов на митапах. Но как правило во всех них обходится стороной одна важная составляющая работы с сетью: работа в background-режиме. Именно об этом рассказал Вася Коцюба на iOS-митапе в петербургском офисе компании Redmadrobot.

- Как запустить URL-сессию, если приложение находится в Background режиме? 📡
- В чем особенности работы URL-сессии в этом случае? 🤨
- Какие проблемы могут возникнуть при этом? 🤯
- Как отслеживать результат сетевых операций и перезапускать их в случае ошибки? 🆘

Главное, смотреть это не в бэкграунде 🙂 Хорошего дня!

https://www.youtube.com/watch?v=XG2-_Dgoivk
Привет! А вы были на Мобиусe?
2 наших Пети (из Android и iOS команд) являются членами ПК и участвовали в организации. И еще пара человек были слушателями конференции. Так что мы решили обсудить что же там было:
- про формат и организацию
- про понравившиеся доклады 👍
- инсайты с этих докладов 🤫

📺 Посмотрите наше обсуждение: https://youtu.be/icRQVN1qhXE
Всем привет! Во вторник мы вместе с ребятами из Surf делаем iOS митап, где наш iOS-разработчик Рома Мазеев расскажет про персонализацию CoreML моделей. 🤯

А разработчики Surf Саша Филимонов и Саша Кравченков расскажут про UI и архитектуру сервисного слоя. В общем, подключайтесь!

21 июля 18:00 МСК. Регистрация тут: https://surf-studio.timepad.ru/event/1354652/