SlideShare a Scribd company logo
1 of 38
Использование Git и GitHub для
создания учебного контента и
ведения проектов
Александр Пупена
АКТСУ НУХТ
pupena_san@ukr.net
www.i4u.in.ua
https://www.youtube.com/channel/UCc6VjvU3rous2W1he7BCKkg
Предисловие
ІТ-шные АСУТП-шники делятся опытом
https://www.tda.in.ua/18-4-itфікація-асутп-нухт
ТДА 18-4 ITфікація АСУТП
DevOps Git
Не пошло…
Но почему?
Git, DevOps … в АСУТП
Может по этому: https://youtu.be/CAYEMAJI8wk
в это время…
люди пишут доки (книги,
методички, статьи…)
Здесь мог бы быть конец
истории, но…
и у меня с 2020 г стартовал
новый курс…
- пособия
- наполнение учебных курсов (любые материалы)
- статьи
- любой проект (схемы, чертежи, текстовая документация)
Контент (образовательный,
проектный…) это:
- «это последняя версия?» (при транспорте между ПК)
- «а что я там менял?»
- «а что он/она там менял?»
- «не удалил ли случайно я/он/она что-то нужное?»
Проблемы при разработке контента:
контроль версионности
- «как это все объединить?»
- «стой не вноси правки в тот файл, я там кое-что правлю!»
- распределение работ над одним проектом (пособием,
статьей …)
- контроль и управление исполнением:
- что сделал, когда, зачем
- «эти правки вносим, а это – переделать»
Проблемы при разработке контента:
совместная разработка
- как это дать студентам (клиенту) (ВЕБ-доступ, гугл-диск,
почта)?
- как это показать всем кому интересно для обсуждения?
- как вовлечь всех желающих в общий процесс создания?
Проблемы при разработке контента:
публичный доступ
- один документ, но много потребителей: Word, PDF,
Moodle (еще и несколько курсов), гугл-диск …
- это все при изменении полностью повторяется!
- как достали эти «поехавшие» таблицы, рисунки…
- «откуда взялся этот шрифт? зачем мне вообще менять
шрифты, я кого-то просил?»
- «ужас! пропустил номер одного рисунка, все по разделу
переделывать!»
Проблемы при разработке контента:
преобразование
Решения?
Многие из этих вопросов решаются в типичных
редакторах (Word, Excel) и сервисах (Google Documents,
Google Drive, MS Office 365 …), но как решить их все?
Git – система управления версиями, разработана прежде всего для
программных (software) проектов.
• управляет хранилищем (репозиторием)
• отслеживает изменения в рабочей директории
• по мере необходимости фиксации версии делается оттиск
(commit)
Git – управление версиями
единственный раз,
когда я сюда
заглядывал, когда
делал скрин для этой
ппт
Git клиенты (графические)
https://git-scm.com/downloads/guis
TortoiseGit
Git (отслеживание изменений)
• для текстовых файлов показывает не только какие файлы
изменились, но и что именно
• по этому важно контент делать в текстовом файле
Git (история версий)
• можно просмотреть файлы (изменения) любого оттиска
• вернуться на нужную версию
• дает возможность делать альтернативные версии ветви
(branch)
• возможность распределенной обработки
• …..
Git (еще много чего)
• DOC и DOCX не текстовые файлы  отслеживать что изменилось
через GIT нельзя (хотя есть решения)
Только текст
шрифт и текст
а как же форматирование текста,
таблицы, заголовки …?
Только текст?
Немного философии
текстовый контент - это
закодированные данные
• альтернатива формату Word – формат MarkDown
• MarkDown – больше смысла, меньше формата!
• легко конвертируется в любой другой формат в т.ч. HTML, DOCX,
PDF, файлы электронных книг и др.
• существует бесплатные редакторы, например Typora (бесплатный в
бета-версии)
• многими редакторами сайтов автоматически конвертирется в HTML
Только текст - > MarkDown (MD)
Typora (Редактор MD)
нормальный режим
режим «исходника»
https://typora.io/
Сейчас в бета-режиме - басплантый
Typora MD преобразование
(экспорт)
MD преобразование (pandoc)
текст - это данные!
MD преобразование (пример docx)
+
=
DOCX
MD
DOCX
MD преобразование (продвинутое)
Извините, немного кодинга
удалить
фильтр конвертации
скрипт конвертации в docx (с фильтром)
удалить
Совместная разработка с использованием
распределенной системы
• серверное (-ные) хранилище(а)
• клиентские локальные копии
• синхронизация хранилищ:
• загрузка (push)
• выгрузка (pull)
• объединение ветвей (merge)
Совместная разработка: ветви
• параллельная работа над единым проектом – ветви (branch)
• при необходимости ветви объединяются (merge) – изменение с
одной ветви переносятся в другую
В наши проектах ветви закреплены
за каждым участником
GitHub
• GitHub – самый большой хостинг для хранилищ (репозиториев) Git, и
является центром совместной разработки между миллионами
разработчиков и проектов
• публичные и приватные репозитории
• все возможности для бесплатного использования открытых хранилищ
• закрытые хранилища с ограничениями (платные без ограничений)
GitHub – Pull Request
• соединение ветвей через Pull Request
• можно настроить обязательный пересмотр и подтверждение
перед объединением
Управление проектом - Канбан
https://trello.com/
• доски (Desc)
• списки (колонки, column)
• карточки (Cards)
• перемещение карточки (задания)
между колонками за результатами
исполнения
• контроль времени, обсуждения в
границах карточки
GitHub Проекты
• за методикой канбан
• автоматизированные (можно задать
события перемещения с колонки в
колонку)
• преобразовываются в обсуждения
(Issues)
GitHub Обсуждения (Issues)
- для обсуждения какой-либо
деятельности с репозиторием
- форматированный текст MD
- контроль времени
- метки тем
- связь с запросами на объединение
- фиксация наиболее горящих
GitHub Pages
- статические ВЕБ-страницы, формующиеся автоматически за
содержанием репозитория, например
- репозиорий - https://github.com/romamirkevich/PLCBeginner
- веб-страница - https://romamirkevich.github.io/PLCBeginner/
- изменения в репозитория приводят к изменению веб-страниц
- только для публичных репозиториев
GitHub Actions
- дает возможность использовать скрипты для автоматизации
преобразования контента и его запуска
MD -> преобразование PDF, DOCX, PPT -> заливка на Gogle Drive …
запускать всё что кодится по любому событию в репозитории GitHub
GitHub Actions – Hello World
GitHub – не только репозиторий
• обсуждения (типа форума)
• управление проектами:
• распределение и управление заданиями (Канбан)
• контроль времени выполнения (Milestones)
• приоритетность (pin, label)
• автоматизация управления с использованием различных
событий
• автоматическое развертывание – последовательное
преобразование контента и запуск на ресурсах
• ВЕБ-страницы
• статистика
• …
Мечты, мечты…
электронный документооборот в организации:
• общий репозиторий организации, например для института рабочие
программы, методички ….
• прохождение утверждение через pull request + approve
• исходники всегда на MD, преобразование в любой вид контента
(например в PDF)
• изменение в любой момент времени
• можно создать адаптивный клиент Git+GitHub с дружественным
интерфейсом
- не только для кода
- открытые и закрытые хранилища
- отслеживание версий (кто, когда и какие изменения вносили) за всю
историю проекта
- управление версиями документов: можно откатиться на какую-либо
версию
- совместная (одновременная) работа в одном проэкте
- управление проектной деятельностью с использованием Канбан
- автоматизация деятельности касательно преобрахования одних
документов в другой формат (например в DOCX, PDF, заливка на
Dropbox, преобразование у ВЕБ-страницы, Moodle и т.п.);
- автоматическое создание собственных Веб-страниц за содержанием
репозитория
- …
Итоги
Вопросы?
https://pupenasan.github.io/ProgIngContrSystems/

