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

Architecture mvc
Architecture mvcArchitecture mvc
Architecture mvcMadridal
 
공간정보 거점대학 - OpenLayers의 고급 기능 이해 및 실습
 공간정보 거점대학 - OpenLayers의 고급 기능 이해 및 실습 공간정보 거점대학 - OpenLayers의 고급 기능 이해 및 실습
공간정보 거점대학 - OpenLayers의 고급 기능 이해 및 실습HaNJiN Lee
 
Wms Performance Tests Map Server Vs Geo Server
Wms Performance Tests Map Server Vs Geo ServerWms Performance Tests Map Server Vs Geo Server
Wms Performance Tests Map Server Vs Geo ServerDonnyV
 
Breakthrough OLAP performance with Cassandra and Spark
Breakthrough OLAP performance with Cassandra and SparkBreakthrough OLAP performance with Cassandra and Spark
Breakthrough OLAP performance with Cassandra and SparkEvan Chan
 
Mongo DB 성능최적화 전략
Mongo DB 성능최적화 전략Mongo DB 성능최적화 전략
Mongo DB 성능최적화 전략Jin wook
 
[전득진_22년4월] AI_ML담당_Tech_seminar-emart.pdf
[전득진_22년4월] AI_ML담당_Tech_seminar-emart.pdf[전득진_22년4월] AI_ML담당_Tech_seminar-emart.pdf
[전득진_22년4월] AI_ML담당_Tech_seminar-emart.pdfDeukJin Jeon
 
오픈소스GIS를 활용한 서버기반 공간분석과 시각화
오픈소스GIS를 활용한 서버기반 공간분석과 시각화오픈소스GIS를 활용한 서버기반 공간분석과 시각화
오픈소스GIS를 활용한 서버기반 공간분석과 시각화MinPa Lee
 
Protocol Buffers and Hadoop at Twitter
Protocol Buffers and Hadoop at TwitterProtocol Buffers and Hadoop at Twitter
Protocol Buffers and Hadoop at TwitterKevin Weil
 
Gitlab CI : Integration et Déploiement Continue
Gitlab CI : Integration et Déploiement ContinueGitlab CI : Integration et Déploiement Continue
Gitlab CI : Integration et Déploiement ContinueVincent Composieux
 
Dealing with Merge Conflicts in Git
Dealing with Merge Conflicts in GitDealing with Merge Conflicts in Git
Dealing with Merge Conflicts in Gitgittower
 
Building ClickHouse and Making Your First Contribution: A Tutorial_06.10.2021
Building ClickHouse and Making Your First Contribution: A Tutorial_06.10.2021Building ClickHouse and Making Your First Contribution: A Tutorial_06.10.2021
Building ClickHouse and Making Your First Contribution: A Tutorial_06.10.2021Altinity Ltd
 
Introduction to GitHub Actions
Introduction to GitHub ActionsIntroduction to GitHub Actions
Introduction to GitHub ActionsBo-Yi Wu
 
仮想マシンを使った開発環境の簡単共有方法
仮想マシンを使った開発環境の簡単共有方法 仮想マシンを使った開発環境の簡単共有方法
仮想マシンを使った開発環境の簡単共有方法 Hideo Takahashi
 
GitHub - Présentation
GitHub - PrésentationGitHub - Présentation
GitHub - PrésentationDavid RIEHL
 
Dockerが抱えるネットワークの課題
Dockerが抱えるネットワークの課題Dockerが抱えるネットワークの課題
Dockerが抱えるネットワークの課題Asuka Suzuki
 
Introduction to Redis
Introduction to RedisIntroduction to Redis
Introduction to RedisArnab Mitra
 
Liquibase & Flyway @ Baltic DevOps
Liquibase & Flyway @ Baltic DevOpsLiquibase & Flyway @ Baltic DevOps
Liquibase & Flyway @ Baltic DevOpsAndrei Solntsev
 

What's hot (20)

Architecture mvc
Architecture mvcArchitecture mvc
Architecture mvc
 
공간정보 거점대학 - OpenLayers의 고급 기능 이해 및 실습
 공간정보 거점대학 - OpenLayers의 고급 기능 이해 및 실습 공간정보 거점대학 - OpenLayers의 고급 기능 이해 및 실습
공간정보 거점대학 - OpenLayers의 고급 기능 이해 및 실습
 
Wms Performance Tests Map Server Vs Geo Server
Wms Performance Tests Map Server Vs Geo ServerWms Performance Tests Map Server Vs Geo Server
Wms Performance Tests Map Server Vs Geo Server
 
Breakthrough OLAP performance with Cassandra and Spark
Breakthrough OLAP performance with Cassandra and SparkBreakthrough OLAP performance with Cassandra and Spark
Breakthrough OLAP performance with Cassandra and Spark
 
Mongo DB 성능최적화 전략
Mongo DB 성능최적화 전략Mongo DB 성능최적화 전략
Mongo DB 성능최적화 전략
 
[전득진_22년4월] AI_ML담당_Tech_seminar-emart.pdf
[전득진_22년4월] AI_ML담당_Tech_seminar-emart.pdf[전득진_22년4월] AI_ML담당_Tech_seminar-emart.pdf
[전득진_22년4월] AI_ML담당_Tech_seminar-emart.pdf
 
오픈소스GIS를 활용한 서버기반 공간분석과 시각화
오픈소스GIS를 활용한 서버기반 공간분석과 시각화오픈소스GIS를 활용한 서버기반 공간분석과 시각화
오픈소스GIS를 활용한 서버기반 공간분석과 시각화
 
Protocol Buffers and Hadoop at Twitter
Protocol Buffers and Hadoop at TwitterProtocol Buffers and Hadoop at Twitter
Protocol Buffers and Hadoop at Twitter
 
Gitlab CI : Integration et Déploiement Continue
Gitlab CI : Integration et Déploiement ContinueGitlab CI : Integration et Déploiement Continue
Gitlab CI : Integration et Déploiement Continue
 
Modele mvc
Modele mvcModele mvc
Modele mvc
 
Dealing with Merge Conflicts in Git
Dealing with Merge Conflicts in GitDealing with Merge Conflicts in Git
Dealing with Merge Conflicts in Git
 
Building ClickHouse and Making Your First Contribution: A Tutorial_06.10.2021
Building ClickHouse and Making Your First Contribution: A Tutorial_06.10.2021Building ClickHouse and Making Your First Contribution: A Tutorial_06.10.2021
Building ClickHouse and Making Your First Contribution: A Tutorial_06.10.2021
 
Introduction to GitHub Actions
Introduction to GitHub ActionsIntroduction to GitHub Actions
Introduction to GitHub Actions
 
仮想マシンを使った開発環境の簡単共有方法
仮想マシンを使った開発環境の簡単共有方法 仮想マシンを使った開発環境の簡単共有方法
仮想マシンを使った開発環境の簡単共有方法
 
Git l'essentiel
Git l'essentielGit l'essentiel
Git l'essentiel
 
GitHub - Présentation
GitHub - PrésentationGitHub - Présentation
GitHub - Présentation
 
Dockerが抱えるネットワークの課題
Dockerが抱えるネットワークの課題Dockerが抱えるネットワークの課題
Dockerが抱えるネットワークの課題
 
Introduction to Redis
Introduction to RedisIntroduction to Redis
Introduction to Redis
 
Liquibase & Flyway @ Baltic DevOps
Liquibase & Flyway @ Baltic DevOpsLiquibase & Flyway @ Baltic DevOps
Liquibase & Flyway @ Baltic DevOps
 
Mongo db 최범균
Mongo db 최범균Mongo db 최범균
Mongo db 최범균
 

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/