Успешный кейс использования React Native в продакшне, Евгений Федоров (LOOKBUCK)Ontico
— Космическая скорость разработки приложения (iOs-приложение за неделю);
— Сравнение типичного экрана со списком данных на Objective-C и React Native;
— Поддержка приложения, Debugging;
— Ограничения React Native, которые следует учитывать;
— Бонус: при написании приложения для iOs — 80% Android приложения в подарок :)
Альтернативные способы изучения программирования с нуляCOMAQA.BY
Мы поговорим о мировых практиках изучения программирования с нуля в игровой форме – от программирования лего роботов, до ... интрига-интрига, приходите и узнаете 10-ток альтернативных вариантов изучения этой замечательной дисциплины.
Успешный кейс использования React Native в продакшне, Евгений Федоров (LOOKBUCK)Ontico
— Космическая скорость разработки приложения (iOs-приложение за неделю);
— Сравнение типичного экрана со списком данных на Objective-C и React Native;
— Поддержка приложения, Debugging;
— Ограничения React Native, которые следует учитывать;
— Бонус: при написании приложения для iOs — 80% Android приложения в подарок :)
Альтернативные способы изучения программирования с нуляCOMAQA.BY
Мы поговорим о мировых практиках изучения программирования с нуля в игровой форме – от программирования лего роботов, до ... интрига-интрига, приходите и узнаете 10-ток альтернативных вариантов изучения этой замечательной дисциплины.
Презентация к докладу на SymfonyCampUA-2012.
В докладе рассмотрены основные вопросы работы с АОП в PHP, даны определения аспектов, срезов, советов, а также рассмотрено реальное использование библиотеки GO! для внедрения аспектно-ориентированной парадигмы в любое приложение.
Porting existing games to Apple Metal API. Case study: Divinity Original Sin ...DevGAMM Conference
The session essentially focuses on case study of porting Divinity Original Sin 2 engine to Apple Metal API. Real-life examples are provided as well as a demo of frame capture, dissection and explanations of techniques used. The case study is followed by best practices section with advises for transitioning generic titles to Metal. The session concludes with ‘future tech’ section where advanced samples of Metal rendering technologies are displayed and briefly explained.
Доклад Владислава Чернова & Олега Оямяэ на РИТ++ 2013. "AIDA. Непрерывная инт...Badoo Development
В крупном интернет проекте при построении непрерывной интеграции возникает множество проблем и рутинной работы. Этот доклад о том, как мы избежали проблем и автоматизировали большую часть работы. Мы показали связь непрерывной интеграции со всеми стадиями разработки программного продукта.
А также вы узнаете из доклада:
1. Модель разработки каждой задаче в отдельной ветке, плюсы и минусы.
2. Как автоматизировать рутинные операции в системе контроля версий.
3. Организации работы с хуками в Git в условиях большого количества репозиториев.
4. Автоматизация работы с баг трекером, как у нас проходит ревью кода.
5. Построение непрерывной интеграции для компилируемых и не компилируемых компонентов.
6. Автоматизация сборок с зависимостями из веток релиза для компилируемых компонент.
7. Continuous delivery и почему большое количество веток не всегда плохое решение для данного подхода.
И конечно же Release engineering, как он влияет на разработку и качество продукта.
После доклады вы поймете все основные процессы при построении непрерывной интеграции и увидите как важна автоматизация в данном процессе.
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.
Непрерывная интеграция и автотесты. Сравнительный анализ инструментовCOMAQA.BY
По-настоящему автоматизированными тесты можно назвать только тогда, когда из процесса тестирования полностью исключается человек. В идеале участие человека должно сводиться к просмотру отчетов о результатах автотестирования, которые регулярно приходят ему на почту.
Достичь этого можно только одним способом - с помощью инструментов непрерывной интеграции. Какой же инструмент лучше выбрать? Почему? Так ли этот выбор важен или можно просто взять любой из них и начать использовать?
Сравним самые популярные Java-совместимые инструменты CI и сделаем выводы!
Многие аналитики предрекают реактивному программированию большое будущее в решении задач Mobile и Big Data.
TypeSafe, разработчики языка Scala, создали многообещающий реактивный фреймворк Akka, который "дружит" с Java.
Чем он может быть интересен Java-разработчикам? Сможет ли Akka+Java конкурировать с Akka+Scala? И как ей в этом помогут новые фичи Java 8?
Об этом я расскажу в своем докладе "Посмотрим на Акку-Джаву".
Видео: https://www.youtube.com/watch?v=LziQMf26zGg
Мы каждый день добавляем новую функциональность в наши приложения по запросам бизнеса, часто забывая о её инкапсуляции. Станислав Цыганов расскажет про подход «Feature toggle», который позволяет легко и удобно управлять набором «фич» и их конфигураций.
Презентация к докладу на SymfonyCampUA-2012.
В докладе рассмотрены основные вопросы работы с АОП в PHP, даны определения аспектов, срезов, советов, а также рассмотрено реальное использование библиотеки GO! для внедрения аспектно-ориентированной парадигмы в любое приложение.
Porting existing games to Apple Metal API. Case study: Divinity Original Sin ...DevGAMM Conference
The session essentially focuses on case study of porting Divinity Original Sin 2 engine to Apple Metal API. Real-life examples are provided as well as a demo of frame capture, dissection and explanations of techniques used. The case study is followed by best practices section with advises for transitioning generic titles to Metal. The session concludes with ‘future tech’ section where advanced samples of Metal rendering technologies are displayed and briefly explained.
Доклад Владислава Чернова & Олега Оямяэ на РИТ++ 2013. "AIDA. Непрерывная инт...Badoo Development
В крупном интернет проекте при построении непрерывной интеграции возникает множество проблем и рутинной работы. Этот доклад о том, как мы избежали проблем и автоматизировали большую часть работы. Мы показали связь непрерывной интеграции со всеми стадиями разработки программного продукта.
А также вы узнаете из доклада:
1. Модель разработки каждой задаче в отдельной ветке, плюсы и минусы.
2. Как автоматизировать рутинные операции в системе контроля версий.
3. Организации работы с хуками в Git в условиях большого количества репозиториев.
4. Автоматизация работы с баг трекером, как у нас проходит ревью кода.
5. Построение непрерывной интеграции для компилируемых и не компилируемых компонентов.
6. Автоматизация сборок с зависимостями из веток релиза для компилируемых компонент.
7. Continuous delivery и почему большое количество веток не всегда плохое решение для данного подхода.
И конечно же Release engineering, как он влияет на разработку и качество продукта.
После доклады вы поймете все основные процессы при построении непрерывной интеграции и увидите как важна автоматизация в данном процессе.
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.
Непрерывная интеграция и автотесты. Сравнительный анализ инструментовCOMAQA.BY
По-настоящему автоматизированными тесты можно назвать только тогда, когда из процесса тестирования полностью исключается человек. В идеале участие человека должно сводиться к просмотру отчетов о результатах автотестирования, которые регулярно приходят ему на почту.
Достичь этого можно только одним способом - с помощью инструментов непрерывной интеграции. Какой же инструмент лучше выбрать? Почему? Так ли этот выбор важен или можно просто взять любой из них и начать использовать?
Сравним самые популярные Java-совместимые инструменты CI и сделаем выводы!
Многие аналитики предрекают реактивному программированию большое будущее в решении задач Mobile и Big Data.
TypeSafe, разработчики языка Scala, создали многообещающий реактивный фреймворк Akka, который "дружит" с Java.
Чем он может быть интересен Java-разработчикам? Сможет ли Akka+Java конкурировать с Akka+Scala? И как ей в этом помогут новые фичи Java 8?
Об этом я расскажу в своем докладе "Посмотрим на Акку-Джаву".
Видео: https://www.youtube.com/watch?v=LziQMf26zGg
Мы каждый день добавляем новую функциональность в наши приложения по запросам бизнеса, часто забывая о её инкапсуляции. Станислав Цыганов расскажет про подход «Feature toggle», который позволяет легко и удобно управлять набором «фич» и их конфигураций.
Юрий Василевский «Автоматизация в XCode»
Yandex Mobile Camp в Санкт-Петербурге 2012
http://events.yandex.ru/events/yamobcamp/spb-may-2012/
Xcode — основной инструментарий разработки приложений под Mac OS X и Apple iOS. Он обладает широкими возможностями как для редактирования кода, так и для автоматизации задач. Мы обсудим некоторые из аспектов автоматизации (Code Sense, Targets, Services, Help), связанные с нумерацией сборок билдов, форматированием и контролем стиля кода, анализом дублированных участков кода, управлением внешними библиотеками.
Yandex Mobile Camp в Санкт-Петербурге, 30 мая 2012
Юрий Василевский, ведущий разработчик EPAM Systems, Mobile Solutions
Тема: Автоматизация в XCode
Тезисы:
Xcode — основной инструментарий разработки приложений под Mac OS X и Apple iOS. Он обладает широкими возможностями как для редактирования кода, так и для автоматизации задач.
Мы рассмотрим некоторые из аспектов автоматизации (Code Sense, Targets, Services, Help), связанные с нумерацией сборок билдов, форматированием и контролем стиля кода, анализом дублированных участков кода, управлением внешними библиотеками.
React новая эра фронтенд разработки / Роберт Харитонов (Liberty Global)Ontico
React(JS) — это современная библиотека для разработки UI компонентов от Facebook, по праву считающаяся самой трендовой технологией среди JavaScript разработчиков на 2015/16 год.
Но каким образом React стал настолько популярен в среде разработчиков, учитывая что библиотека покрывает только View из необходимого минимума MVC архитектуры? Ответ таится в экосистеме технологий, в рамках которой нам открываются совершенно новые способы разработки приложений, не только для веба, но и нативных платформ с родным UI (iOS, Android, Win 10, OSx).
Роберт расскажет, почему огромная популярность React более чем заслужена, и почему это не "очередной фреймворк", а чуть ли не самое большое изменение в JavaScript разработке за последние годы.
Привет, Санкт-Петербург!
В разгар летнего сезона, мы поговорим об историях обновлений,
например, с 6.4 до 7.х, с разными трюками, а также об истории исследования разных регрессий на продуктах Atlassian и других плагинов.
Наша программа будет пополняться, и мы рады к сотрудничеству.
Ждем Вас на встрече в Яндекс Деньгах.
* Почему Angular 2 такой быстрый и как его ускорить еще сильнее?
* Как работает Change Detection механизм и как им управлять?
* Зачем нам Zone.js и Функциональное Реактивное Программирование?
* Как работать с Redux и Mobx в Angular 2 и что можно от этого выиграть?
Об этом и ряде других вещей вы узнаете из этого доклада.
Превышаем скоростные лимиты с Angular 2 / Алексей Охрименко (IPONWEB)Ontico
* Почему Angular 2 такой быстрый и как его ускорить еще сильнее?
* Как работает Change Detection механизм и как им управлять?
* Зачем нам Zone.js и Функциональное Реактивное Программирование?
* Как работать с Redux и Mobx в Angular 2 и что можно от этого выиграть?
Об этом и ряде других вещей вы узнаете из этого доклада.
Презентация Вводного вебинара по iRidium, на котором Екатерина Корежаткова, ведущий специалист и руководитель технической поддержки iRidium mobile, рассказывает, как пользоваться программным комплексом iRidium; как использовать готовые интерфейсы iRidium и создавать собственные.
6-7 июня на мероприятии Startup Village в Сколково прошла серия митапов, организованных совместно Сбербанком и СберТехом. Вашему вниманию - серия презентационных материалов с мероприятия.
6-7 июня на мероприятии Startup Village в Сколково прошла серия митапов, организованных совместно Сбербанком и СберТехом. Вашему вниманию - серия презентационных материалов с мероприятия.
6-7 июня на мероприятии Startup Village в Сколково прошла серия митапов, организованных совместно Сбербанком и СберТехом. Вашему вниманию - серия презентационных материалов с мероприятия.
самое интересное в мире блокчейн, опыт и рецепты от сбербанкаСбертех | SberTech
6-7 июня на мероприятии Startup Village в Сколково прошла серия митапов, организованных совместно Сбербанком и СберТехом. Вашему вниманию - серия презентационных материалов с мероприятия.
Подходы к построению хранилищ данных в крупных организацияхСбертех | SberTech
6-7 июня на мероприятии Startup Village в Сколково прошла серия митапов, организованных совместно Сбербанком и СберТехом. Вашему вниманию - серия презентационных материалов с мероприятия.
6-7 июня на мероприятии Startup Village в Сколково прошла серия митапов, организованных совместно Сбербанком и СберТехом. Вашему вниманию - серия презентационных материалов с мероприятия.
37. Dev toggles
•Локальный объект
•Не управляется с сервера
•Хранится в конфигурации
приложения
•Управляет переключением поведения
приложения
38. Изменение процесса
• Каждая новая фича закрывается переключателем
• Переключатель не снимается до выпуска фича в Пром
• После успешного запуска создается таск на Dead Code
• Переключатель удаляется из конфигурации, удаляется
неиспользуемый код
43. Плюсы
•Можно доставлять неготовый код в
ПРОМ
•Переключать поведение можно в
рантайме
•Доступно для тестировщиков
•Прозрачный процесс включения в
сборку новых фич
51. Особенности
• Все наши модули - это фреймворки
• Умеют общаться с приложением по определенному
протоколу
52. Особенности
• Все наши модули - это фреймворки
• Умеют общаться с приложением по определенному
протоколу
• Мы заводим plist с переключателями в каждом
фреймворке
53. Особенности
• Все наши модули - это фреймворки
• Умеют общаться с приложением по определенному
протоколу
• Мы заводим plist с переключателями в каждом
фреймворке
• Собираем эти параметры в рантайме при загрузке
приложения
54. Реализация
• В модуле отдельная группа Toggles
• Файл FeedFeatureToggle.plist
• Параметры
• key - имя задачи из Jira
• description - читаемое описание фичи для debug меню
• taskURL - ссылка на задачу
• enabled - флаг включения/выключения по умолчанию
• debugAvailable - появление в списке дебаг меню
55. SBFFeatureToggleProtocol
#import <Foundation/Foundation.h>
@class SBFFeatureToggleItem;
/**
Протокол, реализуемый каждым переключателем бизнес фич в каждом модуле
*/
@protocol SBFFeatureToggleProtocol <NSObject>
@property (nonatomic, readonly) NSArray<SBFFeatureToggleItem*> *toggleList; /**< список переключателей бизнес
функционала */
/**
Вернет список доступных тоглов хронящиеся в plist
@discussion перегружается в наследниках в каждом модуле
@return список тоглов распарсенный из plist
*/
- (NSArray *)plistToggleList;
/**
Проверить на доступность по ключу бизнес фукционал
@param key ключ бизес функционала из jira
@return признак доступности
*/
- (BOOL)featureEnabledForKey:(NSString *)key;
@end
56. SBFFeatureToggleItem
/**
Объект, реализующий представление бизнес функционала в plist
*/
@interface SBFFeatureToggleItem : NSObject
@property (nonatomic, readonly) NSString *key; /**< Ключ бизнес
функционала из jira (DBIOSP-100) */
@property (nonatomic, readonly) NSString *itemDescription; /**<
Описание бизнес функционала для отображения в меню */
@property (nonatomic, readonly) NSURL *taskURL; /**< URL путь к бизнес
функционалу в jira */
@property (nonatomic, assign, getter=isEnabled) BOOL enabled; /**<
Признак доступности бизнес функционала */
@property (nonatomic, assign, readonly, getter=isDebugAvailable) BOOL
debugAvailable; /**< Признак доступности бизнес функционала для
отображения в debug меню */
@end
57. Использование
• if-else для нового кода
if ([[SBFApp shared].moduleFeed.featureToggle featureEnabledForKey:@"FeatureName"])
{
// New code
}
• фабрики для классов с новым поведением
if ([[SBFApp shared].moduleFeed.featureToggle
featureEnabledForKey:@"FeatureName"])
{
// New code
}
62. AB
• Dev toggle легко адаптировать для AB тестов
• Инициализируем не только из конфигурационного
файла
63. AB
• Dev toggle легко адаптировать для AB тестов
• Инициализируем не только из конфигурационного
файла
• Можно взять Firebase Remote Config
64. AB
• Dev toggle легко адаптировать для AB тестов
• Инициализируем не только из конфигурационного
файла
• Можно взять Firebase Remote Config
• Через configValueForKey: получем значение toggleItem
из Firebase