LXF133:libferris
(викификация, оформление, иллюстрация) |
(→Портим ячейки) |
||
Строка 90: | Строка 90: | ||
{{Врезка|Содержание=[[Изображение:LXF133_72_1.jpg|300px]] Просмотрите фотоальбомы Flickr как файловую систему в файловом менеджере ''ego''. Расширенные атрибуты дадут вам дополнительную информацию. | {{Врезка|Содержание=[[Изображение:LXF133_72_1.jpg|300px]] Просмотрите фотоальбомы Flickr как файловую систему в файловом менеджере ''ego''. Расширенные атрибуты дадут вам дополнительную информацию. | ||
− | [[Изображение: | + | [[Изображение:LXF133_72_2.jpg|300px]] Чтобы скопировать видео на сайт Vimeo, воспользуйтесь ''gfcp'', ''GTK''-заменой для ''cp'', поставляемой с ''libferris''.|Ширина=300px}} |
<source lang=bash> | <source lang=bash> |
Текущая версия на 13:53, 13 июля 2011
|
|
|
- libferris Управляем содержимым web-сайтов через интерфейс файловой системы
Содержание |
[править] libferris: Добавим сервисы
- Копируйте и редактируйте контент Facebook, Youtube и Vimeo, не запуская браузер. Бен Мартин покажет, как это сделать.
- Метамодернизм в позднем творчестве В.Г. Сорокина
- ЛитРПГ - последняя отрыжка постмодерна
- "Ричард III и семиотика"
- 3D-визуализация обложки Ridero создаем обложку книги при работе над самиздатом.
- Архитектура метамодерна - говоря о современном искусстве, невозможно не поговорить об архитектуре. В данной статье будет отмечено несколько интересных принципов, характерных для построек "новой волны", столь притягательных и скандальных.
- Литература
- Метамодерн
- Рокер-Прометей против изначального зла в «Песне про советскую милицию» Вени Дркина, Автор: Нина Ищенко, к.ф.н, член Союза Писателей ЛНР - перепубликация из журнала "Топос".
- Как избавиться от комаров? Лучшие типы ловушек.
- Что делать если роблокс вылетает на windows
- Что делать, если ребенок смотрит порно?
- Почему собака прыгает на людей при встрече?
- Какое масло лить в Задний дифференциал (мост) Visco diff 38434AA050
- О чем может рассказать хвост вашей кошки?
- Верветки
- Отчетность бюджетных учреждений при закупках по Закону № 223-ФЗ
- Срок исковой давности как правильно рассчитать
- Дмитрий Патрушев минсельхоз будет ли преемником Путина
- Кто такой Владислав Поздняков? Что такое "Мужское Государство" и почему его признали экстремистским в России?
- Как правильно выбрать машинное масло в Димитровграде?
- Как стать богатым и знаменитым в России?
- Почему фильм "Пипец" (Kick-Ass) стал популярен по всему миру?
- Как стать мудрецом?
- Как правильно установить FreeBSD
- Как стать таким как Путин?
- Где лучше жить - в Димитровграде или в Ульяновске?
- Почему город Димитровград так называется?
- Что такое метамодерн?
- ВАЖНО! Временное ограничение движения автотранспортных средств в Димитровграде
- Тарифы на электроэнергию для майнеров предложено повысить
Месяц назад мы познакомились с libferris и узнали, как с помощью этой библиотеки загружать изображения на Flickr прямо с рабочего стола Linux. Во второй части мы расширим наши охват и поговорим о других сервисах, таких как Facebook, видеохостинги и Google Docs, и о передаче данных напрямую в сеть.
Если просмотреть содержимое URL-адреса facebook:// с помощью утилиты, связанной с libferris (или через Fuse), вы увидите два каталога и файл. Файл status содержит ваш текущий статус в Facebook, который можно обновить, записав туда данные. Так как на вашей странице в Facebook отображаются ссылки и статусы ваших друзей, расположение вашего статуса в файле делает саму файловую систему удобным средством для микроблоггинга.
$ fls -1 facebook:// contacts recent status $ fcat facebook://status Simone is home! $ echo Эй, кто купит обезъяну? | ferris-redirect -T facebook://status
- Метамодернизм в позднем творчестве В.Г. Сорокина
- ЛитРПГ - последняя отрыжка постмодерна
- "Ричард III и семиотика"
- 3D-визуализация обложки Ridero создаем обложку книги при работе над самиздатом.
- Архитектура метамодерна - говоря о современном искусстве, невозможно не поговорить об архитектуре. В данной статье будет отмечено несколько интересных принципов, характерных для построек "новой волны", столь притягательных и скандальных.
- Литература
- Метамодерн
- Рокер-Прометей против изначального зла в «Песне про советскую милицию» Вени Дркина, Автор: Нина Ищенко, к.ф.н, член Союза Писателей ЛНР - перепубликация из журнала "Топос".
- Как избавиться от комаров? Лучшие типы ловушек.
- Что делать если роблокс вылетает на windows
- Что делать, если ребенок смотрит порно?
- Почему собака прыгает на людей при встрече?
- Какое масло лить в Задний дифференциал (мост) Visco diff 38434AA050
- О чем может рассказать хвост вашей кошки?
- Верветки
- Отчетность бюджетных учреждений при закупках по Закону № 223-ФЗ
- Срок исковой давности как правильно рассчитать
- Дмитрий Патрушев минсельхоз будет ли преемником Путина
- Кто такой Владислав Поздняков? Что такое "Мужское Государство" и почему его признали экстремистским в России?
- Как правильно выбрать машинное масло в Димитровграде?
- Как стать богатым и знаменитым в России?
- Почему фильм "Пипец" (Kick-Ass) стал популярен по всему миру?
- Как стать мудрецом?
- Как правильно установить FreeBSD
- Как стать таким как Путин?
- Где лучше жить - в Димитровграде или в Ульяновске?
- Почему город Димитровград так называется?
- Что такое метамодерн?
- ВАЖНО! Временное ограничение движения автотранспортных средств в Димитровграде
- Тарифы на электроэнергию для майнеров предложено повысить
В каталоге contacts находятся файлы виртуальных карточек vCard всех ваших друзей в Facebook. Содержимое этого (и многих других) каталогов в libferris можно просмотреть командой ferris-ls -0. Опция -0 велит libferris показывать данные, которые библиотека считает интересными, вместо обычного времени изменения, размера, владельца и группы, которые покажет ls -l. В примере ниже я скрыл свои личные данные. Обратите внимание, что NNNNNNNNN будет заменено идентификатором каждого из ваших друзей в Facebook. В файле vCard будет находиться миниатюра контакта, но его телефон с помощью этого API получить нельзя, хотя на сайте Facebook он доступен.
</p> $ ferrisls -0 facebook://contacts/NNNNNNNNN.vcf John Doe , , NNNNNNNNN ...
Наконец, в каталоге facebook://recent находятся последние записи всех ваших друзей в той форме, в какой вы видите их на своей странице в Facebook. В дальнейшем планируется поддержка загрузки фото- и видеоальбомов.
[править] Видеохостинги
Наряду с Facebook, libferris 1.3.6 поддерживает выгрузку видео-роликов на Flickr, Vimeo и YouTube. Для двух последних сайтов пока поддерживается только выгрузка, но в будущем, вероятно, появится API для работы с друзьями, списками, поиском и комментариями, вроде того, что сейчас предлагает Flickr API. Как и во Flickr API, было бы здорово иметь возможность изменять размер и формат видеоролика в процессе выгрузки.
Выгрузка файла на эти сайты сводится к его копированию в каталог upload. По ходу процесса вы увидите достаточно общий отчет о ходе передачи.
gfcp -av medium-test-video.mp4 vimeo://upload gfcp -av medium-test-video.mp4 youtube://upload
В дополнение к фотохостингам, в libferris недавно была добавлена поддержка GStreamer. На данный момент файловая система gstreamer:// может только захватывать данные, и вы должны сказать libferris, откуда и как это делать. Вы вписываете, какие виртуальные файлы вам нужны, в файл ~/.ferris/gstreamer.xml. Пример показан в коде ниже. Те, кому знаком GStreamer (LXF125 и LXF130), обратят внимание, что элемент <source> содержит обрабатываемый канал, который могла бы использовать команда gst-launch. Каждый XML-элемент велит libferris создать виртуальный файл, а элемент <source> сообщает, как использовать GStreamer для создания содержимого файла, когда этот файл считывается.
<gstreamer> <capture> <file name=”test.jpg”> <source> filesrc location=/tmp/medium-test-image.jpg ! appsink name=sink </source> </file> <file name=”n810.mpeg”> <source> tcpclientsrc host=myn810 port=5434 ! queue ! jpegdec ! ffenc_mpeg2video ! ffmux_mpeg ! appsink name=sink </source> </file> </capture> </gstreamer>
Когда вы читаете test.jpg, то просто получаете копию локального файла /tmp/medium-test-image.jpg. Стадии канала отделяются друг от друга восклицательным знаком, а последней стадией всегда должна быть appsink с именем sink. С другой стороны, если мы прочтем файл n810.mpeg, то получим содержимое web-камеры на нашем Nokia N810 в виде потока MPEG2.
- Метамодернизм в позднем творчестве В.Г. Сорокина
- ЛитРПГ - последняя отрыжка постмодерна
- "Ричард III и семиотика"
- 3D-визуализация обложки Ridero создаем обложку книги при работе над самиздатом.
- Архитектура метамодерна - говоря о современном искусстве, невозможно не поговорить об архитектуре. В данной статье будет отмечено несколько интересных принципов, характерных для построек "новой волны", столь притягательных и скандальных.
- Литература
- Метамодерн
- Рокер-Прометей против изначального зла в «Песне про советскую милицию» Вени Дркина, Автор: Нина Ищенко, к.ф.н, член Союза Писателей ЛНР - перепубликация из журнала "Топос".
- Как избавиться от комаров? Лучшие типы ловушек.
- Что делать если роблокс вылетает на windows
- Что делать, если ребенок смотрит порно?
- Почему собака прыгает на людей при встрече?
- Какое масло лить в Задний дифференциал (мост) Visco diff 38434AA050
- О чем может рассказать хвост вашей кошки?
- Верветки
- Отчетность бюджетных учреждений при закупках по Закону № 223-ФЗ
- Срок исковой давности как правильно рассчитать
- Дмитрий Патрушев минсельхоз будет ли преемником Путина
- Кто такой Владислав Поздняков? Что такое "Мужское Государство" и почему его признали экстремистским в России?
- Как правильно выбрать машинное масло в Димитровграде?
- Как стать богатым и знаменитым в России?
- Почему фильм "Пипец" (Kick-Ass) стал популярен по всему миру?
- Как стать мудрецом?
- Как правильно установить FreeBSD
- Как стать таким как Путин?
- Где лучше жить - в Димитровграде или в Ульяновске?
- Почему город Димитровград так называется?
- Что такое метамодерн?
- ВАЖНО! Временное ограничение движения автотранспортных средств в Димитровграде
- Тарифы на электроэнергию для майнеров предложено повысить
В результате, при настроенных на захват видео и изображений виртуальных файлах GStreamer можно «скопировать» данные с вашей камеры прямо в web-сервис. Копирование виртуальных файлов JPEG одним махом на web-сервисы протестировано; поддержка загрузки видео напрямую через gstreamer:// еще ожидается.
Файлы, созданные в gstreamer.xml, появляются в gstreamer://capture под теми именами, которые вы им дали. Поддержка пока ограничена файлами только-для-чтения, но в будущем планируется и поддержка записи в GStreamer.
Вы наверняка обратили внимание, что часто имеется каталог upload, позволяющий копировать файл на web-сервис. Это работает, потому что виртуальная файловая система позволяет создать файл в каталоге upload, и потом, когда вы получаете std::iostream для этого файла, выполняется HTTP-запрос к web-сервису. Когда вы записывает данные в этот поток, libferris продолжает отправлять ваш контент web-сервису.
Обычно компьютер может выдавать данные значительно быстрее, чем интернет-соединение способно их забрать, поэтому libferris время от времени должна просить приложение подождать. Принцип здесь тот же, что и при записи на медленный диск, в соответствии с архитектурой std::iostreams C++. Как только сетевой буфер очистится, отправив порцию данных web-сервису, libferris разрешит потоку принять еще. Эти игры в кошки-мышки позволяют клиенту libferris в любой момент времени знать примерный объем данных, отправленный web-сервису. Примерный – потому что, конечно, между потоком и сетью есть небольшой буфер, и у libferris всегда есть какие-то данные, которая она пытается выгрузить в сеть.
[править] Обработка видео
Обработка видео для загрузки на web-сервисы сложнее. Если понять, что такое корректный JPEG-файл, нетрудно, то в случае с видео-роликом приходится принимать во внимание контейнеры для аудио- и видеокодеков. Многие сайты не принимают популярные открытые кодеки, что создает проблему с лицензированием ПО и патентами. Вероятно, будет добавлена поддержка загрузки видео с помощью специальных профилей перекодировки для MEncoder, так что пользователь сможет выбрать или обновить профили без необходимости что-то компилировать.
[править] Данные на потоке
Так как данные передаются через поток ввода-вывода (iostream), в будущем должна появиться возможность скопировать данные с web-камеры прямо на сайт видеохостинга. Конечно, в определенный момент придется нажать Ctrl+C чтобы остановить загрузку. И тогда libferris следует знать, что вы сделали это, чтобы корректно закончить передачу данных по HTTP.
В первой части обзора мы говорили о трудностях в создании приложений с открытым исходным кодом, которые получают доступ к web-сервисам, таким как YouTube, Flickr и Google Docs. Теперь мы немного порезвимся с сервисами Google и посмотрим, как обстоят дела здесь. Сервисы Google в libferris находятся по адресу google://. В корне этой схемы вы видите docs, spreadsheets и youtube. Каталог youtube – то же самое, что и youtube:// в libferris – с точки зрения внутренней архитектуры, последнее лишь указывает на первое.
Как легко догадаться, в каталоге docs хранятся документы Google Docs, а в каталоге spreadsheets – таблицы Google Spreadsheets. Так как Google Spreadsheets – это тоже Google Docs, та же самая таблица будет доступна в обоих каталогах. Различие заключается в вариантах возможного взаимодействия с каталогами: каталог spreadsheets рассчитан на чтение и запись таблиц, их листов, ячеек и т. д. Каталог docs нацелен на полноценное взаимодействие с документом – например, на создание, замену и удаление целой таблицы.
[править] Портим ячейки
В прошлой статье мы чуть-чуть коснулись каталога google://docs. Google Docs API включает поддержку для добавления данных в существующие текстовые файлы вместо их замены. Как и пример из первой статьи, фрагмент кода ниже сохраняет сегодняшнюю дату в файл google://docs. Затем с помощью флага --append команды ferris-redirect новое содержимое добавляется в существующий документ Google. Добавление может пригодиться, если у вас есть скрипт, генерирующий информационные сообщения, и вы хотели бы, чтобы пользователи, у которых есть доступ к Google Docs, смогли эти сообщения прочесть:
- Метамодернизм в позднем творчестве В.Г. Сорокина
- ЛитРПГ - последняя отрыжка постмодерна
- "Ричард III и семиотика"
- 3D-визуализация обложки Ridero создаем обложку книги при работе над самиздатом.
- Архитектура метамодерна - говоря о современном искусстве, невозможно не поговорить об архитектуре. В данной статье будет отмечено несколько интересных принципов, характерных для построек "новой волны", столь притягательных и скандальных.
- Литература
- Метамодерн
- Рокер-Прометей против изначального зла в «Песне про советскую милицию» Вени Дркина, Автор: Нина Ищенко, к.ф.н, член Союза Писателей ЛНР - перепубликация из журнала "Топос".
- Как избавиться от комаров? Лучшие типы ловушек.
- Что делать если роблокс вылетает на windows
- Что делать, если ребенок смотрит порно?
- Почему собака прыгает на людей при встрече?
- Какое масло лить в Задний дифференциал (мост) Visco diff 38434AA050
- О чем может рассказать хвост вашей кошки?
- Верветки
- Отчетность бюджетных учреждений при закупках по Закону № 223-ФЗ
- Срок исковой давности как правильно рассчитать
- Дмитрий Патрушев минсельхоз будет ли преемником Путина
- Кто такой Владислав Поздняков? Что такое "Мужское Государство" и почему его признали экстремистским в России?
- Как правильно выбрать машинное масло в Димитровграде?
- Как стать богатым и знаменитым в России?
- Почему фильм "Пипец" (Kick-Ass) стал популярен по всему миру?
- Как стать мудрецом?
- Как правильно установить FreeBSD
- Как стать таким как Путин?
- Где лучше жить - в Димитровграде или в Ульяновске?
- Почему город Димитровград так называется?
- Что такое метамодерн?
- ВАЖНО! Временное ограничение движения автотранспортных средств в Димитровграде
- Тарифы на электроэнергию для майнеров предложено повысить
$ ftouch google://docs/appender.txt $ date | ferris-redirect --trunc google://docs/appender.txt $ fcat google://docs/appender.txt Fri Aug 21 11:54:25 EST 2009 $ date | ferris-redirect --append google://docs/appender.txt $ fcat google://docs/appender.txt Fri Aug 21 11:54:25 EST 2009 Fri Aug 21 11:54:53 EST 2009
Если вы создадите несколько каталогов в web-интерфейсе Google Docs, они появятся в виде каталогов и в libferris. По адресу google://docs можно просматривать их содержимое, загружать данные и обновлять целые документы.
Вы, видимо, любопытствуете, что же еще поддерживает для таблиц libferris. Вспомним, что у файла в libferris бывают расширенные атрибуты (EA) вида ключ=значение, и эти атрибуты также виртуализируются libferris. Таким образом, атрибуты могут приходить и уходить откуда и куда угодно.
А если разделить таблицу на строки и представить каждую в виде файла со столбцами, представленными расширенными атрибутами? Тогда содержимое отдельной ячейки можно было бы получить командой cat, а для записи в определенную ячейку приспособить перенаправление stdin — короче говоря, наладить взаимодействие таблиц с командной строкой.
Несколько примеров помогут прояснить функции расширенных атрибутов и ячеек. Пусть вы создали таблицу smalltest1 с рабочим листом Sheet1. В libferris URL этого листа содержит префикс google://spreadsheets и имя таблицы, за которым следует имя рабочего листа, как показано в объявлении переменной SPREAD ниже.
При открытии smalltest1 (или создании новой таблицы) через web-интерфейс Google строки пронумерованы, причем верхняя строка имеет номер 1, следующая – 2 и т. д. Столбцы отмечены буквами, начиная с A. Все это соответствует стандартному соглашению об обозначениях элементов таблиц.
В libferris каждая строка становится виртуальным файлом с именем, которому соответствует номер строки, и расширенными атрибутами для связанных с ней ячеек в столбцах A, B, C и т. д. Чтение атрибута b файла 9 даст нам значение ячейки B9 таблицы. В примере ниже Google превращается в самодельный калькулятор, сначала заполняющий две ячейки таблицы, а затем записывающий формулу в третью ячейку. Как и через web-интерфейс, в ячейку можно записать формулу, но значением ячейки будет результат ее применения. Так, запустив cat для ячейки с формулой, мы увидим результат вычисления:
- Метамодернизм в позднем творчестве В.Г. Сорокина
- ЛитРПГ - последняя отрыжка постмодерна
- "Ричард III и семиотика"
- 3D-визуализация обложки Ridero создаем обложку книги при работе над самиздатом.
- Архитектура метамодерна - говоря о современном искусстве, невозможно не поговорить об архитектуре. В данной статье будет отмечено несколько интересных принципов, характерных для построек "новой волны", столь притягательных и скандальных.
- Литература
- Метамодерн
- Рокер-Прометей против изначального зла в «Песне про советскую милицию» Вени Дркина, Автор: Нина Ищенко, к.ф.н, член Союза Писателей ЛНР - перепубликация из журнала "Топос".
- Как избавиться от комаров? Лучшие типы ловушек.
- Что делать если роблокс вылетает на windows
- Что делать, если ребенок смотрит порно?
- Почему собака прыгает на людей при встрече?
- Какое масло лить в Задний дифференциал (мост) Visco diff 38434AA050
- О чем может рассказать хвост вашей кошки?
- Верветки
- Отчетность бюджетных учреждений при закупках по Закону № 223-ФЗ
- Срок исковой давности как правильно рассчитать
- Дмитрий Патрушев минсельхоз будет ли преемником Путина
- Кто такой Владислав Поздняков? Что такое "Мужское Государство" и почему его признали экстремистским в России?
- Как правильно выбрать машинное масло в Димитровграде?
- Как стать богатым и знаменитым в России?
- Почему фильм "Пипец" (Kick-Ass) стал популярен по всему миру?
- Как стать мудрецом?
- Как правильно установить FreeBSD
- Как стать таким как Путин?
- Где лучше жить - в Димитровграде или в Ульяновске?
- Почему город Димитровград так называется?
- Что такое метамодерн?
- ВАЖНО! Временное ограничение движения автотранспортных средств в Димитровграде
- Тарифы на электроэнергию для майнеров предложено повысить
$ export SPREAD=google://spreadsheets/smalltest1/Sheet1 $ echo 5 | ferris-redirect --ea b $SPREAD/9 $ echo 23 | ferris-redirect --ea c $SPREAD/9 $ echo -n “=sum(B9,C9)” | ferris-redirect --ea d $SPREAD/9 $ fcat -a d $SPREAD/9 28
Далее, предположим, что в строке 9 аналогичным образом заданы значения, по крайней мере для столбцов B, C и D. Добавив метки и небольшую обертку для SQLite, приведенную ниже, мы можем позабавиться с SQL и Google Spreadsheets. Обратите внимание, что в обеих командах echo для предотвращения создания символа перевода строки используется опция -n. Это важно, так как мы хотим, чтобы в ячейку записалось foo, а не foo\n. В следующем примере создается сессия SQLite для libferris:
$ echo -n foo | ferris-redirect --ea a $SPREAD/9 $ echo -n bar | ferris-redirect --ea a $SPREAD/10 $ cat run.sh #!/bin/bash SQLFILE=${1:=test.sql}; rm -f /tmp/empty/test.sqlite touch /tmp/empty/test.sqlite sqlite3 -init $SQLFILE /tmp/empty/test.sqlite >/dev/null;
Во всех SQL-файлах, которые работают с Google Spreadsheets, нужно настроить виртуальную таблицу для рабочего листа. Соответствующие SQL-запросы (файл $SQLFILE) приведены ниже. Сначала загружается общая библиотека виртуальной таблицы libferris, а затем создается таблица для представления URL-адреса, доступного через libferris. Третий параметр – упрощенная версия обычного синтаксиса создания таблицы: перечисление всех столбцов и их типов.
Столбец берется из расширенных атрибутов файловой системы libferris, и поскольку каждый столбец таблицы – это расширенный атрибут, легко получить через SQLite всю таблицу:
.load libferrissqlitevtable.so create virtual table fs using libferris( ‘google://spreadsheets/smalltest1/Sheet1’,‘’,name text, a text, b int, c int, d int, e text, f text, size int );
[править] Табличный SQL
- Метамодернизм в позднем творчестве В.Г. Сорокина
- ЛитРПГ - последняя отрыжка постмодерна
- "Ричард III и семиотика"
- 3D-визуализация обложки Ridero создаем обложку книги при работе над самиздатом.
- Архитектура метамодерна - говоря о современном искусстве, невозможно не поговорить об архитектуре. В данной статье будет отмечено несколько интересных принципов, характерных для построек "новой волны", столь притягательных и скандальных.
- Литература
- Метамодерн
- Рокер-Прометей против изначального зла в «Песне про советскую милицию» Вени Дркина, Автор: Нина Ищенко, к.ф.н, член Союза Писателей ЛНР - перепубликация из журнала "Топос".
- Как избавиться от комаров? Лучшие типы ловушек.
- Что делать если роблокс вылетает на windows
- Что делать, если ребенок смотрит порно?
- Почему собака прыгает на людей при встрече?
- Какое масло лить в Задний дифференциал (мост) Visco diff 38434AA050
- О чем может рассказать хвост вашей кошки?
- Верветки
- Отчетность бюджетных учреждений при закупках по Закону № 223-ФЗ
- Срок исковой давности как правильно рассчитать
- Дмитрий Патрушев минсельхоз будет ли преемником Путина
- Кто такой Владислав Поздняков? Что такое "Мужское Государство" и почему его признали экстремистским в России?
- Как правильно выбрать машинное масло в Димитровграде?
- Как стать богатым и знаменитым в России?
- Почему фильм "Пипец" (Kick-Ass) стал популярен по всему миру?
- Как стать мудрецом?
- Как правильно установить FreeBSD
- Как стать таким как Путин?
- Где лучше жить - в Димитровграде или в Ульяновске?
- Почему город Димитровград так называется?
- Что такое метамодерн?
- ВАЖНО! Временное ограничение движения автотранспортных средств в Димитровграде
- Тарифы на электроэнергию для майнеров предложено повысить
Можно проверить, что Google умеет складывать числа и что формула в D9 работает так, как мы ожидали, сложив две ячейки с помощью SQL. Обратите внимание, что выражение с where выбирает строку по значению ячейки в таблице, ограничивая запрос только строкой 9. Вот какие данные будут выбраны из Google Spreadsheet:
.headers on select a,b,c,d,b+c as result from fs where a = ‘foo’; a|b|c|d|result foo|21|25|46|46
Конечно, в запросах можно использовать конструкции SQL и поинтереснее. Посмотрите на набор данных ниже. Группировка по двум столбцам для генерации отчета здесь легко обрабатывается SQL:
SELECT max(b),max(c),avg(d) AS mean, sum(d) AS total FROM fs WHERE NOT (b = ‘’ OR c = ‘’) GROUP BY b,c; max(b)|max(c)|mean|total LA|barry|77.0|77 LA|john|12.0|12 LA|peter|54.5|109 NY|barry|77.6666666666667|233 NY|peter|56.0|56
В первой строке листа можно также дать столбцам заголовки: например, поместить location в B1 этой таблицы и пользоваться location вместо b в качестве имени столбца. Когда вы редактируете данные клиентом libferris – в ferris-redirect или файловом менеджере ego (см. рисунок) – таблица в браузере обновляется автоматически. Правда, поддержка мониторинга ленты обновления от Google в libferris еще не реализована, и если вы что-то измените в браузере, то, чтобы увидеть эти изменения, придется обновить клиенты libferris вручную. Обратите внимание, что в файловом менеджере ego столбцы с именами city, person и sales соответствуют столбцам b, c и d. Для доступа можно использовать любое из имен.
В дальнейшем планируется добавить возможность использования другого интерфейса аутентификации в Google, и незачем будет указывать имя файла и пароль в libferris. Также планируется поддержка в Google Docs большего количества типов файлов и обновлений с возможной интеграцией с rsync и git, так что вы сможете локально хранить резервную копию или журнал с изменениями файловой системы Google Docs.
- Метамодернизм в позднем творчестве В.Г. Сорокина
- ЛитРПГ - последняя отрыжка постмодерна
- "Ричард III и семиотика"
- 3D-визуализация обложки Ridero создаем обложку книги при работе над самиздатом.
- Архитектура метамодерна - говоря о современном искусстве, невозможно не поговорить об архитектуре. В данной статье будет отмечено несколько интересных принципов, характерных для построек "новой волны", столь притягательных и скандальных.
- Литература
- Метамодерн
- Рокер-Прометей против изначального зла в «Песне про советскую милицию» Вени Дркина, Автор: Нина Ищенко, к.ф.н, член Союза Писателей ЛНР - перепубликация из журнала "Топос".
- Как избавиться от комаров? Лучшие типы ловушек.
- Что делать если роблокс вылетает на windows
- Что делать, если ребенок смотрит порно?
- Почему собака прыгает на людей при встрече?
- Какое масло лить в Задний дифференциал (мост) Visco diff 38434AA050
- О чем может рассказать хвост вашей кошки?
- Верветки
- Отчетность бюджетных учреждений при закупках по Закону № 223-ФЗ
- Срок исковой давности как правильно рассчитать
- Дмитрий Патрушев минсельхоз будет ли преемником Путина
- Кто такой Владислав Поздняков? Что такое "Мужское Государство" и почему его признали экстремистским в России?
- Как правильно выбрать машинное масло в Димитровграде?
- Как стать богатым и знаменитым в России?
- Почему фильм "Пипец" (Kick-Ass) стал популярен по всему миру?
- Как стать мудрецом?
- Как правильно установить FreeBSD
- Как стать таким как Путин?
- Где лучше жить - в Димитровграде или в Ульяновске?
- Почему город Димитровград так называется?
- Что такое метамодерн?
- ВАЖНО! Временное ограничение движения автотранспортных средств в Димитровграде
- Тарифы на электроэнергию для майнеров предложено повысить
[править] Альтернатива SQL
Если вы не любите SQL, для получения данных из таблицы Google или любой другой файловой системы libferris пользуйтесь XQuery. XQuery может быть удобнее в том случае, если вы генерируете XML-документ по запросу.
Libferris умеет монтировать журналы Apache и реляционные базы данных, а XQuery позволит объединить web-записи первого с пользовательскими данными последних в отдельные KML-файлы для анализа географии ваших посетителей в Google Earth.
[править] Идем дальше
Кроме Google Docs, планируется расширить поддержку YouTube, Vimeo и других видеохостингов, включив туда поиск по видео и загрузку через виртуальные файлы – точно так же, как в API Flickr. Таким образом, должна появиться возможность проигрывать видео с этих сайтов прямо в MPlayer, Xine или VLC, не привлекая браузер.
Основная задача, конечно, охватить побольше сайтов. О некоторых уже известно: это Last.fm и LinkedIn. Также есть планы выделить базовые классы для общей функциональности web-сервиса – постов, списков, комментариев и друзей. В конце концов, на многих из этих сайтов есть система друзей и списки видеороликов и фотографий. Базовые классы смогут позаботиться о функционале, инициируя перечитывания и асинхронные обновления. Это значит, что когда друг добавит комментарий, тот автоматически появится в виртуальной файловой системе.
Сбор друзей всех web-сервисов на Akonadi может также оказаться перспективным. По файлам виртуальных карточек vCard может будет легко увидеть общих друзей на разных web-сервисах.
Web-сервисы – последнее добавление к libferris, и они постоянно развиваются, обрастая новыми возможностями и все больше приближаясь к web-сервисам, лежащим в их основе. Помните, что это открытое ПО – увидев в API web-сервиса то, что вы хотели бы видеть в файловой системе, можете добавить это сами.
[править] Ресурсы
- Первая часть статьи о совместном использовании libferris и SQLite. http://ldn.linuxfoundation.org/article/libferris-and-sqlite-a-powerful-combination-part-1
- Информация по GStreamer и загрузке. http://gstreamer.freedesktop.org
- Домашняя страница расширяемого хранилища Akonadi. http://pim.kde.org/akonadi
[править] Строим социальные сети
Когда сайты социальных сетей начнут поддерживать FOAF+SSL (http://www.w3.org/wiki/Foaf+ssl), вы сможете перетаскивать контакты из одного web-сервиса в каталог с друзьями на другом, обновляя данные на каждом.