-Подписка по e-mail

 

 -Поиск по дневнику

Поиск сообщений в lj_ru_perl

 -Постоянные читатели

 -Статистика

Статистика LiveInternet.ru: показано количество хитов и посетителей
Создан: 17.10.2005
Записей:
Комментариев:
Написано: 0

Perl Developer





Perl Developer - LiveJournal.com


Добавить любой RSS - источник (включая журнал LiveJournal) в свою ленту друзей вы можете на странице синдикации.

Исходная информация - http://ru-perl.livejournal.com/.
Данный дневник сформирован из открытого RSS-источника по адресу /data/rss/??8ef01000, и дополняется в соответствии с дополнением данного источника. Он может не соответствовать содержимому оригинальной страницы. Трансляция создана автоматически по запросу читателей этой RSS ленты.
По всем вопросам о работе данного сервиса обращаться со страницы контактной информации.

[Обновить трансляцию]

Быстродействие Perl6

Среда, 29 Марта 2017 г. 15:25 + в цитатник
perl6 -v This is Rakudo version 2017.01 built on MoarVM version 2017.01 implementing Perl 6.c.
perl -v This is perl 5, version 22, subversion 1 (v5.22.1) built for x86_64-linux-gnu-thread-multi
julia -v julia version 0.4.5
python -V Python 2.7.12
pypy -V Python 2.7.10 (5.1.2+dfsg-1~16.04, Jun 16 2016, 17:37:42)
[PyPy 5.1.2 with GCC 5.3.1 20160413]

time perl6 -e 'my $x=0; $x++ while $x < 30000000' real 0m11.016s
time perl6 -e 'my int $x=0; $x++ while $x < 30000000' real 0m0.380s
time perl -e '$x++ while $x < 30000000' real 0m1.321s
time julia -e 'x=0; while x<30000000; x+=1; end' real 0m2.239s
time python -c 'x=0
while x<30000000: x+=1'
real 0m2.824s
time pypy -c 'x=0
while x<30000000: x+=1'
real 0m0.054s

http://ru-perl.livejournal.com/445445.html


Метки:  

Spreadsheet::WriteExcel - как убрать колонтитулы

Понедельник, 20 Февраля 2017 г. 16:12 + в цитатник

Господа, вопрос такой: генериться эксель-файл в формате xls с помощью Spreadsheet::WriteExcel. Надо, чтобы на печати верхний и нижний колонтитулы были равны 0. По умолчанию там стоит 1.3 у верхнего и нижнего колонтитула.
Отступы все "как в образце" сделал с помощью set_margin_...

А вот как указать нулевые размеры для верхнего и нижнего колонтитула. Методы set_header и set_footer задают только их содержимое.

https://ru-perl.livejournal.com/445335.html


Spreadsheet::WriteExcel - как убрать колонтитулы

Понедельник, 20 Февраля 2017 г. 16:12 + в цитатник

Господа, вопрос такой: генериться эксель-файл в формате xls с помощью Spreadsheet::WriteExcel. Надо, чтобы на печати верхний и нижний колонтитулы были равны 0. По умолчанию там стоит 1.3 у верхнего и нижнего колонтитула.
Отступы все "как в образце" сделал с помощью set_margin_...

А вот как указать нулевые размеры для верхнего и нижнего колонтитула. Методы set_header и set_footer задают только их содержимое.

http://ru-perl.livejournal.com/445335.html


Использование модуля с генерируемым "на лету" именем.

Пятница, 03 Февраля 2017 г. 14:03 + в цитатник

Задача такая. Есть ряд модулей, каждый в отдельном PM-файле. Внутри модулей хранится хэш с данными, имя хэша во всех модулях одинаковое %Hash. Причем одновременно может быть загружен не один модуль.
Имена модулей имеют вид
Module_aaa.pm
Module_bbb.pm
Module_ccc.pm
...
В текущий момент я знаю. что мне нужно взять данные из модуля 'aaa' или 'ccc'. С помощью Module::Load я могу загрузить только нужные мне в текущий запуск скрипта модули. Но как мне обратиться к нужному модулю по ключу? Понятно, что напрашивается куча тернарников вида

$value = $key='aaa' ? $Module_aaa::Hash{key} : $key='bbb' ? $Module_bbb::Hash{key} :$key='ccc' ? $Module_ccc::Hash{key} : '';

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

Если знаете, подскажите также вариант для случая, если модуль один, а данные хранятся в нем в хэшах %Hash_aaa, %Hash_bbb и т.д.

P.S. Вариант использовать один сложных хэшей с ключами aaa, bbb, и т.д. очевиден, но тут надо в идеале, чтобы они были разнесены по разным файлам модулей с точки зрения архитектуры проекта.

