diff --git a/git/stash.ipynb b/git/stash.ipynb new file mode 100644 index 00000000..8199a2c0 --- /dev/null +++ b/git/stash.ipynb @@ -0,0 +1,107 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "id": "12b031ef", + "metadata": {}, + "outputs": [], + "source": [ + "\"\"\"2026-02-07. [TASK] STASH #3.\"\"\"" + ] + }, + { + "cell_type": "markdown", + "id": "1c4aae3a", + "metadata": {}, + "source": [ + "\n", + "1. Что делает команда git stash?\n", + "\n", + " - команда прячет все изменённые файлы в специальный буфер. \n", + "\n", + "2. Как просмотреть список всех сохранённых изменений (стэшей)?\n", + "\n", + " - view stash.\n", + "\n", + "3. Какая команда применяется для использования верхнего стэша?\n", + "\n", + " - pop latest stash.\n", + "\n", + "4. Как применить конкретный стэш по его номеру?\n", + "\n", + " - view stash -> choose stash number.\n", + "\n", + "5. Чем отличается команда git stash apply от git stash pop?\n", + "\n", + " - git stash pop удаляет запись из stash после применения, а git stash apply оставляет запись в stash для возможного повторного использования.\n", + "\n", + "6. Что делает команда git stash drop?\n", + "\n", + " - удаляет указанный стэш из списка сохранённых стэш-ей.\n", + "\n", + "7. Как полностью очистить все сохранённые стэши?\n", + "\n", + " - -> git stash clear;\n", + " - drop all Stashes.\n", + "\n", + "8. В каких случаях удобно использовать git stash?\n", + "\n", + " - когда нужно срочно переключиться на другую ветку или задачу;\n", + " - когда нужно очистить рабочее пространство перед выполнением команды pull или merge;\n", + " - когда изменения ещё не готовы для коммита;\n", + " - когда нужно провести тестирование программы до изменений, а потом вернуть изменения обратно.\n", + "\n", + "9. Что произойдёт, если выполнить git stash pop, но в проекте есть конфликтующие изменения?\n", + "\n", + " - произойдёт ошибка, нужно застешить или закоммитить изменения.\n", + "\n", + "10. Можно ли восстановить удалённый стэш после выполнения git stash drop?\n", + "\n", + " - можно, но сложно.\n", + "\n", + "11. Что делает команда git stash save \"NAME_STASH\"\n", + "\n", + " - создаёт стэш с указанным именем.\n", + "\n", + "12. Что делает команда git stash apply?\n", + "\n", + " - восстанавливает изменения из стэша обратно.\n", + "\n", + "13. Что делает команда git stash pop?\n", + "\n", + " - то же, что apply, но после применения удалят стэш.\n", + "\n", + "\n", + "14. Сохраните текущие изменения в стэш под названием \"SENATOROV ver1\", вставьте скриншот из терминала\n", + "\n", + " - done. \"добавил скриншоты в комментарии к ревью\"\n", + "\n", + "15. Внесите любые изменения в ваш репозиторий и сохраните второй стэш под именем \"SENATOROV ver2\"\n", + "\n", + " - done. \"добавил скриншоты в комментарии к ревью\"\n", + "\n", + "16. Восстановите ваш стэш \"SENATOROV ver1\", вставьте скриншот из терминала\n", + "\n", + " -done. \"добавил скриншоты в комментарии к ревью\"\n", + "\n", + "17. Удалите все стеши из истории, вставьте скриншот из терминала \n", + "\n", + " - done. \"добавил скриншоты в комментарии к ревью\"\n" + ] + }, + { + "cell_type": "markdown", + "id": "636a9a84", + "metadata": {}, + "source": [] + } + ], + "metadata": { + "language_info": { + "name": "python" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/git/stash.py b/git/stash.py new file mode 100644 index 00000000..21d9aaf7 --- /dev/null +++ b/git/stash.py @@ -0,0 +1,81 @@ +"""2026-02-07. + +[TASK] STASH #3. +""" + +# +# 1. Что делает команда git stash? +# +# - команда прячет все изменённые файлы в специальный буфер. +# +# 2. Как просмотреть список всех сохранённых изменений (стэшей)? +# +# - view stash. +# +# 3. Какая команда применяется для использования верхнего стэша? +# +# - pop latest stash. +# +# 4. Как применить конкретный стэш по его номеру? +# +# - view stash -> choose stash number. +# +# 5. Чем отличается команда git stash apply от git stash pop? +# +# - git stash pop удаляет запись из stash после применения, а git stash apply оставляет запись в stash для возможного повторного использования. +# +# 6. Что делает команда git stash drop? +# +# - удаляет указанный стэш из списка сохранённых стэш-ей. +# +# 7. Как полностью очистить все сохранённые стэши? +# +# - -> git stash clear; +# - drop all Stashes. +# +# 8. В каких случаях удобно использовать git stash? +# +# - когда нужно срочно переключиться на другую ветку или задачу; +# - когда нужно очистить рабочее пространство перед выполнением команды pull или merge; +# - когда изменения ещё не готовы для коммита; +# - когда нужно провести тестирование программы до изменений, а потом вернуть изменения обратно. +# +# 9. Что произойдёт, если выполнить git stash pop, но в проекте есть конфликтующие изменения? +# +# - произойдёт ошибка, нужно застешить или закоммитить изменения. +# +# 10. Можно ли восстановить удалённый стэш после выполнения git stash drop? +# +# - можно, но сложно. +# +# 11. Что делает команда git stash save "NAME_STASH" +# +# - создаёт стэш с указанным именем. +# +# 12. Что делает команда git stash apply? +# +# - восстанавливает изменения из стэша обратно. +# +# 13. Что делает команда git stash pop? +# +# - то же, что apply, но после применения удалят стэш. +# +# +# 14. Сохраните текущие изменения в стэш под названием "SENATOROV ver1", вставьте скриншот из терминала +# +# - done. "добавил скриншоты в комментарии к ревью" +# +# 15. Внесите любые изменения в ваш репозиторий и сохраните второй стэш под именем "SENATOROV ver2" +# +# - done. "добавил скриншоты в комментарии к ревью" +# +# 16. Восстановите ваш стэш "SENATOROV ver1", вставьте скриншот из терминала +# +# -done. "добавил скриншоты в комментарии к ревью" +# +# 17. Удалите все стеши из истории, вставьте скриншот из терминала +# +# - done. "добавил скриншоты в комментарии к ревью" +# + +# diff --git a/log.ipynb b/log.ipynb new file mode 100644 index 00000000..84928832 --- /dev/null +++ b/log.ipynb @@ -0,0 +1,31 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "id": "624e3afd", + "metadata": {}, + "outputs": [], + "source": [ + "\"\"\"2026-01-20 Интро, пункт 7.2.\"\"\"" + ] + }, + { + "cell_type": "markdown", + "id": "492b0570", + "metadata": {}, + "source": [ + "1) Загрузил репозиторий;\n", + "2) Создал файл log.ipunb;\n", + "3) Выгрузил коммит." + ] + } + ], + "metadata": { + "language_info": { + "name": "python" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/log.py b/log.py new file mode 100644 index 00000000..c4ea4cc2 --- /dev/null +++ b/log.py @@ -0,0 +1,5 @@ +"""2026-01-20 Интро, пункт 7.2.""" + +# 1) Загрузил репозиторий; +# 2) Создал файл log.ipunb; +# 3) Выгрузил коммит. diff --git a/python/commits.ipynb b/python/commits.ipynb new file mode 100644 index 00000000..bea29167 --- /dev/null +++ b/python/commits.ipynb @@ -0,0 +1,72 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "id": "7d90322e", + "metadata": {}, + "outputs": [], + "source": [ + "\"\"\"2026-02-05 [TASK] Commits #5.\"\"\"" + ] + }, + { + "cell_type": "markdown", + "id": "6395de8c", + "metadata": {}, + "source": [ + "\n", + "\n", + " 1. Опишите своими словами назначение каждого из этих типов коммитов:\n", + " feat, fix, docs, style, refactor, test, build, ci, perf, chore.\n", + " \n", + " -feat: добавлена новая функция;\n", + " -fix: исправлен баг, ошибка;\n", + " -docs: изменение ТОЛЬКО в документации к проекту;\n", + " -style: изменения, которые не влияют на смысл кода (форматирование);\n", + " -refactor: изменения не влияющие на функциональность программы (не устраняют баг и не добавляют фичу);\n", + " -test: добавляет тесты для программы;\n", + " -build: изменение влияющие на систему сборки или на зависимости;\n", + " -ci: изменения связанные с автоматизацией и сборкой;\n", + " -perf:повышение производительности;\n", + " -chore: различные задачи не влияющие на код программы. \n", + "\n", + " 2. Представьте, что вы исправили баг в функции, которая некорректно округляет числа. Сделайте фиктивный коммит и напишите для него сообщение в соответствии с Conventional Commits (используя тип fix).\n", + "\n", + " fix: исправлена ошибка в функции округления числа.\n", + "\n", + " 3. Добавление новой функциональности:\n", + " Допустим, вы реализовали новую функцию generateReport в проекте. Сделайте фиктивный коммит с типом feat, отражающий добавление этой функциональности\n", + "\n", + " feat: в проект добавлена новая функция generateReport. \n", + "\n", + " 4. Модификация формата кода или стилей:\n", + " Представьте, что вы поправили отступы и форматирование во всём проекте, не меняя логики кода. Сделайте фиктивный коммит с типом style\n", + "\n", + " style: исправлены форматирование и отступы в коде.\n", + "\n", + " 5. Документация и тестирование:\n", + "\n", + " Сделайте фиктивный коммит с типом docs, добавляющий или улучшающий документацию для вашей новой функции.\n", + " Сделайте фиктивный коммит с типом test, добавляющий тесты для этой же функции.\n", + "\n", + " docs: добавлено описание функции;\n", + " test: добавлено тестирование к функции.\n", + "\n", + " Отправьте сюда в комменты ссылку на ваши коммиты https://github.com/ВАШ-ЛОГИН/Data-Science-For-Beginners-from-scratch-SENATOROV/commits/main/\n", + "\n", + " https://github.com/SERG-1613/Data-Science-For-Beginners-from-scratch-SENATOROV/commits/main/" + ] + } + ], + "metadata": { + "jupytext": { + "formats": "ipynb,py:light" + }, + "language_info": { + "name": "python" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/python/commits.py b/python/commits.py new file mode 100644 index 00000000..816807b4 --- /dev/null +++ b/python/commits.py @@ -0,0 +1,42 @@ +"""2026-02-05 [TASK] Commits #5.""" + +# +# 1. Опишите своими словами назначение каждого из этих типов коммитов: +# feat, fix, docs, style, refactor, test, build, ci, perf, chore. +# +# -feat: добавлена новая функция; +# -fix: исправлен баг, ошибка; +# -docs: изменение ТОЛЬКО в документации к проекту; +# -style: изменения, которые не влияют на смысл кода (форматирование); +# -refactor: изменения не влияющие на функциональность программы (не устраняют баг и не добавляют фичу); +# -test: добавляет тесты для программы; +# -build: изменение влияющие на систему сборки или на зависимости; +# -ci: изменения связанные с автоматизацией и сборкой; +# -perf:повышение производительности; +# -chore: различные задачи не влияющие на код программы. +# +# 2. Представьте, что вы исправили баг в функции, которая некорректно округляет числа. Сделайте фиктивный коммит и напишите для него сообщение в соответствии с Conventional Commits (используя тип fix). +# +# fix: исправлена ошибка в функции округления числа. +# +# 3. Добавление новой функциональности: +# Допустим, вы реализовали новую функцию generateReport в проекте. Сделайте фиктивный коммит с типом feat, отражающий добавление этой функциональности +# +# feat: в проект добавлена новая функция generateReport. +# +# 4. Модификация формата кода или стилей: +# Представьте, что вы поправили отступы и форматирование во всём проекте, не меняя логики кода. Сделайте фиктивный коммит с типом style +# +# style: исправлены форматирование и отступы в коде. +# +# 5. Документация и тестирование: +# +# Сделайте фиктивный коммит с типом docs, добавляющий или улучшающий документацию для вашей новой функции. +# Сделайте фиктивный коммит с типом test, добавляющий тесты для этой же функции. +# +# docs: добавлено описание функции; +# test: добавлено тестирование к функции. +# +# Отправьте сюда в комменты ссылку на ваши коммиты https://github.com/ВАШ-ЛОГИН/Data-Science-For-Beginners-from-scratch-SENATOROV/commits/main/ +# +# https://github.com/SERG-1613/Data-Science-For-Beginners-from-scratch-SENATOROV/commits/main/ diff --git a/python/cpython.ipynb b/python/cpython.ipynb new file mode 100644 index 00000000..fd015d76 --- /dev/null +++ b/python/cpython.ipynb @@ -0,0 +1,152 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "id": "c779c6fb", + "metadata": {}, + "outputs": [], + "source": [ + "\"\"\"2026-01-25 TASK Cpython.\"\"\"" + ] + }, + { + "cell_type": "markdown", + "id": "1800d275", + "metadata": {}, + "source": [ + "1. Что такое CPython и чем он отличается от Python?\n", + " - Python - это концепция языка программирования высокого уровня (набор инструкций, алгоритмов и описаний). СPython - это \"живая\" официальная реализация Python на языке С, а так-же одноимённый интерпретатор кода. \n", + "\n", + "3. Сколько существует реализаций Python, и какая из них самая популярная?\n", + " - CPython (Самая популярная);\n", + " - IPython;\n", + " - IronPython;\n", + " - Jython;\n", + " - PyPy;\n", + " - PythonNet;\n", + " - Stackless Python\n", + " и другие. \n", + "\n", + "4. На каком языке написан CPython?\n", + " - на языке C.\n", + "\n", + "5. Кто создал CPython?\n", + " - Guido van Rossum.\n", + "\n", + "6. Почему Python считается быстрым, несмотря на то, что это интерпретируемый язык? \n", + "\n", + " - ядро языка CPython написано на языке C, CPython вызывает инструкции на языке C.\n", + "\n", + "7. Напишите путь к Интерпретатору CPython на вашем компьютере\n", + "\n", + " C:\\Users\\SERG_\\AppData\\Local\\Programs\\Python\\Python312.\n", + "\n", + "8. Что содержится в папке include в CPython?\n", + "\n", + " Файлы на языке C. Инструкции, описания структур данный, описание интерфейсов, ядро. \n", + "\n", + "9. Где можно найти исходный код CPython дайте ссылку на репозиторий гитхаб\n", + "\n", + " https://github.com/python/cpython.\n", + "\n", + "10. (опционально) Как работает интерпретатор CPython при выполнении кода?\n", + "\n", + " Интерпретатор выполняет код построчно.\n", + "\n", + "11. Какая команда используется для запуска файла с помощью CPython?\n", + "\n", + " python.\n", + "\n", + "12. Можно ли запускать текстовые файлы через интерпретатор Python? Почему?\n", + "\n", + " Можно, потому что интерпретатор не обращает внимание на расширение файла.\n", + "\n", + "13. Как указать путь к интерпретатору и файлу для выполнения кода?\n", + "\n", + " Зайти в консоль. Скопировать путь к интерпретатору и вставить в консоль.\n", + " (путь до интерпретатора - ПРОБЕЛ - путь до фала). \n", + "\n", + "14. Чем PyPy отличается от CPython?\n", + "\n", + " Этот интерпретатор реализован в RPython. Основная цель PyPy - обеспечить максимальную совместимость с CPython и в то же время увеличить производительность. Работает примерно в 4.4 раза быстрее, чем CPython.\n", + "\n", + "15. Почему PyPy не может использоваться для всех проектов на Python?\n", + "\n", + " На данный момент совместим не со всеми проектами на CPython.\n", + "\n", + "16. Где можно скачать PyPy?\n", + "\n", + " pypy.org.\n", + "\n", + "17. Как установить PyPy после скачивания?\n", + "\n", + " Распаковать архив в удобном место, добавит исполняемый файл в переменный среды (PATH).\n", + "\n", + "18. Как запустить файл с помощью PyPy?\n", + "\n", + " команда pypy \"расположение файла\".\n", + "\n", + "19. Почему PyPy выполняет код быстрее, чем CPython?\n", + "\n", + " Pypy выполняет код быстрее CPython благодаря использованию JIT-компиляции (Just-in-Time — компиляция «на лету»). Это принципиально иной подход к исполнению кода. CPython работает как интерпретатор, а Pypy — как компилятор в машинный код для «горячих» участков программы." + ] + }, + { + "cell_type": "markdown", + "id": "d9f43978", + "metadata": {}, + "source": [ + "Практическое задание\n", + "\n", + "1) Задание 1: Поиск и установка CPython\n", + " done.\n", + "\n", + "2) Задание 2: Исследование структуры CPython\n", + "Найдите папку, где установлен Python (например, через команду which python \n", + "в терминале или свойства ярлыка).\n", + "Откройте папку include и изучите её содержимое. Какое количество файлов на\n", + " C там есть?\n", + "Перейдите на [GitHub-репозиторий CPython](https://github.com/python/cpython) и найдите файл README. Прочитайте информацию о проекте.\n", + "\n", + " В папке include 74 файла на языке C.\n", + "\n", + "Задание 3: Запуск файла с помощью CPython\n", + "\n", + " done.\n", + "\n", + "Задание 4: Установка и использование PyPy\n", + "\n", + " done.\n", + "\n", + "Задание 5: Сравнение производительности CPython и PyPy\n", + "\n", + " провёл тест на более сложном алгоритме:\n", + " pypy 0.0341\t\n", + " CPython 0.2664\t\n", + " Разница 7.81x.\n" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "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.13.3" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/python/cpython.py b/python/cpython.py new file mode 100644 index 00000000..edac4dbc --- /dev/null +++ b/python/cpython.py @@ -0,0 +1,107 @@ +"""2026-01-25 TASK Cpython.""" + +# 1. Что такое CPython и чем он отличается от Python? +# - Python - это концепция языка программирования высокого уровня (набор инструкций, алгоритмов и описаний). СPython - это "живая" официальная реализация Python на языке С, а так-же одноимённый интерпретатор кода. +# +# 3. Сколько существует реализаций Python, и какая из них самая популярная? +# - CPython (Самая популярная); +# - IPython; +# - IronPython; +# - Jython; +# - PyPy; +# - PythonNet; +# - Stackless Python +# и другие. +# +# 4. На каком языке написан CPython? +# - на языке C. +# +# 5. Кто создал CPython? +# - Guido van Rossum. +# +# 6. Почему Python считается быстрым, несмотря на то, что это интерпретируемый язык? +# +# - ядро языка CPython написано на языке C, CPython вызывает инструкции на языке C. +# +# 7. Напишите путь к Интерпретатору CPython на вашем компьютере +# +# C:\Users\SERG_\AppData\Local\Programs\Python\Python312. +# +# 8. Что содержится в папке include в CPython? +# +# Файлы на языке C. Инструкции, описания структур данный, описание интерфейсов, ядро. +# +# 9. Где можно найти исходный код CPython дайте ссылку на репозиторий гитхаб +# +# https://github.com/python/cpython. +# +# 10. (опционально) Как работает интерпретатор CPython при выполнении кода? +# +# Интерпретатор выполняет код построчно. +# +# 11. Какая команда используется для запуска файла с помощью CPython? +# +# python. +# +# 12. Можно ли запускать текстовые файлы через интерпретатор Python? Почему? +# +# Можно, потому что интерпретатор не обращает внимание на расширение файла. +# +# 13. Как указать путь к интерпретатору и файлу для выполнения кода? +# +# Зайти в консоль. Скопировать путь к интерпретатору и вставить в консоль. +# (путь до интерпретатора - ПРОБЕЛ - путь до фала). +# +# 14. Чем PyPy отличается от CPython? +# +# Этот интерпретатор реализован в RPython. Основная цель PyPy - обеспечить максимальную совместимость с CPython и в то же время увеличить производительность. Работает примерно в 4.4 раза быстрее, чем CPython. +# +# 15. Почему PyPy не может использоваться для всех проектов на Python? +# +# На данный момент совместим не со всеми проектами на CPython. +# +# 16. Где можно скачать PyPy? +# +# pypy.org. +# +# 17. Как установить PyPy после скачивания? +# +# Распаковать архив в удобном место, добавит исполняемый файл в переменный среды (PATH). +# +# 18. Как запустить файл с помощью PyPy? +# +# команда pypy "расположение файла". +# +# 19. Почему PyPy выполняет код быстрее, чем CPython? +# +# Pypy выполняет код быстрее CPython благодаря использованию JIT-компиляции (Just-in-Time — компиляция «на лету»). Это принципиально иной подход к исполнению кода. CPython работает как интерпретатор, а Pypy — как компилятор в машинный код для «горячих» участков программы. + +# Практическое задание +# +# 1) Задание 1: Поиск и установка CPython +# done. +# +# 2) Задание 2: Исследование структуры CPython +# Найдите папку, где установлен Python (например, через команду which python +# в терминале или свойства ярлыка). +# Откройте папку include и изучите её содержимое. Какое количество файлов на +# C там есть? +# Перейдите на [GitHub-репозиторий CPython](https://github.com/python/cpython) и найдите файл README. Прочитайте информацию о проекте. +# +# В папке include 74 файла на языке C. +# +# Задание 3: Запуск файла с помощью CPython +# +# done. +# +# Задание 4: Установка и использование PyPy +# +# done. +# +# Задание 5: Сравнение производительности CPython и PyPy +# +# провёл тест на более сложном алгоритме: +# pypy 0.0341 +# CPython 0.2664 +# Разница 7.81x. +# diff --git a/python/venv.ipynb b/python/venv.ipynb new file mode 100644 index 00000000..e295a680 --- /dev/null +++ b/python/venv.ipynb @@ -0,0 +1,103 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "id": "6013d626", + "metadata": {}, + "outputs": [], + "source": [ + "\"\"\"2026-01-31 [TASK] Виртуальное окружение.\"\"\"" + ] + }, + { + "cell_type": "markdown", + "id": "2daafb41", + "metadata": {}, + "source": [ + "\n", + "1. Что делает команда python -m venv venv?\n", + "\n", + " - создаёт виртуальное окружение в папке venv в текущем проекте.\n", + "\n", + "1.1 Что делает каждая команда в списке ниже?\n", + "\n", + " - pip list -> выводит список установленных пакетов в текущем окружении;\n", + " - pip freeze > requirements.txt -> выгружает в файл requirements.txt список всех установленных пакетов из окружения;\n", + " - pip install -r requirements.txt -> устанавливает все пакеты перечисленные в файле requirements.txt.\n", + "\n", + "2. Что делает каждая команда в списке ниже?\n", + "\n", + " - conda env list -> выводит список всех виртуальных окружений Conda и путь к ним;\n", + " - conda create -n env_name python=3.5 -> conda create -n env_name python=3.5 -> создает новое виртуально окружение с именем env_name и с Python версии 3.5;\n", + " - conda env update -n env_name -f file.yml -> обновляет существующею среду Conda на основание конфигурационного файла file.yml;\n", + " - source activate env_name -> активирует виртуальное окружение в Linux и MacOS;\n", + " - source deactivate -> деактивирует виртуальное окружение в Linux и MacOS;\n", + " - conda clean -a -> чистит кэш и удаляет временные файлы Conda.\n", + "\n", + "3. вставьте скрин вашего терминала, где вы активировали сначала venv, потом conda, назовите окружение \"SENATOROV\"\n", + "\n", + "![окружение venv.png]()\n", + "![окружение Conda.png]()\n", + "\n", + "4. Как установить необходимые пакеты внутрь виртуального окружения для conda/venv?\n", + "\n", + " - активировать пространство Conda, ввести команду conda install \"название пакета\";\n", + " - активировать пространство venv, ввести команду pip install \"название пакета\".\n", + "\n", + "5. Что делают эти команды?\n", + " v -> выгружает в файл requirements.txt список всех установленных пакетов из окружения;\n", + " conda env export > environment.yml -> выгружает в файл requirements.txt список всех установленных пакетов из окружения Conda.\n", + "\n", + "5.1 вставьте скрин, где будет видна папка VENV в вашем репозитории а также файлы зависимостей requirements.txt и environment.yml, файлы должны содержать зависимости\n", + "\n", + "![библиотека.png](attachment:библиотека.png)\n", + "\n", + "6. Что делают эти команды?\n", + " pip install -r requirements.txt -> загружает все перечисленные пакеты из файла requirements.txt в активное окружение;\n", + " conda env create -f environment.yml -> загружает все перечисленные пакеты из файла requirements.txt в активное окружение Conda.\n", + "\n", + "7. Что делают эти команды?\n", + " pip list -> выводит список установленных пакетов в текущем окружении;\n", + " pip show -> выводит подробную информацию о выбранном установленном пакете, библиотеки. Версия, автор, место установки и и.д.;\n", + " conda list -> выводит список установленных пакетов в текущем окружении Conda.\n", + "\n", + "8. Где по умолчанию больше пакетов venv/pip или conda? и почему дата сайнинисты используют conda?\n", + "\n", + " pip - это стандартное окружение, в котором установленны основные библиотеки для разработки. \n", + " venv - это окружение, которое настаивается индивидуально, изначально пустое.\n", + " Conda - это специализированное окружение для работы в Data Science, содержит все необходимые библиотеки.\n", + "\n", + "9. вставьте скрин где будет видно, Выбор интерпретатора Python (conda) в VS Code/cursor\n", + "\n", + "![интерпритатор conda.png]()\n", + "\n", + "10. добавьте в .gitignore папку SENATOROV\n", + " добавил.\n", + "\n", + "11. Зачем нужно виртуально окружение?\n", + "\n", + " Виртуальное окружение нужно чтобы не тратить время на импорт и настройку библиотек. Благодаря виртуальному окружению можно \"В несколько кликов\" настроить рабочее пространство.\n", + "\n", + "12. С этого момента надо работать в виртуальном окружении conda, ты научился(-ась) выгружать зависимости и работать с окружением?\n", + " done.\n", + "\n", + "13. Удалите папку VENV, она больше не нужна, мы же не разрабы, нам нужна только conda.\n", + " done.\n" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "base", + "language": "python", + "name": "python3" + }, + "language_info": { + "name": "python", + "version": "3.13.9" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/python/venv.py b/python/venv.py new file mode 100644 index 00000000..7f2feb23 --- /dev/null +++ b/python/venv.py @@ -0,0 +1,72 @@ +"""2026-01-31 [TASK] Виртуальное окружение.""" + +# +# 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 -> 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 -> активирует виртуальное окружение в Linux и MacOS; +# - source deactivate -> деактивирует виртуальное окружение в Linux и MacOS; +# - conda clean -a -> чистит кэш и удаляет временные файлы Conda. +# +# 3. вставьте скрин вашего терминала, где вы активировали сначала venv, потом conda, назовите окружение "SENATOROV" +# +# ![окружение venv.png]() +# ![окружение Conda.png]() +# +# 4. Как установить необходимые пакеты внутрь виртуального окружения для conda/venv? +# +# - активировать пространство Conda, ввести команду conda install "название пакета"; +# - активировать пространство venv, ввести команду pip install "название пакета". +# +# 5. Что делают эти команды? +# v -> выгружает в файл requirements.txt список всех установленных пакетов из окружения; +# conda env export > environment.yml -> выгружает в файл requirements.txt список всех установленных пакетов из окружения Conda. +# +# 5.1 вставьте скрин, где будет видна папка VENV в вашем репозитории а также файлы зависимостей requirements.txt и environment.yml, файлы должны содержать зависимости +# +# ![библиотека.png](attachment:библиотека.png) +# +# 6. Что делают эти команды? +# pip install -r requirements.txt -> загружает все перечисленные пакеты из файла requirements.txt в активное окружение; +# conda env create -f environment.yml -> загружает все перечисленные пакеты из файла requirements.txt в активное окружение Conda. +# +# 7. Что делают эти команды? +# pip list -> выводит список установленных пакетов в текущем окружении; +# pip show -> выводит подробную информацию о выбранном установленном пакете, библиотеки. Версия, автор, место установки и и.д.; +# conda list -> выводит список установленных пакетов в текущем окружении Conda. +# +# 8. Где по умолчанию больше пакетов venv/pip или conda? и почему дата сайнинисты используют conda? +# +# pip - это стандартное окружение, в котором установленны основные библиотеки для разработки. +# venv - это окружение, которое настаивается индивидуально, изначально пустое. +# Conda - это специализированное окружение для работы в Data Science, содержит все необходимые библиотеки. +# +# 9. вставьте скрин где будет видно, Выбор интерпретатора Python (conda) в VS Code/cursor +# +# ![интерпритатор conda.png]() +# +# 10. добавьте в .gitignore папку SENATOROV +# добавил. +# +# 11. Зачем нужно виртуально окружение? +# +# Виртуальное окружение нужно чтобы не тратить время на импорт и настройку библиотек. Благодаря виртуальному окружению можно "В несколько кликов" настроить рабочее пространство. +# +# 12. С этого момента надо работать в виртуальном окружении conda, ты научился(-ась) выгружать зависимости и работать с окружением? +# done. +# +# 13. Удалите папку VENV, она больше не нужна, мы же не разрабы, нам нужна только conda. +# done. +# diff --git a/quiz.ipynb b/quiz.ipynb new file mode 100644 index 00000000..7d977fe9 --- /dev/null +++ b/quiz.ipynb @@ -0,0 +1,363 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "id": "73546652", + "metadata": {}, + "outputs": [], + "source": [ + "\"\"\"2026-01-23 quiz1.\"\"\"" + ] + }, + { + "cell_type": "markdown", + "id": "3a20b1c2", + "metadata": {}, + "source": [ + "quiz1\n", + "\n", + "1) Как понять, что домашка пришла?\n", + " В чате HomeWork приходит сообщение с текстом \"@username прими пул\". \n", + "\n", + "2) Как принять домашку?\n", + " Зайти в GitHub Desktop и нажать кнопку \"Fetch origin\", перейти в раздел \"History\", выбрать самый верхний \"коммит\", открыть в IDE.\n", + "\n", + "3) Зачем нужна кнопка history и какие функции появляются при нажатии правой кнопки мыши на коммит?\n", + " Кнопка \"History необходима для просмотра истории коммитов и работы с ними.\n", + " При нажатии правой кнопки мыши на коммит появляется следующие контекстное меню:\n", + " - Amend commit;\n", + " - Reset to commit;\n", + " - Checkout commit;\n", + " - Reorder commit;\n", + " - Create branch from commit;\n", + " - Create tag;\n", + " - Cherry-pick commit;\n", + " - Copy SHA;\n", + " - View on GitHub.\n", + " \n", + "3.1) Где брать ссылку на коммит? куда её отправлять? \n", + " \n", + " - GitHub desktop -> History -> вызвать правой кнопкой мыши контекстное меню -> View on GitHub;\n", + " - Tg -> группа \"HomeWork\".\n", + "\n", + "4) Что такое файл лога? \n", + " Файл лога - log.ipynb. Тут хранятся заметки об уроках.\n", + "\n", + "4.1) Когда нужно его пушить?\n", + " Пушится в коммите с домашней работой.\n", + "\n", + "5) Что такое интерпритатор? \n", + " Программа выполняющая код построчно, без компиляции (сборки).\n", + "\n", + "6) Где можно выбрать интерпритатор?\n", + " В командной строке (терминале) или в IDE.\n", + "\n", + "7) Что такое модуль? \n", + " Это файл с расширением .py или .ipynb, содержащий код Python.\n", + "\n", + "8) Как создать и отправить коммит?\n", + " Изменения попадают в \"Changes\". Перемещаем их в \"Staged Changes\" с помощью кнопки +, вводим сообщение коммита и нажимаем \"Commit\". Для отправки на GitHub нажимаем \"Push\".\n", + "\n", + "9) Как посмотреть что коммит точно отправлен и находится в github?\n", + " Требуется проверить историю в \"GitHub Desktop\" или использовать команду \"git log\" в терминале IDE.\n", + "\n", + "10) Какая команда показывает что код не прошёл проверки на ошибки? \n", + " \"pre-commit run --all-files\".\n", + "\n", + "10.1) Напишите список линтеров которые используются для проверки кода и дайте их краткую характеристику.\n", + " Список используемых линтеров:\n", + " - Pylint: проверка кода на соответствие стандарту PEP 8; \n", + " - Pydocstyle: проверка кода на соответствие стандарту PEP 257;\n", + " - Flake8: проверка кода синтаксические ошибки и стиль;\n", + " - Mypy: проверка кода на соответствие типов стандарту PEP 484.\n", + "\n", + "11) Как узнать какой именно линтер не прошёл проверку?\n", + " Ввести команду в терминале \"pre-commit run --all-files\" -> появится список линтеров -> если линтер не прошел проверку, то отобразится сообщение \"Failed\".\n", + "\n", + "12) Линтер Pylint видит markdown?\n", + " Нет, линтер игнорирует ячейки Markdown. \n", + "\n", + "13) Номер ячейки в терминале и номер ячейки в vs code может отличаться? в каком случае?\n", + " Да, если есть ячейки с Markdown.\n", + "\n", + "14) Где посмотреть номер ячейки в vscode?\n", + " Внизу в правом углу экрана отображается номер текущей ячейки (Cell).\n", + "\n", + "15) В каком формате ipynb отправляется в гитхаб? причём здесь JSON?\n", + " В формате JSON. JSON - формат хранения файлов Jupiter notebook.\n", + "\n", + "16) Где посмотреть в какой ячейке ошибка?\n", + " Ошибка отображается в терминале, смотреть ответ линтера.\n", + "\n", + "17) Как запустить терминал?\n", + " Terminal -> New Terminal.\n", + "\n", + "18) Что такое линтер?\n", + " Программа для проверки кода на соответствие стандартам, которая выявляет ошибки.\n", + "\n", + "19) В какой сайт нужно вставлять код ошибки если ошибка связана с pylint?\n", + " На официальный сайт: https://pylint.pycqa.org.\n", + "\n", + "20) Секция pydocstyle в большинстве случае автоматический закрывается после исправления ошибок в каком линтере?\n", + " Pylint \n", + "\n", + "21) Что такое описание модуля? Оно должно отражать информацию о том что находится в модуле?\n", + " Докстринг (заголовк) в начале файла, который кратко описывает содержание файла.\n", + "\n", + "21.1) С какой git команды начинается утро программиста?\n", + " \"git pull\" или \"git fetch\" - обновление локального репозитория.\n", + "\n", + "22) После внесения изменений в файлах, кнопка open in vs code пропадает в кошке, как по другому открыть vs code из кошки?\n", + " Current repository -> правой кнопкой мыши открыть контекстное меню -> Open in IDE.\n", + "\n", + "23) Что такое stash? \n", + " Общее объяснение концепции.\n", + " Временное хранилище незакомиченных изменений.\n", + "\n", + "23.1) Как сохранить стэш?\n", + " git командa(подсказка: https://t.me/c/1937296927/3602/19531): \n", + " \"git stash\"\n", + "\n", + "23.2) Как восстановить стэш(подсказка: https://t.me/c/1937296927/3602/25747)?:\n", + " git команда(подсказка: https://t.me/c/1937296927/3602/19531)?:\n", + " \"git stash apply\"\n", + "\n", + "23.3) Различие между стэшем и коммитом. \n", + " Когда лучше сохранить изменения в стэше, а когда коммитить.\n", + " Стэш временное хранилище файлов, коммит постоянное. \n", + "\n", + "23.4) Как просмотреть список сохраненных стэшей? \n", + " git команда (подсказка: https://t.me/c/1937296927/3602/19531):\n", + " \"git stash list\"\n", + "\n", + "23.5) Как удалить стэш? \n", + " Команды для удаления отдельных стэшей или всех сразу.\n", + " git команда (подсказка: https://t.me/c/1937296927/3602/19531):\n", + " \"git stash drop stash@{N}\" — удалить конкретный стэш.\n", + " \"git stash clear\" — удалить все стэши.\n", + "\n", + "23.6) Практические примеры использования стэша. \n", + " Краткие сценарии, где стэш помогает.\n", + " Одновременное редактирование одного и того же файла несколькими пользователями.\n", + "\n", + "24) Где посмотреть что есть конфликт в файлах? \n", + " В VS Code конфликтные файлы помечены восклицательным знаком.\n", + "\n", + "24.1) Когда он появляется?\n", + " При слиянии веток с разными изменениями на одном и том-же участке кода.\n", + "\n", + "25) Как решить конфликт в файлах?\n", + " Необходимо загрузить файлы в свой локальный репозиторий и открыть оба файла в IDE, произвести сравнение и выбрать подходящий вариант реализации кода.\n", + "\n", + "26) Напишиие правильное утверждение\n", + "\n", + "-Зелёное то что пришло с гитхаба и синее локальные изменения или синее то что пришло с гитхаба и зелёное это локальные изменения \n", + " Зелёное то что пришло с гитхаба, а синее локальные изменения.\n", + "\n", + "27) Если мы работаем в одном файле, можно ли принять pull после того как вы спрячете в стэш свои изменения? \n", + " Можно, изменения сохраняться в стэш.\n", + "\n", + "27.1) Что может произойти когда stash восстановите после принятия pull?\n", + " Возможен конфликт, если изменения затрагивают один и тот-же участок кода.\n", + "\n", + "28) Сколько способов решения конфликтов было показано в видео? Напишите ЧИСЛО и укажите их способы. \n", + " способа: \n", + " - принять изменения из интернета;\n", + " - принять локальные изменения;\n", + " - принять оба..\n", + " \n", + "29) Что делает кнопка complete merge?\n", + " Завершает слияние веток после разрешения конфликта.\n", + "\n", + "30) В какой чат нужно писать если остались вопросы?\n", + " \"HELP ME\".\n", + "\n", + "31) Что такое FORK? Зачем его делают? \n", + " Это копия чужого репозитория, где возможно свободно модифицировать код.\n", + "\n", + "32) Как скачать форкнутый репозиторий на локальный компьютер?\n", + " Через GitHub Desktop, git clone.\n", + "\n", + "33) С какой вероятностью ваши ошибки были уже решены? и кто их решил?\n", + " 99%, участники школы.\n", + "\n", + "34) Как создать файл в vs code?\n", + " file -> new file.\n", + "\n", + "35) Файл лога нужно заполнять в конце каждого урока?\n", + " Да.\n", + "==================\n", + "\n", + "Дополнительные вопросы:\n", + "1)Какая команда конвертирует файл в py из ipynb? \n", + "подсказка https://t.me/c/1937296927/1/26527 \n", + " \"jupyter nbconvert --to script analysis.ipynb\".\n", + "\n", + "2) Что такое пакетный менеджер? Вы пользуетесь пакетным менеджером conda или pip? Какой лучше использовать для дата сайнс?\n", + " - программа для установки, настройки, удаления пакетов (расширений,плагинов) ПО.\n", + "\n", + "3) Почему расширение py лучше чем ipynb?\n", + " pynb-файлы лучше подходят для задач, где важны интерактивность и визуализация, а py-файлы — для проектов, требующих более структурированного подхода.\n", + "\n", + "4) Что такое pep8? \n", + "подсказка:https://peps.python.org/pep-0008/\n", + " Style Guide for Python Code.\n", + "\n", + "4.1) линтеры проверяют на соблюдение pep8?\n", + " Да.\n", + "\n", + "4.2) Какая нотация используется для создания переменных? \n", + "ответ на 85-95 страницы https://t.me/c/1937296927/1/16676\n", + " snake_case (стр.87).\n", + "\n", + "4.3) Может ли переменная состоять из одной буквы например андерскор \"_\" ?\n", + " Технически может, но практически это делает код не читаемым. \n", + "\n", + "4.4) Зачем и где мы используем андерскор _?\n", + " В случае использования snake_case, а так-же приватные атрибуты класса всегда начинаются с символа _ (стр.87).\n", + "\n", + "4.5) По PEP8 допустима переменная в одну букву?\n", + "ответ на 85-95 страницы https://t.me/c/1937296927/1/16676\n", + " -да, но в очень редких случаях это применимо на практике.\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "id": "c949a840", + "metadata": {}, + "source": [ + "quiz2\n", + "\n", + "1. Как включить автосохранение данных в VSCODE?\n", + " file -> autosave.\n", + "\n", + "2. Как настроить перенос строки? \n", + " file -> preferences -> vs code settings -> ввести в поиске: Wrap -> World Wrap.\n", + "\n", + "3. Сколько символов по pep8 разрешено на строке?\n", + " - 79.\n", + "4. Какие способы переноса строк показаны в видео:\n", + " - комментарии;\n", + " - скобки;\n", + " - обратный слеш;\n", + " - join строк.\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", + "\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", + " Нижний \"бар\", крайняя вкладка слева.\n", + "\n", + "6. Где в vscode находится клиент гита? как в нём отправить коммит? как принять домашку?\n", + " в source control.\n", + "\n", + "7. Что такое GIT? он локальный? В нём можно посмотреть историю изменений файлов и вернуться к любому коммиту?\n", + " Он локальный, хранит историю версий в локальном репозитории.\n", + "\n", + "8. Как вставить картинку в маркдаун? \n", + " С помощью тэга.\n", + "\n", + "9. Где посмотреть длину строки в vs code?\n", + " Докбар внизу страницы. \n", + "\n", + "10. Как поменять тип ячейки с питона на маркдаун?\n", + " У каждой ячейки в правом нижнем углу есть кнопка, которая вызывает контекстное меню с выбором языков программирования \n", + "\n", + "11. Как запустить сразу все ячейки в юпитере?\n", + " Кнопка Run All.\n", + "\n", + "12. Как изменить размер картинки в юпитере? Нужно для этого знать HTML?\n", + " Нужно знать HTML. Указать size в теге img.\n", + "\n", + "13. Какой хоткей чтобы запустить ячейку с смещением на следующую?\n", + " shift + enter.\n", + "\n", + "14. Как включить отображение номеров строк в юпитере(Cell line numbers)?\n", + " Shift + ctrl + P -> \"show cell lines number\".\n", + "\n", + "15. Что такое \"Go To\" чем это полезно? Как перейти сразу на ошибочную ячейку?\n", + " Кнопка GoTo. Переход к ошибочной ячейке.\n", + "\n", + "16. Как очистить вывод ячеек которые уже запущены?\n", + " Кнопка Clear All Outputs.\n", + "\n", + "17. Как работать одновременно в нескольких файлах в VSCODE? Что такое SPLIT?\n", + " Открыть сразу несколько файлов с помощью функции SPLIT (несколько параллельно открытых в редакторе файлов).\n", + "\n", + "18. Каким сочетанием убирается левый сайдбар?\n", + " ctrl + b.\n", + "\n", + "19. Кнопка два листочка это наши локальные файлы?\n", + " Да.\n", + "20. Какая ошибка появилась в трассировке при запуске всех ячеек DICT или LIST?\n", + " Dict.\n", + "\n", + "21. Вы ознакомились с https://t.me/c/1937296927/832/19307? и https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet?\n", + "22. Что такое валидация?\n", + " Проверка корректности кода и других файлов в IDE.\n", + "\n", + "23. Что такое трассировка ошибки?\n", + " Ссылка на ошибку в коде и текстовое пояснение к ней.\n", + " \n", + "24. Что значит отвалился интерпритатор?\n", + " Выполнение программы прервалось.\n", + "\n", + "Отвечаете на вопросы в вашем редакторе кода." + ] + } + ], + "metadata": { + "language_info": { + "name": "python" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/quiz.py b/quiz.py new file mode 100644 index 00000000..90579173 --- /dev/null +++ b/quiz.py @@ -0,0 +1,332 @@ +"""2026-01-23 quiz1.""" + +# quiz1 +# +# 1) Как понять, что домашка пришла? +# В чате HomeWork приходит сообщение с текстом "@username прими пул". +# +# 2) Как принять домашку? +# Зайти в GitHub Desktop и нажать кнопку "Fetch origin", перейти в раздел "History", выбрать самый верхний "коммит", открыть в IDE. +# +# 3) Зачем нужна кнопка history и какие функции появляются при нажатии правой кнопки мыши на коммит? +# Кнопка "History необходима для просмотра истории коммитов и работы с ними. +# При нажатии правой кнопки мыши на коммит появляется следующие контекстное меню: +# - Amend commit; +# - Reset to commit; +# - Checkout commit; +# - Reorder commit; +# - Create branch from commit; +# - Create tag; +# - Cherry-pick commit; +# - Copy SHA; +# - View on GitHub. +# +# 3.1) Где брать ссылку на коммит? куда её отправлять? +# +# - GitHub desktop -> History -> вызвать правой кнопкой мыши контекстное меню -> View on GitHub; +# - Tg -> группа "HomeWork". +# +# 4) Что такое файл лога? +# Файл лога - log.ipynb. Тут хранятся заметки об уроках. +# +# 4.1) Когда нужно его пушить? +# Пушится в коммите с домашней работой. +# +# 5) Что такое интерпритатор? +# Программа выполняющая код построчно, без компиляции (сборки). +# +# 6) Где можно выбрать интерпритатор? +# В командной строке (терминале) или в IDE. +# +# 7) Что такое модуль? +# Это файл с расширением .py или .ipynb, содержащий код Python. +# +# 8) Как создать и отправить коммит? +# Изменения попадают в "Changes". Перемещаем их в "Staged Changes" с помощью кнопки +, вводим сообщение коммита и нажимаем "Commit". Для отправки на GitHub нажимаем "Push". +# +# 9) Как посмотреть что коммит точно отправлен и находится в github? +# Требуется проверить историю в "GitHub Desktop" или использовать команду "git log" в терминале IDE. +# +# 10) Какая команда показывает что код не прошёл проверки на ошибки? +# "pre-commit run --all-files". +# +# 10.1) Напишите список линтеров которые используются для проверки кода и дайте их краткую характеристику. +# Список используемых линтеров: +# - Pylint: проверка кода на соответствие стандарту PEP 8; +# - Pydocstyle: проверка кода на соответствие стандарту PEP 257; +# - Flake8: проверка кода синтаксические ошибки и стиль; +# - Mypy: проверка кода на соответствие типов стандарту PEP 484. +# +# 11) Как узнать какой именно линтер не прошёл проверку? +# Ввести команду в терминале "pre-commit run --all-files" -> появится список линтеров -> если линтер не прошел проверку, то отобразится сообщение "Failed". +# +# 12) Линтер Pylint видит markdown? +# Нет, линтер игнорирует ячейки Markdown. +# +# 13) Номер ячейки в терминале и номер ячейки в vs code может отличаться? в каком случае? +# Да, если есть ячейки с Markdown. +# +# 14) Где посмотреть номер ячейки в vscode? +# Внизу в правом углу экрана отображается номер текущей ячейки (Cell). +# +# 15) В каком формате ipynb отправляется в гитхаб? причём здесь JSON? +# В формате JSON. JSON - формат хранения файлов Jupiter notebook. +# +# 16) Где посмотреть в какой ячейке ошибка? +# Ошибка отображается в терминале, смотреть ответ линтера. +# +# 17) Как запустить терминал? +# Terminal -> New Terminal. +# +# 18) Что такое линтер? +# Программа для проверки кода на соответствие стандартам, которая выявляет ошибки. +# +# 19) В какой сайт нужно вставлять код ошибки если ошибка связана с pylint? +# На официальный сайт: https://pylint.pycqa.org. +# +# 20) Секция pydocstyle в большинстве случае автоматический закрывается после исправления ошибок в каком линтере? +# Pylint +# +# 21) Что такое описание модуля? Оно должно отражать информацию о том что находится в модуле? +# Докстринг (заголовк) в начале файла, который кратко описывает содержание файла. +# +# 21.1) С какой git команды начинается утро программиста? +# "git pull" или "git fetch" - обновление локального репозитория. +# +# 22) После внесения изменений в файлах, кнопка open in vs code пропадает в кошке, как по другому открыть vs code из кошки? +# Current repository -> правой кнопкой мыши открыть контекстное меню -> Open in IDE. +# +# 23) Что такое stash? +# Общее объяснение концепции. +# Временное хранилище незакомиченных изменений. +# +# 23.1) Как сохранить стэш? +# git командa(подсказка: https://t.me/c/1937296927/3602/19531): +# "git stash" +# +# 23.2) Как восстановить стэш(подсказка: https://t.me/c/1937296927/3602/25747)?: +# git команда(подсказка: https://t.me/c/1937296927/3602/19531)?: +# "git stash apply" +# +# 23.3) Различие между стэшем и коммитом. +# Когда лучше сохранить изменения в стэше, а когда коммитить. +# Стэш временное хранилище файлов, коммит постоянное. +# +# 23.4) Как просмотреть список сохраненных стэшей? +# git команда (подсказка: https://t.me/c/1937296927/3602/19531): +# "git stash list" +# +# 23.5) Как удалить стэш? +# Команды для удаления отдельных стэшей или всех сразу. +# git команда (подсказка: https://t.me/c/1937296927/3602/19531): +# "git stash drop stash@{N}" — удалить конкретный стэш. +# "git stash clear" — удалить все стэши. +# +# 23.6) Практические примеры использования стэша. +# Краткие сценарии, где стэш помогает. +# Одновременное редактирование одного и того же файла несколькими пользователями. +# +# 24) Где посмотреть что есть конфликт в файлах? +# В VS Code конфликтные файлы помечены восклицательным знаком. +# +# 24.1) Когда он появляется? +# При слиянии веток с разными изменениями на одном и том-же участке кода. +# +# 25) Как решить конфликт в файлах? +# Необходимо загрузить файлы в свой локальный репозиторий и открыть оба файла в IDE, произвести сравнение и выбрать подходящий вариант реализации кода. +# +# 26) Напишиие правильное утверждение +# +# -Зелёное то что пришло с гитхаба и синее локальные изменения или синее то что пришло с гитхаба и зелёное это локальные изменения +# Зелёное то что пришло с гитхаба, а синее локальные изменения. +# +# 27) Если мы работаем в одном файле, можно ли принять pull после того как вы спрячете в стэш свои изменения? +# Можно, изменения сохраняться в стэш. +# +# 27.1) Что может произойти когда stash восстановите после принятия pull? +# Возможен конфликт, если изменения затрагивают один и тот-же участок кода. +# +# 28) Сколько способов решения конфликтов было показано в видео? Напишите ЧИСЛО и укажите их способы. +# способа: +# - принять изменения из интернета; +# - принять локальные изменения; +# - принять оба.. +# +# 29) Что делает кнопка complete merge? +# Завершает слияние веток после разрешения конфликта. +# +# 30) В какой чат нужно писать если остались вопросы? +# "HELP ME". +# +# 31) Что такое FORK? Зачем его делают? +# Это копия чужого репозитория, где возможно свободно модифицировать код. +# +# 32) Как скачать форкнутый репозиторий на локальный компьютер? +# Через GitHub Desktop, git clone. +# +# 33) С какой вероятностью ваши ошибки были уже решены? и кто их решил? +# 99%, участники школы. +# +# 34) Как создать файл в vs code? +# file -> new file. +# +# 35) Файл лога нужно заполнять в конце каждого урока? +# Да. +# ================== +# +# Дополнительные вопросы: +# 1)Какая команда конвертирует файл в py из ipynb? +# подсказка https://t.me/c/1937296927/1/26527 +# "jupyter nbconvert --to script analysis.ipynb". +# +# 2) Что такое пакетный менеджер? Вы пользуетесь пакетным менеджером conda или pip? Какой лучше использовать для дата сайнс? +# - программа для установки, настройки, удаления пакетов (расширений,плагинов) ПО. +# +# 3) Почему расширение py лучше чем ipynb? +# pynb-файлы лучше подходят для задач, где важны интерактивность и визуализация, а py-файлы — для проектов, требующих более структурированного подхода. +# +# 4) Что такое pep8? +# подсказка:https://peps.python.org/pep-0008/ +# Style Guide for Python Code. +# +# 4.1) линтеры проверяют на соблюдение pep8? +# Да. +# +# 4.2) Какая нотация используется для создания переменных? +# ответ на 85-95 страницы https://t.me/c/1937296927/1/16676 +# snake_case (стр.87). +# +# 4.3) Может ли переменная состоять из одной буквы например андерскор "_" ? +# Технически может, но практически это делает код не читаемым. +# +# 4.4) Зачем и где мы используем андерскор _? +# В случае использования snake_case, а так-же приватные атрибуты класса всегда начинаются с символа _ (стр.87). +# +# 4.5) По PEP8 допустима переменная в одну букву? +# ответ на 85-95 страницы https://t.me/c/1937296927/1/16676 +# -да, но в очень редких случаях это применимо на практике. +# +# + +# quiz2 +# +# 1. Как включить автосохранение данных в VSCODE? +# file -> autosave. +# +# 2. Как настроить перенос строки? +# file -> preferences -> vs code settings -> ввести в поиске: Wrap -> World Wrap. +# +# 3. Сколько символов по pep8 разрешено на строке? +# - 79. +# 4. Какие способы переноса строк показаны в видео: +# - комментарии; +# - скобки; +# - обратный слеш; +# - join строк. +# +# 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, где она находится? +# Нижний "бар", крайняя вкладка слева. +# +# 6. Где в vscode находится клиент гита? как в нём отправить коммит? как принять домашку? +# в source control. +# +# 7. Что такое GIT? он локальный? В нём можно посмотреть историю изменений файлов и вернуться к любому коммиту? +# Он локальный, хранит историю версий в локальном репозитории. +# +# 8. Как вставить картинку в маркдаун? +# С помощью тэга. +# +# 9. Где посмотреть длину строки в vs code? +# Докбар внизу страницы. +# +# 10. Как поменять тип ячейки с питона на маркдаун? +# У каждой ячейки в правом нижнем углу есть кнопка, которая вызывает контекстное меню с выбором языков программирования +# +# 11. Как запустить сразу все ячейки в юпитере? +# Кнопка Run All. +# +# 12. Как изменить размер картинки в юпитере? Нужно для этого знать HTML? +# Нужно знать HTML. Указать size в теге img. +# +# 13. Какой хоткей чтобы запустить ячейку с смещением на следующую? +# shift + enter. +# +# 14. Как включить отображение номеров строк в юпитере(Cell line numbers)? +# Shift + ctrl + P -> "show cell lines number". +# +# 15. Что такое "Go To" чем это полезно? Как перейти сразу на ошибочную ячейку? +# Кнопка GoTo. Переход к ошибочной ячейке. +# +# 16. Как очистить вывод ячеек которые уже запущены? +# Кнопка Clear All Outputs. +# +# 17. Как работать одновременно в нескольких файлах в VSCODE? Что такое SPLIT? +# Открыть сразу несколько файлов с помощью функции SPLIT (несколько параллельно открытых в редакторе файлов). +# +# 18. Каким сочетанием убирается левый сайдбар? +# ctrl + b. +# +# 19. Кнопка два листочка это наши локальные файлы? +# Да. +# 20. Какая ошибка появилась в трассировке при запуске всех ячеек DICT или LIST? +# Dict. +# +# 21. Вы ознакомились с https://t.me/c/1937296927/832/19307? и https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet? +# 22. Что такое валидация? +# Проверка корректности кода и других файлов в IDE. +# +# 23. Что такое трассировка ошибки? +# Ссылка на ошибку в коде и текстовое пояснение к ней. +# +# 24. Что значит отвалился интерпритатор? +# Выполнение программы прервалось. +# +# Отвечаете на вопросы в вашем редакторе кода. diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 00000000..1c52d9a5 Binary files /dev/null and b/requirements.txt differ