Поговорим, как и зачем функционально тестировать хайлоад, получать от тестов больше, чем «прошёл/не прошёл», а их количество превратить в качество продукта.
Порой в погоне за созданием очередной классной штуки для продукта мы забываем о том, как будем выводить это на рынок. В идеальном мире задумываться о запуске мы должны еще до того, как задумались о фиче, ведь именно через потребность аудитории стоит проектировать функционал.
Что делать, если на дворе 2013 год, а вам предстоит запускать поиск проезда на общественном транспорте? Алгоритмы вашего поиска не являются революционными, да и все это уже давно реализовано у конкурентов. Как сместить акценты 4 миллионов пользователей и сделать так, чтобы они оценили ваши старания?
Мы нашли неплохое решение. Хочу рассказать, как это получилось — от подготовки концепции запуска и мотивации команды до самого процесса релиза и работы с обратной связью. Факапы, выводы, рекомендации. Максимально честно, на живых примерах.
Инструкция по созданию самопального биллинга, Михаил Крестьянинов (Новотелеком)DevDay
В ходе своего доклада я хочу показать пару фокусов и попытаться ответить на следующие вопросы:
- Что такое Enterprise разработка?
- Зачем нужны бизнес-процессы и как их автоматизировать?
- Какие существуют платформы для построения корпоративных приложений?
- В чём особенности архитектуры промышленных приложений?
- Какую БД выбрать для вашего приложения?
- Как быть с тестированием и деплойментом?
- Что делать с нагрузками, и какие могут быть проблемы в корпоративных приложениях?
- Как сделать так, чтобы всё работало и никогда не ломалось?
Матвей Мальков «Ещё один поиск контактов на Android»DevDay
Многие дайлеры не умеют делать поиск по Т9 клавиатуре. Те, что умеют, в большинстве своем делают поиск только по имени/фамилии контакта или по началу номера, а кто-то только с использованием английского алфавита. В 2GIS Dialer нам хотелось искать все контакты по имени, фамилии, телефону (любому из списка и с любого символа), а так же по должности и месту работу (опционально: e-mail и вебсайт, адрес и группы контактов). Кроме того, нам хотелось, чтобы пользователь на любом языке мог найти свои контакты. И в завершение необходимо было, чтобы весь этот поиск работал быстро. О том, как мы добились прогресса в этом деле я и расскажу.
Рендеринг может больше: vue.js vs React, Андрей СолодовниковDevDay
О том, как перестать вручную контролировать DOM, писать логику навигаций и почему DOM-шаблонизация — это классно, а так же немного самокритики и сравнительных тест-кейсов.
Тимофей Чаптыков «Верстальщик должен быть ленивый»DevDay
Большую часть рабочего времени мы занимаемся не написанием новой функциональности, а тестированием, исправлением ошибок, рефакторингом. При этом писать классные фичи всем нравится гораздо больше, чем искать причину очередного хитроумного бага. Как сделать так, чтобы ошибок стало меньше, и мы могли тратить время на то, что доставляет удовольствие?
Виктория Козлова "Подписки в iOS и Android приложениях: когда тестировщику не...IT Event
"Apple и Google с каждым годом уделяют все больше времени таким способом монетизации приложения как subscriptions, предоставляя разработчикам новые возможности. Это функционал, от которого напрямую зависит, сколько заработает приложение (и заработает ли вообще). Поэтому для разработчиков и тестировщиков это особенная ответственность.
Subscriptions - не самый простой функционал и для тестирования. Многие моменты скрыты от глаз, а некоторые и вовсе недоступны.
Знание подводных камней может существенно упростить задачу, избежать критических ошибок и потерь времени.
Работая над этой темой я ставила себе задачу рассказать про специфику подписок для android и ios платформ, инструменты, которые необходимы для тестирования, обратить внимание на важные моменты, показать типичные ошибки.
Думаю, эта тема будет интересна как разработчикам и тестировщикам, так и менеджерам проектов и продуктов, которые хотят разобраться в технических деталях данного процесса."
Где водится мобильная автоматизация и как научить ее приносить тапочкиOxagile
Доклад Сергея Комарова, Senior QA Automation Engineer at Oxagile специально подготовленный для 5-ой ежегодной конференции для разработчиков мобильных приложений MobileOptimized 2015.
ADMIXER рассказывает, как широко используется in-app реклама в Украине, какие рекламные форматы доступны в in-app и как купить инвентарь in-app в ADMIXER.TRADEDESK.
от Cpi к cpa повышаем конверсии в приложениях google илья сидоровAppsFlyer
Полноценный анализ использования мобильных приложений по всему миру и основные рекомендации по продвижению и удержанию мобильной аудитории; основные аналитические инструменты и сценарии отслеживания и использования данных.
Full-fledge analysis of mobile apps’ use worldwide and practical recommendations on app promotion and user retention; review of the main analytical tools, data collection and use scenarios.
Электронный киоск представляет собой приложение, с помощью которого можно организовать распространение ваших периодических изданий. Все очень просто и удобно – читатель покупает журнал или получает его бесплатно, если издание распространяется свободно, и подписывается на новые выпуски.
Фреймворк Slot, Good Parts, Александр БирюковDevDay
Расскажу о ключевых особенностях продукта: о какой изоморфности идёт речь, как мы управляем состоянием SinglePage-приложения и какой профит для SEO извлекли, с примерами кода. Посмотрим как быстро начать свой проект на Slot.
Devops-практики в разработке решений для бизнеса, Максим ПашукDevDay
Обычно разработчик успокаивается как только написан код, решающий задачи бизнеса. На самом деле есть ещё целый ряд вопросов, которые также необходимо решать.
Как донести изменения разработчика до тестирования в согласованном виде (база данных, приложение, конфиги)? Как донести эти же изменения до production и ничего не потерять по дороге? Что делать если продукт — распределённая многокомпонентная система, работающая в отказоустойчивом кластере? Тогда ситуация требует тесной совместной работы разработчиков и администраторов, а это, как известно, люди немного с разных планет.
Я расскажу на примере конкретного проекта на .NET стеке, как мы построили мост дружбы. Как свели воедино систему сборки, развёртывания и автоматизации, используя библиотеку psake и достигли взаимопонимания.
Inversion of Control в деталях, Дмитрий КожевниковDevDay
Казалось бы всё сказано об инверсии управления, особенно в .NET. Но нетривиальные квесты вокруг дизайна, построенного на DI, продолжают возникать из проекта в проект. Предлагаю поговорить немного о прописных истинах, а потом перейти к более любопытным вещам и болезненным вопросам.
Чем плох ServiceLocator? Почему IoC-контейнер — это фреймворк, а не библиотека? Как быть с множественными реализациями? Convention over configuration?
Отдельно поговорим об архитектуре enterprise решений в свете возможностей IoC-контейнеров.
Год от года многие программисты решают одни и те же задачи, но не всегда среди огромного многообразия решений можно найти что-то подходящее. Вот и мы не смогли найти ни одной библиотеки логирования для C++, которая удовлетворяла бы всем нашим требованиям. Теперь у нас есть свой велосипед, и мы расскажем, чем он лучше других.
Все мы привыкли писать программы, результаты работы которых можно увидеть и услышать. Хотите, чтобы их можно было ещё и потрогать? На примере создания электронной игры «Лабиринт» вы увидите, как не имея знаний и опыта сделать первый шаг в мир hardware.
Расскажу про первый продукт 2ГИС, который не совсем про организации – 2GIS Dialer. О трудностях создания, и почему их не нужно бояться. Делая что-то новое, вы обязательно с ними столкнетесь:
— Команда будет меняться.
— Конкуренты будут поджимать и опережать.
— Промо-кампании не будут стрелять.
«Бегущий по лезвию. Продуктовые сценарии в дизайне», Макс Карпылев DevDay
С чего начинается проектирование и дизайн новых продуктов — со сценариев. Продуктовые сценарии работы — ключевой элемент в пазле проектирования новых взаимодействий. В докладе покажу какое место сценарии занимают в 2ГИСе, почему они важны и какие сценарии бывают.
Олег Годовых «Страх и ненависть в Event Bus»DevDay
У нас было 500 страниц спецификаций, 40000 строк кода, 2 офиса, полдюжины разработчиков, а также целое множество андроидов всех сортов и расцветок. Не то, чтобы это был необходимый запас для приложения крупной торговой сети. Но если начал собирать софт, становится трудно остановиться. Единственное, что вызвало у меня опасение — это сетевая библиотека. Нет ничего более беспомощного, безответственного и испорченного, чем писать AsyncTask на каждый вызов. Я знал, что рано или поздно мы перейдём на Event Bus.
Распределенные приложения и Azure Service BusDevDay
Когда приложения перестают быть монолитными и разделяются на подсистемы, возникает много нюансов. Как спроектировать распределенную систему так, чтобы она оставалась управляемой? Как добиться того, чтобы процессы, в которых задействованы несколько подсистем, остаавалить прозрачными, а данные - согласованными? Какие принципы, технологии и инструменты могут нам помочь? Я расскажу о том, какие задачи мы решаем в одном из внутренних проектов 2ГИС, и почему мы остановились на Azure Service Bus как на инструменте обеспечения взаимодействия подсистем приложения.
Современный веб становится интерактивнее. Сейчас практически все браузеры поддерживают такую технологию как WebSocket, но современные веб-фремймоворки, такие как Django, Yii или RubyOnRails, не поддерживают работу с ними. Я расскажу, как мы сделали наши приложения интерактивным с использованием Erlang. А также что такое Erlang. Для чего он нужен.
Роман Акинфеев «Разработка RESTful API with all bells and whistles»DevDay
Каждый уважающий себя интернет-сервис, ориентированный больше чем на одну платформу, сегодня имеет RESTful API. Но мало кто понимает что такое REST, с чем его едят, как готовят и чем он полезен для здоровья. Кто-то считает, что RESTful API - это API использующее в качестве транспорта протокол HTTP, кто-то думает, что REST - это стандарт в рамках которого разработчики ограничены набором ресурсов и восьмью операциями над ними. Я расскажу о том как мы в Яндекс.Диске понимаем REST, как его готовим и какую пользу он нам приносит.
Александр Щепановский «Почему каждому языку нужен свой _»DevDay
Такие библиотеки как funcy и underscore часто связывают с функциональным программированием, но настоящий их фокус - это практичность. Задача их - упростить манипулирование данными, коллекциями, функциями и даже потоком управления, а также абстрагировать часто встречащиеся полезные поведения. В своём докладе я приведу жизненные примеры использования всего этого, а также расскажу об идеях заложенных в и продвигаемых funcy.
7. Две модели для реализации IAP
1
AppStore
2
Сервер
● свой
● UrbanAirShip
и пр.
AppStore
7
8. Серверная модель и типы IAP
Сервер не требуется
Consumable
Рекомендуется использовать сервер
Non-Consumable
Auto-Renewing Subscriptions
Free Subscriptions
Обязательно использовать сервер!
Non-Renewing Subscriptions
8
12. Тестирование
In-App Purchase
● сервера валидации
https://sandbox.itunes.apple.com/verifyReceipt
https://buy.itunes.apple.com/verifyReceipt
Статус: 21007 и 21008.
"машина времени"
Цикл подписки: 6 раз и больше не повторяется!
● тестовые пользователи
Адрес электронной почты может быть
несуществующим.
12
15. Ссылки на дополнительные
источники по теме
Developer Apple IAP http://goo.gl/ccJy7
UrbanAirShip http://goo.gl/BZRGN
IAP Intro Tutorial http://goo.gl/am92e
15