ghost28

Рейтинг
62
Регистрация
27.10.2009

Это обычно делается через классы. Два класса описывают .on и .off, которые позиционируют спрайт, а JS по нажатию делает что-нибудь вроде


$('.toggler').click(function(){
$(this).toggleClass('on').toggleClass('off');
// какая-нибудь связанная логика
})

Ladycharm, Леди, а у вас нет маленького-маленького проектика, раз уж пошла такая пьянка? Так ведь интереснее.

А если нет - пойдемте в ветку маршрутных сайтов, у них там и самопис, и задача интересная (ну, может, не для Арбита), и людям добро сделаем.

spbs:
А обычный рядовой человек будет визуально расставлять модули и как-то говорить системе, что он хочет получить. Упрощенная аналогия: паскаль-делфи

Вы даже не представляете как близко вы попали. Это, кстати, не будущее, а прошлое - я имел удовольствие баловаться с софтиной, которая поверх библиотек дельфи и компилятора фри паскаля, именно как вы описываете, блоками с входом-выходом, позволяла собирать приложения. Жаль не помню как называлась.

Эти инструменты вряд ли когда-нибудь достигнут уровня гибкости, нужного чтобы составить конкуренцию для нетривиальных задач, но для простых - Wix и Muse потихоньку отъедают свои кусочки пирога.

spbs:
Меня, в первую очередь, тронула Ваша фраза об экранировании sql-запросов. Разве простой mysql_real_escape_string(), которая возможно в будущем устареет, для этого не достаточно?

Упрощенно - достаточно, и это именно то, почему разговоры о том как замечательно для типовых задач писать с нуля, трогают меня - даже такую мелочь реализуют крайне редко. Валидация, миграции БД - о чем вы?:)

ArbitHome:
работаю я. понимаете?

Ну что ж непонятного, там идея большая, с наскоку не написать в блокноте. Ждем.

ArbitHome:
я уже писал, что скучновато как то.

Вы утверждали что умеете не только читать, но и вникать в суть, за сим:

ghost28:
Кроме шуток, если у вас (или кого-либо еще) есть задачка поинтереснее - прошу в студию. Если есть достаточно маленький проект, подразумевающий оплату - тем веселее.

Не вижу ТЗ от вас.

===

ArbitHome:
Задача не для ВЕЛИКИХ фреймворков, они же способны на большее))) Так вроде писалось?

Писалось что фреймворки помогают тратить намного меньше времени на рутину, не относящуюся к решению задачи. И флудить, пожалуйста, в другой ветке.

===

Хотите, упростим для ясности, вот так:

Разработать приложение, которое

- по /say/[arg1]/[arg2]/[arg3]/[arg4] отдает случайно выбранный аргумент из четырех переданных;

- по /say/something отдает последнюю отданную по предыдущему пути фразу;

- по /math/[arg1][arithmetic_operator][arg2] отдает результат выбранного арифметического действия между первым и вторым аргументом;

Просто, быстро, наглядно - и прям как вы желаете, можно выполнить полностью. Засеките, сколько времени уйдет от начала работы, то выкладывания на хостинг. Поделитесь результатами. Идёт? :)

И я честно-честно такую задачу никогда раньше не выполнял, и выполнять не начинал :)

TF-Studio:
отладка и тесты тут пожрут 80% времени.
подводных камней в таких сервисах навалом всплывает
сугубо имхо

Вы сугубо правы. Но это актуально касательно задачи полного выполнения продукта, и полной проверки.

Я бы хотел увидеть, что можно сделать на разных инструментах, за короткий фиксированный отрезок времени - что, согласитесь, задача совершенно другая. Да, это не идеально. Но и мы, увы, живем в не идеальном мире.

И, увы, Арбит увиливает, ЛивТВ молчит, и мы, похоже, останемся тут без соучастников :)

ArbitHome:
Это ТЗ ты мог уже месяц обрабатывать) Я же предлагаю все по честному. Ты делаешь мое задание. Я твое. Я на РНР ты на фреймворке. Так думаю все согласятся что честно)

А смысл? Если кому-то нравится игра "поставь нереальную задачу которую сам не захотел бы делать" — я могу выкатить новое ТЗ. Только радость в чем? Что с чем сравнивать будем? Бульдога с носорогом? В вакууме? :)

ArbitHome:
вот лично я тебе не верю, как не верю ни одному "программисту" работающему с фреймворками.

Тем более. Выкатите вы, сударь, нереальное по вашим меркам задание. Я его выполню. И бам - вы не поверите. Даже не буду угадывать, какую причину из пальца высосете. И знаете что — это не новость, или вы думаете что я случайно писал:

ghost28:
Контроль:
- всем пофиг. Если вы пыхтели две недели круглые сутки - отлично. Если вы купили готовый скрипт аукциона у Васи Сеопупкина и подговнокодили чтобы стало вообще зашибись - замечательно. Но ради здравого смысла и интереса - так делать не надо. Лады?
ArbitHome:
если конечно уверены что справитесь на фреймворке за 36 часов

И с какой радости мне торчать 36 часов за непонятно чем? Тем более, выкладывать их за три дня? Вы, верно, шутите.

spbs:
А что мешает сделать передачу переменных в шаблон в самописе? А в шаблонах, лежащих в отдельной папочке, прописывать {content}, {title}, использовать вложенные шаблоны, классы.

Ничего не мешает. Но из десяти самописов, с которыми я так или иначе сталкивался, только в одном это использовалось. И этот один был написан мной - шесть лет назад я тоже таким баловался.

Из трех-четырех десятков решений на фреймворках, прошедших через мои руки, я видел одно решение, написанное погромистами, которое было действительно плохо. И видел одно, качеству которого я до сих пор завидую. Причина - набор элементарных решений и правил, которые не дают стрелять себе в ногу.

