Pull to refresh
39
0
Дмитрий @perl_demon

Пользователь

Send message

Stackato: разворачиваем Perl приложение в своем облаке за 3 шага

Reading time4 min
Views2K
stackato Компания ActiveState хорошо известна разработчикам. Они довольно активно продвигают свои сборки Perl (ActivePerl), Python (ActivePython), Tcl (ActiveTcl) (Раньше был еще ActivePHP, но сейчас его нет). У них есть отличный Komodo IDE и его урезанная бесплатная версия Komodo Edit. И недавно компания предприняла шаги к входу на рынок модных сейчас облачных технологии, но не со стороны создания своих облачных сервисов, а со стороны создания своей софтверной платформы. [Честно говоря, не совсем своей, но об этом далее :-)] Так появилась Stackato — «первая облачная платформа для создания private PaaS с поддержкой Python, Perl, Ruby, Node.js и Java».
Если интересно как создать свое «облачное» Perl приложение, прошу под кат.
далее
Total votes 19: ↑19 and ↓0+19
Comments11

Wopad WR701 — 7ми дюймовый планшет с емкостным экраном из Китая (часть 2)

Reading time2 min
Views1.1K
Наконец-то нашел время для продолжения обзора китайского планшета Wopad WR701. С момента приобретения прошло уже больше месяца, и я могу смело делать выводы. Это вторая часть обзора, в которой я коснусь «интерьера» устройства. В первой части можно найти информацию об «экстерьере».
далее
Total votes 31: ↑23 and ↓8+15
Comments54

Wopad WR701 — 7ми дюймовый планшет с емкостным экраном из Китая

Reading time2 min
Views1.3K

Новый год ознаменовался появлением в моей семье первого «зеленого робота» по имени Wopad WR701. Если коротко, то несмотря на то, что ждать его пришлось почти месяц (с 15 декабря по 13 января) я доволен приобретением. (много картинок, мало текста под катом)
детали
Total votes 26: ↑14 and ↓12+2
Comments37

Multimedia Internet Devices (MID). Часть первая. Пяти дюймовые

Reading time2 min
Views941
После этой дискуссии я пришел к выводу, что многие, как и я, в данный момент находятся в поиске наиболее подходящей «таблетки» (MID). В этой связи решил поделиться собранной информацией, а за одно и собрать все в кучу.
Сразу оговорюсь:
1)далее будут описаны только таблетки с android на борту и размером экрана не менее 4,3 дюйма (телефоны с 4,3 дюймовыми экранами я таблетками не считаю);
2) ни одного из описанных ниже устройств я в руках ни разу в жизни не держал, пользовался только открытыми источниками, поэтому некоторые сведения могут быть недостоверными.

Части первая. Пять дюймов.
Total votes 8: ↑7 and ↓1+6
Comments21

Психолингвистический эксперимент для практической части диплома

Reading time1 min
Views771
Уважаемые ХабраПользователи, очень нужна Ваша помощь в проведении психолингвистического эксперимента для практической части диплома!
Для того чтобы принять участие, достаточно ответить на несколько вопросов (вопросы связаны со словом «Игрушка»).
принять участие
Total votes 22: ↑12 and ↓10+2
Comments45

Вконтакте и WebMoney запустили сервис займов. Чем это опасно для пользователей?

Reading time2 min
Views895
Сегодня при просмотре web-происшествий за последние сутки наткнулся на статью на webplanet.ru. Статья имеет непосредственное отношение к социальной сети «Вконтакте» (вообще говоря и Facebook тоже) и системе online расчетов WebMoney. И хотя я не являюсь пользователем данной социальной сети(да и статья от 25-го числа), эта статья меня заинтересовала!
Чем же?
Total votes 16: ↑10 and ↓6+4
Comments20

JAPH — perl-скрипты, которые показывают на что способен PERL в умелых руках

Reading time3 min
Views1.3K
[введение]
Практически любой программист, сталкивавшийся когда-либо с ВЕЛИКОМ ЯЗЫКОМ ПРОГРАММИРОВАНИЯ — PERL, но не пишущий на нем регулярно, считает, что он очень сложный и запутанный! Практически не понятный простому обывателю! Своей статьей хотел бы подтвердить этот миф и рассказать о таком явлении как JAPH.

[кульминация]
JAPH — это аббревиатура, расшифровывается как «Just Another Perl Hacker», введенная в обиход в далеком 1990 году одним широко известный perl-хакером Рэндалом Шварцом (Randal Schwartz aka merlyn). «Но при чем тут perl?» — спросите вы. Ответить на этот вопрос лучше всего одним из самых известный japh'ов, который, на мой взгляд, демонстрирует суть этого явления!

print "Just another Perl hacker," if "you can't think of anything better..."

