Отчет обучения детей издательской системе Latex

Развернутый отчет о результатах 6-ти часового обучения детей 6, 7, 8 классов средней школы, издательской системе LaTeX в распределенной серверной среде

Цели и задачи курса обучения Latex

mindmap
  root((Навыки))
    Технические
      LaTeX-верстка
      Работа с Git
      CI/CD-процессы
    Системное мышление
      Архитектура сервисов
      Параллельная обработка
    Автоматизация
      Шаблоны документов
      Пакетная компиляция
    Soft Skills
      Работа с ошибками
      Командное взаимодействие
      Тайм-менеджмент

1. Понимание архитектуры распределенных сервисов

Дети познакомились с многосерверной инфраструктурой, включающей:

  • Gitea (хранение кода и документов)
  • CI/CD-сервис (автоматическая сборка PDF из LaTeX)
  • Nginx (публикация готовых документов)

Что это дало:
✔ Осознание, что сложные системы состоят из специализированных компонентов (а не работают на одном компьютере).
✔ Понимание, что распределение задач между серверами ускоряет работу (например, пока один сервер компилирует документ, другой уже раздает готовый PDF).
✔ Практическое знакомство с клиент-серверным взаимодействием (Git → компиляция → веб-публикация).


2. Работа с шаблонами и автоматизацией документов

Дети научились:

  • Использовать готовые LaTeX-шаблоны для быстрого создания обложки журнала.
  • Менять параметры через переменные (например, заголовок, автор, дата).
  • Видеть, как одна настройка влияет на множество документов (например, смена стиля применяется ко всем PDF).

Что это дало:
✔ Понимание принципов DRY (Don’t Repeat Yourself) — меньше ручной работы, больше автоматизации.
✔ Навык работы с конфигурациями (изменение одного файла влияет на весь проект).
✔ Осознание, что шаблоны экономят время (можно делать десятки документов с минимальными правками).


3. Опыт работы с CI/CD (непрерывная интеграция и доставка)

Каждый раз, когда ученик отправлял изменения в Git:

  1. Action-сервер автоматически запускал компиляцию.
  2. Готовый PDF сразу появлялся на веб-странице.

Что это дало:
✔ Практическое понимание DevOps-процессов (как код превращается в готовый продукт без ручных действий).
✔ Осознание важности автоматизации (раньше им приходилось бы вручную компилировать LaTeX и загружать PDF).
✔ Опыт работы с промышленными инструментами (аналогичные системы используются в GitHub, GitLab и крупных IT-компаниях).


4. Работа в условиях неидеального процесса

Не все ученики завершили обложку журнала, но каждый получил ценный опыт:

  • Те, кто не закончил проект, увидели, как работают этапы разработки (Git → компиляция → публикация).
  • Те, кто сделал частично, научились исправлять ошибки (например, синтаксис LaTeX или проблемы с изображениями).
  • Те, кто завершил работу, получили готовый PDF по ссылке — как в реальных облачных сервисах.

Вывод: Даже без идеального результата дети увидели всю цепочку и поняли, как можно улучшить процесс.


5. Дополнительные навыки, которые получили ученики

  • Основы Git (commit, push, история изменений).
  • Работа с прекомпилированными форматами (LaTeX → PDF без ручного редактирования).
  • Навык чтения технической документации (поиск пакетов LaTeX, исправление ошибок).
  • Понимание, что современные сервисы работают в связке (а не как отдельные программы).

Итоговые выводы

Курс показал детям:

  • Как устроены современные IT-системы (много серверов = выше скорость и надежность).
  • Почему автоматизация и шаблоны экономят время (1 настройка → много документов).
  • Как работает CI/CD в реальных проектах (код сам превращается в готовый продукт).
  • Что даже без идеального результата есть польза (опыт отладки, работа в команде, понимание процессов).

Этот курс — не просто про LaTeX, а про современные подходы к разработке, которые пригодятся в IT, науке и инженерии.

Вот детализированный поурочный план для 6-часового курса по LaTeX с акцентом на работу в распределенной серверной среде и создание обложки журнала:


Организация серверной архитектуры учебного процесса

