diff --git a/log.ipynb b/log.ipynb new file mode 100644 index 00000000..e4160340 --- /dev/null +++ b/log.ipynb @@ -0,0 +1,77 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "id": "7cc820de", + "metadata": { + "vscode": { + "languageId": "plaintext" + } + }, + "outputs": [], + "source": [ + "\"\"\"Интро.\"\"\"" + ] + }, + { + "cell_type": "markdown", + "id": "44e429ea", + "metadata": {}, + "source": [ + "27/10\n", + "\n", + "1) Зарегистрировался на github, kaggle, ods\n", + "2) Прошел курс по kaggle на степике\n", + "3) Установил GitHub Desktop\n", + "4) Прошел курс \"Cursor и VS CODE\" на степике\n", + "5) Установил Conda\n", + "6) Настроил pre-commit для репозитория" + ] + }, + { + "cell_type": "markdown", + "id": "e15ad33f", + "metadata": {}, + "source": [ + "28/10\n", + "\n", + "1. Начал проходить курс \"Курс Python-разработчик с Нуля до Open Source:Линтеры.Git.Github\"\n", + "2. Прошел квиз: [TASK] Quiz #6\n", + "3. Прошел квиз: [TASK] Cpython" + ] + }, + { + "cell_type": "markdown", + "id": "cf4b2803", + "metadata": {}, + "source": [] + }, + { + "cell_type": "markdown", + "id": "074eb6db", + "metadata": {}, + "source": [ + "29/10\n", + "1. Прошел квиз: [TASK] Виртуальное окружение #7\n" + ] + }, + { + "cell_type": "markdown", + "id": "9a7f4acb", + "metadata": {}, + "source": [ + "30/10\n", + "1. Прошел квиз: [TASK] git\n", + "2. Прошел квиз: [TASK] Commits\n" + ] + } + ], + "metadata": { + "language_info": { + "name": "python" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/log.py b/log.py new file mode 100644 index 00000000..e66614f6 --- /dev/null +++ b/log.py @@ -0,0 +1,27 @@ +"""Интро.""" + +# 27/10 +# +# 1) Зарегистрировался на github, kaggle, ods +# 2) Прошел курс по kaggle на степике +# 3) Установил GitHub Desktop +# 4) Прошел курс "Cursor и VS CODE" на степике +# 5) Установил Conda +# 6) Настроил pre-commit для репозитория + +# 28/10 +# +# 1. Начал проходить курс "Курс Python-разработчик с Нуля до Open Source:Линтеры.Git.Github" +# 2. Прошел квиз: [TASK] Quiz #6 +# 3. Прошел квиз: [TASK] Cpython + +# + +# 29/10 +# 1. Прошел квиз: [TASK] Виртуальное окружение #7 +# + +# 30/10 +# 1. Прошел квиз: [TASK] git +# 2. Прошел квиз: [TASK] Commits +# diff --git a/python/issues.ipynb b/python/issues.ipynb new file mode 100644 index 00000000..e8b6f93f --- /dev/null +++ b/python/issues.ipynb @@ -0,0 +1,131 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "id": "3976a618", + "metadata": {}, + "outputs": [], + "source": [ + "\"\"\"[TASK] issues.\"\"\"" + ] + }, + { + "cell_type": "markdown", + "id": "feb022d8", + "metadata": {}, + "source": [ + "1. Что такое Issues на GitHub и для чего они используются?\n", + " - это встроенный инструмент для отслеживания задач, ошибок, предложений и других обсуждений, связанных с проектом\n", + "2. Чем Issues отличаются от других инструментов управления задачами?\n", + " - Issues максимально интегрированы с репозиторием: их можно привязывать к коммитам, pull requests и веткам, при закрытии pull request можно автоматически закрыть связанный Issue (Closes #номер)\n", + "3. Какие основные компоненты (поля) есть у каждого Issue?\n", + " - Title\n", + " - Description\n", + "4. Как создать новое Issue в репозитории?\n", + " - Открыть репозиторий\n", + " - Перейти на вкладку \"Issues\"\n", + " - Нажать на кнопку \"New issue\"\n", + " - Заполнить \"Title\" и \"Description\" поля\n", + " - Нажать на кнопку \"Create\"\n", + "5. Какие данные рекомендуется указывать в описании Issue для лучшего понимания задачи?\n", + " - Участки кода\n", + " - Краткое резюме\n", + " - Шаги для воспроизведения (для багов)\n", + " - Предложения по решению (если есть)\n", + "6. Какие теги (labels) можно добавить к Issue? Какие из них стандартные?\n", + " - можно создавать любые теги\n", + " - bug, duplicate, enhancement, help wanted, good first issue, invalid, question, wontfix\n", + "7. Как прикрепить Assignees (ответственных) к Issue?\n", + " - Перейди на страницу нужного Issue в репозитории.\n", + " - Нажми на поле Assignees, откроется список участников репозитория\n", + " - Выбрать одного или нескольких пользователей\n", + "8. Как использовать Labels для классификации задач?\n", + " - Метки можно использовать для фильтрации: is:open label:bug покажет все открытые баги\n", + " - Чтобы добавить: Открой Issue > В правой панели найди поле Labels > Нажать и выбери одну или несколько меток из списка\n", + "9. Для чего нужен Milestone, и как связать его с Issue?\n", + " - цель/этап, объединяющий задачи\n", + "10. Как привязать Issue к пул-реквесту (Pull Request)?\n", + " - Открыть PR\n", + " - Выбрать нужный milestone в соответствующем поле(в правой панели)\n", + "11. Как добавить комментарий к существующему Issue?\n", + " - Открыть нужный Issue\n", + " - Внизу есть поле ввода для комментарий, заполнить его\n", + " - Нажать на кнопку \"Comment\"\n", + "12. Как закрыть Issue вручную?\n", + " - Открыть нужный Issue\n", + " - Нажать на кнопку \"Close issue\"\n", + "13. Можно ли автоматически закрыть Issue с помощью сообщения в коммите или пул-реквесте? Как это сделать?\n", + " - Да\n", + " - Добавить в описании Closes #{Номер Issue}\n", + "14. Как повторно открыть закрытое Issue, если работа ещё не завершена?\n", + " - Открыть нужный Issue(можно найти в разделе \"Closed\")\n", + " - Нажат ьна кнопку \"Reopen issue\"\n", + "15. Как найти все открытые или закрытые Issues в репозитории?\n", + " - Открыть нужный репозиторий\n", + " - Открыть вкладку Issues\n", + " - Далее можно выбрать раздел \"Open\" или \"Closed\"\n", + "16. Как использовать фильтры для поиска Issues по меткам, исполнителям или другим критериям?\n", + " - Открыть вкладку Issues в репозитории\n", + " - В строке поиска использовать фильтры:\n", + " - `is:open` или `is:closed` — открытые или закрытые Issues\n", + " - `label:<название_лейбла>` — по конкретной метке\n", + " - `assignee:<имя_пользователя>` — по исполнителю\n", + " - `author:<имя_пользователя>` — по автору\n", + " - `milestone:<название>` — по milestone\n", + "17. Как сортировать Issues по приоритету, дате создания или другим параметрам?\n", + " - На странице Issues есть меню сортировки (Sort), находится справа\n", + " - Выбрать нужный вариант: \"Created on\", \"Last updated\", \"Total comments\", \"Best match\"\n", + "18. Как настроить автоматические уведомления о новых или изменённых Issues?\n", + " - Подписаться на репозиторий кнопкой **“Watch”** в правом верхнем углу\n", + " - Выбрать тип уведомлений Custom\n", + " - Выбрать \"Issues\"\n", + " - Нажать Apply\n", + "19. Что такое Projects в контексте GitHub, и как связать их с Issues?\n", + " - Это доски для управления задачами\n", + " - Открыть Issues, выбрать нужный Projects в соответствующем поле справа\n", + "20. Какие сторонние инструменты можно использовать для автоматизации работы с Issues (например, боты, Webhooks)?\n", + " - Probot\n", + " - Webhooks\n", + " - GitHub Actions\n", + " - Jira\n", + "21. Как упомянуть другого пользователя в комментарии к Issue?\n", + " - В комментарии написать `@` и имя пользователя, например `@username`\n", + "22. Как запросить дополнительные данные или уточнения у автора Issue?\n", + " - Запросить в чате телеграм или в комментарии к Issue\n", + "23. Что делать, если Issue неактуально или его нужно объединить с другим?\n", + " - Если Issue больше не актуально — закрыть его с комментарием, объясняющим причину\n", + " - Если Issue дублирует другой — закрыть как дубликат и в комментарии указать ссылку на основной Issue\n", + " - При объединении нескольких Issues можно в комментариях всех связанных ссылаться на основной Issue\n", + "24. Как использовать шаблоны для создания Issues?\n", + " - Репозиторий может содержать \"шаблоны Issues\" в `.github/ISSUE_TEMPLATE/`\n", + " - При создании нового Issue GitHub предложит выбрать шаблон\n", + "25. Что такое Linked Issues, и как создать связь между задачами?\n", + " - Открыть Issue\n", + " - Нажать на стрелку рядом с \"Create sub-issue\"\n", + " - Выбрать Add existing issue\n", + "26. Какие метрики (например, время выполнения) можно отслеживать с помощью Issues?\n", + " - Время открытия и закрытия Issue — позволяет оценить скорость выполнения задач\n", + " - Количество комментариев — показатель активности обсуждения или сложности задачи\n", + " - Количество правок/обновлений — помогает понять, сколько раз менялись требования или статус\n", + " - Исполнители и участники — кто отвечает за выполнение и кто участвует в обсуждении\n", + " - Используемые метки и приоритеты — анализ распределения задач по категориям и срочности\n", + " - Можно строить отчёты и графики на основе этих данных для оценки эффективности работы команды\n", + "27. Какие best practices рекомендуются при работе с Issues в команде?\n", + " - Давать чёткие заголовки и описания\n", + " - Вести обсуждение в комментариях\n", + " - Закрывать дубликаты с ссылкой на основное Issue\n", + " - Использовать метки и milestones\n", + " - Регулярно обновлять статус и прогресс задачи\n", + " - Упоминать связанные PR и коммиты" + ] + } + ], + "metadata": { + "language_info": { + "name": "python" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/python/issues.py b/python/issues.py new file mode 100644 index 00000000..d503cbcb --- /dev/null +++ b/python/issues.py @@ -0,0 +1,105 @@ +"""[TASK] issues.""" + +# 1. Что такое Issues на GitHub и для чего они используются? +# - это встроенный инструмент для отслеживания задач, ошибок, предложений и других обсуждений, связанных с проектом +# 2. Чем Issues отличаются от других инструментов управления задачами? +# - Issues максимально интегрированы с репозиторием: их можно привязывать к коммитам, pull requests и веткам, при закрытии pull request можно автоматически закрыть связанный Issue (Closes #номер) +# 3. Какие основные компоненты (поля) есть у каждого Issue? +# - Title +# - Description +# 4. Как создать новое Issue в репозитории? +# - Открыть репозиторий +# - Перейти на вкладку "Issues" +# - Нажать на кнопку "New issue" +# - Заполнить "Title" и "Description" поля +# - Нажать на кнопку "Create" +# 5. Какие данные рекомендуется указывать в описании Issue для лучшего понимания задачи? +# - Участки кода +# - Краткое резюме +# - Шаги для воспроизведения (для багов) +# - Предложения по решению (если есть) +# 6. Какие теги (labels) можно добавить к Issue? Какие из них стандартные? +# - можно создавать любые теги +# - bug, duplicate, enhancement, help wanted, good first issue, invalid, question, wontfix +# 7. Как прикрепить Assignees (ответственных) к Issue? +# - Перейди на страницу нужного Issue в репозитории. +# - Нажми на поле Assignees, откроется список участников репозитория +# - Выбрать одного или нескольких пользователей +# 8. Как использовать Labels для классификации задач? +# - Метки можно использовать для фильтрации: is:open label:bug покажет все открытые баги +# - Чтобы добавить: Открой Issue > В правой панели найди поле Labels > Нажать и выбери одну или несколько меток из списка +# 9. Для чего нужен Milestone, и как связать его с Issue? +# - цель/этап, объединяющий задачи +# 10. Как привязать Issue к пул-реквесту (Pull Request)? +# - Открыть PR +# - Выбрать нужный milestone в соответствующем поле(в правой панели) +# 11. Как добавить комментарий к существующему Issue? +# - Открыть нужный Issue +# - Внизу есть поле ввода для комментарий, заполнить его +# - Нажать на кнопку "Comment" +# 12. Как закрыть Issue вручную? +# - Открыть нужный Issue +# - Нажать на кнопку "Close issue" +# 13. Можно ли автоматически закрыть Issue с помощью сообщения в коммите или пул-реквесте? Как это сделать? +# - Да +# - Добавить в описании Closes #{Номер Issue} +# 14. Как повторно открыть закрытое Issue, если работа ещё не завершена? +# - Открыть нужный Issue(можно найти в разделе "Closed") +# - Нажат ьна кнопку "Reopen issue" +# 15. Как найти все открытые или закрытые Issues в репозитории? +# - Открыть нужный репозиторий +# - Открыть вкладку Issues +# - Далее можно выбрать раздел "Open" или "Closed" +# 16. Как использовать фильтры для поиска Issues по меткам, исполнителям или другим критериям? +# - Открыть вкладку Issues в репозитории +# - В строке поиска использовать фильтры: +# - `is:open` или `is:closed` — открытые или закрытые Issues +# - `label:<название_лейбла>` — по конкретной метке +# - `assignee:<имя_пользователя>` — по исполнителю +# - `author:<имя_пользователя>` — по автору +# - `milestone:<название>` — по milestone +# 17. Как сортировать Issues по приоритету, дате создания или другим параметрам? +# - На странице Issues есть меню сортировки (Sort), находится справа +# - Выбрать нужный вариант: "Created on", "Last updated", "Total comments", "Best match" +# 18. Как настроить автоматические уведомления о новых или изменённых Issues? +# - Подписаться на репозиторий кнопкой **“Watch”** в правом верхнем углу +# - Выбрать тип уведомлений Custom +# - Выбрать "Issues" +# - Нажать Apply +# 19. Что такое Projects в контексте GitHub, и как связать их с Issues? +# - Это доски для управления задачами +# - Открыть Issues, выбрать нужный Projects в соответствующем поле справа +# 20. Какие сторонние инструменты можно использовать для автоматизации работы с Issues (например, боты, Webhooks)? +# - Probot +# - Webhooks +# - GitHub Actions +# - Jira +# 21. Как упомянуть другого пользователя в комментарии к Issue? +# - В комментарии написать `@` и имя пользователя, например `@username` +# 22. Как запросить дополнительные данные или уточнения у автора Issue? +# - Запросить в чате телеграм или в комментарии к Issue +# 23. Что делать, если Issue неактуально или его нужно объединить с другим? +# - Если Issue больше не актуально — закрыть его с комментарием, объясняющим причину +# - Если Issue дублирует другой — закрыть как дубликат и в комментарии указать ссылку на основной Issue +# - При объединении нескольких Issues можно в комментариях всех связанных ссылаться на основной Issue +# 24. Как использовать шаблоны для создания Issues? +# - Репозиторий может содержать "шаблоны Issues" в `.github/ISSUE_TEMPLATE/` +# - При создании нового Issue GitHub предложит выбрать шаблон +# 25. Что такое Linked Issues, и как создать связь между задачами? +# - Открыть Issue +# - Нажать на стрелку рядом с "Create sub-issue" +# - Выбрать Add existing issue +# 26. Какие метрики (например, время выполнения) можно отслеживать с помощью Issues? +# - Время открытия и закрытия Issue — позволяет оценить скорость выполнения задач +# - Количество комментариев — показатель активности обсуждения или сложности задачи +# - Количество правок/обновлений — помогает понять, сколько раз менялись требования или статус +# - Исполнители и участники — кто отвечает за выполнение и кто участвует в обсуждении +# - Используемые метки и приоритеты — анализ распределения задач по категориям и срочности +# - Можно строить отчёты и графики на основе этих данных для оценки эффективности работы команды +# 27. Какие best practices рекомендуются при работе с Issues в команде? +# - Давать чёткие заголовки и описания +# - Вести обсуждение в комментариях +# - Закрывать дубликаты с ссылкой на основное Issue +# - Использовать метки и milestones +# - Регулярно обновлять статус и прогресс задачи +# - Упоминать связанные PR и коммиты