Skip to content
Open
Show file tree
Hide file tree
Changes from 12 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
93 changes: 93 additions & 0 deletions git/stash.ipynb

Large diffs are not rendered by default.

38 changes: 38 additions & 0 deletions git/stash.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
"""[TASK] STASH #3."""

# 1. Что делает команда git stash?
# - Сохраняет изменения в рабочей директории и индексированные изменения в локальное хранилище
# 2. Как просмотреть список всех сохранённых изменений (стэшей)?
# - Команда git stash list показывает сохраненные стеши
# 3. Какая команда применяется для использования верхнего стэша?
# - Команда git stash apply
# 4. Как применить конкретный стэш по его номеру?
# - git stash apply stash@{N}, где N - номер стеша
# 5. Чем отличается команда git stash apply от git stash pop?
# - git stash apply применяет изменения из стэша, но оставляет его в списке
# - git stash pop применяет изменения и удаляет этот стэш из списка
# 6. Что делает команда git stash drop?
# - git stash drop stash@{N} - удалит стеш с номером N
# 7. Как полностью очистить все сохранённые стэши?
# - git stash clear
# 8. В каких случаях удобно использовать git stash?
# - Когда необходимо переключиться на другую ветку или задачу без необходимости закоммитить текущие изменения
# 9. Что произойдет, если выполнить git stash pop, но в проекте есть конфликтующие изменения?
# - Будет сообщение о конфликте, требующем ручного разрешения
# 10. Можно ли восстановить удалённый стэш после выполнения git stash drop?
# - Можно, если не закрыли терминал (пока объекты не были удалены сборщиком мусора):
# 1. git fsck --no-reflog | awk '/dangling commit/ {print $3}' - выведет список хешей коммитов, на которые больше нет ссылок
# 2. git show <хеш_коммита> - посмотреть содержимое стеша
# 3. git stash apply <хеш_коммита> - применить изменения как стэш
# 11. Что делает команда git stash save "NAME_STASH"
# - Сохраняет изменения в стэш с комментариями, указанными в кавычках
# 12. Что делает команда git stash apply "NUMBER_STASH"
# - Применяет конкретный стэш по номеру
# 13. Что делает команда git stash pop "NUMBER_STASH"
#
# Сохраните текущие изменения в стэш под названием "SENATOROV ver1", вставьте скриншот из терминала
#
# Внесите любые изменения в ваш репозиторий и сохраните второй стэш под именем "SENATOROV ver2"
# Восстановите ваш стэш "SENATOROV ver1", вставьте скриншот из терминала
# Удалите все стеши из истории, вставьте скриншот из терминала
#
Comment on lines +1 to +38
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

пожалуйста, сделайте ревью

31 changes: 31 additions & 0 deletions python/commits.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
"""[TASK] Commits #5."""

# Опишите своими словами назначение каждого из этих типов коммитов:
# feat - добавление нового функционала
# fix - исправление бага
# docs - изменения в документации
# style - исправление оформления кода
# refactor - исправление или улучшение кода без добавления функционала
# test - добавление и изменение тестов
# build - изменение системы сборки или внешних зависимостей
# ci - изменения в файлах настройки непрерывной интеграции (CI)
# perf - улучшение производительности без изменения поведения
# chore - регулярное обслуживание или административные задачи
#
# Представьте, что вы исправили баг в функции, которая некорректно округляет числа. Сделайте фиктивный коммит и напишите для него сообщение в соответствии с Conventional Commits (используя тип fix).
# git commit --allow-empty -m "fix: correct number rounding function"
#
# Добавление новой функциональности:
# Допустим, вы реализовали новую функцию generateReport в проекте. Сделайте фиктивный коммит с типом feat, отражающий добавление этой функциональности
# git commit --allow-empty -m "feat: add generateReport function for generating reports"
#
# Модификация формата кода или стилей:
# Представьте, что вы поправили отступы и форматирование во всём проекте, не меняя логики кода. Сделайте фиктивный коммит с типом style
# git commit --allow-empty -m "style: fixed indents and formatting throughout the project"
#
# Документация и тестирование:
#
# Сделайте фиктивный коммит с типом docs, добавляющий или улучшающий документацию для вашей новой функции.
# git commit --allow-empty -m "docs: add documentation for the generateReport function"
# Сделайте фиктивный коммит с типом test, добавляющий тесты для этой же функции.
# git commit --allow-empty -m "test: add tests for the generateReport function"
60 changes: 60 additions & 0 deletions python/cpython.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
"""[TASK] Cpython #4."""

