• Тестируем Android-приложение правильно

      Всем привет,


      Меня зовут Андрей Рыжкин, я CTO AGIMA.


      Сегодня я расскажу о том, как мы тестируем приложения на Android, а также поделюсь нашим чек-листом.


      Чек-лист от команды AGIMA




      В 2020 году количество приложений для Android вплотную приблизилось к трём миллионам (по данным Appbrain на 28 марта). И это число продолжает расти – каждый день появляются сотни новых программ для этой операционной системы. В том числе благодаря AGIMA. Мы создаем самые разные приложения для Android – простые и сложные, узкоспециализированные и «для всех». И можем немало рассказать о нюансах их разработки.

      Читать дальше →
    • ERP на сервисной архитектуре

        image

        Привет, друзья!

        Меня зовут Алексей Половинкин, я руковожу отделом Python-разработки в AGIMA. Сегодня поделюсь с вами опытом разработки весьма интересного проекта, который мы создали и продолжаем развивать весь этот год — корпоративной ERP-системы.
        Читать дальше →
      • Kubernetes: мониторинг c помощью Prometheus



          Привет, Хабр!
          Меня зовут Радик, Head of DevOps of AGIMA!


          В этой статье я постарался показать, как можно использовать Prometheus в качестве системы мониторинга для микросервисной архитектуры. Подробно рассмотрел архитектуру Prometheus и взаимодействие его компонентов. Обозначил ключевые характеристики благодаря чему эта система получила такое широкое распространение в средах использующих контейнеризацию. Предупреждаю сразу: статья получилась довольно объемной. Эта статься будет полезна для начинающих DevOps специалистов, которые планируют или уже используют в своей работе Docker, Kubernetes. Итак, начнем!

          Читать дальше →
        • Как делать анимацию, которая нравится всем (даже пользователю)?


            Привет читателям Хабра! Меня зовут Сергей Кузнецов, я руковожу отделом frontend-разработки в компании AGIMA и сегодня я вам принес статью про… да, про анимацию. Знаю, на этут тему здесь не писал только ленивый. Знаю, сказать что-то новое об анимации сложно. И все-таки надеюсь, что эта статья окажется для многих полезной, а для кого-то — даже интересной.


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

            Читать дальше →
          • Action и BindingTarget в ReactiveSwift

              Привет, Хабр!

              Меня зовут Игорь, я руковожу отделом мобайла в агиме. Еще не все перешли с ReactiveSwift/Rxswift на Combine? Тогда сегодня я расскажу про опыт использования таких концептов из ReactiveSwift как Action и BindingTarget и какие задачи можно решить с их помощью. Сразу отмечу, что для RxSwift эти же концепции существует в виде RxAction и Binder. В статье рассмотрим, примеры на ReactiveSwift и в конце я покажу, как все то же самое выглядит на RxSwift

              Read more
            • Обзор Google Surveys. Почему он не подходит для серьезных исследований



              Прежде, чем начинать разработку или улучшение продукта, команда должна собрать необходимые вводные: востребованность продукта на рынке, ожидаемые целевой аудиторией характеристики, ценовой коридор, портрет аудитории (реальной или потенциальной), конкурентные решения и так далее. Для работы над новым продуктом отлично подходят панельные опросы – онлайн-опросы, проводимые на специализированной платформе.
              Читать дальше →
              • –1
              • 1,7k
              • 1
            • Как обойти ошибки при построении отчетности в Power BI и прийти к построению системы выгрузки для больших данных



              За красивыми и понятными дашбордами Power BI часто скрываются недели подготовки и сведения данных. Особенно когда речь идет о построении полезной BI-отчетности в крупной организации с объемом трафика в десятки миллионов посетителей ежемесячно.

              В данной статье я хочу описать ряд негативных моментов, с которыми столкнулся при построении BI-отчетности, основанной на данных из систем веб-аналитики в ряде компаний (крупные представители российского e-commerce, страховые компании и т.д.). Статья не имеет цель сделать антирекламу или наоборот рекламу тех или иных инструментов или решений. Она подготовлена для того, чтобы по возможности помочь избежать негативных моментов другим пользователям и указать на варианты решений.

              Дисклеймер


              Я говорю о больших объемах данных и показываю примеры выгрузки и сэмплинга из Google Analytics 360. На проектах с небольшим объемом данных таких сложностей может не быть. Со всеми обозначенными проблемами я встретился на практике и в статье описываю исключительно свой опыт решения — ваши могут быть совершенно другими.
              Читать дальше →
            • Цифровая трансформация «Леруа Мерлен»: проектирование интерфейса для работы с обращениями покупателей

                image

                Говорят, ремонт хуже пожара. К счастью, у нас есть «Леруа Мерлен», поэтому тушить ремонтный пожар гораздо проще. Мы мчимся в ближайший Леруа и хаотично скупаем штукатурку, гипсокартон, арматуру и еще массу очень нужных вещей. Дома выясняется, что смесители не подходят под раковину, а цвет напольной плитки недостаточно голубой. Или ремонт закончился, а нераспечатанные банки с краской заняли весь балкон.

                Такие неподходящие, бракованные или лишние товары можно вернуть в «Леруа Мерлен» в течение 100 дней в любом магазине сети. Раньше сотрудник магазина работал с заявками с использованием бумажной книги заявок, а попытка перевести все в диджитал наткнулась на создание сложного, совсем не user friendly интерфейса, на базе Microsoft Dynamics. Но в «Леруа Мерлен» решили попробовать еще раз решить эту проблему и зайти с другой стороны. Рассказываем, как проектировали интерфейс для работы с обращениями покупателей и трансформировали бизнес, внедряя цифровые технологии.
                Читать дальше →
                • +11
                • 2,2k
                • 3
              • Как построить эффективный управленческий учёт и получать сверхприбыль

                image

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

                Основная задача управленческого учёта — показать план и факт по финансовой модели организации для принятия управленческих решений. Но как учесть все факторы и риски для построения финансовой моделей?
                Читать дальше →
              • Data-driven HR: Инструменты эффективного подбора персонала

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

                  Наш офис на Петровке постоянно растет, еще в 2018 году мы открыли второй этаж, потому что наш штат увеличился в 1,5 раза. Это связано с тем, что мы открываем новые направления и часто дублируем роли руководителей среднего звена на случай быстрой замены сотрудника без потери качества для проекта. Несмотря на это, иногда мы месяцами не можем закрыть срочную вакансию, хотя получаем большое количество откликов.

                  Несколько лет мы анализируем каналы привлечения сотрудников по разным специализациям. Собираем статистические данные по конверсии и ее стоимости (за сколько нам удалось привлечь специалиста), а также учитываем и валидируем гипотезы по кадровой текучести. Это позволяет взглянуть со всех сторон на портрет релевантного сотрудника для определенной специализации. В статье мы расскажем о наших каналах и инструментах, которые применяем для поиска сотрудников на различные позиции, от мобильного разработчика до руководителя проектов. Поделимся опытом, какие инструменты работают, а от каких лучше отказаться.
                  Читать дальше →
                • Безопасность приложений, или Как внедрить security в заказную разработку. Личный опыт AGIMA

                    Digital-агентства все больше внимания уделяют безопасности инфраструктуры, в которой ведется разработка, а также начинают смотреть в сторону обеспечения безопасности приложений. Вы наверняка читали про разновидность и критичность уязвимостей, инструменты и методы обеспечения ИБ. Но как игнорирование или обеспечение безопасности приложений влияет на сам процесс заказной разработки?

                    Что в статье:

                    Мы не будем в сотый раз повторять, почему так важна безопасность, какие существуют уязвимости или как Red Team побеждает Blue Team в очередной схватке. Это короткая история о том, почему мы добавили security к заказной разработке и как мы это сделали.
                    Читать дальше →
                  • Как построить процесс разметки электронной торговли так, чтобы получать все нужные данные

                      Введение


                      Любой, кто использовал Google Analytics или похожие системы веб-аналитики, знает, насколько они удобны для отслеживания и анализа данных по эффективности интернет-магазина. Основное удобство заключается в том, что в этих системах веб-аналитики есть заранее продуманная структура данных для отслеживания, — «Электронная торговля» или «Электронная коммерция». Это дает возможность не придумывать каждый раз с нуля, в каком виде собирать данные, и максимально быстро перейти к использованию данных для оптимизации эффективности.

                      Передавая данные в структуре электронной торговли, можно ответить на вопросы, какие товары чаще добавляют или же удаляют из корзины, карточки каких товаров чаще просматривают и, конечно, какие товары чаще покупают. Все эти данные можно будет получить по категориям, брендам, названиям и артикулам товаров. Можно передавать дополнительные данные по характеристикам товаров и получить возможность построить отчет по самым продаваемым по цвету, весу или размеру товарам. Или же построить отчет по наиболее кликабельным на сайте баннерам или позициям товаров в каталоге и любых товарных блоках на сайте.
                      Читать дальше →
                    • Я уверен – senior mobile developer придет только по рекомендации

                      Особая выборка сотрудников


                      Цифры, которые я привожу ниже скорее всего несравнимы с вашими. Возможно, они обусловлены тем, что мы занимаемся заказной разработкой в самом высоком ценовом сегменте и практически не берем на работу никого, кроме senior. Мы давно отказались от «‎джунов». Мы не работаем с вузами и не обучаем специалистов начального уровня, чтобы потом, через 10 лет, вырастить из них монстров разработки.

                      Причина проста – в нашей компании нет работы для «‎джунов». Мы не можем рисковать на наших крупных проектах их ошибками. Не поймите меня неправильно, мы, конечно, инвестируем в обучение, но обучаем только тех, кто уже что-то знает. Так, мы создали оффлайн-университет AGIMA.university, который заточен под специалистов высокого уровня: аналитиков, тимлидов, проектировщиков и руководителей проекта.
                      Читать дальше →
                    • Архитектурные подходы в iOS-приложениях

                        Сегодня поговорим об архитектурных подходах в iOS-разработке, про некоторые нюансы и наработки реализации отдельных вещей. Расскажу, каких подходов придерживаемся мы и немного углубимся в детали.

                        Читать дальше →
                      • Переезд на кластер под управлением «1С-Битрикс: Веб-окружение»

                        • Tutorial
                        В определённый момент появилась задача — перевести, существующий и активно работающий в production, проект на работу в кластере серверов. Т.к. проект разработан на базе 1C-Bitrix, было принято решение построить кластер с использованием «1С-Битрикс»: Веб-окружение». Цель данного мероприятия — получить возможность выдерживать большие нагрузки при наплывах посетителей сайта, а также возможность в дальнейшем быстрее масштабироваться горизонтально.
                        Читать дальше →
                      • Apple Wallet. Что это такое и как интегрировать в него свою карту

                          Принято считать, что Wallet – не самый популярный сервис в СНГ. Но уже во втором проекте подряд заказчик ставит задачу «Сделать интеграцию с Wallet». Поэтому я решил написать эту статью, чтобы рассказать о сервисе в целом и показать, как интегрировать в него свой продукт.


                          Что такое Wallet? Он позволяет держать в телефоне различного вида карты (билеты, скидочные карты и т.п.), облегчая жизнь пользователям продукта. Более того, есть возможность актуализировать информацию о карте посредством push-уведомлений, но это тема для отдельной статьи. Но если у вас есть карта/билет/абонемент, которые можно интегрировать в телефон, то для этого есть решение! Как это сделать – читайте ниже.

                          Читать дальше →
                        • «Идеальный» тайм-план в виде диаграммы Гантта



                            Самый главный инструмент руководителя проектов — это тайм-план. Его можно строить разными способами, но часто используется диаграмма Гантта.
                            Читать дальше →
                          • Заказная веб-разработка: как масштабироваться на постоянно растущем проекте

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

                              Кажется, заполучив парочку таких клиентов, можно почивать на лаврах — прекращать заниматься продажами и только контролировать постоянно растущий поток задач. Но в действительности по мере роста проект будет бросать вам новые и новые вызовы, справиться с которыми и сохранить клиента, при этом работая рентабельно, будет очень непростой задачей.


                              Читать дальше →
                            • Обзор зарплат тестировщиков или стоит ли работать за еду?

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


                                Читать дальше →
                              • Защищаем мобильное приложение с помощью «КриптоПро»: пошаговая инструкция

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

                                Читать дальше →

                              Самое читаемое