Консольно-ориентированные сервисы — 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 — Идея, использование, создание.
Содержание
Видео
Посмотрели доклад? Понравился? Напишите комментарий! Не согласны? Тем более напишите.
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.
В свободное от работы время он занимается разработкой и продвижением консольно-ориентированных сервисов.
Примечания и ссылки
Plays:227 Comments:0