Pull to refresh

Tent: децентрализованный социальный веб

Open source *
Diaspora не взлетела, но попытки построить Open Source распределённую социальную сеть будут продолжаться до тех пор, пока такая сеть не будет создана. Новый и очень многообещающий проект в этом направлении называется Tent. Это открытый фреймворк для социального веба — для социальной сети, где контент находится под полным контролем самих пользователей, а не коммерческих компаний.

Если пользователь хочет, он может предоставить доступ к своим файлам компании Facebook/Twitter/Google/etc., которая создала удобный интерфейс для чтения этих данных, но совершенно необязательно хранить файлы на их серверах, будь то фотографии, социальный граф или просто твиты.

Базовые принципы

Каждый сервер Tent может соединяться с любым другим сервером Tent. Каждый пользователь может запустить сервер Tent или доверить свои данные другому серверу. Связи между пользователями устанавливаются независимо от сервера, так что можно мигрировать на другой сервер, не потеряв никакой информации. Каждый пользователь сам устанавливает, какую информацию он открывает для любого другого пользователя. Серверы Tent могут работать в скрытом режиме через Tor для тех, кому нужна анонимность. Каждый может создать веб-приложение, которое подключается к Tent, для отображения или создания пользовательского контента (статусы, микроблоггинг, оповещения о новых фотографиях).
Читать дальше →
Total votes 40: ↑35 and ↓5 +30
Views 3.7K
Comments 18

Отправка служебных сообщений в whatsapp через yowsup2 методом http-get, в том числе отчетов бэкап-сервера Bacula

Configuring Linux *System administration *IT Infrastructure *
Tutorial
Достаточно много видел примеров использования whatsapp-уведомлений с zabbix, и другими системами мониторинга, но на собственные эксперименты с whatsapp меня вдохновила эта статья. Однако если с системами мониторинга все ясно, то при наличии прекрасной «врожденной» системы email-оповещений, городить огород ради одной bacula было откровенно лень. Да и вдруг, потом захочется поставить zabbix или еще что-то куда-то послать? Каждому боту по ватсапу?
Так что, пусть это будет что-то более универсальное. Например, отдельный сервер, который сможет обслужить bacula, zabbix, syslog-сервер, сайт или даже виндоусы с макинтошами.
Читать дальше →
Total votes 9: ↑8 and ↓1 +7
Views 42K
Comments 18

Rich Notifications, utm-метки, webhook и другие нововведения PushAll

PushAll corporate blog API *Browser extensions

За последние 5 месяцев произошло много изменений в PushAll. Много мелких изменений, правок ошибок и оптимизаций, но есть и крупные изменения, о которых мы опишем в статье. Каждый пункт выполнен в стиле how-to.
Читать дальше →
Total votes 6: ↑3 and ↓3 0
Views 3K
Comments 3

Реализация вебхуков на примере взаимодействия сторонних сервисов с онлайн-кассами

Дримкас corporate blog High performance *System Analysis and Design *Node.JS *
Tutorial

Я попросил нашу команду маркетинга нарисовать иллюстрацию и долго объяснял, что такое вебхуки

Не так давно передо мной встала задача реализовать работу вебхуков в Личном кабинете владельца кассы компании Дримкас. Как оказалось, в сети практически нет описания и туториалов, как это сделать. Я расскажу, как мы это реализовали без тяжелых кронов по БД.


Статья будет полезна для middle node.js-разработчиков.
Читать дальше →
Total votes 13: ↑12 and ↓1 +11
Views 43K
Comments 0

Как создать чат-бота для ВКонтакте, используя Python, Django и webhook

Instant Messaging *Python *Django *VK API *
Sandbox
Tutorial

Зачем ещё одна статья про создание чат-бота?


Возможно я плохо искал, но я не смог найти подробного руководства по созданию бота на python с применением фреймворка Django и подхода webhook, работающего на хостинге от российской компании. В большинстве материалов говориться о применении фреймворка Flask и использования бесплатных хостингов Heroku и PythonAnywhere. Опыт сообщества Хабр меня выручает, поэтому я решил в знак благодарности потратить время на написание данной статьи. Опишу полученный практический опыт, чтобы дать возможность всем кто в этом заинтересован сэкономить время и лучше понять как сделать бота на Python с применением фреймворка Django на своём хостинге, используя подход webhook.
Читать дальше →
Total votes 15: ↑10 and ↓5 +5
Views 21K
Comments 7

Голосовой секретарь на вебхуках

Zadarma corporate blog PHP *Programming *Development for e-commerce *Development of communication systems *


Один из последних трендов — онлайн чат-боты. Но, что делать с теми клиентами, которые находятся оффлайн? Большой процент людей предпочитает звонить по телефону. Для них нужен или большой штат операторов, или решение по автоматизации работы с голосом. Предлагаем решение для уменьшения работы и затрат (и даже почти не нагрузит вашего программиста).

