HTTP Macros - это расширение функциональности Http фасада для удобства преобразования данных.
Из коробки предоставлено два базовых метода -
Также можно легко создать и зарегистрировать любой макрос.
https://github.com/TheDragonCode/laravel-http-macros
Из коробки предоставлено два базовых метода -
toData и toDataCollection, преобразующих возвращаемые данные в конкретный класс или коллекцию классов.Также можно легко создать и зарегистрировать любой макрос.
https://github.com/TheDragonCode/laravel-http-macros
🔥4
Laravel Http Macros 1.3.0 released
Added
- Added withLogger macro for Request
- Added the ability to specify macros for a request object
Changed
- Improved generation of helper files for IDE
Fixed
- Fixed image path
https://github.com/TheDragonCode/laravel-http-macros/releases/tag/1.3.0
#laravel_http_macros #http #laravel #macros
Added
- Added withLogger macro for Request
- Added the ability to specify macros for a request object
Changed
- Improved generation of helper files for IDE
Fixed
- Fixed image path
https://github.com/TheDragonCode/laravel-http-macros/releases/tag/1.3.0
#laravel_http_macros #http #laravel #macros
GitHub
Release 1.3.0 · TheDragonCode/laravel-http-macros
Added
Added withLogger macro for Request by @andrey-helldar in #10
Added the ability to specify macros for a request object by @andrey-helldar in #9
Changed
Improved generation of helper files f...
Added withLogger macro for Request by @andrey-helldar in #10
Added the ability to specify macros for a request object by @andrey-helldar in #9
Changed
Improved generation of helper files f...
Laravel Http Macros 1.3.1 released
Changed
- Added information about requests to the configuration section
- Removed default helper files
- Removed unnecessary block from README.md
- Removed unused class for tooltips in Laravel Idea
Fixed
- Fixed dock block typing for extending the Response object
https://github.com/TheDragonCode/laravel-http-macros/releases/tag/1.3.1
#laravel_http_macros #http #laravel #macros
Changed
- Added information about requests to the configuration section
- Removed default helper files
- Removed unnecessary block from README.md
- Removed unused class for tooltips in Laravel Idea
Fixed
- Fixed dock block typing for extending the Response object
https://github.com/TheDragonCode/laravel-http-macros/releases/tag/1.3.1
#laravel_http_macros #http #laravel #macros
GitHub
Release 1.3.1 · TheDragonCode/laravel-http-macros
Changed
Added information about requests to the configuration section by @andrey-helldar in #12
Removed default helper files by @andrey-helldar in #14
Removed unnecessary block from README.md by @...
Added information about requests to the configuration section by @andrey-helldar in #12
Removed default helper files by @andrey-helldar in #14
Removed unnecessary block from README.md by @...
🔥 The algorithms — крупнейшая библиотека алгоритмов с открытым исходным кодом на GitHub
На сайте вы можете совместно с другими разрабами писать, документировать и улучшать алгоритмы, делиться кодом и помогать друг другу решать различные сложные задачи.
👉 Сайт: https://the-algorithms.com/ru
👉 GitHub: https://github.com/TheAlgorithms
На сайте вы можете совместно с другими разрабами писать, документировать и улучшать алгоритмы, делиться кодом и помогать друг другу решать различные сложные задачи.
👉 Сайт: https://the-algorithms.com/ru
👉 GitHub: https://github.com/TheAlgorithms
🔥1
Github Notifications 1.10.0 released
Added
- Added service account IDs to mark as read
https://github.com/TheDragonCode/github-notifications/releases/tag/1.10.0
#github_notifications #github #notifications
Added
- Added service account IDs to mark as read
https://github.com/TheDragonCode/github-notifications/releases/tag/1.10.0
#github_notifications #github #notifications
GitHub
Release 1.10.0 · TheDragonCode/github-notifications
Added
Added service account IDs to mark as read by @andrey-helldar in #107
Added service account IDs to mark as read by @andrey-helldar in #107
Elasticsearch вновь становится опенсурсным
https://www.elastic.co/blog/elasticsearch-is-open-source-again
https://www.elastic.co/blog/elasticsearch-is-open-source-again
Elastic Blog
Elasticsearch Is Open Source. Again!
Elastic announces the return of open source licensing for Elasticsearch and Kibana, adding AGPL as an option alongside existing licenses. This change reinforces our long-standing commitment to open source principles and the open source community.
😁2🎉1
Laravel Deploy Operations 6.2.2 released
Changed
- Added information message about the successful launch of an asynchronous task
https://github.com/TheDragonCode/laravel-deploy-operations/releases/tag/6.2.2
#laravel_deploy_operations #deploy #laravel #operations
Changed
- Added information message about the successful launch of an asynchronous task
https://github.com/TheDragonCode/laravel-deploy-operations/releases/tag/6.2.2
#laravel_deploy_operations #deploy #laravel #operations
GitHub
Release 6.2.2 · TheDragonCode/laravel-deploy-operations
Changed
Added information message about the successful launch of an asynchronous task by @andrey-helldar in #176
Added information message about the successful launch of an asynchronous task by @andrey-helldar in #176
Support 6.14.0 released
Added
- Fix naming: doesntEmpty -> isNotEmpty
https://github.com/TheDragonCode/support/releases/tag/6.14.0
#support
Added
- Fix naming: doesntEmpty -> isNotEmpty
https://github.com/TheDragonCode/support/releases/tag/6.14.0
#support
GitHub
Release 6.14.0 · TheDragonCode/support
Added
Fix naming: doesntEmpty -> isNotEmpty by @djlimix in #289
Fix naming: doesntEmpty -> isNotEmpty by @djlimix in #289
Support 6.15.0 released
Added
- Added missing isNotEmpty methods
https://github.com/TheDragonCode/support/releases/tag/6.15.0
#support
Added
- Added missing isNotEmpty methods
https://github.com/TheDragonCode/support/releases/tag/6.15.0
#support
GitHub
Release 6.15.0 · TheDragonCode/support
Added
Added missing isNotEmpty methods by @andrey-helldar in #290
Added missing isNotEmpty methods by @andrey-helldar in #290
Laravel Deploy Operations 6.3.0 released
Changed
- Displaying name of created action
https://github.com/TheDragonCode/laravel-deploy-operations/releases/tag/6.3.0
#laravel_deploy_operations #deploy #laravel #operations
Changed
- Displaying name of created action
https://github.com/TheDragonCode/laravel-deploy-operations/releases/tag/6.3.0
#laravel_deploy_operations #deploy #laravel #operations
GitHub
Release 6.3.0 · TheDragonCode/laravel-deploy-operations
Changed
Displaying name of created action by @fkrzski in #177
Displaying name of created action by @fkrzski in #177
Laravel Deploy Operations 6.3.1 released
Fixed
- Fixed an issue with displaying colors
- Fixed the range of laravel/prompts version used
https://github.com/TheDragonCode/laravel-deploy-operations/releases/tag/6.3.1
#laravel_deploy_operations #deploy #laravel #operations
Fixed
- Fixed an issue with displaying colors
- Fixed the range of laravel/prompts version used
https://github.com/TheDragonCode/laravel-deploy-operations/releases/tag/6.3.1
#laravel_deploy_operations #deploy #laravel #operations
GitHub
Release 6.3.1 · TheDragonCode/laravel-deploy-operations
Fixed
Fixed an issue with displaying colors by @andrey-helldar in #178
Fixed the range of laravel/prompts version used by @andrey-helldar in #179
Fixed an issue with displaying colors by @andrey-helldar in #178
Fixed the range of laravel/prompts version used by @andrey-helldar in #179
👍1
Во время разработки иногда возникает необходимость быстрой подсказки имён файлов из какой-либо директории.
Обычно мы пишем полный путь начинающийся либо от текущего местоположения (
Минусы этого способа в том, что:
1. нужно всегда помнить где находится файл либо искать его, надеясь на подсказки шторма;
2. таких мест вызова может быть много и в случае изменения расположения файлов, нужно их все обновлять.
При помощи плагина Laravel Idea для PhpStorm можно значительно упростить это действие.
Допустим у нас есть функция
Для этого создаём в корне проекта файл
И добавляем префикс директории в функции. Например:
Всё! Обращение к пути выглядит компактно, красиво и функционально:
В качестве бонуса работает Ctrl/Cmd+Click по пути - плагин перебросит Вас в файл 🙂
Обычно мы пишем полный путь начинающийся либо от текущего местоположения (
__DIR__), либо от функции-хелпера Laravel (base_path(), resource_path() и т.д.).Минусы этого способа в том, что:
1. нужно всегда помнить где находится файл либо искать его, надеясь на подсказки шторма;
2. таких мест вызова может быть много и в случае изменения расположения файлов, нужно их все обновлять.
При помощи плагина Laravel Idea для PhpStorm можно значительно упростить это действие.
Допустим у нас есть функция
webhook(), в которую мы хотим передавать не полный, а относительный директории путь.Для этого создаём в корне проекта файл
ide.json и вставляем в него следующее содержимое, не забыв изменить имя функции (или нескольких), а также путь к директории:{
"$schema": "https://laravel-ide.com/schema/laravel-ide-v2.json",
"completions": [
{
"complete": "directoryFiles",
"condition": [
{
"functionNames": ["webhook"],
"place": "parameter",
"parameters": [1]
}
],
"options": {
"directory": "tests/Fixtures",
"recursive": true
}
}
]
}И добавляем префикс директории в функции. Например:
function webhook(string $filename): void
{
$content = json_decode(file_get_contents(
base_path('tests/Fixtures/' . $filename)
), true);
// some actions
}
Всё! Обращение к пути выглядит компактно, красиво и функционально:
it('with reply', function () {
webhook('Callbacks/welcome.json');
});В качестве бонуса работает Ctrl/Cmd+Click по пути - плагин перебросит Вас в файл 🙂
🔥5
⚡️ Laravel Octane для тех, кто хочет быстро вкатиться, но не знает с чего начать
Возникла необходимость запустить вышеупомянутый сервис с RoadRunner на одном из проектов, и чтобы не ходить вокруг да около, прилагаю процесс в "сухом" виде:
1. Устанавливаем зависимости:
2. Выполняем консольную команду
2.1. Which app?
2.2. Download binary?
Всё. Октан готов к работе. Можете запускать консольную команду
Но есть один нюанс, во всяком случае под Windows. Запуская октан в wsl, он не будет сохранять состояние приложения и при каждом обновлении страницы будет его заново инициализировать. Решение очень простое - нужно указать количество воркеров для работы, например, один:
Всё. Теперь октан будет гарантированно запоминать состояние. Но есть, опять же, нюанс - если к этой команде добавить параметр
Для сравнения, загрузка страницы со списком товаров из базы при старте через
Также можно дополнить блок
После этого, при вызовах команд
И вторая команда -
Всё 🙂
Возникла необходимость запустить вышеупомянутый сервис с RoadRunner на одном из проектов, и чтобы не ходить вокруг да около, прилагаю процесс в "сухом" виде:
При разработке под Windows нужно обязательно войти в подсистему Linux (wsl или в контейнер виртуализации), так как под самим Windows запустить RoadRunner можно, но вот Laravel Octane - нет. Причина в использовании функций сигналов, отсутствующих в Windows. Дальше для всех одинаково.
1. Устанавливаем зависимости:
composer require laravel/octane spiral/roadrunner spiral/roadrunner-cli spiral/roadrunner-http
2. Выполняем консольную команду
php artisan octane:install выбирая следующие пункты:2.1. Which app?
roadrunner2.2. Download binary?
YesВсё. Октан готов к работе. Можете запускать консольную команду
php artisan octane:start --poll и наслаждаться им.Но есть один нюанс, во всяком случае под Windows. Запуская октан в wsl, он не будет сохранять состояние приложения и при каждом обновлении страницы будет его заново инициализировать. Решение очень простое - нужно указать количество воркеров для работы, например, один:
php artisan octane:start --poll --workers=1
Всё. Теперь октан будет гарантированно запоминать состояние. Но есть, опять же, нюанс - если к этой команде добавить параметр
--watch, то она упадёт.Для сравнения, загрузка страницы со списком товаров из базы при старте через
artisan serve и с БД в докер-контейнере, занимает у меня около 150-300 мс. Сервис, запущенный из wsl отдаёт данные за 5-7 секунд. Laravel Octane справляется за 41 мс.Также можно дополнить блок
scripts в файле composer.json:{
"scripts": {
// ...
"post-install-cmd": [
"@roadrunner"
],
"post-update-cmd": [
"@php artisan vendor:publish --tag=laravel-assets --ansi --force",
"@php artisan vendor:publish --tag=telescope-assets --ansi --force",
"@roadrunner"
],
"octane": [
"Composer\\Config::disableProcessTimeout",
"@php artisan octane:start --poll --workers=1"
],
"roadrunner": [
"rm -f rr",
"@php vendor/bin/rr get-binary -o linux"
]
}
}После этого, при вызовах команд
composer install и composer update октан будет автоматически обновляться.Учтите, что обновление происходит путём скачивания zip архива при помощи curl без пробрасывания авторизационного токена, установленного в Composer, поэтому чревато схватить ошибку 403 API rate limit exceeded.
И вторая команда -
composer octane вместо запуска самого октана.Всё 🙂
🔥7❤4👍1👎1
Laravel Deploy Operations 6.3.2 released
Fixed
- Improved support for Laravel Idea when entering a name
https://github.com/TheDragonCode/laravel-deploy-operations/releases/tag/6.3.2
#laravel_deploy_operations #deploy #laravel #operations
Fixed
- Improved support for Laravel Idea when entering a name
https://github.com/TheDragonCode/laravel-deploy-operations/releases/tag/6.3.2
#laravel_deploy_operations #deploy #laravel #operations
GitHub
Release 6.3.2 · TheDragonCode/laravel-deploy-operations
Fixed
Improved support for Laravel Idea when entering a name by @andrey-helldar in #180
Improved support for Laravel Idea when entering a name by @andrey-helldar in #180
🤖 Поддержка нескольких ботов в DefStudio Telegraph
Программный продукт Telegraph от DefStudio работает шустро и работать с ним одно удовольствие. Но не обошлось и без ложки дёгтя в этом меду - несмотря на возможность работы с несколькими ботами, обработчик для них всех будет лишь один. Благо есть лёгкий способ это исправить.
https://habr.com/ru/articles/848240/
Программный продукт Telegraph от DefStudio работает шустро и работать с ним одно удовольствие. Но не обошлось и без ложки дёгтя в этом меду - несмотря на возможность работы с несколькими ботами, обработчик для них всех будет лишь один. Благо есть лёгкий способ это исправить.
https://habr.com/ru/articles/848240/
Хабр
Поддержка нескольких ботов в DefStudio Telegraph
Программный продукт Telegraph от DefStudio работает шустро и работать с ним одно удовольствие. Но не обошлось и без ложки дёгтя в этом меду - несмотря на возможность работы с несколькими ботами,...
👍8🍓2💊1
Forwarded from Kvede Новости
Состоялся релиз первой альфа-версии проекта Kvede Bot
Всё что можно было протестировать юнит-тестами и руками в тестовых группах, протестировано.
В данный момент текущий функционал @KvedeBot содержит всё что было у @LightCleanerBot с некоторыми доработками в сторону улучшений.
Веб-интерфейса пока ещё нет, он появится в следующих релизах после фиксов возможных багов.
Инструкция по миграции:
1. Удаляем из группы @LightCleanerBot
2. Добавляем в группу @KvedeBot с обязательным назначением прав администратора на удаление сообщений и блокировку пользователей.
3. Всё.
Старый бот будет полностью отключен 31-го октября.
Всё что можно было протестировать юнит-тестами и руками в тестовых группах, протестировано.
В данный момент текущий функционал @KvedeBot содержит всё что было у @LightCleanerBot с некоторыми доработками в сторону улучшений.
Веб-интерфейса пока ещё нет, он появится в следующих релизах после фиксов возможных багов.
Инструкция по миграции:
1. Удаляем из группы @LightCleanerBot
2. Добавляем в группу @KvedeBot с обязательным назначением прав администратора на удаление сообщений и блокировку пользователей.
3. Всё.
Старый бот будет полностью отключен 31-го октября.
Forwarded from Kvede Новости
Проект находится в стадии альфа-тестирования
В это время использовать его может каждый абсолютно бесплатно.
Для начала работы добавьте @KvedeBot в Вашу группу и назначьте администратором, выдав права на удаление сообщений и блокировку пользователей.
Тонкие настройки групп можно передать @Helldar (веб-интерфейс находится в разработке) или в чат поддержки @KvedeSupport.
В это время использовать его может каждый абсолютно бесплатно.
Для начала работы добавьте @KvedeBot в Вашу группу и назначьте администратором, выдав права на удаление сообщений и блокировку пользователей.
Тонкие настройки групп можно передать @Helldar (веб-интерфейс находится в разработке) или в чат поддержки @KvedeSupport.
Главный бот: @KvedeBot
Новостной канал: @KvedeNews
Группа поддержки: @KvedeSupport
Фид спам-блокировок: @KasFeed
Панель управления: https://kvede.com (в разработке)
Фид блокировок: https://kas.kvede.com/feed (в разработке)
Группа в ВК: https://vk.com/kvede
👍3
Kvede Новости
Проект находится в стадии альфа-тестирования В это время использовать его может каждый абсолютно бесплатно. Для начала работы добавьте @KvedeBot в Вашу группу и назначьте администратором, выдав права на удаление сообщений и блокировку пользователей. Тонкие…
@KvedeBot - это проект по управлению группами в Telegram, борьбе со спамом при помощи ИИ, системой репутации и аналитики по чатам.
Часть функций пока ещё недоступна, но вскоре будет.
Часть функций пока ещё недоступна, но вскоре будет.
👍3
Forwarded from Kvede Новости
Большой апдрейт 🤩
За последние четыре дня код проекта несколько вырос начиная с полного рефакторинга тестов, что позволило полностью покрыть все стороны работы бота, сделав простым и прозрачным процесс "общения" с Telegram API.
Коротко о нововведениях:
- При классификации текста на предмет спама теперь учитывается не только имя пользователя, если оно было указано, но ещё и названия кнопок, если они были прикреплены к сообщению;
- В личные фиды блокировок были добавлены кнопки для взаимодействия с заблокированными пользователями. Доступно три кнопки: "спам", "не спам" и "избранные". Названия можно переименовывать для каждого канала;
- Добавлен новый модуль "Избранные пользователи". Он позволяет отмечать пользователей в чате, на которых не будет распространяться анти-спам проверка;
- Посты из каналов теперь не будут удаляться при анти-спам проверке;
- Сообщения длиной менее трёх символов не будут проходить классификацию спама;
- Исправлена ошибка инициализации системы, вследствие которой в ответ на вебхук для условного Ивана писалось сообщение "Руслан, Вы не можете это использовать", где имя "Руслан" могло рандомно меняться;
- Добавлен прогрев авторизационного токена Яндекса, что при деплое позволит сразу закэшировать его результат. До этого первый запрос к нему длился около 5-10 секунд, т.к. системе нужно было время для шифрования данных при подготовке запроса;
- Теперь для администраторов и "обычных" пользователей бот будет показывать разные наборы команд, в т.ч. на разных языках (пока что доступны русский и английский, но кнопки могут иметь прежний вид, т.к. функционал тестируется);
- Улучшили работу с колбэк функциями. Telegram не позволяет передавать данные длиной свыше 60 байт, вследствие чего для некоторых методов колбэки не срабатывали, т.к. совокупность идентификаторов чата, сообщений, пользователя и названия методов превышала допустимый объём. Теперь такого не будет;
- Исправлена ошибка при обработке плейсхолдера с частью отсутствующих данных;
- Исправлена ошибка определения идентификатора сообщения при вызове колбэков.
Далее в очереди новый модуль "Доверенные пользователи", переработка системы приветствий и команда проверки настроек чата 👷♂️
@KvedeBot | Чат поддержки: @KvedeSupport
За последние четыре дня код проекта несколько вырос начиная с полного рефакторинга тестов, что позволило полностью покрыть все стороны работы бота, сделав простым и прозрачным процесс "общения" с Telegram API.
Коротко о нововведениях:
- При классификации текста на предмет спама теперь учитывается не только имя пользователя, если оно было указано, но ещё и названия кнопок, если они были прикреплены к сообщению;
- В личные фиды блокировок были добавлены кнопки для взаимодействия с заблокированными пользователями. Доступно три кнопки: "спам", "не спам" и "избранные". Названия можно переименовывать для каждого канала;
- Добавлен новый модуль "Избранные пользователи". Он позволяет отмечать пользователей в чате, на которых не будет распространяться анти-спам проверка;
- Посты из каналов теперь не будут удаляться при анти-спам проверке;
- Сообщения длиной менее трёх символов не будут проходить классификацию спама;
- Исправлена ошибка инициализации системы, вследствие которой в ответ на вебхук для условного Ивана писалось сообщение "Руслан, Вы не можете это использовать", где имя "Руслан" могло рандомно меняться;
- Добавлен прогрев авторизационного токена Яндекса, что при деплое позволит сразу закэшировать его результат. До этого первый запрос к нему длился около 5-10 секунд, т.к. системе нужно было время для шифрования данных при подготовке запроса;
- Теперь для администраторов и "обычных" пользователей бот будет показывать разные наборы команд, в т.ч. на разных языках (пока что доступны русский и английский, но кнопки могут иметь прежний вид, т.к. функционал тестируется);
- Улучшили работу с колбэк функциями. Telegram не позволяет передавать данные длиной свыше 60 байт, вследствие чего для некоторых методов колбэки не срабатывали, т.к. совокупность идентификаторов чата, сообщений, пользователя и названия методов превышала допустимый объём. Теперь такого не будет;
- Исправлена ошибка при обработке плейсхолдера с частью отсутствующих данных;
- Исправлена ошибка определения идентификатора сообщения при вызове колбэков.
Далее в очереди новый модуль "Доверенные пользователи", переработка системы приветствий и команда проверки настроек чата 👷♂️
@KvedeBot | Чат поддержки: @KvedeSupport
Forwarded from Kvede Новости
@KvedeBot - Ваш надёжный помощник в борьбе со спамом
Хотите избавиться от спама в вашей группе или канале в Telegram? Тогда наш @KvedeBot может стать вашим надёжным помощником! Он автоматически удаляет спам и блокирует нежелательных участников, чтобы вы могли сосредоточиться на общении с друзьями и коллегами. Просто добавьте бота в свою группу или канал, назначьте его администратором и наслаждайтесь чистым и безопасным общением в Telegram!
Бот находится в стадии beta разработки и абсолютно бесплатен для использования.
@KvedeBot | Чат поддержки @KvedeSupport
Хотите избавиться от спама в вашей группе или канале в Telegram? Тогда наш @KvedeBot может стать вашим надёжным помощником! Он автоматически удаляет спам и блокирует нежелательных участников, чтобы вы могли сосредоточиться на общении с друзьями и коллегами. Просто добавьте бота в свою группу или канал, назначьте его администратором и наслаждайтесь чистым и безопасным общением в Telegram!
Бот находится в стадии beta разработки и абсолютно бесплатен для использования.
@KvedeBot | Чат поддержки @KvedeSupport
❤🔥1❤1👍1
❤3