https://ru-perl.livejournal.com/445049.html


Использование модуля с генерируемым "на лету" именем.

Пятница, 03 Февраля 2017 г. 14:03 + в цитатник

Задача такая. Есть ряд модулей, каждый в отдельном PM-файле. Внутри модулей хранится хэш с данными, имя хэша во всех модулях одинаковое %Hash. Причем одновременно может быть загружен не один модуль.
Имена модулей имеют вид
Module_aaa.pm
Module_bbb.pm
Module_ccc.pm
...
В текущий момент я знаю. что мне нужно взять данные из модуля 'aaa' или 'ccc'. С помощью Module::Load я могу загрузить только нужные мне в текущий запуск скрипта модули. Но как мне обратиться к нужному модулю по ключу? Понятно, что напрашивается куча тернарников вида

$value = $key='aaa' ? $Module_aaa::Hash{key} : $key='bbb' ? $Module_bbb::Hash{key} :$key='ccc' ? $Module_ccc::Hash{key} : '';

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

Если знаете, подскажите также вариант для случая, если модуль один, а данные хранятся в нем в хэшах %Hash_aaa, %Hash_bbb и т.д.

P.S. Вариант использовать один сложных хэшей с ключами aaa, bbb, и т.д. очевиден, но тут надо в идеале, чтобы они были разнесены по разным файлам модулей с точки зрения архитектуры проекта.

http://ru-perl.livejournal.com/445049.html


ищу работу

Среда, 11 Января 2017 г. 17:17 + в цитатник
Привет.

Есть опыт работы с нагруженными системами.
Проектно, по часам, фиксированно, как угодно ~ 500р/час
Удаленно 10-20 часов в неделю. С апреля готов работать в офисе в Москве.

Василий
thecamelsway@gmail.com

https://ru-perl.livejournal.com/444880.html


ищу работу

Среда, 11 Января 2017 г. 17:17 + в цитатник
Привет.

Есть опыт работы с нагруженными системами.
Проектно, по часам, фиксированно, как угодно ~ 500р/час
Удаленно 10-20 часов в неделю. С апреля готов работать в офисе в Москве.

Василий
thecamelsway@gmail.com

http://ru-perl.livejournal.com/444880.html


Форматирование ячеек в таблицах Google

Пятница, 11 Ноября 2016 г. 10:45 + в цитатник
Стоит задача из скрипта Perl сохранять информацию в таблицах Гугла. При этом в зависимости от значений одной из колонок надо изменять фоновый цвет строки.
Я нашел только один работающий модуль для работы с Гугл АПИ - Net::Google::Spreadsheets. Но он позволяет работать только с данными.

Знает ли кто-либо способ, как не только менять данные, но и форматировать их, в частности, менять фоновый цвет?

https://ru-perl.livejournal.com/444477.html


Форматирование ячеек в таблицах Google

Пятница, 11 Ноября 2016 г. 10:45 + в цитатник
Стоит задача из скрипта Perl сохранять информацию в таблицах Гугла. При этом в зависимости от значений одной из колонок надо изменять фоновый цвет строки.
Я нашел только один работающий модуль для работы с Гугл АПИ - Net::Google::Spreadsheets. Но он позволяет работать только с данными.

Знает ли кто-либо способ, как не только менять данные, но и форматировать их, в частности, менять фоновый цвет?

http://ru-perl.livejournal.com/444477.html


Моджо сдох

Четверг, 05 Мая 2016 г. 11:39 + в цитатник
Внезапно с утра обнаружил что помер проект на моджо, рестарт приложения и рестарт nginx не помогло. Снёс nginx, установил заново, воткнул простейшие настройки для моджо проекта:

upstream myapp {
server 91.136.234.5:3002;
}
server {
server_name domen.ru www.domen.ru;
listen 80;
charset UTF8;
index index.html;
root /var/www/domen/public;

location ~* ^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar|swf)$ {
root /var/www/domen/public;
expires 14d;
}
location / {
proxy_pass http://myapp;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto "http";
}
}


обновил моджо:

# mojo version
CORE
Perl (v5.18.2, linux)
Mojolicious (6.61, Clinking Beer Mugs)

OPTIONAL
EV 4.0+ (4.22)
IO::Socket::Socks 0.64+ (0.68)
IO::Socket::SSL 1.94+ (1.965)
Net::DNS::Native 0.15+ (0.15)

This version is up to date, have fun!

перезалил проект, назначил права доступа, запустил проект:

su user, cd /var/www/domen, hypnotoad script/myapp,

получаю: 504 Gateway Time-out.

Проект висит в процессах и слушает порт, смотрю так: netstat -tupnl.

