Использование Telegram Core API (MTProto) на PHP

Эта заметка не про Bot API, а про Core API Telegram, с помощью которого можно создавать полноценные клиенты для месседжера, и конечно же любой другой софт, например для сбора данных из Телеграма. Основная проблема заключается в том, что общение с серверами Telegram осуществляется по специальному протоколу разработанным внутри компании — MTProto. Именно благодаря этому протоколу данный месседжер и славится своей безопасностью и шифрование данных. Вас мучают вопросы: как использовать Telegram Api на PHP? Как вызывать функции? Очень много примеров использования telegram api для бота, а как использовать обычное api telegram? Зарегистрировал приложение, получил api_id и api_hash, как получить все сообщения из телеграм-канала? https://core.telegram.org/method/messages.getHistory Как вызвать этот метод? Как реализовать авторизацию с помощью API Telegram? Тогда эта статья для вас! (далее…)

Как подключить Xiaomi Mi Band 2 к телефону

Для подключения к смартфону фитнес-браслета Xiaomi Mi Band 2 используется технология Bluetooth, а взаимодействие устройств выполняется с помощью приложения Mi Fit. Первое подключение также можно попробовать сделать и через стандартное меню Bluetooth-подключений в настройках смартфона. Однако, бывает, что смартфон ни в какую не хочет видеть Mi Band 2. Давайте рассмотрим причины по которым фитнес-трекер Xiaomi Mi Band 2 не работает, а также другие распространённые проблемы и способы их устранения. (далее…)

Ультрахайлоад и сверхоперативная память

https://www.youtube.com/watch?v=gfdAfhSM724 Очень крутой доклад от технического директора exp(capital) о методах повышения времени отклика и реалтаймовой обработки потока сообщений измеряемого в гигабитах в секунду. Компания является биржевым маркет-мейкером, а система представляет собой торгового робота, который отслеживает всю биржевую активность на десятках торговых площадках по сотням торговых пар и ежесекундно принимает решения о заключении сделок. (далее…)

Поменять местами значения переменных в PHP

Существует красивое и элегантное решение в одну строку: list($a, $b) = [$b, $a]; А для PHP версий 5.3 и старше можно воспользоваться сокращённым вариантом: [$a, $b] = [$b, $a]; Что более читаемо и проще, чем классическое:

$tmp = $a;
$a = $b;
$b = $tmp;
Кроме того, таким образом можно поменять местами значения более чем двух переменных за раз:
[$a, $b, $c] = [$c, $b, $a];
(далее…)

Ротация логов docker контейнеров

В продолжение прошлой статьи рассмотрим пример настройки ротации логов контейнеров на примере CentOs 7. В моём случае stdout и stderr контейнеров никакой ценности не имеют, а все значимые события пишутся либо в примонтированные директории, либо в Apache Kafka. В ротации логов внутри самих контейнеров не вижу смысла. (далее…)

Big Data & Brews

Набрёл на странный канал: ребята пьют крафтовое илитное певко и обсуждают Big Data технологии. Как же я сам до такого не додумался…

Журналируемые файловые системы Linux

Хоть немного и старая, но всё же хорошая статья на доступном языке о журналировании в файловых системах.

Журналируемые файловые системы обеспечивают надёжность и защиту от повреждения данных при крахе системы или потере питания. Время восстановления в таких системах намного меньше, чем в традиционных файловых системах (например таких в которых применяется fsck). Их польза очевидна, и они уже стали стандартом файловых систем.
(далее…)

Как в Laravel создать подключение к БД в runtime

Бывают ситуации, например, когда предопределённых в конфиге Laravel подключений к базам данных не достаточно и возникает потребность создавать подключения динамически во время выполнения PHP скрипта. Например, креденшиналы задаются как параметры консольной команды. Иногда это единственный способ проинтегрироваться с посторонним приложением. Далее рассмотрим один из способов решения подобных задач. (далее…)


Любишь мемасики?

Подпишись на мой телеграм-канал!

Открыть
Закрыть