More Related Content

What's hot

GitHub Actions with Node.js
GitHub Actions with Node.jsGitHub Actions with Node.js
GitHub Actions with Node.jsStefan Stölzle
 
Flink SQL & TableAPI in Large Scale Production at Alibaba
Flink SQL & TableAPI in Large Scale Production at AlibabaFlink SQL & TableAPI in Large Scale Production at Alibaba
Flink SQL & TableAPI in Large Scale Production at AlibabaDataWorks Summit
 
Basic principles of Git
Basic principles of GitBasic principles of Git
Basic principles of Gitphuongvohuy
 
O que há de incrível sobre o Flutter
O que há de incrível sobre o FlutterO que há de incrível sobre o Flutter
O que há de incrível sobre o FlutterWiliam Buzatto
 
Top 5 Mistakes When Writing Spark Applications by Mark Grover and Ted Malaska
Top 5 Mistakes When Writing Spark Applications by Mark Grover and Ted MalaskaTop 5 Mistakes When Writing Spark Applications by Mark Grover and Ted Malaska
Top 5 Mistakes When Writing Spark Applications by Mark Grover and Ted MalaskaSpark Summit
 
Introducing GitLab (September 2018)
Introducing GitLab (September 2018)Introducing GitLab (September 2018)
Introducing GitLab (September 2018)Noa Harel
 
