Задание 1
Установите Python и PyCharm (или другую IDE с поддержкой Python, которая вам удобна). Исследуйте настройки, настройте среду разработки для себя: подберите цветовую схему и шрифт редактора, которые вам нравятся, включите или отключите отображение номеров строк, подсветку текущей строки, отображение разделителей между участками кода и т.п.
Задание 2
Создайте скрипт на языке Python, используя обычный текстовый редактор (можно использовать редактор кода, такой как, например, Sublime Text). Запустите его при помощи консоли. Запустите его двойным щелчком в проводнике Windows. Придумайте, как, используя то, что вы уже выучили, сделать так, чтобы окно консоли не закрывалось сразу же после запуска скрипта двойным щелчком.
Задание 3
Откройте IDLE (под Windows и OS X это приложение устанавливается вместе с Python). Поэкспериментируйте с обычными арифметическими выражениями. Попробуйте задать имя значению какого-либо выражения. Попробуйте вывести значение выражения с поясняющим текстом при помощи функции print, используя как имена, так и непосредственно выражения в качестве параметров функции.
Задание 4
Создайте новый проект в интегрированной среде разработки PyCharm. Создайте файл исходного кода и напишите программу, которая выводит ваше имя. Запустите его. Создайте второй файл с кодом и напишите программу, которая спрашивает у пользователя, как его зовут, и здоровается с ним. Запустите его. Переключитесь на первый скрипт и запустите его. Переключитесь обратно на второй скрипт.
Задание 1
Напишите программу, которая спрашивает у пользователя два слова и выводит их разделёнными запятой.
Задание 2
Напишите программу, которая запрашивает три целых числа a, b и x и выводит True, если x лежит между a и b, иначе – False.
Задание 3
Напишите программу, которая решает квадратное уравнение ax^2 + bx + c = 0 по формулам x1,2 = (-b ± √(b^2-4ac)) / 2a. Значения a, b и c вводятся с клавиатуры. Для извлечения корня используйте оператор возведения в степень, а не функцию math.sqrt, чтобы получить комплексные числа в случае, если подкоренное выражение отрицательно.
Задание 4
Напишите программу, которая запрашивает у пользователя радиус круга и выводит его площадь. Формула площади круга S = πr^2
Задание 1
Напишите программу, которая спрашивает у пользователя его имя, и если оно совпадает с вашим, выдаёт определённое сообщение.
Задание 2
Напишите программу, которая вычисляет значение функции в диапазоне значений x от -10 до 10 включительно с шагом, равным 1.
y = x^2 при -5 <= x <= 5; y = 2*|x|-1 при x < -5; y = 2x при x > 5. Вычисление значения функции оформить в виде программной функции, которая принимает значение x, а возвращает полученное значение функции (y).
Задание 3
Напишите программу, которая решает квадратное уравнение ax^2 + bx + c = 0 в действительных числах. В отличие от аналогичного упражнения из прошлого урока, программа должна выдавать сообщение об отсутствии действительных корней, если значение дискриминанта D = b^2-4ac отрицательно, единственное решение x = -b/2a если он равен нулю, или два корня x1,2 = (-b ± √D) / 2a, если он положителен.
Задание 4
Напишите программу-калькулятор, в которой пользователь сможет ввести выбрать операцию, ввести необходимые числа и получить результат. Операции, которые необходимо реализовать: сложение, вычитание, умножение, деление, возведение в степень, синус, косинус и тангенс числа.
Задание 1
Даны числа a и b (a < b). Выведите сумму всех натуральных чисел от a до b (включительно).
Задание 2
Факториалом числа n называется число 𝑛! = 1 ∙ 2 ∙ 3 ∙ … ∙ 𝑛. Создайте программу, которая вычисляет факториал введённого пользователем числа.
Задание 3
Используя вложенные циклы и функции print(‘*’, end=’’), print(‘ ‘, end=’’) и print() выведите на экран прямоугольный треугольник.
Задание 4
Создайте программу, которая рисует на экране прямоугольник из звёздочек заданной пользователем ширины и высоты.
Задание 1
Создайте функцию, которая выводит приветствие для пользователя с заданным именем. Если имя не указано, она должна выводить приветствие для пользователя с Вашим именем.
Задание 2
Создайте две функции, вычисляющие значения определённых алгебраических выражений. Выведите на экран таблицу значений этих функций от -5 до 5 с шагом 0.5.
Задание 3
Создайте программу-калькулятор, которая поддерживает четыре операции: сложение, вычитание, умножение, деление. Все данные должны вводиться в цикле, пока пользователь не укажет, что хочет завершить выполнение программы. Каждая операция должна быть реализована в виде отдельной функции. Функция деления должна проверять данные на корректность и выдавать сообщение об ошибке в случае попытки деления на ноль.
Задание 4
Создайте программу, которая состоит из функции, которая принимает три числа и возвращает их среднее арифметическое, и главного цикла, спрашивающего у пользователя числа и вычисляющего их средние значения при помощи созданной функции.
Задание 1
Прочитайте в документации по языку Python информацию о перечисленных в резюме данного урока стандартных функциях. Проверьте их на практике.
Задание 2
Создайте программу, которая проверяет, является ли палиндромом введённая фраза.
Задание 3
Пусть на каждую ступеньку лестницы можно стать с предыдущей или переступив через одну. Определите, сколькими способами можно подняться на заданную ступеньку.
Задание 4
Напишите рекурсивную функцию, которая вычисляет сумму натуральных чисел, которые входят в заданный промежуток.
Задание 1
Создайте список и введите его значения. Найдите наибольший и наименьший элемент списка, а также сумму и среднее арифметическое его значений.
Задание 2
Перепишите решение последней задачи из шестого урока так, чтобы она не использовала рекурсию и не вычисляла все промежуточные количества вариантов путей множество раз (что крайне неэффективно), а сохраняла их в списке.
Задание 3
Простым называется число, которое делится нацело только на единицу и само себя. Число 1 не считается простым. Напишите программу, которая находит все простые числа в заданном промежутке, выводит их на экран, а затем по требованию пользователя выводит их сумму либо произведение.
Задание 4
Создайте список, введите количество его элементов и сами значения, выведите эти значения на экран в обратном порядке.
Откройте файл fix_me.py из папки homework. Используя обычный текстовый редактор (Notepad), исправьте все ошибки оформления кода согласно PEP 8.
Задание 1
Создайте класс, описывающий книгу. Он должен содержать информацию об авторе, названии, годе издания и жанре. Создайте несколько разных книг. Определите для него операции проверки на равенство и неравенство, методы repr и str.
Задание 2
Создайте класс, описывающий отзыв к книге. Добавьте в класс книги поле – список отзывов. Сделайте так, что при выводе книги на экран при помощи функции print также будут выводиться отзывы к ней.
Задание 3
Ознакомьтесь со специальными методами в Python, используя ссылки в конце урока, и научитесь использовать те из них, назначение которых вы можете понять. Возвращайтесь к этой теме на протяжении всего курса и изучайте специальные методы, соответствующие темам каждого урока.
Задание 4
Создайте класс, описывающий автомобиль. Создайте класс автосалона, содержащий в себе список автомобилей, доступных для продажи, и функцию продажи заданного автомобиля.
Задание 1
Создайте класс Editor, который содержит методы view_document и edit_document. Пусть метод edit_document выводит на экран информацию о том, что редактирование документов недоступно для бесплатной версии. Создайте подкласс ProEditor, в котором данный метод будет переопределён. Введите с клавиатуры лицензионный ключ и, если он корректный, создайте экземпляр класса ProEditor, иначе Editor. Вызовите методы просмотра и редактирования документов.
Задание 2
Опишите классы графического объекта, прямоугольника и объекта, который может обрабатывать нажатия мыши. Опишите класс кнопки. Создайте объект кнопки и обычного прямоугольника. Вызовите метод нажатия на кнопку.
Задание 3
Создайте иерархию классов с использованием множественного наследования. Выведите на экран порядок разрешения методов для каждого из классов. Объясните, почему линеаризации данных классов выглядят именно так.
Задание 4
Создайте иерархию классов транспортных средств. В общем классе опишите общие для всех транспортных средств поля, в наследниках – специфичные для них. Создайте несколько экземпляров. Выведите информацию о каждом транспортном средстве.
Задание 1
Создайте класс, описывающий автомобиль. Какие атрибуты и методы должны быть полностью инкапсулированы? Доступ к таким атрибутам и изменение данных реализуйте через специальные методы (get, set).
Задание 2
Создайте 2 класса – языка, например, английский и испанский. У обоих классов должен быть метод greeting(). Оба создают разные приветствия. Создайте два соответствующих объекта из двух классов выше и вызовите действия этих двух объектов в одной функции (функция hello_friend).
Задание 3
Используя ссылки в конце данного урока, ознакомьтесь с таким средством инкапсуляции как свойства. Ознакомьтесь с декоратором property в Python. Создайте класс, описывающий температуру и позволяющий задавать и получать температуру по шкале Цельсия и Фаренгейта, причём данные могут быть заданы в одной шкале, а получены в другой.
Задание 4
Опишите два класса Base и его наследника Child с методами method(), который выводит на консоль фразы соответственно "Hello from Base" и "Hello from Child".
Задание 1
Выучите основные стандартные исключения, которые перечислены в данном уроке.
Задание 2
Напишите программу-калькулятор, которая поддерживает следующие операции: сложение, вычитание, умножение, деление и возведение в степень. Программа должна выдавать сообщения об ошибке и продолжать работу при вводе некорректных данных, делении на ноль и возведении нуля в отрицательную степень.
Задание 3
Опишите класс сотрудника, который включает в себя такие поля, как имя, фамилия, отдел и год поступления на работу. Конструктор должен генерировать исключение, если заданы неправильные данные. Введите список работников с клавиатуры. Выведите всех сотрудников, которые были приняты после заданного года.
Задание 4
Опишите свой класс исключения. Напишите функцию, которая будет выбрасывать данное исключение, если пользователь введёт определённое значение, и перехватите это исключение при вызове функции.
Задание 1
Реализуйте цикл, который будет перебирать все значения итерабельного объекта iterable.
Задание 2
Взяв за основу код примера example_5.py, расширьте функциональность класса MyList, добавив методы для очистки списка, добавления элемента в произвольное место списка, удаления элемента из конца и произвольного места списка.
Задание 3
Напишите итератор, который возвращает элементы заданного списка в обратном порядке (аналог reversed).
Задание 1
Напишите генератор, который возвращает элементы заданного списка в обратном порядке (аналог reversed).
Задание 2
Выведите из списка чисел список квадратов четных чисел. Используйте 2 варианта решения: генератор и цикл.
Задание 3
Напишите функцию-генератор для получения n первых простых чисел.
Задание 1
Создайте функцию от произвольного количества аргументов, которая вычисляет среднее арифметическое данных чисел. Вычислите при помощи неё среднее арифметическое двух заданных чисел и среднее арифметическое чисел из заданного диапазона.
Задание 2
Используя документацию, ознакомьтесь с методами класса str.
Задание 3
Напишите программу, которая вводит с клавиатуры текст и выводит отсортированные по алфавиту слова данного текста.
Задание 4
Ознакомьтесь при помощи документации с классами namedtuple и deque модуля collections.
Задание 5
Напишите программу, которая вводит с клавиатуры последовательность чисел и выводит её отсортированной в порядке возрастания.
Задание 1
Даны две строки. Выведите на экран символы, которые есть в обоих строках.
Задание 2
Создайте программу, которая эмулирует работу сервиса по сокращению ссылок. Должна быть реализована возможность ввода изначальной ссылки и короткого названия и получения изначальной ссылки по её названию.
Задание 3
Ознакомьтесь при помощи документации с классами OrderedDict, defaultdict и ChainMap модуля collections.
Задание 4
Создайте словарь с ключами-строками и значениями-числами. Создайте функцию, которая принимает произвольное количество именованных параметров. Вызовите её с созданным словарём и явно указывая параметры.
Задание 1
Напишите скрипт, который создаёт текстовый файл и записывает в него 10000 случайных действительных чисел. Создайте ещё один скрипт, который читает числа из файла и выводит на экран их сумму.
Задание 2
Модифицируйте исходный код сервиса по сокращению ссылок из предыдущих двух уроков так, чтобы он сохранял базу ссылок на диске и не «забывал» при перезапуске. При желании можете ознакомиться с модулем shelve (https://docs.python.org/3/library/shelve.html), который в данном случае будет весьма удобен и упростит выполнение задания.
Задание 3
Создайте список товаров в интернет-магазине. Сериализуйте его при помощи pickle и сохраните в JSON.
Задание 1
Перепишите домашнее задание предыдущего урока (сервис для сокращения ссылок) таким образом, чтобы у него была основная часть, которая отвечала бы за логику работы и предоставляла обобщённый интерфейс, и модуль представления, который отвечал бы за взаимодействие с пользователем. При замене последнего на другой, взаимодействующий с пользователем иным способом, программа должна продолжать корректно работать.
Задание 2
Повторите информацию о рассмотренных на уроке стандартных модулях. Ознакомьтесь также с модулями calendar, heapq, bisect, array, enum.
Задание 3
Создайте модуль для получения простых чисел. Импортируйте его из другого модуля. Импортируйте отдельные его имена.
Задание 1
Ещё раз разберите все примеры к уроку, повторите теорию и ознакомьтесь с документацией по рассмотренным модулям.
Задание 2
Создайте список целых чисел. Получите список квадратов нечётных чисел из этого списка.
Задание 3
Создайте функцию-генератор чисел Фибоначчи. Примените к ней декоратор, который будет оставлять в последовательности только чётные числа.
Задание 1
Создайте UDP сервер, который ожидает сообщения о новых устройствах в сети. Он принимает сообщения определенного формата, в котором будет идентификатор устройства и печатает новые подключения в консоль. Создайте UDP клиента, который будет отправлять уникальный идентификатор устройства на сервер, уведомляя о своем присутствии.
Задание 2
Создайте UNIX сокет, который принимает сообщение с двумя числами, разделенными запятой. Сервер должен конвертировать строковое сообщения в два числа и вычислять его сумму. После успешного вычисления возвращать ответ клиенту.
Задание 3
Изучите более подробно и попробуйте возможности настройки, pull-а соединений и его режимов. Используя утилиту ab протестируйте ваши наработки (https://ru.wikipedia.org/wiki/ApacheBench).
Задание 4
Используя сервис https://jsonplaceholder.typicode.com/ попробуйте построить различные типы запросов и обработать ответы. Необходимо попрактиковаться с urllib и библиотекой requests. Рекомендуется сначала попробовать выполнить запросы, используя urllib, а затем попробовать реализовать то же самое используя requests
Задание 1
Создайте простые словари и сконвертируйте их в JSON. Сохраните JSON в файл и попробуйте загрузить данные из файла.
Задание 2
Создайте XML файл с вложенными элементами и воспользуйтесь языком поиска XPATH. Попробуйте осуществить поиск содержимого по созданному документу XML, усложняя свои запросы и добавляя новые элементы, если потребуется.
Задание 3
Поработайте с созданием собственных диалектов, произвольно выбирая правила для CSV файлов. Зарегистрируйте созданные диалекты и поработайте, используя их, с созданием/чтением файлом.
Задание 1
Сделать таблицу для подсчёта личных расходов со следующими полями: id, назначение, сумма, время.
Задание 2
Создать консольный интерфейс (CLI) на Python для добавления новых записей в базу данных
Задание 3
Создать агрегатные функции для подсчёта общего количества расходов и расходов за месяц. Обеспечить соответствующий интерфейс для пользователя.
Задание 4
Измените таблиц так, чтобы можно было добавить не только расходы, а и доходы
Задание 5
Замените назначение на MCC и используйте его для определения назначения платежа
Задание 6
Настройте интеграцию с API своего банка для автоматической загрузки операций по карте
Задание 1
Создайте функцию по вычислению факториала числа. Запустите несколько задач, используя ThreadPoolExecutor и замерьте скорость их выполнения, а затем замерьте скорость вычисления, используя тот же самый набор задач на ProcessPoolExecutor. В качестве примеров, используйте крайние значения, начиная от минимальных и заканчивая максимально возможными, чтобы увидеть прирост или потерю производительности.
Задание 2
Создайте три функции, одна из которых читает файл на диске с заданным именем и проверяет наличие строку “Wow! ”. В случае, если файла нет, то засыпает на 5 секунд, а затем снова продолжает поиск по файлу. В случае, если файл есть, то открывает его и ищет строку “Wow!”. При наличии данной строки закрывает файл и генерирует событие, а другая функция ожидает данное событие и в случае его возникновения выполняет удаление этого файла. В случае если строки «Wow!» не было найдено в файле, то засыпать на 5 секунд. Создайте файл руками и проверьте выполнение программы.
Задание 3
Разработайте сокет сервер на основе библиотеки asyncio. Сокет сервер должен выполнять сложение двух чисел, как из предыдущего примера по многопоточности.
Задание 1
Создайте функцию по вычислению факториала числа. Запустите несколько задач, используя ThreadPoolExecutor и замерьте скорость их выполнения, а затем замерьте скорость вычисления, используя тот же самый набор задач на ProcessPoolExecutor. В качестве примеров, используйте крайние значения, начиная от минимальных и заканчивая максимально возможными, чтобы увидеть прирост или потерю производительности.
Задание 2
Создайте три функции, одна из которых читает файл на диске с заданным именем и проверяет наличие строку “Wow! ”. В случае, если файла нет, то засыпает на 5 секунд, а затем снова продолжает поиск по файлу. В случае, если файл есть, то открывает его и ищет строку “Wow!”. При наличии данной строки закрывает файл и генерирует событие, а другая функция ожидает данное событие и в случае его возникновения выполняет удаление этого файла. В случае если строки «Wow!» не было найдено в файле, то засыпать на 5 секунд. Создайте файл руками и проверьте выполнение программы.
Задание 1
Создать функцию, которая принимает список из элементов типа int, а возвращает новый список из строковых значений исходного массива. Добавить аннотацию типов для входных и результирующих значений функции.
Задание 1
Запустить Django на порт 80, чтобы работала ссылка http://localhost/lesson_1/
Задание 2
Создать новое приложение lesson_11
Задание 3
По адресу http://localhost/lesson_1_1/ создать следующую HTML страницу:
<p>Hello World!</p>
<p>Django is one of the best framework on Python</p>
<hr>
Задание 4
Установить, настроить и запустить Django-сервер. Вывести простейшую HTML-страницу с надписью “Hello World!”
Задание 1
Составить urls.py файл, который:
- направляет URL с home/' в метод views.home и задает имя для этого URL как ‘home-view'.
- направляет URL с 'book/{название главы}/' в метод views. Book вместе с названием главы в качестве аргумента title, и задает имя для этого URL как ‘book'.
- передает запросы, начинающиеся с ‘lesson_2/' в модуль ‘lesson_2.urls', вместе с остатком URL.
Задание 2
- Написать пример регулярного выражения, которое совпадает сразу с тремя строками: "dog", "box", "bog".
- Написать пример регулярного выражения, которое не совпадает сразу с тремя строками: "dog", "box", "bog", но совпадет с “cot”
Задание 3
Написать пример регулярного выражения, которое совпадает с "d", "dog", "dogog", но не совпадает с "dogogog".
Задание 4
- Составить urls.py файл, который: o направляет URL с 'index/' в метод views.index и задает имя для этого URL как ‘index-view'. o направляет URL с 'bio/{имя пользователя}/' в метод views.bio вместе с именем пользователя в качестве аргумента username, и задает имя для этого URL как ‘bio'. o передает запросы, начинающиеся с ‘lesson_1/' в модуль ‘lesson_1.urls', вместе с остатком URL.
- Написать пример регулярного выражения, которое совпадает сразу с тремя строками: "cat", "cbt", "ctt".
- Написать пример регулярного выражения, которое не совпадает сразу с тремя строками: "cat", "cbt", "ctt".
- Написать пример регулярного выражения, которое совпадает с "c", "cat", "catat" или "catatatatat".
- Написать пример регулярного выражения, которое будет совпадать “c", "cat", но не будет совпадать целиком с "catat" или "catatatatat", а будет совпадать только с “cat” в них.
Задание 1
Дан следующий список: lets_do_it = [{'priority': 100, 'task': 'Составить список дел'}, {'priority': 150, 'task': 'Изучать Django'}, {'priority': 1, 'task': 'Подумать о смысле жизни'}]
Вывести его в представлении.
Задание 2
Составить структуру сайта с помощью представлений так, чтобы у вас была главная страница с приветствием и ссылками на другие страницы сайта: Добро пожаловать во вселенную звездных войн! Выберите страницу: Люк Лея Хан Страница Люка: Люк Скайуокер — один из главных персонажей вселенной «Звёздных войн», джедай, сын сенатора с Набу Падме Амидалы Наберри и рыцаря-джедая Энакина Скайуокера Страница Леи: Лея Органа — дочь рыцаря-джедая Энакина Скайуокера и сенатора Падме Амидалы Наберри. Страница Хана: Хан. Соло — пилот космического корабля «Тысячелетний сокол», его бортмехаником и вторым пилотом является вуки по имени Чубакка.
Задание 3
Создать представление и свой HTTPResponse который бы отправлял пользователи файл с текстом «Вот ваш файл» и кодом 227.
Задание 4
Составить представления, которые будут использовать различные типы ответов: файл, json, html и текст, Реализовать несколько Function и Class Based Views.
Задание 5
Дан следующий список: lets_do_it = [{'priority': 100, 'task': 'Составить список дел'}, {'priority': 150, 'task': 'Изучать Django'}, {'priority': 1, 'task': 'Подумать о смысле жизни'}]
Вывести его с помощью шаблона и фильтра в порядке убывания priority
Задание 6
Составить структуру сайта с помощью шаблонов так, чтобы у вас была главная страница с приветствием и ссылками на другие страницы сайта: Добро пожаловать во вселенную звездных войн! Выберите страницу: Люк Лея Хан и 3 страницы с общим заголовком «переход на главную», которые реализован с помощью одного общего шаблона, который они вместе наследуют, и уникальной для каждой страницы содержанием: страница Люка: Люк Скайуокер — один из главных персонажей вселенной «Звёздных войн», джедай, сын сенатора с Набу Падме Амидалы Наберри и рыцаря-джедая Энакина Скайуокера страница Леи: Лея Органа — дочь рыцаря-джедая Энакина Скайуокера и сенатора Падме Амидалы Наберри. страница Хана: Хан Соло — пилот космического корабля «Тысячелетний сокол», его бортмехаником и вторым пилотом является вуки по имени Чубакка.
Задание 7
Составить шаблон и использовать его в представлении, который бы отображал список словарей, хранящий информацию: [{'name': 'Шаддам IV', 'surname': 'Коррино'}, {'name': 'Пол', 'surname': 'Атрейдес'}, {'name': 'Франклин', 'surname': 'Герберт'}]
с помощью тега for в виде списка:
<ol>
<li>{name} {surname}</li>
</ol>
Задание 8
У нас есть список: latest_question_list = [{'id': 1, 'question_text': 'В чем смысл жизни?"}, {'id': 2, 'question_text': 'Что первично, дух или материя?"}, {'id': 3, 'question_text': 'Существует ли свобода воли?"}]
Задание 1
Изучить и понять все преимущества и недостатки инструментов, которые были рассмотрены на уроке.
Задание 2
Создать несколько моделей и реализовать между ними отношение много-к-много и попробовать запустить миграции.
Задание 3
Создать по 5 записей в базе данных для каждой модели.
Задание 4
Создать модели для интернет-магазина, которые будут отвечать следующим критериям:
- Модель должна вмещать все перечисленные в уроке поля.
- Добавить связь между моделями.
- Все поля по умолчанию должны быть пустыми.
- Добавить модели к как минимум 5 продуктам.
Задание 5
Создать несколько моделей и попробовать запустить миграции. Изменить модели и запустить миграции. Проделать этот процесс несколько раз и посмотреть, как будут изменяться таблицы в базе данных.
Задание 6
Попробовать подключить к проекту MongoDB и запустить миграции на эту базу. Попробовать сначала модели без отношений, а после - с отношениями друг к другу.
Задание 7
Обновить модели с предыдущего урока для интернет-магазина:
- Добавить null True
- Изменить поля моделей
- Изменить параметры полей
Задание 1
Изучить и понять все преимущества и недостатки инструментов, которые были рассмотрены на уроке.
Задание 2
Создать несколько форм для авторизации пользователя.
Задание 3
Найти информацию что такое ModelForm и создать несколько таких форм.
Задание 4
Создать форму для отправки отзыва на продукт для интернет-магазина. Форма должна вмещать:
- Файл с картинкой.
- Почту пользователя.
- Описание.
- Выбор оценки.
- Негативный или позитивный отзыв.
- Номер телефона.
Задание 1
Изучить и понять все преимущества и недостатки инструментов, которые были рассмотрены на уроке.
Задание 2
Создать новые модели, которые будут иметь отношение много-к-многим, запустить миграции и попробовать использовать все те фильтры, которые были рассмотрены на уроке.
Задание 3
Попрактиковаться в вытягивание данных. Вытянуть данные и отправить их на страницу с помощью запроса GET.
Задание 4
Вытягивать данные из созданных моделей. Вытянуть данные, которые начинаются на большую букву “Л” Вытянуть данные, которые включают цифру. Отсортировать данные по дате создания.
Задание 1
Изучить и понять все преимущества и недостатки от применения инструментов, которые были рассмотрены на уроке.
Задание 2
Создать простое view с помощью DRF, которое будет отвечать на запрос PING ответом PONG. Подход и способы выбрать на своё усмотрение.
Задание 3
Изучить как работает данный API (https://openweathermap.org/api). Рассмотреть документацию, какие там есть запросы, какие есть способы вытянуть данные из него и какая структура данных. Чтобы бы вы изменили, удалили или добавили?
Задание 4
Подключить к приложению Django Rest Framework.
Задание 5
Изучить и понять все преимущества и недостатки от инструментов, которые были рассмотрены на уроке.
Задание 6
Добавить свой API, который будет использовать все изученные инструменты и на запрос будет отвечать какой сейчас час в указанной точке. Самостоятельно продумать представления и маршруты.
Задание 7
Дописать API для уже существующих моделей для игр с предыдущих уроков. Использовать авторизацию, права доступа и другие инструменты, рассмотренные на уроке. У пользователя API должна быть возможность вывести все игры по дате, добавить игру, удалить, изменить, а также вытянуть игру по названию или id.
Задание 8
Создать с помощью Django Rest Framework API, который будет использовать права доступа, аутентификацию, представления и маршрутизаторы.
Задание 1
Изучить и понять все преимущества и недостатки от применения инструментов, которые были рассмотрены на уроке.
Задание 2
Рассмотреть документацию nginx. Изучить другие параметры и команды, которые можно использовать для деплоя.
Задание 3
Скачать открытый Django проект с github и попробовать его задеплоить. Рассмотреть какие возникают проблемы и ошибки. Самостоятельно найти решения к ним.
Задание 4
Запустить свое приложение на удаленном linux сервере с помощью nginx и uwsgi.
Задание 5
Изучить и понять все преимущества и недостатки от применения инструментов, которые были рассмотрены на уроке.
Задание 6
Поднять еще один инстанс AWS и задеплоить туда с помощью uwsgi и nginx.
Задание 7
Запустить свое приложение на ресурсе PythonAnywhere. Поэкспериментировать с файлами настроек. Добавить возможность запустить приложение при перезапуске сервера.
Задание 8
Запустить свое приложение на сервисе AWS.
Задание 1
Изучить и понять все преимущества и недостатки инструментов, которые были рассмотрены на уроке.
Задание 2
Запустить проверку приложения на сервисе для проверки безопасности.
Задание 3
Сделать ошибку в защите и попробовать взломать приложение.
Задание 4
Рассмотреть, безопасно ли приложение, которое создавалось в процессе уроков.