Pull to refresh
46
0
Александр Блинов @Xanderblinov

B2C CTO @hh.ru

Send message

Измеряем релизный цикл мобильных приложений

Reading time8 min
Views5.2K

А давайте перенесем релиз на завтра? Мне тут один баг осталось пофиксить.

Если у вас только что случились вьетнамские флешбеки, значит эта статья точно для вас. Именно так начинается самый страшный кошмар тестировщика. И тогда происходит всё, что только может произойти: долгое review, баги в тестировании, а сами тесты падают. И пока ты фиксишь одно, тебе приходит уже новая фича, которую хочется выпустить в релиз. Потом — пятница, а мы ничего не зарелизили.

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

Давай уже!
Total votes 15: ↑15 and ↓0+15
Comments2

Честный процент техналога

Reading time6 min
Views2.1K

Вопрос “Сколько времени тратить на технические задачи?” вызывает самые ожесточенные бои между продактами и разработчиками. В этой статье расскажем, как считают метрики в hh.ru, зачем нам потребовалось считать ее двумя способами, какие ошибки мы допустили, и что из этого получилось. 

Читать про два способа и ошибки
Total votes 10: ↑10 and ↓0+10
Comments0

Интеграция Huawei Mobile Services со второй попытки

Reading time13 min
Views5.5K

Android-разработчики и продакты всей галактики ломают голову над одним важным вопросом — “Нужно ли делать интеграцию HMS?”. В это статьей мы расскажем, как у нас получилось затащить поддержку Huawei Mobile Services в регулярных релизах, пусть и со второй попытки. 

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

Прочитать, почему на картинке XXX
Total votes 18: ↑16 and ↓2+14
Comments2

Властелин модулей. Продолжение истории

Reading time11 min
Views4.9K

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

Чем же закончилась история с модулями
Total votes 7: ↑7 and ↓0+7
Comments9

Зачем тимлиду участвовать в подборе? Потому что ошибки найма упадут на него

Reading time7 min
Views6K

Может показаться, что тимлида подбор затрагивает весьма косвенно — это вотчина рекрутеров. Тимлид — человек простой: дал задачу, провел парочку интервью, выбрал лучшего и всё. Вы великолепны. Но размышлять в таком ключе вредно, если не сказать опасно. На деле зачастую выходит так, что хорошие кандидаты почему-то идут работать к конкурентам, а все шишки традиционно  валятся на рекрутера. Но я считаю так: невиновных в этом случае нет. А в идеале за подбор в команду отвечает непосредственно тимлид. В этой статье я поделюсь опытом в подборе и собственными инсайтами на этот счет.

Читать далее
Total votes 14: ↑13 and ↓1+12
Comments43

Kotlin DSL, Fixtures и элегантные UI тесты в Android

Reading time6 min
Views10K

Когда познакомился с Kotlin DSL, подумал: отличная штука, жалко в продуктовой разработке она не пригодится. Однако, я был неправ: он нам помог сделать очень лаконичный и элегантный способ написания End-to-end UI тестов в Android.


image

Читать дальше →
Total votes 18: ↑18 and ↓0+18
Comments0

Android Academy в Москве — рассказываем о том, как это было и делимся материалами курса

Reading time4 min
Views9.5K

Осенью 2018 года мы стартовали бесплатный курс Android Academy: Fundamentals.
Он состоял из 12 встреч и итогового 22-часового хакатона.


Android Academy — это глобальное комьюнити, основанное Йонатаном Левиным. Оно появилось в Израиле, в Тель-Авиве, и распространилось на Петербург, Минск и Москву. Когда мы запускали первый курс, то искренне верили, что таким образом сможем выстроить сообщество ребят, которым будет в кайф собираться вместе и учиться новым вещам. Хотели открыть новую дверь для всех, кто хочет и готов сделать шаг в профессию.


Сейчас, по прошествии нескольких месяцев, кажется, что это получилось: ребята научились основам, объединились в профессиональное комьюнити, а кто-то даже успел получить первое предложение о работе android-разработчиком.


Отчитываемся о том, как прошла Android Academy в Москве, делимся видеолекциями и рассказываем, как изменилась карьера у тех, кто окончил курс.


Читать дальше →
Total votes 22: ↑22 and ↓0+22
Comments0

Анонс мобильного митапа: Что делать, когда приложение стало большим?

Reading time2 min
Views2.8K
Формат
Мероприятие будет проходить в формате круглого стола

О чем будем говорить
  • Чем отличается большое приложение от маленького?
  • Как меняется кодовая база и процессы?
  • Как поймать тот момент, когда надо что-то менять?


Читать дальше →
Total votes 13: ↑12 and ↓1+11
Comments0

Навигация с архитектурными компонентами от Google. Часть 1. Знакомство

Reading time8 min
Views20K

Одной из проблем, с которыми сталкивается разработчик немного подразросшегося приложения — навигация между экранами. Когда сценарии становятся нелинейными, уже тяжело обойтись стандартными startActivity и changeFragment. Эту проблему каждый решал по-своему: делал какое-то свое решение для навигации, использовал стороннее (к примеру, Cicerone) или же оставлял все как есть и городил кучу флагов и if else. Это очень огорчало инженеров Google, и вот уже на Google I/O 2018 появилось решение Navigation, которое идёт в комплекте с остальными Архитектурными компонентами!


В данной статье мы разберемся, что вообще требуется от фреймворка для навигации, познакомимся с тем, как устроено решение от Google и какими абстракциями оно оперирует.


Читать дальше →
Total votes 34: ↑34 and ↓0+34
Comments11

Стратегии в Moxy (Часть 2)

Reading time7 min
Views12K

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

Читать дальше →
Total votes 4: ↑4 and ↓0+4
Comments2

Стратегии в Moxy (часть 1)

Reading time7 min
Views41K

Разработанный нами с Юрой фреймворк Moxy получил широкое распространение в разработке под Android. Он обеспечивает реализацию MVP паттерна при работе с Activity, Fragment и View, полностью отделяя “callback hell” их жизненного цикла от презентера.

Данное поведение реализовано за счет сущности ViewState, которая проксирует вызовы методов между Presenter и View, при этом сохраняя некоторые из них в очереди на основании специальных стратегий. При пересоздании View вызываются не все методы, а только те, которые находятся в очереди на данный момент.

В данной статье мы расскажем, как работают стратегии, предоставляемые “из коробки”, и в каких случаях стоит применять каждую из них. О механизм работы стратегий изнутри и написании кастомных стратегий читайте в Части 2.
Читать дальше →
Total votes 16: ↑16 and ↓0+16
Comments8

MVP на стероидах: заставляем робота писать код за вас

Reading time2 min
Views23K
В статье «Moxy — реализация MVP под Android с щепоткой магии» мы рассказывали, как побороть проблему жизненного цикла и разделить код своего Android-проекта на слои. Однако MVP (даже при умной кодогенерации view state в Moxy) заставляет писать огромное количество лишнего кода (создавать связанные друг с другом классы и интерфейсы presenter и view). На самом деле эту работу за вас должен делать робот! :) Настало время еще сильнее уменьшить boilerplate при помощи кастомизации шаблонов Android Studio под Moxy.

Читать дальше →
Total votes 21: ↑19 and ↓2+17
Comments9

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Works in
Date of birth
Registered
Activity