tag:blogger.com,1999:blog-61691606476358119692024-02-20T02:34:30.808+03:00мини-блог xomaкоплю тут всякий хлам, который не влезает в твиттер =) а тумблур мне не понравился =)Андрейhttp://www.blogger.com/profile/11739619502906799781noreply@blogger.comBlogger54125tag:blogger.com,1999:blog-6169160647635811969.post-90940659401248156732010-10-18T12:39:00.002+04:002010-10-18T12:39:49.241+04:00Блог закрыт!Я вдоволь наигрался с Блоггером и решил что лучше своего родного ВордПресса нет ничего!<br />
<br />
Все записи с этого дневника перенесены в мой основной блог <a href="http://andrey.opeykin.ru/">http://andrey.opeykin.ru/</a>. Новые записи будут публиковаться только там =)Андрейhttp://www.blogger.com/profile/11739619502906799781noreply@blogger.com0tag:blogger.com,1999:blog-6169160647635811969.post-77229316063227233522010-10-15T10:21:00.002+04:002010-10-15T10:22:21.236+04:00Linux Mint книга на русском!<div class="separator" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em; text-align: center;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUhB0SMl0-IcpATpUUvTLdIqsGL7T2TK-tSB7Y42hAN8XPnfLvhVMVe_eauVqJSGMJYDDU1OWmeBKtYGn1LWSi6zpZyPvZOSITT8SqmF6ITwARZMB-dV5atf11ev4ibFrLsPteNo2PCInq/s1600/811898.jpg" /></div><br />
Для тех кто интересуется Linux и в частности Mint - думаю будет полезно почитать. <br />
<br />
Я думаю, что книга будет полезна в основном новичкам, хотя возможно и опытные Linux-пользователи смогут почерпнуть что-то полезное.<br />
<br />
<a href="http://www.books.ru/shop/books/811898?partner=punker">купить на books.ru</a>Андрейhttp://www.blogger.com/profile/11739619502906799781noreply@blogger.com0tag:blogger.com,1999:blog-6169160647635811969.post-27907404649086547992010-10-13T16:26:00.000+04:002010-10-13T16:26:37.176+04:00Бывает и такое!Вы используете VirtualBox для разработки ? Прекращайте немедленно!<br />
За два дня этот долбанный VirtualBox 2 раза проебал все мои данные.<br />
А дело происходит вот как: при "жестком" выключении ноутбука (завис пару раз), если в этот момент была запущена виртуалка - ее образ бьется и ВМ работать перестает. <br />
Вот сегодня утром, я так хорошенько "покодил", а после обеда виртуалбокс наебнулся! И все! Приехали! Начинать 6 часовой рабочий день снова!<br />
<br />
Ubuntu 10.10 VirtualBox 3.2.8 ОС на виртуалке - Debian какой-о там.Андрейhttp://www.blogger.com/profile/11739619502906799781noreply@blogger.com0tag:blogger.com,1999:blog-6169160647635811969.post-35323439118660289012010-10-09T08:35:00.000+04:002010-10-09T08:35:23.681+04:00Документация по Mojolicious на руссуом.На этой неделе обновил <a href="http://github.com/xoma/Russian-translate-of-Mojolicious-guides">документацю по Mojolicious на русском языке</a>. <br />
Читаем, редактируем, присылаем патчи <a href="http://github.com/xoma/Russian-translate-of-Mojolicious-guides">http://github.com/xoma/Russian-translate-of-Mojolicious-guides</a>.<br />
<br />
<br />
<br />
Спасибо всем, кто участвовал в переводе! Подробный перечень <a href="http://github.com/xoma/Russian-translate-of-Mojolicious-guides/blob/master/README">здесь</a>!Андрейhttp://www.blogger.com/profile/11739619502906799781noreply@blogger.com0tag:blogger.com,1999:blog-6169160647635811969.post-85914579473801477792010-10-08T22:59:00.000+04:002010-10-08T22:59:10.734+04:00Dancer Perl фреймворк. Презентация.<a href="http://allframeworks.ru/blog/dancer/168.html">Dancer Perl фреймворк. Презентация.</a>Андрейhttp://www.blogger.com/profile/11739619502906799781noreply@blogger.com0tag:blogger.com,1999:blog-6169160647635811969.post-4056772988564830782010-10-08T17:32:00.004+04:002010-10-15T15:56:21.963+04:00Как обновить все Perl-модули за один раз ?Вы следите за обновлением CPAN модулей, которые используются в ваших приложениях ? Нет!?!?<br />
Думаю, не стоит объяснять для чего нужно их обновлять! Вы ведь обновляете свою операционную систему?! Ну да ладно! Речь не о том!<br />
<br />
Для того чтобы узнать список Perl-модулей для которых доступны свежие версии - воспользуемся утилитой <b>cpan</b>, а чем же еще! В консоли вводим: cpan. Откроется <b>cpan shell</b>, в который вводим команду '<b>r</b>', в результате получим список модулей для которых имеются обновления.<br />
Для обновления - просто вводим команду '<b>upgrade</b>' и идем пить чай, переодически поглядывая на консоль, так как процесс обновления может потребовать вашего участия.<br />
<br />
Для обновления конкретного модуля в cpan shell вводим команду:<br />
<br />
<blockquote>upgrade -ИМЯ_МОДУЛЯ-</blockquote><br />
<br />
Не хотите запускать cpan shell...нет проблем - обновляемся из командной строки linux.<br />
<br />
Вводим команду:<br />
<br />
<blockquote><b>perl -MCPAN -e 'CPAN::Shell->install(CPAN::Shell->r)'</b></blockquote><br />
В результате этого все модули будут обновлены (у меня заняло около 30-45 минут).<br />
<br />
<b>p.s. ВНИМАНИЕ! ГЛОБАЛЬНОЕ ОБНОВЛЕНИЕ МОЖЕТ СЛОМАТЬ ВАШЕ ПРИЛОЖЕНИЕ, ЕСЛИ ВЕРСИИ МОДУЛЕЙ НЕСОВМЕСТИМЫ!!!</b><br />
<br />
<code class="prettyprint lang-perl" >use Perl or die;<br />
</code>Андрейhttp://www.blogger.com/profile/11739619502906799781noreply@blogger.com0tag:blogger.com,1999:blog-6169160647635811969.post-76436276423631657262010-10-08T09:37:00.001+04:002010-10-08T09:37:36.328+04:00Обработчик для ссылокКаждый раз когда для ссылки назначается JavaScript-обработчик, необходимо предпринять некоторые дополнительные действия, чтобы страница не "передергивалась".<br />
Отчмечу, что установка атрибута href в значение '#' (href='#') не помогает =(.<br />
<br />
Правильные варианты:<br />
1 JavaScript обработчик должен вернуть false<br />
2 Атрибут href прописать следующим образом: href='javascript:void(0)'Андрейhttp://www.blogger.com/profile/11739619502906799781noreply@blogger.com3tag:blogger.com,1999:blog-6169160647635811969.post-45754122516208565232010-10-06T14:38:00.001+04:002010-10-06T14:39:56.593+04:00Полезность мониторинга ошибки 404Каждый раз, когда передаю свои сайты заказчику или просто выкладываю в онлайн, все время оставляю отсылку email-уведомлений, при возникновении ошибок. В Yii это деалется очень просто. Подробнее <a href="http://www.yiiframework.ru/doc/cookbook/ru/core.development">вот здесь</a>, раздел 'Отсылка ошибок почтой'.<br />
Бывает за одну ночь приходит по 100-150 писем =). Вот что интересного удалось извлечь из этой кучи "спама".<br />
<br />
1 Обязательно в корень каждого сайта добавляйте robots.txt, я часто забывал нем.<br />
2 Обязательно в корень каждого сайта добавляйте favicon.ico,о нем тоже частенько забывают.<br />
<br />
Особенно мне понравились попытки обратится по адресам типа вот таких:<br />
http://mysite.ru/wp-admin/...<br />
http://mysite.ru/showthreads/...<br />
<br />
Очевидно кто-то сканирует сайты на известные cms и форумные движки. <br />
<br />
Сегодня даже было обращение к адресу вида:<br />
<br />
http://mysite.ru/.svn/... <br />
<br />
Так что не забываем в паблик выкладывать не рабочую копию,<br />
а экспортированные исходники (svn export).<br />
<br />
Вот такие дела!Андрейhttp://www.blogger.com/profile/11739619502906799781noreply@blogger.com2tag:blogger.com,1999:blog-6169160647635811969.post-36263553539380954522010-10-05T15:05:00.004+04:002010-10-08T19:02:17.516+04:00Печать фотографий через интернет в НогинскеВ <a href="http://pechat-noginsk.ru/">Ногинске теперь можно заказать печать фотографий через Интрнет</a>.<br />
<br />
Очень удобно! Сам испытал!<br />
<br />
Создал заказ, отправил, пришел и получил =)<br />
<br />
Сайт (по уверению заказчика, это первая версия - "пробочная"), разрабатывался мной, так что, прошу любить и жаловать<br />
<br />
<a href="http://pechat-noginsk.ru/">http://pechat-noginsk.ru/</a><br />
<br />
И да..если найдете ошибку - пишите тоже мне!<br />
<br />
Удачного всем отдыха, хороших впечатлений и фотографий!<br />
<br />
<a href="http://pechat-noginsk.ru/">http://pechat-noginsk.ru/</a>Андрейhttp://www.blogger.com/profile/11739619502906799781noreply@blogger.com0tag:blogger.com,1999:blog-6169160647635811969.post-80465564049475492132010-09-29T12:23:00.001+04:002010-09-29T12:27:28.934+04:00Купил таки читалку...<a href="http://andrey.opeykin.ru/blog/2010/09/29/kupil-chitalku/">купил читалку...</a>Андрейhttp://www.blogger.com/profile/11739619502906799781noreply@blogger.com0tag:blogger.com,1999:blog-6169160647635811969.post-21643690800484281042010-09-27T12:17:00.003+04:002010-09-27T12:17:35.642+04:00Отдам котят в хорошие руки!<a href="http://andrey.opeykin.ru/blog/2010/09/27/otdam-kotyat-v-dobrye-ruki/">Помогите пристроить котят!</a>Андрейhttp://www.blogger.com/profile/11739619502906799781noreply@blogger.com0tag:blogger.com,1999:blog-6169160647635811969.post-31627177669718584842010-09-27T11:01:00.000+04:002010-09-27T11:01:21.600+04:00IBM на помойке!Вот такую вот "тачку" кто-то выбросил вчера =) <br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLQKPQbQDITHteyUn9CVVgzdXHO3gXn6VRUoRDjffH6k1_ll7kqXtEXX_c0Kqnq54mAh1KK5RcHx_T_2YVuVXqGb13gwxMWcUCVqd-ouqTpqUoqQH2eXe_LfNb-_5jCk15eeY2ic0cSCyM/s1600/ibm.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLQKPQbQDITHteyUn9CVVgzdXHO3gXn6VRUoRDjffH6k1_ll7kqXtEXX_c0Kqnq54mAh1KK5RcHx_T_2YVuVXqGb13gwxMWcUCVqd-ouqTpqUoqQH2eXe_LfNb-_5jCk15eeY2ic0cSCyM/s320/ibm.jpg" width="240" /></a></div>Андрейhttp://www.blogger.com/profile/11739619502906799781noreply@blogger.com0tag:blogger.com,1999:blog-6169160647635811969.post-38928484935045081822010-09-14T23:51:00.002+04:002010-09-14T23:51:13.436+04:00Я в отпуске!Улетаю в отпуск!Андрейhttp://www.blogger.com/profile/11739619502906799781noreply@blogger.com0tag:blogger.com,1999:blog-6169160647635811969.post-88572530190850884552010-09-13T23:45:00.001+04:002010-09-13T23:46:52.388+04:00Поправил мелкие баги на sprosiotvechu.ru<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhk_ggVKQ4KWNKj_8Hh0FGyZuWD1XPCKrXrM6iXDO-h7Pd-nIt-3jMEdOKYLoxZDC059ibj4ClXApbeq62fRZNWj95PnHExwIqRMmfZBVqcsohNaQfG3AeYHv2sKbqY-5vdZLXoAltzE1DV/s1600/100%D1%85100.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhk_ggVKQ4KWNKj_8Hh0FGyZuWD1XPCKrXrM6iXDO-h7Pd-nIt-3jMEdOKYLoxZDC059ibj4ClXApbeq62fRZNWj95PnHExwIqRMmfZBVqcsohNaQfG3AeYHv2sKbqY-5vdZLXoAltzE1DV/s320/100%D1%85100.jpg" /></a></div>На сайте <a href="http://sprosiotvechu.ru/">SprosiOtvechu.ru</a> исправил некоторые мелкие баги.<br />
После того как вернусь из отпуска, возьмусь серьезно за этот проект.<br />
Есть куча идей, которые хочется реализовать.<br />
А на то, что уже есть аналоги - нам наплевать =) Много, ведь не мало =)<br />
<br />
п.с. Если будут предложения или замечания - пишите мне!Андрейhttp://www.blogger.com/profile/11739619502906799781noreply@blogger.com0tag:blogger.com,1999:blog-6169160647635811969.post-24038007609665369662010-09-11T14:36:00.001+04:002010-09-11T14:37:37.585+04:00Django или не Django !?Почти закончил выполнять тестовый пример из Django туториала, все понравилось, я почти проникся Жангой. <br />
Но тут наткнулся на горячее обсуждение вот такого <a href="http://softwaremaniacs.org/forum/django/23887/">вопроса</a> http://softwaremaniacs.org/forum/django/23887/. Стало интеренсо =) ! <br />
<br />
Ради интереса зашел в <a href="http://code.djangoproject.com/">баг-треккер</a> Жанги и...ооо ужас! Некоторые тикеты висят вот уже <b>4-5 лет</b>!<br />
<br />
Например вот <a href="http://code.djangoproject.com/ticket/2504 ">этот</a> http://code.djangoproject.com/ticket/2504 !<br />
<br />
Неужели все так плохо !? Или я просто чего-то не понимаю ?Андрейhttp://www.blogger.com/profile/11739619502906799781noreply@blogger.com1tag:blogger.com,1999:blog-6169160647635811969.post-21267730095668729502010-09-10T17:19:00.000+04:002010-09-10T17:19:56.904+04:00Django is a business ?<blockquote>We're in the business of making Web frameworks, not Web servers.</blockquote><br />
Ну вот =(! А если бизнесс рухнет, то и Жанге хана ?Андрейhttp://www.blogger.com/profile/11739619502906799781noreply@blogger.com0tag:blogger.com,1999:blog-6169160647635811969.post-82150356087413847642010-09-10T14:23:00.000+04:002010-09-10T14:23:32.540+04:00Catalyst и перегенарция моделей DBIx::CLASSКак бы не ругали <b>Catalyst</b>, а тем более <b>Perl</b> - все же это очень удобные инструменты!<br />
<br />
Взять только одну перегененрацию моделей!<br />
<br />
Подробнее <a href="http://www.yiiframework.ru/forum/viewforum.php?f=3">тут</a>Андрейhttp://www.blogger.com/profile/11739619502906799781noreply@blogger.com0tag:blogger.com,1999:blog-6169160647635811969.post-983924062441777802010-09-10T14:17:00.002+04:002010-09-10T14:21:27.940+04:00Django urlЧитаю документашку по Жагне =) Буду постить то, что запомнилось!<br />
<br />
<blockquote>Finally, a performance note: these regular expressions are compiled the first time the URLconf module is loaded. They're super fast.</blockquote>Андрейhttp://www.blogger.com/profile/11739619502906799781noreply@blogger.com0tag:blogger.com,1999:blog-6169160647635811969.post-17257991049541484032010-09-09T09:34:00.000+04:002010-09-09T09:34:31.402+04:00Perl. Как узнать версию модуля ?Вот один из вариантов:<br />
<br />
<b>perl -MMojo -e 'print Mojo->VERSION'</b><br />
<br />
Здесь <b>Mojo</b> - название модуля, версию, которого мы хотим узнать, его с успехом можно заменить на CGI или что-то еще.Андрейhttp://www.blogger.com/profile/11739619502906799781noreply@blogger.com0tag:blogger.com,1999:blog-6169160647635811969.post-3158921925853977022010-09-09T08:08:00.002+04:002010-09-09T09:41:12.302+04:00Как запустить Catalyst приложение в отладочном режиме и не перезапускать при изменении файлов<b>./script/myapp_server.pl -r -d</b><br />
<br />
<b>./script/myapp_server.pl --help</b> - покажет много других полезных опций<br />
<br />
В данном примере приложение называется MyApp.Андрейhttp://www.blogger.com/profile/11739619502906799781noreply@blogger.com0tag:blogger.com,1999:blog-6169160647635811969.post-71742144031793248392010-09-08T16:50:00.006+04:002010-09-09T09:35:26.116+04:00Изучаем Perl. Упражнения к главе 3.Перечитывая в 3-ий раз "<b>Изучаем Perl</b>" решил пройтись по всем упражнениям, которые там приводятся. Бубликую здесь свои варианты решения.<br />
<br />
п.с. Парсер блогера вырезает строку STDIN, заключенную в знаки <> =(<br />
<br />
<br />
1.<br />
<pre class='prettyprint'>use strict;
use warnings;
use 5.010;
say 'Enter some lines!';
my @lines = 'STDIN'; # STDIN в ><
@lines = reverse @lines;
say "Reversed lines is @lines";
</pre>
2.
<pre class='prettyprint'>use strict;
use warnings;
use 5.010;
my @names = qw/Perl Php Python Ruby C++ C Shell/;
say 'Enter some numbers:';
chomp(my @numbers = 'STDIN'); # STDIN в ><
say 'You favorite languages is:';
foreach(@numbers){
say $names[$_] if $names[$_];
}
</pre>
3.
<pre class='prettyprint'>use strict;
use warnings;
use 5.010;
say 'Input some strings!';
chomp(my @strings = 'STDIN');
@strings = sort @strings;
say "Sorted strings is: @strings";
</pre>Андрейhttp://www.blogger.com/profile/11739619502906799781noreply@blogger.com0tag:blogger.com,1999:blog-6169160647635811969.post-75592296127873842452010-09-06T12:51:00.003+04:002010-09-06T12:52:48.427+04:00jQuery создаем фильтрыКороткий и простой видео-ролик о том, как создавать фильтры в <b>jQuery</b>.<br />
<br />
<a href="http://net.tutsplus.com/tutorials/javascript-ajax/quick-tip-dissecting-jquery-filters/">http://net.tutsplus.com/tutorials/javascript-ajax/quick-tip-dissecting-jquery-filters/</a><br />
<br />
Особенно запомнилась проверка на "пустоту" объекта в <b>JavaScript</b>:<br />
<br />
<pre class='prettyprint'>var data = {}; // создаем объект
for(var i in data) return true;
// если входим в цикл - значит что-то есть в объекте
</pre>Андрейhttp://www.blogger.com/profile/11739619502906799781noreply@blogger.com0tag:blogger.com,1999:blog-6169160647635811969.post-83993403995469888642010-09-02T15:38:00.001+04:002010-09-02T15:40:14.922+04:00Perl. Восстановление переменной в цикле<pre class='prettyprint' >use strict;
use warnings;
use 5.010;
my @languages = qw/Perl PHP Ruby/;
my $lang = 'Python';
foreach $lang (@languages){
say $lang;
}
say '===========Loop is end!==========';
say $lang;
</pre><br />
В результате получим:<br />
<blockquote>Perl<br />
PHP<br />
Ruby<br />
===========Loop is end!==========<br />
Python</blockquote><br />
Таким образом Perl, при входе в цикл foreach сохраняет значение управляющей переменной, а после выхода из цикла восстанавливает ее.<br />
Кроме того при модификации управляющей переменной - меняется и элемент массива:<br />
<br />
<pre class='prettyprint'>use strict;
use warnings;
use Data::Dumper;
use 5.010;
my @languages = qw/Perl PHP Ruby/;
my $lang = 'Python';
foreach $lang (@languages){
$lang = "$lang is cool!" if $lang eq 'Perl';
say $lang;
}
say Dumper(\@languages);
</pre><br />
Получим:<br />
<blockquote>Perl is cool!<br />
PHP<br />
Ruby<br />
$VAR1 = [<br />
'Perl is cool!',<br />
'PHP',<br />
'Ruby'<br />
];</blockquote>Андрейhttp://www.blogger.com/profile/11739619502906799781noreply@blogger.com0tag:blogger.com,1999:blog-6169160647635811969.post-10579042295352273272010-09-01T23:20:00.002+04:002010-09-01T23:21:42.180+04:00Perl VS PHP холиваримКоллега сегодня изрек. Расшифровка "ПХП": <br />
<br />
<blockquote>'Пхп - Хуевый Перл'</blockquote><br />
p.s. языки можно поменять местами, кому как больше нравится =)<br />
p.p.s Можно и Питон сюда вкорячить.Андрейhttp://www.blogger.com/profile/11739619502906799781noreply@blogger.com0tag:blogger.com,1999:blog-6169160647635811969.post-30786897496909699712010-08-30T15:43:00.001+04:002010-08-30T15:43:30.904+04:00Yii хотелки и меньше лапше-кодаДовольно часто, при работе с сессией в Yii, приходится писать код вот такого плана:<br />
<br />
<pre class='prettyprint'>$nickName = Yii::app()->user->getState('nickName');
$accessLevel = Yii::app()->user->getState('accessLevel');
.........................................................
</pre><br />
Аналогично и при установке этих значений.<br />
<br />
<br />
Было бы здорово иметь возможность передавать методам <b>getState</b> и <b>setState</b> массив параметров:<br />
<br />
<pre class='prettyprint'>$data = Yii::app()->user->getState(array(
'nickName',
'accessLevel'
));
</pre><br />
или<br />
<br />
<pre class='prettyprint'>Yii::app()->user->setState(array(
'nickName' => 'xoma',
'accessLevel' => 'superAdmin'
));
</pre>Андрейhttp://www.blogger.com/profile/11739619502906799781noreply@blogger.com0