Написать свой фреймворк хотя бы на "нормально" никто не мешает, но при этом — почти никто не пишет и так. Почему? Да банально, программистам интересно заниматься созданием приложений, а не прочесыванием-вылизыванием обвязки. А после связыванием с модулями. Обновлением хотя бы когда прижмет - а технологии не стоят на месте. Программистам платят деньги — а жрать-то надо — за продукт, а не за обвязку. И если уж появилось непреодолимое желание поковыряться и прилизать ядро — это можно сделать для того фреймворка, который лег в руку.

Гоняться на своих двоих с машиной - даже для профессионального спортсмена занятие бесперспективное. Как и самому тянуть вещи, которые изобретены, написаны, и продолжают развиваться. Мы живем в волшебное время, когда другие люди работают для нас абсолютно даром. Не пользоваться этим ради экономии на чтении документации - конечно личный выбор каждого. Но это должен быть осознанный и чем-то подкрепленный выбор.

Тем более, это крайне сомнительный выбор для сайтов со стандартными требованиями к ядру фреймворка - даже если заказчик не оплачивает труды по организации и поддержке самописного ядра (а кто их тогда оплачивает?), в нагрузку он неизменно получает неизвестный более никому, недокументированный, необновляемый пакет. Его единственный разумный выбор после этого - молиться, молиться трепетно и усердно, чтобы ему никогда не понадобилось дописывать функционал — ибо в этом случае новый исполнитель как минимум потеряет приличное дополнительное время на изучение доставшихся ему подарков, дополнительное время на приспособление к ним новых модулей, и время на то чтобы разгрести внезапные подводные камни, которые были логичны и очевидны для автора.

livetv:
Я говорил, что у них унылая документация, не перекручивайте.

Хм, я был абсолютно уверен что вы писали о том, что разработка на фреймворках дороже именно из-за этого. Прошу прощения если был не прав. Лень шерстить тему.

На счет тупости документации - не знаю. Вроде вполне понятно выглядит. http://laravel.com/docs/5.1/database . Или тупость означает что-то иное?

livetv:
Я цитировал вроде такого

Занятный пример, чудной. Откуда вы его откопали? Выглядит как отрисовка вьюхи, и - чтобы не с потолка - вот как это делается обычно:


return view('greeting', ['name' => 'James']);
livetv:
Только инфраструктура фреймворка немного тупорылая.

Ну, я на прошлой неделе тут один самопис помогал починять, и что сказать. У самописов все прозрачно. Вот файл. Вот в нем логика. Вот в нем обработка данных. Вот в нем вывод шаблона. Да, в PHP коде. Да, а вот тут мы добавим одинаковую функцию в каждый файл, чтобы сразу видно было, что используется. Все просто, понятно, в одном месте.

А в этих тупорылых фреймворках модели в одной папке, контроллеры в другой, отображение в третьей - черт ногу сломит.

livetv:
И никаких модулей он не несет в себе.

ORLY?! То есть нельзя взять модуль и подключить? Вот беру случайный фреймворк, и нет у него ни каталога модулей, ни админки, ни хлебных крошек — ничего, словом. И это ничего никак нельзя сохранить, чтобы для стандартных задач потом использовать набором. Бедные люди, в общем.

По секрету, даже то что в коробке - модули. Роутинг, БД, шаблонизаторы - все модули, и все заменяемо. Вы выше приводили симфони - их гибкость мне поперек горла, и кажется не слишком удобной, но уж в ней-то просто невозможно не заметить модулей — там, пардон, две инструкции: на модуль абстракции БД Doctrine, и модуль Propel.

---------- Добавлено 18.11.2015 в 13:57 ----------

ArbitHome:
По сей день нет общепризнанного определения ООП

o_O

>Набранное вами сообщение слишком короткое. Увеличьте ваше сообщение до 10 символов.

imagine:
тратить на подобное скучное задание

Кроме шуток, если у вас (или кого-либо еще) есть задачка поинтереснее - прошу в студию. Если есть достаточно маленький проект, подразумевающий оплату - тем веселее.

Я просто написал первое что пришло в голову - задачка, вроде, достаточно стандартная, умеренно сложная. Негде всерьез застрять, но есть где поэкспериментировать.

Лично я планирую участвовать для разминки и так — давно хотел освежить навыки верстки и ангуляра. Да и если потом пригладить - можно в портфолио засунуть, а то за 7 лет работы там кроме NDA мало что наскрести можно :)

ArbitHome:
Переиспользовать свои наработки можно?

Читайте топик. Я против готового скрипта аукциона, но за переиспользование обвязки: у вас самопис с устоявшимся набором модулей для роутинга, абстракции БД и шаблонизации? Всегда пожалуйста.

ArbitHome:
Жди выходных и готовь новое ТЗ, но и ятебе приготовлю ТЗ

А зачем его готовить? Вон оно лежит, в первом топике. И зачем нам два ТЗ? В чем смысл и интерес?

SeVlad:
Ты же понимаешь, что в реальном проекте 60-90% работы как раз это самое вылизывание.

Я же понимаю, но, как писал imagine, даже 8 часов - уже вполне внушительная цифра.

SeVlad:
Будет потёмкинская деревня, вид из далека.

Можно вид приблизить, если участники не постесняются показать свой код.

Но на самом деле, предполагается что мы тут все по честноку будем делать, без хитростей.

Конечно, можно писать это две недели круглосуточно, или даже команду подключить для показухи - но зачем? По той же причине никто не будет контролировать "честность" исполнения - никому особо не надо.

SeVlad:
Зы. ссылочку надо в стартпост на флеймотопик. Добавить?

Да, было бы неплохо. Наверное, даже самой первой строкой, чтобы тут не начались дебаты.

Всего: 246