Эта страница перенесена по адресу: https://github.com/codedokode/pasta/blob/master/html/markup-for-ie.md
Если та страница недоступна, старые версии этой статьи можно увидеть, нажав кнопку Revisions.
Эта страница перенесена по адресу: https://github.com/codedokode/pasta/blob/master/html/markup-for-ie.md
Если та страница недоступна, старые версии этой статьи можно увидеть, нажав кнопку Revisions.
Примечание: раньше тут были другие условия задачи. Их можно найти в предыдущих ревизиях этого задания по ссылке https://gist.github.com/codedokode/8733007/e8e73b0255b3d899cb4e17dc9446fe694a8f5f7c
Cделать сайт TestHub, который позволяет создавать и проходить тесты (с вопросами и ответами). Их могут использовать например, преподаватели для проверки знаний студентов, работодатели для отсеивания кандидатов на вакансию, маркетологи для проведения опросов. Далее мы будем называть того, кто создает тесты, экзаменатором, а того, кто сдает, студентом, это лишь условные названия.
Что не нужно кодить самостоятельно - полезная статья, рассказывает о тех случаях, когда однозначно стоит использовать готовое решение, а не писать свой велосипед. Хочешь написать свой шаблонизатор или парсить HTML регулярками? Стой, прочти статью сначала.
Для тех, кому интересно — HTML нужно парсить XML/HTML-парсером, например встроенной в PHP библиотекой PHP DOM, искать нужные элементы в дереве удобно с помощью мини-языка запросов XPath
https://github.com/ziadoz/awesome-php - список библиотек и фреймворков на PHP на все случаи жизни. Нужен HTTP-клиент или валидатор JSON? Найдется.
http://phptrends.com/ — поиск по библиотекам и фреймворкам с учетом поулярности.
Это старая версия урока, которая больше не обновляется. Новая версия расположения тут: https://github.com/codedokode/pasta/blob/master/db/patterns-oop.md
Разберемся, как правильно с применением ООП сохранять и загружать данные из базы. Существуют такие подходы:
Для выполнения задания нужно: иметь представление о HTML/CSS (так как мы делаем сайт на фреймворке, а страницы сайтов пишутся на HTML), иметь представление о SQL-запросах или желание в них разобраться (так как мы будем работать с базой данных), иметь представление об ООП (так как все популярные фреймворки используют ООП).
Нужно иметь установленные и настроенные Апач/PHP/любую SQL- или NoSQL-базу данных (или денвер/XAMPP но лучше бы установить компоненты по отдельности, дает полезные навыки).
Если есть пробелы в знаниях, у меня есть паста про установку Апача и пара уроков по ООП.
Задание поможет: разобраться в MVC, научиться использовать один из фреймворков, использовать современные подходы к разработке, писать более правильный код.
import os | |
import re | |
import sys | |
import pwd | |
import csv | |
from dataclasses import dataclass | |
from typing import TextIO, Optional, Sequence | |
Pid = int | |
Uid = int |
Ты можешь использовать любой понравившийся язык и библиотеки, но, пожалуйста, не ищи готовые решения и не копипасть код (можно найти решение на другом языке, разобраться, как оно работает, и написать своими словами, если сам додуматься не смог). Гуглить и использовать алгоритмы можно.
Задание: сделать программу-калькулятор, считающую значение математического выражения. Выражение содержит целые (123
) и дробные числа (13.45
), скобки, операции +
, -
, /
, *
, ^
(возведение в степень). В выражении должен соблюдаться приоритет операций:
Этот урок переехал в мой гитхаб: https://github.com/codedokode/pasta/blob/master/php/exceptions.md - ниже представлена старая версия, потому советую перейти и прочитать новую.
Если ты изучаешь ООП, ты наверняка натыкался на исключения. В мануале PHP описаны команды try
/catch
/throw
и finally
(доступна начиная с PHP 5.5), но не объясняется толком как их использовать. Чтобы разобраться с этим, надо узнать почему они вообще были придуманы.
А придуманы они были, чтобы сделать удобную обработку ошибок.
<?php | |
/** | |
* Простой прокси-сервер на PHP для изучения и модификации данных, | |
* передаваемых между браузером и сторонним сервером. | |
* | |
* Запуск: | |
* | |
* указать URL сайта в $base | |
* php -S 127.0.0.1:9001 proxy.php | |
* |
Этот урок переехал в мой гитхаб по адресу: https://github.com/codedokode/pasta/blob/master/arch/di.md
Ниже устаревшая версия урока.
Проблема, которую мы решаем — связность классов. Если в классе A написано