tcp 0 0 91.136.234.5:3002 0.0.0.0:* LISTEN 1459/myapp

Прописалл в iptables:

iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 3000:3050 -j ACCEPT

это помимо того что уже есть правило для 3002 порта,


Что это может быть? Может что-то уже поменялось в фреймворке, пока я картоху сажал? )))

https://ru-perl.livejournal.com/444204.html


Метки:  

Моджо сдох

Четверг, 05 Мая 2016 г. 11:39 + в цитатник
Внезапно с утра обнаружил что помер проект на моджо, рестарт приложения и рестарт nginx не помогло. Снёс nginx, установил заново, воткнул простейшие настройки для моджо проекта:

upstream myapp {
server 91.136.234.5:3002;
}
server {
server_name domen.ru www.domen.ru;
listen 80;
charset UTF8;
index index.html;
root /var/www/domen/public;

location ~* ^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar|swf)$ {
root /var/www/domen/public;
expires 14d;
}
location / {
proxy_pass http://myapp;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto "http";
}
}


обновил моджо:

# mojo version
CORE
Perl (v5.18.2, linux)
Mojolicious (6.61, Clinking Beer Mugs)

OPTIONAL
EV 4.0+ (4.22)
IO::Socket::Socks 0.64+ (0.68)
IO::Socket::SSL 1.94+ (1.965)
Net::DNS::Native 0.15+ (0.15)

This version is up to date, have fun!

перезалил проект, назначил права доступа, запустил проект:

su user, cd /var/www/domen, hypnotoad script/myapp,

получаю: 504 Gateway Time-out.

Проект висит в процессах и слушает порт, смотрю так: netstat -tupnl.

tcp 0 0 91.136.234.5:3002 0.0.0.0:* LISTEN 1459/myapp

Прописалл в iptables:

iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 3000:3050 -j ACCEPT

это помимо того что уже есть правило для 3002 порта,


Что это может быть? Может что-то уже поменялось в фреймворке, пока я картоху сажал? )))

http://ru-perl.livejournal.com/444204.html


Метки:  

Вакансия Perl разработчик Санкт-Петербург

Пятница, 11 Марта 2016 г. 10:49 + в цитатник
Обязанности:
• разработка проекта компании;
• различные интеграционные решения;
• тесная работа с фронт-енд программистом

Требования:
• уверенное знание Perl;
• умение работать с любым из популярных шаблонизаторов (HTML::Template, TT, CTPP и т.д);
• умение работать с PostgreSQL или Mysql;
• умение работать с большим объемом данных, опыт в hbase будет большим плюсом;
• знание JavaScript, HTML, CSS будет существенным плюсом;
• ответственность, инициативность, исполнительность.

Условия:
• офис ст. метро Горьковская в пешей доступности;
• гибкий график работы, возможность работать удаленно;
• работа в крупной российской компании (успешный прибыльный проект);
• зарплата от 100 000 рублей, по результатам собеседования.

Тип занятости:
• Полная занятость, полный день.

Резюме высылайте на почту: comdef@gmail.com

https://ru-perl.livejournal.com/444092.html


Вакансия Perl разработчик Санкт-Петербург

Пятница, 11 Марта 2016 г. 10:49 + в цитатник
Обязанности:
• разработка проекта компании;
• различные интеграционные решения;
• тесная работа с фронт-енд программистом

Требования:
• уверенное знание Perl;
• умение работать с любым из популярных шаблонизаторов (HTML::Template, TT, CTPP и т.д);
• умение работать с PostgreSQL или Mysql;
• умение работать с большим объемом данных, опыт в hbase будет большим плюсом;
• знание JavaScript, HTML, CSS будет существенным плюсом;
• ответственность, инициативность, исполнительность.

Условия:
• офис ст. метро Горьковская в пешей доступности;
• гибкий график работы, возможность работать удаленно;
• работа в крупной российской компании (успешный прибыльный проект);
• зарплата от 100 000 рублей, по результатам собеседования.

Тип занятости:
• Полная занятость, полный день.

Резюме высылайте на почту: comdef@gmail.com

http://ru-perl.livejournal.com/444092.html


Как добавлять бизнес-логику в DBIx::Class?

Воскресенье, 06 Марта 2016 г. 01:09 + в цитатник
Хочу уже не руками модель писать, а как большой. И нигде не могу найти никакой документации -- как расширять модель для DBIx::Class. Ну вот она сгенерирована Schema::Loader'ом. А мне бы туда теперь бизнес-логики. Например, добавить в состояние схемы (туда же, где хендл DBI хранится) текущего пользователя и добавить ВО ВСЕ все селекты проверку владельца объекта, что бы чужого из базы никто запросить не смог, даже если я уровнем выше вдруг ошибусь. Или вот при создании объекта проверить лимиты того же пользователя, можно ли ему создавать. Такое вот разное. Или это предполагатеся делать уровнем выше, т.е. поверх DBIx::Class-модели писать ЕЩЁ ОДИН СЛОЙ и заворачивать каждый объект в DBIx::Class в ещё одну обёртку? Но тогда получается, что DBIx::Class фактически бесполезен!

