Философф;)
Спасибо, Макс, особо улыбнула ссылка про комменты на Stack Overflow. Видео с acts_as_conference 2009 интересное.
Константину, как автору заметки, зачет. Хоть я со многим не согласен, но интересную дискуссию ты поднял. Спасибо.
А мне вот понравилась статья. Толково этот Эван говорит. Спасибо, Янина, за качественный перевод.
У меня такая же (2) проблема. Скорее, времени нет чтобы найти что-нибудь ексклюзивное и написать по этой теме оригинальную статью. Опытом можно делится и без денежного вознаграждения, было бы желание. А без желания — только рушники получаются:) Voituk Vadim2) Отсутствие свободного времени.что ты вкладываешь в фразу «программа делим прибыль сайта себя не оправдывает». Мне интересен опыт, потому как сам бьюсь над тем, что бы заставить людей просто делиться опытом.
2. Отойти от политики эксклюзивности контента.
Я думаю, что если человек захочет поделится с ДОУ заметкой, опубликованной в своем блоге — то это будет очень не плохо. Это, конечно, не значит, что нужно передерать все заметки с Хабры:) А еще, мне кажется, что ДОУ не хватает форума.
>> особенно это актуально для Perl, где написанный код понимает только его автор, и то обычно не дольше 15 минутХватит на Перл то гнать. Если ты Перл видел 2 раза в жизни и чего-то в синтаксисе не понимаешь, то не надо писать что все остальные не понимают своих и чужих исходников. Не хочу разводить тут холивар, но тебе нужно к относится к «не-Питонам» и, соответственно, к людям которые на этих «не-Питонах» пишут с бОльшим уважением.
В свою очередь, хочу поблагодарить Вас, Геннадий и других Авторов за то за время и силы, приложенные на создания замечательного руководства по SilkTest. Это была и есть настольная книга для многих моих коллег.
Уважуха аффтару за многа букафф:)) Но, картинок очень не хватает.
>>, но я не опнял зачем там используется Catalyst: ControllerТаким образом, FormBuilder инициализирует данные формы, которая описывается в.yaml файле. FormBuilder не знает, какой конкретно файл конфигурации формы ему использовать, и узнать он это может только при вызове Экшена. Именно поэтому он и перехватывает sub create_action. >> в Catalyst: Action если я правильно понял сделан для того чтобы >> «прицепить» к объекту $c методы (только не понятно зачем) Точно не могу сказать, возможно он там что-то и цепляет, но точно скажу, что $c — это единственный способ в Каталисте узнать о параметрах текущего запроса. Все данные формы, и другая информация берется из контекста ($c). Свои методы в $c обычно цепляют Плагины, это удобно, когда нужно чтобы какой-нибудь метод был доступен везде, где есть доступ к $c. 3) вот я написал свой класс! >> что мне надо в него добавить, что он вызывался так как >> Catalyst: Controller: FormBuilder>> my $form = $self-> formbuilder, инициализировался сам? и чтобы методы его >> «диспатчизировались» есл ия правильно понимаюЯ бы не советовал делать нечто похожее на FormBuilder. Это сложно и займет уйму времени. Придется перехватывает те же самые create_action и подобные методы, времени это совсем не сэкономит. Если хочется написать что-то свое, то лучше реализовать это как Плагин, а не контроллер. Вот пример: http://search.cpan.org/perldoc...Я сейчас остановился на HTML: FormFu — из тяжеловесов по обработке форм, считаю его лучшим: http://search.cpan.org/perldoc...
С русскоязычной докой увы... не сложилось: (Можете поискать книгу, которая была рекомендована в заметке, с ее помощью можно научится работать с Каталистом без особых знаний английского: очень интересно, просто и понятно написана.
Ну, есть сообщество: http://community.livejournal.c.../ но, оно довольно слабое. Я обычно ищу информацию на англоязычных ресурсах.
>> Can’t locate Catalyst/Plugin/Authentication/Store/DBI.pm in @INCЭто значит, что все таки Catalyst: Authentication: Store: DBI у вас нет.Попробуйте еще раз: $> sudo cpan Catalyst: Authentication: Store: DBIНе забудьте внести этот модуль в Makefile.pl вашего проекта, для того, чтобы он ставился автоматом в будущем. >> чтобы поставить надо знать что такое Session: Store: DBI — это модель, >> контроллер или view? Нет, это Плагин. Он будет работать абсолютно прозрачно, когда вы его настроете правильно. Он самостоятельно будет сохранять Куки и логинить пользователя, когда вы вызовете $c-> authenticate ({name => $name, password => $pass}) >> ЗЫ: каталист с певрого раза не очень понравился, так как все равно >> всё надо переделывать под свои нужны и телепатировать с >> разработчикамиМне тоже, по началу, не понравился. Да, есть немного сложностей и запутанностей. Но, после того как я прочитал книгу, порылся в исходниках проектов на Каталисте — мне стало ясно что, где и как происходит, и как это использовать.Кстати, могу рекомендовать следующие модули, к которым я пришел, перепробовав кучу других: Rose: DB: Object — гениальный ORM, потому что простой, понятный и удобный. http://search.cpan.org/perldoc... FormFu: http://search.cpan.org/perldoc...Увесистый, но очень удобный.
>> ну такое как каталист можно написать на много «ярче» с использованием магии, функции tie>> короче, так какие вы приемущиства увидели от catalyst? я не нашел покаХм..., а что значит «ярче», в вашем понимании этого слова? Преимуществ Каталиста по сравнению с чем? Не совсем понимаю, поэтому отвечу, основываясь на собственных предположениях. Да. Каталист это не простой скриптик, в теле которого обрабатываются данные и запросы к базе данных, реализуется так называемая «бизнес-логика», которая и реализует ту цель, ради которой и задумывалось создания скрипта, и создает HTML отчет. При этом HTML теги мешаются с кодом бизнес-логики и и запросами к БД.Я не говорю, что все такие скрипты плохие. Нет, они могут достаточно легко поддерживаться и эффективно решать поставленную задачу. Такие скрипты не плохие, пока не начинают разрастаться. В конце концов, они могут превратится в мешанину из HTML, SQL и Perl. И я не с неба беру эти слова. Я опираюсь на собственный опыт.Если сравнивать Catalyst с другими существующими Перловыми фреймворками, то все остальные либо слишком молоды (Mojo), либо слишком мертвы (Maypole), либо недостаточно эффективны для решения моих задач (CGI: Application). Кстати, можете посмотреть перечисленных фреймворки, возможно какой-нибудь вам подойдет. Как веб фреймворк, Каталист мне нравится тем, что у него есть довольно активное сообщество. Новые модули для Каталиста обновляются довольно часто, и в принципе, на CPAN можно найти довольно много готовых решений. Я не трачу время на разработку собственных велосипедов. Некоторое время уходит, на то, чтобы разобраться с интересующим меня модулем, но оно в разы меньше, чем если бы я писал что-то с нуля. Каталист дает свободу. Само ядро каталиста (то, что Catalyst-Runtime) содержит минимум библиотечного кода, который не навязывает вам чем нужно пользоваться для работы с БД или рендерить HTML/XLS/PDF. Каталист — это каркас. Удобный объектно-ориентированый каркас для вашего приложения. А то, как я буду работать с данными и какие модули использовать — это уже на мое усмотрение. Мне нравится такая свобода. Я не говорю, что Каталист сверх легкий для изучения фреймворк, и то что он сверх качественно и понятно документирован. Нет. Нужно разбираться, читать мануалы и рыться в исходном коде. Но, оно того стоит. По крайней мере, я в этом уверен.
Я как-то писал у себя в блоге про установку на хостинг, может поможет: Catalyst и shared хостинг под FreeBSDСмысл в том, что нужно собрать все на такой же ОС, и при помощи PAR перенести скомпилированные модули на сервер в локальную lib приложения. У меня под FreeBSD так получилось. Доступ у меня был только по FTP.
Это вспомогательные модули. И документация есть, вот например: http://search.cpan.org/perldoc...По идее, эти CRUD’ы экономят строки кода, но зато они ограничивают программиста в выборе средств валидации формы и работы с БД.
>> какой контроллер отвичает за страницу loalhost: 3000 (без loalhost: 3000/list) не могу найтиCMyApp: Controller: Root и экшен index
А какое отношение имеет perl script/%app%_server.pl —r к режиму CGI? O_OЕго нельзя запускать под CGI, для этого есть script/%app%_cgi.pl%app%_server.pl —r может иногда глючить и не уничтожать соединения после перезагрузки.А чему равно значение max_connections? В my.ini (активный конфиг файл MySQL). Да, такая проблема вполне возможна, ведь в режиме CGI каждому процессу необходимо свое подключение к базе. Так что тут либо нужно либо увеличить max_connections, либо переходить на mod_perl/FCGI, но сначала, нужно убедится, что такая ошибка воспроизводится на нескольких машинах
1) >> зачем писать use base qw (Catalyst: Model);? Так сложилось, что Catalyst: Controller и Catalyst: View содержат дополнительные методы, по сравнению с Catalyst: Component. Catalyst: Model их не содержит. Т.е., по сути это тот же самый Catalyst: Component, но в будущем, набор методов базового класса Catalyst: Model может быть расширен. Именно по этому лучше наследоваться от Catalyst: Model. 2) >> подскажите зачем в некоторых методах ставиться два знака подчеркивания? Все зависит от конкретного автора кода. Скорее всего, это просто такой стиль кодирования. Но, в любом случае, если перед именем метода стоит либо один, либо два знака подчеркивания, это означает, что такой метод является внутренним (приватным) для класса и его не следует вызывать извне.
С открытым исходным кодом есть такой проект: http://handelframework.com/
Так и не прочитал эту статью «Should I Be Worried About Scaling», когда зашел, там была ошибка: «Warning: mysql_pconnect (): Too many connections...» это так должно быть?;)