Домашнее задание 26.07
- Написать консольную команду, которая удаляет всех мягко удаленных пользователей.
- Написать консольную команду, которая добавляет в бд фейковых пользователей. Команда запрашивает у пользователя кол-во пользователей. Сделать проверку на валидность введенного кол-ва (от 1 до 100).
- Сделать сохранение состояния всего фильтра.
- Дан массив из одинаковых по структуре массивов с любым уровнем вложенности. Например, $a = [
['developer' => ['id' => 1, 'name' => 'Ivan']],
['developer' => ['id' => 2, 'name' => 'Petr']],
]; Написать функцию pluck(), которая из данного массива получается одномерный массив из значений, путь к которым указан в виде строки из ключей через точку. Например, plain($a, 'developer.name') вернет массив ['Ivan', 'Petr'] - Дан массив чисел. Выполнить сортировку по четности, то есть сначала должны идти четные, потом нечетные. Можно использовать usort.
- Дан двумерный массив. Например, $a=[[100,100],[1,2,3],[4,5],[0,-1],[1,2,3,4,5]]; Переставить элементы массива $a так, чтобы их суммы чисел возрастали. То есть $a=[[0,-1], [1,2,3],[4,5],[1,2,3,4,5],[100,100]]; Можно использовать usort.
Домашнее задание 23.07
- Повторить действия с урока по фильтру (в том числе чтобы не сбрасывался при клике на кнопку фильтра). Добавить статусы книгам и добавить в фильтр.
- Добавить кнопки Удалить мягко (для тех книг, которые мягко не удалены), Удалить полностью (для всех книг), Восстановить (для тех книг, которые мягко удалены). При этом в таблице отображаются все книги - и мягко удаленные, и неудаленные.
- Вася хочет узнать, какую оценку он получит в четверти по информатике. Учитель придерживается следующей системы: вычисляется среднее арифметическое всех оценок в журнале, и ставится ближайшая целая оценка, не превосходящая среднего арифметического.При этом если у школьника есть двойка, а следующая за ней оценка – не двойка, то двойка считается закрытой, и при вычислении среднего арифметического не учитывается. Дан список оценок - целые числа от 2 до 5 включительно. Найдите четвертную оценку.
Домашнее задание 19.07
- Повторить действия урока для другой сущности (например, книги). Сделать отдельный пункт меню в сайдбаре
- Написать функцию, которая определяет, является ли пароль простым. Пароль простой, если менее 8 символов, или содержит менее 4 различных символов, или состоит только из цифр, или содержит 'qwerty' или 'password'
Домашнее задание 05.07
- Повторить действия урока
- Сверстать страницу для создания пользователя
- Сделать список пользователей, удаление и создание пользователя
Домашнее задание 02.07
- Разобрать задачи про рекурсию с урока.
- Известно, что
,
и
. Найдите
- Создать trait Nameable с методом, который выводит $this->name большими буквами. Подключить трейт в две модели, где есть name. Протестировать.
- В модель doctor (из предыдущего дз) добавить soft deleting (добавить через миграцию столбец, добавить трейт). Протестировать: мягко удалить конкретного доктора, удалить доктора из базы, написать два запроса - один с игнорированием удаленных, второй - с учетом удаленных. Восстановить доктора. Восстановить всех докторов, у которых id < 5.
Домашнее задание 29.06
- Дан массив, элементами которого являются или числа, или массив. Например, $a=[1, [2, 3], 4, [5, 6, 7], 8]; а) Найти сумму всех чисел, которые содержатся в этом массиве б) Дано число. Определить, содержится ли это число в массиве в) Получить новый массив из чисел данного массива, избавившись от вложенных массивов. То есть $b = [1, 2, 3, 4, 5, 6, 7, 8];
- Просмотреть видеокурс по css Прочитать учебник по css до главы Таблицы включительно. Bootstrap позже - когда сделаем вместе админку.
Домашнее задание 25.06
- Повторить урок с валидацией. Сделать редактирование и валидацию на создание и редактирование для вашей модели
Домашнее задание 14.06
- Задачи 42, 44, 62, 75,
- Задачи на строки 42, 57, 99
Домашнее задание 11.06
- Повторить урок на другой модели (не менее 4 полей в фильтре)
- Определите, можно ли вычеркнуть из данного массива одно число так, чтобы оставшиеся числа оказались упорядоченными по возрастанию.
- Дан массив из n элементов. Переставьте его элементы случайным образом так, чтобы каждый элемент оказался на новом месте.
Домашнее задание 07.06
- Повторить все с урока на другой модели: список, создание, удаление, сообщение об ошибке удаления или успехе удаления.
Домашнее задание 03.06
- Пользователь заходит на страницу и видит кол-во посещений данной страницы и дату и время последнего посещения. Реализовать с помощью сессий и функции date('d.m.y H:i:s') - возвращает строку с текущей датой и временем
- Пользователь вводит число в форме. После отправки формы происходит редирект на эту же страницу и под формой отображается квадрат введенного числа и в форме - введенное число.
- Пользователь вводит email. Вывести yes, если он корректный или no иначе. Использовать готовую функцию php
- Пользователь указывает n и m. Вывести под формой прямоугольник из нулей - n строк и m столбцов.
- Пользователь вводит два целых числа a и b. Вывести все целые числа от а до b.
- Пользователь вводит массив целых чисел через пробел. Показать массив без наибольшего и наименьшего чисел.
- Пользователь вводит английские слова через пробел. Удалить повторы слов. Оставшиеся слова вывести в алфавитном порядки в низшем регистре.
- Пользователь вводит английские слова через пробел. И символ. И выбирает в селекте - "до" или "после". Вывести текст пользователя, добавив до или после каждого слова указанный символ.
- Пользователь вводит через пробел даты дни рождений. Например, 12.02 13.04 03.05 14.01. Найти кол-во дней до ближайшего дня рождения.
- Пользователь вводит массив чисел. И еще несколько чисел. Вывести сколько раз каждое число встречается в массиве.
Домашнее задание 29.04
- Форма для создания сущности в бд
Домашнее задание 24.04
- Создать миграцию для таблицы doctors - хранит данные о врачах: фамилия, имя, отчество, год рождения, специальность, кол-во пациентов, кол-во лет работы, описание, created_at, updated_at.
- Создать сидер и factory для заполнения таблицы 100 записей.
- Создать роут и новый контроллер для запросов
- У доктора с id = 5 изменить год рождения на 1975 и кол-во пациентов на 100.
- Удалить доктора с id=5
- У всех докторов, год рождения которых от 1980 до 1990 включительно обнулить кол-во пациентов
- Удалить всех докторов, у которых кол-во пациентов меньше 5
- Удалить всех докторов, у которых фамилия заканчивается на 'ов' и у которых специальность 'стоматолог'
- Найти кол-во всех докторов
- Найти кол-во докторов, у которых стаж работы больше 20 лет
- Найти какой наибольший стаж у докторов
- Найти среднее кол-во пациентов у докторов специальности 'хирург'
- Найти наименьший год рождения у докторов, у которых пациентов от 10 до 20 и специальность или хирург, или стоматолог
Домашнее задание 22.04
- С помощью команды php artisan make:seeder NotebookSeeder создать сидер для заполнения таблицы ноутбуков из предыдущего домашнего задания. Этот сидер вызвать в DatabaseSeeder. В сидере написать код добавления 10 ноутбуков в таблицу. Вызвать сидер командой php artisan db:seed Добавить в модель Notebook строку use HasFactory; Создать NotebookFactory как копию файла UserFactory в factories. Добавить в сидер код через factory.
- Создать четыре страницы (и роута для них) - page1, page2, page3. На странице page1 должны ссылки на page2 и page 3, на странице page 3 - ссылки на остальные страницы, на page1 - ссылки на остальные страницы. Использовать ->name в роутах
- Повторить код с урока - добавление шаблона flexstart в проект. Добавить папку assets в public, изменить в верстке пути к файлам через {{ asset(' ...') }} Разбить blade на несколько с помощью @include
Домашнее задание 20.04
- Создать миграцию для хранения данных о ноутбуках: производитель, цена, модель, диагональ монитора в дюймах, процессор, год, цвет. Все поля, кроме, модели и года, необязательны к заполнению. Создать модель с fillable. Создать роут и новый контроллер с методом.
- Написать код добавления 30 ноутбуков в бд.
- Получить список ноутбуков:
- всех
- ноутбука с id равным 5
- всех упорядоченных по модели, если модели одинаковы, то должны быть упорядочены по году
- все упорядоченные по цене в обратном порядке
- все у которых название процессора содержит intel
- все черного цвета 2000 года или зеленого цвета 2005 года
- все у которых производитель не Acer, которые 2000-2020 годов и у которых монитор 18 дюймов
- все зеленого цвета у которых производитель Acer 2010 года или Asus 2020 г
- первые три черного цвета у которых диагональ или 17, или от 20 до 22
- все у которых указаны цена и диагональ
- Книга Татро прочитать гл 2
Домашнее задание 17.04
- Создать миграцию для хранения информации про автомобили: вин номера, год выпуска, марка, модель, пробег (в км), кол-во лошадиных сил, цвет, тип коробки передач. Все поля, кроме вин номера, могут быть nullable
- Создать модель Car, роут cars/add - для добавления авто, cars/get - для получения данных с бд. Создать контроллер с двумя методами. Создать blade для показа результатов роута cars/get.
- Написать код для добавления 1 автомобиля в бд. Написать код для добавления 20 авто (через цикл). Использовать faker для цвета хотя бы. Погуглить примеры работы с faker php на русском
- Получить из бд список автомобилей:
- всех
- всех упорядоченных по марке
- всех упорядоченных по марке в обратном порядке
- всех упорядоченных по году
- первые три авто, у которых год равен 2000
- первый авто, у которого год от 2020 до 2023
- все авто зеленого цвет с автоматиской коробкой передач и мощностью более 100 л.с.
- все авто зеленого или красного цвета
- все авто зеленого цвета не 2005 года
- все авто, у которых указаны марка и модель
- авто у которого id равен 5
- все авто, у которых марка содержит фрагмент WX
- все авто, у которых модель начинается с Ma
- все авто у которых год не из периода 2000-2010 и пробег меньше 100000
- все авто у которых пробег меньше 100000 или больше 500000
Домашнее задание 15.04
- С нуля задачу 15 про курсы
- Прошлое дз п. 1
- Дан список дел сотрудника $tasks = ["12.02.2024 09:10-10:20", "14.02.2024 09:10-10:20", "14.02.2024 19:10-20:40", ...]; То есть когда и в какой период времени он занят. Сотрудник работает каждый день с 9:00 до 20:00. Определите, количество свободных минут сотрудника на текущей неделе.
Домашнее задание 08.04
- Создать миграцию для таблицы students. Таблица содержит столбцы name - имя студента, surname - фамилия, year - год рождения, address - адрес. Для выполнения миграции использовать команду php artisan migrate Файл миграции можно создать как копию файла миграции users и изменить в названии файла дату. Миграции находятся в database/migrations
- Создать модель Student как копию модели Lesson. Но изменить по смыслу код внутри класса. Модели находятся в app/Models. Вызвать команду php artisan ide-helper:models (далее yes) через консоль.
- Написать запросы к бд через модель Student (создать роут с url /students/queries)
- Добавить 1 студента 2 способами
- Добавить сразу 5 студентов с разными данными
- Дано описание формы: $settings = ['input', 'textarea', 'input', 'select', 'input']; Создать в blade форму с такими полями.
Домашнее задание 01.04
- Документация Carbon
- Формат даты php
- Про carbon факты
- Задачи все строго по порядку (даже 10 с нуля)
- Долги с прошлого дз
Домашнее задание 30.03
- Создать route в routes/web.php для /articles. Создать в app/Http/Controllers контроллер ArticleController и метод articles в нем. Привязать роут к контроллеру. Создать в resources/views файл articles.blade.php. В контроллере создать массив articles с названиями статей. Передать переменную в view. В articles.blade.php с помощью foreach показать список статей.
- Создать контроллер TestController с помощью php artisan make:controller TestController
- Далее на каждую задачу все в отдельном роуте. Можно использовать один и тот же контроллер, но разные методы.
- Задачи с прошлого дз
- Даны два массива. Получить массив, который состоит из тех чисел, которые встречаются в каждом массиве ровно по 2 раза. Например, [1, 4, 3, 4, 4, 3], [1, 1, 4, 4, 3, 3] -> [3]
- Даны два массива. Получить массив, числа которого встречаются только в первом массиве. Итоговый массив не должен содержать повторы.
- Дана строка, содержащая дату в формате 'd.m.Y'. Например, 03.04.2024. Вывести название месяца, которому соответствует дата.
Домашнее задание 27.03
- Почитать про html-теги
- Еще сайт про html-теги с редактором онлайн
- Спецсимволы html
- Задачи по html 1-14 + проверить валидатором
- Установить composer и проверить командой composer --version
Домашнее задание 25.03
- Найти ошибку в решении с урока
- Прошлое дз 3 задачи - все через классы
- Проверить новое определение конструктора php 8 (пример в статье)
- Создать класс Gen для генерации паролей - в его функции должен быть параметр для сложности пароля: от 1 до 3 - простой, средний, сложный.
- Создать массив объектов класса Student. Про студента известны фамилия, имя, год рождения, оценки за каждый из последних 6 месяцев обучения. Показать всех информацию про все студентов. Вывести ФИ студентов и рядом с каждым его средний балл. Найти студента, у которого все оценки максимальны. Найти самого отстающего студента. Найти средний возраст студентов.
Домашнее задание 23.03
- Задача про шифрование и расшифрование строки (сдвиг кода символа на какое-то число)
- Задачи на строки Номера 131, 14, 24, 36, 42, 46, 54
Домашнее задание 20.03
- Функции со строками Поучиться работать с функциями substr, strlen, strpos, strrpos, str_repeat, str_replace, implode, explode.
- Задачи на строки 6, 8
Домашнее задание 18.03
- Зарегистрироваться на codewars.com Решить 1-2 задачи попроще.
- Список заявок от клинтов. Вывести товар с % заявок по этому товару.
- Дан массив книг. Про книгу известно автор, год издания, название, издательство. Показать все книги данного автора. Показать список всех авторов в алфавитном порядке с кол-вом книг у каждого. Показать издательства с количество книг, причем издательства упорядочено по количеству книг.
- Матрицы Задачи 21 44 48
Домашнее задание 16.03
- Матрицы задачи 13, 25, 11, 27
Домашнее задание 13.03
- Сгенерировать 100 квадратных уравнений с целыми корнями (вывести уравнения и их корни)
- Сгенерировать 10 случайных различных чисел
- Написать аналог функции shuffle
- Изучить функцию sort (проверить работу на конкретном массиве)
- Прочитать про методы сортировок пузырьком, вставками и выбором и запрограммировать.
- Задачи номера 38, 39, 40, 44 Во всех задачах выбирать между for и foreach
Домашнее задание 11.03
- Прочитать книгу Р. Савина Тестирование дот ком (необязательно)
- Задачи номера 37 42 51 52
- Сгенерировать случ. серию из 0, 1, 2, в которой количество единиц равно кол-ву двоек, а всего чисел 10.
Домашнее задание 09.03
- Прочитать только про первые три принципа
- Прочитать про match. Использовать при возможности.
- Дано натуральное число. Найти наибольшее четное. Если четных нет, вывести 'No'.
- Сгенерировать случ. серию из 0, 1, 2, в которой ровно 5 единиц и 3 двойки, остальные нули.
- Задачи номера 1, 2, 9, 19, 20, 22, 23, 24, 25, 27
Домашнее задание 06.03
- Прочитать статью Пример терпения
- Задача про генерацию 15 чисел - 2 способ
- Задача 143 из прошлого дз - доработать. Если if не сработал, то не выведет, а программа должно точно давать 3 разных числа.
- Задача про квадрат с нулями на диагонали. Варианты: а) на побочной диагонали нули; б) под главной диагональю нули, над ней - единицы.
- Задачи номера 107, 111, 113, 120, 123, 135
Домашнее задание 04.03
- Зарегистрироваться на github и прислать в телеграм мне логин
- Прочитать статью о выборе места работы
- Задачи номера 81, 82, 99, 103, 104, 112, 115, 121, 126, 138 (использовать mt_rand), 143
- Запушить дз в git
- 2 задачи с прошлого дз
Домашнее задание 28.02
- Прочитать psr-1 и psr-2
- Выяснить про and и or (в if)
- Выяснить, как идет сравнение при == (как приводятся типы в php 8 и есть ли отличие от php 7)
- В заметки сайт https://phptherightway.com/
- Задачи 38, 42, 46, 49, 50, 51, 55, 56, 57, 58, 62, 63, 64, 65, 67, 68, 71 (задача с собеседования) - использовать функцию для каждой задачи, и хотя бы в одной задаче switch и оператор ? .
Домашнее задание 26.02
- Установить OpenServer https://ospanel.io/download/ Создать папку с файлом index.php с кодом <?php echo 1; При открытии в браузере должно быть 1. Может помочь статья Если не удастся запустить, то использовать php-онлайн
- На hh.ru посмотреть вакансии php-программистов
- Почитать про фреймворки
- Задачи № 7-13 Использовать функции round, abs, sqrt, pow и др.