Мы рассмотрим область применения, архитектуру и основные особенности такой известной операционной системы как Android. Также расскажем о процессе создания мобильного приложения TulaDev, о проблемах с которыми мы столкнулись и о способах их решения. Вы можете найти приложение для Android <a>на Google Play</a>
Антон Григорьев, Git-flow: как построить процесс разработки и быстро получать...ScrumTrek
Работаете над проектом втроем (вчетвером, впятером, вдесятером и тд) и у вас постоянные конфликты в системе контроля версий? - В спешке пытаетесь собрать проект, но не можете найти рабочую версию, а клиент просит здесь и сейчас? - Процесс тестирования и выпуск новой версии - стресс для вас и вашей команды? Решить эти и другие проблемы поможет git-flow. Вы узнаете, как git-flow связан с процессом непрерывной интеграции, как это поможет быстро доставлять вашим клиентам исправления критических ошибок и как эти изменения автоматически попадут в текущую версию продукта. Приходите, если даже просто интересно, причем тут git и подойдет ли SVN, Hg или TFS?
The practical story telling how Devops changed the culture of quality in the Bank. Recently Devops became mainstream topic. But only few people have a deep understanding how to apply it to the process of software quality assurance. Some believe that the Devops kills manual testing.
I will talk about changes it makes to the role of QA engineers themself. The discussion main point is NOT about tools or technologies. It’s NOT about the “silver bullet” for your problems with the quality of products.
Instead, I will show you an integrated approach which we used for quality assurance. It allowed us to significantly reduce the cost of finding and fixing defects. This approach has also accelerated the development and delivery value to our customers and made the whole process more transparent and predictable.
Разработка ПО для Android на заказ любой сложности. Мы осуществляем android разработку приложений как для рекламы продукта (услуги), так и для автоматизации бизнеса предприятия.
Основы "мобильной" разработки на примере платформы iOs (iPhone)Pavel Tsukanov
Легкая обзорная лекция по платформе iOS. Рассмотрим специфику разработки под мобильные платформы, средства разработки, язык Objective-C, концепции применяемые при разработке под iOS. Расскажу шаги которые нужно сделать для создания вашего первого мобильного приложения.
SIGNALR - ОБМЕН СООБЩЕНИЯМИ В РЕАЛЬНОМ ВРЕМЕНИPavel Tsukanov
Поговорим об относительно новой библиотеке, разработанной Дэвидом Фаулером и Дамьеном Эдвардсом, основной задачей которой является мгновенный обмен сообщениями в Web приложениях, написанных на платформе .Net
ЭЛЕМЕНТЫ ИСКУСТВЕННОГО ИНТЕЛЛЕКТА ПРИ ПРОГРАММИРОВАНИИ. (http://tuladev.net/e...Pavel Tsukanov
Видео на http://tuladev.net/events/128
Расскажу про нейронные сети, генетические алгоритмы, машинное зрение и нечёткую логику. Всё с реальными примерами. Подискутирую что-же такое ИИ (как же без этого :) ). Если хотите услышать что ещё оставляйте свои комментарии. На самом деле тема обширная, можно рассказать о многом, главное начать.
Антон Григорьев, Git-flow: как построить процесс разработки и быстро получать...ScrumTrek
Работаете над проектом втроем (вчетвером, впятером, вдесятером и тд) и у вас постоянные конфликты в системе контроля версий? - В спешке пытаетесь собрать проект, но не можете найти рабочую версию, а клиент просит здесь и сейчас? - Процесс тестирования и выпуск новой версии - стресс для вас и вашей команды? Решить эти и другие проблемы поможет git-flow. Вы узнаете, как git-flow связан с процессом непрерывной интеграции, как это поможет быстро доставлять вашим клиентам исправления критических ошибок и как эти изменения автоматически попадут в текущую версию продукта. Приходите, если даже просто интересно, причем тут git и подойдет ли SVN, Hg или TFS?
The practical story telling how Devops changed the culture of quality in the Bank. Recently Devops became mainstream topic. But only few people have a deep understanding how to apply it to the process of software quality assurance. Some believe that the Devops kills manual testing.
I will talk about changes it makes to the role of QA engineers themself. The discussion main point is NOT about tools or technologies. It’s NOT about the “silver bullet” for your problems with the quality of products.
Instead, I will show you an integrated approach which we used for quality assurance. It allowed us to significantly reduce the cost of finding and fixing defects. This approach has also accelerated the development and delivery value to our customers and made the whole process more transparent and predictable.
Разработка ПО для Android на заказ любой сложности. Мы осуществляем android разработку приложений как для рекламы продукта (услуги), так и для автоматизации бизнеса предприятия.
Основы "мобильной" разработки на примере платформы iOs (iPhone)Pavel Tsukanov
Легкая обзорная лекция по платформе iOS. Рассмотрим специфику разработки под мобильные платформы, средства разработки, язык Objective-C, концепции применяемые при разработке под iOS. Расскажу шаги которые нужно сделать для создания вашего первого мобильного приложения.
SIGNALR - ОБМЕН СООБЩЕНИЯМИ В РЕАЛЬНОМ ВРЕМЕНИPavel Tsukanov
Поговорим об относительно новой библиотеке, разработанной Дэвидом Фаулером и Дамьеном Эдвардсом, основной задачей которой является мгновенный обмен сообщениями в Web приложениях, написанных на платформе .Net
ЭЛЕМЕНТЫ ИСКУСТВЕННОГО ИНТЕЛЛЕКТА ПРИ ПРОГРАММИРОВАНИИ. (http://tuladev.net/e...Pavel Tsukanov
Видео на http://tuladev.net/events/128
Расскажу про нейронные сети, генетические алгоритмы, машинное зрение и нечёткую логику. Всё с реальными примерами. Подискутирую что-же такое ИИ (как же без этого :) ). Если хотите услышать что ещё оставляйте свои комментарии. На самом деле тема обширная, можно рассказать о многом, главное начать.
Алгоритмы шифрования и их применение в .Net приложениях для защиты данных.Pavel Tsukanov
Доклад посвящен краткому обзору существующих алгоритмов шифрования, их реализации для платформы .net. Также, помимо шифрования будут рассмотрены и другие варианты защиты данных.
Нас окружает мир сетей, мобильных устройств, сайтов, облаков. Чтобы работать с этим миром, придумано невероятное количество технологий и языков программирования. Есть ли среди них место для языков Си/Си++? Стоит ли тратить время на их изучение, стоит ли использовать их в своих проектах? Не пора ли этим языкам на пенсию? Эти темы в своем докладе обсудит Андрей Карпов, активно участвующий в жизни сообщества Си++-программистов. Забегая вперед можно утверждать - языки Си/Си++ живее всех живых. Андрей расскажет о развитии языка и новых возможностях, появившихся в Си++11. Многие возможности существенно облегчают работу программиста и сокращают объем кода.
РАЗРАБОТКА ПО С ИСПОЛЬЗОВАНИЕМ FINITE STATE MACHINE.Pavel Tsukanov
Мы расскажем что такое конечный автомат (Finite State Machine - FSM) и как его использовать при разработке ПО. Поделимся опытом использования, расскажем как улучшить дизайн программы или её отдельные части при помощи FSM. Рассмотрим некоторые реализации FSM.
"Windows Azure для мобильных платформ". Владимир Юнев, MicrosoftYandex
Какое бы мобильное приложение вы не разрабатывали (на iOS, Android, Windows Phone, Windows 8 или веб-версию на HTML5), лучшим выбором для бэкенда будет единая облачная платформа. В докладе речь пойдёт о требованиях мобильных разработчиков к серверному функционалу и сложностях, возникающих при сборке своих велосипедов. На примере Windows Azure Mobile Services мы рассмотрим готовое облачное решение, не требующее настройки и сопровождения, как альтернативу своему бэкенду. Вы узнаете, как облачную инфраструктуру можно использовать для отправки push-уведомлений и как интегрировать авторизацию с социальными сетями; как работать с серверным кодом мобильного приложения через Git и как масштабировать мобильный бэкенд по требованию, в том числе автоматически.
Solit 2014, Appium. Тестируем гибридные мобильные прирложения в стиле webdriv...solit
Стахиевич Андрей, Минск. Опыт в IT более 5 лет, работает в компании ISSoft, специализируется в разработке (.NET C# ASP\MVC, WPF, WinForm) и автоматизированном тестировании ПО (Web, Desktop, Mobile), автоматизации процессов build и deployment в контексте continuous integration различных проектов.
«Appium. Тестируем гибридные мобильные приложения в стиле Webdriver API». Development секция. Отделение тестирования.
Selenium Webdriver давно известен в кругах QA за счет богатого API, реализованного на многих языках программирования, который вот-вот станет стандартом W3C.
С появлением инструмента Appium можно теперь использовать Webdriver API для автоматизации не только веб приложений, но и нативных, а также гибридных мобильных приложений на платформах IOS и Android.
В докладе планируется следующее:
1. Сказать несколько слов об Appium и его месте среди прочих инструментов для тестирования.
2. Поделиться опытом, приобретенным в процессе коммерческой разработки автоматизации тестирования для гибридного мобильного приложения, построенного на основе PhoneGap и Sencha Touch.
3. Рассказать об особенностях написания тестов, работающих и на Android, и на IOS c помощью Appium и стандартного data driven test решения от Junit и TestNG.
4. Рассказать о запуске тестов распределенно с помощью Appium и Selenium Grid.
«Измеряем производительность веб приложения на стороне клиента с помощью Selenium Webdriver и BrowserMobProxy». Development секция. Отделение тестирования.
В современном вебе высокопроизводительный сайт – это не каприз заказчика, а стандарт, приобретающий все большую популярность. А значит у команды QA прибавилась задача – тестирование производительности приложения. В своем докладе я хотел бы поговорить о том, как собирать данные о производительности веб-приложения, как хранить и анализировать эти данные, а также, как оптимизировать производительность, основываясь на полученных данные.
Давайте поговорим о том, как это можно автоматизировать.
1) Производительность веба. Лучшие практики и стандарты.
2) Производительность на стороне клиента:
- сбор данных по производительности с помощью Selenium Webdriver and BrowserMobProxy;
- хранения, анализ и визуализация данных с помощью HAR Storage;
3) Улучшение производительности:
- рекоммендации по улучшение производительности от Google Page Speed;
В рамках доклада я хотел бы рассмотреть сложности, которые мы испытываем с построением инфраструктуры распределенных систем.
Можно ли строить приложения и не думать о серверах и контейнерах? Насколько это будет дорого?
Ответить на эти вопросы помогут принципы «Бессерверной архитектуры». На простых примерах мы рассмотрим из чего состоит приложение, не зависящее от серверов. А также, рассмотрим возможности, которые предоставляют популярные провайдеры облачных сервисов, для построения таких приложений.
Секционный доклад
Экскурс в мир WEB разработки
Дмитрий Лаабе
Генеральный директор и основатель рекрутинговой компании IT-Доминанта
Технический директор и программист
портала Айти-Событие
Россия. Санкт-Петербург
http://it-sobytie.ru/events/3120
Тема доклада является логическим продолжением выступления Александра Бакулина в области робототехники и посвящена актуальной на сегодняшний момент проблеме технического зрения
CONTINUOUS INTEGRATION ДЛЯ ЧАЙНИКОВ ВМЕСТЕ С TEAMCITYPavel Tsukanov
то такое "Непрерывная Интеграция", зачем она нужна и с чем ее едят? Правда ли, что она нужна только для тестировщиков? На все эти вопросы мы постараемся найти ответы в ходе выступления Щербакова Ильи на нашей следующей юзер-группе.
По мотивам хабра ( http://habrahabr.ru/post/168645/ ), автор рассмотрит вопрос создания роботов в домашних условиях. Ожидается демонстрация робота в живую, в реальных боевых условиях!!!
Осуществим вводный экскурс в Node.JS. Действительно это что-то новое и гениальное? Что оно может, а что нет? Кому будет полезен? В каких случаях применять, а в каких нет? На все эти вопросы я постараюсь ответить в своём докладе.
Будет проведён сравнительный анализ возможностей создания анимаций как в Flash так и в HTML5. Неужели и правда HTML5 способен полностью заменить Flash?
Мы коснёмся вопросов теории и практики безопасности компьютеров. Вы думаете, что вы знаете об этом всё? Я попробую вас в этом переубедить. Поговорим о социальной инженерии, расскажу о бот сетях (так сказать из первых уст), что есть есть правда, а что есть миф в рассказах о хакерах. В конечном итоге этот доклад будет интересен людям, находящимся по обоим сторонам баррикады. Почему? Потому, что я был на обоих её сторонах...
Будет раскрыта животрепещущая тема о заработке в Интеренете. Где в интернете есть деньги, как их заработать и, в конечном итоге, получить и обналичить. Александр расскажет что делать, если идея уже есть, а понимания как из нее извлечь деньги еще нет. И, главное, денег на начальном этапе тоже нет. Будут также затронуты вопросы организации платежей через сайты, мобильные телефоны, мобильные приложения.
Реализация REST и SOAP сервисов с помощью WCFPavel Tsukanov
На сегодняшний день одним из важнейших направлений в области разработки ПО является направление (веб)-сервисов. Сервисы позволяют строить большие распределенные системы. При этом подходов к построению сервисов сегодня как минимум два - SOAP и REST. В докладе расскажу как реализовать их при помощи WCF
ORM технологии в .NET (Nhibernate, Linq To SQL, Entity Framework)Pavel Tsukanov
Расскажу зачем они вообще нужны. Пройдемся по технологиям и промоем им косточки. Рассмотрим достоинства и недостатки, а также где и когда лучше всего применять ту или иную ORM.
В данном докладе мы рассмотрим пять основных принципов дизайна классов в объектно-ориентированном проектировании, которые известны, как принципы SOLID. А также как обеспечить достаточный уровень гибкости, связанности, управляемости, стабильности и понятности кода.
Андрей Карпов
Вы узнаете, что такое статический анализ кода и историю его развития. Узнаете, как эффективно применять инструменты статического анализа в своей работе, увидите практические примеры использования этой методологии. Доклад ориентирован на программистов, использующих языки Си/Си++, но будет полезен всем
TDD (Test-driven Development) как стиль разработки.Pavel Tsukanov
Как превратить рутинное написание Unit тестов в увлекательный процесс? Как побороть страхи, что система не будет работать должным образом? Как уверенно решать самые сложные для себя задачи? Я расскажу как TDD поможет найти ответы на эти и другие вопросы.
Наш сайт http://www.tuladev.net
Применение нейронных сетей и генетических алгоритмов при торговле на бирже.
Лекция Android
1. ОС Android и специфика
мобильной разработки
Киреев Артем, Codemasters International
akireev@codemastersintl.com
www.codemastersintl.com
2. План
• Что такое Android?
• Основные компоненты приложения и
их взаимодействие
• Опыт разработки приложения
TulaDev: веб-сервисы, GCM (C2DM).
3. OS Android
• ОС для смартфонов и встраиваемых
систем
• Разработка началась в 2003
• Первый проданный телефон HTC Dream
2008
• Open Source
• ARM, MIPS, x86
7. Размеры экранов
Размер Плотность
Самый популярный размер:
470dip x 320 dip =
WVGA800
(480x800)
8. Как работать с
множеством
экранов?
ldpi: 1 dip = 0,75px
mdpi: 1 dip = 1px
hdpi: 1 dip = 2px
1 dip = 1,5px
xhdpi:
px - пиксели
in, mm, pt - дюймы, миллиметры, точки (1/72
дюйма)
dip - Абстрактные пиксели, зависящие от
плотности экрана
sp - Похожи на dip, но в данном случае
учитывается размер шрифта, который установил
пользователь.
9. Из чего состоит
приложение?
Manifest
-имя JAVA пакета
-разрешения для
приложения
- Activity, Services..
-Связанные библиотеки
-Минимальный уровень API
Классы (src)
Ресурсы (res)
10. Верстка UI
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="I am a TextView" />
<Button android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="I am a Button" />
</LinearLayout>
Linear Layout Relative Layout
Позволяет определить
Элементы внутри расположение
расположены в ряд элементов относительно
или в столбец друг друга (Элемент A
находится слева от B)
11. Изолированность
приложения Android
Sandbox
• Каждое приложение имеет свой Linux
user Id
• Для каждого приложения запускается
своя Dalvik VM
• Любой компонент приложения, будет
запускаться в своем Linux процессе
12. Рабочие лошадки
приложения
Activity Service
• малосвязанные • работают в фоне (backgroud)
• не подходят для длительных операций • подходят для длительных операций
17. Разработка приложения
TulaDev для Android
Use cases:
• Видеть информацию о следующей встрече
• Видеть архив прошедших встреч
• Получать новости и анонсы
• Голосовать за будущие темы
• Отмечаться на встрече (розыгрыш призов)
• Смотреть слайды оффлайн
21. Откуда брать данные.
Схема 2. Activity шлет запрос и
сохраняет в базе
REST API
ListActivity
SQLite
22. Откуда брать данные.
Схема 3 Используем сервис
REST API
3 http GET /events
BroadcastReceiver
DownloadService
ListActivity
4 storeEventsInDb()
SQLite
23. Разработка приложения
TulaDev для Android
Вопрос 2. Как часто обновлять
данные?
При каждом запуске приложения
При смене табов
По расписанию
По требованию пользователя
Когда данные обновятся на сервере
24. Разработка приложения
TulaDev для Android
По требованию пользователя
Когда данные обновятся на сервере
Http pooling web sockets
25. Google Cloud Messaging
GCM анонсирован 26 июня 2012 года, пришел на
замену C2DM
Увеличивает время жизни батареи (все приложения
используют один общий канал)
Сервер обрабатывает запрос на рассылку за 4.7
миллисекунды его обновления данных и для поста
Мы используем
новостей
26. Как работает GCM
Обновление данных
Content-
Type:application/jsonAuthorizatio
n:key=AIzaSyB-1uEai2...{
“registration_ids” :
[“APA91bHun4MxP5eg..., ...]
“collapse_key”: “data_update”
“data” : { “Action” : “updateData”}}
Server
27. Как работает GCM
Уведомления (новости)
Content-
Type:application/jsonAuthorizatio
n:key=AIzaSyB-1uEai2...{
“registration_ids” :
[“APA91bHun4MxP5eg..., ...]
“data” :
{ “Action” : “updateData”,
“Data”: “Не проспите завтра
наш доклад об Android ”}}
Server
29. Как работает GCM
Features. Time To Live
Сообщениям можно задать время жизни от 0
секунд до 4 недель
Сообщения с TTL = 0, не хранятся в GCM
По умолчанию TTL = 4 недели
30. Как работает GCM
Features. Message
Multicasting
Запрос
до1000
Ответ
31. Как работает GCM
Features. Collapse Key
Запросы
только 1 сообщение
32. Как работает GCM
Features. Throttling
Нотификация об изменении
данных на сервере
DoS
Server
33. Google Play
Регистрация в качестве разработчика = 25$
Время от подачи заявки до появления в Google Play ~
4h
No Problem with Google Play
34. Итоги
• Android - OpenSource операционная
система с Dalvik VM
• Приложение: Манифест + ресурсы +
Activity + Service
• GCM (Google Cloud Messaging) -
канал доставки данных.
• Google Play - 25$ and no problem