LINUX.ORG.RU

Новая книга Брайана Ди Фоя: «Mojolicious Web Clients»

 ,


3

1

Книга будет полезна программистам и системным администраторам. Для её чтения достаточно знать основы Perl. Освоив её, вы овладеете мощным и выразительным инструментом, который поможет упростить решение повседневных задач.

В книге освещены:

  • основы HTTP;
  • разбор JSON;
  • разбор XML и HTML;
  • селекторы CSS;
  • непосредственное выполнение HTTP-запросов, аутентификация и работа с cookie;
  • выполнение неблокирующих запросов;
  • обещания.
  • Написание однострочников и модуль ojo. Некоторые примеры:

    % perl -Mojo -E 'g(shift)->save_to("test.html")' mojolicious.org
    % mojo get https://www.mojolicious.org a attr href
    

    Цена у книги более чем народная и я уже полистал ее. Мне очень понравилась. Материал излагается доступно и интересно. Много познавательных отступлений о том, почему то или иное средство реализовано именно так.

    Брайан обещает обновлять учебник несколько раз в год и в данный момент работает над следующей книгой, посвящённой уже самому веб-фреймворку.

>>> Оглавление

★★★★★

Проверено: anonymous_incognito ()
Последнее исправление: cetjs2 (всего исправлений: 3)

Цена у книги более чем народная и я уже полистал ее.

Осталось отсканировать её и выложить на торрент в pdf/djvu. :D

drfaust ★★★★★
()
Ответ на: комментарий от gedisdone

Mojo::UserAgent значительно функциональней. Лучше его использовать

perl5_guy ★★★★★
() автор топика

В книге освещены:

  • Обещания

Брайан обещает обновлять учебник несколько раз в год...

CryNet ★★★★★
()

Обещания

Отложенные и асинхронные вычисления (Promises)

deep-purple ★★★★★
()
Ответ на: комментарий от Alve

Промисы что-ли? Хипстота вебовская не поймёт же

В JS есть промисы

CryNet ★★★★★
()
Ответ на: комментарий от bbk123

Почему Perl никак не сдохнет?

А что не так с Perl? - он в предустановлен практически в каждом дистрибутиве Linux, кроссплатформенный, хороший высокоуроневый язык программирования - не на bash же скрипты и тулзы писать?

https://www.perl.org/advocacy/whyperl.html

which perl - запустите и изумитесь, он даже в зависимостях у git - это восхитительно.

anonymous
()
Ответ на: комментарий от bbk123

http://www.cpan.org/ports/

Perl supports over 100 platforms! Most Unix/Linux and Macs have Perl already installed. You will need to download Perl for Windows. The latest stable version of Perl is 5.030000. Running a version older than 5.8.3? - some of the more widely used CPAN modules now require at least this version. You can build your own version of Perl from the source code!

anonymous
()
Ответ на: комментарий от bbk123

По поводу питона интересная дискуссия есть у коллег https://rsdn.org/forum/flame.comp/7634295

Что похоже питон сосет для больших проектов. Во всяком случае Perl такой подставы с версиями 2.x --> 3.x и выпиливанием 2.x не устраивает. Новый Perl даже по другому назвали и ветку 5.x убирать никто не будет

praseodim ★★★★★
()
Ответ на: комментарий от praseodim

А можешь объяснить почему так:

$ perl -e 'print "$_, $_, $_, $_, $_\n" for 1..1_000_000' > test.csv

$ time perl -MText::CSV_XS -e 'my $csv = Text::CSV_XS->new ({ binary => 1, auto_diag => 1 }); open my $fh, "<:encoding(utf8)", "test.csv" or die "test.csv: $!"; while (my $row = $csv->getline ($fh)) { undef; } close $fh;'

real    0m2.443s
user    0m2.434s
sys     0m0.008s

$ cat test.py
import csv
with open('test.csv', newline='') as csvfile:
    spamreader = csv.reader(csvfile)
    for row in spamreader:
        pass

$ time python3 test.py 

real    0m0.720s
user    0m0.710s
sys     0m0.009s

Почему парсинг CSV файла в python быстрее perl в 3 раза?

anonymous
()
Ответ на: комментарий от anonymous

Ты уверен, что сравниваются реально одинаковые действия? В Perl там что-то больше делается, чем в питоне

praseodim ★★★★★
()
Ответ на: комментарий от praseodim

Ты уверен, что сравниваются реально одинаковые действия? В Perl там что-то больше делается, чем в питоне

