В процессе работы над кодом мы можем допускать ошибки, менять своё мнение, пробовать различные гипотезы. Работая над большими проектами, мы не всегда можем контролировать весь наш код и уследить за его развитием — для этого нам нужны системы контроля версий, о которых и рассказано в данной лекции.
В процессе работы над кодом мы можем допускать ошибки, менять своё мнение, пробовать различные гипотезы. Работая над большими проектами, мы не всегда можем контролировать весь наш код и уследить за его развитием — для этого нам нужны системы контроля версий, о которых и рассказано в данной лекции.
"Electron. How the most modern framework works" Oleksii HolubievFwdays
Have you ever wondered why all the top companies are developing their desktop versions of applications? Spotify, Teams, Skype, WhatsApp, VS Code, etc. All these modern programs use one framework and that is Electron. But why? What's in it that WPF or JavaFX doesn't have? A small spoiler - JavaScript. But this is not the only thing.
So in this speech we:
1. Let's remember the history of origin and understand who really maintains this product
2. Let's look under the hood and see how it really works
3. Let's talk about why VS Code has so many processes
4. Let's deal with the main killer features
5. Let's evaluate the framework cons
6. Let's meet the community
This topic is suitable for everyone who is already familiar with JS and is interested in desktop applications.
John Sullivan from DMC presented on WinCC Open Architecture (OA) and how it can be applied to oil and gas projects. Key features of WinCC OA include its distributed architecture, scalability, ability to auto-generate configurations for new sites, remote monitoring capabilities including GIS viewing, integrated data collection, custom configuration tools, support for multi-user development, and ultralight web and mobile clients. Case studies were presented on how WinCC OA has been used for distributed generator management and how its features translate well to applications in upstream, midstream, and downstream oil and gas.
Презентация к докладу - работа с потоками в .net
* Основе работы с потоками
* Средства блокирующей синхронизации
* Неблокирующая синхронизация
* Асинхронная модель программирования
* Пул потоков
* Класс BackGroundWorker
* Задачи
* Модель поставщик-потребитель
* Блокировка с двойной проверкой
Типовая сборка и деплой продуктов в Positive TechnologiesPositive Hack Days
1. Проблемы в построении CI процессов в компании
2. Структура типовой сборки
3. Пример реализации типовой сборки
4. Плюсы и минусы от использования типовой сборки
"Electron. How the most modern framework works" Oleksii HolubievFwdays
Have you ever wondered why all the top companies are developing their desktop versions of applications? Spotify, Teams, Skype, WhatsApp, VS Code, etc. All these modern programs use one framework and that is Electron. But why? What's in it that WPF or JavaFX doesn't have? A small spoiler - JavaScript. But this is not the only thing.
So in this speech we:
1. Let's remember the history of origin and understand who really maintains this product
2. Let's look under the hood and see how it really works
3. Let's talk about why VS Code has so many processes
4. Let's deal with the main killer features
5. Let's evaluate the framework cons
6. Let's meet the community
This topic is suitable for everyone who is already familiar with JS and is interested in desktop applications.
John Sullivan from DMC presented on WinCC Open Architecture (OA) and how it can be applied to oil and gas projects. Key features of WinCC OA include its distributed architecture, scalability, ability to auto-generate configurations for new sites, remote monitoring capabilities including GIS viewing, integrated data collection, custom configuration tools, support for multi-user development, and ultralight web and mobile clients. Case studies were presented on how WinCC OA has been used for distributed generator management and how its features translate well to applications in upstream, midstream, and downstream oil and gas.
Презентация к докладу - работа с потоками в .net
* Основе работы с потоками
* Средства блокирующей синхронизации
* Неблокирующая синхронизация
* Асинхронная модель программирования
* Пул потоков
* Класс BackGroundWorker
* Задачи
* Модель поставщик-потребитель
* Блокировка с двойной проверкой
Типовая сборка и деплой продуктов в Positive TechnologiesPositive Hack Days
1. Проблемы в построении CI процессов в компании
2. Структура типовой сборки
3. Пример реализации типовой сборки
4. Плюсы и минусы от использования типовой сборки
DevOps и системы управления конфигурацией. SECON 2015Ivan Evtukhovich
Что такое DevOps, зачем он нужен, что включается в это понятие. Что такое Continuous Delivery, системы управления конфигурацией, сравнение Chef и Ansible.
Database automated deployment and versioning ...for smart peopleAlexey Diyan
There are a lot of tools which allows us automate deployment process for databases.
Those tools could be divided into two big groups:
#1. Tools that uses general purpose language (Ruby, C#, Java, Python) for writing migration scripts.
#2. Tools that uses SQL language for writing migration scripts.
First group of tools gives for developers productive gain but leaves database administrator completely out of development process which is really bad idea.
Second set of tools requires a lot of additional work - every single change should be written as separate database patch. This slows down our work => make it more expensive.
Oblivious solution is to create the third set of tools... or at least just one which would be friendly to both DBAs and DEVs.
What about auditors? They should be happy too!
Легкий клиент Docsvision позволяет выполнять ключевые сценарии работы пользователя Docsvision без установки какого-либо программного обеспечения на клиентское рабочее место – достаточно любого интернет-браузера: Microsoft Internet Explorer, Google Chrome, Apple Safari. Доступ возможен с компьютера или мобильного устройства (планшета, смартфона) под управлением любой операционной системы, Microsoft Windows (включая Windows RT), Linux, Mac OS X.
Netwrix sql server change reporter обзор программы для аудита sql serverNetwrix Россия/СНГ
http://www.netwrix.com/ru/sql_server_audit_change_reporter_freeware.html Скачать программу
В презентации рассматриваются возможности решения NetWrix для аудита изменений конфигурации и содержимого баз данных SQL Server. Подробно рассмотрено то, как настроить программу. Продемонстрирована работа базовой (бесплатной) версии программы.
4. Определение VCS
Система управления версиями (от англ. Version Control System, VCS или Revision
Control System) — программное обеспечение для облегчения работы с
изменяющейся информацией. Система управления версиями позволяет хранить
несколько версий одного и того же документа, при необходимости возвращаться
к более ранним версиям, определять, кто и когда сделал то или иное
изменение, и многое другое.
5. Какие задачи решает VCS
• Архивация и восстановление – ведется история изменения файлов с
возможностью обновления до указанного состояния
• Ведение истории – при каждом изменении пользователи вносят комментарии,
где описывают для чего были внесены изменения
• Создание веток (альтернативные реализации) – VCS позволяет создавать разные
варианты одного документа, т. н. ветки, с общей историей изменений до точки
ветвления и с разными — после неё.
12. Работа с ветками
Делать
мелкие
исправления
в
проекте
можно
путём
непосредственной правки рабочей копии и последующей фиксацией
изменений прямо в главной ветви (стволе) на сервере.
Однако при выполнении сколько-нибудь значительных по объёму
работ такой порядок становится неудобным: отсутствие фиксации
промежуточных изменений на сервере не позволяет работать над
чем-либо в групповом режиме, кроме того, повышается риск потери
изменений при локальных авариях и теряется возможность анализа и
возврата к предыдущим вариантам кода в пределах данной работы.
Поэтому для таких изменений обычной практикой является создание
ветвей (branch), то есть «отпочковывания» от ствола в какой-то версии
нового варианта проекта или его части, разработка в котором ведётся
параллельно с изменениями в основной версии. Ветвь создаётся
специальной командой.
21. Ежедневный цикл работы с VCS
• Обновление рабочей копии
По мере внесения изменений в основную версию проекта рабочая копия на компьютере
разработчика стареет: расхождение её с основной версией проекта увеличивается. Это
повышает риск возникновения конфликтных изменений. Поэтому удобно поддерживать
рабочую копию в состоянии, максимально близком к текущей основной версии, для чего
разработчик выполняет операцию обновления рабочей копии насколько возможно часто.
• Модификация проекта
Разработчик модифицирует проект, изменяя входящие в него файлы в рабочей копии в
соответствии с проектным заданием. Эта работа производится локально и не требует
обращений к серверу VCS.
• Фиксация изменений в локальном репозитории
Завершив очередной этап работы над заданием, разработчик фиксирует (commit) свои
изменения в локальном репозитории.
• Отправка изменений в центральный репозиторий
Для того чтобы выполненные изменения стали доступны другим разработчикам необходимо
произвести синхронизацию локального и центрального репозитория – отправить изменения из
локального репозитория в центральный.
22. Подготовка к практике
• Установлен Tortoise Hg
• Создана переменная среды «hgencoding=utf-8»
• Установлена WinCC OA
• Установлен браузер Chrome
• Установлен редактор Sublime
23. Практика
Командная разработка приложения «Калькулятор»
Задачи:
• Клонировать репозиторий
• Добавить в проект файл для реализации функции
• Sum(a,b); Mult(a,b); Sub(a,b); Div(a,b); Power3(a); Power4(a);
• Получить изменения из центрального репозитория
• Обновить локальный репозиторий до последней
версии
• Залить свои изменения в центральны репозиторий
• Моделирование и разрешение конфликтов
• Создание ветки, слияние веток
24. Регламент работы с VCS
• Выполняем частые commit
• Каждый commit сопровождаем подробным
описанием изменений
• После любого commit код в главной ветке должен
оставаться в рабочем состояние
• При необходимости длительной разработки нового
функционала – «уходим в ветку»
25. Материалы
Статьи Джоэла Спольски
• Основы Mercurial - http://habrahabr.ru/post/108658/
• Привыкаем работать в команде - http://habrahabr.ru/post/108904/
• Исправляем ошибки - http://habrahabr.ru/post/109074/
• Процесс слияния - http://habrahabr.ru/blogs/development_tools/109203/
• Архитектура репозиториев - http://habrahabr.ru/post/109428/
Системы контроля версий, статьи команды Yandex
• http://tech.yandex.ru/education/shri/simf-2013/talks/671/
26. Спасибо за внимание
ГК СМС-Автоматизация
Презентацию подготовил Трешников П.В.
email: treshnikov@gmail.com