Как быстро и легко программировать любое голосовое меню, автоинформатор, робота-секретаря с привязкой к своей базе клиентов?

Спойлер: Все реализовано на webhooks и приведен пример на PHP.

Обсуждаем под катом.
Читать дальше →
Total votes 19: ↑19 and ↓0 +19
Views 4K
Comments 6

Как реализовать деплой с GitHub на продакшн сервер, использовав Webhook

Skillbox corporate blog Programming *Git *GitHub
Translation


У меня давно вошло в привычку создавать репозитории на GitHub. Это куда эффективнее, чем держать все на Google Drive или, того хуже, на жестком диске. Но здесь сразу появляется вопрос: как выполнить деплой на рабочий сервер?

Большинство поисковых запросов выводили меня на Jenkins и другие средства непрерывного развертывания. Но мне хотелось найти иное решение. Так я вышел на бесплатный сервис Webhook.
Читать дальше →
Total votes 26: ↑19 and ↓7 +12
Views 23K
Comments 2

Телега для датасайентиста

Open Data Science corporate blog Configuring Linux *System administration *Python *Machine learning *
Tutorial

How to deploy Python Telegram bot using Webhooks on Google Cloud Platform


Вместо предисловия


image

— Напиши телеграм-бота. Сейчас даже школьники пишут, — сказала она.
— А почему бы и нет, — подумал я тогда ( — Ну, ну, — сказал бы я сейчас).


Мы сидели в Бине и за чашкой кофе обсуждали возможности тестирования идей с моделями искусственного интеллекта на близком и не очень круге друзей. Лена, моя бывшая коллега, и во всех отношениях не блондинка, только что закончившая магистратуру, рассуждала так. Создав бота, можно сэкономить силы и время на интерфейсе, сосредоточившись на ядре с машинным обучением. Согласитесь, что устоять против такой логики “спортсменки, комсомолки и просто красавицы” в то прекрасное воскресное утро было невозможно. Решено. Телеграм-бот, значит телеграм-бот.


Первым делом я залез в гугл и нашел большое число ссылок “как сделать бот за 30 минут”. Это меня настолько воодушевило, что дальше названий я не пошел и занялся созданием ядра. В самом первом приближении мне предстояло написать систему обработки поисковых запросов с использованием NLP (natural language processing). Написание ядра заняло некоторое, вполне разумное, время (все же опыт кока-колой не пропить). И через несколько дней я был готов к тому, чтобы за пару часов обернуть первую тестовую версию ядра в пару другую команд send-receive, запустив все это в Телеграме на благо моим друзьям. Но не тут-то было.


Неожиданно возник целый клубок проблем. Потратив пару дней на поиски в интернете и общение с коллегами по цеху, я понял, что очевидное не очевидно, и еще одна “инструкция” точно не повредит. Так и появилась эта статья.

Читать дальше →
Total votes 49: ↑45 and ↓4 +41
Views 45K
Comments 35

IVR on Webhook

Zadarma corporate blog PHP *API *


An online chatbot is a recent trend on the market. But how to interact with the clients that are offline? A significant percentage of people prefer to interact over the phone. And the business needs either a large staff of operators or a voice communication automating solution. We are offering a solution to reduce workload and costs (and will barely affect your developers’ busyness).
Read more →
Total votes 14: ↑14 and ↓0 +14
Views 966
Comments 0

3 истории сбоев Kubernetes в production: anti-affinity, graceful shutdown, webhook

Флант corporate blog System administration *DevOps *Kubernetes *
Translation

Прим. перев.: Представляем вниманию мини-подборку из постмортемов о фатальных проблемах, с которыми столкнулись инженеры разных компаний при эксплуатации инфраструктуры на базе Kubernetes. Каждая заметка рассказывает о самой проблеме, её причинах и последствиях, а также, конечно, о решении, помогающем избегать подобных ситуаций в будущем.

Как известно, учиться на чужом опыте дешевле, а посему — пусть эти истории помогут быть готовыми к возможным неожиданностям. Кстати, большая и регулярно обновляемая подборка ссылок на такие «failure stories» публикуется на этом сайте (по данным из этого Git-репозитория).
Читать дальше →
Total votes 37: ↑37 and ↓0 +37
Views 13K
Comments 12

Динамическая CDN для WebRTC стриминга с низкой задержкой и контролем доступа к потокам

Flashphoner corporate blog Website development *Working with video *Programming *Video conferencing


В первой части мы развернули простую динамическую CDN для трансляции WebRTC потоков на два континента и убедились в том, что задержки в такой CDN действительно низкие, на примере таймера обратного отсчета.


Во второй части мы добавили в CDN выделенные серверы для задач транскодирования, чтобы обеспечить нашим зрителям качество трансляции в зависимости от используемых ими устройств и качества канала. Таким образом, все публикуемые потоки в нашей CDN доступны всем зрителям.


