diff --git a/docs/welcome/intro_eng.md b/docs/welcome/intro_eng.md deleted file mode 100644 index 44668739..00000000 --- a/docs/welcome/intro_eng.md +++ /dev/null @@ -1,89 +0,0 @@ -### Register Accounts - -1. **GitHub** - - Go to [GitHub](https://github.com/). - - Click on "Sign up" and follow the instructions to create an account. - - Once registered, share your GitHub profile link in the chat: [Telegram Chat](https://t.me/c/1937296927/3602). - -2. **Kaggle** - - Visit [Kaggle](https://www.kaggle.com/). - - Click on "Sign up" and create an account. - - Confirm your phone number on Kaggle (RELEVANT FOR RUSSIA) [Video Guide](https://youtu.be/fcBOlOl__T0) - - Use this number for Kaggle: [365sms.ru](https://365sms.ru/) - - - Obtain Contributor Status on Kaggle: [Video Guide](https://youtube.com/shorts/A_EtBko0T3U?feature=shared) - - Share your Kaggle profile link in the chat: [Telegram Chat](https://t.me/c/1937296927/832). - -3. **ODS.AI** - - Go to [ODS.AI](https://ods.ai/). - - Register for an account. - - Share your ODS.AI profile link in the chat: [Telegram Chat](https://t.me/c/1937296927/832). - -### Download and Install Software - -1. **GitHub Desktop** - - Download from [GitHub Desktop](https://github.com/desktop/desktop). - - Follow the installation instructions for your operating system. - -2. **Cursor** - - Download from [Cursor](https://github.com/getcursor/cursor). - - Install it according to the provided instructions. - -3. **Python (CPython)** - - Download from [CPython](https://github.com/python/cpython). - - Follow the installation guide for your platform. - -4. **Git for Windows** - - Download from [Git for Windows](https://github.com/git-for-windows/git). - - Install it using the setup instructions. - -5. **Conda** - - Download from [Conda](https://github.com/conda/conda). - - Follow the installation instructions for your system. - -### Additional Resources - -- **Jamboard for Learning** - - Watch the video guide: [YouTube](https://youtu.be/8pwKgbMyfbo) - - Use [Canva](https://www.canva.com/) to create and share Jamboards. - - Send me the link to your Jamboard in a private message. - -### Download the Repository to Your Computer - -### Detailed Instructions - -1. **Star the Repository** - - Make sure you have starred the repository. https://github.com/SENATOROVAI/Data-Science-For-Beginners-from-scratch-SENATOROV - ![image](https://github.com/user-attachments/assets/aa4e7946-d65f-4f5f-91a2-84a1dc3bdcb4) - -2. **Join the Team** - - If you are not listed in the [Senatorov Team](https://github.com/orgs/SENATOROVAI/teams/senatorov-team), send a message in the chat [here](https://t.me/c/1937296927/3602) with: - - Your Telegram username - - Your GitHub profile link - -3. **Create a New Branch** - - Go to the [branches page](https://github.com/SENATOROVAI/GithubLogin-Data-Science-For-Beginners-from-scratch-SENATOROV/branches) and create a new branch named after your [GitHub username](https://github.com/settings/admin). - - Example ![image](https://github.com/user-attachments/assets/09181e62-84f8-4992-86a4-13394c7a014a) - -4. **Clone the Repository** - - Download the repository to your local machine using any convenient method. I recommend GitHub Desktop. - Screenshot 2024-11-27 at 4 01 19 AM - -5. **Switch Branches** - - Ensure you switch to your newly created branch in GitHub Desktop. - ![image](https://github.com/user-attachments/assets/82f6acc8-3e4f-4abd-bc9b-0514a47056f4) - Screenshot 2024-11-27 at 4 26 31 AM - -### Submitting Changes - -1. **Update Branches** - - If requested in the GitHub chat, update your branch by creating a pull request from the `main` branch to your branch. Use the [compare page](https://github.com/SENATOROVAI/Data-Science-For-Beginners-from-scratch-SENATOROV/compare) to select your branch and initiate the pull request. - ![image](https://github.com/user-attachments/assets/e027f42e-a66f-42db-a52a-3a6319903ee8) - -### Ongoing Learning - -- All further learning and contributions will be conducted within this repository. - -By following these structured steps, you can ensure a smooth contribution process and stay aligned with the repository's guidelines. - -If you have any questions or need further assistance, feel free to ask! diff --git a/docs/welcome/intro_ru.md b/docs/welcome/intro_ru.md deleted file mode 100644 index 0ca0754e..00000000 --- a/docs/welcome/intro_ru.md +++ /dev/null @@ -1,347 +0,0 @@ -![photo_2024-01-16_20-54-32](https://github.com/user-attachments/assets/fe349ddc-47df-40f7-80b9-5758c15373c7) - ---- - -

Добро пожаловать в команду SENATOROVAI!

- --

Старые студенты сразу переходят к этому пункту, при условии что предыдущие выполнены

- -- Выполни инструкцию ниже, если возникнут трудности смело пиши: https://t.me/c/1937296927/2415 - ---- - -

Оглавление

