> проще всего просто сесть и сыграть - все понятно сразу же будет...
Написание кода - это около 10-15% времени работы инженера, остальное - это проектирование. Садятся и играют то, что уже написано.
> много задач, которые не подразумевают передачу конфеденциальной информации
Код проекта обычно является интелектуальной собственностью компании, которая в свою очередь является коммерческой тайной. Иногда КТ это еще и алгоритмы.
@filisonov
Увы, но под это тз подходит любой шлак.
Например: под пункт 1.1.5 достатосно на странице сверстать кнопки с текстовками в кавычках, которые ничего не будут делать.
1.1.11 - достаточно текстовок.
То, что вы сбросили не тянет даже на бриф. ТЗ для подобного - это от 100 страниц. Тот же чат, который вы описали одним словом - это может быть проект для команды на год разработки и последующую поддержку. А может быть просто ссылкой на комментарии в vk.
1. Router понятия не должен иметь о том, что существуют какие-то там regexp, или статик. Все, что он делает - содержит список роутов, а при вызове метода resolve, или getRouteByRequest, либо еще как-то назовите - проходит по циклу и у каждого вызывает метод supports, первый роут, у которого supports($request) === true - возращается.
2. Router не занимается запуском, он только находит роут и возвращает его.
т.е. метод добавления будет примерно таким
add(RouteInterface $route): self {
$this->routes[] = $route;
return $this;
}
На счет static я думал вы про статическое свойство, или метод.
Еще раз, для кого вы это делаете? CTO заниматься этим даже через интерфейс не будет. Ваше решение - не имеет смысла, потому, что это лишний уровень абстракции. А так как нода более требовательна к уровню специалиста - проще будет использовать устоявшиеся средства автоматизации. npm install - это как раз средство из таких. Вы не забывайте еще про то, что сам процесс ноды нужно перезагружать.
Установку сложных систем проектируют как правило под конкретный продукт, с настройкой сборок, тестами и т.д. Для школьных решений - нода в принципе не подходит.
> Задача и заключается в том, чтобы npm-ки мог устанавливать любой школьник через веб-интерфейс.
Любому школьнику нафиг не уперся nodejs)) он возьмет WP и будет счастлив. У ноды на много выше порог вхождения.
> // Тут две проверки - static/regexp (Может быть абстрактным)
Зачем? static вам не нужен, метод supports(Request $request): bool проверяет, подходит ли текущий роут под запрос или нет. Router проверяет весь сипсок роутов, пока не найдет подходящий
Как сделать что? Это главный вопрос. Ищите способы перестать быть нелегалом, для этого нужно изучить имиграционное законодательство страны в которой вы проживаете.
Если вы крутой спец - морочиться будут, гуглите на тему релокации с Украины в вашу страну, связывайтесь с организаторами и решайте этот вопрос.
Например для Польши есть вариант получить рабочую визу при открытии юр. лица.
WQP вы экономите на спичках. PHP - это очень медленный язык, и заморачиваться на такой счет стоит ну разве что самых диких кейсах. У меня как-то проект был https://github.com/ko-ko-ko/php-assert там одно из требований было - время затраты, сравнимые с нейтивным кодом. Конкретно в моем кейсе была экономия на создании объектов (за счет клонирования, а это минус конструктор), так же за счет минимального количества присвоений, и зависимых вызовов. Если обратите внимание, там дикая копипаста - это цена за производительность. Так упарываться по хардкору мне потребовалось всего раз, но выводы я сделал: это пустая трата времени, если критична скорость - php не ваш выбор, выжимать из него максимум - будет слишком дорого в обслуживании.
С чего вдруг приводить? Если вы вызвали метод с неправильными аргументами - надо бросать исключение, так как штатная работа метода далее не возможна, либо не предсказуема.
@space-pacman
> Не понимаю какое это имеет отношение к IT ?
прямое
> Продвижение в соц.сетях, писать рекламные посты, это уже ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ ?
а как же AB тестрирование, арбитраж трафика, курирование партнерских программ, управление рассылками?))
> Аналитика - это АНАЛИТИКА.
этим вы ничего не сказали. Если анализ дохреналиона связных данных - это не IT, ну я не знаю что вам сказать))
@space-pacman
жаль, что вы не понимаете значение этих букв.
В задачи SEO входит закупка трафика, продвижение для целевой аудитории.
В задачи SMM тоже входит продвижение, но чаще всего в соц. сетях.
Аналитик - проводит анализ ваших действий с продуктом, и дает рекомендации по дальнейшим действиям, основываясь на них.
> Конструкцию die - забудьте' - if > exit ?
Класс для работы с БД не должен выполнять никаких действий с процессом выполнения. Еще раз, что-то не так - бросаем исключение.
> т.е. в контроллере создаем переменную с с данными запроса к БД (грубо говоря) и отправляем в модель, которая выполняет подключение к БД?
Неа. Я не вижу у вас моделей, класс для работы с БД о их существовании не знает.
Можете создать LazyMySQLConnection класс, который будет уметь в query и execute, однако подключение к самое БД будет по факту необходимости, а не по факту создания объекта.
Sergey Goryachev ок, смотрите, web проект да и в принципе любой другой имеет смысл начинать на основании некого исследования рынка. Брифы, тз, бизнес планы как раз нужны для того, что бы формализировать результаты этих исследований. Сама по себе идея "а давай ты сделаешь сайт-кинозал" - это ничто.
Вот вы спрашиваете, стоит ли делать форумы, блоги и т.д. - да хз, стоит ли, или не стоит. Что бы ответить на этот вопрос нужно знать "что", "как" и "зачем" вы собрались делать. Какие бизнес задачи конкретно в вашем случае будут возлагаться на то же форум.
webman2004 Нет, канал не забьется, это атака другого характера. У вас 300 соединений будут ждать данных. В таких темпах вы скорее упретесь по памяти, возможно по cpu.
Написание кода - это около 10-15% времени работы инженера, остальное - это проектирование. Садятся и играют то, что уже написано.
> много задач, которые не подразумевают передачу конфеденциальной информации
Код проекта обычно является интелектуальной собственностью компании, которая в свою очередь является коммерческой тайной. Иногда КТ это еще и алгоритмы.