?

Log in

No account? Create an account
Perl Developer's Journal
 
[Most Recent Entries] [Calendar View] [Friends]

Below are the 20 most recent journal entries recorded in Perl Developer's LiveJournal:

[ << Previous 20 ]
Saturday, October 13th, 2018
10:59 am
[zupernintendo]
есть ли pure perl http клиент с поддержкой https ?

http::tiny зависит от Net::SSLeay - который бинарный


пока использую консольную утилиту curl



Sunday, October 7th, 2018
9:27 am
[zupernintendo]
как прочитать .env ?

формат файла .env обычный, например:


DEPLOY_DB="test1"


DEPLOY_USER="111"


DEPLOY_PASSWORD="111"


есть какойто модуль чтоб загрузить файл и переменные получить в скрипте perl в $ENV['DEPLOY_DB'] и т.д.


или это можно сделать средствами perl?

Monday, October 1st, 2018
8:34 am
[zupernintendo]
аналог php composer - что есть?

есть ли? — чтоб ставил в локальную папку проекта и подключая некий autoloader-файл в скрипте я мог использовать модули без необходимости установки через cpan и т.п.?


т е деплой осуществляется просто копированием на систему с установленным perl определенной версии и стандартными модулями 

8:28 am
[zupernintendo]
как проверить что модуль бинарный (чтото компилирует)

как проверить что модуль бинарный  (чтото компилирует ) ?


например мне нужны модули реализованые на perl без требований к компиляции -


как проверить что модуль не годится?

Tuesday, September 4th, 2018
8:16 am
[zupernintendo]
Разработка коммерческого продукта на perl5 - как способ защиты от копирования

что вы думаете об этом?
к примеру пишем на го/php/java или другом простом понятном языке — все просто и понятно где надо взяли скопировали и поменяли код.
а если пишем на перл — разработчиков мало, язык сложный и архаичный. на тех поддержке и кастомизации зарабатывать можно неплохо наверное? 

Saturday, August 25th, 2018
5:34 pm
[zupernintendo]
потоковый POST запрос

что есть готового чтоб сделать потоковый запрос


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


т е вместо строки передавать обработчик который будет отдавать данные по частям или файловый handler


желательно не тащить либ с кучей звисимостей или бинарных модулей не стандартных

Friday, August 24th, 2018
4:24 pm
[unera]
а кто Mouse знает?
Чего хочется.

Хочется тегов (или хеша) к аттрибутам.

например



package Foo;
use Mouse;

has a => is => 'ro', isa => 'Str', tags => [ 'json' ];

__PACKAGE__->meta->make_immutable;



Ну и далее в методах сериализации (например) можно было бы попросить у meta список атрибутов и отбросить те которые не имеют заданного тега.

В данном примере на стадии has мы бы указали что сериализатору json можно сериализовывать этот атрибут.


я тут покопал как делаются расширения MouseX, но чет не вкуриваю откуда начинать вообще раскапывать сие.

есть у кого под рукой рабочий пример как добавить свою опцию в атрибут?

всех с пятницей!
Sunday, March 4th, 2018
4:41 pm
[zupernintendo]
а есть компиляторы в бинарник

знаю есть perl2exe и pp но это по сути к интерпретатору прикрепляет сорцы


а есть полноценные?


чтоб както преобразовал в с/c++ и потом через gcc скомпилил (через mingw для винды)


ближайшие аналоги - у python есть Nuitka,  Nim, haxe

Tuesday, February 6th, 2018
2:24 am
[dp_z]
Поздравляю товарищи!

Вышел новый релиз perl6 Rakudo Star 2018.01.
И простейший тест из цикла со сложением целых: $s+=$x++ while $x < $y; стал работать быстрее чем в perl5.

Поздравляю товарищи!

Monday, January 1st, 2018
11:38 am
[zupernintendo]
perl11

http://perl11.org/


насколько юзабельно и стабильно?

Saturday, August 12th, 2017
1:30 am
[dp_z]
MoarVM performance

