diff --git a/.gitignore b/.gitignore index 0fa2f447..34fb3352 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,6 @@ +# Для задание из issue 7 Venv +/SENATOROV + # Byte-compiled / optimized / DLL files __pycache__/ *.py[cod] diff --git a/Python/cpython.ipynb b/Python/cpython.ipynb new file mode 100644 index 00000000..b53bb699 --- /dev/null +++ b/Python/cpython.ipynb @@ -0,0 +1,122 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "id": "374fe137", + "metadata": { + "vscode": { + "languageId": "plaintext" + } + }, + "outputs": [], + "source": [ + "\"\"\"\n", + "Issue #4 Cpython.\n", + "\n", + "https://github.com/SENATOROVAI/intro-cs/issues/4\n", + "\"\"\"" + ] + }, + { + "cell_type": "markdown", + "id": "a9093402", + "metadata": {}, + "source": [ + "1. Что такое CPython и чем он отличается от Python?\n", + "Это реализация языка Python на C.\n", + "Python - это язык, синтаксис, набор правил и стандартов, описывающих то, как работает язык, основные конструкции, функции и пр.\n", + "CPython - это программа, которая исполняет код, написанный на языке Python\n", + "\n", + "3. Сколько существует реализаций Python, и какая из них самая популярная?\n", + "В видео говорится про шесть. Но есть и другие реализации.\n", + "\n", + "4. На каком языке написан CPython?\n", + "C\n", + "\n", + "5. (опционально) Кто создал CPython?\n", + "Guido van Rossum\n", + "\n", + "6. Почему Python считается быстрым, несмотря на то, что это интерпретируемый язык?\n", + "Потому что написан на C. А язык C считается быстрым языком.\n", + "\n", + "7. Напишите путь к Интерпретатору CPython на вашем компьютере\n", + "C:\\Program Files\\Python313\\python.exe\n", + "\n", + "8. Что содержится в папке include в CPython?\n", + "Файлы, написанные на C. Те же самые, что и в репозитории CPython.\n", + "\n", + "9. Где можно найти исходный код CPython дайте ссылку на репозиторий гитхаб\n", + "https://github.com/python/cpython\n", + "\n", + "10. Как работает интерпретатор CPython при выполнении кода?\n", + "Выполняет программу построчно.\n", + "\n", + "Лексический анализ и парсинг преобразует исходный код в AST (Abstract Syntax Tree).\n", + "Компиляция в байт-код - AST компилируется в .pyc файлы (байт-код).\n", + "Интерпретация байт-кода - виртуальная машина CPython (PVM) выполняет байт-код построчно.\n", + "В отличие от PyPy, CPython не использует JIT-компиляцию — поэтому он медленнее, но стабильнее и совместимее\n", + "\n", + "11. Какая команда используется для запуска файла с помощью CPython?\n", + "python\n", + "\n", + "12. Можно ли запускать текстовые файлы через интерпретатор Python? Почему?\n", + "Можно. Интерпретатору все равно, какое расширение у файла.\n", + "\n", + "13. Как указать путь к интерпретатору и файлу для выполнения кода?\n", + "Через пробел. Например:\n", + "C:\\Program Files\\Python313\\python.exe C:\\project.txt \n", + "\n", + "14. Чем PyPy отличается от CPython?\n", + "PyPy гораздо быстрее, чем CPython (до 10 раз быстрее)\n", + "\n", + "15. Почему PyPy не может использоваться для всех проектов на Python?\n", + "PyPy достаточно новый и совместим не со всеми проектами.\n", + "\n", + "16. Где можно скачать PyPy?\n", + "https://pypy.org\n", + "\n", + "17. Как установить PyPy после скачивания?\n", + "Распаковать архив, использовать путь до файла pypy.exe / python.exe (или файлов с другими версиями интерпретатора) для запуска файлов.\n", + "Можно добавить путь к файлу в переменные окружения.\n", + "\n", + "18. Как запустить файл с помощью PyPy?\n", + "В командной строке или терминале набрать:\n", + "путь_к_интерпретатору путь_к_файлу\n", + "\n", + "19. Почему PyPy выполняет код быстрее, чем CPython?\n", + "PyPy использует JIT-компиляцию (Just-In-Time):\n", + "Он кэширует часто выполняемые участи кода, компилирует их в машинный код. В следующий раз этот код выполняется напрямую процессором.\n", + "\n", + "Практические задания\n", + "\n", + "Задание 1: Поиск и установка CPython\n", + "Установлен Python 3.13.3\n", + "\n", + "Задание 2: Исследование структуры CPython\n", + "В папке include 77 файлов *.h\n", + "\n", + "Задание 3: Запуск файла с помощью CPython\n", + "Файл запускается независимо от расширения\n", + "\n", + "Задание 4: Установка и использование PyPy\n", + "На экран выводится \"Hello from pypy!\" независимо от расширения\n", + "\n", + "Задание 5: Сравнение производительности CPython и PyPy\n", + "При использовании CPython время выполнения составило:\n", + "Execution time: 0.49318480491638184 seconds\n", + "\n", + "При использовании PyPy время выполнения составило:\n", + "Execution time: 0.008015632629394531 seconds\n", + "Что более чем в 60 раз быстрее" + ] + } + ], + "metadata": { + "language_info": { + "name": "python" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/Python/cpython.py b/Python/cpython.py new file mode 100644 index 00000000..d2453f6b --- /dev/null +++ b/Python/cpython.py @@ -0,0 +1,91 @@ +"""Issue #4 Cpython. + +https://github.com/SENATOROVAI/intro-cs/issues/4 +""" + +# 1. Что такое CPython и чем он отличается от Python? +# Это реализация языка Python на C. +# Python - это язык, синтаксис, набор правил и стандартов, описывающих то, как работает язык, основные конструкции, функции и пр. +# CPython - это программа, которая исполняет код, написанный на языке Python +# +# 3. Сколько существует реализаций Python, и какая из них самая популярная? +# В видео говорится про шесть. Но есть и другие реализации. +# +# 4. На каком языке написан CPython? +# C +# +# 5. (опционально) Кто создал CPython? +# Guido van Rossum +# +# 6. Почему Python считается быстрым, несмотря на то, что это интерпретируемый язык? +# Потому что написан на C. А язык C считается быстрым языком. +# +# 7. Напишите путь к Интерпретатору CPython на вашем компьютере +# C:\Program Files\Python313\python.exe +# +# 8. Что содержится в папке include в CPython? +# Файлы, написанные на C. Те же самые, что и в репозитории CPython. +# +# 9. Где можно найти исходный код CPython дайте ссылку на репозиторий гитхаб +# https://github.com/python/cpython +# +# 10. Как работает интерпретатор CPython при выполнении кода? +# Выполняет программу построчно. +# +# Лексический анализ и парсинг преобразует исходный код в AST (Abstract Syntax Tree). +# Компиляция в байт-код - AST компилируется в .pyc файлы (байт-код). +# Интерпретация байт-кода - виртуальная машина CPython (PVM) выполняет байт-код построчно. +# В отличие от PyPy, CPython не использует JIT-компиляцию — поэтому он медленнее, но стабильнее и совместимее +# +# 11. Какая команда используется для запуска файла с помощью CPython? +# python +# +# 12. Можно ли запускать текстовые файлы через интерпретатор Python? Почему? +# Можно. Интерпретатору все равно, какое расширение у файла. +# +# 13. Как указать путь к интерпретатору и файлу для выполнения кода? +# Через пробел. Например: +# C:\Program Files\Python313\python.exe C:\project.txt +# +# 14. Чем PyPy отличается от CPython? +# PyPy гораздо быстрее, чем CPython (до 10 раз быстрее) +# +# 15. Почему PyPy не может использоваться для всех проектов на Python? +# PyPy достаточно новый и совместим не со всеми проектами. +# +# 16. Где можно скачать PyPy? +# https://pypy.org +# +# 17. Как установить PyPy после скачивания? +# Распаковать архив, использовать путь до файла pypy.exe / python.exe (или файлов с другими версиями интерпретатора) для запуска файлов. +# Можно добавить путь к файлу в переменные окружения. +# +# 18. Как запустить файл с помощью PyPy? +# В командной строке или терминале набрать: +# путь_к_интерпретатору путь_к_файлу +# +# 19. Почему PyPy выполняет код быстрее, чем CPython? +# PyPy использует JIT-компиляцию (Just-In-Time): +# Он кэширует часто выполняемые участи кода, компилирует их в машинный код. В следующий раз этот код выполняется напрямую процессором. +# +# Практические задания +# +# Задание 1: Поиск и установка CPython +# Установлен Python 3.13.3 +# +# Задание 2: Исследование структуры CPython +# В папке include 77 файлов *.h +# +# Задание 3: Запуск файла с помощью CPython +# Файл запускается независимо от расширения +# +# Задание 4: Установка и использование PyPy +# На экран выводится "Hello from pypy!" независимо от расширения +# +# Задание 5: Сравнение производительности CPython и PyPy +# При использовании CPython время выполнения составило: +# Execution time: 0.49318480491638184 seconds +# +# При использовании PyPy время выполнения составило: +# Execution time: 0.008015632629394531 seconds +# Что более чем в 60 раз быстрее diff --git a/Python/issues.ipynb b/Python/issues.ipynb new file mode 100644 index 00000000..acdd58ad --- /dev/null +++ b/Python/issues.ipynb @@ -0,0 +1,151 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "6671986b", + "metadata": {}, + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0be168e5", + "metadata": { + "vscode": { + "languageId": "plaintext" + } + }, + "outputs": [], + "source": [ + "\"\"\"\n", + "Issue #2 issues.\n", + "\n", + "https://github.com/SENATOROVAI/intro-cs/issues/4\n", + "\"\"\"" + ] + }, + { + "cell_type": "markdown", + "id": "dce77516", + "metadata": {}, + "source": [ + "1. Что такое Issues на GitHub и для чего они используются?\n", + "Issues - это функционал Git, который позволяет \"подсвечивать\" и обсуждать сложные места / проблемы в коде.\n", + "\n", + "2. Чем Issues отличаются от других инструментов управления задачами?\n", + "Поддерживается возможность привязать коммит или ПР к конкретному issue.\n", + "Автоматическое закрытие issue после мержа соответствующего ПР-а.\n", + "Возможность устанавливать метки и назначать ответственных.\n", + "\n", + "3. Какие основные компоненты (поля) есть у каждого Issue?\n", + "Title, Description, Labels, Projects, Milestone, Development, Notification, Linked Pull Requests/Commits, Assignees\n", + "\n", + "4. Как создать новое Issue в репозитории?\n", + "Копируем ссылку на участок кода.\n", + "Issues -> New issue\n", + "Выбираем тип issue.\n", + "Заполняем тайл, описание и другие поля.\n", + "\n", + "5. Какие данные рекомендуется указывать в описании Issue для лучшего понимания задачи?\n", + "Основная цель при заполнении issue - максимально полно описать существующую проблему.\n", + "Следует приложить ссылку на код / коммит, код ошибки, трассировку, скриншоты терминала.\n", + "\n", + "6. Какие теги (labels) можно добавить к Issue? Какие из них стандартные?\n", + "Стандартные теги:\n", + "bug, dependencies, documentation, duplicate, enhancement, good first issue, help wanted, invalid, question, wontfix\n", + "\n", + "7. Как прикрепить Assignees (ответственных) к Issue?\n", + "Кнопка Assignees справа\n", + "\n", + "8. Как использовать Labels для классификации задач?\n", + "С помощью лейблов можно классифицировать задачи по проектам, статусам, типам и приоритетам.\n", + "\n", + "9. Для чего нужен Milestone, и как связать его с Issue?\n", + "Срок выполнения задачи. Выставляется в поле Milestone на панели справа.\n", + "\n", + "10. Как привязать Issue к пул-реквесту (Pull Request)?\n", + "Использовать ключевые слова в описании ПР или коммита с указанием номера issue (например, #7) или ссылки на issue.\n", + "Привязать конкретный ПР к issue через кнопку Development на странице ПР-а.\n", + "Привязать конкретный ПР к issue через кнопку Development на странице issue.\n", + "\n", + "11. Как добавить комментарий к существующему Issue?\n", + "На странице конкретного issue внизу страницы есть форма для добавления комментария.\n", + "\n", + "12. Как закрыть Issue вручную?\n", + "Кнопка \"Close issue\" на странице issue.\n", + "\n", + "13. Можно ли автоматически закрыть Issue с помощью сообщения в коммите или пул-реквесте? Как это сделать?\n", + "Да, используя в описании ПР или коммита ключевые слова и номер или ссылку на issue:\n", + "close\n", + "closes\n", + "closed\n", + "fix\n", + "fixes\n", + "fixed\n", + "resolve\n", + "resolves\n", + "resolved\n", + "\n", + "14. Как повторно открыть закрытое Issue, если работа ещё не завершена?\n", + "Кнопка \"Reopen issue\" на странице issue.\n", + "\n", + "15. Как найти все открытые или закрытые Issues в репозитории?\n", + "Вкладка Issues в репозитории. Фильтры Open / Closed\n", + "\n", + "16. Как использовать фильтры для поиска Issues по меткам, исполнителям или другим критериям?\n", + "В поле фильтра по параметрам state, type, author, involves, assignee, label, linked,has, org, user и пр.\n", + "Можно использовать знак - в качестве отрицания.\n", + "Или использовать соответствующие кнопки в таблице с issues.\n", + "\n", + "17. Как сортировать Issues по приоритету, дате создания или другим параметрам?\n", + "Кнопка Sort by\n", + "\n", + "18. Как настроить автоматические уведомления о новых или изменённых Issues?\n", + "Раздел Watch в репозитории.\n", + "\n", + "19. Что такое Projects в контексте GitHub, и как связать их с Issues?\n", + "Доска для планирования и отслеживания прогресса задач. В Projects можно добавить любой из имеющихся issue.\n", + "\n", + "20. Какие сторонние инструменты можно использовать для автоматизации работы с Issues (например, боты, Webhooks)?\n", + "Probot, GitHub Actions, Zapier, Make, кастомные решения на Webhooks\n", + "\n", + "21. Как упомянуть другого пользователя в комментарии к Issue?\n", + "@github-username\n", + "\n", + "22. Как запросить дополнительные данные или уточнения у автора Issue?\n", + "В комментариях к issue.\n", + "\n", + "23. Что делать, если Issue неактуально или его нужно объединить с другим?\n", + "Закрыть его с комментарием \"non-actual\" или \"duplicate of ...\" и указать номер issue (например, #7).\n", + "\n", + "24. Как использовать шаблоны для создания Issues?\n", + "В папку .github/ISSUE_TEMPLATE/ положить шаблоны с расширением *.md или *.yml.\n", + "\n", + "25. Что такое Linked Issues, и как создать связь между задачами?\n", + "Это связанные между собой issue.\n", + "Установить связь можно через кнопку Development или путем упоминания других issue в названии или описании.\n", + "\n", + "26. Какие метрики (например, время выполнения) можно отслеживать с помощью Issues?\n", + "Временные метрики (среднее время выполнения, время первого ответа).\n", + "Количество открытых / закрытых issue.\n", + "\n", + "27. Какие best practices рекомендуются при работе с Issues в команде?\n", + "Использовать информативные заголовки и описания.\n", + "Использовать метки.\n", + "Связывать issue.\n", + "Регулярно актуализировать статусы, закрывать неактуальные.\n", + "Назначать ответственных.\n", + "Использовать шаблоны.\n", + "\n", + "\n" + ] + } + ], + "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..22ded674 --- /dev/null +++ b/Python/issues.py @@ -0,0 +1,117 @@ +# + +"""Issue #2 issues. + +https://github.com/SENATOROVAI/intro-cs/issues/4 +""" + +# 1. Что такое Issues на GitHub и для чего они используются? +# Issues - это функционал Git, который позволяет "подсвечивать" и обсуждать сложные места / проблемы в коде. +# +# 2. Чем Issues отличаются от других инструментов управления задачами? +# Поддерживается возможность привязать коммит или ПР к конкретному issue. +# Автоматическое закрытие issue после мержа соответствующего ПР-а. +# Возможность устанавливать метки и назначать ответственных. +# +# 3. Какие основные компоненты (поля) есть у каждого Issue? +# Title, Description, Labels, Projects, Milestone, Development, Notification, Linked Pull Requests/Commits, Assignees +# +# 4. Как создать новое Issue в репозитории? +# Копируем ссылку на участок кода. +# Issues -> New issue +# Выбираем тип issue. +# Заполняем тайл, описание и другие поля. +# +# 5. Какие данные рекомендуется указывать в описании Issue для лучшего понимания задачи? +# Основная цель при заполнении issue - максимально полно описать существующую проблему. +# Следует приложить ссылку на код / коммит, код ошибки, трассировку, скриншоты терминала. +# +# 6. Какие теги (labels) можно добавить к Issue? Какие из них стандартные? +# Стандартные теги: +# bug, dependencies, documentation, duplicate, enhancement, good first issue, help wanted, invalid, question, wontfix +# +# 7. Как прикрепить Assignees (ответственных) к Issue? +# Кнопка Assignees справа +# +# 8. Как использовать Labels для классификации задач? +# С помощью лейблов можно классифицировать задачи по проектам, статусам, типам и приоритетам. +# +# 9. Для чего нужен Milestone, и как связать его с Issue? +# Срок выполнения задачи. Выставляется в поле Milestone на панели справа. +# +# 10. Как привязать Issue к пул-реквесту (Pull Request)? +# Использовать ключевые слова в описании ПР или коммита с указанием номера issue (например, #7) или ссылки на issue. +# Привязать конкретный ПР к issue через кнопку Development на странице ПР-а. +# Привязать конкретный ПР к issue через кнопку Development на странице issue. +# +# 11. Как добавить комментарий к существующему Issue? +# На странице конкретного issue внизу страницы есть форма для добавления комментария. +# +# 12. Как закрыть Issue вручную? +# Кнопка "Close issue" на странице issue. +# +# 13. Можно ли автоматически закрыть Issue с помощью сообщения в коммите или пул-реквесте? Как это сделать? +# Да, используя в описании ПР или коммита ключевые слова и номер или ссылку на issue: +# close +# closes +# closed +# fix +# fixes +# fixed +# resolve +# resolves +# resolved +# +# 14. Как повторно открыть закрытое Issue, если работа ещё не завершена? +# Кнопка "Reopen issue" на странице issue. +# +# 15. Как найти все открытые или закрытые Issues в репозитории? +# Вкладка Issues в репозитории. Фильтры Open / Closed +# +# 16. Как использовать фильтры для поиска Issues по меткам, исполнителям или другим критериям? +# В поле фильтра по параметрам state, type, author, involves, assignee, label, linked,has, org, user и пр. +# Можно использовать знак - в качестве отрицания. +# Или использовать соответствующие кнопки в таблице с issues. +# +# 17. Как сортировать Issues по приоритету, дате создания или другим параметрам? +# Кнопка Sort by +# +# 18. Как настроить автоматические уведомления о новых или изменённых Issues? +# Раздел Watch в репозитории. +# +# 19. Что такое Projects в контексте GitHub, и как связать их с Issues? +# Доска для планирования и отслеживания прогресса задач. В Projects можно добавить любой из имеющихся issue. +# +# 20. Какие сторонние инструменты можно использовать для автоматизации работы с Issues (например, боты, Webhooks)? +# Probot, GitHub Actions, Zapier, Make, кастомные решения на Webhooks +# +# 21. Как упомянуть другого пользователя в комментарии к Issue? +# @github-username +# +# 22. Как запросить дополнительные данные или уточнения у автора Issue? +# В комментариях к issue. +# +# 23. Что делать, если Issue неактуально или его нужно объединить с другим? +# Закрыть его с комментарием "non-actual" или "duplicate of ..." и указать номер issue (например, #7). +# +# 24. Как использовать шаблоны для создания Issues? +# В папку .github/ISSUE_TEMPLATE/ положить шаблоны с расширением *.md или *.yml. +# +# 25. Что такое Linked Issues, и как создать связь между задачами? +# Это связанные между собой issue. +# Установить связь можно через кнопку Development или путем упоминания других issue в названии или описании. +# +# 26. Какие метрики (например, время выполнения) можно отслеживать с помощью Issues? +# Временные метрики (среднее время выполнения, время первого ответа). +# Количество открытых / закрытых issue. +# +# 27. Какие best practices рекомендуются при работе с Issues в команде? +# Использовать информативные заголовки и описания. +# Использовать метки. +# Связывать issue. +# Регулярно актуализировать статусы, закрывать неактуальные. +# Назначать ответственных. +# Использовать шаблоны. +# +# +# diff --git a/Python/venv.ipynb b/Python/venv.ipynb new file mode 100644 index 00000000..de85ef3e --- /dev/null +++ b/Python/venv.ipynb @@ -0,0 +1,123 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "id": "f32faa3f", + "metadata": { + "vscode": { + "languageId": "plaintext" + } + }, + "outputs": [], + "source": [ + "\"\"\"\n", + "Issue #7 Виртуальное окружение.\n", + "\n", + "https://github.com/SENATOROVAI/intro-cs/issues/4\n", + "\"\"\"" + ] + }, + { + "attachments": { + "image-2.png": { + "image/png": "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" + }, + "image-3.png": { + "image/png": "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" + }, + "image-4.png": { + "image/png": "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" + }, + "image-5.png": { + "image/png": "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" + }, + "image.png": { + "image/png": "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" + } + }, + "cell_type": "markdown", + "id": "1890e044", + "metadata": {}, + "source": [ + "1. Что делает команда python -m venv venv?\n", + "Создает виртуальное окружение и папку venv для хранения соответствующих ресурсов.\n", + "\n", + "1.1 Что делает каждая команда в списке ниже?\n", + "pip list - выводит список всех установленных пакетов в текущем окружении (виртуальном или глобальном) вместе с их версиями.\n", + "\n", + "pip freeze > requirements.txt - сохранить список зависимостей с версиями из текущего окружения в файл requirements.txt\n", + "\n", + "pip install -r requirements.txt - установить зависимости из файла requirements.txt\n", + "\n", + "2. Что делает каждая команда в списке ниже?\n", + "conda env list - выводит список всех виртуальных окружений Conda, доступных на вашем компьютере.\n", + "\n", + "conda create -n env_name python=3.5 - создает новое виртуальное окружение с именем env_name и устанавливает в него Python 3.5.\n", + "\n", + "conda env update -n env_name -f file.yml - Conda добавит или обновит пакеты в указанном окружении в соответствии с содержимым файла file.yml.\n", + "\n", + "source activate env_name - устаревший способ активации окружения Conda, который больше не рекомендуется использовать. Рекомендовано conda activate env_name.\n", + "\n", + "source deactivate - устаревший способ деактивации окружения Conda, который больше не рекомендуется использовать. Рекомендовано conda deactivate.\n", + "\n", + "conda clean -a - полностью очищает кэш Conda, удаляя все ненужные файлы.\n", + "\n", + "3. вставьте скрин вашего терминала, где вы активировали сначала venv, потом conda, назовите окружение \"SENATOROV\"\n", + "![image-3.png](attachment:image-3.png)\n", + "![image-4.png](attachment:image-4.png)\n", + "![image-5.png](attachment:image-5.png)\n", + "\n", + "4. Как установить необходимые пакеты внутрь виртуального окружения для conda/venv?\n", + "conda install package-name\n", + "\n", + "5. Что делают эти команды?\n", + "pip freeze > requirements.txt\n", + "conda env export > environment.yml\n", + "Сохраняют список зависимостей в файлы requirements.txt и environment.yml\n", + "\n", + "5.1. вставьте скрин, где будет видна папка VENV в вашем репозитории а также файлы зависимостей requirements.txt и environment.yml, файлы должны содержать зависимости\n", + "![image.png](attachment:image.png)\n", + "\n", + "6. Что делают эти команды?\n", + "pip install -r requirements.txt - устанавливает зависимости из файла requirements.txt в текущее виртуальное окружение.\n", + "conda env create -f environment.yml - создает новое виртуальное окружение Conda на основе конфигурации из файла environment.yml.\n", + "\n", + "7. Что делают эти команды?\n", + "pip list - выводит список установленных зависимостей в текущем окружении (виртуальном или глобальном).\n", + "pip show package name - выводит подробную информацию об установленном пакете.\n", + "conda list - выводит список установленных зависимостей в текущем окружении.\n", + "\n", + "8. Где по умолчанию больше пакетов venv/pip или conda? и почему дата сайнинисты используют conda?\n", + "По умолчанию пакетов больше в pip.\n", + "Дата-сайнтисты используют Conda из-за:\n", + "- Наличия предустановленных пакетов для data science\n", + "- Кроссплатформенности\n", + "- Управления не-Python зависимостями\n", + "- Более надежное разрешение зависимостей\n", + "\n", + "9. вставьте скрин где будет видно, Выбор интерпретатора Python (conda) в VS Code/cursor\n", + "![image-2.png](attachment:image-2.png)\n", + "\n", + "10. добавьте в .gitignore папку SENATOROV\n", + "Добавил\n", + "\n", + "11. Зачем нужно виртуально окружение?\n", + "Виртуальное окружение — это изолированное пространство для Python-проекта, в котором устанавливаются фиксированные версии Python и библиотек, независимо от других проектов и системы в целом.\n", + "\n", + "12. С этого момента надо работать в виртуальном окружении conda, ты научился(-ась) выгружать зависимости и работать с окружением?\n", + "Да.\n", + "\n", + "13. Удалите папку VENV, она больше не нужна, мы же не разрабы, нам нужна только conda\n", + "Удалил" + ] + } + ], + "metadata": { + "language_info": { + "name": "python" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/Python/venv.py b/Python/venv.py new file mode 100644 index 00000000..8150b98e --- /dev/null +++ b/Python/venv.py @@ -0,0 +1,75 @@ +"""Issue #7 Виртуальное окружение. + +https://github.com/SENATOROVAI/intro-cs/issues/4 +""" + +# 1. Что делает команда python -m venv venv? +# Создает виртуальное окружение и папку venv для хранения соответствующих ресурсов. +# +# 1.1 Что делает каждая команда в списке ниже? +# pip list - выводит список всех установленных пакетов в текущем окружении (виртуальном или глобальном) вместе с их версиями. +# +# pip freeze > requirements.txt - сохранить список зависимостей с версиями из текущего окружения в файл requirements.txt +# +# pip install -r requirements.txt - установить зависимости из файла requirements.txt +# +# 2. Что делает каждая команда в списке ниже? +# conda env list - выводит список всех виртуальных окружений Conda, доступных на вашем компьютере. +# +# conda create -n env_name python=3.5 - создает новое виртуальное окружение с именем env_name и устанавливает в него Python 3.5. +# +# conda env update -n env_name -f file.yml - Conda добавит или обновит пакеты в указанном окружении в соответствии с содержимым файла file.yml. +# +# source activate env_name - устаревший способ активации окружения Conda, который больше не рекомендуется использовать. Рекомендовано conda activate env_name. +# +# source deactivate - устаревший способ деактивации окружения Conda, который больше не рекомендуется использовать. Рекомендовано conda deactivate. +# +# conda clean -a - полностью очищает кэш Conda, удаляя все ненужные файлы. +# +# 3. вставьте скрин вашего терминала, где вы активировали сначала venv, потом conda, назовите окружение "SENATOROV" +# ![image-3.png](attachment:image-3.png) +# ![image-4.png](attachment:image-4.png) +# ![image-5.png](attachment:image-5.png) +# +# 4. Как установить необходимые пакеты внутрь виртуального окружения для conda/venv? +# conda install package-name +# +# 5. Что делают эти команды? +# pip freeze > requirements.txt +# conda env export > environment.yml +# Сохраняют список зависимостей в файлы requirements.txt и environment.yml +# +# 5.1. вставьте скрин, где будет видна папка VENV в вашем репозитории а также файлы зависимостей requirements.txt и environment.yml, файлы должны содержать зависимости +# ![image.png](attachment:image.png) +# +# 6. Что делают эти команды? +# pip install -r requirements.txt - устанавливает зависимости из файла requirements.txt в текущее виртуальное окружение. +# conda env create -f environment.yml - создает новое виртуальное окружение Conda на основе конфигурации из файла environment.yml. +# +# 7. Что делают эти команды? +# pip list - выводит список установленных зависимостей в текущем окружении (виртуальном или глобальном). +# pip show package name - выводит подробную информацию об установленном пакете. +# conda list - выводит список установленных зависимостей в текущем окружении. +# +# 8. Где по умолчанию больше пакетов venv/pip или conda? и почему дата сайнинисты используют conda? +# По умолчанию пакетов больше в pip. +# Дата-сайнтисты используют Conda из-за: +# - Наличия предустановленных пакетов для data science +# - Кроссплатформенности +# - Управления не-Python зависимостями +# - Более надежное разрешение зависимостей +# +# 9. вставьте скрин где будет видно, Выбор интерпретатора Python (conda) в VS Code/cursor +# ![image-2.png](attachment:image-2.png) +# +# 10. добавьте в .gitignore папку SENATOROV +# Добавил +# +# 11. Зачем нужно виртуально окружение? +# Виртуальное окружение — это изолированное пространство для Python-проекта, в котором устанавливаются фиксированные версии Python и библиотек, независимо от других проектов и системы в целом. +# +# 12. С этого момента надо работать в виртуальном окружении conda, ты научился(-ась) выгружать зависимости и работать с окружением? +# Да. +# +# 13. Удалите папку VENV, она больше не нужна, мы же не разрабы, нам нужна только conda +# Удалил diff --git a/README.md b/README.md index edcf18ea..22f91dfb 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,11 @@ # Data-Science-For-Beginners-from-scratch-SENATOROV -Командный репозиторий. + +Учебный проект + +``` +project_root/ +├── requirements.txt # зависимости проекта +├── setup.py # (если проект - пакет) +├── README.md # описание проекта +└── LICENSE # лицензия +``` diff --git a/github/opensource.ipynb b/github/opensource.ipynb new file mode 100644 index 00000000..cdee54f2 --- /dev/null +++ b/github/opensource.ipynb @@ -0,0 +1,90 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "id": "6ad48f15", + "metadata": { + "vscode": { + "languageId": "plaintext" + } + }, + "outputs": [], + "source": [ + "\"\"\"\n", + "Issue #8 Контрибьютинг в Open Source.\n", + "\n", + "https://github.com/SENATOROVAI/intro-cs/issues/8\n", + "\"\"\"" + ] + }, + { + "cell_type": "markdown", + "id": "6b9f76f1", + "metadata": {}, + "source": [ + "1. Есть ли у него лицензия? Обычно в корне репозитория находится файл LICENSE.\n", + "Да\n", + "\n", + "2. Напишите название понравившейся компании и ссылку на репозиторий\n", + "First Contributions\n", + "https://github.com/firstcontributions/first-contributions\n", + "\n", + "3. Проект активно принимает стороннюю помощь?\n", + "Да\n", + "\n", + "4. Напишите второе улучшение которое вы сделали\n", + "Внес себя в список контрибьюторов.\n", + "\n", + "5. Посмотрите на коммиты в основной ветке, напишите общее количество\n", + "12065\n", + "\n", + "6. Когда был последний коммит?\n", + "1 час назад\n", + "\n", + "7. Сколько контрибьюторов у проекта?\n", + "Более 5000\n", + "\n", + "8. Как часто люди коммитят в репозиторий? (На GitHub выяснить это можно, кликнув по ссылке «Commits» в верхней панели.)\n", + "Несколько коммитов в час\n", + "\n", + "9. Сколько сейчас открытых ишью?\n", + "56\n", + "\n", + "10. Быстро ли мейнтейнеры реагируют на ишью после того, когда они открываются?\n", + "Быстро\n", + "\n", + "11. Ведётся ли активное обсуждение ишью?\n", + "При необходимости\n", + "\n", + "12. Есть ли недавно созданные ишью?\n", + "Да\n", + "\n", + "13. Есть ли закрытые ишью? (На странице Issues GitHub-репозитория щелкните на вкладку «Closed», чтобы увидеть закрытые ишью.)\n", + "Да\n", + "\n", + "14. Сколько сейчас открытых пул-реквестов?\n", + "53\n", + "\n", + "15. Быстро ли мейнтейнеры реагируют на пул-реквесты после их открытия?\n", + "Мой влили через несколько минут\n", + "\n", + "16. Ведётся ли активное обсуждение пул-реквестов?\n", + "Нет\n", + "\n", + "17. Есть ли недавно отправленные пул-реквесты?\n", + "Да\n", + "\n", + "18. Как давно были объединены пул-реквесты? (На странице Pull Request GitHub-репозитория щелкните на вкладку «Closed», чтобы увидеть закрытые пул-реквесты.)\n", + "Час назад" + ] + } + ], + "metadata": { + "language_info": { + "name": "python" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/github/opensource.py b/github/opensource.py new file mode 100644 index 00000000..f3c1a5f3 --- /dev/null +++ b/github/opensource.py @@ -0,0 +1,59 @@ +"""Issue #8 Контрибьютинг в Open Source. + +https://github.com/SENATOROVAI/intro-cs/issues/8 +""" + +# 1. Есть ли у него лицензия? Обычно в корне репозитория находится файл LICENSE. +# Да +# +# 2. Напишите название понравившейся компании и ссылку на репозиторий +# First Contributions +# https://github.com/firstcontributions/first-contributions +# +# 3. Проект активно принимает стороннюю помощь? +# Да +# +# 4. Напишите второе улучшение которое вы сделали +# Внес себя в список контрибьюторов. +# +# 5. Посмотрите на коммиты в основной ветке, напишите общее количество +# 12065 +# +# 6. Когда был последний коммит? +# 1 час назад +# +# 7. Сколько контрибьюторов у проекта? +# Более 5000 +# +# 8. Как часто люди коммитят в репозиторий? (На GitHub выяснить это можно, кликнув по ссылке «Commits» в верхней панели.) +# Несколько коммитов в час +# +# 9. Сколько сейчас открытых ишью? +# 56 +# +# 10. Быстро ли мейнтейнеры реагируют на ишью после того, когда они открываются? +# Быстро +# +# 11. Ведётся ли активное обсуждение ишью? +# При необходимости +# +# 12. Есть ли недавно созданные ишью? +# Да +# +# 13. Есть ли закрытые ишью? (На странице Issues GitHub-репозитория щелкните на вкладку «Closed», чтобы увидеть закрытые ишью.) +# Да +# +# 14. Сколько сейчас открытых пул-реквестов? +# 53 +# +# 15. Быстро ли мейнтейнеры реагируют на пул-реквесты после их открытия? +# Мой влили через несколько минут +# +# 16. Ведётся ли активное обсуждение пул-реквестов? +# Нет +# +# 17. Есть ли недавно отправленные пул-реквесты? +# Да +# +# 18. Как давно были объединены пул-реквесты? (На странице Pull Request GitHub-репозитория щелкните на вкладку «Closed», чтобы увидеть закрытые пул-реквесты.) +# Час назад diff --git a/github/quiz.ipynb b/github/quiz.ipynb new file mode 100644 index 00000000..971ca29e --- /dev/null +++ b/github/quiz.ipynb @@ -0,0 +1,192 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "id": "6b04467c", + "metadata": { + "vscode": { + "languageId": "plaintext" + } + }, + "outputs": [], + "source": [ + "\"\"\"\n", + "Issue #8 Контрибьютинг в Open Source.\n", + "\n", + "https://github.com/SENATOROVAI/intro-cs/issues/8\n", + "\"\"\"" + ] + }, + { + "attachments": { + "image.png": { + "image/png": "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" + } + }, + "cell_type": "markdown", + "id": "5ebeb9d9", + "metadata": {}, + "source": [ + "1.1. Что такое GitHub?\n", + "Портал для совместной разработки с использованием системы контроля версий Git.\n", + "\n", + "1.2. Как GitHub связан с Git?\n", + "GitHub построен на основе Git.\n", + "\n", + "1.3. Чем отличается fork репозитория от его клонирования (clone)?\n", + "При fork создается копия начального репозитория в аккаунте пользователя, полностью подконтрольная пользователю. При этом сохраняется связь с оригинальным репозиторием.\n", + "При clone происходит копирование удаленного репозитория на компьютер.\n", + "\n", + "1.4. Зачем нужны и как работают pull requests?\n", + "Используются для того, чтобы \"слить\" изменения из одной ветки в другую.\n", + "В том числе для внесения изменений в оригинальный репозиторий при fork.\n", + "\n", + "1.5. GitHub использует ваш почтовый адрес для привязки ваших Git коммитов к вашей учётной записи?\n", + "Да\n", + "\n", + "1.6 Какая команда генерирует SSH ключ для Доступа по SSH к репозиторию\n", + "ssh-keygen -o\n", + "\n", + "2.1 Вставьте сюда ссылку на ваше ответвление\n", + "https://github.com/rizespbya/Data-Science-For-Beginners-from-scratch-SENATOROV\n", + "\n", + "2.2 вставьте сюда ссылку на вашу ветку dev\n", + "https://github.com/rizespbya/Data-Science-For-Beginners-from-scratch-SENATOROV/tree/dev\n", + "\n", + "2.4 вставьте номер из пункта 2\n", + "416\n", + "\n", + "2.6 Выполните Merge pull request (Рисунок 116), вставьте сюда ссылку на ваш пул реквест\n", + "https://github.com/rizespbya/Data-Science-For-Beginners-from-scratch-SENATOROV/pull/1\n", + "\n", + "2.7 Вставьте сюда ссылку на закрытые пул реквесты\n", + "https://github.com/SENATOROVAI/Data-Science-For-Beginners-from-scratch-SENATOROV/pulls?q=is%3Apr+is%3Aclosed\n", + "\n", + "2.8 Как посмотреть какие файлы были в репозитории на момент определенного коммита?\n", + "Переходим в список коммитов -> Выбираем нужный коммит -> Browse files\n", + "\n", + "Вставьте сюда ссылку на любой коммит\n", + "https://github.com/rizespbya/Data-Science-For-Beginners-from-scratch-SENATOROV/commit/66a964b0227bc1989009974e6bed40e6c33a80f3\n", + "\n", + "2.9 как открыть запрос слияния, указывающий на другой запрос слияния и зачем это нужно?\n", + "На странице ПР кнопка Edit. Затем изменить целевую ветку.\n", + "\n", + "3. Напишите 8 пунктов, которые нужно сделать, чтобы внести вклад в чужой проект.\n", + "\t1. Создаем fork репозитория, в который хотим внести вклад.\n", + "\t2. Клонируем форкнутый репозиторий на локальный компьютер.\n", + "\t3. Находим ошибку в коде / место, которое можно улучшить.\n", + "\t4. Создаем Issue в оригинальном репозитории с понятным тайтлом, детальным описанием, по возможности прикладываем скриншоты, коды ошибок, трассировку и пр.\n", + "\t5. Вносим изменения в код.\n", + "\t6. Создаем коммит, используя ключевые слова closes и пр со ссылкой на issue.\n", + "\t7. Отправляем коммиты в форкнутый репозиторий.\n", + "\t8. Создаем ПР в оригинальный репозиторий.\n", + "\n", + "3.1. Какие практики принято соблюдать при создании Pull Request чтобы закрыть автоматический issues?\n", + "Какие практики принято соблюдать при создании commit чтобы закрыть автоматический issues?\n", + "В тайтле указываем ссылку на issue или номер issue\n", + "В описании используем ключевые слова со ссылкой на issue или с номером issue:\n", + "-close\n", + "-closes\n", + "-closed\n", + "-fix\n", + "-fixes\n", + "-fixed\n", + "-resolve\n", + "-resolves\n", + "-resolved\n", + "\n", + "3.2 Как отклонить/закрыть пул реквест? (предоставьте скриншот где это в гитхабе)\n", + "Кнопка Close pull request\t\n", + "![image.png](attachment:image.png)\n", + "\n", + "3.3 Перед отправкой пул реквеста нужно ли создавать ишьюс?\n", + "Можно создать ПР и без issue, но для поддержания прозрачного и понятного процесса разработки как правило заранее создают issue, над исправлением которого работают.\n", + "\n", + "3.4 В какой вкладке можно посмотреть список изменений который был в пул реквесте?\n", + "Files changed\n", + "\n", + "3.5 В какой вкладке находится страница обсуждений пул реквеста?\n", + "Conversation\n", + "\n", + "4 Можно ли открыть пул реквест, если вы ничего не вносили в FORK?\n", + "Нет\n", + "\n", + "4.1 Что нужно сделать чтобы открыть пул реквест?\n", + "Запушать изменения в Github. Затем нажать кнопку New pull request\n", + "\n", + "4.2 Что нужно сделать Если ваш Форк устарел?\n", + "Обновить форк.\n", + "Добавляем оригинальный репозиторий в remote\n", + "git remote add upstream https://github.com/оригинал-автор/имя-репозитория.git\n", + "\n", + "После этого в подтягиваем изменения из оригинального репозитории:\n", + "git fetch upstream\n", + "\n", + "И вливаем изменения в свою ветку:\n", + "git merge upstream/main\n", + "\n", + "4.3 Что нужно сделать если в пул реквесте имеются конфликты слияния?\n", + "Обновить локальной свою ветку, подтянув изменения из оригинального репозитория.\n", + "Разрешить конфликты.\n", + "Отправить изменения в Github.\n", + "\n", + "Второй вариант - перебазировать свою ветку.\n", + "\n", + "5. Что нужно сделать Для добавления отрывка кода в комментарии к ишьюсу?\n", + "Использовать ```...```. В идеале с указанием языка, на котором написан код.\n", + "\n", + "5.1 На какую клавишу нажать клавишу чтобы выделенный текст был включён как цитата в ваш комментарий?\n", + ">\n", + "\n", + "5.2 Как вставить картинку в ишьюс?\n", + "Перетащить картинку на поле ввода комментария. Или в поле ввода вставить картинку из буфера.\n", + "\n", + "6. Как понять что ваш форк устарел?\n", + "В вебинтерфейсе появится уведомление \"This branch is X commits behind [оригинальный репозиторий]:main.\"\n", + "Или вручную обновить remote оригинального репозитория и с помощью git log посмотреть коммиты на ветке оригинального репозитория.\n", + "\n", + "6.1 Как обновить форк?\n", + "Добавляем оригинальный репозиторий в remote\n", + "git remote add upstream https://github.com/оригинал-автор/имя-репозитория.git\n", + "\n", + "После этого в подтягиваем изменения из оригинального репозитории:\n", + "git fetch upstream\n", + "\n", + "И вливаем изменения в свою ветку:\n", + "git merge upstream/main\n", + "\n", + "7. Как добавить участников в ваш репозиторий, чтобы команда могла работать над одним репозиторием?\n", + "Settings -> Collaborators\n", + "\n", + "8. Какой символ нужен для упоминания кого-либо?\n", + "@\n", + "\n", + "8.1 Где находится Центр уведомлений, напишите ссылку\n", + "https://github.com/notifications\n", + "\n", + "9. Что такое и зачем нужен файл README\n", + "Содержит описание проекта. А так же инструкции по установке зависимостей, запуску и использованию\n", + "\n", + "9.1 Что такое и зачем нужен файл CONTRIBUTING\n", + "Файл, описывающий правила и стандарты для open source работы над проектом\n", + "\n", + "10. Как изменить основную ветку?\n", + "Settings -> General -> Default branch\n", + "\n", + "10.1 Как передать проект? какая кнопка?\n", + "Кнопка \"Transfer ownership\" в Settings -> General\n", + "\n", + "10.2 Что такое файл .gitignore?\n", + "Файл, который содержит перечень файлов и папок (в том числе в виде шаблонов), которые не должны отслеживаться." + ] + } + ], + "metadata": { + "language_info": { + "name": "python" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/github/quiz.py b/github/quiz.py new file mode 100644 index 00000000..eacbf98f --- /dev/null +++ b/github/quiz.py @@ -0,0 +1,156 @@ +"""Issue #8 Контрибьютинг в Open Source. + +https://github.com/SENATOROVAI/intro-cs/issues/8 +""" + +# 1.1. Что такое GitHub? +# Портал для совместной разработки с использованием системы контроля версий Git. +# +# 1.2. Как GitHub связан с Git? +# GitHub построен на основе Git. +# +# 1.3. Чем отличается fork репозитория от его клонирования (clone)? +# При fork создается копия начального репозитория в аккаунте пользователя, полностью подконтрольная пользователю. При этом сохраняется связь с оригинальным репозиторием. +# При clone происходит копирование удаленного репозитория на компьютер. +# +# 1.4. Зачем нужны и как работают pull requests? +# Используются для того, чтобы "слить" изменения из одной ветки в другую. +# В том числе для внесения изменений в оригинальный репозиторий при fork. +# +# 1.5. GitHub использует ваш почтовый адрес для привязки ваших Git коммитов к вашей учётной записи? +# Да +# +# 1.6 Какая команда генерирует SSH ключ для Доступа по SSH к репозиторию +# ssh-keygen -o +# +# 2.1 Вставьте сюда ссылку на ваше ответвление +# https://github.com/rizespbya/Data-Science-For-Beginners-from-scratch-SENATOROV +# +# 2.2 вставьте сюда ссылку на вашу ветку dev +# https://github.com/rizespbya/Data-Science-For-Beginners-from-scratch-SENATOROV/tree/dev +# +# 2.4 вставьте номер из пункта 2 +# 416 +# +# 2.6 Выполните Merge pull request (Рисунок 116), вставьте сюда ссылку на ваш пул реквест +# https://github.com/rizespbya/Data-Science-For-Beginners-from-scratch-SENATOROV/pull/1 +# +# 2.7 Вставьте сюда ссылку на закрытые пул реквесты +# https://github.com/SENATOROVAI/Data-Science-For-Beginners-from-scratch-SENATOROV/pulls?q=is%3Apr+is%3Aclosed +# +# 2.8 Как посмотреть какие файлы были в репозитории на момент определенного коммита? +# Переходим в список коммитов -> Выбираем нужный коммит -> Browse files +# +# Вставьте сюда ссылку на любой коммит +# https://github.com/rizespbya/Data-Science-For-Beginners-from-scratch-SENATOROV/commit/66a964b0227bc1989009974e6bed40e6c33a80f3 +# +# 2.9 как открыть запрос слияния, указывающий на другой запрос слияния и зачем это нужно? +# На странице ПР кнопка Edit. Затем изменить целевую ветку. +# +# 3. Напишите 8 пунктов, которые нужно сделать, чтобы внести вклад в чужой проект. +# 1. Создаем fork репозитория, в который хотим внести вклад. +# 2. Клонируем форкнутый репозиторий на локальный компьютер. +# 3. Находим ошибку в коде / место, которое можно улучшить. +# 4. Создаем Issue в оригинальном репозитории с понятным тайтлом, детальным описанием, по возможности прикладываем скриншоты, коды ошибок, трассировку и пр. +# 5. Вносим изменения в код. +# 6. Создаем коммит, используя ключевые слова closes и пр со ссылкой на issue. +# 7. Отправляем коммиты в форкнутый репозиторий. +# 8. Создаем ПР в оригинальный репозиторий. +# +# 3.1. Какие практики принято соблюдать при создании Pull Request чтобы закрыть автоматический issues? +# Какие практики принято соблюдать при создании commit чтобы закрыть автоматический issues? +# В тайтле указываем ссылку на issue или номер issue +# В описании используем ключевые слова со ссылкой на issue или с номером issue: +# -close +# -closes +# -closed +# -fix +# -fixes +# -fixed +# -resolve +# -resolves +# -resolved +# +# 3.2 Как отклонить/закрыть пул реквест? (предоставьте скриншот где это в гитхабе) +# Кнопка Close pull request +# ![image.png](attachment:image.png) +# +# 3.3 Перед отправкой пул реквеста нужно ли создавать ишьюс? +# Можно создать ПР и без issue, но для поддержания прозрачного и понятного процесса разработки как правило заранее создают issue, над исправлением которого работают. +# +# 3.4 В какой вкладке можно посмотреть список изменений который был в пул реквесте? +# Files changed +# +# 3.5 В какой вкладке находится страница обсуждений пул реквеста? +# Conversation +# +# 4 Можно ли открыть пул реквест, если вы ничего не вносили в FORK? +# Нет +# +# 4.1 Что нужно сделать чтобы открыть пул реквест? +# Запушать изменения в Github. Затем нажать кнопку New pull request +# +# 4.2 Что нужно сделать Если ваш Форк устарел? +# Обновить форк. +# Добавляем оригинальный репозиторий в remote +# git remote add upstream https://github.com/оригинал-автор/имя-репозитория.git +# +# После этого в подтягиваем изменения из оригинального репозитории: +# git fetch upstream +# +# И вливаем изменения в свою ветку: +# git merge upstream/main +# +# 4.3 Что нужно сделать если в пул реквесте имеются конфликты слияния? +# Обновить локальной свою ветку, подтянув изменения из оригинального репозитория. +# Разрешить конфликты. +# Отправить изменения в Github. +# +# Второй вариант - перебазировать свою ветку. +# +# 5. Что нужно сделать Для добавления отрывка кода в комментарии к ишьюсу? +# Использовать ```...```. В идеале с указанием языка, на котором написан код. +# +# 5.1 На какую клавишу нажать клавишу чтобы выделенный текст был включён как цитата в ваш комментарий? +# > +# +# 5.2 Как вставить картинку в ишьюс? +# Перетащить картинку на поле ввода комментария. Или в поле ввода вставить картинку из буфера. +# +# 6. Как понять что ваш форк устарел? +# В вебинтерфейсе появится уведомление "This branch is X commits behind [оригинальный репозиторий]:main." +# Или вручную обновить remote оригинального репозитория и с помощью git log посмотреть коммиты на ветке оригинального репозитория. +# +# 6.1 Как обновить форк? +# Добавляем оригинальный репозиторий в remote +# git remote add upstream https://github.com/оригинал-автор/имя-репозитория.git +# +# После этого в подтягиваем изменения из оригинального репозитории: +# git fetch upstream +# +# И вливаем изменения в свою ветку: +# git merge upstream/main +# +# 7. Как добавить участников в ваш репозиторий, чтобы команда могла работать над одним репозиторием? +# Settings -> Collaborators +# +# 8. Какой символ нужен для упоминания кого-либо? +# @ +# +# 8.1 Где находится Центр уведомлений, напишите ссылку +# https://github.com/notifications +# +# 9. Что такое и зачем нужен файл README +# Содержит описание проекта. А так же инструкции по установке зависимостей, запуску и использованию +# +# 9.1 Что такое и зачем нужен файл CONTRIBUTING +# Файл, описывающий правила и стандарты для open source работы над проектом +# +# 10. Как изменить основную ветку? +# Settings -> General -> Default branch +# +# 10.1 Как передать проект? какая кнопка? +# Кнопка "Transfer ownership" в Settings -> General +# +# 10.2 Что такое файл .gitignore? +# Файл, который содержит перечень файлов и папок (в том числе в виде шаблонов), которые не должны отслеживаться. diff --git a/log.ipynb b/log.ipynb new file mode 100644 index 00000000..17bc0f8f --- /dev/null +++ b/log.ipynb @@ -0,0 +1,57 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "id": "f543d276", + "metadata": {}, + "outputs": [], + "source": [ + "\"\"\"Логирование уроков.\"\"\"" + ] + }, + { + "cell_type": "markdown", + "id": "62ec06cd", + "metadata": {}, + "source": [ + "28/06 - 10/07\n", + "\n", + "1. Завел необходимые аккаунты (git, kaggle, ods, canva)\n", + "2. Настраивал VSCode (долго не запускался mypy)\n", + "3. Настроил ВПН" + ] + }, + { + "cell_type": "markdown", + "id": "1e35fdf9", + "metadata": {}, + "source": [ + "11/07\n", + "\n", + "1. Изучал систему отправки отчетов" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "base", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.12.7" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/log.py b/log.py new file mode 100644 index 00000000..e9dc1b63 --- /dev/null +++ b/log.py @@ -0,0 +1,11 @@ +"""Логирование уроков.""" + +# 28/06 - 10/07 +# +# 1. Завел необходимые аккаунты (git, kaggle, ods, canva) +# 2. Настраивал VSCode (долго не запускался mypy) +# 3. Настроил ВПН + +# 11/07 +# +# 1. Изучал систему отправки отчетов diff --git a/tests/quiz/dir b/tests/quiz/dir deleted file mode 100644 index 8b137891..00000000 --- a/tests/quiz/dir +++ /dev/null @@ -1 +0,0 @@ - diff --git a/tests/quiz/quiz.ipynb b/tests/quiz/quiz.ipynb new file mode 100644 index 00000000..30fac097 --- /dev/null +++ b/tests/quiz/quiz.ipynb @@ -0,0 +1,289 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "id": "374fe137", + "metadata": { + "vscode": { + "languageId": "plaintext" + } + }, + "outputs": [], + "source": [ + "\"\"\"\n", + "Квиз ишью Quiz #6.\n", + "\n", + "https://github.com/SENATOROVAI/intro-cs/issues/6\n", + "\"\"\"" + ] + }, + { + "cell_type": "markdown", + "id": "a9093402", + "metadata": {}, + "source": [ + "Список вопросов к видео https://youtu.be/hW_7hodGxVU?si=tCEVs00xGt2q61eW (АЛГОРИТМ ПРИНЯТИЯ И ОТДАЧИ ДОМАШКИ):\n", + " \n", + "(По желанию )В ответе подробно всё опишите и обязательно нужно указывать тайм код из видео где я это сказал, по желанию, дополнительно прикладываем скриншот из видео.\n", + "Если вы знаете ответы на вопросы из Вашего опыта, то таймкоды из видео не надо указывать и т.д.\n", + "\n", + "1) Как понять, что домашка пришла?\n", + "Чат HomeWork. Сообщение вида:\n", + "\"@ник прими пул\"\n", + "00:05\n", + "\n", + "2) Как принять домашку?\n", + "В Github Desktop делаем fetch origin\n", + "Смотрим подтянувшиеся коммиты (последний или несколько последних).\n", + "Затем \"Open in VSCode\".\n", + "00:17\n", + "\n", + "3) Зачем нужна кнопка history и какие функции появляются при нажатии правой кнопки мыши на коммит?\n", + "Кнопка history открывает историю коммитов. При клике правой кнопкой на коммит открывается контекстное меню, в котором доступны операции с коммитом: Reset, Revert, Amend, View on Github и пр.\n", + "00:33\n", + "\n", + "3.1) Где брать ссылку на коммит? куда её отправлять? \n", + "Ссылку на коммит берем в github на странице коммита.\n", + "Скидываем в чат HomeWork с припиской \"Коммит отдал\"\n", + "03:59\n", + "\n", + "4) Что такое файл лога?\n", + "Файл log.ipynb надо заполнять в конце каждого урока. Заносить информацию о том, что было сделано.\n", + "\n", + "4.1) Когда нужно его пушить?\n", + "Понедельник, среда, пятница\n", + "\n", + "5) Что такое интерпретатор? \n", + "Программа, которая построчно выполняет код\n", + "02:49\n", + "\n", + "6) Где можно выбрать интерпретатор?\n", + "При первом запуске ячейки вверху появляется список интерпретаторов, из которого нужно выбрать нужный (anaconda)\n", + "Так же интерпретатор можно выбрать кликом на кнопку в правом верхнем углу \"Select Kernel\"\n", + "02:55\n", + "\n", + "7) Что такое модуль?\n", + "В контексте Python это файл *.py или *.ipynb\n", + "08:50\n", + "\n", + "8) Как создать и отправить коммит?\n", + "Github Desktop -> Changes -> Заполняем заголовок коммита и описание -> Commit to main -> Push origin\n", + "03:13\n", + "\n", + "9) Как посмотреть что коммит точно отправлен и находится в github?\n", + "History -> Правой кнопкой на коммит -> View on Github\n", + "03:50\n", + "\n", + "10) Какая команда показывает что код не прошёл проверки на ошибки? \n", + "pre-commit run --all-files\n", + "05:55\n", + "\n", + "10.1) Напишите список линтеров которые используются для проверки кода и дайте их краткую характеристику.\n", + "docformatter - форматирует docstrings.\n", + "Add trailing commas - добавляет запятые в конце списков/словарей/аргументов.\n", + "black - автоматический форматтер кода.\n", + "nbqa-black - применяет black для файлов *.ipynb.\n", + "pyupgrade - обновляет синтаксис Python до более современного.\n", + "nbqu-pyupgrade - применяет pyupgrade для файлов *.ipynb.\n", + "isort - сортирует и группирует импорты.\n", + "nbqu-isort - применяет isort для файлов *.ipynb.\n", + "blacken-docs - применяет Black к коду внутри документации.\n", + "trim trailing whitespaces - удаляет пробелы в конце строк.\n", + "check yaml - проверяет синтаксис YAML-файлов.\n", + "debug statements (python) - ищет оставленные print(), pdb.set_trace(), breakpoint() и т.п.\n", + "python tests naming - проверяет, что тесты названы по соглашению (например, test_*.py, Test*, test_*())\n", + "fix requirements.txt - нормализует/исправляет requirements.txt.\n", + "codespell - орфографические ищет ошибки в коде и комментариях.\n", + "flake8 - проверяет стиль кода и ошибки.\n", + "nbqa-flake8 - применяет flake8 для файлов *.ipynb.\n", + "mypy - статический анализ типов.\n", + "nbqa-mypy - применяет mypy для файлов *.ipynb.\n", + "pylint - мощный линтер, который проверяет стиль, ошибки, архитектура, дублирование кода.\n", + "nbqa-pylint - применяет pylint для файлов *.ipynb.\n", + "nbqa-pydocstyle - проверяет соответствие docstrings стандарту PEP 257 для файлов *.ipynb.\n", + "05:20\n", + "\n", + "11) Как узнать какой именно линтер не прошёл проверку?\n", + "В логах в Терминале после выполнения команды pre-commit run --all-files.\n", + "06:30\n", + "\n", + "12) Линтер Pylint видит markdown?\n", + "Нет\n", + "07:10\n", + "\n", + "13) Номер ячейки в терминале и номер ячейки в vs code может отличаться? в каком случае?\n", + "Может. Если в файле ipynb есть ячейки маркдаун, линтер их игнорирует.\n", + "\n", + "14) Где посмотреть номер ячейки в vscode?\n", + "В нижней панели VSCode\n", + "07:20\n", + "\n", + "15) В каком формате ipynb отправляется в гитхаб? причём здесь JSON?\n", + "В формате JSON\n", + "\n", + "16) Где посмотреть в какой ячейке ошибка?\n", + "В логах в Терминале после выполнения команды pre-commit run --all-files\n", + "06:39\n", + "\n", + "17) Как запустить терминал?\n", + "В VSCode: Terminal -> New Terminal\n", + "05:55\n", + "\n", + "18) Что такое линтер?\n", + "Статический анализатор кода, который проверяет наш код на ошибки.\n", + "06:13\n", + "\n", + "19) В какой сайт нужно вставлять код ошибки если ошибка связана с pylint?\n", + "https://pylint.readthedocs.io/\n", + "08:13\n", + "\n", + "20) Секция pydocstyle в большинстве случае автоматический закрывается после исправления ошибок в каком линтере?\n", + "Да\n", + "10:13\n", + "\n", + "\n", + "21) Что такое описание модуля? Оно должно отражать информацию о том что находится в модуле?\n", + "Да, это информация о том, что находится в модуле.\n", + "08:45\n", + "\n", + "21.1) С какой git команды начинается утро программиста?\n", + "git pull / git fetch\n", + "\n", + "22) После внесения изменений в файлах, кнопка open in vs code пропадает в кошке, как по другому открыть vs code из кошки?\n", + "Правкой кнопкой мыши на Current repository -> Open in VSCode\n", + "14:13\n", + "\n", + "23) Что такое stash? \n", + "Это \"тайник\", куда мы временно можем спрятать изменения, сделанные в файлах. При этом файлы откатываются до состояния предыдущего коммита.\n", + "\n", + "23.1) Как сохранить стэш?\n", + " Вначале добавляем файлы в Stage (например, git add .)\n", + " Затем:\n", + " git stash - сохранить в stash\n", + " git stash save \"NAME_STASH\" - сохранить в stash с указанием алиаса\n", + "\n", + " Кнопка в vs code:\n", + " Вкладка \"Source Control\" -> Кнопка \"Стрелка с +\" Stash All Changes.\n", + " Или три точки -> Контекстное меню -> Пункт Stash\n", + "\n", + "23.2) Как восстановить стэш(подсказка: https://t.me/c/1937296927/3602/25747)?:\n", + " git stash apply \"NUMBER_STASH\" - извлечь stash по указанному имени без его удаления из stash\n", + " git stash pop - извлекает stash и удаляет его из stash\n", + " \n", + "\n", + "23.3) Различие между стэшем и коммитом. \n", + " Коммит - фиксирует изменения в истории. Можно отправить в удаленный репозиторий и поделиться с коллегами.\n", + " Stash - временно \"скрывает\" незакоммиченные локальные изменения\n", + "\n", + "23.4) Как просмотреть список сохраненных стэшей? \n", + "git stash list\n", + "\n", + "23.5) Как удалить стэш? \n", + "git stash pop\n", + "git stash clear\n", + "\n", + "23.6) Практические примеры использования стэша. \n", + " Чаще всего используется, чтобы сделать git pull и обновить ветку. Реже для быстрого отката незакомиченных изменений.\n", + "\n", + "24) Где посмотреть что есть конфликт в файлах?\n", + "В Github Desktop красный треугольник с восклицательным знаком. Или в VSCode во вкладке Source Control\n", + "16:17\n", + "\n", + "24.1) Когда он появляется?\n", + "Он появляется во время ПР или во время подтягивания изменений в ветку.\n", + "16:17\n", + "\n", + "25) Как решить конфликт в файлах?\n", + "Accept Current Change\n", + "Accept Incoming Change\n", + "Accept Both Changes\n", + "\n", + "Или редактирование вручную\n", + "16:40\n", + "\n", + "26) Напишиие правильное утверждение\n", + "-Зелёное то что пришло с гитхаба и синее локальные изменения или синее то что пришло с гитхаба и зелёное это локальные изменения \n", + "Зелёное то что пришло с гитхаба и синее локальные изменения\n", + "16:33\n", + "\n", + "27) Если мы работаем в одном файле, можно ли принять pull после того как вы спрячете в стэш свои изменения? \n", + "Да\n", + "\n", + "27.1) Что может произойти когда stash восстановите после принятия pull?\n", + "Может произойти Merge Conflict\n", + "\n", + "28) Сколько способов решения конфликтов было показано в видео? Напишите ЧИСЛО и укажите их способы.\n", + "Accept Current Change\n", + "Accept Incoming Change\n", + "Accept Both Changes\n", + "\n", + "Или редактирование вручную\n", + "16:40\n", + "\n", + "29) Что делает кнопка complete merge?\n", + "Завершает merge после разрешения merge-конфликтов\n", + "\n", + "30) В какой чат нужно писать если остались вопросы?\n", + "HELP ME\n", + "18:31\n", + "\n", + "31) Что такое FORK? Зачем его делают? \n", + "Копирование к себе чужого репозитория\n", + "19:05\n", + "\n", + "32) Как скачать форкнутый репозиторий на локальный компьютер?\n", + "Через Github Desktop -> Clone repository\n", + "Или через командную строку git clone\n", + "19:40\n", + "\n", + "33) С какой вероятностью ваши ошибки были уже решены? и кто их решил?\n", + "Скорее всего, уже были решены. Если речь о стороннем коде - другими разработчиками. Если речь об ошибках во время обучения - другими студентами, Русланом.\n", + "\n", + "34) Как создать файл в vs code?\n", + "Меню File -> New File\n", + "Кнопка New File в VSCode (листок с +)\n", + "\n", + "35) Файл лога нужно заполнять в конце каждого урока?\n", + "Да\n", + "==================\n", + "\n", + "Дополнительные вопросы:\n", + "1)Какая команда конвертирует файл в py из ipynb? \n", + "jupytext notebook.ipynb --to py\n", + "\n", + "2) Что такое пакетный менеджер? Вы пользуетесь пакетным менеджером conda или pip? Какой лучше использовать для дата сайнс?\n", + "Это программа для менеджмента зависимостей. Использую pip. Лучше pip\n", + "\n", + "3) Почему расширение py лучше чем ipynb?\n", + "Более чистый и читаемый код.\n", + "Возможность сразу импортировать и использовать в другом коде.\n", + "\n", + "4) Что такое pep8? \n", + "Руководство по стилю кода Python.\n", + "\n", + "4.1) линтеры проверяют на соблюдение pep8?\n", + "Да\n", + "\n", + "4.2) Какая нотация используется для создания переменных? \n", + "snake_case\n", + "\n", + "4.3) Может ли переменная состоять из одной буквы например андерскор \"_\" ?\n", + "Да\n", + "\n", + "4.4) Зачем и где мы используем андерскор _\n", + "Для неиспользуемых переменных / неиспользуемых позиционных аргументов.\n", + "\n", + "4.5) По PEP8 допустима переменная в одну букву?\n", + "Да\n" + ] + } + ], + "metadata": { + "language_info": { + "name": "python" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/tests/quiz/quiz.py b/tests/quiz/quiz.py new file mode 100644 index 00000000..aebca721 --- /dev/null +++ b/tests/quiz/quiz.py @@ -0,0 +1,259 @@ +"""Квиз ишью Quiz #6. + +https://github.com/SENATOROVAI/intro-cs/issues/6 +""" + +# Список вопросов к видео https://youtu.be/hW_7hodGxVU?si=tCEVs00xGt2q61eW (АЛГОРИТМ ПРИНЯТИЯ И ОТДАЧИ ДОМАШКИ): +# +# (По желанию )В ответе подробно всё опишите и обязательно нужно указывать тайм код из видео где я это сказал, по желанию, дополнительно прикладываем скриншот из видео. +# Если вы знаете ответы на вопросы из Вашего опыта, то таймкоды из видео не надо указывать и т.д. +# +# 1) Как понять, что домашка пришла? +# Чат HomeWork. Сообщение вида: +# "@ник прими пул" +# 00:05 +# +# 2) Как принять домашку? +# В Github Desktop делаем fetch origin +# Смотрим подтянувшиеся коммиты (последний или несколько последних). +# Затем "Open in VSCode". +# 00:17 +# +# 3) Зачем нужна кнопка history и какие функции появляются при нажатии правой кнопки мыши на коммит? +# Кнопка history открывает историю коммитов. При клике правой кнопкой на коммит открывается контекстное меню, в котором доступны операции с коммитом: Reset, Revert, Amend, View on Github и пр. +# 00:33 +# +# 3.1) Где брать ссылку на коммит? куда её отправлять? +# Ссылку на коммит берем в github на странице коммита. +# Скидываем в чат HomeWork с припиской "Коммит отдал" +# 03:59 +# +# 4) Что такое файл лога? +# Файл log.ipynb надо заполнять в конце каждого урока. Заносить информацию о том, что было сделано. +# +# 4.1) Когда нужно его пушить? +# Понедельник, среда, пятница +# +# 5) Что такое интерпретатор? +# Программа, которая построчно выполняет код +# 02:49 +# +# 6) Где можно выбрать интерпретатор? +# При первом запуске ячейки вверху появляется список интерпретаторов, из которого нужно выбрать нужный (anaconda) +# Так же интерпретатор можно выбрать кликом на кнопку в правом верхнем углу "Select Kernel" +# 02:55 +# +# 7) Что такое модуль? +# В контексте Python это файл *.py или *.ipynb +# 08:50 +# +# 8) Как создать и отправить коммит? +# Github Desktop -> Changes -> Заполняем заголовок коммита и описание -> Commit to main -> Push origin +# 03:13 +# +# 9) Как посмотреть что коммит точно отправлен и находится в github? +# History -> Правой кнопкой на коммит -> View on Github +# 03:50 +# +# 10) Какая команда показывает что код не прошёл проверки на ошибки? +# pre-commit run --all-files +# 05:55 +# +# 10.1) Напишите список линтеров которые используются для проверки кода и дайте их краткую характеристику. +# docformatter - форматирует docstrings. +# Add trailing commas - добавляет запятые в конце списков/словарей/аргументов. +# black - автоматический форматтер кода. +# nbqa-black - применяет black для файлов *.ipynb. +# pyupgrade - обновляет синтаксис Python до более современного. +# nbqu-pyupgrade - применяет pyupgrade для файлов *.ipynb. +# isort - сортирует и группирует импорты. +# nbqu-isort - применяет isort для файлов *.ipynb. +# blacken-docs - применяет Black к коду внутри документации. +# trim trailing whitespaces - удаляет пробелы в конце строк. +# check yaml - проверяет синтаксис YAML-файлов. +# debug statements (python) - ищет оставленные print(), pdb.set_trace(), breakpoint() и т.п. +# python tests naming - проверяет, что тесты названы по соглашению (например, test_*.py, Test*, test_*()) +# fix requirements.txt - нормализует/исправляет requirements.txt. +# codespell - орфографические ищет ошибки в коде и комментариях. +# flake8 - проверяет стиль кода и ошибки. +# nbqa-flake8 - применяет flake8 для файлов *.ipynb. +# mypy - статический анализ типов. +# nbqa-mypy - применяет mypy для файлов *.ipynb. +# pylint - мощный линтер, который проверяет стиль, ошибки, архитектура, дублирование кода. +# nbqa-pylint - применяет pylint для файлов *.ipynb. +# nbqa-pydocstyle - проверяет соответствие docstrings стандарту PEP 257 для файлов *.ipynb. +# 05:20 +# +# 11) Как узнать какой именно линтер не прошёл проверку? +# В логах в Терминале после выполнения команды pre-commit run --all-files. +# 06:30 +# +# 12) Линтер Pylint видит markdown? +# Нет +# 07:10 +# +# 13) Номер ячейки в терминале и номер ячейки в vs code может отличаться? в каком случае? +# Может. Если в файле ipynb есть ячейки маркдаун, линтер их игнорирует. +# +# 14) Где посмотреть номер ячейки в vscode? +# В нижней панели VSCode +# 07:20 +# +# 15) В каком формате ipynb отправляется в гитхаб? причём здесь JSON? +# В формате JSON +# +# 16) Где посмотреть в какой ячейке ошибка? +# В логах в Терминале после выполнения команды pre-commit run --all-files +# 06:39 +# +# 17) Как запустить терминал? +# В VSCode: Terminal -> New Terminal +# 05:55 +# +# 18) Что такое линтер? +# Статический анализатор кода, который проверяет наш код на ошибки. +# 06:13 +# +# 19) В какой сайт нужно вставлять код ошибки если ошибка связана с pylint? +# https://pylint.readthedocs.io/ +# 08:13 +# +# 20) Секция pydocstyle в большинстве случае автоматический закрывается после исправления ошибок в каком линтере? +# Да +# 10:13 +# +# +# 21) Что такое описание модуля? Оно должно отражать информацию о том что находится в модуле? +# Да, это информация о том, что находится в модуле. +# 08:45 +# +# 21.1) С какой git команды начинается утро программиста? +# git pull / git fetch +# +# 22) После внесения изменений в файлах, кнопка open in vs code пропадает в кошке, как по другому открыть vs code из кошки? +# Правкой кнопкой мыши на Current repository -> Open in VSCode +# 14:13 +# +# 23) Что такое stash? +# Это "тайник", куда мы временно можем спрятать изменения, сделанные в файлах. При этом файлы откатываются до состояния предыдущего коммита. +# +# 23.1) Как сохранить стэш? +# Вначале добавляем файлы в Stage (например, git add .) +# Затем: +# git stash - сохранить в stash +# git stash save "NAME_STASH" - сохранить в stash с указанием алиаса +# +# Кнопка в vs code: +# Вкладка "Source Control" -> Кнопка "Стрелка с +" Stash All Changes. +# Или три точки -> Контекстное меню -> Пункт Stash +# +# 23.2) Как восстановить стэш(подсказка: https://t.me/c/1937296927/3602/25747)?: +# git stash apply "NUMBER_STASH" - извлечь stash по указанному имени без его удаления из stash +# git stash pop - извлекает stash и удаляет его из stash +# +# +# 23.3) Различие между стэшем и коммитом. +# Коммит - фиксирует изменения в истории. Можно отправить в удаленный репозиторий и поделиться с коллегами. +# Stash - временно "скрывает" незакоммиченные локальные изменения +# +# 23.4) Как просмотреть список сохраненных стэшей? +# git stash list +# +# 23.5) Как удалить стэш? +# git stash pop +# git stash clear +# +# 23.6) Практические примеры использования стэша. +# Чаще всего используется, чтобы сделать git pull и обновить ветку. Реже для быстрого отката незакомиченных изменений. +# +# 24) Где посмотреть что есть конфликт в файлах? +# В Github Desktop красный треугольник с восклицательным знаком. Или в VSCode во вкладке Source Control +# 16:17 +# +# 24.1) Когда он появляется? +# Он появляется во время ПР или во время подтягивания изменений в ветку. +# 16:17 +# +# 25) Как решить конфликт в файлах? +# Accept Current Change +# Accept Incoming Change +# Accept Both Changes +# +# Или редактирование вручную +# 16:40 +# +# 26) Напишиие правильное утверждение +# -Зелёное то что пришло с гитхаба и синее локальные изменения или синее то что пришло с гитхаба и зелёное это локальные изменения +# Зелёное то что пришло с гитхаба и синее локальные изменения +# 16:33 +# +# 27) Если мы работаем в одном файле, можно ли принять pull после того как вы спрячете в стэш свои изменения? +# Да +# +# 27.1) Что может произойти когда stash восстановите после принятия pull? +# Может произойти Merge Conflict +# +# 28) Сколько способов решения конфликтов было показано в видео? Напишите ЧИСЛО и укажите их способы. +# Accept Current Change +# Accept Incoming Change +# Accept Both Changes +# +# Или редактирование вручную +# 16:40 +# +# 29) Что делает кнопка complete merge? +# Завершает merge после разрешения merge-конфликтов +# +# 30) В какой чат нужно писать если остались вопросы? +# HELP ME +# 18:31 +# +# 31) Что такое FORK? Зачем его делают? +# Копирование к себе чужого репозитория +# 19:05 +# +# 32) Как скачать форкнутый репозиторий на локальный компьютер? +# Через Github Desktop -> Clone repository +# Или через командную строку git clone +# 19:40 +# +# 33) С какой вероятностью ваши ошибки были уже решены? и кто их решил? +# Скорее всего, уже были решены. Если речь о стороннем коде - другими разработчиками. Если речь об ошибках во время обучения - другими студентами, Русланом. +# +# 34) Как создать файл в vs code? +# Меню File -> New File +# Кнопка New File в VSCode (листок с +) +# +# 35) Файл лога нужно заполнять в конце каждого урока? +# Да +# ================== +# +# Дополнительные вопросы: +# 1)Какая команда конвертирует файл в py из ipynb? +# jupytext notebook.ipynb --to py +# +# 2) Что такое пакетный менеджер? Вы пользуетесь пакетным менеджером conda или pip? Какой лучше использовать для дата сайнс? +# Это программа для менеджмента зависимостей. Использую pip. Лучше pip +# +# 3) Почему расширение py лучше чем ipynb? +# Более чистый и читаемый код. +# Возможность сразу импортировать и использовать в другом коде. +# +# 4) Что такое pep8? +# Руководство по стилю кода Python. +# +# 4.1) линтеры проверяют на соблюдение pep8? +# Да +# +# 4.2) Какая нотация используется для создания переменных? +# snake_case +# +# 4.3) Может ли переменная состоять из одной буквы например андерскор "_" ? +# Да +# +# 4.4) Зачем и где мы используем андерскор _ +# Для неиспользуемых переменных / неиспользуемых позиционных аргументов. +# +# 4.5) По PEP8 допустима переменная в одну букву? +# Да +# diff --git a/tests/quiz/quiz2.ipynb b/tests/quiz/quiz2.ipynb new file mode 100644 index 00000000..cd3d7702 --- /dev/null +++ b/tests/quiz/quiz2.ipynb @@ -0,0 +1,198 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "id": "b286b6de", + "metadata": { + "vscode": { + "languageId": "plaintext" + } + }, + "outputs": [], + "source": [ + "\"\"\"\n", + "Квиз2 ишью Quiz #6.\n", + "\n", + "https://github.com/SENATOROVAI/intro-cs/issues/6\n", + "\"\"\"" + ] + }, + { + "cell_type": "markdown", + "id": "f7ab0a33", + "metadata": {}, + "source": [ + "Список вопросов к видео https://youtu.be/Si9MfV8uJ-0?si=JXHe-tsgOEwSTI5E (НАСТРОЙКА VSCODE, перенос строк, линтеры, работа с ячейками):\n", + "\n", + "(По желанию)В ответе подробно всё опишите и обязательно нужно указывать тайм код из видео где я это сказал, по желанию, дополнительно прикладываем скриншот из видео.\n", + "Если вы знаете ответы на вопросы из Вашего опыта, то таймкоды из видео не надо указывать и т.д.\n", + "\n", + "1. Как включить автосохранение данных в VSCODE?\n", + "File -> Auto Save\n", + "00:09\n", + "\n", + "2. Как настроить перенос строки? \n", + "Preferences -> Settings -> В поиск пишем \"wrap\"\n", + "Word Wrap выставляем on\n", + "Word Wrap Column выставляем 79\n", + "00:15\n", + "\n", + "Если надо изменить длину строки только для языка Python, то переходим в json с настройками VSCode (иконка в правом верхнем углу Open Settings (JSON)). И добавляем в настройки блок кода:\n", + " \"[python]\": {\n", + " \"editor.wordWrap\": \"wordWrapColumn\",\n", + " \"editor.wordWrapColumn\": 79,\n", + " },\n", + "\n", + "\n", + "3. Сколько символов по pep8 разрешено на строке?\n", + "79\n", + "00:23\n", + "\n", + "4. Какие способы переноса строк показаны в видео:\n", + "01:40\n", + "\n", + "Показаны способы:\n", + "4.6 Сложение строк с помощью +\n", + "03:40\n", + "\n", + "4.1 Строки с использованием обратного слэша (\\)\n", + "\n", + "string_continued = \"This is a long string that we want to \" \\\n", + " \"split across multiple lines.\"\n", + "print(string_continued)\n", + "\n", + "4.2 Тройные кавычки (''' или \"\"\") \n", + "\n", + "multi_line_string = \"\"\"This is a string that spans\n", + "multiple lines. You can write freely\n", + "and it will keep the line breaks.\"\"\"\n", + "print(multi_line_string)\n", + "\n", + "4.3 Создание списка строк и объединение с помощью join\n", + "\n", + "strings = [\n", + " \"This is the first line.\",\n", + " \"This is the second line.\",\n", + " \"This is the third line.\"\n", + "]\n", + "result = \"\\n\".join(strings) # Используем перенос строк '\\n'\n", + "print(result)\n", + "\n", + "4.4 Использование круглых скобок для продолжения строки\n", + "long_string = (\n", + " \"This is a very long string that I would like to \"\n", + " \"continue on the next line.\"\n", + ")\n", + "print(long_string)\n", + "\n", + "4.5 Форматированные строки (f-строки) с использованием скобок\n", + "letter_a = 5\n", + "letter_b = 6\n", + "product_ab = letter_a * letter_b\n", + "\n", + "message = (\n", + " f\"when {letter_a} is multiplied by {letter_b}, \"\n", + " f\"the result is {product_ab}\"\n", + ")\n", + "print(message)\n", + "\n", + "4.6 Сложение строк с помощью +\n", + "string_part1 = \"This is the first part, \"\n", + "string_part2 = \"and this is the second part.\"\n", + "full_string = string_part1 + string_part2\n", + "print(full_string)\n", + "\n", + "5. Проверка на ошибки c помощью кнопки problems, где она находится?\n", + "Вкладка Problems в терминале\n", + "04:50\n", + "\n", + "6. Где в vscode находится клиент гита? как в нём отправить коммит? как принять домашку?\n", + "На панели слева кнопка Source Control (три кружочка)\n", + "06:23\n", + "\n", + "\n", + "7. Что такое GIT? он локальный? В нём можно посмотреть историю изменений файлов и вернуться к любому коммиту?\n", + "Система контроля версий. Гит работает локально. Но с использованием сервисов Github, Gitlab, Bitbacket и др. позволяет организовать командную работу над проектом. В нем можно посмотреть историю изменений файлов и вернуться к любому коммиту.\n", + "06:59\n", + "\n", + "8. Как вставить картинку в маркдаун?\n", + "\n", + "07:57\n", + "\n", + "9. Где посмотреть длину строки в vs code?\n", + "Скопировать строку в любой файл с расширением *.py, выделить строку и посмотреть количество выделенных символов на нижней панели VSCode\n", + "01:30\n", + "\n", + "10. Как поменять тип ячейки с питона на маркдаун?\n", + "Кликнуть в правом нижнем углу ячейки.\n", + "07:44\n", + "\n", + "11. Как запустить сразу все ячейки в юпитере?\n", + "Кнопка Run All\n", + "08:29\n", + "\n", + "12. Как изменить размер картинки в юпитере? Нужно для этого знать HTML?\n", + "Нужно знать теги HTML. Изменить размер картинки можно с помощью аттрибутов width и height. Или аттрибут sizes\n", + "08:11\n", + "\n", + "13. Какой хоткей чтобы запустить ячейку с смещением на следующую?\n", + "Shift + Enter\n", + "08:43\n", + "\n", + "14. Как включить отображение номеров строк в юпитере(Cell line numbers)?\n", + "Кнопка справа вверху \"три точки\" -> пункт в контекстном меню (через три точки) \"Show Cell Line Numbers\".\n", + "08:59\n", + "\n", + "15. Что такое \"Go To\" чем это полезно? Как перейти сразу на ошибочную ячейку?\n", + "С помощью кнопки \"Go To\" можно перейти сразу на ошибочную ячейку.\n", + "09:20\n", + "\n", + "16. Как очистить вывод ячеек которые уже запущены?\n", + "Кнопка \"Clear All Outputs\"\n", + "10:59\n", + "\n", + "17. Как работать одновременно в нескольких файлах в VSCODE? Что такое SPLIT?\n", + "Кнопка \"Split Editor Right\" в верхней правой части VSCode.\n", + "Разделяет рабочую область на две или более частей, что дает возможность держать открытыми сразу несколько файлов.\n", + "10:53\n", + "\n", + "18. Каким сочетанием убирается левый сайдбар?\n", + "Ctrl + B\n", + "11:21\n", + "\n", + "19. Кнопка два листочка это наши локальные файлы?\n", + "Кнопка с двумя листочками на левой панели\n", + "07:19\n", + "\n", + "20. Какая ошибка появилась в трассировке при запуске всех ячеек DICT или LIST?\n", + "NameError: name 'Dict' is not defined\n", + "10:07\n", + "\n", + "21. Вы ознакомились с https://t.me/c/1937296927/832/19307? и https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet?\n", + "Да\n", + "\n", + "22. Что такое валидация?\n", + "Проверка корректности введенных данных.\n", + "09:49\n", + "\n", + "23. Что такое трассировка ошибки?\n", + "Визуализация ошибки. Выявление содержания ошибки с помощью логов.\n", + "10:00\n", + "\n", + "24. Что значит отвалился интерпритатор?\n", + "Ошибка в коде. Программа не может продолжать выполнение.\n", + "10:27\n", + "\n", + "Отвечаете на вопросы в вашем редакторе кода." + ] + } + ], + "metadata": { + "language_info": { + "name": "python" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/tests/quiz/quiz2.py b/tests/quiz/quiz2.py new file mode 100644 index 00000000..001342f7 --- /dev/null +++ b/tests/quiz/quiz2.py @@ -0,0 +1,167 @@ +"""Квиз2 ишью Quiz #6. + +https://github.com/SENATOROVAI/intro-cs/issues/6 +""" + +# Список вопросов к видео https://youtu.be/Si9MfV8uJ-0?si=JXHe-tsgOEwSTI5E (НАСТРОЙКА VSCODE, перенос строк, линтеры, работа с ячейками): +# +# (По желанию)В ответе подробно всё опишите и обязательно нужно указывать тайм код из видео где я это сказал, по желанию, дополнительно прикладываем скриншот из видео. +# Если вы знаете ответы на вопросы из Вашего опыта, то таймкоды из видео не надо указывать и т.д. +# +# 1. Как включить автосохранение данных в VSCODE? +# File -> Auto Save +# 00:09 +# +# 2. Как настроить перенос строки? +# Preferences -> Settings -> В поиск пишем "wrap" +# Word Wrap выставляем on +# Word Wrap Column выставляем 79 +# 00:15 +# +# Если надо изменить длину строки только для языка Python, то переходим в json с настройками VSCode (иконка в правом верхнем углу Open Settings (JSON)). И добавляем в настройки блок кода: +# "[python]": { +# "editor.wordWrap": "wordWrapColumn", +# "editor.wordWrapColumn": 79, +# }, +# +# +# 3. Сколько символов по pep8 разрешено на строке? +# 79 +# 00:23 +# +# 4. Какие способы переноса строк показаны в видео: +# 01:40 +# +# Показаны способы: +# 4.6 Сложение строк с помощью + +# 03:40 +# +# 4.1 Строки с использованием обратного слэша (\) +# +# string_continued = "This is a long string that we want to " \ +# "split across multiple lines." +# print(string_continued) +# +# 4.2 Тройные кавычки (''' или """) +# +# multi_line_string = """This is a string that spans +# multiple lines. You can write freely +# and it will keep the line breaks.""" +# print(multi_line_string) +# +# 4.3 Создание списка строк и объединение с помощью join +# +# strings = [ +# "This is the first line.", +# "This is the second line.", +# "This is the third line." +# ] +# result = "\n".join(strings) # Используем перенос строк '\n' +# print(result) +# +# 4.4 Использование круглых скобок для продолжения строки +# long_string = ( +# "This is a very long string that I would like to " +# "continue on the next line." +# ) +# print(long_string) +# +# 4.5 Форматированные строки (f-строки) с использованием скобок +# letter_a = 5 +# letter_b = 6 +# product_ab = letter_a * letter_b +# +# message = ( +# f"when {letter_a} is multiplied by {letter_b}, " +# f"the result is {product_ab}" +# ) +# print(message) +# +# 4.6 Сложение строк с помощью + +# string_part1 = "This is the first part, " +# string_part2 = "and this is the second part." +# full_string = string_part1 + string_part2 +# print(full_string) +# +# 5. Проверка на ошибки c помощью кнопки problems, где она находится? +# Вкладка Problems в терминале +# 04:50 +# +# 6. Где в vscode находится клиент гита? как в нём отправить коммит? как принять домашку? +# На панели слева кнопка Source Control (три кружочка) +# 06:23 +# +# +# 7. Что такое GIT? он локальный? В нём можно посмотреть историю изменений файлов и вернуться к любому коммиту? +# Система контроля версий. Гит работает локально. Но с использованием сервисов Github, Gitlab, Bitbacket и др. позволяет организовать командную работу над проектом. В нем можно посмотреть историю изменений файлов и вернуться к любому коммиту. +# 06:59 +# +# 8. Как вставить картинку в маркдаун? +# +# 07:57 +# +# 9. Где посмотреть длину строки в vs code? +# Скопировать строку в любой файл с расширением *.py, выделить строку и посмотреть количество выделенных символов на нижней панели VSCode +# 01:30 +# +# 10. Как поменять тип ячейки с питона на маркдаун? +# Кликнуть в правом нижнем углу ячейки. +# 07:44 +# +# 11. Как запустить сразу все ячейки в юпитере? +# Кнопка Run All +# 08:29 +# +# 12. Как изменить размер картинки в юпитере? Нужно для этого знать HTML? +# Нужно знать теги HTML. Изменить размер картинки можно с помощью аттрибутов width и height. Или аттрибут sizes +# 08:11 +# +# 13. Какой хоткей чтобы запустить ячейку с смещением на следующую? +# Shift + Enter +# 08:43 +# +# 14. Как включить отображение номеров строк в юпитере(Cell line numbers)? +# Кнопка справа вверху "три точки" -> пункт в контекстном меню (через три точки) "Show Cell Line Numbers". +# 08:59 +# +# 15. Что такое "Go To" чем это полезно? Как перейти сразу на ошибочную ячейку? +# С помощью кнопки "Go To" можно перейти сразу на ошибочную ячейку. +# 09:20 +# +# 16. Как очистить вывод ячеек которые уже запущены? +# Кнопка "Clear All Outputs" +# 10:59 +# +# 17. Как работать одновременно в нескольких файлах в VSCODE? Что такое SPLIT? +# Кнопка "Split Editor Right" в верхней правой части VSCode. +# Разделяет рабочую область на две или более частей, что дает возможность держать открытыми сразу несколько файлов. +# 10:53 +# +# 18. Каким сочетанием убирается левый сайдбар? +# Ctrl + B +# 11:21 +# +# 19. Кнопка два листочка это наши локальные файлы? +# Кнопка с двумя листочками на левой панели +# 07:19 +# +# 20. Какая ошибка появилась в трассировке при запуске всех ячеек DICT или LIST? +# NameError: name 'Dict' is not defined +# 10:07 +# +# 21. Вы ознакомились с https://t.me/c/1937296927/832/19307? и https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet? +# Да +# +# 22. Что такое валидация? +# Проверка корректности введенных данных. +# 09:49 +# +# 23. Что такое трассировка ошибки? +# Визуализация ошибки. Выявление содержания ошибки с помощью логов. +# 10:00 +# +# 24. Что значит отвалился интерпритатор? +# Ошибка в коде. Программа не может продолжать выполнение. +# 10:27 +# +# Отвечаете на вопросы в вашем редакторе кода.