4037
Комментарий:
|
5537
|
Удаления помечены так. | Добавления помечены так. |
Строка 23: | Строка 23: |
* Несколько __сотен__ несвободных проектов, остальные — свободные | * Несколько ''сотен'' несвободных проектов, остальные — свободные |
Строка 28: | Строка 28: |
* [[pypi:pypisearch]] (наверное) | |
Строка 45: | Строка 46: |
VCS: * rcs * cvs * svn * tla, darcs, чёрт в ступе * [[https://fossil-scm.org|Fossil]] Цикл работы с VCS: |
[[RW:Система_управления_версиями|VCS]]: * [[RW:Revision_Control_System|rcs]] * [[RW:CVS]] * [[RW:Subversion]] * [[https://fossil-scm.org|Fossil]], [[WP:Comparison_of_version-control_software|чёрт в ступе]] === Цикл работы с VCS === |
Строка 56: | Строка 56: |
Строка 60: | Строка 61: |
DVCS: * hg, bazaar * bitkeeper, git Цикл работы с DVCS: |
=== DVCS === * [[http://darcs.net|Darcs]] * [[RW:Mercurial]], [[RW:Bazaar]] * bitkeeper, [[RW:Git]] === Цикл работы с DVCS === |
Строка 70: | Строка 73: |
Правила: | Минимальные правила: |
Строка 72: | Строка 75: |
* (по возможности не вносящий регрессий) | |
Строка 75: | Строка 79: |
Остальные правила (ветки, теги и т. п. — определяются дисциплиной разработки) Структура: * Публичный репозиторий * Локальная рабочая копия и ''полный'' локальный репозиторий |
|
Строка 76: | Строка 86: |
1.#0 `pull` | 1.#0 `init`/`clone` (развёртывание) * («проблема зарождения жизни»: создание репозитория для ''публикации'') 1. `pull` (синхронизация) |
Строка 79: | Строка 91: |
1. `commit` 1. `push` |
1. `add` (регистрация изменений) 1. `commit` (фиксация изменений) 1. `push` (публикация) |
Строка 85: | Строка 98: |
* Установить и научиться пользоваться Python и git | * Зарегистрировать ''публичный'' репозиторий ([[https://sourcehut.org|SourceHut]], !GitHub, !GitLab, где угодно) * Установить и научиться пользоваться командной строкой git в объёме * Для windows рекомендуется [[https://git-scm.com/download/win|официальый клиент]], в состав которого входит unix-подобная командная строка — для совместимости с лекциями |
Python и открытая разработка
- (повторение) Свободное лицензирование и Python
- ⇒ Возможность открытой разработки
- Открытая разработка:
- Низкий порог входа-выхода
- Произвольная мотивация
- Динамическая профессиональная иерархия
- Свободное распространение как условие развития
- Распределённая совместная разработка
- Информационное пространство (документация/взаимодействие)
Сообщество Python и разработка
- Сам Python:
2021-02-10: 288,767 projects, 2,378,715 releases, 3,869,692 files, 484,667 users
Несколько сотен несвободных проектов, остальные — свободные
https://readthedocs.org — документация
- (никто не мешает использовать GH или вообще что угодно)
История с pip search (баг, картинка)
pypisearch (наверное)
- См. выше про packaging
- Разработка стандартов (egg, wheel)
- Поддержка утилит (pip, setuptools, venv, pipenv)
- …
Коротко о разработке
- Структура каталогов с Python и системными модулями
Linux: пользовательские модули в ~/.local/lib/python3
- Куда приезжают .py и запускаемые файлы
Установка модуля pyfiglet
- что меняется
Pipenv (если успеем)
Коротко о VCS/DVCS
VCS:
Цикл работы с VCS
- Синхронизация
- Редактировние
- Оформление коммита
- Публикация
Проблема: совместная работа над одним корпусом текстов
- Интерференция изменений
- Изменения опубликованных исходников задним числом
DVCS
Цикл работы с DVCS
- Синхронизация
- Разработка (в цикле)
- Редактировние
- Оформление коммита
- Публикация
Минимальные правила:
- Одно изменение — один коммит
- (по возможности не вносящий регрессий)
- Описательные commit message
- Ответственная публикация
Остальные правила (ветки, теги и т. п. — определяются дисциплиной разработки)
Структура:
- Публичный репозиторий
Локальная рабочая копия и полный локальный репозиторий
Пример:
init/clone (развёртывание)
(«проблема зарождения жизни»: создание репозитория для публикации)
pull (синхронизация)
- Разработка
- Редактирование
add (регистрация изменений)
commit (фиксация изменений)
push (публикация)
Редактор для commit message
Д/З
Зарегистрировать публичный репозиторий (SourceHut, GitHub, GitLab, где угодно)
- Установить и научиться пользоваться командной строкой git в объёме
Для windows рекомендуется официальый клиент, в состав которого входит unix-подобная командная строка — для совместимости с лекциями