Introduction to git hub
Introduction to git hubIntroduction to git hub
Introduction to git hubNaveen Pandey
 
Continuous Integration/Deployment with Gitlab CI
Continuous Integration/Deployment with Gitlab CIContinuous Integration/Deployment with Gitlab CI
Continuous Integration/Deployment with Gitlab CIDavid Hahn
 
Using GitHub Actions to Deploy your Workloads to Azure
Using GitHub Actions to Deploy your Workloads to AzureUsing GitHub Actions to Deploy your Workloads to Azure
Using GitHub Actions to Deploy your Workloads to AzureKasun Kodagoda
 
Git and Github slides.pdf
Git and Github slides.pdfGit and Github slides.pdf
Git and Github slides.pdfTilton2
 
Impala: Real-time Queries in Hadoop
Impala: Real-time Queries in HadoopImpala: Real-time Queries in Hadoop
Impala: Real-time Queries in HadoopCloudera, Inc.
 
Deep Dive into Project Tungsten: Bringing Spark Closer to Bare Metal-(Josh Ro...
Deep Dive into Project Tungsten: Bringing Spark Closer to Bare Metal-(Josh Ro...Deep Dive into Project Tungsten: Bringing Spark Closer to Bare Metal-(Josh Ro...
Deep Dive into Project Tungsten: Bringing Spark Closer to Bare Metal-(Josh Ro...Spark Summit
 

What's hot (20)

Git training v10
Git training v10Git training v10
Git training v10
 
GitHub Actions with Node.js
GitHub Actions with Node.jsGitHub Actions with Node.js
GitHub Actions with Node.js
 
Introduction to Git
Introduction to GitIntroduction to Git
Introduction to Git
 
A prentation on github
A prentation on githubA prentation on github
A prentation on github
 
Flink SQL & TableAPI in Large Scale Production at Alibaba
Flink SQL & TableAPI in Large Scale Production at AlibabaFlink SQL & TableAPI in Large Scale Production at Alibaba
Flink SQL & TableAPI in Large Scale Production at Alibaba
 
Git e GitHub
Git e GitHubGit e GitHub
Git e GitHub
 
Basic principles of Git
Basic principles of GitBasic principles of Git
Basic principles of Git
 
O que há de incrível sobre o Flutter
O que há de incrível sobre o FlutterO que há de incrível sobre o Flutter
O que há de incrível sobre o Flutter
 
Top 5 Mistakes When Writing Spark Applications by Mark Grover and Ted Malaska
Top 5 Mistakes When Writing Spark Applications by Mark Grover and Ted MalaskaTop 5 Mistakes When Writing Spark Applications by Mark Grover and Ted Malaska
Top 5 Mistakes When Writing Spark Applications by Mark Grover and Ted Malaska
 
Introducing GitLab (September 2018)
Introducing GitLab (September 2018)Introducing GitLab (September 2018)
Introducing GitLab (September 2018)
 
GitHub Basics - Derek Bable
GitHub Basics - Derek BableGitHub Basics - Derek Bable
GitHub Basics - Derek Bable
 
Git & GitHub WorkShop
Git & GitHub WorkShopGit & GitHub WorkShop
Git & GitHub WorkShop
 
Introduction to git hub
Introduction to git hubIntroduction to git hub
Introduction to git hub
 
Continuous Integration/Deployment with Gitlab CI
Continuous Integration/Deployment with Gitlab CIContinuous Integration/Deployment with Gitlab CI
Continuous Integration/Deployment with Gitlab CI
 
Git Mastery
Git MasteryGit Mastery
Git Mastery
 
Using GitHub Actions to Deploy your Workloads to Azure
Using GitHub Actions to Deploy your Workloads to AzureUsing GitHub Actions to Deploy your Workloads to Azure
Using GitHub Actions to Deploy your Workloads to Azure
 
Github
GithubGithub
Github
 
Git and Github slides.pdf
Git and Github slides.pdfGit and Github slides.pdf
Git and Github slides.pdf
 
Impala: Real-time Queries in Hadoop
Impala: Real-time Queries in HadoopImpala: Real-time Queries in Hadoop
Impala: Real-time Queries in Hadoop
 
Deep Dive into Project Tungsten: Bringing Spark Closer to Bare Metal-(Josh Ro...
Deep Dive into Project Tungsten: Bringing Spark Closer to Bare Metal-(Josh Ro...Deep Dive into Project Tungsten: Bringing Spark Closer to Bare Metal-(Josh Ro...
Deep Dive into Project Tungsten: Bringing Spark Closer to Bare Metal-(Josh Ro...
 

Similar to Git и GitHub для создания учебного контента

Scino: DVCS на примере Git
Scino: DVCS на примере GitScino: DVCS на примере Git
Scino: DVCS на примере GitSCINO
 
Основы работы с Git
Основы работы с GitОсновы работы с Git
Основы работы с GitDenis Latushkin
 
что такое Git и как с ним бороться
что такое Git и как с ним боротьсячто такое Git и как с ним бороться
что такое Git и как с ним боротьсяВладимир Кожаев
 
Презентация Git-flow (на русском)
Презентация Git-flow (на русском)Презентация Git-flow (на русском)
Презентация Git-flow (на русском)Sergey Chudakov
 
Новый дом для репозитория или история переезда на Git lab
Новый дом для репозитория или история переезда на Git labНовый дом для репозитория или история переезда на Git lab
Новый дом для репозитория или история переезда на Git labitconnect2016
 
Controlul versiunilor
Controlul versiunilor Controlul versiunilor
Controlul versiunilor Dmitrii Stoian
 
Git, как инструмент управления веб-контентом
Git, как инструмент управления веб-контентомGit, как инструмент управления веб-контентом
Git, как инструмент управления веб-контентомAlex Musayev
 
Фронтенд для миллионов (Орёл)
Фронтенд для миллионов (Орёл)Фронтенд для миллионов (Орёл)
Фронтенд для миллионов (Орёл)Anastasia Goryacheva
 
Создаем Drupal дистрибутив: от идеи до сопровождения
Создаем Drupal дистрибутив: от идеи до сопровожденияСоздаем Drupal дистрибутив: от идеи до сопровождения
Создаем Drupal дистрибутив: от идеи до сопровожденияOvadiah Myrgorod
 
Изучение и редактирование кода
Изучение и редактирование кода Изучение и редактирование кода
Изучение и редактирование кода Yandex
 
Развитие сообщества Open DevOps Community
Развитие сообщества Open DevOps CommunityРазвитие сообщества Open DevOps Community
Развитие сообщества Open DevOps CommunityPositive Hack Days
 
Советы для начинающих разработчиков PostgreSQL
Советы для начинающих разработчиков PostgreSQL Советы для начинающих разработчиков PostgreSQL
Советы для начинающих разработчиков PostgreSQL Anastasia Lubennikova
 
инструменты веб разработчика
инструменты веб разработчикаинструменты веб разработчика
инструменты веб разработчикаSoftline
 
Юлия Писаревская - В поисках эффективности: Slack и BitBucket
Юлия Писаревская - В поисках эффективности: Slack и BitBucketЮлия Писаревская - В поисках эффективности: Slack и BitBucket
Юлия Писаревская - В поисках эффективности: Slack и BitBucketTatyana Bragina
 
"В поисках эффективности: Slack и BitBucket", Юлия Писаревская, GoodSellUs
"В поисках эффективности: Slack и BitBucket", Юлия Писаревская, GoodSellUs"В поисках эффективности: Slack и BitBucket", Юлия Писаревская, GoodSellUs
"В поисках эффективности: Slack и BitBucket", Юлия Писаревская, GoodSellUsDataArt
 
Проблемы и пути их решения при командной разработке проектов
Проблемы и пути их решения при командной разработке проектовПроблемы и пути их решения при командной разработке проектов
Проблемы и пути их решения при командной разработке проектовАгентство AlterEGO
 

Similar to Git и GitHub для создания учебного контента (20)

Scino: DVCS на примере Git
Scino: DVCS на примере GitScino: DVCS на примере Git
Scino: DVCS на примере Git
 
Git presentation
Git presentationGit presentation
Git presentation
 
Основы работы с Git
Основы работы с GitОсновы работы с Git
Основы работы с Git
 
Git for you
Git for youGit for you
Git for you
 
что такое Git и как с ним бороться
что такое Git и как с ним боротьсячто такое Git и как с ним бороться
что такое Git и как с ним бороться
 
Gitlab devconf
Gitlab devconfGitlab devconf
Gitlab devconf
 
Презентация Git-flow (на русском)
Презентация Git-flow (на русском)Презентация Git-flow (на русском)
Презентация Git-flow (на русском)
 
Новый дом для репозитория или история переезда на Git lab
Новый дом для репозитория или история переезда на Git labНовый дом для репозитория или история переезда на Git lab
Новый дом для репозитория или история переезда на Git lab
 
Controlul versiunilor
Controlul versiunilor Controlul versiunilor
Controlul versiunilor
 
Git, как инструмент управления веб-контентом
Git, как инструмент управления веб-контентомGit, как инструмент управления веб-контентом
Git, как инструмент управления веб-контентом
 
Фронтенд для миллионов (Орёл)
Фронтенд для миллионов (Орёл)Фронтенд для миллионов (Орёл)
Фронтенд для миллионов (Орёл)
 
Создаем Drupal дистрибутив: от идеи до сопровождения
Создаем Drupal дистрибутив: от идеи до сопровожденияСоздаем Drupal дистрибутив: от идеи до сопровождения
Создаем Drupal дистрибутив: от идеи до сопровождения
 
Изучение и редактирование кода
Изучение и редактирование кода Изучение и редактирование кода
Изучение и редактирование кода
 
Развитие сообщества Open DevOps Community
Развитие сообщества Open DevOps CommunityРазвитие сообщества Open DevOps Community
Развитие сообщества Open DevOps Community
 
GitFlow_MOEX
GitFlow_MOEXGitFlow_MOEX
GitFlow_MOEX
 
Советы для начинающих разработчиков PostgreSQL
Советы для начинающих разработчиков PostgreSQL Советы для начинающих разработчиков PostgreSQL
Советы для начинающих разработчиков PostgreSQL
 
инструменты веб разработчика
инструменты веб разработчикаинструменты веб разработчика
инструменты веб разработчика
 
Юлия Писаревская - В поисках эффективности: Slack и BitBucket
Юлия Писаревская - В поисках эффективности: Slack и BitBucketЮлия Писаревская - В поисках эффективности: Slack и BitBucket
Юлия Писаревская - В поисках эффективности: Slack и BitBucket
 
"В поисках эффективности: Slack и BitBucket", Юлия Писаревская, GoodSellUs
"В поисках эффективности: Slack и BitBucket", Юлия Писаревская, GoodSellUs"В поисках эффективности: Slack и BitBucket", Юлия Писаревская, GoodSellUs
"В поисках эффективности: Slack и BitBucket", Юлия Писаревская, GoodSellUs
 
Проблемы и пути их решения при командной разработке проектов
Проблемы и пути их решения при командной разработке проектовПроблемы и пути их решения при командной разработке проектов
Проблемы и пути их решения при командной разработке проектов
 

More from Пупена Александр

Розроблення підсистеми трендів
Розроблення підсистеми трендівРозроблення підсистеми трендів
Розроблення підсистеми трендівПупена Александр
 
9 Приклади підсистеми тривожної сигналізації в SCADA Citect і SCADA zenon
9 Приклади підсистеми тривожної сигналізації в SCADA Citect і SCADA zenon9 Приклади підсистеми тривожної сигналізації в SCADA Citect і SCADA zenon
9 Приклади підсистеми тривожної сигналізації в SCADA Citect і SCADA zenonПупена Александр
 
8 Розробка підсистеми тривожної сигналізації
8 Розробка підсистеми тривожної сигналізації8 Розробка підсистеми тривожної сигналізації
8 Розробка підсистеми тривожної сигналізаціїПупена Александр
 
Анімовані компоненти та навігація
Анімовані компоненти та навігаціяАнімовані компоненти та навігація
Анімовані компоненти та навігаціяПупена Александр
 
Розроблення дисплеїв та анімованих елементів
Розроблення дисплеїв та анімованих елементівРозроблення дисплеїв та анімованих елементів
Розроблення дисплеїв та анімованих елементівПупена Александр
 
5 Підсистема введення/виведення. OPC
5 Підсистема введення/виведення. OPC5 Підсистема введення/виведення. OPC
5 Підсистема введення/виведення. OPCПупена Александр
 
Підсистема введення/виведення SCADA/HMI. Modbus
Підсистема введення/виведення SCADA/HMI. ModbusПідсистема введення/виведення SCADA/HMI. Modbus
Підсистема введення/виведення SCADA/HMI. ModbusПупена Александр
 
Підсистема керування збором та обробкою даних в реальному часі
Підсистема керування збором та обробкою даних в реальному часіПідсистема керування збором та обробкою даних в реальному часі
Підсистема керування збором та обробкою даних в реальному часіПупена Александр
 
Загальні принципи розроблення АРМ оператора на базі SCADA/HMI
Загальні принципи розроблення АРМ оператора на базі SCADA/HMIЗагальні принципи розроблення АРМ оператора на базі SCADA/HMI
Загальні принципи розроблення АРМ оператора на базі SCADA/HMIПупена Александр
 
2_3 Функції графічного людино-машинного інтерфейсу: високоефективний ЛМІ
2_3 Функції графічного людино-машинного інтерфейсу: високоефективний ЛМІ2_3 Функції графічного людино-машинного інтерфейсу: високоефективний ЛМІ
2_3 Функції графічного людино-машинного інтерфейсу: високоефективний ЛМІПупена Александр
 
2.1. Функції графічного людино-машинного інтерфейсу
2.1. Функції графічного людино-машинного інтерфейсу2.1. Функції графічного людино-машинного інтерфейсу
2.1. Функції графічного людино-машинного інтерфейсуПупена Александр
 
Мастер-класс: отправка данных с ПЛК в Google Sheet с использованием Node-RED
Мастер-класс: отправка данных с ПЛК в Google Sheet с использованием Node-REDМастер-класс: отправка данных с ПЛК в Google Sheet с использованием Node-RED
Мастер-класс: отправка данных с ПЛК в Google Sheet с использованием Node-REDПупена Александр
 
Про курс «Технологии Индустрии 4.0»
Про курс «Технологии Индустрии 4.0» Про курс «Технологии Индустрии 4.0»
Про курс «Технологии Индустрии 4.0» Пупена Александр
 
Короткий опис лабораторного практикуму по MOM
Короткий опис лабораторного практикуму по MOMКороткий опис лабораторного практикуму по MOM
Короткий опис лабораторного практикуму по MOMПупена Александр
 

More from Пупена Александр (20)

Node-RED довідник
Node-RED довідникNode-RED довідник
Node-RED довідник
 
Інші підсистеми
Інші підсистемиІнші підсистеми
Інші підсистеми
 
11 Підсистеми захисту
11 Підсистеми захисту11 Підсистеми захисту
11 Підсистеми захисту
 
Розроблення підсистеми трендів
Розроблення підсистеми трендівРозроблення підсистеми трендів
Розроблення підсистеми трендів
 
9 Приклади підсистеми тривожної сигналізації в SCADA Citect і SCADA zenon
9 Приклади підсистеми тривожної сигналізації в SCADA Citect і SCADA zenon9 Приклади підсистеми тривожної сигналізації в SCADA Citect і SCADA zenon
9 Приклади підсистеми тривожної сигналізації в SCADA Citect і SCADA zenon
 
8 Розробка підсистеми тривожної сигналізації
8 Розробка підсистеми тривожної сигналізації8 Розробка підсистеми тривожної сигналізації
8 Розробка підсистеми тривожної сигналізації
 
Анімовані компоненти та навігація
Анімовані компоненти та навігаціяАнімовані компоненти та навігація
Анімовані компоненти та навігація
 
Розроблення дисплеїв та анімованих елементів
Розроблення дисплеїв та анімованих елементівРозроблення дисплеїв та анімованих елементів
Розроблення дисплеїв та анімованих елементів
 
5 Підсистема введення/виведення. OPC
5 Підсистема введення/виведення. OPC5 Підсистема введення/виведення. OPC
5 Підсистема введення/виведення. OPC
 
Підсистема введення/виведення SCADA/HMI. Modbus
Підсистема введення/виведення SCADA/HMI. ModbusПідсистема введення/виведення SCADA/HMI. Modbus
Підсистема введення/виведення SCADA/HMI. Modbus
 
Підсистема керування збором та обробкою даних в реальному часі
Підсистема керування збором та обробкою даних в реальному часіПідсистема керування збором та обробкою даних в реальному часі
Підсистема керування збором та обробкою даних в реальному часі
 
Загальні принципи розроблення АРМ оператора на базі SCADA/HMI
Загальні принципи розроблення АРМ оператора на базі SCADA/HMIЗагальні принципи розроблення АРМ оператора на базі SCADA/HMI
Загальні принципи розроблення АРМ оператора на базі SCADA/HMI
 
2_3 Функції графічного людино-машинного інтерфейсу: високоефективний ЛМІ
2_3 Функції графічного людино-машинного інтерфейсу: високоефективний ЛМІ2_3 Функції графічного людино-машинного інтерфейсу: високоефективний ЛМІ
2_3 Функції графічного людино-машинного інтерфейсу: високоефективний ЛМІ
 
2 2 Інші функції SCADA/HMI
2 2 Інші функції SCADA/HMI2 2 Інші функції SCADA/HMI
2 2 Інші функції SCADA/HMI
 
2.1. Функції графічного людино-машинного інтерфейсу
2.1. Функції графічного людино-машинного інтерфейсу2.1. Функції графічного людино-машинного інтерфейсу
2.1. Функції графічного людино-машинного інтерфейсу
 
Мастер-класс: отправка данных с ПЛК в Google Sheet с использованием Node-RED
Мастер-класс: отправка данных с ПЛК в Google Sheet с использованием Node-REDМастер-класс: отправка данных с ПЛК в Google Sheet с использованием Node-RED
Мастер-класс: отправка данных с ПЛК в Google Sheet с использованием Node-RED
 
Про курс «Технологии Индустрии 4.0»
Про курс «Технологии Индустрии 4.0» Про курс «Технологии Индустрии 4.0»
Про курс «Технологии Индустрии 4.0»
 
Короткий опис лабораторного практикуму по MOM
Короткий опис лабораторного практикуму по MOMКороткий опис лабораторного практикуму по MOM
Короткий опис лабораторного практикуму по MOM
 
Git4 all
Git4 allGit4 all
Git4 all
 
Presentation 111019 1
Presentation 111019 1Presentation 111019 1
Presentation 111019 1
 

Git и GitHub для создания учебного контента

  • 1. Использование Git и GitHub для создания учебного контента и ведения проектов Александр Пупена АКТСУ НУХТ pupena_san@ukr.net www.i4u.in.ua https://www.youtube.com/channel/UCc6VjvU3rous2W1he7BCKkg
  • 3. ІТ-шные АСУТП-шники делятся опытом https://www.tda.in.ua/18-4-itфікація-асутп-нухт ТДА 18-4 ITфікація АСУТП DevOps Git
  • 4. Не пошло… Но почему? Git, DevOps … в АСУТП Может по этому: https://youtu.be/CAYEMAJI8wk
  • 5. в это время… люди пишут доки (книги, методички, статьи…) Здесь мог бы быть конец истории, но… и у меня с 2020 г стартовал новый курс…
  • 6. - пособия - наполнение учебных курсов (любые материалы) - статьи - любой проект (схемы, чертежи, текстовая документация) Контент (образовательный, проектный…) это:
  • 7. - «это последняя версия?» (при транспорте между ПК) - «а что я там менял?» - «а что он/она там менял?» - «не удалил ли случайно я/он/она что-то нужное?» Проблемы при разработке контента: контроль версионности
  • 8. - «как это все объединить?» - «стой не вноси правки в тот файл, я там кое-что правлю!» - распределение работ над одним проектом (пособием, статьей …) - контроль и управление исполнением: - что сделал, когда, зачем - «эти правки вносим, а это – переделать» Проблемы при разработке контента: совместная разработка
  • 9. - как это дать студентам (клиенту) (ВЕБ-доступ, гугл-диск, почта)? - как это показать всем кому интересно для обсуждения? - как вовлечь всех желающих в общий процесс создания? Проблемы при разработке контента: публичный доступ
  • 10. - один документ, но много потребителей: Word, PDF, Moodle (еще и несколько курсов), гугл-диск … - это все при изменении полностью повторяется! - как достали эти «поехавшие» таблицы, рисунки… - «откуда взялся этот шрифт? зачем мне вообще менять шрифты, я кого-то просил?» - «ужас! пропустил номер одного рисунка, все по разделу переделывать!» Проблемы при разработке контента: преобразование
  • 11. Решения? Многие из этих вопросов решаются в типичных редакторах (Word, Excel) и сервисах (Google Documents, Google Drive, MS Office 365 …), но как решить их все?
  • 12. Git – система управления версиями, разработана прежде всего для программных (software) проектов. • управляет хранилищем (репозиторием) • отслеживает изменения в рабочей директории • по мере необходимости фиксации версии делается оттиск (commit) Git – управление версиями единственный раз, когда я сюда заглядывал, когда делал скрин для этой ппт
  • 14. Git (отслеживание изменений) • для текстовых файлов показывает не только какие файлы изменились, но и что именно • по этому важно контент делать в текстовом файле
  • 15. Git (история версий) • можно просмотреть файлы (изменения) любого оттиска • вернуться на нужную версию
  • 16. • дает возможность делать альтернативные версии ветви (branch) • возможность распределенной обработки • ….. Git (еще много чего)
  • 17. • DOC и DOCX не текстовые файлы  отслеживать что изменилось через GIT нельзя (хотя есть решения) Только текст шрифт и текст
  • 18. а как же форматирование текста, таблицы, заголовки …? Только текст?
  • 19. Немного философии текстовый контент - это закодированные данные
  • 20. • альтернатива формату Word – формат MarkDown • MarkDown – больше смысла, меньше формата! • легко конвертируется в любой другой формат в т.ч. HTML, DOCX, PDF, файлы электронных книг и др. • существует бесплатные редакторы, например Typora (бесплатный в бета-версии) • многими редакторами сайтов автоматически конвертирется в HTML Только текст - > MarkDown (MD)
  • 21. Typora (Редактор MD) нормальный режим режим «исходника» https://typora.io/ Сейчас в бета-режиме - басплантый
  • 25. MD преобразование (продвинутое) Извините, немного кодинга удалить фильтр конвертации скрипт конвертации в docx (с фильтром) удалить
  • 26. Совместная разработка с использованием распределенной системы • серверное (-ные) хранилище(а) • клиентские локальные копии • синхронизация хранилищ: • загрузка (push) • выгрузка (pull) • объединение ветвей (merge)
  • 27. Совместная разработка: ветви • параллельная работа над единым проектом – ветви (branch) • при необходимости ветви объединяются (merge) – изменение с одной ветви переносятся в другую В наши проектах ветви закреплены за каждым участником
  • 28. GitHub • GitHub – самый большой хостинг для хранилищ (репозиториев) Git, и является центром совместной разработки между миллионами разработчиков и проектов • публичные и приватные репозитории • все возможности для бесплатного использования открытых хранилищ • закрытые хранилища с ограничениями (платные без ограничений)
  • 29. GitHub – Pull Request • соединение ветвей через Pull Request • можно настроить обязательный пересмотр и подтверждение перед объединением
  • 30. Управление проектом - Канбан https://trello.com/ • доски (Desc) • списки (колонки, column) • карточки (Cards) • перемещение карточки (задания) между колонками за результатами исполнения • контроль времени, обсуждения в границах карточки
  • 31. GitHub Проекты • за методикой канбан • автоматизированные (можно задать события перемещения с колонки в колонку) • преобразовываются в обсуждения (Issues)
  • 32. GitHub Обсуждения (Issues) - для обсуждения какой-либо деятельности с репозиторием - форматированный текст MD - контроль времени - метки тем - связь с запросами на объединение - фиксация наиболее горящих
  • 33. GitHub Pages - статические ВЕБ-страницы, формующиеся автоматически за содержанием репозитория, например - репозиорий - https://github.com/romamirkevich/PLCBeginner - веб-страница - https://romamirkevich.github.io/PLCBeginner/ - изменения в репозитория приводят к изменению веб-страниц - только для публичных репозиториев
  • 34. GitHub Actions - дает возможность использовать скрипты для автоматизации преобразования контента и его запуска MD -> преобразование PDF, DOCX, PPT -> заливка на Gogle Drive … запускать всё что кодится по любому событию в репозитории GitHub
  • 35. GitHub Actions – Hello World
  • 36. GitHub – не только репозиторий • обсуждения (типа форума) • управление проектами: • распределение и управление заданиями (Канбан) • контроль времени выполнения (Milestones) • приоритетность (pin, label) • автоматизация управления с использованием различных событий • автоматическое развертывание – последовательное преобразование контента и запуск на ресурсах • ВЕБ-страницы • статистика • …
  • 37. Мечты, мечты… электронный документооборот в организации: • общий репозиторий организации, например для института рабочие программы, методички …. • прохождение утверждение через pull request + approve • исходники всегда на MD, преобразование в любой вид контента (например в PDF) • изменение в любой момент времени • можно создать адаптивный клиент Git+GitHub с дружественным интерфейсом
  • 38. - не только для кода - открытые и закрытые хранилища - отслеживание версий (кто, когда и какие изменения вносили) за всю историю проекта - управление версиями документов: можно откатиться на какую-либо версию - совместная (одновременная) работа в одном проэкте - управление проектной деятельностью с использованием Канбан - автоматизация деятельности касательно преобрахования одних документов в другой формат (например в DOCX, PDF, заливка на Dropbox, преобразование у ВЕБ-страницы, Moodle и т.п.); - автоматическое создание собственных Веб-страниц за содержанием репозитория - … Итоги Вопросы? https://pupenasan.github.io/ProgIngContrSystems/