- Почему мы выбрали .NET Core качестве основной платформы для нашего продукта
- команда мечты от разработчиков Java, которая начала писать на .NET Core;
- мониторинг системы, поиск запросов и другие диагностические задачи.
Алексей Лустин. Непрерывная проверка качества кода.ScrumTrek
Я расскажу о нашем двухлетнем опыте использования инженерной практики «Continious Inspection» и платформы SonarQube при организации кросс-языковой разработки в процессе «непрерывной поставки» (CI-CD для языков Java, C#, JavaScript, typeScript и Gherkin) при автоматизированном code-review.
Типовая сборка и деплой продуктов в Positive TechnologiesPositive Hack Days
1. Проблемы в построении CI процессов в компании
2. Структура типовой сборки
3. Пример реализации типовой сборки
4. Плюсы и минусы от использования типовой сборки
Последние несколько лет в продуктовой разработке проблемы масштабирования решаются через переход на микросервисную архитектуру. На эту тему было сказано много про подходы, плюсы и минусы, но мало кто рассматривал эту проблематику со стороны фронтенда.
В ЦИАН мы идем по пути перехода от монолита к микросервисам, в том числе и на фронтенде. Задачи и проблемы, с которыми мы сталкиваемся, очень близки к аналогичным на бэкенде, но в то же время совершенно другие.
В своем докладе я расскажу про архитектуру фронтенда (и так называемого миддленда) в ЦИАН: какие задачи перед нами стояли, что мы решили, где мы находимся сейчас и с какими проблемами мы столкнулись.
Как мы собираем проекты в выделенном окружении в Windows DockerPositive Hack Days
1. Обзор Windows Docker (кратко)
2. Как мы построили систему билда приложений в Docker (Visual Studio\Mongo\Posgresql\etc)
3. Примеры Dockerfile (выложенные на github)
4. Отличия процессов DockerWindows от DockerLinux (Долгий билд, баги, remote-регистр.)
Как развивать библиотеку компонентов, не ломая ее / Артур Удалов (Mail.Ru Group)Ontico
HighLoad++ 2017
Зал «Пекин + Шанхай», 8 ноября, 17:00
Тезисы:
http://www.highload.ru/2017/abstracts/2991.html
Нынче стало модно выделять UI-компоненты в отдельную библиотеку и использовать её в нескольких проектах. Мы в команде почты Mail.ru делаем так же, но столкнулись с проблемой: каждый разработчик, меняя библиотеку под свои нужды, обязательно ломает что-нибудь, что работало у других.
Я расскажу о том, как мы решили эту проблему, и о том, какие инструменты для этого можно использовать. Storybook, BackstopJS, Jest, Webdriver.io, TypeScript - в их числе.
1. Что такое BI. Зачем он нужен.
2. Что такое Qlik View / Sense
3. Способ интеграции. Как это работает.
4. Метрики, KPI, планирование ресурсов команд, ретроспектива релиза продукта, тренды.
5. Подключение внешних источников данных (Excel, БД СКУД, переговорные комнаты).
SECON'2016 Евтухович Иван, Эксплуатация завтрашнего дня: от DevOps к NoOpsSECON
За последние годы у ИТ-сообщества накопился опыт использования систем управления конфигурацией и работой в организации по методологии DevOps. Но растущие вызовы показывают, что и этот подход имеет свои недостатки. Доклад расскажет о том, какие контейнеры бывают и почему они победят, что придет на смену облакам, и какие практики стоит начать внедрять сегодня, чтобы завтра не остаться без работы.
Nival: Как не увлечься погоней за универсализацией компонентDevGAMM Conference
Если оставить программиста одного — он будет делать суперуниверсальное нечто. Какие компоненты было бы действительно полезно сделать универсальными и как понять когда универсализация это пустая трата времени.
- Почему мы выбрали .NET Core качестве основной платформы для нашего продукта
- команда мечты от разработчиков Java, которая начала писать на .NET Core;
- мониторинг системы, поиск запросов и другие диагностические задачи.
Алексей Лустин. Непрерывная проверка качества кода.ScrumTrek
Я расскажу о нашем двухлетнем опыте использования инженерной практики «Continious Inspection» и платформы SonarQube при организации кросс-языковой разработки в процессе «непрерывной поставки» (CI-CD для языков Java, C#, JavaScript, typeScript и Gherkin) при автоматизированном code-review.
Типовая сборка и деплой продуктов в Positive TechnologiesPositive Hack Days
1. Проблемы в построении CI процессов в компании
2. Структура типовой сборки
3. Пример реализации типовой сборки
4. Плюсы и минусы от использования типовой сборки
Последние несколько лет в продуктовой разработке проблемы масштабирования решаются через переход на микросервисную архитектуру. На эту тему было сказано много про подходы, плюсы и минусы, но мало кто рассматривал эту проблематику со стороны фронтенда.
В ЦИАН мы идем по пути перехода от монолита к микросервисам, в том числе и на фронтенде. Задачи и проблемы, с которыми мы сталкиваемся, очень близки к аналогичным на бэкенде, но в то же время совершенно другие.
В своем докладе я расскажу про архитектуру фронтенда (и так называемого миддленда) в ЦИАН: какие задачи перед нами стояли, что мы решили, где мы находимся сейчас и с какими проблемами мы столкнулись.
Как мы собираем проекты в выделенном окружении в Windows DockerPositive Hack Days
1. Обзор Windows Docker (кратко)
2. Как мы построили систему билда приложений в Docker (Visual Studio\Mongo\Posgresql\etc)
3. Примеры Dockerfile (выложенные на github)
4. Отличия процессов DockerWindows от DockerLinux (Долгий билд, баги, remote-регистр.)
Как развивать библиотеку компонентов, не ломая ее / Артур Удалов (Mail.Ru Group)Ontico
HighLoad++ 2017
Зал «Пекин + Шанхай», 8 ноября, 17:00
Тезисы:
http://www.highload.ru/2017/abstracts/2991.html
Нынче стало модно выделять UI-компоненты в отдельную библиотеку и использовать её в нескольких проектах. Мы в команде почты Mail.ru делаем так же, но столкнулись с проблемой: каждый разработчик, меняя библиотеку под свои нужды, обязательно ломает что-нибудь, что работало у других.
Я расскажу о том, как мы решили эту проблему, и о том, какие инструменты для этого можно использовать. Storybook, BackstopJS, Jest, Webdriver.io, TypeScript - в их числе.
1. Что такое BI. Зачем он нужен.
2. Что такое Qlik View / Sense
3. Способ интеграции. Как это работает.
4. Метрики, KPI, планирование ресурсов команд, ретроспектива релиза продукта, тренды.
5. Подключение внешних источников данных (Excel, БД СКУД, переговорные комнаты).
SECON'2016 Евтухович Иван, Эксплуатация завтрашнего дня: от DevOps к NoOpsSECON
За последние годы у ИТ-сообщества накопился опыт использования систем управления конфигурацией и работой в организации по методологии DevOps. Но растущие вызовы показывают, что и этот подход имеет свои недостатки. Доклад расскажет о том, какие контейнеры бывают и почему они победят, что придет на смену облакам, и какие практики стоит начать внедрять сегодня, чтобы завтра не остаться без работы.
Nival: Как не увлечься погоней за универсализацией компонентDevGAMM Conference
Если оставить программиста одного — он будет делать суперуниверсальное нечто. Какие компоненты было бы действительно полезно сделать универсальными и как понять когда универсализация это пустая трата времени.
www.cmcons.com. Практика и технология внедрения процесса конфигурационного управления и управления изменениями с применением IBM Rational ClearCase и ClearQuest
Экосистема или зоопарк / Федор Щудло (EastBanc Technologies)Ontico
РИТ++ 2017, Frontend Сonf
Зал Мумбаи, 6 июня, 17:00
Тезисы:
http://frontendconf.ru/2017/abstracts/2523.html
Это история о том, как вести параллельную работу над дизайном и frontend нескольких десятков систем, представляющих из себя единую экосистему.
Как от “стихийной” разработки и уймы повторяющегося кода перейти к написанию библиотек для самих себя, сделать своими пользователями своих же разработчиков, а что-то даже выложить в open source. И почему выкладывать в open source важно, и вам тоже следует это делать.
...
Видео: http://www.youtube.com/watch?v=vz0U3jQpHSM
Это обзор опыта применения лучших практик разработки программного обеспечения на разных проектах от госзаказов до видеоконференций в командах от 5 до 50 человек. В докладе будут описаны не только практики, но и то, как они применяются на реальных проектах и какие выгоды они действительно приносят.
Javascript-фреймворки: должен остаться только одинSergey Xek
Рассказ от tech-менеджера о том, как мы в Acronis выбирали фреймворк в условиях, когда любое более-менее важное технологическое решение сразу затрагивает с десяток команд, несколько сотен человек и права «случайно все сломать» нет.
В докладе пойдет речь о том, что производительность фронтенда — это больше про слаженную работу команды, про понятный и масштабируемый код, чем про сухие циферки. Но циферки тоже будут.
1) Какие у нас были проблемы с текущим фреймворком — UI, архитектура, код.
2) Как измеряли, что примерно стоит брать (исследование популярности).
3) Что рассматривали.
4) На пути к демо-проекту, какие были сложности (то, что уперли идею с Typescript, собственный компилятор шаблонов, четыре Flux-фреймворка и все плохи).
5) Два пилотных демо-проекта: цифры.
6) Оценка трудоемкости перехода.
Javascript-фреймворки: должен остаться только один / Аверин Сергей (Acronis)Ontico
Рассказ от tech-менеджера о том, как мы в Acronis выбирали фреймворк в условиях, когда любое более-менее важное технологическое решение сразу затрагивает с десяток команд, несколько сотен человек и права «случайно все сломать» нет.
В докладе пойдет речь о том, что производительность фронтенда — это больше про слаженную работу команды, про понятный и масштабируемый код, чем про сухие циферки. Но циферки тоже будут.
1) Какие у нас были проблемы с текущим фреймворком — UI, архитектура, код.
2) Как измеряли, что примерно стоит брать (исследование популярности).
3) Что рассматривали.
4) На пути к демо-проекту, какие были сложности (то, что уперли идею с Typescript, собственный компилятор шаблонов, четыре Flux-фреймворка и все плохи).
5) Два пилотных демо-проекта: цифры.
6) Оценка трудоемкости перехода.
Разработка ресурсоемких приложений в среде Visual C++Tatyanazaxarova
Статья познакомит разработчиков прикладного программного обеспечения с задачами, которые ставит перед ними массовое внедрение многоядерных 64-битных вычислительных систем, знаменующих революционное увеличение вычислительной мощности, доступное рядовому пользователю. Будут рассмотрены вопросы эффективного использования аппаратных ресурсов для решения повседневных прикладных задач в рамках операционной системы Windows x64.
1С-Битрикс: Управление сайтом. Платформа для создания и управления корпоратив...borovoystudio
Презентация выступления Игоря Шевчика, технического директора Студии Борового, «1С-Битрикс: Управление сайтом Платформа для создания и управления корпоративным веб-сайтом» от 21.08.2013
1С-Битрикс: Управление сайтом. Платформа для создания и управления корпоратив...
презентация.1
1. Проблемы и пути их решения при
командной разработке проектов
Digital-агентство AlterEGO
Иван Машканцев, веб-разработчик
2. Когда пригодятся эти знания?
Вы делаете систему со сложной бизнес-
логикой
Функционал богат на сложные решения
Вы применяете не только стандартные
компоненты
Планируется длительная поддержка и
развитие проекта
3. Зачем работать командно?
Современный сайт — результат труда
нескольких специалистов
Современный сайт — большой функционал,
скрытый от глаз пользователя
Разработка в сжатые сроки
Нет незаменимых людей
4. И в чем проблема?
Нет единого стандарта — программистам
трудно работать с кодом друг друга
Разработка на ФТП — проблема с
коллективной работой с файлами
Невозможность исправить ошибку быстро и
безопасно
Трудность в дальнейшей поддержке
Вносим правки «в базу» вживую
6. А решить-то можно?
Разработка стандартов кодирования
Документирование кода
IDE
VCS
WIKI
Таск-трекер
Миграции
Тестирование
7. Разработка стандартов
кодирования
Согласовать или придумать внутри студии
правила оформления php-кода, отношение к
коротким тэгам, отступам, определению
переменных, методов, классов....
… Или взять готовое!
9. IDE
Использовать обязательно
Индексация структуры проекта — экономит
время
Помогает соблюсти стандарты кодирования
Подсветка кода (а вдруг?)
Подсказки для разработчика
Интеграция с VSC, выгрузка файлов, дебаг
12. Документирование кода
Поможет ориентироваться в проекте
Ускоряет работу разработчика
Написание не занимает много времени
13. Но как упростить работу с API
Битрикс?
Живое описание АПИ
http://www.bxapi.ru/ — веб-версия живого
описания АПИ
Плагин для вашей любимой IDE —
например, BitrixStorm для PhpStorm
BxApiDocs — для Eclipse или для PhpStorm
Сниппеты стандартных компонент Bitrix —
для Eclipse или для PhpStorm
14. Система контроля версий
Имеем историю изменений
Можем работать с одним и тем же файлом
Не боимся ничего менять — в любой момент
мы можем откатиться
Делаем код чище
Полезно даже для одного разработчика
SVN, Git или Mercurial
16. WIKI
Что вообще происходит с проектом?
Какие особенности есть, о чем стоит знать?
Механизм тестирования, узкие места,
критичные вещи
Все доступы — в одном месте
Повторное использование знаний
Легко поделиться
17. Настройки сайта
Храним в WIKI
Выносим изменение стандартных настроек
модулей или сервисов
Члены команды знают, почему изменена та
или иная настройка и не пытаются этого
поменять
18. Таск-трекер
Задачи не теряются
Возможно оценить готовность этапа
Есть история действий над задачей
Удобство обсуждения
Внятное разделение ответственности
Учет потраченного времени
20. Как будем работать?
Обсуждаем задачи и рабочий процесс
Продакшн — непосредственно боевой сайт
Тестовый сайт для показа изменений
Локальная копия сайта у всех
разработчиков
Каждый разработчик имеет свою ветку в
VCS
Одна задача — новая ветка
Каждый разработчик - отдельный
пользователь на сайтах
21. А так можно?
Да!
Битрикс по правилам лицензирования
позволяет иметь сайты, которые «не
смотрят» в интернет, т. е. локальные
Если нужна более сложная схема —
есть NFR ключи
Поддержка Битрикса склонна идти на
встречу
22. Наконец-то начнем
Создаем репозиторий
Формируем .ignore - файл
Делаем первый коммит
Инициируем репозиторий на сервере
его на сервере
Добавляем разработчиков, раздаем
права
23. Что не нужно выносить в
репозиторий?
Резервные копии
Данные кэша
Логи
Пользовательские данные (загружаемые
файлы, картинки и.т.п)
Конфиг — подключение к БД
Все прочие файлы, не имеющие отношения
к коду - *.txt, *.xml и.т.п.
24. Как обновлять систему?
С большой осторожностью — что-то
может отвалиться
Делать бэкапы
Обновлять тестовую площадку,
смотреть, затем переносить изменения
всюду
27. И что делать?
Смириться
Собирать изменения структуры, а
затем рассылать изменения всем
участникам
Назначить ответственного «повелителя
проекта», который будет проводить все
манипуляции с БД
Написать механизм миграции самому
или найти готовый:)
28. Зачем выбирать механизм
миграций?
Это удобно
Экономит время разработчика
Возможность «откатиться» обратно
Помогает участникам вносить
изменения, не боясь что-то поломать
Снижает риск ошибок
29. Но помни!
Любое внесение критичных изменений
в структуру базы данных боевого сайта
должно сопровождаться созданием
бэкапа
Трата 10 минут — потенциальная
экономия нескольких часов на
восстановление данных и потерянного
доверия клиента
30. Тестирование
Ручное тестирование — хорошо, но
мало
Сложные места хорошо тестировать
автоматизированно
Стандартный инструмент — Selenium
31. Что лучше тестировать
автоматически?
Длинные сценарии
Многовариантное заполнение форм
Критичный функционал, ошибка в
котором недопустима
32. Все получилось! Как ускорить
работу над следующим
проектом?
Продумай перечень стандартных задач
Заведи общую базу знаний
Заведи общую базу кода со стандартными
решениями для использования в будущих
проектах
Вершина дао — свой модуль Marketplace —
помощь сообществу и удобство доступа
33. Спасибо за внимание!
Остались вопросы?
Email: depechemodefan@alterego.biz.ua
Skype: depechemode_fan1