Рабочий стол > External Testing Results > Home > Python. с чего начать > Information > Сравнить страницу
Python. с чего начать Войти | Зарегистрироваться   Просмотр версии для печати текущей страницы.

Ключ
Эти линии были удалены. Это слово было удалено.
Эти линии были добавлены. Это слово было добавлено.

Просмотр истории страницы


Есть 1 изменений. Просмотреть первое изменение .

 На этой странице представлю начальные шаги для создания нового python проекта.
  
 h1. Что требуется от вас?
  
 Прежде всего согласовать с Михаил Семеновичем проект, что он будет делать и способы взаимодействия (какие страницы или какие команды, по какому адресу будут доступны, что надо открыть/запустить) с проектом.
  
 Требуется установка следующих программ:
 * Python
 * IDE для Python
 * Docker
 * Git
 * Space
 * основы HTTP
  
 h2. Python
  
 Python подойдет любой версии, которую поддерживают библиотеки и фреймворки проекта.
 [Здесь|https://www.python.org/] можно посмотреть все доступные версии.
  
 h2. IDE
  
 IDE для Python - я советую [VS Code|https://code.visualstudio.com/] или [PyCharm|https://www.jetbrains.com/pycharm/] (последний может быть доступен по студенческой лицензии).
 Подойдет любая другая удобная вам IDE на которой можно запускать Python код.
  
 h2. Docker
  
 [Docker|https://www.docker.com/]  необходим для запуска проекта на серверах.
  
 При подготовке проекта к развертыванию на серверах требуется написать Dockerfile для своего проекта, проверить этот файл (корректное создание контейнера) и поместить этот файл в репозитории.
  
 Docker позволяет создавать и запускать проекты, написанные не только на Python, но и на любых других языках программирования. Главное, возможность поместить этот проект в linux контейнер.
  
 Для понимания Docker можно посмотреть [видео|https://www.youtube.com/watch?v=QF4ZF857m44] , почитать [доку(англ)|https://www.docker.com/get-started/],  [доку(англ)|https://www.docker.com/blog/how-to-dockerize-your-python-applications/], [статья(англ)|https://developers.redhat.com/articles/2023/03/23/10-tips-writing-secure-maintainable-dockerfiles].
  
 h2. Git и Space
  
 Git - технология версионирования кода.
  
 Space - платформа от Jetbrains, совмещающая в себе несколько инструментов для командной разработки, включая Git репозиторий.
  
 Про git можно почитать [тут|https://git-scm.com/book/ru].
  
 Про Space можно почитать [тут(англ)|https://www.jetbrains.com/space/]. Вкратце, для dl.gsu.by это одно место со всеми исходными кодами всех проектов.
  
 Space можно установить, а можно пользоваться [веб версией|https://dl-gsu-by.jetbrains.space/].
  
 h2. HTTP
  
 Про HTTP можно почитать [тут|https://habr.com/ru/articles/215117/].
  
 h1. Стадии развития проекта
  
 Для начала требуется попросить завести вам репозиторий для вашего проекта.
  
 После этого начинаем кодить. После того, как вы протестировали проект и сделали из него то, что планировали, вы можете его опубликовать на серверах dl. Для этого требуется:
 * залить все файлы в свой репозиторий на Space (лучше сразу, после того, как внесли изменение в любой файл документировать в коммите это изменение)
 * создать Dockerfile (если вы этого еще не сделали) и протестировать корректность создания контейнера
 * написать Михаилу Семеновичу письмо о готовности опубликовать проект
  
 h1. Особенности, или инструкция как сэкономить время себе и другим
  
 В этом разделе собраны и будут собираться все особенности публикации проекта.
  
 h2. Обработка URL ведется начиная с префикса названия вашего проекта
  
 Покажу на примере:
  
 Допустим ваш проект называется *newproject*.
  
 Если вы хотите добавить какой-то функционал по адресу */user/profile/1*, то перед публикацией на dl этот URL должен быть преобразован в */newproject/user/profile/1*.
  
  Все пути запросов, отправляемые в ваш проект (контейнер) будут начинаться с */newporject*. Благодаря этому осуществляется перенаправление запросов в нужные контейнеры.
  Все пути запросов, отправляемые в ваш проект (контейнер) будут начинаться с */newproject*. Благодаря этому осуществляется перенаправление запросов в нужные контейнеры.
  
 Из URL в запросе */newproject* не убирается.
  
 Пути решения:
  
 Можно завести в файле конфиге проекта поле с префиксом для всех URL, а в обработчиках добавлять к URL этот префикс. Так же, если фреймворк позволяет, указать в приложении явно глобальный префикс для всех URL.
  
 h2. Proxy
  
 {quote}
 Вся коммуникация с внешним миром идёт через https-прокси, поэтому в приложении обязательно уметь и использовать прокси (обязательно с поддержкой http basic auth), который будет передан контейнеру через переменные окружения HTTP_PROXY и HTTPS_PROXY. По-умолчанию имеет слелующий формат HTTPS_PROXY=%username:%password@%proxy_host:$proxy_port. В ETR передано именно в этом формате и работает.
  
 Если есть команды в RUN (имеется ввиду в Dockerfile), утилита так же должна уметь работать с http proxy. Опять же, наличие вышеуказанных переменных вполне достаточно, 90% приложений под linux понимают именно этот формат и его стараются унифицировать, хотя бывают исключения. В основном это приложения на java и пакетные менеджеры (напр apt, yum).
 {quote}
Powered by Atlassian Confluence, the Enterprise Wiki. (Version: http://www.atlassian.com/software/confluence Build:#2.6.1 916) - Ошибка/новая особенность - Свяжитесь с Администраторами