Pull to refresh
72
Constantine@Vacxe

Mobile infrastructure nerd

24
Subscribers
Send message

Спасибо за редактирование, теперь намного понятнее, что откуда растет

Ну хотя бы слово про Kakao, пожалуйста

Спасибо за статью, однако мне очень обидно и сейчас я обьясню почему ;)

Если коротко, то Kaspresso - это фреймворк для автотестирования, сделанный на базе Espresso

Начнем с того, что Kaspresso со всеми PageObjectами опирается не на Espresso а на Kakao, который предоставляет DSL для Espresso, которое под капотом как раз выполняет описанные вами вроде

В Kaspresso есть более богатые возможности работы со стандартными элементами AndroidX. Например в Kaspresso есть KTextInputLayout, которого нам не хватало в библиотеке espresso-page-object и нативном Espresso.

В дополнение к Kakao, Kaspresso как раз предоставляет дополнительный функционал вокруг adb и прочих ништячков

Ах как жаль, что в такой замечательной статье нет ни одного упоминания про Kakao.

С наилучшими пожеланиями, Vacxe, который немножко разбирается в кодовой базе Kakao, Kaspresso и Marathon =)

Вуаля! Так мы не только избавились от того громоздкого и неповоротливого ужаса, но и привнесли мощь RxJava в Presenter.


К сожалению, это ошибочное заблуждение.

Любое разбиение на слои так или иначе добавляет рутинный (boilerplate) код. Крайне часто интеракторы в данной концепции являются прокси между репозиторием и вью уровнями, тогда почему мы их не убирает для «сокращения кода»?

RxJava же по своей сущности является инструментом для планирования бизнес логики, а как следствие должна находиться на уровнях Repository & Interactor Implementation. Interactor Interface должен возвращать интерфейс который отвечает за возврат данных. А возвращая Observable в данной концепции вы теряете логику отвественности в слоях плюс использование Flowable Completable and etc. В чем главная проблема — если вы решите переехать на coroutines предположим, то Presentation layer тоже будет задет. С разделением через интерфейсы — вам будет необходимо изменить реализацию Interaction Impl. И вы сможете плавно выполнить миграцию.

Если вы хотите развлечения, то на уровне бизнес логики вам необходимы атомарные сущности интеракторов (чтение — запись в базу, запросы из веб апи и тд) каждый из которых может быть протестирован независимо, и композиционные сущности которые будут обьединять атомарные в бизнес логику. Да, данный подход будет еще более boilerplate но чистота кода (логическое разделение) обратно пропорциональна усложнению по сущностям.

В заключении — ваш подход весьма спорный и все зависит от обьема проекта, требований на тестирование и тд.

Накинуть ПР в марафон не хотите? Добавить флаг конфигурации с реализацией. Или форк ушел слегка дальше чем это изменение?


Какао пробовали?

Что используете для UI тестирования? Какой фреймворк, раннер.
Ну и для наводки на изучение просто оставлю ссылочку на AppCenter CLI. Недавно подпилил им чутка функционала. Для дистрибьюции приложений весьма подходит. В нашем проекте используем его.
К сожалению вы очень сильно заблуждаетесь. В больших компания в которых над каждой платформой трудятся 25+ человек релиз это весьма тяжелая задача. Начиная от тестирования (допустим 25к Unit test + 1к UI test) и цена ошибки крайне велика. Также разработчик не обязан знать что происходит в части маркетинга, а как следствие думать о листингах. Пусть даже это будет изменение раз в квартал — «за эникеить» 38 (локалей) * 6 (скриншотов) * 3 (девайса) = 684 скриншота будет весьма проблематично.

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

Ну и в заключение, не знание про «Badoo» как о компании очень разочаровывает. Ребята делают весьма не плохой вклад в развитие IT — сообщества в целом.
Что касается Android части, для взаимодействия с Google Play API не так уже и много годных вариантов.
Проект от Triple-J с Gradle плагином по мне весьма сомнительное решение так как система сборки не должна знать о дистрибьюции.
Да, есть Java и JS библиотеки, но все они обернуты в какие то специфические кейсы, как например эта