graph TD
    A[Ученик] -->|1. Редактирует| B[VS Code/Notepad++]
    A -->|2. Пушит изменения| C[Gitea-сервер<br>хранение репозиториев]
    C -->|3. Триггерит| D[CI/CD-сервер<br>GitHub Actions/Local Runner]
    D -->|4. Компилирует| E[LaTeX → PDF]
    E -->|5. Загружает| F[Nginx-сервер<br>веб-публикация]
    F -->|6. Доступ по URL| A
    G[Шаблоны LaTeX] --> C
    H[Библиотеки<br>TikZ, graphicx] --> E

    style A fill:#ffcccc,stroke:#333
    style C fill:#ccf2ff,stroke:#333
    style D fill:#e6ccff,stroke:#333
    style F fill:#ccffcc,stroke:#333

Поурочный план программы “Издательская система LaTeX в многосерверной среде”

Цели курса:

  1. Познакомить с принципами работы распределенных сервисов (Git → CI/CD → веб-публикация).
  2. Научить создавать профессиональные документы в LaTeX с использованием шаблонов.
  3. Развить навыки автоматизации и командной работы через Git.

Урок 1: Знакомство с LaTeX и инфраструктурой (2 часа)

Теория:

  • Обзор системы LaTeX и её преимуществ перед Word.
  • Знакомство с архитектурой платформы:
    • Gitea — хранение кода,
    • CI/CD-сервер — автоматическая сборка,
    • Nginx — публикация PDF.
  • Принцип “чем больше серверов — тем быстрее обработка” (пример: параллельная компиляция для разных пользователей).

Практика:

  1. Установка Git и редактора (VS Code/Notepad++).
  2. Клонирование репозитория:
    git clone https://doc.rabrain.ru/earthlings/uNNN.git
    
  3. Редактирование master.tex в Gitea:
    • Структура документа (\documentclass, \section),
    • Простые списки (itemize, enumerate).
  4. Автоматическая компиляция и просмотр PDF по ссылке:
    https://mk.rabrain.ru/earthling/uNNN
    

Домашнее задание:

  • Добавить в master.tex новый раздел с описанием своего хобби (использовать списки).

Урок 2: Шаблоны и автоматизация (2 часа)

Теория:

  • Как шаблоны ускоряют работу (пример: изменение стиля для всех документов через один файл).
  • Подключение библиотек (graphicx, tikz, xcolor).

Практика:

  1. Работа с шаблоном обложки журнала:
    • Изменение цветов (\definecolor),
    • Добавление текста и изображений (\includegraphics).
  2. Использование TikZ для графики:
    • Рисование простых элементов (шары, линии),
    • Добавление декоративных элементов.
  3. Автоматическая пересборка при пуше в Git:
    git add . && git commit -m "Добавил обложку" && git push
    

Домашнее задание:

  • Создать свою версию обложки, изменив цвета и текст в шаблоне.

Урок 3: Финальный проект и отладка (2 часа)

Теория:

  • Разбор ошибок компиляции (логи CI/CD).
  • Оптимизация процессов: как одна правка в шаблоне влияет на все документы.

Практика:

  1. Доработка обложки:
    • Добавление штрихкода (через TikZ),
    • Настройка шрифтов и теней.
  2. Групповая работа:
    • Создание общего репозитория с шаблонами,
    • Клонирование и модификация чужих работ (через git pull).
  3. Публикация результатов:
    • Сравнение скорости обработки при одновременном пуше от нескольких пользователей.

Итог:

  • Презентация готовых обложек,
  • Обсуждение, как инфраструктура ускорила работу.

Дополнительные материалы

  • Справочники:
    • Цвета (xcolor),
    • Команды TikZ,
    • Размеры шрифтов.
  • Примеры фонов для обложек.

Критерии оценки:

  • Зачет: Умение работать с Git, сборка PDF через CI/CD.
  • Хорошо: Готовая обложка с использованием шаблонов.
  • Отлично: Уникальный дизайн + понимание архитектуры серверов.

Этот план сочетает технические навыки (LaTeX, Git) с пониманием современных IT-процессов, что готовит учеников к реальным задачам в разработке и дизайне.