=================1=====================
$time perl -e 'my $x=0; $x++ while $x < 300000000; print $x;'
300000000
real 0m12.047s
user 0m12.040s
sys 0m0.000s
=================2=====================
$perl6 -v
This is Rakudo version 2017.07 built on MoarVM version 2017.07
implementing Perl 6.c.
=================3=====================
$time perl6 -e 'my $x=0; $x++ while $x < 300000000; print $x;'
300000000
real 0m46.730s
user 0m46.664s
sys 0m0.024s
=================4=====================
$time perl6 -e 'my Int $x=0; $x++ while $x < 300000000; print $x;'
300000000
real 0m46.925s
user 0m46.840s
sys 0m0.028s
=================5=====================
$time perl6 -e 'my int $x=0; $x++ while $x < 300000000; print $x;'
300000000
real 0m2.390s
user 0m2.356s
sys 0m0.028s
=================6=====================
$time perl6 -e 'my uint $x=0; $x++ while $x < 300000000; print $x;'
300000000
real 0m12.103s
user 0m12.060s
sys 0m0.020s
=================7=====================
$time perl6 -e 'say (1..300000000).elems'
300000000
real 0m0.165s
user 0m0.144s
sys 0m0.020s
=================8=====================
$time perl -e '$s+=$x++ while $x < 30000000; print $s;'
449999985000000
real 0m2.336s
user 0m2.332s
sys 0m0.000s
=================9=====================
$time perl6 -e 'my int $x=0; my int $s=0; $s+=$x++ while $x < 30000000; say $s;'
449999985000000
real 0m17.609s
user 0m16.640s
sys 0m0.948s
=================10=====================
$time perl6 -e 'my uint $x=0; my uint $s=0; $s+=$x++ while $x < 30000000; say $s;'
449999985000000
real 0m21.325s
user 0m20.320s
sys 0m0.964s
=================11=====================
$time perl6 -e 'say [+] 1..29999999'
449999985000000
real 0m0.164s
user 0m0.124s
sys 0m0.036s

Мораль:  элементы быстродействия присутствуют, но странностей много (5 vs 6 и 8 vs 9)
Tuesday, June 20th, 2017
1:22 pm
[ignik]
вот как бывает:
#!/usr/bin/perl -w
use strict;

print ";-)\n" if "foo" =~ //;
"bar" =~ /bar/;
print ":-(\n" if "foo" =~ //;
Tuesday, April 4th, 2017
5:17 pm
[gul_kiev]
print 100.101.102
Почему perl -e 'print 100.101.102' выводит 'def'?
Понятно, что 100, 101 и 102 - это ASCII-коды символов 'd', 'e' и 'f', но почему произошло такое преобразование, почему это не то же самое, что perl -e 'print 100 . 101 . 102', как было бы ожидаемо? Или perl -e 'print 100.101 . 102' - тоже понятно.

Скорее всего, где-то в доке об этом написано, но не могу найти, так что просто покажите, не пинайте сильно.
Wednesday, March 29th, 2017
3:25 pm
[dp_z]
Быстродействие Perl6
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
Monday, February 20th, 2017
4:12 pm
[gorynlexx]
Spreadsheet::WriteExcel - как убрать колонтитулы

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

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

Friday, February 3rd, 2017
2:03 pm
[gorynlexx]
Использование модуля с генерируемым "на лету" именем.

Задача такая. Есть ряд модулей, каждый в отдельном 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, и т.д. очевиден, но тут надо в идеале, чтобы они были разнесены по разным файлам модулей с точки зрения архитектуры проекта.

Wednesday, January 11th, 2017
7:47 pm
[thecamelsway]
ищу работу
Привет.

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

Василий
thecamelsway@gmail.com
Friday, November 11th, 2016
10:45 am
[gorynlexx]
Форматирование ячеек в таблицах Google
Стоит задача из скрипта Perl сохранять информацию в таблицах Гугла. При этом в зависимости от значений одной из колонок надо изменять фоновый цвет строки.
Я нашел только один работающий модуль для работы с Гугл АПИ - Net::Google::Spreadsheets. Но он позволяет работать только с данными.

Знает ли кто-либо способ, как не только менять данные, но и форматировать их, в частности, менять фоновый цвет?
Thursday, May 5th, 2016
11:38 am
[our_region62]
Моджо сдох
Внезапно с утра обнаружил что помер проект на моджо, рестарт приложения и рестарт 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 порта,


Что это может быть? Может что-то уже поменялось в фреймворке, пока я картоху сажал? )))
Friday, March 11th, 2016
10:49 am
[comder]
Вакансия Perl разработчик Санкт-Петербург
Обязанности:
• разработка проекта компании;
• различные интеграционные решения;
• тесная работа с фронт-енд программистом

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

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

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

Резюме высылайте на почту: comdef@gmail.com
[ << Previous 20 ]
About LiveJournal.com