diff --git a/quiz_1.py b/quiz_1.py new file mode 100644 index 00000000..22cc2f08 --- /dev/null +++ b/quiz_1.py @@ -0,0 +1,344 @@ +# %% [markdown] +# #### **Как понять, что домашка пришла?** +# +# Зайти в телеграм, в конфу HomeWork, искать сообщение от Руслана адресованное личное тебе, обычно это выглядит как "@username прими пулл" + +# %% [markdown] +# #### **Как принять домашку?** +# +# Перейти в Github Desktop и нажать Fetch Origin. Отписаться о принятии в ТГ + +# %% [markdown] +# #### **Зачем нужна кнопка history и какие функции появляются при нажатии правой кнопки мыши на коммит?** +# +# Раздел history необходим для отслеживания всех коммитов которые были запушены в ветку. +# При нажатии правой кнопки по коммита появляются следующие варианты: +# 1. `Amend commit` (Изменить коммит) — позволяет изменить последний коммит. Это полезно, если нужно исправить описание коммита или добавить файлы, забытые при первоначальном коммите. +# +# 2. `Reset to commit` (Сброситься к коммиту) — откатывает текущую ветку к выбранному коммиту, отменяя все изменения и коммиты, сделанные после него. Этот процесс необратим и может привести к потере данных, если изменения не сохранены. +# +# 3. `Checkout commit`(Переключиться на коммит) — позволяет переключиться на выбранный коммит. Это временное состояние, и любые новые изменения не будут привязаны к основной ветке, пока вы не создадите новую ветку или не вернётесь к последнему коммиту. +# +# 4. `Reorder commit` (Изменить порядок коммитов) — позволяет изменить порядок коммитов в истории. Это может пригодиться для реорганизации или улучшения читаемости истории, но доступно только в репозиториях с доступом к редактированию истории. +# +# 5. `Revert changes in commit` (Откатить изменения в коммите) — создаёт новый коммит, отменяющий все изменения, сделанные в выбранном коммите. Это полезно, если нужно удалить изменения, не затрагивая другие коммиты. +# +# 6. `Create branch from commit` (Создать ветку от коммита) — создаёт новую ветку, начинающуюся с выбранного коммита. Это полезно для экспериментов с кодом или создания новой функциональности, не изменяя основную ветку. +# +# 7. `Create Tag...` (Создать тег) — добавляет метку к выбранному коммиту. Теги обычно используются для указания на важные версии, такие как релизы (например, v1.0, v2.0). +# +# 8. `Cherry-pick commit...` (Применить коммит выборочно) — позволяет применить изменения из выбранного коммита в текущей ветке, даже если этот коммит сделан в другой ветке. Полезно, если нужно перенести отдельные изменения без полной слияния веток. +# +# 9. `Copy SHA` — копирует уникальный идентификатор (SHA) коммита в буфер обмена, который можно использовать для ссылки на коммит. +# +# 10. `Copy tag `— копирует тег коммита (если он существует) в буфер обмена. +# +# 11. `View on GitHub` (Посмотреть на GitHub) — открывает страницу коммита в браузере на сайте GitHub, где можно видеть более детальную информацию и взаимодействовать с коммитом. +# +# +# +# #### Где брать ссылку на коммит? куда её отправлять? +# +# Ссылку на коммит можно взять через View on GitHub которая откроет коммит на браузере, копируем ссылку и отправляем в папку Homework +# + +# %% [markdown] +# #### **Что такое файл лога?** +# +# Файл лога - в этом файле записываются информация о том что вы сделали вместе с Русланом на занятии. +# +# #### Когда нужно его пушить? +# +# После каждого занятия с Русланом + +# %% [markdown] +# #### **Что такое интерпритатор?** +# +# +# Интерпретатор — это программа, которая выполняет код программы, переводя его в машинные инструкции в процессе выполнения. Интерпретатор обрабатывает и выполняет программу построчно, сразу же исполняя каждую строку кода, не преобразуя весь исходный код в машинный код заранее. + +# %% [markdown] +# #### Где можно выбрать интерпритатор? +# +# 1. Нажмите Ctrl + Shift + P +# 2. Введите команду "Python: Select Interpreter" и нажмите Enter. + +# %% [markdown] +# #### Что такое модуль? +# +# Это файл с расширением .py, который содержит код на языке Python + +# %% [markdown] +# #### Как создать и отправить коммит? +# +# Коммит можно создать двумя способами. Через кошку и терминал. +# +# Через кошку - при измененях в файлах репозитрия автоматом создаются изменения, которым можно дать называние и сделать коммит +# Через терминал - через команды git add. (добавить все изменения), git commit -m "описание изменений" +# +# #### Как посмотреть что коммит точно отправлен и находится в github? +# +# Можно на прямую зайти на сайт и проверить последние коммиты, или же в кошке во вкладке history +# +# + +# %% [markdown] +# #### Какая команда показывает что код не прошёл проверки на ошибки? +# +# `pre-commit run --all-files` - проверяет ваш код на ошибки. В случае ошибки указывает на нее +# +# +# #### Напишите список линтеров которые используются для проверки кода и дайте их краткую характеристику. +# +# * Black - форматирует код по стандарту PEP8, делая его более однородным и удобочитаемым. +# * Blacken-docs- форматирует Python-код в документации по стандарту Black, обеспечивая единый стиль кода в примерах, находящихся в файлах документации +# * Codespell - ищет и исправляет распространённые ошибки в написании слов (опечатки) в коде и комментариях. +# * Convert Notebooks - конвертирует Jupyter Notebooks в другой формат (например, .py или Markdown) для удобства хранения и анализа. +# * Flake8 - проверяет код на соответствие PEP8, а также выявляет синтаксические ошибки и потенциальные проблемы. +# * Isort - сортирует импортируемые модули в коде по алфавиту и группирует их. +# * Mypy - проверяет соответствие типов аннотациям +# * Pylint - линтер, проверяющий стиль и качество кода и анализирует структуру кода +# * Pyupgrade - обновляет синтаксис Python до более современной версии. +# +# #### Как узнать какой именно линтер не прошёл проверку? +# +# При запуске проверки можно посмотреть какие линтеры прошли а какие нет. Так же можно посмотреть на сайте гитхаба, нажав на последний коммит. +# +# #### Линтер Pylint видит markdown? +# +# Нет, он работает только с Python кодом + +# %% [markdown] +# #### Номер ячейки в терминале и номер ячейки в vs code может отличаться? в каком случае? +# +# Да может, это связано с работой с файлами ipynb. Ячейк могут запускаться в произвольном порядке что и приводит к различию номеров. Так же Markdown ячейки не учитываются при нумерации +# +# #### Где посмотреть номер ячейки в vscode? +# +# В правом нижнем углу, Ln - номер ячейки. При работе с ipynb номер ячейки отображается в левом части каждой ячейки при его выполнении. +# +# #### В каком формате ipynb отправляется в гитхаб? причём здесь JSON? +# +# Файлы .ipynb представляют собой текстовые файлы в формате JSON. В гитхаб файлы отправляются в формате JSON +# +# #### Где посмотреть в какой ячейке ошибка? +# +# При запуске команды для проверки на ошибки, линтеры напишут строку ошибки. Либо, можно перейти в вкладку problems в терминал и кликнуть по ошибке и вас автоматом перебросит на ошибку +# +# +# #### Как запустить терминал? +# +# Terminal - New Terminal +# + +# %% [markdown] +# #### Что такое линтер? +# +# +# Линтер — это инструмент, который анализирует код на наличие ошибок и отклонений от стандартов кодирования. +# +# #### В какой сайт нужно вставлять код ошибки если ошибка связана с pylint? +# +# `https://docs.astral.sh/ruff/rules/` +# +# #### Секция pydocstyle в большинстве случае автоматический закрывается после исправления ошибок в каком линтере? +# +# Flake-8 +# +# #### Что такое описание модуля? +# +# Описание модуля — это docstring, расположенный в начале Python-модуля. Необходим для краткого описания что делает данный модуль или файл. + +# %% [markdown] +# #### С какой git команды начинается утро программиста? +# +# `git pull` +# +# +# #### После внесения изменений в файлах, кнопка open in vs code пропадает в кошке, как по другому открыть vs code из кошки? +# +# Правой кнопкой мыши по названию вашей репозитории. --> `Open in VS code` + +# %% [markdown] +# #### Что такое stash? +# +# Когда вы применяете git stash, Git сохраняет состояние измененных файлов в специальное место (так называемое "stash"), очищая рабочую директорию. Позже вы можете вернуть эти изменения с помощью команды git stash apply или git stash pop +# +# Можно использовать когда вам прилетает новый пул реквест или же кто то работает в вашей репе параллельно с вами. +# +# +# #### Как сохранить стэш? +# +# git stash save "NAME_STASH" +# git stash apply "NUMBER_STASH" +# +# ##### Кнопка в vs code: +# +# Находится в Source Control во вкладке Stashes +# +# #### Как восстановить стэш: +# +# Кнопка `restore` в кошке. Команда `git stash apply` в терминале. +# +# #### Различие между стэшем и коммитом. +# +# +# Стеш временно сохранение изменений, своего рода черновик которые можно будет потом вернуть. +# Коммит уже сохранение готовых изменений перед отправкой на удаленный сервер +# +# #### Как просмотреть список сохраненных стэшей? +# +# `git stash list` +# +# #### Как удалить стэш? +# +# Что бы удалить все стэшы --> `git stash clear` +# Что бы удалить выборочно --> `git stash drop stash@{0}` +# +# +# #### Практические примеры использования стэша. +# +# Вам надо срочно переключиться на другую ветку, а изменения терять не хочется - сохранем изменения в стеш +# Вам прилетел новый пул реквест, надо принять - сохраняем текущие изменения в стеш, делаем и рестор со стеша, работаем дальше. +# +# #### Где посмотреть что есть конфликт в файлах? +# +# `git status` - команда позволяет увидеть конфликты в файлах +# +# Статус "Conflicted" у файлов +# +# Одни и те же строки изменены в разных ветках +# +# При слиянии веток с разными изменениями +# +# При pull с конфликтующими локальными изменениями +# +# #### Как решить конфликт в файлах? +# +# В GitHub Desktop кликнуть на конфликтующий файл +# "Open in Visual Studio Code" +# В VS Code выбрать: +# +# Accept Current Change +# +# Accept Incoming Change +# +# Accept Both Changes +# +# Сохранить файл +# +# Закоммитить решение конфликта +# +# +# #### Напишиие правильное утверждение +# +# Зелёное то что пришло с гитхаба и синее локальные изменения +# +# +# #### Если мы работаем в одном файле, можно ли принять pull после того как вы спрячете в стэш свои изменения? +# +# Да +# +# +# #### Что может произойти когда stash восстановите после принятия pull? +# +# Могут быть конфликт изменений, если изменения были в одном и том же файле +# +# #### Сколько способов решения конфликтов было показано в видео? Напишите ЧИСЛО и укажите их способы. +# +# * accept incoming changes - принять изменения пришедшие изменения +# * accept current changes - принять локальные изменения +# * accept both changes - принять оба изменения +# +# #### Что делает кнопка complete merge? +# +# * Завершает слияние +# +# * Создает коммит слияния +# +# #### В какой чат нужно писать если остались вопросы? +# +# Help me +# +# #### Что такое FORK? Зачем его делают? +# +# Клонирование репозитория, для работы с ним без вмешательства в оригинал +# +# #### Как скачать форкнутый репозиторий на локальный компьютер? +# +# Fork в GitHub, в кошке add --> clone repository и выбрать репу которую вы форкнули +# +# #### С какой вероятностью ваши ошибки были уже решены? и кто их решил? +# +# C вероятностью в 90% ошибки уже были решены в чате Help me +# +# +# +# +# +# + +# %% [markdown] +# #### Как создать файл в vs code? +# +# Во вкладке Explorer --> New file ... + +# %% [markdown] +# #### Файл лога нужно заполнять в конце каждого урока? +# +# Да + +# %% [markdown] +# #### Какая команда конвертирует файл в py из ipynb? +# +# jupyter nbconvert --to script your_notebook.ipynb +# +# +# #### Что такое пакетный менеджер? Вы пользуетесь пакетным менеджером conda или pip? Какой лучше использовать для дата сайнс? +# +# Пакетный менеджер — это инструмент для управления библиотеками и зависимостями в программном окружении. Он позволяет: +# +# * Устанавливать пакеты (библиотеки). +# * Обновлять пакеты до актуальной версии. +# * Удалять ненужные пакеты. +# * Управлять версиями и изоляцией окружений. +# +# ##### Рекомендуется conda: +# +# * Легко настраивает изолированные окружения. +# * Простая установка сложных библиотек, которые зависят от системных компонентов (например, SciPy, scikit-learn). +# * Включает библиотеки, используемые в машинном обучении и анализе данных. +# +# #### Почему расширение py лучше чем ipynb? +# +# * Лучше работает с git (меньше конфликтов) +# * Меньше размер файла +# * Скорость +# +# #### Что такое pep8? +# +# Стандарт для оформления кода Python и правила форматирования кода +# +# +# #### Линтеры проверяют на соблюдение pep8? +# +# Да +# +# #### Какая нотация используется для создания переменных? +# +# snake_case +# +# #### Может ли переменная состоять из одной буквы например андерскор "_" +# +# Да +# +# #### Зачем и где мы используем андерскор _ +# +# _ часто применяется для обозначения переменной, значение которой не будет использоваться +# +# #### По PEP8 допустима переменная в одну букву? +# +# +# Да + + diff --git a/quiz_2.py b/quiz_2.py new file mode 100644 index 00000000..c208ba06 --- /dev/null +++ b/quiz_2.py @@ -0,0 +1,162 @@ +# -*- coding: utf-8 -*- +# --- +# jupyter: +# jupytext: +# cell_metadata_filter: -all +# custom_cell_magics: kql +# text_representation: +# extension: .py +# format_name: percent +# format_version: '1.3' +# jupytext_version: 1.11.2 +# kernelspec: +# display_name: base +# language: python +# name: python3 +# --- + +# %% [markdown] +# #### Как включить автосохранение данных в VSCODE? +# +# * File -> Auto Save + +# %% [markdown] +# #### Как настроить перенос строки? +# +# Preferences -> Settings -> Word Wrap Column + +# %% [markdown] +# #### Сколько символов по pep8 разрешено на строке? +# +# 79 + +# %% [markdown] +# #### Какие способы переноса строк показаны в видео: +# +# * Сложение строк с помощью + +# + +# %% [markdown] +# #### Проверка на ошибки c помощью кнопки problems, где она находится? +# +# В терминале, первая вкладка сверху + +# %% [markdown] +# #### Где в vscode находится клиент гита? как в нём отправить коммит? как принять домашку? +# +# Вкладка Source Control. + +# %% [markdown] +# #### Что такое GIT? он локальный? В нём можно посмотреть историю изменений файлов и вернуться к любому коммиту? +# +# * Контроль версий +# * Да он локальный +# * Да можно вернуться к коммиту +# + +# %% [markdown] +# #### Как вставить картинку в маркдаун? +# +# !["img_name"]("Url link") +# +# +# !["img name"]("local url on your machine") +# + +# %% [markdown] +# #### Где посмотреть длину строки в vs code? +# +# Внизу справа Ln + +# %% [markdown] +# #### Как поменять тип ячейки с питона на маркдаун? +# +# Снизу справа, Select Cell Language Mode + +# %% [markdown] +# #### Как запустить сразу все ячейки в юпитере? +# +# Button Run all + +# %% [markdown] +# #### Как изменить размер картинки в юпитере? Нужно для этого знать HTML? +# +# img src="path_to_image.jpg" alt="Описание" width="300" height="200" +# +# Это встроенный HTML поэтому да + +# %% [markdown] +# #### Какой хоткей чтобы запустить ячейку с смещением на следующую? +# +# Shift + Enter + +# %% [markdown] +# #### Как включить отображение номеров строк в юпитере(Cell line numbers)? +# +# Сверху ячейки есть 3 точки --> Show Cell line numbers + +# %% [markdown] +# #### Что такое "Go To" чем это полезно? Как перейти сразу на ошибочную ячейку? +# +# Позволяет сразу прыгнуть на ячейку с проблемой + +# %% [markdown] +# #### Как очистить вывод ячеек которые уже запущены? +# +# Вверху есть кнопка Clear All Outputs - Клик + +# %% [markdown] +# #### Как работать одновременно в нескольких файлах в VSCODE? Что такое SPLIT? +# +# VS Code позовляет работать с несколькими файлами, позволяя разделить рабочую область на столько частой сколько захотите. Для этого кликните на Split Editor + +# %% [markdown] +# #### Каким сочетанием убирается левый сайдбар? +# +# Ctrl+B +# + +# %% [markdown] +# #### Кнопка два листочка это наши локальные файлы? +# +# Да, это работа с файлами в открытой директории + +# %% [markdown] +# #### Какая ошибка появилась в трассировке при запуске всех ячеек DICT или LIST? +# +# Не понял суть вопроса +# + +# %% [markdown] +# #### Что такое валидация? +# +# Валидация — это процесс проверки данных или результатов на соответствие заданным критериям или стандартам. +# +# #### Что такое трассировка ошибки? +# +# Трассировка ошибки (или стектрейс) — это информация, которая предоставляется при возникновении ошибки в программе. Она включает в себя стек вызовов функций (или методов), которые привели к возникновению ошибки, а также точку в коде, где ошибка произошла. +# +# Пример ошибки которая появляется в терминале: +# * Traceback (most recent call last): +# +# File "script.py", line 10, in +# some_function() +# * File "script.py", line 7, in some_function +# another_function() +# * File "script.py", line 4, in another_function +# 1 / 0 +# ZeroDivisionError: division by zero +# +# +# #### Что значит отвалился интерпритатор? +# +# Интерпритатор перестал работать - причины --> +# +# * Системная ошибка или сбой (например, в библиотеке или операционной системе). +# +# * Проблемы с памятью или ресурсами +# +# * Cегментационная ошибка (например, доступ к памяти, которая не была выделена). + +# %% [markdown] +#