Задать вопрос
  • Можете накидать большую порцию задачек для практики Python-новичка?

    Я когда также искал наткнулся на один сайт там человек выложил тестовое задание которое он получил на вакансию Junior Python Developer.

    Сам сайт я не сохранял сохранил только задание. Выполняя это задание ты охватишь то что учил и освоишь новые технологии.

    Собственно вот само задание:

    Цель тестового задания
    Определить возможную динамику самообучения кандидата. А так же глубину понимания кода, реализующего тестовое задание.

    Задание
    Написать тестовое web-приложение по управлению электронной библиотекой:

    1. Редактирование (доступно авторизованному пользователю при наличии аутентификации):

    Управление списком книг: добавить / удалить / редактировать книгу.
    Управление списком авторов: добавить / удалить / редактировать автора.
    Запись о книге содержит следующие данные: ID, Название.
    Запись об авторе содержит следующие данные: ID, Имя.
    Свзязь между книгами и авторами — многие ко многим.
    2. Поиск книг по названию либо автору (доступно анонимному пользователю при наличии аутентификации).

    3. Аутентификации и авторизация (по желанию кандидата).

    Технологии, которые должны быть задействованы:

    Flask
    SQLAlchemy (Declarative)
    SQLite (встроенный в приложение)
    Jinja2 Templates
    WTForms
    jQuery (желательно, но возможно использование альтернативных решений)
    Список может быть расширен по усмотрению кандидата, но с обязательным использованием технологий, перечисленных выше.

    Дополнительные требования
    Список дополнительных требований следующий:

    1. Код проекта должен быть доступен на сервисе github.org или bitbucket.org.

    2. Проект должен содержать SQL-скрипты для развертывания базы данных и наполнения ее тестовыми данными.

    3. Пользовательские данные должны валидироваться перед сохранением в БД.

    Дополнительные знания
    Дополнительные знания, необходимые при защите проекта:

    HTTP
    WSGI
    SQL, Transactions, Transaction Isolation Levels
    SQLAlchemy
    Уязвимости веб-сайтов
    User Experience
    Ответ написан
    Комментировать
  • Создал репозиторий на github. Как в одном репозитории иметь несколько папок и в каждой папке свой проект?

    SeaInside
    @SeaInside
    16 лет пилю все эти штуки
    Так бывает, когда GIT-ом начинает пользоваться человек, который не понимает, зачем оно ему на самом деле надо.
    В том и суть, чтобы под каждый проект иметь свой репозиторий, иначе зачем вам git? Папку на dropbox заведите и туда закидывайте.
    Ответ написан
    Комментировать
  • Какая библиотека для создания telegram бота на Python лучше и удобнее?

    • Если ожидается большой проект с высокой посещаемостью и долгой поддержкой то у aiogram нет альтернативы. У них беда с документацией, но есть чат в TG где всегда подскажут. Там можно пообщаться и с разработчиком данной библиотеки.
    • Если это что-то простое на десяток хэндлеров и лень долго разбираться то у python-telegram-bot очень подробные wiki, документация, снипеты. Можно без опыта очень быстро разобраться... в асинхронность тоже умеет простым декоратором @run_async, можно даже запустить serverless на какой нить azure/google/aws/yandex functions с бесплатным лимитом в 1000000(azure) обращений за месяц
    • Если ограничения bot api слишком тесные и вы хотите делать то что может только клиент (например выгружать файлы больше 40Мб), то посмотрите в сторону telethon (тоже async) плюс он общается с серверам телеграма не через request-respons, а по протоколу MTProto. В частности можете посмотреть на Garnet — bot-friendly telethon
    Ответ написан
    1 комментарий
  • Как почистить Git-репозиторий?

    sergey-kuznetsov
    @sergey-kuznetsov Куратор тега Git
    Автоматизатор
    Вот несколько фактов, которые помогут понять как работает Git.
    • Файл .gitignore действует только на ещё не отслеживаемые файлы.
    • Файл .gitignore предназначен для описания того, что мы не хотим СЛУЧАЙНО добавить в репозиторий. Либо не хотим случайно удалить переключив ветку.
    • Мы можем ПРИНУДИТЕЛЬНО добавить в репозиторий ЛЮБОЙ файл, даже если он описан в .gitignore.
    • Добавление файла в .gitignore не удалит сам файл из репозитория. Если файл УЖЕ в репозитории, то он продолжит отслеживаться, независимо от наличия .gitignore.
    • Если больше не хотим отслеживать какой-то файл, то просто удаляем его из репозитория. Ключ --cached позволит оставить файл в рабочем каталоге текущего репозитория если он нужен.
    git rm --cached -- '.DS_Store'
    git commit

    Но последний рецепт сработает только на одном компьютере. Если коллеги переключатся на этот коммит, то файл удалится у них из рабочего каталога.
    Ответ написан
    4 комментария