Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
308 changes: 308 additions & 0 deletions quiz_1.ipynb
Original file line number Diff line number Diff line change
@@ -0,0 +1,308 @@
{
"cells": [
{
"cell_type": "code",
"metadata": {},
"source": [
"\"\"\"Ответы на вопросы Quiz 1.\"\"\""
],
"execution_count": null,
"outputs": [],
"id": "f1d8d3bb"
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Quiz 1"
],
"id": "52930bd3"
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**1) Как понять, что домашка пришла?**\n",
"\n",
"В чате HomeWork должен быть отмечен ник и сообщение о принятии пула\n",
"\n",
"**2) Как принять домашку?**\n",
"\n",
"В кошке нажать на кнопку Pull Origin. Затем зайти в историю коммитов (вероятнее всего, самый свежий коммит и есть ДЗ). Репозиторий открываем в VS Code и выполняем ДЗ. После выполнения зайти в кошку, закоммитить ДЗ и запушить его\n",
"\n",
"**3) Зачем нужна кнопка history и какие функции появляются при нажатии правой кнопки мыши на коммит?**\n",
"\n",
"Вкладка History показывает историю коммитов репозитория. Функции при нажатии на коммит:\n",
"1. Reset to commit - откат текущей ветки на определенный коммит назад в истории\n",
"2. Checkout commit - переключает рабочую директорию и текущую ветку на указанный коммит\n",
"3. Reorder commit - процесс переупорядочивания коммитов в истории \n",
"4. Revent changes to commit - отмена изменений, внесенных конкретным коммитом, путем создания нового коммита с инвертированными изменениями\n",
"5. Create branch from commit - создать ветку с текущего коммита\n",
"6. Create Tag - создать тег \n",
"7. Cherry-pick commit - выборочно применить изменения из одного или нескольких конкретных коммитов, выбранных из одной ветки, к текущей рабочей ветке\n",
"8. Copy SHA - скопировать уникальный идентификатор коммита (SHA)\n",
"9. Copy Tag - скопировать тег коммита\n",
"10. View on GitHub - посмотреть коммит на гитхабе\n",
"\n",
"**3.1) Где брать ссылку на коммит? куда её отправлять?**\n",
"\n",
"History -> View on Github -> копируем ссылку -> отправляем в чат HomeWork \n"
],
"id": "61c2f93f"
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**4) Что такое файл лога?**\n",
"\n",
"Файл для фиксации полученных знаний в ходе урока\n",
"\n",
"\n",
"**4.1) Когда нужно его пушить?**\n",
"\n",
"После заполнения и проверки на ошибки"
],
"id": "f98da55f"
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**5) Что такое интерпретатор?**\n",
"\n",
"Программа, которая построчно читает и выполняет программный код\n",
"\n",
"**6) Где можно выбрать интерпретатор?**\n",
"\n",
"В правом верхнем углу рабочей области\n",
"\n",
"**7) Что такое модуль?**\n",
"\n",
"Файл с расширением .ру или .ipynb\n",
"\n",
"**8) Как создать и отправить коммит?**\n",
"\n",
"В IDE зайти на вкладку Git`a или в кошку, выбрать файлы для коммита и заполнить название коммита. Затем нажать на кнопку commit, затем push для отправки\n",
"\n",
"**9) Как посмотреть что коммит точно отправлен и находится в github?**\n",
"\n",
"В кошке найти нужный коммит и нажать на View on GitHub. Если все выполнено верно, то откроется GitHub с информацией по коммиту\n",
"\n",
"**10) Какая команда показывает что код не прошёл проверки на ошибки?**\n",
"\n",
"pre-commit run --all-files\n",
"Если возникнут какие-то ошибки, то в терминале будет написано Failed\n",
"\n",
"**10.1) Напишите список линтеров которые используются для проверки кода и дайте их краткую характеристику.**\n",
"\n",
"Mypy - проверка типов данных\n",
"Pylint - проверка на РЕР8\n",
"Pydocstyle - проверяет наличие документации модуля\n",
"Flake8 - проверка на PEP 8, наличие синтаксических ошибок и логических проблем\n",
"\n",
"**11) Как узнать какой именно линтер не прошёл проверку?**\n",
"\n",
"В терминале при запуске проверки код прогоняются на все линтеры. Если напротив линтера написано failed, значит код не прошел проверку на этот линтер\n",
"\n",
"**12) Линтер Pylint видит markdown?**\n",
"\n",
"Нет\n",
"\n",
"**13) Номер ячейки в терминале и номер ячейки в vs code может отличаться? в каком случае?**\n",
"\n",
"Да, т.к. линтеры не учитывают markdown ячейки при подсчете\n",
"\n",
"**14) Где посмотреть номер ячейки в vscode?**\n",
"\n",
"В левом нижнем углу будет написано Cell n of k, где n - текущая ячейка, k - всего ячеек в файле\n",
"\n",
"**15) В каком формате ipynb отправляется в гитхаб? причём здесь JSON?**\n",
"\n",
"Файлы .ipynb отпраляются на GitHub в формате JSON\n",
"\n",
"**16) Где посмотреть в какой ячейке ошибка?**\n",
"\n",
"В сообщении ошибки выводится информация о том, в какой ячейке произошла ошибка\n",
"\n",
"**17) Как запустить терминал?**\n",
"\n",
"Terminal -> New Terminal или Ctrl + Shift + `\n",
"\n",
"**18) Что такое линтер?**\n",
"\n",
"Инструмент для анализа кода, который автоматически проверяет его на наличие синтаксических ошибок, потенциальных багов и нарушение стиля кодирования\n",
"\n",
"**19) В какой сайт нужно вставлять код ошибки если ошибка связана с pylint?** \n",
"\n",
"https://pylint.readthedocs.io/en/stable/\n",
"\n",
"**20) Секция pydocstyle в большинстве случае автоматический закрывается после исправления ошибок в каком линтере?**\n",
"\n",
"pylint\n",
"\n",
"**21) Что такое описание модуля? Оно должно отражать информацию о том что находится в модуле?**\n",
"\n",
"Документация, определяющая назначение, содержание и функционал модуля\n",
"\n",
"**21.1) С какой git команды начинается утро программиста?**\n",
"\n",
"Fetch origin\n",
"\n",
"**22) После внесения изменений в файлах, кнопка open in vs code пропадает в кошке, как по другому открыть vs code из кошки?**\n",
"\n",
"ПКМ Current repository -> Open in VS Code\n",
"\n",
"**23) Что такое stash?** \n",
"\n",
"стэш это буфер куда мы временно прячем файлы, чтобы принять pull\n",
"\n",
"**23.1) Как сохранить стэш?**\n",
" \n",
" git stash save \"NAME_STASH\" - сохарнить \n",
" git stash apply \"NUMBER_STASH\" - применить\n",
"\n",
" Кнопка в vs code: Stash changes and continue\n",
"\n",
"**23.2) Как восстановить стэш(подсказка: https://t.me/c/1937296927/3602/25747)?:**\n",
"\n",
" stashed changes -> restore\n",
" git команда: git stash apply \"Number_stash\"\n",
"\n",
"**23.3) Различие между стэшем и коммитом.**\n",
"\n",
"Коммит - это постоянная запись состояния репозитория в истории проекта. Это \"контрольная точка\", которую можно и нужно публиковать, делиться и к которой можно вернуться\n",
"Стэш - это временное хранилище для незавершенных изменений, которые не готовы к коммиту\n",
"\n",
"**23.4) Как просмотреть список сохраненных стэшей?**\n",
"\n",
" git команда: git stash list\n",
"\n",
"**23.5) Как удалить стэш?** \n",
"\n",
" Команды для удаления отдельных стэшей или всех сразу.\n",
" git stash drop\n",
" git stash clear\n",
"\n",
"**23.6) Практические примеры использования стэша.**\n",
" Если нужно принять пул, но есть вероятность конфликта\n",
" Чтобы временно отвлечься на другую задачу\n",
"\n",
"**24) Где посмотреть что есть конфликт в файлах?**\n",
"\n",
"В кошке в changes возле файла, где есть конфликт появится восклицательный знак \n",
"\n",
"**24.1) Когда он появляется?**\n",
"\n",
"Если сущетсвует несоответствие между внесенными изменениями нескольких разработчиков\n",
"\n",
"**25) Как решить конфликт в файлах?**\n",
"\n",
"Reserve in Merge Editor -> Complete Merge\n",
"\n",
"**26) Напишиие правильное утверждение**\n",
"\n",
"-Зелёное то что пришло с гитхаба и синее локальные изменения \n",
"\n",
"**27) Если мы работаем в одном файле, можно ли принять pull после того как вы спрячете в стэш свои изменения?**\n",
"\n",
"Да\n",
"\n",
"**27.1) Что может произойти когда stash восстановите после принятия pull?**\n",
"\n",
"Конфликт\n",
"\n",
"**28) Сколько способов решения конфликтов было показано в видео? Напишите ЧИСЛО и укажите их способы.**\n",
"\n",
"2 \n",
"1 - вручную убрать несоответсвия\n",
"2 - Accept Incoming Change/Accept Current Change/Accept Both Changes\n",
"\n",
"**29) Что делает кнопка complete merge?**\n",
"\n",
"Объединяет конечные изменения из конфликтов в одно\n",
"\n",
"**30) В какой чат нужно писать если остались вопросы?**\n",
"\n",
"Help me\n",
"\n",
"**31) Что такое FORK? Зачем его делают?**\n",
"\n",
"Копия репозитория, чтобы работать с ним не превнося изменения в оригинал\n",
"\n",
"**32) Как скачать форкнутый репозиторий на локальный компьютер?**\n",
"\n",
"Клонировать\n",
"\n",
"**33) С какой вероятностью ваши ошибки были уже решены? и кто их решил?**\n",
"\n",
"90%, решены другими разработчиками или в чате совместными усилиями участников\n",
"\n",
"**34) Как создать файл в vs code?**\n",
"\n",
"ПКМ проводнике IDE -> New File\n",
"\n",
"**35) Файл лога нужно заполнять в конце каждого урока?**\n",
"\n",
"Да"
],
"id": "e64104f9"
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Дополнительные вопросы:\n",
"**1)Какая команда конвертирует файл в py из ipynb?**\n",
"\n",
"jupyter nbconvert --to script 'имя_файла.ipynb'\n",
"\n",
"**2) Что такое пакетный менеджер? Вы пользуетесь пакетным менеджером conda или pip? Какой лучше использовать для дата сайнс?**\n",
"\n",
"Пакетный менеджер - ПО для автоматический установки пакетов, их обновления и удаления. Ранее использовала pip, сейчас conda. Для Data Science лучше использовать conda, т.к. он работает не только Python-пакетами, но и зависимостями системы, библиотеками (NumPy, SciPy) с нативными расширениями\n",
"\n",
"**3) Почему расширение py лучше чем ipynb?**\n",
"\n",
"- Предпочтительный формат для продакшн‑кода и сценариев автоматизации\n",
"- Линтеры корректно обрабатывают только файлы с расширением .py\n",
"- Удобнее отслеживать изменения в Git, так как он оптимизирован под текстовые файлы \n",
"- При запуске идет исполнение всего файла\n",
"\n",
"**4) Что такое pep8?**\n",
"\n",
"Официальное руководство по стилю написания кода на языке Python, которое содержит рекомендации по форматированию, именованию и структуре кода, чтобы сделать его более читаемым, понятным и единообразным для всех разработчиков\n",
"\n",
"**4.1) линтеры проверяют на соблюдение pep8?**\n",
"\n",
"Да\n",
"\n",
"**4.2) Какая нотация используется для создания переменных?**\n",
"\n",
"Snake Case\n",
"\n",
"**4.3) Может ли переменная состоять из одной буквы например андерскор \"_\" ?**\n",
"\n",
"Да\n",
"\n",
"**4.4) Зачем и где мы используем андерскор _**\n",
"1. В Snake Case\n",
"2. В циклах, если само значение переменной не планируется использовать\n",
"3. При распаковке, если какие-то значения нужно игнорировать\n",
"4. При создании магических методов\n",
"5. В модификаторах доступа\n",
"\n",
"**4.5) По PEP8 допустима переменная в одну букву?**\n",
"\n",
"допустимы, но не поощряются, за исключением очень коротких блоков кода или в математических контекстах"
],
"id": "1dd33bf1"
}
],
"metadata": {
"language_info": {
"name": "python"
}
},
"nbformat": 4,
"nbformat_minor": 5
}
Loading