LINUX.ORG.RU

Избранные сообщения DRVTiny

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

Новости — Разработка
Группа Разработка

Книга будет полезна программистам и системным администраторам. Для её чтения достаточно знать основы 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
    

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

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

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

 ,

perl5_guy
()

анализ данных

Форум — Development

Привет, ЛОР.

Хочу посоветоваться насчет правильного выбора средств решения задачи. Занимаюсь по сути data-mining'ом.

Например, текущая задача - обработка дампов Википедии с целью извлечения информации о некоторых объектах и сопоставлением этой информации на различных языках. Мой любимый инструмент для решения подобных задач уже несколько лет это утилиты из GNU coreutils - join, sort, comm, grep, shuf, cut и perl для всего, что сложно или невозможно сделать через эти утилиты.

Получаются скрипты вроде такого

sort -k1,1 links/title2id.de.txt > links/title2id.de.title-sorted.txt

# ...

join -t $'\t' -1 1 -2 1 <(cut -f 1,2 result/en/infoblock.txt | sort -t $'\t' -k1,1 ) links/en.ext.txt > result/en/ext-all.txt
# idEn nameEn + idEn linkLang nameLang = idEn nameEn linkLang nameLang

# ...

comm --check-order -23 <( cut -f 4 result/en/ext$1-id.txt | sort -t $'\t' -k1,1  ) result/$1/infoblock.ids.txt > result/en/ext$1-only.txt

В этом подходе для меня почти всё идеально, за исключением двух проблем:

  • Это слишком низкий уровень, работаю с нумерованными колонками, а не именованными полями. Добавление поля в исходные данные взрывает скрипты.
  • Мне не нравится, что нужно пересчитывать всё, если я поменял только одну строчку в длинном скрипте. Я пробовал вставлять конструкции
    if [[ result -ot source ]]; then... 
    Но код раздувается и нет доверия этим проверкам, так как допустить тут ошибку ( пропустить зависимость result от какого-то исходника ) очень просто.

Кто-то скажет, чувак, а теперь открой для себя базы данных. Я помню о базах данных. Это то, для чего они сделаны, но у меня может быть слишком много данных. Например, в англ. Википедии 55 млн. страниц. В примерах, которые показывают мой способ решения, я пользуюсь только внешней памятью, а память для sort можно установить определенную.

Короче говоря, хочется что-то аналогичное тому что использую сейчас, но

  • с проверкой актуальности данных ( не пересчитывать то, что готово ),
  • именованные колонки
  • работой с данными во внешней памяти,
  • возможность вызова Perl или Java ( которые я бм знаю ) для того, чтобы пошерстить регулярками или разобрать XML и выдрать из него что-то и т.п.

Postgres ? XML-базы данных с XSLT ? теряюсь в догадках.

 

anymouse
()

Релиз Proxmox VE 3.2

Новости — Open Source
Группа Open Source

10 марта вышла в свет новая версия системы виртуализации на базе дистрибутива Debian GNU/Linux

Главные новшества этого релиза:

  • В основе теперь Debian 7.4
  • Добавлено тестовое ядро версии 3.10. Взято из RHEL7 beta. Пока без OpenVZ и тестовое, так что для продуктива не рекомендуется
  • Добавлена поддержка Open vSwitch. Пока превью
  • Добавлен новый плагин для поддержки ZFS. И тоже превью
  • Удален плагин для nexenta. Решили, что ZFS быстрее
  • Обновлен GlusterFS до 3.4.2
  • При установке с диска GPT стала таблицей разделов «по умолчанию». Для работы с ней, в образ включена утилита gdisk
  • Как всегда, как и у всех множественные багфиксы и обновления пакетов

Изменения в сопутствующих технологиях:

  • SPICE [что это?]
    • В spiceterm добавлена поддержка OpenVZ
    • В конфигурационном файле datacenter.cfg добавлена возможность выбора реализации console между java-апплетом(VNC) и spice
    • Добавлена поддержка мультимониторных конфигураций
    • Кнопочка в GUI теперь поделена напополам: SPICE/VNC
  • qemu обновлен до 1.7.0:
    • Добавлена команда pvscsi. Выводит список scsi-контроллеров.
    • Добавлена реализация si53c810 scsi-контроллера. Добавлена для поддержки старых версий Windows NT
    • В список эмулируемых сетевых адаптеров добавлен vmxnet3. В свою очередь, является эмуляцией паравитуализации сети в VmWare
    • Для блочных устройств добавлена опция 'discard'
    • Добавлена поддержка новых qemu параметров throttling.bps-{read,write}, throttling.iops-{total,read,write}-max, throttling.bps-{total,read,write}-max. Теперь для ВМ можно определить верхний порог срабатывания троттлинга IO
    • Улучшены «живые» бекапы
  • Обновление ядра до версии pve-kernel-2.6.32-27-pve:
    • Обновлено до vzkernel-2.6.32-042stab084.20
    • Обновлены модули e1000, igb, ixgbe, netxtreme2, megaraid_sas
    • Добавлены распоследние драйвера для ARECA RAID
    • Драйвера для сетевых адаптеров Broadcom bnx2/bnx2x обновлены до версии 7.6.62
    • aacraid теперь 1.2.1-30300 версии
  • Ceph Server [что это?]
    • Новый графический клиент для управления Ceph-сервером на PVE. Пока что тоже превью.

>>> Подробности

 , , ,

ii343hbka
()