Досить давно видалив акаунт Linkedln та не планую заводити знов. Чи можна якось підтвердити без Linkedln, наприклад через Github?
Но хочу привести и другой пример, когда сформированое совместно ТЗ в процессе разработки продукта притерпивает изменения со стороны разработчика, потому что неукладывается в срок. И заказчику дется некуда, его тоже сроки жмут, работать надо.
В.tt за < input> съелась строчка с div
<'div class="auto_complete" id="complete_author_auto_complete"><'/div>
Как то совсем обходят стороной технологию Ajax, имею ввиду документацию и туториалы. В частности нашел небольшой пример с использованием Catalyst: Plugin: Prototype. Возможно этот пример кого то побудит к созданию приличного туториала для Catalyst. Для начала добавляем в проект скрипты, это если мы их захотим подгружать статистически:
./script/MyApp_create.pl Prototype
Подключаем плагин в lib/MyApp.pm
use Catalyst qw/
...
Prototype /;
в root/какойнить.tt добавляем следующий текст содержащий наше магическое поле ввода, предположим это строка ввода отражающая «автора» чего нибудь
<form>
[% c.prototype.define_javascript_functions # Добавляем необходимые скрипты %]
[% c.prototype.auto_complete_stylesheet # и стили для организации выпадающего списка %]
<input autocomplete="off" id="complete_author" name="complete_author" type="text">
[% url = base _ 'proto/suggest' %]
[% c.prototype.auto_complete_field( 'complete_author', { url => url } ) %]
</form>
Создаем контролер, к которому будем обращаться за списком
./script/test_create.pl Controller Proto
в lib/MyApp/Controller/Proto.pm создаем обработчик запроса по первым введенным символам в наше поле. На основании введенной последовательности создается запрос like к нашей базе данных и формируется список. Список передается браузеру для формирования выпадающего списка.
sub suggest : Local {
my ( $self, $c ) = @_;
my $complete_author = $c->req->params->{complete_author};
my @suggestions;
my $rs = $c->model('DBIC::Journal')->search({ author => { 'like' => $complete_author . '%' }});
while (my $row = $rs->next) {
push(@suggestions, $row->author);
}
$c->res->body($c->prototype->auto_complete_result(\@suggestions));
}
вуаля, вводим первые символы и выпадающий список предлагает нам найденные в базе варианты, магия аля google-поиск стала доступна!
Может мои пять копеек и не кмест, но у меня заработало под apache2 с FastCGI
<VirtualHost myhost:80>ServerName myhostErrorLog /var/log/apache2/myhost-error_logCustomLog /var/log/apache2/myhost-access_log commonDocumentRoot "/var/www/myapp/root"Alias /static /var/www/myapp/root/staticFastCgiServer /var/www/myapp/script/budget_fastcgi.pl -processes 3Alias / /var/www/myapp/script/budget_fastcgi.pl/<Directory "/var/www/myapp/root">Order allow,denyAllow from all</Directory><Directory "/var/www/myapp/script">Order allow,denyAllow from all</Directory></VirtualHost>но есть одна проблемма, myapp_fastcgi.pl вывод (stderr) перенаправляет в ErrorLog. Как бы отключить засерание лога, но покрасивее.
шарясь по интернет много нелестного прочитал про плагин Unicode, но без конкретики. Прикрутив к своему проекту I18N (интернационализацию) столкнулся с проблемой двойного перекодирования шаблона в случае русской локали (возможно это связано с локалью системы по умолчанию). выглядит это так — в конфиге:
# Currently supported locales<localization> en English ru Русский uk Українська</localization>далее TT шаблон из конфига создает симпатичную менюшку наподобии wikipedia. Да вот незадача, когда нахожусь в ru-локале получаю двойное кодирование шаблона в utf-8. страдает только эта самая менюшка. Пока запускал через app_server.pl, возможно апач это выличит, но глюк налицо. Может кто сталкивался?
ларчик просто открывается -разобрался как убрать дебаг-информацию при запуске myapp_fastcgi.plнеобходимо из lib/myapp.pm удалить -Debug
Маючи менеджерський досвід відчуваю що до багатьох речей дійшов самостійно, але також бачу що дуже багато пробілів та не вистачає психології загалом.
З чого почати?
Хто і де проводить такі курси для починаючих цей шлях?