Зачастую требуется единичная задача на CI которая отвечает исключительно за выгрузку APK и mapping (В нашем случае). Грубо говоря есть темплейт задачи в котором лежат все необходимые пароли на прокси и так далее и при создании TCE Build просто переопределяются названия файлов и куда заливать.

На выходных обернули Google Play API (Java) в прозрачный CLI
В ближайшее время сделаем аналог для npm так как есть проблемы с apline

Ну и в заключении, тулинг выбирается под задачу. Спасибо за статью!

Спасибо за статью. Если работаешь автоматизацией тестирования будешь страдать априори. Я конечно понимаю, что уже у вас стабильная система и переписывать ее не имеет смысла исходя из ресурсозатрат но стоит взглянуть на STF (Resources manager) + Marathon (Test orchestrator). Ещё можно сделать автоматический скейл агентов. Предположим у вас капасити на 50 агентов с эмуляторами но если они не используются в течение часа то убиваются. Это позволит очень сильно облегчит ресурсы в ночное время.

Спасибо за статью Жень. Всей команде спасибо огромное. Очень здорово что выкатили импакт анализ. Давно его пиарили, посмотрим на сколько он хорош.


С нетерпением жду следующий статьи и объяснения, чем же вас не устроил чистый Marathon ;)

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

Когда я только поступал к институт на САПР, мои школьные друзья уже начинали работать. Да, это была достаточно примитивная работа — продавец консультант, мерчендайзер и т.д. И знаете что, тогда я реально завидовал им. Я думал, что вот они получают 50к рублей и это круто, а у меня стипендия в 5к и стратегический запас дошираков.

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

Спустя еще какое то время, я сменил работу уже в направление, которое мне было интересно, и я стал получать 60к в месяц! Но прошло уже 5 лет обучения и опыта. А мои друзья все продолжали делать тоже самое за те же самые деньги. Примерно тогда я понял, что труды окупились.

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

Стать программистом — достаточно легко в наше время. Быть программистом — скорее призвание. Нельзя без любви к профессии добиться реальных высот. Да и зарплата не является основным мотивирующим фактором.

— Сравнение с водителем автобуса весьма не уместно. В стране где я живу, зарплата водителя автобуса составляет 80к в год, что эквивалентно зарплате мидл программиста. Но проезд на автобусе стоит около 4 долларов. Пересчитаем в эквивалент на рубли (1 доллар вместо 4) — приблизительно 60-70 тысяч в месяц (в Москве), что соответсвует реалиям. Так устроен рынок.

Да. Еще есть вариант пойти работать «держать Lollipop». Это что-то вроде дорожного знака (Stop\Slow) приблизительно за 60к долларов в год. Джуну будут платить примерно также.
С определенной точностью вы правы

image
image
Мне кажется, что я первый человек из пост-СССР кто получил разрешение (полное) на полеты в Тайланде.

Для этого было потрачено
1) Страховка — порядка 70 баксов (30 минут)
2) Регистрация как телекомуникационного устройства — бесплатно (45 минут)
3) Регистрация в СААТ — бесплатно (около трех месяцев!)

Могу описать процесс подробно, если необходимо.
Это же прямо как в Какао! ;)
Прошу прощения, поправил. Это цена за неделю.
На самом деле, такая ситуация — скорее исключение. Данных паучков можно с легкостью встретить и дома в Таиланде и это не повод отказываться от отпуска
Также можете использовать numbeo для сравнения стоимости жизни.

Хороший кадр про пауков. Кирпичей тогда сделал на целый дом без ипотеки...

1
23 ...

Information

Rating
Does not participate
Location
Brisbane, Queensland, Австралия
Date of birth
Registered
Activity