https://ru-perl.livejournal.com/443844.html


Библиотека (очень специализированный шаблонизатор?) для web-фронтенда?

Среда, 02 Марта 2016 г. 21:35 + в цитатник
Сто лет не писал на perl'е ничего для веба. А тут понадобилось. Когда писал последний раз — писал «рутер» и контроллер руками, шаблоны делал на Template::Toolkit тоже руками. Это было так давно, что Mojo или Dancer'а ещё и в проекте не было, был CGI.pm и Mason. Которые были так ужасны, что руками было проще. AJAX'а тоже не было, модных форнтенд-библиотек не было и всех устраивали формочки сделанные на голом HTML «профессиональным программистом» (в табличках, разумеется), на которые какой-никакой дизайн натягивался через CSS1. В общем, лет 10 назад это было.

А тут потребовалось. Ну ладно, server-side я понимаю — Mojo или Dancer2, сейчас разберёмся.

А вот что делать с фронтом? Нету ли какого-нибудь очень специального шаблонизатора для CRUD-подобных приложений, что бы дизайна и HTML'я и всякого jQuery не делать вообще, а описать СТРУКТУРУ формочек на экранах как-то декларативно (YAML-хуямл, да хоть XML, не важно) и получить непротивно выглядящий фронтенд, с проверкой данных на клиенте, AJAX'ом, и прочими ништяками?

Update: Поясню. Я спрашиваю не про клиентский JavaScript-фреймворк типа React'а или там Angular'а, а про именно что умный генератор фронтенда на бэкенде по декларативному описанию интерфейса. А уж этот генератор может прицеплять в сгенерированный фронтенд хоть Реакт хоть Ангулар хоть чёрта лысого, как ему удобно и что любит автор генератора.

https://ru-perl.livejournal.com/443425.html


locale ubuntu mojo

Среда, 02 Марта 2016 г. 10:56 + в цитатник
Всем привет, то-ли лыжи не едут то-ли я не так делаю.

#locale
LANG=ru_RU.UTF-8
LANGUAGE=ru_RU:en
LC_CTYPE="ru_RU.UTF-8"
LC_NUMERIC=ru_RU.UTF-8
LC_TIME=ru_RU.UTF-8
LC_COLLATE="ru_RU.UTF-8"
LC_MONETARY=ru_RU.UTF-8
LC_MESSAGES="ru_RU.UTF-8"
LC_PAPER=ru_RU.UTF-8
LC_NAME=ru_RU.UTF-8
LC_ADDRESS=ru_RU.UTF-8
LC_TELEPHONE=ru_RU.UTF-8
LC_MEASUREMENT=ru_RU.UTF-8
LC_IDENTIFICATION=ru_RU.UTF-8
LC_ALL=



use DateTime::Format::SQLite;
use locale;
use POSIX qw( locale_h strftime );
setlocale(LC_ALL,"ru_RU.UTF8");

my @stash;

while (my $archive = $rs->next) {

my $dt = DateTime::Format::SQLite->parse_datetime( $archive->postime );

$dt->set_time_zone('Europe/Moscow');

push @stash, $dt->strftime('%B %Y');

}

В результате названия месяцев на английском, а хочется на русском. Куда ещё покопать, что прочесть? Спасибо.

https://ru-perl.livejournal.com/443193.html


Метки:  

Mojolicious Роуты

Вторник, 01 Марта 2016 г. 15:17 + в цитатник
Возникла нужда иметь такие роуты:
$r->get('/blog')->to('blog#index');
$r->get('/blog/:category')->to('blog#show_category');
$r->get('/blog/:category/:id')->to('blog#show');
$r->get('/blog/:year/:month')->to('blog#show_archive');
Разумеется они конфликтуют. Кто и как решает такие проблемы?
Ну и что-бы два раза тему не создавать, видел роуты с регэкспом:

qr|/user/show/(\d+)| -> $self->render(text => $users{$1});

и вот ещё:

$r->route('/uid/:id/',id => qr/\d+/)->to( controller => 'Uid',action => 'index');

Роуты с регэкспами работают? И как? Спасибо.

https://ru-perl.livejournal.com/443038.html


Метки:  

Поиск сообщений в lj_ru_perl
Страницы: 7 [6] 5 4 3 2 1 Календарь