joy_killer
25.06.2014 - 13:23
Друзья, дали такую задачу, раньше с этим не сталкивался, даже не знаю с чего начать,
Не понимаю, что за коды нужно возвращать.
Цитата |
Требуется написать систему вывода рекламы. Класс, либо расширение для Yii
Имеется множество шаблонов html/js Возьмем для примера superbanner.php с текстом:
<a id="banner-id-54447" href="/копеечка_в_копилку.html" target="_blank" class="underline"> <div>Кликни меня</div> </a>
Требования к приложению: - Приложение должно уметь подключать подобные шаблоны без указания типа файла, а только его имени, т.е "superbanner" ( возвращается код файла ) - Возможность задавать количество возвращаемых кодов ( подключаю "superbanner" 3 раза и т.д ) - Должен быть конфиг приложения для возможности задать кол-во возвращаемых кодов по умолчанию - Возможность задавать процентное отображение количества кодов. Например в конфиге для баннера "superbanner" указано по умолчанию 50 шт. Вызывая приложение мы сообщаем что нам нужно 50% от указанного количества в конфиге и нам возвращается 25 кодов. При этом запоминается для этого типа остаточное число баннеров. Забрали 25. Осталось 25. При следующем запросе в % или кол-ве приложение уже будет расчитывать из остатка кодов. Т.е вызов на странице что то типа
echo Banners::get("superbanner", '50%') // вернулось 25 кодов // вызываем второй раз на странице echo Banners::get("superbanner", '20%') // вернулось 5 кодов и еще осталось 20
Доп. требование ( необязательно выполнять, но будет большим плюсом ) - В адресную строку передается спец. хештег, например #mybanner-*тут id баннера* Скролим страницу к указанному баннеру и обводим баннер красной рамкой |
glock18
25.06.2014 - 13:44
Думаю, что никто на свете не понимает, какие там 25/50 кодов имеются ввиду, и что вообще значит "вернуть 25 кодов файла".
Вот эта строчка
Цитата (joy_killer @ 25.06.2014 - 09:23) |
echo Banners::get("superbanner", '50%') // вернулось 25 кодов |
убила наповал просто. В целом, по формулировкам возникает ощущение, что писал задание не программист даже
inpost
25.06.2014 - 15:51
joy_killerКод баннера имеется ввиду. для вставки на своём сайте.
Посчитал количество баннеров в БД, запомнил кое-где. Дальше вывел в процентном соотношении.
1 код = 1 строка в БД из таблицы "баннеры". Всего там 50 строк.
_______________
Разжевал, теперь ты можешь сам решить задачу, если умеешь. А если не умеешь, зачем тогда нам устраивать тебя к кому-то на фирму, когда ты не можешь справиться с элементарным условием?
_____________
Обучаю веб-программированию качественно и не дорого:
http://school-php.comФрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
glock18
25.06.2014 - 15:54
Цитата (inpost @ 25.06.2014 - 11:51) |
joy_killer Код баннера имеется ввиду. для вставки на своём сайте. Посчитал количество баннеров в БД, запомнил кое-где. Дальше вывел в процентном соотношении. 1 код = 1 строка в БД из таблицы "баннеры". Всего там 50 строк.
_______________
Разжевал, теперь ты можешь сам решить задачу, если умеешь. А если не умеешь, зачем тогда нам устраивать тебя к кому-то на фирму, когда ты не можешь справиться с элементарным условием? |
Что-то я там подтверждений этому не вижу. Как-то код примера файла говорит об обратном, по-моему.
joy_killer
25.06.2014 - 21:46
Да, умеют же поставить в тупик формулировками.
Zzepish
25.06.2014 - 22:26
Эт фигня. Я вчера ходил записывается на курсы (бесплатные) по java. Формулировка вопросов была такая, что сложней прочесть, чем ответить))) когда у меня спросили за результат, я сказал им это. Они сказали, что спецом так зделано, чтоб проверить работу мозга. Да и ощущение было, что не на курсы набирают, а на работу уровня мидла+
inpost
26.06.2014 - 15:46
glock1850 шаблонов. Пример кода - один из шаблонов. Правда шаблоны не в БД, видимо, а в файлах.
Так я понял задание, но что имел ввиду автор всего этого - не знаю. Может я ошибся, может я угадал его желание, не мне решать.
_____________
Обучаю веб-программированию качественно и не дорого:
http://school-php.comФрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
glock18
26.06.2014 - 15:54
Цитата (inpost @ 26.06.2014 - 11:46) |
glock18 50 шаблонов. Пример кода - один из шаблонов. Правда шаблоны не в БД, видимо, а в файлах. Так я понял задание, но что имел ввиду автор всего этого - не знаю. Может я ошибся, может я угадал его желание, не мне решать. |
По-моему, ты недостаточно внимательно прочел задание.
inpost
26.06.2014 - 16:06
glock18А мне кажется, ты недостаточно внимательно прочел задание.
на этом можно закончить офф-топить
_____________
Обучаю веб-программированию качественно и не дорого:
http://school-php.comФрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
glock18
26.06.2014 - 16:47
Ну, я лично не оффтопил. Тема как бы про эту формулировку. Что касается моих сомнений:
1. в задании нет ни слова о базе. Более того, нет даже намека на то, что она нужна. По сути, речь идет об одной маленькой функции, подключающей файл
2. Исходя из кода файла, где всего одна ссылка с вбитым намертво кодом, не имеющем никаких плейсхолдеров, подразумевающих возможность вставки разных идентификаторов и тому подобного, можно сделать вывод, что нет совершенно никаких оснований полагать, что к этому файлу можно отнести более одного "кода".
3.
Цитата (joy_killer @ 25.06.2014 - 09:23) |
- Приложение должно уметь подключать подобные шаблоны без указания типа файла, а только его имени, т.е "superbanner" ( возвращается код файла ) |
Если кто-то знает значения "возвращается код файла", отличные от... "возвращается содержимое файла", то сообщайте, не стесняясь. А при единственном известном мне значении этой профанской формулировки доставать этот самый код более одного раз начисто лишено всякой тени смысла.
В наличие базы мог бы поверить, если бы содержимое файла содержало какие-то плейсхолдеры, подразумевающие вставку данных из базы. Но их нет. Стало быть просто вставлять туда нечего, и база незачем.
Ну и в целом, задание сформулировано на очень слабом проф. уровне. Формулировки уровня HR, к тому же смысла никакого адекватного не видно.
inpost
26.06.2014 - 17:48
glock18"Имеется множество шаблонов html/js"
Шаблоны где-то должны храниться. БД, файл, или генерироваться. Где-нибудь. Так как в задании не говорится ГДЕ, то можно хранение использовать своё.
Возьмем для примера superbanner.php с текстом:
Тут взят лишь пример, что может храниться шаблон в файле superbanner.php , но не говорится, что там он и должен быть. Снова же "для примера", могли бы взять пример и другой. Где-то хранить надо, я для себя расположил хранение в БД. + выше отписался: "Правда шаблоны не в БД, видимо, а в файлах. ". но разницы никакой где им лежать.
_____________
Обучаю веб-программированию качественно и не дорого:
http://school-php.comФрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
joy_killer
26.06.2014 - 18:01
А какой тогда возвращать код?
glock18
26.06.2014 - 18:06
Цитата (inpost @ 26.06.2014 - 13:48) |
"Имеется множество шаблонов html/js" Шаблоны где-то должны храниться. БД, файл, или генерироваться. Где-нибудь. Так как в задании не говорится ГДЕ, то можно хранение использовать своё. |
Хмм...
Цитата (inpost @ 26.06.2014 - 13:48) |
Возьмем для примера superbanner.php с текстом: |
Хмммммммм...
Цитата (inpost @ 26.06.2014 - 13:48) |
Снова же "для примера", могли бы взять пример и другой |
Хмм... Могли бы, да не взяли. Эдак вольно воспринимать задачи, это уметь надо!
Цитата (inpost @ 26.06.2014 - 13:48) |
"Правда шаблоны не в БД, видимо, а в файлах. ". но разницы никакой где им лежать. |
Очень даже видимо. В задании черным по белому сказано, что это файлы. Не знаю, каким образом superbanner.php мог даже натолкнуть на мысль, что там речь о чем-то другом. А разница есть по следующим причинам, и большая:
1. Заказчику (в данном случае, принимающему задание) важно, чтобы задание было выполнено с использованием озвученных средств. Может быть там вообще нет той либы или СУБД, под которые доблестный разработчик самостоятельно решит "улучшить" реализацию.
2. Работа может выполнять под уже готовое окружение, где уже есть 100500 файлов, и нужна только еще одна функция, которая будет с ними работать. Написать ее под mysql/postgre или любую другую базу просто трата своего и чужого времени.
Невнимательно прочитал задание, и в результате принял некорректное решение по реализации.
glock18
26.06.2014 - 18:15
joy_killer
На вашем месте, я бы задал уточняющий вопрос, по поводу что за код это. Имеют ли они ввиду под этим содержимое файла, и как они представляют получение 50 кодов из файла. То ли там 50 ссылок, как в примере, то ли хз че. В любом случае, задача сформулирована очень плохо, я бы скорее удосужился бы им написать об этом и распрощаться, нежели уточнять что-то.
В целом вариантов, более-менее приближенных к написанному, и имеющих смысл, вижу два:
1. Более корректный:
в файле все переменные (айдишники, надписи и тп) заменены плейсхолдерами (типа %bannerId%) с целью замены их значениями из базы/свойствами объектов. Ни то, ни другое не было озвучено в задании.
2. Вариант тупой:
в файле элементы ссылок повторяются. Тупой потому-что, накладывает ограничение на html, поскольку все баннеры будут парситься одной регуляркой. Надо полагать, регуляркой. Этот более похож на описанное в задании, но в примере не хватает намека на то, что ссылок может быть больше одной.
inpost
26.06.2014 - 18:16
glock18Опять же. У тебя неадекватное восприятие. Тебе лишь бы докопаться до краюшка букв и наплевать на идею. Пусть решит человек с БД, или с файлами, какая разница?
Достать список из БД:
$links = array();
$res = mysqli->query();
while($row = $res->fetch_assoc()) {
$links[] = $row['link'];
}
Или из файла:
$temp = file_get_contents('superbanner.php');
$links = explode('|',$temp);
НИКАКОЙ РАЗНИЦЫ, задача на знание и умение работать в Yii + решение нестандартное как запоминание и вывод данных в процентном соотношении. Всё задание займет в 80-90 строчек кода. Ты прикопался к первым двум на выборку этих самых данных в массив. Глупо же ж!
Я перечитал 100 раз и я не вижу чёткой фразы о том, что перечень кодов лежат именно в одном файле, или в десятках файлов или в БД. В задании не говорится место, где лежат эти самые коды. Ты для себя выдумал в виду того, что не до конца обозначено задание. Но не пиши всех под одну гребёнку, тебе кажется это одним, а другие видят иное.
_____________
Обучаю веб-программированию качественно и не дорого:
http://school-php.comФрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.