Как стать автором
Обновить
39
0
Дмитрий @perl_demon

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

Отправить сообщение

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

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

ActiveState приобрела Phenona

Время на прочтение1 мин
Количество просмотров960
Сегодня зарегистрированные пользователи Phenona получили письмо от создателя сервиса Даниила Кульченко (Daniil Kulchenko) с анонсом покупки сервиса компанией ActiveState.
подробности
Всего голосов 7: ↑6 и ↓1+5
Комментарии3

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

Время на прочтение2 мин
Количество просмотров1.1K
Наконец-то нашел время для продолжения обзора китайского планшета Wopad WR701. С момента приобретения прошло уже больше месяца, и я могу смело делать выводы. Это вторая часть обзора, в которой я коснусь «интерьера» устройства. В первой части можно найти информацию об «экстерьере».
далее
Всего голосов 31: ↑23 и ↓8+15
Комментарии54

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

Время на прочтение2 мин
Количество просмотров1.3K

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

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

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

Части первая. Пять дюймов.
Всего голосов 8: ↑7 и ↓1+6
Комментарии21

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

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

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

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

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

Время на прочтение3 мин
Количество просмотров1.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 можно найти довольно большую коллекцию для опытов и тренировок ;-)
Всего голосов 55: ↑38 и ↓17+21
Комментарии9

Информация

В рейтинге
Не участвует
Откуда
Россия
Зарегистрирован
Активность