Теперь допустим, что предприятие выходит на этап монетизации и часть потоков должны быть доступны бесплатно, часть — по подписке. Или, например, вебинары для внутреннего обучения сотрудников транслируются одновременно, но для разных филиалов потоки разные, и открывать техники продаж, применяемые в Юго-Восточной Азии, для менеджеров из СНГ нежелательно.

Читать дальше →
Total votes 4: ↑4 and ↓0 +4
Views 1.4K
Comments 2

Dynamic CDN for Low Latency WebRTC Streaming with Stream Access Control

Flashphoner corporate blog Website development *Working with video *Programming *Video conferencing


In the first part, we have deployed a simple dynamic CDN for broadcasting WebRTC streams to two continents and have proved on the example of a countdown timer that the latency in this type of CDN is actually low.


In the second part, we have incorporated dedicated servers into the CDN for performing the task of transcoding in order to provide good broadcast quality to our viewers based on the devices they use and the channel quality. In this manner, all published streams in our CDN are available to all the viewers.


Now, assume that a company is starting to introduce its monetization strategy where a number of streams should be available for free and the rest on a subscription basis. Or, for example, webinars for in-house staff training are broadcasted simultaneously, but each subsidiary has a separate stream, and disclosing the sales techniques used in Southeast Asia to the managers from CIS countries is undesirable.

Read more →
Total votes 1: ↑1 and ↓0 +1
Views 1.1K
Comments 0

Создание полноценного Viberbot на Django 2 и Viber REST API. Часть первая — Webhook

Python *Programming *Django *API *Mobile App Analytics *
🔥 Technotext 2020
Tutorial

Установка Webhook для работы bot на viber и отправка первого POST запроса к backend мессенджера


Опираясь на свой опыт разработки под Viber и множество неоднозначных мнений, публикую цикл статей по созданию и запуску viberbot. Для понимая полной картины в целом, будем работать с чистым REST API VIBER, без каких либо оберток.

Радио Вайбер показал себя слишком нестандартно, поэтому мы будем создавать классический диалоговый бот (коих много тысяч развелось в telegram).

Параллельно увидим все недостатки и преимущества botviber и поймем: чему в России легче быть — botviber VS bottelegram, главные отличия бот разработки этих платформ.

image

При более скудном наборе методов чем в телеге — тем не менее, в Viber можно создавать гораздо более эффектные UI интерфейсы и не ограничивать себя серым унылым цветом кнопок меню и инлайн кнопочек.

Статья больше расcчитана на новичков, кто не успел разобраться с REST API Viber.

В течение месяца по 1-2 tutorial в неделю кто захочет, тот научиться создавать боты на мессенджере Viber, c личной админ-панель, инструментами рассылки bulk-messages, без каких либо конструкторов и платформ. Также создадим minilanding-page (как у телеграм-ботов) для поиска и продвижения вашего бота.

Я рекомендую параллельно изучать Django, кто еще не начал, и особенностей его работы в develop и production режимах.

Не хватает бота — тогда начнем

Читать дальше →
Total votes 8: ↑8 and ↓0 +8
Views 16K
Comments 0

Эволюция обработки вебхуков Facebook: с нуля до 25 000 в секунду

Конференции Олега Бунина (Онтико) corporate blog High performance *PHP *Facebook API *
Скорее всего, рассказывать, что такое вебхуки (webhooks) — никому не нужно. Но на всякий случай: вебхуки — это механизм оповещения о событиях во внешней системе. Например, о покупке в интернет-магазине через онлайн-кассу, отправке кода в GitHub-репозиторий или действиях пользователей в чатах. В типичном API нужно постоянно опрашивать сервер, написал ли пользователь что-нибудь в чате. С помощью механизма вебхуков можно «подписаться» на оповещения, и сервер сам отправит HTTP-запрос, когда произойдет событие. Это удобнее и быстрее, чем постоянно запрашивать новые данные на сервере.



ManyChat — это платформа, которая помогает бизнесу общаться со своими клиентами через чаты в мессенджерах. Вебхуки — одна из важных частей ManyChat, потому что именно через них бизнес общается с клиентами. А общаются они много — например, через систему бизнесы отправляют своим клиентам миллиарды сообщений в месяц.

Основная масса сообщений отправляется через Facebook Messenger. У него есть особенность — медленный API. Когда клиент пишет сообщение, чтобы заказать пиццу, Facebook отправляет в ManyChat вебхук. Платформа его обрабатывает, отправляет запрос обратно и пользователь получает сообщение. Из-за медленного API некоторые запросы идут несколько секунд. Но когда платформа долго не отвечает, бизнес теряет клиента, а Facebook может отключить приложение от вебхуков.