# 1. Что такое CPython и чем он отличается от Python?
# - Реализация языка Python, написанная на C.
# - Python - это спецификация языка программирования, а CPython - эго его интерпретатор.
# 3. Сколько существует реализаций Python, и какая из них самая популярная?
# - 6 реализаций: CPython, PyPy, Jython, IronPython, Brython, Nuitka.
# - CPython самая популярная реализация.
# 4. На каком языке написан CPython?
# - С.
# 5. Кто создал CPython?
# - Гвидо ван Россум.
# 6. Почему Python считается быстрым, несмотря на то, что это интерпретируемый язык?
# - Интерпретатор компилирует исходный код в байткод, который затем исполняется виртуальной машиной на С.
# 7. Напишите путь к Интерпретатору CPython на вашем компьютере.
# - C:\Users\nigma.DESKTOP-55Q3CA4\AppData\Local\Programs\Python\Python314\python.exe
# 8. Что содержится в папке include в CPython?
# - файлы на языке C, необходимые для компиляции расширений и взаимодействия с ядром интерпретатора Python.
# 9. Где можно найти исходный код CPython дайте ссылку на репозиторий гитхаб.
# - https://github.com/python/cpython
# 10. Как работает интерпретатор CPython при выполнении кода?
# 1. Читает исходный код, проверяет его синтаксис и форматирование.
# 2. Трансформирует исходный код в байт-код.
# 3. Передает байт-код виртуальной машине.
# 11. Какая команда используется для запуска файла с помощью CPython?
# - python имя_файла.py.
# 12. Можно ли запускать текстовые файлы через интерпретатор Python? Почему?
# - Можно, если в них содержится правильный Python код.
# - Интерпретатор читает последовательность символов из файла и пытается выполнить их как команды на языке Python.
# 13. Как указать путь к интерпретатору и файлу для выполнения кода?
# - ПКМ - свойства - расположение файла.
# - Вставить в командную строку.
# 14. Чем PyPy отличается от CPython?
# - Работает быстрее за счёт JIT-компиляции.
# 15. Почему PyPy не может использоваться для всех проектов на Python?
# - Есть проблемы с совместимостью с библиотеками, использующими C-расширения, такими как NumPy или SciPy.
# 16. Где можно скачать PyPy?
# - https://pypy.org/download.html
# 17. Как установить PyPy после скачивания?
# - Распаковать архив.
# 18. Как запустить файл с помощью PyPy?
# - Путь к интерпретатору PyPy пробел путь к файлу в командной строке.
# 19. Почему PyPy выполняет код быстрее, чем CPython?
# - Преобразует в машинный код наиболее часто используемые компоненты кода, и оптимизирует его.
#
# Практические задания
#
# 2. Исследование структуры CPython
# Найдите папку, где установлен Python (например, через команду which python в терминале или свойства ярлыка).
# Откройте папку include и изучите её содержимое. Какое количество файлов на C там есть?
# - 79.
# 5. Сравнение производительности CPython и PyPy
# - CPython:
# Result: 49999995000000
# Execution time: 0.4225647449493408 seconds
# - PyPy:
# Result: 49999995000000
# Execution time: 0.006410121917724609 seconds
# - Вывод:
# PyPy быстрее CPython примерно в 65 раз.
112 changes: 112 additions & 0 deletions python/venv.ipynb

Large diffs are not rendered by default.

66 changes: 66 additions & 0 deletions python/venv.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
"""[TASK] Виртуальное окружение #7."""

# 1. Что делает команда python -m venv venv?
# - Создает виртуальное окружение в папке venv
#
# 1.1 Что делают команды:
#
# - pip list - отображает список установленных модулей в текущем окружении
# - pip freeze > requirements.txt - выгрузка установленных модулей в текущем окружении в файл requirements.txt
# - pip install -r requirements.txt - установка модулей, записанных в файле requirements.txt
#
# 2. Что делают команды:
# - conda env list - показывает список виртуальных сред conda
# - conda create -n env_name python=3.5 - создает виртуальную среду с именем env_name и версией питона 3.5
# - conda env update -n env_name -f file.yml - настройка виртуальной среды из файла file.yml
# - source activate env_name (conda activate env_name) - переключение на виртуальную среду env_name
# - source deactivate (conda deactivate) - отключение виртуальной среды
# - conda clean -a - очистка кэша conda
#
# 3. Вставьте скрин вашего терминала, где вы активировали сначала venv, потом conda, назовите окружение "SENATOROV"
#
# ![image.png](attachment:image.png)
#
# 4. Как установить необходимые пакеты внутрь виртуального окружения для conda/venv?
# 1. Активировать окружение
# 2. Установить пакеты через conda/pip install
# 3. Для venv можно загрузить пакеты из фала зависимостей pip install -r requirements.txt
#
# 5. Что делают эти команды?
# - pip freeze > requirements.txt - выгрузка зависимостей в requirements.txt
# - conda env export > environment.yml - экспорт виртуального окружения в environment.yml
#
# 5.1 вставьте скрин, где будет видна папка VENV в вашем репозитории, а также файлы зависимостей requirements.txt и environment.yml, файлы должны содержать зависимости
# ![image-2.png](attachment:image-2.png)
#
# 6. Что делают эти команды?
# - pip install -r requirements.txt - устанавливает пакеты из requirements.txt
# - conda env create -f environment.yml - создает виртуальную среду из environment.yml
#
# 7. Что делают эти команды?
# - pip list - выводит список всех установленных пакетов в виртуальном окружении
# - pip show имя пакета - показывает подробную информацию об указанном пакете
# - conda list - показывает список всех установленных пакетов в conda
#
# 8. Где по умолчанию больше пакетов venv/pip или conda? и почему дата сайнинисты используют conda?
# - pip имеет доступ к большему количеству пакетов
# - в conda есть предварительно собранные пакеты для работы в ДС и она более удобная
#
# 9. Вставьте скрин где будет видно, Выбор интерпретатора Python (conda) в VS Code/cursor
#
# ![image-3.png](attachment:image-3.png)
#
# 10. Добавьте в .gitignore папку SENATOROV
# - echo SENATOROV/ >> .gitignore
#
# 11. Зачем нужно виртуальное окружение?
# - Чтобы пакеты и их различные версии не конфликтовали друг с другом в разных проектах
# - Удобство
# - Для тестирования разных версий и конфигураций
#
# 12. С этого момента надо работать в виртуальном окружении conda, ты научился(-ась) выгружать зависимости и работать с окружением?
# - ✓
#
#

#
Loading