Стоит вам запустить этот код как на экране вы увидите «заветный» слова «Just another Perl hacker,» :-) (Сразу хотел бы оговориться по поводу запитой после слова «hacker». На сколько мне известно, она была в первых скриптах merlyn. Наверное, автор хотел подчеркнуть некую не завершенность, подтолкнуть тех кто это увидит к продолжению. В последствии же она исчезла :-) ) Не правда ли странный скрипт? состоит все во лишь из двух операторов! сначала print, и только потом if, и ни какой; между ними! Казалось бы он не должен работать, но он работает! и работает правильно! В одной строчке скрыто сразу два хака, заложенных в perl. 1-й это то что в условном операторе if в качестве аргумента может быть все что угодно и условие будет истинным, если аргумент не будет 0 или undef(не определенное значение). 2-й это положение операторов if и print. Если в результате проверки условия в if'e должна выполниться одна команда, то она может располагаться в коде перед if'м. Это придает коду более компактный вид. К слову, такая форма записи допустима для любых оператором условия и перечисления.
Это один из самых простых примеров JAPH, существуют и более интересные:

''=~('('.'?' . '{'.(
'/'.'/'.')'.'.'.'/'.
'`'.'|'.'`'.'.'.'.'.
'/'.'`'.'`'.'.'.'/'.
'/'.'('.':'.'/'.'`'.
'~'.':'.'/'.','.'`'.
'`'.':'.'>'.'+'.':'.
'/'.'|'^'_'.']'.'@'.
'@'.'['.'@'.'['.'*'.
'['.']'.'['.'@'.'!'.
'@'.'@'.'['.'@'.'_'.
']'.'@'.'.'.'_'.']'.
'@'.'@'.'('.'['.']'.
'@'.'_'.']'.'[').','
.'$' .'/'.'}'.')' );

(Monolith by boo) Это прямоугольник, в котором НЕТ букв. Угадайте, что выводит этот скрипт? :-)
Есть и другие интересные геометрические фигуры:


not exp log srand xor s qq qx xor
s x x length uc ord and print chr
ord for qw q join use sub tied qx
xor eval xor print qq q q xor int
eval lc q m cos and print chr ord
for qw y abs ne open tied hex exp
ref y m xor scalar srand print qq
q q xor int eval lc qq y sqrt cos
and print chr ord for qw x printf
each return local x y or print qq
s s and eval q s undef or oct xor
time xor ref print chr int ord lc
foreach qw y hex alarm chdir kill
exec return y s gt sin sort split

Это знаменитый квадрат состоящий из ключевых слов PERL. Попробуем разобрать его подробнее. Первое, что бросается в глаза это повторяющиеся XOR и AND, которые, как известно, могут заменять;. Теперь можно рассмотреть вывод пробелов между словами: "print qq q q" "print qq q q" "print qq s s". qq говорит о том что последовательность ограниченная разделителем заключена в двойные кавычки. Разделителем тут являются символы q и s. Теперь код можно разделить на четыре части:

not exp log srand xor s qq qx xor
s x x length uc ord and print chr
ord for qw q join use sub tied qx
xor eval xor print qq q q xor

int
eval lc q m cos and print chr ord
for qw y abs ne open tied hex exp
ref y m xor scalar srand print qq
q q xor

int eval lc qq y sqrt cos
and print chr ord for qw x printf
each return local x y or print qq
s s and

eval q s undef or oct xor
time xor ref print chr int ord lc
foreach qw y hex alarm chdir kill
exec return y s gt sin sort split

Рассмотрим подробнее первую часть: not exp log srand XOR не выведет ничего на экран т.к. всегда будет ложь. s qq qx xor эквивалентно s// / Благодаря этой операции в переменной $_ окажется пробел. Следующая часть будет выглядеть так s/ /length uc ord and print chr ord for qw q join use sub tied q/ Эта операция заменит пробел в переменной $_ на length uc ord and print chr ord for qw q join use sub tied q. length uc ord and всегда истина, в расчет не берем. а вот print chr ord for qw q join use sub tied q как раз и напечатает слово «just». Это станет виднее, если преобразовать к следующему виду: print chr ord for('join','use','sub','tied'). Работает это так: for перебирает слова из массива, ord получает код только первого символа каждого слова, а chr обратная к ord функция, возвращает символ по коду. Затем eval выполнит содержимое переменной $_ (как раз и выведет just), а print qq q q выведет пробел. Оставшиеся части разбираются по тому же принципу.
Существуют japh'и в виде различных причудливых фигур:


Или от фанатов звездных войн :-)



[заключение]
Вообще разбор чужих japh'в хорошая тренировка, особенно для начинающих! Дерзайте! А по адресу http://www.cpan.org/misc/japh можно найти довольно большую коллекцию для опытов и тренировок ;-)
Total votes 55: ↑38 and ↓17+21
Comments9

Information

Rating
Does not participate
Location
Россия
Registered
Activity