Поэтому обработка вебхуков — это одна из главных инженерных задач платформы. Чтобы решить проблему, в ManyChat за три года работы несколько раз меняли архитектуру обработки с простого контроллера в Yii до распределенной системы с «Галактиками». Подробнее об этом под катом расскажет Дмитрий Кушников (@cancellarius).
Читать дальше →
Total votes 37: ↑34 and ↓3 +31
Views 11K
Comments 12

Создание полноценного Viberbot. Часть вторая — первый контакт или «сonversation_started»

Python *Programming *Django *API *Mobile App Analytics *
Tutorial

Отправка первого сообщения пользователю — приветствуем и подписываем


В первой части мы научились запускать стартер устанавливать webhook для нашего проекта botviber.

В этой 2-й мы научимся отправлять первое сообщение показываемое для наших пользователей, создавать ссылки для поиска и запуска нашего бота как внутри ViberURL так и NoViberURL

image

Читать дальше →
Total votes 4: ↑4 and ↓0 +4
Views 8.2K
Comments 1

GUI для отладки HTTP запросов (webhook tester)

Website development *Go *Development Management *

Как показывает собственный опыт - если разработчик пишет код, который взаимодействует с внешним миром, то закон Мерфи сработает быстрее, чем хотел бы того этот самый разработчик. И дело даже не в том, что в этом случае появляются зависимости от доступности внешнего мира и стороны принимающей данные - часто ошибки появляются на стороне кода отправляющего данные из-за недостаточной его проверки, полагаясь на "ну, код вроде выглядит нормально, да и unit-тест есть на это". Но должного ли качества этот самый тест, и фиксирует ли он то, что надо? А что будет, если состав данных будет совсем не такой, как в тесте?

В этот момент появляется желание посмотреть "так что же на самом деле отправляет my-awesome-lib?", и если это желание возникает и у тебя, мой дорогой читатель, и отправка происходит посредством протокола HTTP - то, возможно, у меня для тебя есть "ещё одна тулзовина для отладки HTTP запросов" в твою коллекцию (бесплатно, без регистрации).

Читать далее
Total votes 11: ↑9 and ↓2 +7
Views 7K
Comments 13

Http-stubs — поиск идеального инструмента

Uma.Tech corporate blog IT systems testing *Web services testing *

Http-stubs — поиск идеального инструмента



Всем хорошего дня, я backend-разработчик компании Uma.Tech. Сегодня я хочу рассказать, как однажды нашему отделу разработки поступила задача от отдела тестирования: локально развернуть сервис создания заглушек для http-запросов. Если интересно, как проходил поиск, сравнение разных opensource и не только инструментов, до чего мы в итоге докатились и причём тут попугай на картинке — прошу под кат.

Читать дальше →
Total votes 7: ↑7 and ↓0 +7
Views 2.4K
Comments 2

Обзор разработки дополнений для amoCRM, с использованием webHook и виджетов

Self Promo

По работе пришлось столкнуться с разработкой модуля для amoCRM, достаточно интересная и функциональная CRM, быстрая и отзывчивая техническая поддержка. Документация исчерпывающая, с примерами, поэтому речь пойдет лишь о кратком описании со ссылками на документацию и затрону некоторые нюансы разработки.

Читать далее
Total votes 3: ↑3 and ↓0 +3
Views 3.3K
Comments 1

Масштабируемый Продакшн-реди Телеграм бот на Django

Python *Django *GitHub DevOps *
Tutorial

На хабре очень много статей о том, как создать простейшего Телеграм бота с кнопками и логикой. Есть инструкции, как это все запустить на сервере. В этой статье я расскажу, как делать масштабируемых ботов "для продакшена", которыми смогут пользоваться сотни тысяч пользователей.

Читать далее
Total votes 25: ↑22 and ↓3 +19
Views 22K
Comments 20

You shall not pass, или Как мы настроили мониторинг тестовых окружений

DINS corporate blog Instant Messaging *IT systems testing *Development Management *
Sandbox

Привет, Хабр! Меня зовут Раиса. Я работаю в компании DINS старшим инженером по нагрузочному тестированию. Сегодня я хочу поговорить об энваройнментах. Ни для кого не секрет, что энвайронмент (environment) — это основная рабочая площадка тестировщика. Если у программиста — это любимая IDE, то у тестировщика — милый и родной энвайронмент.

Но что делать, если энв (здесь и далее энв, энвайронмент, окружение, стенд, подразумевают одно и то же) общедоступный? То есть и разработчики, и тестировщики, и даже другие команды, админы и прочие могут прийти и что-то на энве изменить, случайно или специально. Так было и у нас, но потом мы настроили мониторинг для наших окружений и теперь живем мирно и счастливо. Далее расскажу, как это было.

Читать далее
Total votes 18: ↑17 and ↓1 +16
Views 4K
Comments 0
1