<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Sassoft</title>
	<atom:link href="/feed/" rel="self" type="application/rss+xml" />
	<link>/</link>
	<description>Блог разработчика: Golang, Криптовалюты, Автоматизация, Kubernetes</description>
	<lastBuildDate>Sun, 19 Oct 2025 10:00:00 +0000</lastBuildDate>
	<language>ru-RU</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.8.1</generator>

<image>
	<url>/wp-content/uploads/2024/06/android-chrome-512x512-1-150x150.png</url>
	<title>Sassoft</title>
	<link>/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>AI агент для проведения криптоплатежей</title>
		<link>/2025/10/19/ai-agent-dlya-provedeniya-kriptoplatezhey/</link>
						<comments>/2025/10/19/ai-agent-dlya-provedeniya-kriptoplatezhey/#respond</comments>
		
		<dc:creator><![CDATA[Sassoft]]></dc:creator>
		<pubDate>Sun, 19 Oct 2025 10:00:00 +0000</pubDate>
						<category><![CDATA[Без рубрики]]></category>
		<guid isPermaLink="false">/?p=1176</guid>

						<description><![CDATA[AI агент отслеживает балансы кошельков, инициирует переводы USDT и USDC по событиям и предупреждает об аномалиях, чтобы платежные операции оставались под контролем.<br /><a class="read-more-button" href="/2025/10/19/ai-agent-dlya-provedeniya-kriptoplatezhey/">Read more</a>]]></description>
													<content:encoded><![CDATA[
<p>AI агент для проведения криптоплатежей позволяет командам видеть текущее состояние кошельков, запускать переводы и мгновенно получать уведомления о любых аномальных операциях. Мы подключаем агента к вашим существующим кошелькам и сервисам, чтобы он контролировал процессы без ручного вмешательства.</p>



<p>Агент анализирует историю транзакций, следит за лимитами и отслеживает статусы переводов в реальном времени. При необходимости он автоматически формирует задания на оплату или блокирует подозрительные операции до подтверждения ответственного сотрудника.</p>



<h3 class="wp-block-heading">Что делает агент</h3>



<ul class="wp-block-list">
<li><strong>Мониторинг кошелька.</strong> Агент регулярно запрашивает баланс, проверяет входящие транзакции и выделяет оплаты, требующие внимания.</li>



<li><strong>Переводы по регламенту.</strong> Создаёт и подписывает платежи, если срабатывают условия (остановка на балансовом пороге, заявка клиента, расписание выплат).</li>



<li><strong>Уведомления об аномалиях.</strong> Выявляет аномальные суммы, смену адресов и подозрительную частоту операций, отправляя уведомления в Telegram, email или корпоративный мессенджер.</li>
</ul>



<h3 class="wp-block-heading">Автоматизация переводов USDT и USDC</h3>



<p>Мы настраиваем прием и отправку USDT и USDC по событиям из ваших систем: webhook от CRM, сигнал из биллинга, заявка оператора или расписание. Каждый сценарий описывается правилами, которые агент выполняет под вашим контролем.</p>



<ol class="wp-block-list">
<li><strong>Инициатор события.</strong> Сервис отправляет событие с параметрами платежа.</li>



<li><strong>Валидация.</strong> Агент проверяет лимиты, KYC-статусы получателя и состояние кошелька.</li>



<li><strong>Исполнение.</strong> Формирует и отправляет транзакцию в блокчейн, отслеживает подтверждения и фиксирует результат.</li>
</ol>



<h3 class="wp-block-heading">Технические компоненты</h3>



<ul class="wp-block-list">
<li>REST и Webhook API для интеграции с внутренними системами.</li>



<li>Модуль маршрутизации транзакций по сетям Tron, Ethereum или BSC с учётом комиссий.</li>



<li>AI-движок, анализирующий поведение кошелька и предлагающий корректировки лимитов.</li>



<li>Система уведомлений с гибкой настройкой каналов и ответственных лиц.</li>
</ul>



<h3 class="wp-block-heading">Безопасность и контроль</h3>



<ul class="wp-block-list">
<li>Многоуровневая авторизация и ролевые политики доступа.</li>



<li>Настраиваемые лимиты сумм, суточных и часовых операций.</li>



<li>Полное журналирование действий агента с возможностью ручного подтверждения каждой операции.</li>



<li>Правила обнаружения аномалий с автоматическим уведомлением ответственного персонала.</li>
</ul>



<h3 class="wp-block-heading">Сценарии использования</h3>



<ul class="wp-block-list">
<li>24/7 клиентская поддержка: агент подтверждает платежи и сообщает о статусе без участия оператора.</li>



<li>Регулярные выплаты партнерам и фрилансерам по расписанию в стейблкоинах.</li>



<li>Перераспределение ликвидности между вашими кошельками при достижении заданного порога.</li>
</ul>



<p>По вопросам подключения и настройки обращайтесь через раздел <a href="/%d0%ba%d0%be%d0%bd%d1%82%d0%b0%d0%ba%d1%82%d1%8b-2/">контактов</a> — поможем адаптировать решение под ваши процессы.</p>
]]></content:encoded>
														<wfw:commentRss>/2025/10/19/ai-agent-dlya-provedeniya-kriptoplatezhey/feed/</wfw:commentRss>
				<slash:comments>0</slash:comments>
		
				</item>
	<item>
		<title>Скрипт автокорректировки курсов с Bestchange</title>
		<link>/2025/01/02/%d1%81%d0%ba%d1%80%d0%b8%d0%bf%d1%82-%d0%b0%d0%b2%d1%82%d0%be%d0%ba%d0%be%d1%80%d1%80%d0%b5%d0%ba%d1%82%d0%b8%d1%80%d0%be%d0%b2%d0%ba%d0%b8-%d0%ba%d1%83%d1%80%d1%81%d0%be%d0%b2-%d1%81-bestchange/</link>
					<comments>/2025/01/02/%d1%81%d0%ba%d1%80%d0%b8%d0%bf%d1%82-%d0%b0%d0%b2%d1%82%d0%be%d0%ba%d0%be%d1%80%d1%80%d0%b5%d0%ba%d1%82%d0%b8%d1%80%d0%be%d0%b2%d0%ba%d0%b8-%d0%ba%d1%83%d1%80%d1%81%d0%be%d0%b2-%d1%81-bestchange/#respond</comments>
		
		<dc:creator><![CDATA[Sassoft]]></dc:creator>
		<pubDate>Thu, 02 Jan 2025 17:13:15 +0000</pubDate>
				<category><![CDATA[Без рубрики]]></category>
		<guid isPermaLink="false">/?p=1169</guid>

					<description><![CDATA[Этот скрипт разработан для автоматического мониторинга и обновления курсов валют на основе данных, предоставляемых платформой Bestchange. Основные функции: Кому это подходит: Скрипт настраивается под индивидуальные потребности, обеспечивая максимальную гибкость и удобство работы.]]></description>
										<content:encoded><![CDATA[
<p>Этот скрипт разработан для автоматического мониторинга и обновления курсов валют на основе данных, предоставляемых платформой Bestchange.</p>



<h3 class="wp-block-heading">Основные функции:</h3>



<ol class="wp-block-list">
<li><strong>Мониторинг курса</strong>
<ul class="wp-block-list">
<li>Подключение к API Bestchange для получения актуальных данных.</li>



<li>Автоматическое обновление курсов в режиме реального времени.</li>
</ul>
</li>



<li><strong>Настройка правил коррекции</strong>
<ul class="wp-block-list">
<li>Возможность задать маржу, минимальные и максимальные значения курса.</li>



<li>Поддержка индивидуальных параметров для каждой валютной пары.</li>
</ul>
</li>



<li><strong>Интеграция с системами обмена</strong>
<ul class="wp-block-list">
<li>Поддержка популярных платформ для обмена валют.</li>



<li>Автоматическое применение новых курсов без необходимости ручного вмешательства.</li>
</ul>
</li>



<li><strong>Безопасность и надёжность</strong>
<ul class="wp-block-list">
<li>Использование проверенных протоколов для передачи данных.</li>



<li>Логирование всех изменений курса для дальнейшего анализа.</li>
</ul>
</li>
</ol>



<h3 class="wp-block-heading">Кому это подходит:</h3>



<ul class="wp-block-list">
<li>Владельцам обменных сервисов, которые хотят оптимизировать процесс обновления курсов.</li>



<li>Пользователям, которым важна актуальность данных для принятия решений.</li>
</ul>



<p>Скрипт настраивается под индивидуальные потребности, обеспечивая максимальную гибкость и удобство работы.</p>
]]></content:encoded>
					
					<wfw:commentRss>/2025/01/02/%d1%81%d0%ba%d1%80%d0%b8%d0%bf%d1%82-%d0%b0%d0%b2%d1%82%d0%be%d0%ba%d0%be%d1%80%d1%80%d0%b5%d0%ba%d1%82%d0%b8%d1%80%d0%be%d0%b2%d0%ba%d0%b8-%d0%ba%d1%83%d1%80%d1%81%d0%be%d0%b2-%d1%81-bestchange/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Trust Wallet Bot Service</title>
		<link>/2024/07/06/trust-wallet-bot-service/</link>
					<comments>/2024/07/06/trust-wallet-bot-service/#respond</comments>
		
		<dc:creator><![CDATA[Sassoft]]></dc:creator>
		<pubDate>Sat, 06 Jul 2024 06:03:22 +0000</pubDate>
				<category><![CDATA[Без рубрики]]></category>
		<guid isPermaLink="false">/?p=1155</guid>

					<description><![CDATA[Введение Представляем вашему вниманию автоматизированное управление кошельком Trust Wallet. Наш сервис позволяет вам удаленно управлять вашим криптовалютным кошельком с помощью защищенного REST API, что открывает новые возможности для автоматизации операций с более чем 100 различными криптовалютами. Данное решение обеспечивает удобство,...<br /><a class="read-more-button" href="/2024/07/06/trust-wallet-bot-service/">Read more</a>]]></description>
										<content:encoded><![CDATA[
<h3 class="wp-block-heading">Введение</h3>



<p>Представляем вашему вниманию автоматизированное управление кошельком Trust Wallet. Наш сервис позволяет вам удаленно управлять вашим криптовалютным кошельком с помощью защищенного REST API, что открывает новые возможности для автоматизации операций с более чем 100 различными криптовалютами. Данное решение обеспечивает удобство, безопасность и эффективность управления криптовалютными активами.</p>



<h3 class="wp-block-heading">Основные возможности</h3>



<h4 class="wp-block-heading">Автоматизация транзакций</h4>



<p>С Trust Wallet Bot Service вы можете автоматизировать проведение криптовалютных транзакций. Это особенно полезно для бизнеса, где требуется регулярное выполнение множества однотипных операций. Вместо ручного ввода данных и проведения транзакций, вы можете настроить автоматические процессы, которые будут выполнять все необходимые действия за вас.</p>



<h4 class="wp-block-heading">Поддержка более 100 криптовалют</h4>



<p>Наш сервис поддерживает более 100 различных криптовалют, что делает его универсальным инструментом для управления любыми активами. Вы можете легко осуществлять переводы и обмены, не беспокоясь о совместимости или необходимости использовать несколько различных платформ.</p>



<h4 class="wp-block-heading">Экономия на нодах</h4>



<p>Использование нашего API позволяет вам сэкономить на содержании собственных нод. Вам не нужно разворачивать и поддерживать инфраструктуру для работы с блокчейнами, поскольку все необходимые операции выполняются через наш сервис.</p>



<h4 class="wp-block-heading">Безопасность операций</h4>



<p>Безопасность является нашим приоритетом. Все команды, передаваемые через наш API, защищены, что гарантирует сохранность ваших средств и данных. Вы можете быть уверены, что ваши транзакции будут выполнены надежно и без риска.</p>



<h3 class="wp-block-heading">Использование API</h3>



<p>Наш сервис предоставляет простой в использовании REST API для проведения операций. Пример запроса на выполнение платежа:</p>



<pre class="wp-block-preformatted"><code>curl -sXPOST http://server-address:3000/pay/&lt;pin>/&lt;amount>/&lt;address>/&lt;currency><br></code></pre>



<ul class="wp-block-list">
<li><code>&lt;pin></code>: ваш PIN-код для доступа к кошельку.</li>



<li><code>&lt;amount></code>: сумма, которую вы хотите перевести.</li>



<li><code>&lt;address></code>: адрес получателя.</li>



<li><code>&lt;currency></code>: код валюты (например, BTC, ETH и т.д.).</li>
</ul>



<h3 class="wp-block-heading">Индивидуальные решения</h3>



<p>Мы предлагаем индивидуальные решения, чтобы удовлетворить ваши уникальные потребности. Если вам требуется специальная настройка или дополнительные функции, пожалуйста, свяжитесь с нами через предоставленные контакты.</p>



<h3 class="wp-block-heading">Заключение</h3>



<p>Trust Wallet Bot Service представляет собой мощный инструмент для автоматизации и безопасного управления криптовалютными активами. Независимо от того, являетесь ли вы частным пользователем или бизнесом, наш сервис поможет вам упростить и улучшить процессы, связанные с криптовалютными транзакциями.</p>



<p>Для получения дополнительной информации и настройки индивидуального решения, пожалуйста, свяжитесь с нами через указанные контакты. Мы будем рады помочь вам в достижении ваших целей и обеспечении безопасности ваших криптовалютных активов.</p>
]]></content:encoded>
					
					<wfw:commentRss>/2024/07/06/trust-wallet-bot-service/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Google Chrome + Playwright в Ubuntu Desktop</title>
		<link>/2024/06/30/google-chrome-playwright-%d0%b2-ubuntu-desktop/</link>
					<comments>/2024/06/30/google-chrome-playwright-%d0%b2-ubuntu-desktop/#respond</comments>
		
		<dc:creator><![CDATA[Sassoft]]></dc:creator>
		<pubDate>Sun, 30 Jun 2024 18:32:32 +0000</pubDate>
				<category><![CDATA[Без рубрики]]></category>
		<category><![CDATA[Playwright]]></category>
		<guid isPermaLink="false">/?p=1152</guid>

					<description><![CDATA[Для контроля Google Chrome фреймворком Playwright необходим запуск Chrome в debug режиме. Установка Google Chrome Для начала установим Google Chrome. Откройте терминал и выполните следующие команды: wget https://dl-ssl.google.com/linux/linux_signing_key.pub -O /tmp/google.pubgpg --no-default-keyring --keyring /etc/apt/keyrings/google-chrome.gpg --import /tmp/google.pubecho 'deb [arch=amd64 signed-by=/etc/apt/keyrings/google-chrome.gpg] http://dl.google.com/linux/chrome/deb/ stable...<br /><a class="read-more-button" href="/2024/06/30/google-chrome-playwright-%d0%b2-ubuntu-desktop/">Read more</a>]]></description>
										<content:encoded><![CDATA[
<p>Для контроля Google Chrome фреймворком Playwright необходим запуск Chrome в debug режиме.</p>



<h3 class="wp-block-heading">Установка Google Chrome</h3>



<p>Для начала установим Google Chrome. Откройте терминал и выполните следующие команды:</p>



<pre class="wp-block-preformatted">wget https://dl-ssl.google.com/linux/linux_signing_key.pub -O /tmp/google.pub<br>gpg --no-default-keyring --keyring /etc/apt/keyrings/google-chrome.gpg --import /tmp/google.pub<br>echo 'deb [arch=amd64 signed-by=/etc/apt/keyrings/google-chrome.gpg] http://dl.google.com/linux/chrome/deb/ stable main' | sudo tee /etc/apt/sources.list.d/google-chrome.list<br>sudo apt-get install google-chrome-stable<code><br></code></pre>



<p>Эти команды загрузят установочный пакет Google Chrome, установят его и исправят возможные зависимости.</p>



<h3 class="wp-block-heading">Запуск Chrome в debug режиме</h3>



<p>Теперь запустим Chrome в debug режиме. Для этого создадим скрипт запуска. Создайте файл <code>start-chrome-debug.sh</code> и добавьте в него следующий код:</p>



<pre class="wp-block-preformatted"><code>#!/bin/bash<br>google-chrome --remote-debugging-port=9222 --user-data-dir=/tmp/chrome-debug-profile<br></code></pre>



<p>Сделайте файл исполняемым:</p>



<pre class="wp-block-preformatted"><code>chmod +x start-chrome-debug.sh<br></code></pre>



<p>Теперь запустим Chrome в debug режиме, выполнив:</p>



<pre class="wp-block-preformatted"><code>./start-chrome-debug.sh<br></code></pre>



<h3 class="wp-block-heading">Установка Playwright</h3>



<p>Для работы с Playwright, установите его с помощью npm:</p>



<pre class="wp-block-preformatted">shCopy code<code>npm init -y
npm install playwright
</code></pre>



<h3 class="wp-block-heading">Написание Playwright кода</h3>



<p>Теперь напишем Playwright код, который будет открывать сайт sassoft.ru и кликать по кнопке &#171;Контакты&#187;. </p>



<p>Создаем файл <code>index.js</code>:</p>



<pre class="wp-block-preformatted"><code>const { chromium } = require('playwright');<br><br>(async () =&gt; {<br>    const browser = await chromium.connectOverCDP('http://localhost:9222/');<br>    const context = await browser.newContext();<br>    const page = await context.newPage();<br>    await page.goto('/');<br><br>    // Ждем загрузки страницы и кликаем по кнопке "Контакты"<br>    await page.waitForSelector('a[href="/contacts"]');<br>    await page.click('a[href="/contacts"]');<br><br>    // Закрываем браузер<br>    await browser.close();<br>})();<br></code></pre>



<h3 class="wp-block-heading">Запуск Playwright скрипта</h3>



<pre class="wp-block-preformatted"><code>node index.js<br></code></pre>



<p>Этот скрипт откроет Google Chrome, перейдет на сайт sassoft.ru и кликнет по кнопке &#171;Контакты&#187;.</p>
]]></content:encoded>
					
					<wfw:commentRss>/2024/06/30/google-chrome-playwright-%d0%b2-ubuntu-desktop/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Trust Wallet bot  &#8212; автоматизация кошелька</title>
		<link>/2024/03/27/trustwallet-bot-%d0%b0%d0%b2%d1%82%d0%be%d0%bc%d0%b0%d1%82%d0%b8%d0%b7%d0%b0%d1%86%d0%b8%d1%8f-%d0%ba%d0%be%d1%88%d0%b5%d0%bb%d1%8c%d0%ba%d0%b0/</link>
					<comments>/2024/03/27/trustwallet-bot-%d0%b0%d0%b2%d1%82%d0%be%d0%bc%d0%b0%d1%82%d0%b8%d0%b7%d0%b0%d1%86%d0%b8%d1%8f-%d0%ba%d0%be%d1%88%d0%b5%d0%bb%d1%8c%d0%ba%d0%b0/#respond</comments>
		
		<dc:creator><![CDATA[Sassoft]]></dc:creator>
		<pubDate>Tue, 26 Mar 2024 22:00:01 +0000</pubDate>
				<category><![CDATA[Без рубрики]]></category>
		<category><![CDATA[bitcoin]]></category>
		<category><![CDATA[ethereum]]></category>
		<category><![CDATA[Trust Wallet]]></category>
		<category><![CDATA[скрипты]]></category>
		<guid isPermaLink="false">/?p=1141</guid>

					<description><![CDATA[Был разработан сервис, предназначенный для автоматизации взаимодействия с Trust Wallet. Этот сервис позволяет пользователям автоматически принимать и осуществлять выплаты через Trust Wallet с использованием разработанного решения. Автоматизация данных процессов имеет целый ряд преимуществ. Во-первых, автоматизация снижает необходимость в ручном управлении...<br /><a class="read-more-button" href="/2024/03/27/trustwallet-bot-%d0%b0%d0%b2%d1%82%d0%be%d0%bc%d0%b0%d1%82%d0%b8%d0%b7%d0%b0%d1%86%d0%b8%d1%8f-%d0%ba%d0%be%d1%88%d0%b5%d0%bb%d1%8c%d0%ba%d0%b0/">Read more</a>]]></description>
										<content:encoded><![CDATA[<p>Был разработан сервис, предназначенный для автоматизации взаимодействия с <a href="https://trustwallet.com/">Trust Wallet</a>. Этот сервис позволяет пользователям автоматически принимать и осуществлять выплаты через Trust Wallet с использованием разработанного решения. Автоматизация данных процессов имеет целый ряд преимуществ.</p>
<p>Во-первых, автоматизация снижает необходимость в ручном управлении и мониторинге транзакций, что позволяет сэкономить время и ресурсы. Пользователи могут настроить сервис для автоматического выполнения определенных задач, таких как принятие платежей или отправка средств, что особенно полезно для тех, кто часто работает с криптовалютами.</p>
<p>Во-вторых, автоматизация повышает эффективность процессов, уменьшает вероятность ошибок и сокращает временные задержки. Поскольку все операции выполняются программно, это исключает возможность человеческих ошибок и повышает точность выполнения задач.</p>
<p>Для управления сервисом предлагается использовать скрипт, который принимает входные параметры следующего вида:</p>
<pre class="lang:sh decode:true ">./trust-wallet-bot --orderid 1 --coin BTC --wallet bc1qusje9Iwalletexample --amount 0.0001 --wallets=BTC,USDT,ETH,LTC,TRX</pre>
<p>Для корректной работы бота необходимо наличие установленного приложения Trust Wallet и его запуск на операционной системе MacOS. Взаимодействие с Trust Wallet осуществляется посредством автоматизации внешнего управления приложением что снижает риски проведения платежей и открывает возможности для работы с множеством различных криптовалют. Следовательно, для успешной работы сервиса необходимо наличие активного компьютера с запущенным приложением Trust Wallet на операционной системе MacOS.</p>
<p>Поддерживаемые криптовалюты:</p>
<ul>
<li>Bitcoin</li>
<li>Litecoin</li>
<li>Ethereum</li>
<li>Tron</li>
<li>Tether USDT TRC-20</li>
<li>Bitcoin Cash</li>
</ul>
<p>За подробностями интеграции и включения автоматизации через cloud решение обращайтесь в контакты.</p>
]]></content:encoded>
					
					<wfw:commentRss>/2024/03/27/trustwallet-bot-%d0%b0%d0%b2%d1%82%d0%be%d0%bc%d0%b0%d1%82%d0%b8%d0%b7%d0%b0%d1%86%d0%b8%d1%8f-%d0%ba%d0%be%d1%88%d0%b5%d0%bb%d1%8c%d0%ba%d0%b0/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Нагрузочные тесты с ali</title>
		<link>/2024/02/14/%d0%bd%d0%b0%d0%b3%d1%80%d1%83%d0%b7%d0%be%d1%87%d0%bd%d1%8b%d0%b5-%d1%82%d0%b5%d1%81%d1%82%d1%8b-%d1%81-ali/</link>
					<comments>/2024/02/14/%d0%bd%d0%b0%d0%b3%d1%80%d1%83%d0%b7%d0%be%d1%87%d0%bd%d1%8b%d0%b5-%d1%82%d0%b5%d1%81%d1%82%d1%8b-%d1%81-ali/#respond</comments>
		
		<dc:creator><![CDATA[Sassoft]]></dc:creator>
		<pubDate>Tue, 13 Feb 2024 22:30:10 +0000</pubDate>
				<category><![CDATA[Без рубрики]]></category>
		<category><![CDATA[load test]]></category>
		<category><![CDATA[нагрузочное тестирование]]></category>
		<guid isPermaLink="false">/?p=1136</guid>

					<description><![CDATA[Нагрузочное тестирование &#8212; это важный этап в разработке любого веб-приложения или сервиса. Оно помогает оценить, как приложение будет вести себя при высокой нагрузке, выявить узкие места в его архитектуре и оптимизировать его производительность. В этой статье мы познакомимся с инструментом...<br /><a class="read-more-button" href="/2024/02/14/%d0%bd%d0%b0%d0%b3%d1%80%d1%83%d0%b7%d0%be%d1%87%d0%bd%d1%8b%d0%b5-%d1%82%d0%b5%d1%81%d1%82%d1%8b-%d1%81-ali/">Read more</a>]]></description>
										<content:encoded><![CDATA[<p>Нагрузочное тестирование &#8212; это важный этап в разработке любого веб-приложения или сервиса. Оно помогает оценить, как приложение будет вести себя при высокой нагрузке, выявить узкие места в его архитектуре и оптимизировать его производительность. В этой статье мы познакомимся с инструментом Ali(<a href="https://github.com/nakabonne/ali">https://github.com/nakabonne/ali</a>) и рассмотрим несколько примеров использования для проведения нагрузочного тестирования.</p>
<p>Прежде чем мы начнем, давайте установим Ali с помощью Homebrew. Если у вас еще нет Homebrew, вы можете установить его, следуя инструкциям на официальном сайте <a href="https://brew.sh/" target="_new" rel="noopener">https://brew.sh/</a>. После этого выполните следующую команду в вашем терминале:</p>
<pre class="lang:sh decode:true">brew install nakabonne/ali/ali</pre>
<p><strong>Простейший пример нагрузочных тестов</strong></p>
<p>Тестирование с 500 запросами в секунду в течение одной минуты на локальном сервере:</p>
<pre class="lang:sh decode:true">ali --rate=500 --duration=1m http://localhost/</pre>
<p>После откроется панель управления прямо в терминале, достаточно нажать Enter чтобы начать тест.</p>
<p>При завершении можно будет получить данные по статус кодам, времени ответа в разных персентилях, количестве отправленных байтов.</p>
<p>Пример POST-запроса с телом запроса и нагрузкой 50 запросов в секунду в течение одной минуты:</p>
<pre class="lang:sh decode:true">ali --body='{"some_key":"value"}' --method=POST --rate=50 --duration=1m http://localhost/orders</pre>
<p>Эти примеры демонстрируют, как легко и быстро можно настроить и запустить нагрузочное тестирование с помощью Ali. Используйте их в своем проекте, чтобы оценить его производительность и готовность к высоким нагрузкам.</p>
]]></content:encoded>
					
					<wfw:commentRss>/2024/02/14/%d0%bd%d0%b0%d0%b3%d1%80%d1%83%d0%b7%d0%be%d1%87%d0%bd%d1%8b%d0%b5-%d1%82%d0%b5%d1%81%d1%82%d1%8b-%d1%81-ali/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Sassoft API: Интеграция Tron. Автоматизация приема и выплат USDT</title>
		<link>/2023/07/25/sassoft-api-%d0%b8%d0%bd%d1%82%d0%b5%d0%b3%d1%80%d0%b0%d1%86%d0%b8%d1%8f-tron-%d0%b0%d0%b2%d1%82%d0%be%d0%bc%d0%b0%d1%82%d0%b8%d0%b7%d0%b0%d1%86%d0%b8%d1%8f-%d0%bf%d1%80%d0%b8%d0%b5%d0%bc%d0%b0/</link>
					<comments>/2023/07/25/sassoft-api-%d0%b8%d0%bd%d1%82%d0%b5%d0%b3%d1%80%d0%b0%d1%86%d0%b8%d1%8f-tron-%d0%b0%d0%b2%d1%82%d0%be%d0%bc%d0%b0%d1%82%d0%b8%d0%b7%d0%b0%d1%86%d0%b8%d1%8f-%d0%bf%d1%80%d0%b8%d0%b5%d0%bc%d0%b0/#respond</comments>
		
		<dc:creator><![CDATA[Sassoft]]></dc:creator>
		<pubDate>Mon, 24 Jul 2023 20:36:25 +0000</pubDate>
				<category><![CDATA[Без рубрики]]></category>
		<category><![CDATA[sassoft-api]]></category>
		<category><![CDATA[tron]]></category>
		<category><![CDATA[TRX]]></category>
		<category><![CDATA[USDT]]></category>
		<guid isPermaLink="false">/?p=1120</guid>

					<description><![CDATA[В общий пул API был интегрирован новый API для работы с Tron (TRX) и проведение операций c USDT. Основные операции, которые мы поддерживаем: Создание нового адреса TRX Активация адреса TRX Прием TRX, USDT-TRC-20 Выплата TRX, USDT-TRC-20 Для проведения операций необходимо...<br /><a class="read-more-button" href="/2023/07/25/sassoft-api-%d0%b8%d0%bd%d1%82%d0%b5%d0%b3%d1%80%d0%b0%d1%86%d0%b8%d1%8f-tron-%d0%b0%d0%b2%d1%82%d0%be%d0%bc%d0%b0%d1%82%d0%b8%d0%b7%d0%b0%d1%86%d0%b8%d1%8f-%d0%bf%d1%80%d0%b8%d0%b5%d0%bc%d0%b0/">Read more</a>]]></description>
										<content:encoded><![CDATA[<p>В общий пул API был интегрирован новый API для работы с Tron (TRX) и проведение операций c USDT.</p>
<p>Основные операции, которые мы поддерживаем:</p>
<ul>
<li>Создание нового адреса TRX</li>
<li>Активация адреса TRX</li>
<li>Прием TRX, USDT-TRC-20</li>
<li>Выплата TRX, USDT-TRC-20</li>
</ul>
<p>Для проведения операций необходимо получение сессионного пароля, который будет шифровать приватные ключи сгенерированных или импортированных адресов.</p>
<p>Хотите проводить операции локально?</p>
<p>Мы также представляем sassoft-tron-server который может выполнять операции с TRX, USDT-TRC-20 в изолированном окружении.</p>
<p>&nbsp;</p>
]]></content:encoded>
					
					<wfw:commentRss>/2023/07/25/sassoft-api-%d0%b8%d0%bd%d1%82%d0%b5%d0%b3%d1%80%d0%b0%d1%86%d0%b8%d1%8f-tron-%d0%b0%d0%b2%d1%82%d0%be%d0%bc%d0%b0%d1%82%d0%b8%d0%b7%d0%b0%d1%86%d0%b8%d1%8f-%d0%bf%d1%80%d0%b8%d0%b5%d0%bc%d0%b0/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Скрипт бекапов через Telegram API</title>
		<link>/2023/03/29/%d1%81%d0%ba%d1%80%d0%b8%d0%bf%d1%82-%d0%b1%d0%b5%d0%ba%d0%b0%d0%bf%d0%be%d0%b2-%d1%87%d0%b5%d1%80%d0%b5%d0%b7-telegram-api/</link>
					<comments>/2023/03/29/%d1%81%d0%ba%d1%80%d0%b8%d0%bf%d1%82-%d0%b1%d0%b5%d0%ba%d0%b0%d0%bf%d0%be%d0%b2-%d1%87%d0%b5%d1%80%d0%b5%d0%b7-telegram-api/#respond</comments>
		
		<dc:creator><![CDATA[Sassoft]]></dc:creator>
		<pubDate>Wed, 29 Mar 2023 18:05:24 +0000</pubDate>
				<category><![CDATA[Без рубрики]]></category>
		<category><![CDATA[Telegram]]></category>
		<category><![CDATA[бекапы]]></category>
		<category><![CDATA[скрипт]]></category>
		<guid isPermaLink="false">/?p=1112</guid>

					<description><![CDATA[Данный скрипт можно запускать через cron ежедневно, компресировать нужную папку и отправлять через своего Telegram бота к себе в чат для сохранения бекапов. В итоге нам нужно указать: VOLUME_DIR &#8212; папку, которую хотим отправлять в наш Telegram канал MAX_FILE_SIZE &#8212;...<br /><a class="read-more-button" href="/2023/03/29/%d1%81%d0%ba%d1%80%d0%b8%d0%bf%d1%82-%d0%b1%d0%b5%d0%ba%d0%b0%d0%bf%d0%be%d0%b2-%d1%87%d0%b5%d1%80%d0%b5%d0%b7-telegram-api/">Read more</a>]]></description>
										<content:encoded><![CDATA[<p>Данный скрипт можно запускать через cron ежедневно, компресировать нужную папку и отправлять через своего Telegram бота к себе в чат для сохранения бекапов.</p>
<p>В итоге нам нужно указать:</p>
<p>VOLUME_DIR &#8212; папку, которую хотим отправлять в наш Telegram канал</p>
<p>MAX_FILE_SIZE &#8212; т.к у Telegram имеются лимиты на отправку одного файла, то не более 50 мегабайт.</p>
<p>BOT_TOKEN, CHAT_ID &#8212; токен вашего бота(если не создали, то нужно создать нового бота через BotFather), и ID чата &#8212; нужно узнать id чата где сидит ваш бот.</p>
<pre class="lang:sh decode:true">#!/bin/bash

# Set the path to the directory containing the Docker volumes
VOLUME_DIR="/root/volumes"

# Set the maximum file size in bytes (50MB)
MAX_FILE_SIZE=31457280

# Set your Telegram bot API token and chat ID
BOT_TOKEN=""
CHAT_ID=""

# Compress each volume directory into a separate .tar.gz file
for volume in $(ls $VOLUME_DIR); do
  tar -czvf $VOLUME_DIR/"$volume".tar.gz -C $VOLUME_DIR "$volume"
done

# Split each .tar.gz file into multiple files, each no larger than MAX_FILE_SIZE
for tarfile in $(ls $VOLUME_DIR/*.tar.gz); do
  split --bytes=$MAX_FILE_SIZE --numeric-suffixes=1 --suffix-length=3 "$tarfile" "$tarfile".
  rm "$tarfile"
done

# Send each split file to Telegram using curl and the Telegram Bot API
for file in $(ls $VOLUME_DIR/*.tar.gz.*); do
  curl -F chat_id="$CHAT_ID" -F document=@"$file" "https://api.telegram.org/bot$BOT_TOKEN/sendDocument"
done

# Remove all split files
rm $VOLUME_DIR/*.tar.gz.*</pre>
<p>Чтобы запускать скрипт по крону:</p>
<pre class="lang:sh decode:true  ">сrontab -e

0 0 * * * /your-home-dir/backup.sh</pre>
]]></content:encoded>
					
					<wfw:commentRss>/2023/03/29/%d1%81%d0%ba%d1%80%d0%b8%d0%bf%d1%82-%d0%b1%d0%b5%d0%ba%d0%b0%d0%bf%d0%be%d0%b2-%d1%87%d0%b5%d1%80%d0%b5%d0%b7-telegram-api/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Полезные команды по grep</title>
		<link>/2022/06/05/%d0%bf%d0%be%d0%bb%d0%b5%d0%b7%d0%bd%d1%8b%d0%b5-%d0%ba%d0%be%d0%bc%d0%b0%d0%bd%d0%b4%d1%8b-%d0%bf%d0%be-grep/</link>
					<comments>/2022/06/05/%d0%bf%d0%be%d0%bb%d0%b5%d0%b7%d0%bd%d1%8b%d0%b5-%d0%ba%d0%be%d0%bc%d0%b0%d0%bd%d0%b4%d1%8b-%d0%bf%d0%be-grep/#comments</comments>
		
		<dc:creator><![CDATA[Sassoft]]></dc:creator>
		<pubDate>Sun, 05 Jun 2022 11:16:14 +0000</pubDate>
				<category><![CDATA[Без рубрики]]></category>
		<category><![CDATA[grep]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[сниппеты]]></category>
		<guid isPermaLink="false">/?p=1089</guid>

					<description><![CDATA[Набор сниппетов для поиска, фильтрации через утилиту grep. Рекурсивный поиск внутри директории (плюс замена пробелов) grep -R 'project_id' . &#62; file.txt grep -o '"name-[a-zA-Z-]*"' file.txt &#124; tr \" "\b" &#62; file-total.txt Поиск строки в директории grep -s 'export GITHUB_TOKEN' *...<br /><a class="read-more-button" href="/2022/06/05/%d0%bf%d0%be%d0%bb%d0%b5%d0%b7%d0%bd%d1%8b%d0%b5-%d0%ba%d0%be%d0%bc%d0%b0%d0%bd%d0%b4%d1%8b-%d0%bf%d0%be-grep/">Read more</a>]]></description>
										<content:encoded><![CDATA[<p>Набор сниппетов для поиска, фильтрации через утилиту grep.</p>
<p class="p1"><b>Рекурсивный поиск внутри директории (плюс замена пробелов)</b></p>
<pre class="lang:sh decode:true">grep -R 'project_id' . &gt; file.txt
grep -o '"name-[a-zA-Z-]*"' file.txt | tr \" "\b" &gt; file-total.txt
</pre>
<p><strong>Поиск строки в директории</strong></p>
<pre class="lang:sh decode:true ">grep -s 'export GITHUB_TOKEN' * .*</pre>
<p><strong>Поиск измененных yml, yaml файлов внутри ci/</strong></p>
<pre class="lang:sh decode:true ">if [[ $(git status -s | grep ci | grep -E "y(a)?ml") ]]; then
   echo "CI configurations have changed"
fi</pre>
<p>Статья будет дополняться&#8230;</p>
]]></content:encoded>
					
					<wfw:commentRss>/2022/06/05/%d0%bf%d0%be%d0%bb%d0%b5%d0%b7%d0%bd%d1%8b%d0%b5-%d0%ba%d0%be%d0%bc%d0%b0%d0%bd%d0%b4%d1%8b-%d0%bf%d0%be-grep/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>GitHub Actions: отправка POST запросов с webrequest-action</title>
		<link>/2021/12/07/github-actions-%d0%be%d1%82%d0%bf%d1%80%d0%b0%d0%b2%d0%ba%d0%b0-post-%d0%b7%d0%b0%d0%bf%d1%80%d0%be%d1%81%d0%be%d0%b2-%d1%81-webrequest-action/</link>
					<comments>/2021/12/07/github-actions-%d0%be%d1%82%d0%bf%d1%80%d0%b0%d0%b2%d0%ba%d0%b0-post-%d0%b7%d0%b0%d0%bf%d1%80%d0%be%d1%81%d0%be%d0%b2-%d1%81-webrequest-action/#respond</comments>
		
		<dc:creator><![CDATA[Sassoft]]></dc:creator>
		<pubDate>Mon, 06 Dec 2021 21:21:42 +0000</pubDate>
				<category><![CDATA[Без рубрики]]></category>
		<category><![CDATA[GitHub Actions]]></category>
		<guid isPermaLink="false">/?p=1075</guid>

					<description><![CDATA[name: POST example on: push: branches: - master pull_request: branches: - master jobs: send: name: Send POST request from GitHub Actions runs-on: ubuntu-latest steps: - name: Send post request uses: satak/webrequest-action@v1.2.4 with: url: https://some-url/handle-post method: POST payload: '{"foo": "bar", ""pipeline_name":...<br /><a class="read-more-button" href="/2021/12/07/github-actions-%d0%be%d1%82%d0%bf%d1%80%d0%b0%d0%b2%d0%ba%d0%b0-post-%d0%b7%d0%b0%d0%bf%d1%80%d0%be%d1%81%d0%be%d0%b2-%d1%81-webrequest-action/">Read more</a>]]></description>
										<content:encoded><![CDATA[<pre class="lang:yaml decode:true">name: POST example

on:
  push:
    branches:
      - master
  pull_request:
    branches:
      - master

jobs:
  send:
    name: Send POST request from GitHub Actions
    runs-on: ubuntu-latest
    steps:
      - name: Send post request
        uses: satak/webrequest-action@v1.2.4
        with:
          url: https://some-url/handle-post
          method: POST
          payload: '{"foo": "bar", ""pipeline_name": "${{ github.event.repository.name }}"}'
</pre>
<p>При помощи <a href="https://github.com/Satak/webrequest-action">webrequest-action</a> можно делать множество различных запросов (как POST так и GET) самой разной сложности. Больше примеров можно найти в README автора.</p>
]]></content:encoded>
					
					<wfw:commentRss>/2021/12/07/github-actions-%d0%be%d1%82%d0%bf%d1%80%d0%b0%d0%b2%d0%ba%d0%b0-post-%d0%b7%d0%b0%d0%bf%d1%80%d0%be%d1%81%d0%be%d0%b2-%d1%81-webrequest-action/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		</channel>
</rss>
