{"id":16819611,"url":"https://github.com/slowli/software-engineering-lectures","last_synced_at":"2025-04-11T02:51:49.577Z","repository":{"id":22980688,"uuid":"26330895","full_name":"slowli/software-engineering-lectures","owner":"slowli","description":"Лекции по программной инженерии","archived":false,"fork":false,"pushed_at":"2017-06-11T17:09:10.000Z","size":20095,"stargazers_count":4,"open_issues_count":1,"forks_count":3,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-25T00:41:33.152Z","etag":null,"topics":["education","latex","software-engineering","tex"],"latest_commit_sha":null,"homepage":"http://lectures.ostrov.ski/","language":"TeX","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"google/github-issue-mover","license":"cc-by-sa-4.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/slowli.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-11-07T17:49:34.000Z","updated_at":"2023-11-29T11:35:07.000Z","dependencies_parsed_at":"2022-08-21T16:31:04.208Z","dependency_job_id":null,"html_url":"https://github.com/slowli/software-engineering-lectures","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/slowli%2Fsoftware-engineering-lectures","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/slowli%2Fsoftware-engineering-lectures/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/slowli%2Fsoftware-engineering-lectures/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/slowli%2Fsoftware-engineering-lectures/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/slowli","download_url":"https://codeload.github.com/slowli/software-engineering-lectures/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248333121,"owners_count":21086193,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["education","latex","software-engineering","tex"],"created_at":"2024-10-13T10:54:01.648Z","updated_at":"2025-04-11T02:51:49.556Z","avatar_url":"https://github.com/slowli.png","language":"TeX","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Лекции по программной инженерии\n\n[![Build Status](https://travis-ci.org/slowli/software-engineering-lectures.svg?branch=master)](https://travis-ci.org/slowli/software-engineering-lectures)\n\nНабор презентаций для лекций по программной инженерии для студентов Физико-технического учебно-научного центра НАН Украины.\nСделаны с помощью (Xe)LaTeX и beamer.\n\n(c) 2014, 2015, 2017, Алексей Островский\n\nТекст лекций доступен под лицензией [CC BY-SA 4.0 International](LICENSE).\nВыдержки кода и используемые программы доступны под лицензией [Apache 2.0](LICENSE-CODE).\n\n## Содержимое репозитория\n\nРепозиторий включает в себя следующие папки и файлы:\n  * **src/**  \n    Исходные TeX-файлы для презентаций лекций. Там же расположены краткие изложения\n    лекций (файлы `README.md`).\n  * **common/**  \n    Общие для всех лекций исходные TeX-файлы.\n  * **gh-pages/**  \n    Файлы для построения [сайта GitHub Pages с лекциями](https://slowli.github.io/software-engineering-lectures).\n  * **out/**  \n    Папка для результатов компиляции, т.е. pdf-файлов лекций.\n  * **tmp/**  \n    Папка для промежуточных файлов. В частности, там хранятся логи компиляции.\n\n## Построение\n\nПостроение осуществляется при помощи утилиты make. Необходим XeLaTeX\n(работоспособность проверялась на TeXLive 2013 и 2015). Установить всё необходимое для LaTeX можно при помощи команды\n```sh\nsudo apt-get install --no-install-recommends texlive \\\n  texlive-latex-extra texlive-xetex \\\n  latex-beamer ghostscript \\\n  fonts-lmodern fonts-droid fonts-noto\n```\n\n### Цели построения презентаций\n\nВсе цели вызываются с командой `make`, например, `make all-beamer`.\n\n  * **i-a4**, где i=01,02,03,...  \n    Компилирует одну презентацию. В результате образуется файл out/*i*-*название лекции*.pdf -\n    презентация на листе формата A4.\n  * **i-beamer**, где i=01,02,03,...  \n    Компилирует одну презентацию. В результате образуется файл out/*i*-*название лекции*-beamer.pdf -\n    презентация стандартного для проектора разрешения.\n  * **i**  \n    Эквивалентно двум предыдущим командам.\n  * **all-a4**  \n    Компилирует все презентации на листах A4.\n  * **all-beamer**  \n    Компилирует все презентации для проектора.\n  * **all**  \n    all-a4 + all-beamer.\n  * **clean**  \n    Удаляет промежуточные файлы компиляции.\n  * **uninstall**  \n    Удаляет промежуточные файлы компиляции и pdf-файлы презентаций.\n\n### Цели построения сайта GitHub Pages\n\nПомимо предыдущих зависимостей, для локального тестирования сайта GitHub Pages\nнужно установить генератор сайтов Jekyll. Руководство есть на сайте [Pages](https://pages.github.com/).\n\n  * **gh-pages**  \n    Создает локальную версию веб-сайта.\n  * **gh-serve**  \n    Создает локальную версию веб-сайта и запускает демо веб-север, доступный\n    по адресу http://localhost:4000/.\n  * **gh-push-local**  \n    Пушит *исходные* материалы для построения веб-сайта в ветвь локального репозитория `gh-pages`;\n    при этом используется опция `git push --force`, так что все предыдущие изменения\n    в этой ветке стираются. Фактически, пушатся те данные, которые нужны для построения веб-сайта\n    средствами GitHub Pages.\n  * **clean-gh**  \n    Удаляет артефакты построения локального веб-сайта в папке **gh-pages**.\n\n## Конфигурация\n\nОсновной параметр настройки — шрифты, используемые в презентациях. Для изменения набора\nшрифтов следует переопределить переменную окружения `LECTURE_FONTS`. Команды построения\nберут шрифты из файла `common/fonts.$(LECTURE_FONTS).def`. По умолчанию доступны три\nнастройки:\n  * `droid` использует шрифты семейства Droid (Sans, Serif и Sans Mono).\n    Не лучший вариант, т.к. в Droid Sans нет курсивного начертания.\n  * `noto` использует шрифты семейства Noto (Sans, Serif и Mono). Noto Mono нет\n    в дистрибутиве Ubuntu 14.04 (но есть, скажем, в 16.04).\n  * `noto+droid` использует Noto Sans, Noto Serif и Droid Sans Mono.\n\nДля GitHub Pages доступны опции:\n\n  * `GH_PAGES_NOFILES`. Если эта переменная окружения определена при вызове `make`,\n    построение презентаций при генерации веб-сайта\n    пропускается. Полезно, например, для отладки дизайна.\n  * `GH_PAGES_HOST`. Устанавливает хост для Jekyll. Значение по умолчанию - `127.0.0.1`.\n\nПример использования:\n```sh\nmake GH_PAGES_NOFILES=1 GH_PAGES_HOST=10.0.2.15 gh-serve\n```\n\n## Непрерывная интеграция\n\nРепозиторий использует сервис непрерывной интеграции [Travis](https://travis-ci.org/)\nдля тестирования билдов. К сожалению, в автоматическом режиме сложно проверять pdf-файлы\nпрезентаций, так что тесты достаточно примитивные:\n\n  * Для каждого файла лекции проверяется, что TeX-компилятор не ругается на\n    переполненные или недозаполенные боксы.\n  * Для сайта GitHub Pages валидируется HTML и проверяется, нет ли битых ссылок.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fslowli%2Fsoftware-engineering-lectures","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fslowli%2Fsoftware-engineering-lectures","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fslowli%2Fsoftware-engineering-lectures/lists"}