- - ---- - -### Расскажи о себе, прошлый опыт, цель обучения, где живешь, лучше пиши на английском, коллеги англоязычные, русский их не родной, - - Сообщение отправь сюда [Тык](https://t.me/c/1937296927/3181) - ---- - -### Регистрация аккаунтов - -1. **GitHub** - - Перейдите на [GitHub](https://github.com/). - - Нажмите "Sign up" и следуйте инструкциям для создания аккаунта. - - После регистрации поделитесь ссылкой на ваш профиль GitHub в чате: [Telegram Chat](https://t.me/c/1937296927/3602), в посте добавьте @ВашЮзерНеймТелеграм хэштег #githubaccount - - Настройте Github: - - подписаться на коллег https://github.com/orgs/SENATOROVAI/teams/senatorov-team - - оформить гитхаб https://www.youtube.com/watch?v=pm17VwdJ6UI - - выберите шаблон https://github.com/abhisheknaiidu/awesome-github-profile-readme - - Повторите 5 пунктов - - Example - ---- - -2. **Kaggle** - - [Что такое КЭГГЛ?](https://youtu.be/wL9zQczbHRs) - - Посетите [Kaggle](https://www.kaggle.com/). - - Нажмите "Sign up" и создайте аккаунт. - - Подтвердите номер телефона на Kaggle (АКТУАЛЬНО ДЛЯ РФ) [Видео инструкция](https://youtu.be/fcBOlOl__T0) - - Используйте этот номер для Kaggle: [365sms.ru](https://365sms.ru/) - - - Получите статус контрибьютора на Kaggle: [Видео инструкция](https://youtube.com/shorts/A_EtBko0T3U?feature=shared) - - Подпишитесь на коллег https://t.me/c/1937296927/832/21039 - - Заполните профиль - - Example - - - Поделитесь ссылкой на ваш профиль Kaggle в чате: [Telegram Chat](https://t.me/c/1937296927/832). в посте добавьте @ВашЮзерНеймТелеграм хэштег #kaggleaccount - - [Загрузка ноутбуков на Kaggle](https://youtu.be/Kn9ZcXlCApw) - ---- - -4. **ODS.AI** - - Перейдите на [ODS.AI](https://ods.ai/). - - Зарегистрируйтесь для создания аккаунта. - - Поделитесь ссылкой на ваш профиль ODS.AI в чате: [Telegram Chat](https://t.me/c/1937296927/832). в посте добавьте @ВашЮзерНеймТелеграм хэштег #odsaccount - ---- - -### Скачивание и установка программ - -1. **GitHub Desktop** - - Скачайте с [GitHub Desktop](https://github.com/desktop/desktop). - - Следуйте инструкциям по установке для вашей операционной системы. - ---- - -2. **Cursor** - - Скачайте с [Cursor](https://github.com/getcursor/cursor). - - Установите согласно предоставленным инструкциям. - - Example - - (установить плагины): - - Example - - - - ms-python.pylint - - ms-python.flake8 - - ms-python.mypy-type-checker - - matangover.mypy - - ms-pyright.pyright - - ms-python.black-formatter - - njpwerner.autodocstring - - njqdev.vscode-python-typehint - - KevinRose.vsc-python-indent - - mintlify.document - - streetsidesoftware.code-spell-checker - - eamodio.gitlens - - ms-toolsai.jupyter - - ms-vsliveshare.vsliveshare - - njqdev.vscode-python-typehint - - EricSia.pythonsnippets3 - - ms-pyright.pyright - - congyiwu.vscode-jupytext - - streetsidesoftware.code-spell-checker-russian - - Активация русского языка - - Commands (use F1 or View -> Command Palette): - - Enable Russian Spell Checker Dictionary - Enable Russian Spell Checker Dictionary in Workspace - - Добавить слово в словарь => наводим на слово и нажимаем ctrl+. потом выбираем add to user settings - - Настройте [курсор(vscode на видео) к работе](https://www.youtube.com/watch?v=Si9MfV8uJ-0) - - Кнопка "vs code settings" ,для wrap и т.д. Example - - - **Посмотрите [возможности курсора](https://www.youtube.com/watch?v=hjBCRVYE1as&feature=youtu.be)** - - Посмотрите [процесс принятие и отправки домашних заданий на гитхаб](https://youtu.be/hW_7hodGxVU?si=tCEVs00xGt2q61eW) - ---- - -3. **Python (CPython)** - - Скачайте с [CPython](https://github.com/python/cpython). - - Следуйте руководству по установке для вашей платформы. - - Повторите видео [Интерпритатор Cpython и PYPY](https://youtu.be/ooLcXygrLnU) - ---- - -4. **Git for Windows** - - Скачайте с [Git for Windows](https://github.com/git-for-windows/git). - - Установите, следуя инструкциям по настройке. - ---- - -5. **Conda** - - Скачайте с [Conda](https://github.com/conda/conda). - - Следуйте инструкциям по установке для вашей системы. - ---- - -- **Джамборд для учёбы** - - Посмотрите видеоинструкцию: [YouTube](https://youtu.be/8pwKgbMyfbo) - - Используйте [Canva](https://www.canva.com/) для создания и обмена джамбордами. - - Скиньте мне в личку ссылку на ваш джамборд. - ---- - -### Скачайте репозиторий на свой компьютер. - -1. **Поставьте звезду репозиторию** - - Убедитесь, что вы поставили звезду репозиторию, https://github.com/SENATOROVAI/Data-Science-For-Beginners-from-scratch-SENATOROV -![image](https://github.com/user-attachments/assets/aa4e7946-d65f-4f5f-91a2-84a1dc3bdcb4) - ---- - -2. **Присоединитесь к команде** - - Если вас нет в списке [команды Senatorov](https://github.com/orgs/SENATOROVAI/teams/senatorov-team), отправьте сообщение в чат [здесь](https://t.me/c/1937296927/3602) с: - - Вашим логином в Telegram - - Ссылкой на ваш профиль GitHub - - в посте добавьте хэштеги #githubaccount #senatorovteam - ---- - -1. **Создайте новую ветку** - - Перейдите на [страницу веток](https://github.com/SENATOROVAI/GithubLogin-Data-Science-For-Beginners-from-scratch-SENATOROV/branches) и создайте новую ветку, назвав её вашим [логином GitHub](https://github.com/settings/admin) без СОБАЧКИ @. - -![image](https://github.com/user-attachments/assets/99f05e36-f698-486a-8f95-50225043fb22) - -- Пример ![image](https://github.com/user-attachments/assets/09181e62-84f8-4992-86a4-13394c7a014a) -4. **Клонируйте репозиторий, лучше конкретную ветку** - - Скачайте репозиторий на ваш локальный компьютер любым удобным способом. Рекоммендую Github Desktop - Screenshot 2024-11-27 at 4 01 19 AM - - -4.1 **Клонирование конкретной ветки** - -- откройте терминал/командную строку, перейдите в ваш репозиторий с помощью команды ``cd Documents/github/`` -- `` git clone --branch название-ветки https://github.com/SENATOROVAI/Data-Science-For-Beginners-from-scratch-SENATOROV.git `` -- ``cd Data-Science-For-Beginners-from-scratch-SENATOROV`` -- ``cursor .`` - -5. **Переключите ветки** - - (опционально) переключите ветку в GitHub Desktop, вы можете вообще удалить github desktop и [отправлять коммиты через курсор](https://youtu.be/Si9MfV8uJ-0?si=u-VwMWhK-BNtJVuf&t=382), как вам удобно. - Example - -5.1 **Откройте курсор в github desktop и переключите в нем ветки** - Example -Screenshot 2024-11-27 at 4 26 31 AM - -6. **Введите команды в терминал** - - Откройте терминал и убедитесь что там написано Data-Science-For-Beginners-from-scratch-SENATOROV - Example - - ![изображение](https://github.com/user-attachments/assets/6145231b-a5b4-488b-967a-5d4ed9b995a5) - - Затем вставьте 4 команды ниже, в терминал, по очереди, и нажмите каждый раз Enter - - ``git init `` - - ``pip install pre-commit`` - - ``pre-commit install`` - - ``pre-commit run --all-files`` - - - Документация по линтерам: - - Pylint https://pylint.pycqa.org - - Pydocstyle https://docs.astral.sh/ruff/rules/#pydocstyle-d - - Flake8 https://flake8.pycqa.org/en/latest/index.html - - Mypy https://mypy.readthedocs.io/en/stable/cheat_sheet_py3.html#variables - -7. **Пришлите скриншот вашего терминала** - - Сделайте полный скриншот вашего терминала на весь экран и пришлите в [чат](https://t.me/c/1937296927/3602) пример скриншота - - Example - -7.1 **Если у вас есть локальный репозиторий на компьютере с вашими файлами, скопируйте ваши файлы из documents/github/ваш_репозиторий, в новый репозиторий Documents/github/Data-Science-For-Beginners-from-scratch-SENATOROV** - -7.2 Отправляем коммит , текст кликабельный, нажмите на него - -8. **Ознакомиться с системой штрафов** - - [Штрафы](https://t.me/c/1937296927/11810/11811) - -9. **Ознакомиться с системой бонусов** - - [Бонусы](https://t.me/c/1937296927/25305/25306) - -10. **Ознакомиться с системой помощи в комьюнити** - - [Инструкция помощь](https://t.me/c/1937296927/2415/23729) - - [Практика запроса помощи или сообщения о проблеме](https://youtu.be/wR3gXOiRm10) - -11. **Ознакомиться с отменой занятий** - - [Отмена занятий](https://t.me/c/1937296927/26659/27648) -12. **Ознакомиться с программой обучения** - - [Программа обучения](https://t.me/c/1937296927/10385/14516) -13. **Важные анонсы крайте нежелательно пропускать** - - [Критические уведомления](https://t.me/c/1937296927/26659) -14. **Чат HomeWork** - - если я ставлю собачку на вас в этом чате значит вам пришла домашняя работа [чат](https://t.me/c/1937296927/4496) - - после выполнения ДЗ и отправки коммита вы должны приложить в этот чат ссылку на него -15. **Персональное обращение** - - регулярно проверяйте что вас [не тегнули](https://t.me/c/1937296927/2415/25595) - - помогайте другим коллегам решать их тикеты и [получайте бонусы](https://t.me/c/1937296927/25305/25306), ищите хэштег #open - Example - -16. **Ответьте на квизы и пришлите пул реквест** - - [Квиз](https://github.com/SENATOROVAI/Data-Science-For-Beginners-from-scratch-SENATOROV/issues/2) - - [pull requests](https://www.youtube.com/live/Fdhy4W4U4os) -17. **Внимательно прочитайте инструкцию по git** - - [git](https://github.com/SENATOROVAI/Data-Science-For-Beginners-from-scratch-SENATOROV/blob/main/docs/git/intro_to_git.ipynb) -18. **Приступите к практике по git** - - [git задание](https://github.com/SENATOROVAI/Data-Science-For-Beginners-from-scratch-SENATOROV/issues/11) - - [git course](https://learngitbranching.js.org/?locale=ru_RU) -19. **Практика Github** - - [КАК РЕШИТЬ любую ПРОБЛЕМУ связанную с OPENSOURCE](https://www.youtube.com/live/6U09wLPorYw) - - [Как искать информацию на Github и алгоритм решения неработающих плагинов VS CODE/Cursor](https://www.youtube.com/watch?v=-aCdtZ8qL24) - -### ПОЗДРАВЛЯЮ! ВЫ ГОТОВЫ К ОБУЧЕНИЮ, Сообщите в [чат](https://t.me/c/1937296927/4496) что сделали intro и я задам вам домашнюю работу. - ---- - -1. ### **update branch** - - Если в чате GitHub вас просят "обновите ветки/update branch", создайте пулреквест из ветки `main` в вашу ветку. Используйте [страницу сравнения](https://github.com/SENATOROVAI/Data-Science-For-Beginners-from-scratch-SENATOROV/compare), чтобы выбрать вашу ветку и инициировать пулреквест. - ![изображение](https://github.com/user-attachments/assets/af405a89-cbe5-4bca-b58e-4a332536e001) - - В title пул реквеста пишите ``update branch`` - ![image](https://github.com/user-attachments/assets/cf31394e-288f-4a53-9730-371585f08fe8) - - Скролим в самый низ и нажимаем зелёную кнопку "merge" - ### Resolve conflicts - - Если возникает конфликт при слиянии, нажимаем "web editor", или "github desktop" - ![изображение](https://github.com/user-attachments/assets/9253262b-f940-47f5-bda9-510ef3a59b6f) - - Нажимаем Resolve - - Устраняем конфликт вручную, путём вырезания ненужных строк - Example - - Нажимаем Mark as resolved - ![изображение](https://github.com/user-attachments/assets/95875526-f125-47c9-91d5-8e9f39ed4dce) - ---- - -2. **Сложный конфликт** - -Screenshot 2024-11-28 at 1 21 12 AM - -### Commit (Переходим в курсор и жмём на клиент гита) - -Screenshot 2024-11-28 at 1 21 12 AM - -- Затрекайте свои временные изменения в коммит, нажмите "+" чтобы внести изменения в трекинг систему гит -- Список Changes должен быть пустым -- Дополнительно можете ещё раз убедиться что всё готово к слиянию веток, введите в терминал:``git status``, список файлов должен быть зелёный -Screenshot 2024-11-29 at 11 29 54 PM -Screenshot 2024-11-29 at 11 41 12 PM - -- чтобы сделать пустую строку между тайтл и дескрипшен жмём shift+enter, если в коммите участвуют системные файлы, которые я добавил, значит пишете, "update system files", Отправляем коммит нажатием на кнопку **commit&sync**, и потом делаем merge веток - -Example - -- Внизу слева, должна быть написана **ваша ветка, которую вы создали** -- Нажимаем 3 точки, merge - -![изображение](https://github.com/user-attachments/assets/43b1620f-86c6-4679-a4b7-e37d31eeeba4) - -- выбираем из какой ветки будем мержиться, нажимаем на **"origin/main remote branch"**, то есть с той ветки которая лежит на сайте гитхаб, а не ,main которая у вас на компе, поздравляю, вы успешно обновили ветку, но иногда надо устранять конфликты вручную, поэтому если это ваш случай, читайте дальше доку. - -![изображение](https://github.com/user-attachments/assets/89b59451-31e2-4f5a-8333-c7e093cf304f) - -- Нажимаем accept current change , это то что пришло с гитхаба, наши локальные данные удаляться. - -![изображение](https://github.com/user-attachments/assets/ca29e057-fd1b-4b99-b66b-6ac9e5c2bd8e) - -![изображение](https://github.com/user-attachments/assets/49afd7e8-d965-47a9-9254-10b76816bb6e) - -- отдаём коммит, ВЫ УСПЕШНО РЕШИЛИ КОНФЛИКТ И ОБНОВИЛИ ВЕТКУ! - ---- - -### Дальнейшее обучение и портфолио -- [Портфолио](https://youtu.be/CQ3J2nCkBSo?si=Sy8wc6IWHDahz3KY) - -- Все дальнейшее обучение и вклад будут осуществляться в этом репозитории. - -Следуя этим структурированным шагам, вы сможете обеспечить гладкий процесс внесения изменений и оставаться в соответствии с руководящими принципами репозитория. - ---- - -### Check hw -- [Создаёте ишьюс](https://github.com/SENATOROVAI/Data-Science-For-Beginners-from-scratch-SENATOROV/issues), у вас 3 варианта: -- ишьюс-вопрос -- ишьюс-улучшение, если хотите помочь мне улучшить документацию, структуру папок и заработать баллы -- ишьюс-баг -- пишете содержательный тайтл, дескрипшен, запоминаете номер ишьюса, вы его будете вставлять в пул реквест, [инструкция как создать ишьюс](https://youtu.be/wR3gXOiRm10) - -- **Пример** -Screenshot 2024-11-28 at 2 24 08 PM - -- Вы можете попросить чтобы я проверил: - 1) сразу весь файл - 2) блок кода - 3) одну строку, кнопка "Copy permalink" нужно кликнуть на конкретную строку или выделить несколько строк, -Screenshot 2024-11-28 at 1 30 54 PM - - - -- [Открываете пул реквест в ветку main](https://github.com/SENATOROVAI/Data-Science-For-Beginners-from-scratch-SENATOROV/pulls), Тайтл копируем из ишьюс, в дескрипшен пишем Closes #НомерИшьюса, в моём примере это **Closes #35** -Screenshot 2024-11-28 at 1 30 54 PM -Screenshot 2024-11-28 at 1 30 54 PM - -- Присылайте ссылку на ишьюс в https://t.me/c/1937296927/3602, в посте пишете: -- копируете тайтл из ишьюса и добавляете 2 хэштега #open #issues -- Когда я проверю вашу домашку, я пришлю ссылку на ревью, в ответ на ваше сообщение, вам нужно будет поменять статус в посте на #closes - ---- - -Если у вас есть вопросы или нужна дополнительная помощь, не стесняйтесь спрашивать [здесь](https://t.me/c/1937296927/2415)! - - diff --git a/git/stash.py b/git/stash.py new file mode 100644 index 00000000..9cb250c9 --- /dev/null +++ b/git/stash.py @@ -0,0 +1,30 @@ +# %% [markdown] +# # Ответы на вопросы по заданию [TASK] STASH #3 +# +# 1. Команда git stash позволяет сохранить все текущие изменения, которые еще не были закоммичены во временное хранилище. +# +# 2. Если в графическом редакторе, то нужно перейти в раздел раздел 'source control' и напротив changes нажав на '...', в выпадающем меню нужно выбрать 'stash', +# а далее 'view stash...'. Также это возможн сделать в терминале с помощью команды git stash list . +# +# 3-4. В терминале: git stash apply - последний стэш, git stash apply@{1} - по номеру, если это делать в графическом редакторе, то можно применить apply latest stash +# и apply stash... - если нужно по конкретному номеру. Также можно сначала вызвать стэш-список и применить стэш с помощью кнопки справа (стрелочка вверх, +# слева от иконки урны). Эта команда, только применяет стэш, но не удаляет его из списка. +# +# 5. Команда git stash apply применяет стэш, но не удаляет его, а команда git stash pop и применяет и удаляет. +# +# 6. git stash drop только удаляет стэш. +# +# 7. В терминале - git stash clear, в VS code - drop all stashes... Чтобы не удалить случайно лишнее, рекомендуется перед удалением посмотреть стэш-список. +# +# 8. Удобно использовать когда нужно переключится на другое задание, ветку, вообщем сделать что-то вне текущей работы, а текущие изменения еще не готовы к коммиту, +# по этому удобно их сохранить во временное хранилище, также во избежания конфликта файлов когда нужно выполнить команды pull или merge. +# +# 9. Git прервёт выполнение команды и сообщит о ошибке. +# +# 10. Да, но не только если не была запущена команда git gc - это команда очищает неиспользуемые обьекты. Может запускать автоматически, либо програмистом. +# +# 11. Создает имя для стэш, рекомендуется замена на git stash push -m "NAME_STASH" +# +# 12. Применяет конкретный стэш, но не удаляет его, но написание не верное, нужно написать git stash apply stash@{N} +# +# 13. Применяет конкретный стэш и после удаляет, также неверный синтаксис, замена на git stash pop stash@{N} diff --git a/log.ipynb b/log.ipynb new file mode 100644 index 00000000..f4f140fc --- /dev/null +++ b/log.ipynb @@ -0,0 +1,103 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "vscode": { + "languageId": "plaintext" + } + }, + "outputs": [], + "source": [ + "\"\"\"Файл для отчета по занятиям.\"\"\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "26/11\n", + "\n", + "Обсуждали программу обучения, знакомились, определяли цели. \n", + "1. Для меня важно структурированная база для самостоятельного обучения, конкретные задания и материалы.\n", + "\n", + "2. Также важно внутри себя уже собрать теор знания, тех что не хватает заполнить пробелы в идеале до июня 2025, как получится будет видно, ну и конечно применять уже их на практике, разобраться в пайтоне. \n", + "\n", + "3. В идеале с лета уже нарабатывать практическую базу (в том числе готовиться к участие в проектах на kaggle) и готовить себя к поиску работы, если и не работы то практики, которая перерастет в работу. \n", + "\n", + "4. Также хочу напомнить, что я учусь в техническом вузе, но я бы предпочла не учитывать это, так как в моем образование изначально было много упущено, и на данный момент я стараюсь наверстать упущенное. Но однозначно это помогает мне ориентироваться и обрабатывать информацию быстрее. Для меня важно, менторство так как самостоятельно пока у меня взрывается мозг. " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "28/11\n", + "\n", + "1. Множество - это совокупность элементов. \n", + "2. Обсудили диаграмму Эйлера-Венна, кванторы и условные обозначения, \n", + "натуральные и целые числа. \n", + "3. Затронули такие операции над множествами как пересечение (коньюнкция, \"и\"), обьединение (дизьюнкция \"или\"), симметрическую разность. \n", + "\n", + "4. в конце поотвечала на вопросы по школьной прорамме (успешно)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "03/12\n", + "\n", + "1. Обсуждали функцию, что она может относится к сюрьекции при соотвествии х одному у, иньекции при отсутсвии х некоторым у, биекции при взаимно однозначном соответсвии.\n", + "\n", + "2. Обсудили синус, его график, что это тригонометрическая функция нечетная и что при отрицательном аргументе значение функции также отрицательное.\n", + "3. Далее затронули понятие обратное функции\n", + "4. Последовательность - это упорядоченный набор эллементов, с определенной последовательностью, порядок важен. Далее затронули свойства бесконечно малых и большых последовательностей. Ограниченную последовательнсть.\n", + "\n", + "5. Предел числовой последовательности (по Коши) - это такое число а, что для любого положительного эпсилен, найдетсы такое число N (зависящее от эпсилон), что для всех n>N выполняется неравенство |x_n - a|<эпсилон. Тоесть с числа N(которое определяется исходя из эпсилон) все члены последовательности (n) попадают в эпсилон коридор (тоесть a+- эпсилон)." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "05/12\n", + "\n", + "1. повторили определение предела по Коши\n", + "2. Порешали разнообразные виды пределов (такие как предел функций, предел геометрическрей прогресси, предел факториальной последовательности, предел разных последовательностей ) " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "19/12\n", + "\n", + "1. Начали изучение линейной алгебры с интерпретацией ее в питоне.\n", + "2. Ознакомились с термином скаляр и вектор, с размерностью, стандарт позицией, хвостом и головой вектора, важностью последовательности чисел в записи вектора, количество координат соответсвует размерности пространства. \n", + "3. посмотрели как мы можем записать вектор в пайтон используя библиотеку нампай, а также как мы можем реализовать его на графике с помощью директории матплотлиб используя функцию пайплот. \n", + "4. атрибут в классе это переменная, а функция это метод, метод мы можем узнать по использованию круглых скобок. \n", + "5. лист не сможет допустить транспонирование вектора, а массив позволит записать как вектор-строку так и вектор-столбец. " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [] + } + ], + "metadata": { + "language_info": { + "name": "python" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/python/commits.py b/python/commits.py new file mode 100644 index 00000000..abfae150 --- /dev/null +++ b/python/commits.py @@ -0,0 +1,26 @@ +# %% [markdown] +# +# # Ответы на вопросы по issues - commit +# +# 1. feat - тип, которые используется при добавлении новой функциональности, то что вносит что-то новое, но не влияет на совместимость, соответствует MINOR. +# fix - также не влияет на совместимость, изменения которые фиксят баги, соответствует PATCH. +# docs - изменения вносимые в документацию. +# style - все изменения относящиеся к форматированию и стилю кода, оформление (пробелы, табы и т.д.). +# refactor - переписывание или улучшения структуры кода, но не меняющая функциональность. +# test - добавление или изменения тестов, не меняя кода. +# build - изменения чего-то в конфигурации сборки или зависимостях проекта, в технической части, отвечающей за запуск и упаковку проекта, но не в самом коде приложения. +# ci - изменения, связанные с автоматической сборкой и тестированием. +# perf - изменения относящиеся к ускорения или снижения потребления ресурсов, например убрать лишнюю +# обработку данных. +# chore - разные рутинные задачи, все что не влияет на код программы. +# +# 2. fix: исправлена ошибка функции - округления чисел +# +# 3. feat: добавлена функция generateReport для формирования отчётов +# +# 4. style: исправлено форматирование и отступы во всём проекте +# +# 5. docs(report): добавлено описание функции generateReport в README +# +# 6. test(report): добавлены тесты для функции generateReport +# diff --git a/python/issues.py b/python/issues.py new file mode 100644 index 00000000..07bd2101 --- /dev/null +++ b/python/issues.py @@ -0,0 +1,121 @@ +# %% [markdown] +# ## Ответы на вопросы по [TASK] issues #2 +# +# #### Общие вопросы +# +# 1. Что такое Issues на GitHub и для чего они используются? +# Это инструмент управления задачами, встроенный в репозиторий, для создания/планирования, отслеживания, обсуждения задач в репозитории, а также для любых других задач связанных с проектом, от создания новых функций, до обсуждения новых идей, а также отчетов и устранения багов... и тд. +# +# 2. Чем Issues отличаются от других инструментов управления задачами? +# Этот инструмент встроенный в репозиторий, что позволяет связывать задачи с PR и коммитами, а также настраивать автоматизацию, типа автоматическое закрытие issues при мердже. Также можно добавлять метки, что позволяют и маркировать и сортировать ишьюсы, также существуют возможность создавать шаблоны, что рекомендуется для качественного заполнения. +# +# 3. Какие основные компоненты (поля) есть у каждого Issue? +# title, +# discription, +# labels, +# assignees, +# type, +# milestone, +# project, +# также системное поле status - open, close, также после создания появляется timeline - хронологию: кто что сделал (назначил, закрыл, упомянул и т.д.). +# +# #### Создание Issues +# +# 4. Как создать новое Issue в репозитории? +# Если мы говорим про создание через веб-интерфейс, то перейди на главную страницу нужного репозитория, далее вверху нажми вкладку 'issues', далее нажимаем на зеленую кнопку 'New issue' . Далее заполнянем title, description. При необходимости добавляем labels, назначаем ответственных (assigness), также можно выбрать milestone и добавить в проект. +# Также существует возможность создать issues используя GitHub CLI (через терминал), из проекта, из комментария в существующем ишьюс или ПР, из обсуждения, из диапазона строк кода, используя URL- адрес с параметрами. +# +# 5. Какие данные рекомендуется указывать в описании Issue для лучшего понимания задачи? +# Должно быть детальное и подробное описание ишьюса, это важно. 1. Контекст — где возникла проблема или к чему относится предложение (включая ссылки на код при необходимости). 2. Шаги для воспроизведения — чёткая последовательность действий, если это баг. 3. Ожидания — как система должна работать. 4. Фактическое поведение — что происходит на самом деле. 5. Среда/версия — ОС, браузер, версия продукта и т.д. 6. Дополнительные детали — сообщения об ошибках, скриншоты, логи, stack trace. 7. Предлагаемое решение или обоснование — если это запрос функции или улучшение. 8. Приоритет — насколько задача критична (High, Medium, Low). 9. Критерии приёмки — что считается завершением задачи. 10. Связанные задачи — ссылки на другие issues или PR. 11. Подзадачи — чеклист, если задача состоит из этапов. +# +# 6. Какие теги (labels) можно добавить к Issue? Какие из них стандартные? +# Владелец репозитория, может создавать любые теги с любыми названиями и цветами. Но есть стандартные такие как: +# bug (ошибка, баг), +# enhancement (улучшение, новая функция), +# documentation (документация), +# good first issue (когда задача подходит для новичков), +# help wanted (нужна помощь), +# duplicate (схожие, повторяющееся issue), +# question (есть вопросы), +# invalid (не актуально), +# wontfix (далее работа над ишьюсем продолжена не будет) +# +# 7. Как прикрепить Assignees (ответственных) к Issue? +# При создании ишьюса, можно выбрав поле Assignees выбрать из списка участников репозитория. Также могут быть назначены или изменены после создания ишьюса, открыв его справа найти поле и также в списке выбрать ответственных. Есть еще способы через github CLI(терминал) и с помощью параметров в URL-адресе. +# +# #### Работа с Issues +# +# 8. Как использовать Labels для классификации задач? +# Всё тоже самое что и при назначении ответсвенных. Также выбрав поле Labels в списке метко выбрать нужный. Можно и при создании ишьюса, и в уже существующем, применять/отменять. Есть еще способы через github CLI(терминал) и с помощью параметров в URL-адресе. +# +# 9. Для чего нужен Milestone, и как связать его с Issue? +# Milestone используется для объединения связанных ишьюс и ПР, с целью лучшего отслеживания их прогресса определённой цели или релиза. Сначала нужно создать Milestone, указав тайтл, дескрипшн и при необходимости дату завершения. Далее связываем ишьюс с Milestone через поле Milestone в правой панели соответствующего Issue, нажимае на нужное поле и в списке выбираем необходимую веху. Можно и в новом ишьюсе связывать, также через поле.Это позволяет отслеживать процент выполнения и количество открытых/закрытых ишьюс в рамках одного Milestone. +# +# 10. Как привязать Issue к пул-реквесту (Pull Request)? +# Можно с помощью упоминания в описание PR (#номер_ишьюса), можно с ключевыми словами (типа closes), что позволяет автоматически закрыть ишьюс после слиянии PR. Также это можно сделать через панель в ПР. +# +# 11. Как добавить комментарий к существующему Issue? +# внизу есть окно 'add a comment' +# +# #### Закрытие и завершение Issues +# +# 12. Как закрыть Issue вручную? +# Переходим в нужный репозиторий, открываем через вкладку ишьюс тот что необходимо закрыть, внизу находим кнопку close issue. +# +# 13. Можно ли автоматически закрыть Issue с помощью сообщения в коммите или пул-реквесте? Как это сделать? +# Да, конечно, автоматическое закрытие ишьюса может произойти при слиянии ПР, когда ПР в описание содержит Closes #123, Fixes #12, либо когда closes #123 содержиться в описание коммита (git commit -m "Починили баг конвертации валюты. Fixes #123"), но этот коммит обязательно должен опасть в ПР. +# +# 14. Как повторно открыть закрытое Issue, если работа ещё не завершена? +# нажимаем на вкладку ишьюс, далее выбираем вкладку closed, находим нужные ишьюс, кликаем по нему, находим кнопку reopen issue и нажимаем. +# +# #### Фильтрация и поиск +# +# 15. Как найти все открытые или закрытые Issues в репозитории? +# во вкладе ишьюс в верхней части есть разделы open и closed, также можно в поисковое строке выше с помощью фильтров is: open, is: closed. (можно комбинировать) +# +# 16. Как использовать фильтры для поиска Issues по меткам, исполнителям или другим критериям? +# Также во вкладке ишьюс есть выпадающие меню с фильтрами, простой интуитивный способ, либо через поисковую строку вручную вводить фильтры, нужно придерживаться правильного синтаксиса (ключ:значение), если значение состоит из нескольких слов, заключаем его в скобки. +# +# 17. Как сортировать Issues по приоритету, дате создания или другим параметрам? +# Если по приоритету то через выпадающее меню labels (обязательно нужно создать такую метку, она не стандартная), если про другие параметры по выбираем справа newest и в выпадающем меню сортируем уже по нужному параметру. также это возможно через поисковую строку. +# +# #### Интеграции и автоматизация +# +# 18. Как настроить автоматические уведомления о новых или изменённых Issues? +# можно настроить уведомления в репозитории, с помощью кнопки watch, либо в подписаться на конкретный ишьюс, кнопка subscribe. +# +# 19. Что такое Projects в контексте GitHub, и как связать их с Issues? +# Это инструмент по планированию и управлению множеством задач для достижения цели, поддерживает визуализацию (таблицы, доски). Можно связать из ишьюса, справа будет поле Projects, в нем нужно выбрать необходимый проект. Также можно связать из самого проекта, нажимаем "+ Add item" далее "Add item from repository", далее следуем инструкции выбираем репозиторий и нужные ишьюс. Также возможон создать новый ишьюс в самом проекте. +# +# 20. Какие сторонние инструменты можно использовать для автоматизации работы с Issues (например, боты, Webhooks)? +# Probot, Stale Bot, Zapier (или аналогичный Make / Integromat), Slack / Discord / Telegram через Webhooks. +# +# #### Коллаборация +# +# 21. Как упомянуть другого пользователя в комментарии к Issue? +# @username +# +# 22. Как запросить дополнительные данные или уточнения у автора Issue? +# открываем нужный файл, выделяем диапазон интересующих строк (нажимаем на первую строку диапазона, удерживая шифт нажимаем на последнюю строку диапазона), нажав ... выбираем copy permalink. Далее создаем New issue и вставляем ссылку в дескрипшен, а в тайтле просим уточнит нужную информацию указывая файл. Также можно вести комуникацию через стороние мессенджеры, копируя тайтл и нужные ссылки на ишьюс. +# +# 23. Что делать, если Issue неактуально или его нужно объединить с другим? +# Можно закрыть ишьюс, обьяснив причину неактуальности в комментарии. +# Если есть ишьюсы на обьединения, при необходимости добавить метку дубликат, в повторяющемся/схожем ишьюсе в комментраиях оставить обьяснения и обязательно добавить номер/ссылку на основной ишьюс (#456), дубликат закрыть. В основном также оставить комментарий, что обьединено с ишьюс #123 (так как закрыт как дубликат). +# Если кратко: +# В дубликате в коментариях пишем - дубликат ишьюса #456, далее все там. +# В основном пишем - обьединено с #123 так как повторяющейся смысл. +# +# #### Практические аспекты +# +# 24. Как использовать шаблоны для создания Issues? +# при нажатие new issue, появиться список существующих шаблонов, выбираем то что нужен +# +# 25. Что такое Linked Issues, и как создать связь между задачами? +# это связанные ишьюс, самый простой способ связать обсуждали выше, также можно сделать через панель в самом ишьюсе, соответсвенно указывая тип связи. +# +# 26. Какие метрики (например, время выполнения) можно отслеживать с помощью Issues? +# статус выполнение, прогресс по вехе, состояние подзадач ... +# +# 27. Какие best practices рекомендуются при работе с Issues в команде? +# При работе с Issues в команде рекомендуется использовать шаблоны для стандартизации описания задач, чётко формулировать заголовки и описания, назначать ответственных (Assignees), использовать метки (Labels) для класификации и легкой фильтрации, использовать Milestones и Projects для отслеживания прогресса, визуализации. Дискашн использовать для обсуждения. +# Также для удобвтса можно разбивать крупные задачи на подзадачи через Sub-issues, завершение задачи обязательно фиксируется закрытием ишьюса, можно автоматически через связывание с ПР с помощью ключевых слов (например, closes #123), оставлять понятные комментарии и обновления, а также применять встроенные автоматизации. Важно быть в контакте с командой, и оставлять теги в коментариях при ключевых действиях. diff --git a/python/venv.py b/python/venv.py new file mode 100644 index 00000000..7a3caffb --- /dev/null +++ b/python/venv.py @@ -0,0 +1,59 @@ +# %% [markdown] +# ## Ответы на вопросы по [TASK] Виртуальное окружение #7 +# +# 1.1 Что делает команда python -m venv venv? +# создает виртуальное окружение с именем venv +# +# 1.2 pip list - выводит список установленны пакетов в текущем окружении (имя и версию) +# +# 1.3 pip freeze > requirements.txt - список установленных пакетов записываются в файл requirements.txt , отмечу отличается от pip list тем что список создается в таком формате, что позволяет дальнейшее выполнение каждого пакета из списка. в pip list запись удобна именно для чтения пользователю, хотя выводятся по сути те же данные (имя и версия). +# +# 1.4 pip install -r requirements.txt - тут как раз видно возможное дальнейшее использование файла, устанавливаются все пакеты из файла requirements.txt . +# +# 2.1 conda env list - показывает список виртуальных окружений conda. +# +# 2.2 conda create -n env_name python=3.5 - создается окружение сonda с именем env_name и упоминается конкретная необходимая версия пайтона. +# +# 2.3 сonda env update -n env_name -f file.yml - обновления окружения env_name исходя из списка в файле file.yml . +# +# 2.4 source activate env_name - активация окружения env_name , считается в окружении conda устаревшей и используется conda activate env_name +# +# 2.5 source deactivate - деактивация текущего окружения. также считается устаревшей и рекомендуется использовать conda deactivate +# +# 2.6 conda clean -a - чистит кэш и все временные и уже не нужные файлы, чтобы освободить диск. +# +# +# 3. ![activate.png](attachment:activate.png) +# +# 4. Как установить необходимые пакеты внутрь виртуального окружения для conda/venv? +# Сначала активировать нужное виртуальное окружение, а потом если для venv - pip install 'имя_пакета' , для conda - conda install 'имя_пакета' . +# +# 5. Что делают эти команды? +# pip freeze > requirements.txt - в файл requirements.txt записывает список установленных пакетов в текущем окружении. +# conda env export > environment.yml - в файл environment.yml сохраняет полное описание текущего окружения conda. +# +# 5.1 +# ![venv-3.png](attachment:venv-3.png) +# +# ![conda-3.png](attachment:conda-3.png) +# +# +# 6. Что делают эти команды? +# pip install -r requirements.txt - устанавливает все пакеты из файла requirements.txt +# conda env create -f environment.yml - создает окружения со всеми пакетами что в файле environment.yml +# +# 7. Что делают эти команды? +# pip list - показывает список установленных пакетов в текущем окружении. +# pip show - используется с аргументом (има_пакета), показывает информацию о конкретном пакете, можно указывать несколько пакетов. (показывает зависимости абсолютный путь, версию, официальную ссылку на документацию). +# conda list - показывает список установленных пакетов в текущем конда-окружении (не только pip). +# +# 8. Где по умолчанию больше пакетов venv/pip или conda? и почему дата сайнинисты используют conda? +# pip ставит пакеты из PyPI, глобального общественного репозитория python-пакетов, их около 500тыс. у конда пакетов меньше(ставит из Conda-каналов, их около 20-30тыс), но преимущество в том, что не только пайтон пакеты, а и других языков, и также системных пакетов, которые требуются для утсановки более сложных пакетов, которые нужны как раз дата саинтистов. +# +# +# +# 9. ![9answer.png](attachment:9answer.png) +# +# +# +# diff --git a/tests/quiz/quiz_1.txt b/tests/quiz/quiz_1.txt index 3258c5d9..5beb67db 100644 --- a/tests/quiz/quiz_1.txt +++ b/tests/quiz/quiz_1.txt @@ -3,85 +3,197 @@ (ОПЦИОНАЛЬНО)В ответе подробно всё опишите и обязательно нужно указывать тайм код из видео где я это сказал, по желанию, дополнительно прикладываем скриншот из видео. Если вы знаете ответы на вопросы из Вашего опыта, то таймкоды из видео не надо указывать и т.д. -1) Как понять, что домашка пришла? -2) Как принять домашку? -3) Зачем нужна кнопка history и какие функции появляются при нажатии правой кнопки мыши на коммит? -3.1) Где брать ссылку на коммит? куда её отправлять? -4) Что такое файл лога? -4.1) Когда нужно его пушить? -5) Что такое интерпритатор? -6) Где можно выбрать интерпритатор? -7) Что такое модуль? -8) Как создать и отправить коммит? -9) Как посмотреть что коммит точно отправлен и находится в github? -10) Какая команда показывает что код не прошёл проверки на ошибки? +1) Как понять, что домашка пришла? 0:08 в чате homework если я увижу свой ник и "прими пул," это будет значить что домашка пришла + +2) Как принять домашку? заходим в кошечку, нажимаем pull origin далее fetch origin, далее просматриваем коммиты в истории, основной коммит это homework где можно найти домашку, но остальные коммиты так же нужно просматривать. + +3) Зачем нужна кнопка history и какие функции появляются при нажатии правой кнопки мыши на коммит? в ней ты просматриваешь все коммиты, какие функции при нажатии правой кнопки мыши не знаю, у меня нет кошечки, в видео не сказано. + +3.1) Где брать ссылку на коммит? куда её отправлять? на сайте github просто скопировать ссылку на нужный коммит и отправить в чат homework с коментарием "коммит отдал(а)" + +4) Что такое файл лога? Мы создаем файл лого в расширение .ipynb и в текстовой ячейке (markdown) мы лаконично конспектируем всё то, что было на занятие. + +4.1) Когда нужно его пушить? после каждого занятия. + +5) Что такое интерпритатор? 3:20 это то что выполняет код (преобразовывая его в машинный код) в тот же момент, без предварительной компиляции, то есть без предварительно созданного отдельного файла (как это делает компилятор). + +6) Где можно выбрать интерпритатор? 3:25 сверху в строке либо справа с помощью кнопки base + +7) Что такое модуль? файл .py или .ipynb + +8) Как создать и отправить коммит? + +я опишу как я это знаю по курсору: + +изменения попадают в зону Changes (неотслеживаемые изменения), нажав на третью иконку (мне похоже на графы) можно изменения из этой зоны с помощью + перенести в зону Staged Changes (подготовленне изменения). В этой зоне создаются коммиты, нужно ввести описание коммита в поле commit message и нажать на кнопку commit. Коммит появится в Local Commits. После чего нужно будет нажать на кнопку Push и отправить коммит в гит. + +9) Как посмотреть что коммит точно отправлен и находится в github? в истории + +10) Какая команда показывает что код не прошёл проверки на ошибки? 6:35 нужно в терминал вставить команду "pre-commit run --all-files" + 10.1) Напишите список линтеров которые используются для проверки кода и дайте их краткую характеристику. -11) Как узнать какой именно линтер не прошёл проверку? -12) Линтер Pylint видит markdown? -13) Номер ячейки в терминале и номер ячейки в vs code может отличаться? в каком случае? -14) Где посмотреть номер ячейки в vscode? -15) В каком формате ipynb отправляется в гитхаб? причём здесь JSON? -16) Где посмотреть в какой ячейке ошибка? -17) Как запустить терминал? -18) Что такое линтер? -19) В какой сайт нужно вставлять код ошибки если ошибка связана с pylint? -20) Секция pydocstyle в большинстве случае автоматический закрывается после исправления ошибок в каком линтере? -21) Что такое описание модуля? Оно должно отражать информацию о том что находится в модуле? +Pylint +pydocstyle +Flake8 +Mypy + +11) Как узнать какой именно линтер не прошёл проверку? запустить команду pre-commit run --all-files и в терминале отобразится линтер который не прошел проверку, напротив просто будет стоять - Failed + +12) Линтер Pylint видит markdown? линтер в целом игнорирует ячейки markdown + +13) Номер ячейки в терминале и номер ячейки в vs code может отличаться? в каком случае? да, могут. в том случае если есть ячейки markdown, тогда в vs code будут отображено все количество ячеек, а в терминали за исключением ячеек markdown. + +14) Где посмотреть номер ячейки в vscode? 7:34 внизу справа (cell) + +15) В каком формате ipynb отправляется в гитхаб? причём здесь JSON? в формате JSON (JavaScript Object Notation) - это текстовыйц формат, позволяет хранить данные в структурированном виде и удобный к чтению. + +16) Где посмотреть в какой ячейке ошибка? в терминале. + +17) Как запустить терминал? нажать на кнопку terminal сверху в приборной панеле и в выпадающем меню выбрать new terminal. + +18) Что такое линтер? 6:45 это программа которая проверяет насколько все корректно написано в файле, согласно всем стандартам. + +19) В какой сайт нужно вставлять код ошибки если ошибка связана с pylint? https://pylint.pycqa.org + +20) Секция pydocstyle в большинстве случае автоматический закрывается после исправления ошибок в каком линтере? в pylint. + +21) Что такое описание модуля? Оно должно отражать информацию о том что находится в модуле? Описание того, что в модуле. + 21) С какой git команды начинается утро программиста? -22) После внесения изменений в файлах, кнопка open in vs code пропадает в кошке, как по другому открыть vs code из кошки? + +22) После внесения изменений в файлах, кнопка open in vs code пропадает в кошке, как по другому открыть vs code из кошки? нажать правой кнопкой мыши на кнопку справа "current repository" и в выпадающем меню выбрать "open in VS code". + 23) Что такое stash? - Общее объяснение концепции. + Общее объяснение концепции. Это временное хранилище куда можно сохранить локальные изменения, не создавая коммита. + 23.1) Как сохранить стэш? - git командa(подсказка: https://t.me/c/1937296927/3602/19531): + git командa(подсказка: https://t.me/c/1937296927/3602/19531): git stash save "NAME_STASH". + + Кнопка в vs code: в разделе "source control" нажимаете "more action...(иконка ...)", далее выбираете stash далее stash staged, вводите имя и нажимаете ентер. - Кнопка в vs code: +23.2) Как восстановить стэш(подсказка: https://t.me/c/1937296927/3602/25747)?: заходим в stashed changes (слева снизу), и нажимаем кнопку restore (это обязательно нужно сделать чтобы сохранения из врменного хранилища сохранились) -23.2) Как восстановить стэш(подсказка: https://t.me/c/1937296927/3602/25747)?: + git команда(подсказка: https://t.me/c/1937296927/3602/19531)?: + git stash pop - восстановить последний стэш и удалить его из списка + git stash apply - восстановления без удаления + git stash apply stash@{N} - восстановления по конкретном номеру - git команда(подсказка: https://t.me/c/1937296927/3602/19531)?: 23.3) Различие между стэшем и коммитом. Когда лучше сохранить изменения в стэше, а когда коммитить. + + стэш это временное хранилище, в которое стоит сохранять локальные изменения, для возможности принятия пулла. Имеет смысл если одновременно работать в одном и том же файле локально и в интернете. + + коммит это сохранения изменений в конкретный момент времени, что позволяет вернутся к конкретному состоянию проекта. + 23.4) Как просмотреть список сохраненных стэшей? - git команда (подсказка: https://t.me/c/1937296927/3602/19531): + 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 - удалить все стэши сразу + git stash pop - применить стэш и сразу удалить + 23.6) Практические примеры использования стэша. Краткие сценарии, где стэш помогает. -24) Где посмотреть что есть конфликт в файлах? -24.1) Когда он появляется? -25) Как решить конфликт в файлах? +Если работать одновременно в одном файле локально и в интернете, стэш поможет принять пулл: сохраняя локальные изменения во временное хранилище (после принятия пулла обязательно нужно восстановить сохранения со временного хранилища) + +24) Где посмотреть что есть конфликт в файлах? слева в кошечке появятся (треугольник с !) + +24.1) Когда он появляется? после принятия пулла, при восстановление локальных изменений с временного хранилища, гит не понимает это сохранены локальные изменения или те что были в интернете + +25) Как решить конфликт в файлах? открываем конфликт файл в vs code, нажимаем кнопку "Accept Current Changes", далее кнопку ниже "Resolve in Merge Editor" и далее кнопку "complete merge" + 26) Напишиие правильное утверждение --Зелёное то что пришло с гитхаба и синее локальные изменения или синее то что пришло с гитхаба и зелёное это локальные изменения -27) Если мы работаем в одном файле, можно ли принять pull после того как вы спрячете в стэш свои изменения? -27.1) Что может произойти когда stash восстановите после принятия pull? -28) Сколько способов решения конфликтов было показано в видео? Напишите ЧИСЛО и укажите их способы. -29) Что делает кнопка complete merge? -30) В какой чат нужно писать если остались вопросы? -31) Что такое FORK? Зачем его делают? -32) Как скачать форкнутый репозиторий на локальный компьютер? -33) С какой вероятностью ваши ошибки были уже решены? и кто их решил? -34) Как создать файл в vs code? -35) Файл лога нужно заполнять в конце каждого урока? +Зелёное то что пришло с гитхаба и синее локальные изменения + +27) Если мы работаем в одном файле, можно ли принять pull после того как вы спрячете в стэш свои изменения? да, именно так можно принять пулл + +27.1) Что может произойти когда stash восстановите после принятия pull? возникает конфликт, гит не понимает какие изменения сохранились (с гитхаба или локальные) + +28) Сколько способов решения конфликтов было показано в видео? Напишите ЧИСЛО и укажите их способы. +4 способа +1. Accept Current Changes +2. Accept Incoming Changes (нежелательно так как не сохраняются локальные изменения) +3. Accept Both Changes4 +4. Вручную удалить лишнее и нажимаем на кнопку ниже "Resolve in Merge Editor". + +29) Что делает кнопка complete merge? позволяет завершить процесс принятия локальных изменения и изменений с гитхаба в одном файле. + +30) В какой чат нужно писать если остались вопросы? чат HELP ME + +31) Что такое FORK? Зачем его делают? это копия чужого репозитория, создать форк - это сделать копию репозитория и сделать его личным. для того чтобы изменять и работать с чужим кодом независимо от оригинального репозитория. + +32) Как скачать форкнутый репозиторий на локальный компьютер? с помощью команды git clone, либо через кошку, но я с ней не работаю + +33) С какой вероятностью ваши ошибки были уже решены? и кто их решил? с большой вероятностью, остальные студенты. + +34) Как создать файл в vs code? сверху нажимаем на иконку "лист с +" + +35) Файл лога нужно заполнять в конце каждого урока? да ================== Дополнительные вопросы: 1)Какая команда конвертирует файл в py из ipynb? подсказка https://t.me/c/1937296927/1/26527 -2) Что такое пакетный менеджер? Вы пользуетесь пакетным менеджером conda или pip? Какой лучше использовать для дата сайнс? -3) Почему расширение py лучше чем ipynb? + +2) Что такое пакетный менеджер? Вы пользуетесь пакетным менеджером conda или pip? Какой лучше использовать для дата сайнс? + +лучше conda + +3) Почему расширение py лучше чем ipynb? смотря для чего, если для кода и разработки, то он более универсален, запускается в любом окружении пайтон и поддерживается всеми интерпретаторами. в гите легче сравнивать код с разнных коммитов. если для визуализации данных то лучше ipynb + 4) Что такое pep8? подсказка:https://peps.python.org/pep-0008/ -4.1) линтеры проверяют на соблюдение pep8? + +Руководство по стилю для кода на пайтон + +4.1) линтеры проверяют на соблюдение pep8? из тех что были упомянуты выше только Pylint и Flake8 + 4.2) Какая нотация используется для создания переменных? ответ на 85-95 страницы https://t.me/c/1937296927/1/16676 -4.3) Может ли переменная состоять из одной буквы например андерскор "_" ? + +Идентификаторы не могут содержать пробелы, также в них учитывается регистр символов. для идентификаторов из нескольких слов используется три схемы: змеиный регистр (между словами _ и все буквы в нижнем регистре, либо вверхнем если это константа), + +верблюжий регистр(первое слово в нижнем регистре, все последующие слова начинаются с заглавной) + +схема паскаль (все слова начинаются с заглавной буквы, такое название потому что обычно используется в языке паскаль) + +в одном проекте используется одна схема. + +не пропускайте буквы в именах. используйте содержательные имена, для того чтобы вернувшись к коду через длительное время можно было спокойно восстановить смысловую нагрузку. + +венгерская запись уже устарела, но использование префиксов в переменных (функциях, меторадах) содержащих логические значения, а также для уточнения еденицы измерения, имеет место. + +Стоит выбирать имена пригодные для поиска, для этого имена должны быть содержательными и понятными. + +Также важно чтобы идентификаторы были написаны прямо, традиционным простым языком и без каламбуров и шуток, чтобы не пришлось растолковывать и пояснять что это могло бы значить. + +Не заменяете встроенные имена. Не используйте такие встроенные имена, как: all, any, date, email, file, format, hash, id, input, list, min, max, object, open, random, set, str, sum, test и type. Это всегда приведет к ошибке. +Также не стоит именовать файлы .py именами сторонних модулей. + +Никогда не используйте такие имена: temp, var, data. это буквально общие название и никогда не дадут вам конкретного понимания переменной. + + +4.3) Может ли переменная состоять из одной буквы например андерскор "_" ? + +в целом нет, как исключение + +i, j, k - для циклов for +x, y - для обозначения декартовых координат + + 4.4) Зачем и где мы используем андерскор _ +для разделения слов вместо пробела, так как в идендификаторах пайтон не используется пробел. (змеиный регистр) + +если мы говорим про соглашения о именах PEP8, то приватные атрибуты классов всегда начинаются с "_", а публичные никогда. + 4.5) По PEP8 допустима переменная в одну букву? ответ на 85-95 страницы https://t.me/c/1937296927/1/16676 +нет diff --git a/tests/quiz/quiz_2.txt b/tests/quiz/quiz_2.txt index eb328c6c..263769f1 100644 --- a/tests/quiz/quiz_2.txt +++ b/tests/quiz/quiz_2.txt @@ -1,12 +1,23 @@ -Список вопросов к видео https://www.youtube.com/watch?v=Si9MfV8uJ-0 (НАСТРОЙКА VSCODE, перенос строк, линтеры, работа с ячейками): +Список вопросов к видео https://t.me/c/1937296927/765/29781 (НАСТРОЙКА VSCODE, перенос строк, линтеры, работа с ячейками): -(ОПЦИОНАЛЬНО)В ответе подробно всё опишите и обязательно нужно указывать тайм код из видео где я это сказал, по желанию, дополнительно прикладываем скриншот из видео. +(По желанию)В ответе подробно всё опишите и обязательно нужно указывать тайм код из видео где я это сказал, по желанию, дополнительно прикладываем скриншот из видео. Если вы знаете ответы на вопросы из Вашего опыта, то таймкоды из видео не надо указывать и т.д. -1. Как включить автосохранение данных в VSCODE? +1. Как включить автосохранение данных в VSCODE? + +выбираем file - ставим галочку напротив auto save + 2. Как настроить перенос строки? -3. Сколько символов по pep8 разрешено на строке? -4. Какие способы переноса строк показаны в видео: + +заходим в preferences выбираем settings, в строке пишем wrap, выбираем wordWrapColumn и вписываем 79 + +3. Сколько символов по pep8 разрешено на строке? 79 + +4. Какие способы переноса строк показаны в видео: + +если это касается комментариев, то с помощью # и переноса строки. + +если кода то упоминается способы 4.4 и 4.6 4.1 Строки с использованием обратного слэша (\) @@ -56,23 +67,55 @@ string_part2 = "and this is the second part." full_string = string_part1 + string_part2 print(full_string) -5. Проверка на ошибки c помощью кнопки problems, где она находится? -6. Где в vscode находится клиент гита? как в нём отправить коммит? как принять домашку? -7. Что такое GIT? он локальный? В нём можно посмотреть историю изменений файлов и вернуться к любому коммиту? +5. Проверка на ошибки c помощью кнопки problems, где она находится? + +слева от кнопки terminal. там можно увидеть и линтер и ссылку на сайт с текущей проблемой. + +6. Где в vscode находится клиент гита? как в нём отправить коммит? как принять домашку? + +на приборной панеле иконка в виде трех кружков (граф), коммит можно отправить выбрав source control, внести комментарий и нажав на кнопку commit&push, либо по отдельности на эти кнопки. Домашка принимается с помощью кнопки pull. Коммиты еще можно посмотреть с помощью кнопки gitlens (справа от terminal) + +7. Что такое GIT? он локальный? В нём можно посмотреть историю изменений файлов и вернуться к любому коммиту? + +это контроль версий, да в нем можно посмотреть историю изменений и вернуться к любому, он для это и нужен, гит локальный, гитхаб онлайн + 8. Как вставить картинку в маркдаун? -9. Где посмотреть длину строки в vs code? -10. Как поменять тип ячейки с питона на маркдаун? -11. Как запустить сразу все ячейки в юпитере? -12. Как изменить размер картинки в юпитере? Нужно для этого знать HTML? -13. Какой хоткей чтобы запустить ячейку с смещением на следующую? -14. Как включить отображение номеров строк в юпитере(Cell line numbers)? -15. Что такое "Go To" чем это полезно? Как перейти сразу на ошибочную ячейку? -16. Как очистить вывод ячеек которые уже запущены? + +![описание картинки](attachment:имя файла) + +9. Где посмотреть длину строки в vs code? +создать тестовый файл .ру и внизу можно будет увидеть количество символов в строке (выделив ее) + +10. Как поменять тип ячейки с питона на маркдаун? выделить ячейку и над ячейкой в выпадающем меню выбрать change to markdown + +11. Как запустить сразу все ячейки в юпитере? кнопкой run all + +12. Как изменить размер картинки в юпитере? Нужно для этого знать HTML? нужно подучить теги + +13. Какой хоткей чтобы запустить ячейку с смещением на следующую? shift + enter + +14. Как включить отображение номеров строк в юпитере(Cell line numbers)? +над ячейкой в выпадающем меню выбрать show cell line numbers + +15. Что такое "Go To" чем это полезно? Как перейти сразу на ошибочную ячейку? с помощью этой кнопки сразу можно перейти на ошибочную ячейку, этим и полезна + +16. Как очистить вывод ячеек которые уже запущены? нажимаем кнопку clear all outputs + 17. Как работать одновременно в нескольких файлах в VSCODE? Что такое SPLIT? -18. Каким сочетанием убирается левый сайдбар? -19. Кнопка два листочка это наши локальные файлы? -20. Какая ошибка появилась в трассировке при запуске всех ячеек DICT или LIST? -21. Вы ознакомились с https://t.me/c/1937296927/832/19307? и ttps://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet? -22. Что такое валидация? -23. Что такое трассировка ошибки? -24. Что значит отвалился интерпритатор? +нажимаем на кнопку справа вверху split editor right, позволяет работать сразу в нескольких файлах + +18. Каким сочетанием убирается левый сайдбар? ctrl+B + +19. Кнопка два листочка это наши локальные файлы? да + +20. Какая ошибка появилась в трассировке при запуске всех ячеек DICT или LIST?DICT + +21. Вы ознакомились с https://t.me/c/1937296927/832/19307? и ttps://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet? + +да + +22. Что такое валидация? это проверка на правильность написания данных + +23. Что такое трассировка ошибки? это сообщение о том, где произошла ошибка, тип ошибки с указанием пути + +24. Что значит отвалился интерпритатор? когда запущенная программа перестает работать, когда найдена какая либо ошибка