Консольно-ориентированные сервисы — wttr.in, cheat.sh, rate.sx — идея, использование, создание (Игорь Чубин, LVEE-2018)

Материал из 0x1.tv

Докладчик
Игорь Чубин

Console orineted services: wttr.in, cheat.sh, rate.sx: idea, usage, and creation The presentation is devoted to console oriented services, such as: wttr.in, cheat.sh, rate.sx. Which popular console oriented services exist currently and how can they be used in everyday life; what advantages and disadvantages do they have; how services like that could be created.


Консольно-ориентированные сервисы: wttr.in, cheat.sh, rate.sx — Идея, использование, создание.

Видео

on youtube

Посмотрели доклад? Понравился? Напишите комментарий! Не согласны? Тем более напишите.

Thesis

На рубеже 2015 и 2016 годов, в дополнение к традиционно существующим типам программ и служб, доступным пользователям UNIX/Linux, а именно локально инсталлируеммым программам, доступным для использования в консоли или в графической оболочке, и, программам, работающим на внешних серверах, и доступным через web-интерфейс, появился третий, новый, тип программ, совмещающих в себе свойства первых двух типов: так называемые консольно-ориентированные сервисы, которые не требуют инсталляции и доступны к использованию как из терминала, так и из браузера.

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

Характерной особенностью таких сервисов является то, что их использование, с точки зрения пользователя, напоминает использование обыкновенного простого веб-сайта, но только в отличие от веб-сайта, для них наличие браузера не обязательно, вместо него можно использовать простые HTTP-клиенты, такие как curl, httpie или wget. Путешествие по гиперссылкам при этом заменяется манипуляциями с URL, который в случае консольных сервисов, как правило, чрезвычайно прост и интуитивно понятен.

Важным аспектом сервисов является и то, что они построены таким образом, что отображаются в консоли UNIX/Linux системы и в браузере одинаково.

Это достигается при помощи анализа заголовка User-Agent запроса, в зависимости от которого ответ генерируется в форме HTML, пригодной для браузера, или в ANSI, пригодной для терминала. Такой подход существенно облегчает новым пользователям порог вхождения и начало использования консольных сервисов.

Следующие команды, выполненные в терминале, позволют получить первое впечатление о том, что такое консольные сервисы, и как они выглядят с точки зрения пользователя:

curl be.wttr.in/Minsk
curl rate.sx/btc
curl cheat.sh/lua/copy+file

Если использовать эти же строки запроса в браузере, то можно увидеть ответы аналогичные тем, что получены при запросе из терминала.

Как уже было сказано, сервисы созданные в соответствии с этим таким подходом обладают множеством преимуществ как в сравнении с сервисами, созданными для использования из Web-браузера, так и в сравнении с традиционными консольными приложениями:

  • скорость;
  • совместимость;
  • очень низкие требования к клиенту;
  • прекрасная возможность интеграции;
  • простота и краткость;
  • анонимность использования;

и так далее.

В рамках популяризации идеи создания консольных сервисов, было создано несколько типичных консольных сервисов, некоторые из которых получили большую известность, и сейчас уже знакомы большому количеству активных пользователей консоли UNIX/Linux во всём мире. Некоторые из них описаны ниже.

Кроме того, был создан специальный фреймворк, curlator, который существенно упрощает создание консольных сервисов, и делает задачу создания консольных сервисов доступным любому пользователю UNIX/Linux-систем, не требуя от него никаких специальных знаний. Создание сервиса при этом по сложности соизмеримо с инсталляцией и начальным конфигурированием обычной UNIX/Linux-программы.

Примеры популярных консольно-ориентированных сервисов

wttr.in

wttr.in — сервис прогноза погоды, позволяет получить информацию о погоде в любой точке земного шара на одном из более 50 мировых языков; как и любой консольный сервис не требует никакой инсталляции и конфигурирования.

Примеры использования:

curl wttr.in
curl ru.wttr.in
curl be.wttr.in/Minsk
curl uk.wttr.in/Москва

cheat.sh

cheat.sh — сервис подсказок по UNIX/Linux-командам и языкам программирования.

С его помощью можно получить подсказку с наиболее популярными примерами использования основных программ UNIX/Linux (сейчас сервис покрывает более 1000 команд), а так же получить ответы на практически любой вопрос по практически любому языку программирования.

Примеры использования:

curl cheat.sh
curl cheat.sh/btrfs
curl cheat.sh/az~snapshot
curl cheat.sh/lua/copy+file
curl cheat.sh/ruby/скопировать+файл
curl cheat.sh/python/створити+дерево+каталогів

rate.sx

rate.sx — сервис отслеживания обменных курсов валюты и криптовалюты.

С его помощью можно получить информацию о текущей и исторической стоимости любой (из 500 наиболее популярных) криптовалюты на рынке, а так же её рыночную капитализацию, объём торгов и множество других характеристик.

curl rate.sx
curl rate.sx/btc
curl rate.sx/btc@1w
curl rate.sx/btc/eth@1w
curl eur.rate.sx/btc

Другие сервисы

Существует ряд других, менее популярных консольных сервисов, популярность которых, однако, растёт. Актуальный список сервисов доступен по адресу: https://github.com/chubin/awesome-console-services

Об авторе

Игорь Чубин — разработчик программного обеспечения, активный убеждённый пользователь и энтузиаст программного обеспечения. Основная его работа на протяжении последних десяти лет, это разработка высокопроизводительной распределённой реляционной базы данных Exasol.

В свободное от работы время он занимается разработкой и продвижением консольно-ориентированных сервисов.

Консольно-ориентированные сервисы — wttr.in, cheat.sh, rate.sx!.jpg

Примечания и ссылки

Plays:227   Comments:0