Дизайн платформа в Avito - Александр Лобашев (Avito)AvitoTech
Компонентный подход принес много пользы, а вместе с тем и проблему переиспользования компонентов. В проекте появились сотни, тысячи компонентов, но со временем мы совсем забыли где они живут, как их использовать и как они выглядят. А что если дизайнер нарисовал интерфейс с новой кнопкой? Использовать текущий компонент или сделать новую кнопку для маленького интерфейса?
Я расскажу, как мы сделали пряничный домик для дизайнеров, а также наладили коммуникацию и коллаборацию между дизайнерами, разработчиками и менеджерами.
Дизайн платформа в Avito - Александр Лобашев (Avito)AvitoTech
Компонентный подход принес много пользы, а вместе с тем и проблему переиспользования компонентов. В проекте появились сотни, тысячи компонентов, но со временем мы совсем забыли где они живут, как их использовать и как они выглядят. А что если дизайнер нарисовал интерфейс с новой кнопкой? Использовать текущий компонент или сделать новую кнопку для маленького интерфейса?
Я расскажу, как мы сделали пряничный домик для дизайнеров, а также наладили коммуникацию и коллаборацию между дизайнерами, разработчиками и менеджерами.
Работаем с API по-взрослому - Максим Кислов (Badoo)AvitoTech
Я расскажу о том, как мы разрабатываем фронтенд и бэкенд параллельно, используя protobuf + JSON RPC.
Часто фронтенд выставляет требования к бэкенду, из этих требований получается API, и разработка возможна только при одновременной работе серверного и клиентского девелопера.
Мы же начинаем разработку с API, и фронтенд (а также мобильные приложения) никак не зависят от степени готовности бэкенда.
– Я поделюсь тем, как мы делаем API до начала разработки;
– Success story использования protobuf + RPC;
– И немного – о разработке клиента вообще без серверного кода.
Rempl — крутая платформа для крутых инструментов - Роман Дворнов (Avito)AvitoTech
Роман Дворнов (Avito)
Фронтенд усложняется с каждым днем, и уже не представить жизнь разработчика без инструментов. Инструментов становится все больше, но нельзя сказать, что их достаточно. Если у вас собственный стек или технологическое решение, вам рано или поздно потребуется сделать свой инструмент. Это не так просто! Особенно если вы захотите интегрировать его интерфейс в браузерные Developer Tools, IDE, редакторы или открыть их на другом устройстве. Добавьте сюда проблему версионирования и другие сложности, и вам покажется, что задача неподъемная.
Но есть хорошая новость! Большинство из этих проблем решает Rempl — платформа для создания и использования удаленных инструментов (на самом деле не только инструментов). Сделаем небольшой обзор Rempl: что это, зачем нужно, какие проблемы решает. А также посмотрим примеры готовых решений, построенных на Rempl.
После докладов мы проведём дискуссионную панель на тему "Организация системы компонент", в которой примут участие докладчики, а также приглашенные эксперты.
Egor Fedorov "Behavior-driven development in Python"Fwdays
The goal of the BDD technique is to establish successful communication between customers, business analysts, programmers, and testers for the whole life of the project.
That is why a language was created, in which the expected behavior of the application is described in simple text form, and then through the BDD framework, the text is translated into program code, which could already be used in testing the software product.
Where BDD is applied, software requirements turn into living code, and tests instead of a programming language are written in simple human language.
In this talk, using the automation of website testing as an example, the Behave framework for Python will be shown.
The talk will be about:
writing bdd files;
performing them in behave;
running BDD as tests in pytest;
integrating everything into the CI pipeline.
This is the rough draft for the paper submitted for IIM Kashipur Organised Conference on Educational Reforms in Higher Education. A par of the letter is shared here:
"Dear Dr Muhammad Mukhtar Alam,
You will be pleased to know that your proposed paper on “Education and International Development : Integration of ecostrategic thinking in the curriculum and pedagogic practice" has been accepted for presentation at the Indian Institute of Management Kashipur’s forthcoming conference on “Educational Reforms: The Changing Paradigms" at India Habitat Centre, Lodi Road, New Delhi on 25-26 March 2013. The organizing committee has also waived the Registration Fees for your participation."
The presentation shows how UAE adopting weather modification technologies made deserts green. Thirsty earth got rain and deserts bloomed through the application of weather modification technologies. If these are used in India,large tracts of land in Rajasthan and Kutch region of India could be transformed into green zones with abundance of agriculture and horticulture growth.
With most of the client revenues shifting to post "closing" a new kind of sales organization is rising. An organization with a new kind of superstar that pursues customer success as its primary goal.
Работаем с API по-взрослому - Максим Кислов (Badoo)AvitoTech
Я расскажу о том, как мы разрабатываем фронтенд и бэкенд параллельно, используя protobuf + JSON RPC.
Часто фронтенд выставляет требования к бэкенду, из этих требований получается API, и разработка возможна только при одновременной работе серверного и клиентского девелопера.
Мы же начинаем разработку с API, и фронтенд (а также мобильные приложения) никак не зависят от степени готовности бэкенда.
– Я поделюсь тем, как мы делаем API до начала разработки;
– Success story использования protobuf + RPC;
– И немного – о разработке клиента вообще без серверного кода.
Rempl — крутая платформа для крутых инструментов - Роман Дворнов (Avito)AvitoTech
Роман Дворнов (Avito)
Фронтенд усложняется с каждым днем, и уже не представить жизнь разработчика без инструментов. Инструментов становится все больше, но нельзя сказать, что их достаточно. Если у вас собственный стек или технологическое решение, вам рано или поздно потребуется сделать свой инструмент. Это не так просто! Особенно если вы захотите интегрировать его интерфейс в браузерные Developer Tools, IDE, редакторы или открыть их на другом устройстве. Добавьте сюда проблему версионирования и другие сложности, и вам покажется, что задача неподъемная.
Но есть хорошая новость! Большинство из этих проблем решает Rempl — платформа для создания и использования удаленных инструментов (на самом деле не только инструментов). Сделаем небольшой обзор Rempl: что это, зачем нужно, какие проблемы решает. А также посмотрим примеры готовых решений, построенных на Rempl.
После докладов мы проведём дискуссионную панель на тему "Организация системы компонент", в которой примут участие докладчики, а также приглашенные эксперты.
Egor Fedorov "Behavior-driven development in Python"Fwdays
The goal of the BDD technique is to establish successful communication between customers, business analysts, programmers, and testers for the whole life of the project.
That is why a language was created, in which the expected behavior of the application is described in simple text form, and then through the BDD framework, the text is translated into program code, which could already be used in testing the software product.
Where BDD is applied, software requirements turn into living code, and tests instead of a programming language are written in simple human language.
In this talk, using the automation of website testing as an example, the Behave framework for Python will be shown.
The talk will be about:
writing bdd files;
performing them in behave;
running BDD as tests in pytest;
integrating everything into the CI pipeline.
This is the rough draft for the paper submitted for IIM Kashipur Organised Conference on Educational Reforms in Higher Education. A par of the letter is shared here:
"Dear Dr Muhammad Mukhtar Alam,
You will be pleased to know that your proposed paper on “Education and International Development : Integration of ecostrategic thinking in the curriculum and pedagogic practice" has been accepted for presentation at the Indian Institute of Management Kashipur’s forthcoming conference on “Educational Reforms: The Changing Paradigms" at India Habitat Centre, Lodi Road, New Delhi on 25-26 March 2013. The organizing committee has also waived the Registration Fees for your participation."
The presentation shows how UAE adopting weather modification technologies made deserts green. Thirsty earth got rain and deserts bloomed through the application of weather modification technologies. If these are used in India,large tracts of land in Rajasthan and Kutch region of India could be transformed into green zones with abundance of agriculture and horticulture growth.
With most of the client revenues shifting to post "closing" a new kind of sales organization is rising. An organization with a new kind of superstar that pursues customer success as its primary goal.
"How to build powerful CI / CD based on GitLab and Docker", Aleksandr Matkovs...Provectus
Aleksandr Matkovskiy – Head of IT Department lives and works with the motto "Scaling and load balancing is our all!". Therefore, he has 3 sons and dreams to find DEV for his OPS.
You will be able to see how the CI / CD was created and saved our lives. From concept to the final product.
Vladislav Anikin – Team Leader & Software Architect, specializing in SAAS flexible and scalable solutions for business. Driving DDD/TDD oriented squad of awesome SOLID developers.
You will be able to see how the CI / CD was created and saved our lives. From concept to the final product.
Видео и материалы со встречи:
http://getdev.net/Event/dynamic-language-runtime
В докладе рассмотрим скриптовые языки на платформе DLR, способы автоматизации рутинной работы с их помощью, а также интегрирование в конечное приложение.
InterBase на разных устройствах быстрый старт. 2017-03-30 sandy97
Слайды практического вебинара, на котором показана последовательность шагов для проектирования и создания БД InterBase на сервере и мобильных устройствах, создания простых приложений, использующих эту БД на ПК и мобильных устройствах. С участием ведущего эксперта по InterBase и FireBird - Дмитрия Кузьменко
Юрий Василевский «Автоматизация в 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), связанные с нумерацией сборок билдов, форматированием и контролем стиля кода, анализом дублированных участков кода, управлением внешними библиотеками.
2. Базис
идеи, ведущие к появлению BlueBream
Over-engineering Расширяемость как
через предвосхищение
необходимое условие
➔ ООП иерархии Есть такие проекты, где это
➔ Код для вставки хуков
необходимо
➔ Лишние абстракции
➔ Написание библиотек ➔ Проекты с постоянно
и фреймворков на ровном изменяемыми требованиями
месте ➔ Расширяемые продукты
КОНФЛИКТ
3. Вынос over-engineering
на сторону
Over-engineering Расширяемость как
через предвосхищение необходимое условие
➔ ООП иерархии Есть такие проекты, где это
➔ Код для вставки хуков необходимо
➔ Лишние абстракции
➔ Написание библиотек
➔ Проекты с постоянно
и фреймворков на ровном изменяемыми требованиями
месте ➔ Расширяемые продукты
Тулкит
5. Важные идеи BlueBream
● Интерфейсы ● Security Proxy
● Реестры компонент: ● Декларативный язык
глобальные и локальные ZCML
● Компонентная ● Развертывание:
архитектура, основанная Buildout
на адаптерах
6. ● Интерфейсы ● Security Proxy
● Реестры компонент: глобальные и ● Декларативный язык ZCML
локальные
● Развертывание: Buildout
● Компонентная архитектура, основанная на
адаптерах
from zope.interface import Interface, Attribute, implements
class IFoo(Interface):
bar = Attribute("Bar attribute")
def baaz():
"""Doc string"""
class Foo(object):
implements(IFoo)
bar = None
def baaz(self):
pass
7. ● Интерфейсы
● Security Proxy
● Реестры компонент: глобальные ● Декларативный язык ZCML
и локальные
● Компонентная архитектура, основанная на адаптерах
● Развертывание: Buildout
ЗАПРОC:
Python объекты становятся компонентами ● interface
тогда, когда они зарегистрированы в ● name
реестрах компонент
class Foo: class Foo:
pass implements(IFoo) Реестр
Выбирает компоненты
8. ● Интерфейсы
● Security Proxy
● Реестры компонент: глобальные и локальные
● Декларативный язык ZCML
● Компонентная архитектура, ● Развертывание: Buildout
основанная на адаптерах
class IPerson(Interface):
name = Attribute("Person Name")
class Article2Person(object):
implements(IPerson)
adapts(IArticle)
def __init__(self, article):
self.article = article
@property
def name(self):
return self.article.get_article_name()
# использование адаптера
adapter = IPerson(ob)
name = adapter.name
9. ● Интерфейсы ● Security Proxy
● Реестры компонент: глобальные и локальные
● Декларативный язык ZCML
● Компонентная архитектура, основанная на
адаптерах ● Развертывание: Buildout
Все объекты обернуты в
Security Proxy
10. ● Интерфейсы ● Security Proxy
Реестры компонент: глобальные и локальные
Декларативный язык
●
●
Компонентная архитектура, основанная на
ZCML
●
адаптерах
● Развертывание: Buildout
Декларативные конструкции - на
декларативном языке.
Простой XML с одним уровнем
вложенности.
11. ● Интерфейсы ● Security Proxy
● Реестры компонент: глобальные и локальные ● Декларативный язык ZCML
● Компонентная архитектура, основанная на ● Развертывание:
адаптерах
Buildout
$ python bootstrap.py
$ bin/buildout
$ bin/paster serve deploy.ini