Поэтому python в три раза быстрее perl, как минимум в парсинге CSV.

anonymous
()
Ответ на: комментарий от anonymous

он даже в зависимостях у git - это восхитительно.

еще более восхитительно, что разработчики гит с каждым релизом переписывают всё больше компонентов, которые раньше были на перле и баше, на си

actionless ★★★★★
()
Ответ на: комментарий от perl5_guy

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

actionless ★★★★★
()
Ответ на: комментарий от actionless

пока люди переписывали с Python 2 на 3

Perl 5 просто стабильно развивался и улучшался

anonymous
()
Ответ на: комментарий от anonymous

я предпочитаю парсить на perl без использования xs модулей

зато работает везде - даже на centos 6, где ваш python3 там тупо не запустится

веть главное результат, а не быстрый скрипт который не работает

anonymous
()
Ответ на: комментарий от actionless

в отличии от фанатичных людей хейтящих perl - мне все равно где и насколько долго используется python2 это же просто инстумент

anonymous
()
Ответ на: комментарий от anonymous

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

тогда при чем тут вообще питон, если речь идет о гите?

actionless ★★★★★
()

привет perl-комрадам :) сам пишу такое на python

anonymous
()
Ответ на: комментарий от actionless

еще более восхитительно, что разработчики гит с каждым релизом переписывают всё больше компонентов, которые раньше были на перле и баше, на си

Никто вроде бы никогда не утверждал, что perl быстрее, чем C

annulen ★★★★★
()

Лучше бы запилили книжку по PSGI/Plack и сопутствующей инфраструктуре, чем пиарить поделку отщепенца с NIH-синдромом

annulen ★★★★★
()
Ответ на: комментарий от annulen

В чём это выражается? По мне так всё замечательно у них с принятием чужих разработок

perl5_guy ★★★★★
() автор топика
Ответ на: комментарий от bread

У этого mojo в дебиане jquery в жестких зависимостях.

Проблемы дебиана.

dexpl ★★★★★
()
Ответ на: комментарий от bbk123

Потому что старые проекты всё живут и живут.

x-term ★★
()
Ответ на: комментарий от perl5_guy

а если кто-нибудь будет заваривать чай в том же помещении, смогут ли пары ромашки превратить тебя в заднеприводного? или существует минимальная опасная дозировка?

actionless ★★★★★
()
Ответ на: комментарий от actionless

При чём тут заднеприводность? Это как-то связано с тем что ты топишь за питон? Я тебе добрый совет даю, а ты несешь дичь. Пересмотри видяху которую я тебе скинул и подумай над своим поведением

perl5_guy ★★★★★
() автор топика
Ответ на: комментарий от perl5_guy

Это как-то связано с тем что ты топишь за питон?

вероятно, ты сам подсознательно мечтаешь о питоне, раз видишь «топление» за него там где его нет

actionless ★★★★★
()
Ответ на: комментарий от actionless

Ладно, лисонька, ты меня поймал. Добра тебе. Я не вижу ничего плохого в питоне и гадости про питон в питонотредах не пишу.

perl5_guy ★★★★★
() автор топика

Интересно, кто купит такую срань? Какие-то совсем отбитые олдфаги разве что.

anonymous
()
Ответ на: комментарий от anonymous

Ты точно не купишь. Этож надо целую неделю в школьной столовке не завтракать. А я купил и написал об этом в ОП-посте. Хорошая книжка.

perl5_guy ★★★★★
() автор топика
Ответ на: комментарий от drfaust

А по хорошему - любой труд должен оплачиваться.

Покупка и чтение – это определённо труд. Как автор книги должен за это платить?

anonymous
()
Ответ на: комментарий от perl5_guy

Тащемта, правильный перевод «обязательства», но уже сложилось так.

Те, что завершаются через 3 года можно смело называть обещаниями.

anonymous
()
Ответ на: комментарий от bbk123

Phyton же гораздо лучше и тоже почти везде.

Змея каждую мажорную версию кожу сбрасывает.

anonymous
()
Ответ на: комментарий от perl5_guy

Можно с чабрецом пить чаёк

У меня от чабреца глаза не видят. Хотя на вкус прикольный. И от кашля помогает. Но и ромашка збс. Женская? Чё за фигня, твой комп никому не расскажет, что ты пьёшь.

anonymous
()
Ответ на: комментарий от anonymous

Верблюды выносливы.

Да, в Австралии их сейчас расстреливают с вертолётов, а то расплодились и нарушили экологический баланс.

bbk123 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.