Как стать автором
Поиск
Написать публикацию
Обновить

Администрирование

Сначала показывать
Порог рейтинга

Скрипт очистки логов всех баз MSSQL

Изначально статья была выложена на своём сервере https://ast-1c.kz/almasoft/?p=1443

Ничего сверхъестественного, но может кому пригодится:)

В процессе работы с сервером 1С, который в качестве сервера баз данных использует MSSQL сервер, очень часто приходится решать задачу по очистке логов базы. Сама по себе задача достаточно тривиальная и решается исполнением скрипта (при полной модели восстановления):

USE база_данных;  
GO  
-- Изменяем модель восстановления базы данных на SIMPLE.  
ALTER DATABASE база_данных
SET RECOVERY SIMPLE;  
GO  
-- Обрезаем LOG файл до 1 мегабайта.  
DBCC SHRINKFILE (база_данных_log, 1);  
GO  
-- Возвращаем модель восстановления базы данных на FULL.  
ALTER DATABASE база_данных
SET RECOVERY FULL;  
GO

либо же для базы использующей простой тип модели восстановления:

USE база_данных;  
GO  
-- Обрезаем LOG файл до 1 мегабайта.  
DBCC SHRINKFILE (база_данных_log, 1);  
GO  

Всё, просто и хорошо, но вот если на сервере скажем 100 баз, писать такой скрипт для каждой в отдельности — это не очень приятное задание, да и времени уйдет предостаточно. А ещё есть одно неудобство — если в последствии будет добавлена очередная база, то Вы не должны забыть и для неё прописать отдельный скрипт. Очень часто базы добавляют программисты 1С, а вот слежение за состоянием сервера ложится на плечи системного администратора. Ну и тут главное не просмотреть этот момент. В общем не очень удобная штука.

Было принято решение написать универсальный скрипт, который бы сам определял все базы и в зависимости от модели их восстановления выполнял бы необходимые процедуры для обрезки файла лога. А вот и полученный скрипт:

Declare @name varchar(100)
declare @qu as varchar(1200)
declare icur cursor fast_forward for

SELECT name
FROM sys.databases
WHERE name NOT IN ('master', 'model', 'msdb', 'tempdb')
--and recovery_model_desc = 'FULL'

open icur
 fetch next from icur into @name
 While @@Fetch_Status = 0 

Begin
  Set @qu='use [' + @name + '] Declare @logname varchar(64), @size int'
  Set @qu=@qu + ' Set @logname = (SELECT [name] FROM [sys].[database_files]  where type_desc=''LOG'')'
  Set @qu=@qu + ' Set @size = (SELECT max_size FROM [sys].[database_files]  where type_desc=''LOG'') * 0.7/128'
  Set @qu=@qu +  ' ALTER DATABASE [' + @name + ']  SET RECOVERY SIMPLE DBCC SHRINKFILE (@logname, 7)'
  Set @qu=@qu + ' ALTER DATABASE [' + @name + ']  SET RECOVERY FULL'
  Exec (@qu) 
  Set @qu = '' 
  fetch next from icur into @name
END
close icur

SELECT name
FROM sys.databases
WHERE name NOT IN ('master', 'model', 'msdb', 'tempdb')
--and recovery_model_desc = 'SIMPLE'

open icur
 fetch next from icur into @name
 While @@Fetch_Status = 0 

Begin
  Set @qu='use [' + @name + '] Declare @logname varchar(64), @size int'
  Set @qu=@qu + ' Set @logname = (SELECT [name] FROM [sys].[database_files]  where type_desc=''LOG'')'
  Set @qu=@qu + ' Set @size = (SELECT max_size FROM [sys].[database_files]  where type_desc=''LOG'') * 0.7/128'
  Set @qu=@qu +  ' ALTER DATABASE [' + @name + ']  SET RECOVERY SIMPLE DBCC SHRINKFILE (@logname, 7)'
  Exec (@qu) 
  Set @qu = '' 
  fetch next from icur into @name
END
close icur
deallocate icur

DBCC SHRINKDATABASE (TEMPDB);

Скачать готовый на GitHub Gist

Теги:
Всего голосов 1: ↑1 и ↓0+1
Комментарии4

ITFB Group совместно с BPMSoft приглашает на вебинар, посвященный теме организации правильной подготовки к выбору сложных ИТ-решений на примере CRM-платформы.

Вебинар будет полезен компаниям крупного бизнеса (включая Enterprise), планирующим внедрение с нуля или замену legacy-систем как в рамках импортозамещения, так и при смене самописных решений для широкого класса ИТ-систем, автоматизирующих различные бизнес-процессы (BPM, HRM, ATS, КЭДО, SRM, СЭД и др.)

Обсудим:

⏩ Как важно подготовиться к выбору сложных ИТ-решений для крупного бизнеса на примере выбора CRM-системы

⏩ Почему запросы предложений не содержат необходимой информации для проведения точной оценки стоимости внедрения

⏩ Как методология предпроектного обследования (ППО) от ITFB Group помогает создать качественный RFP (запросы предложения)

⏩ Кейсы: ППО незначительно увеличивает сроки и бюджет, но сильно снижает риски

⏩ Как при помощи ППО и гибкого лицензирования вендора можно снизить ТСО в проекте CRM

⏩ Применение ППО для выбора других сложных ИТ-систем (BPM, СЭД, SRM, HRM, ATS, КЭДО)

Спикеры:
Николай Чекин — директор по развитию отношений с партнерами, ITFB Group
Максим Илюхин — директор по продажам, BPMSoft

Дата и время: 29 мая в 11:00

ЗАРЕГИСТРИРОВАТЬСЯ

Теги:
Рейтинг0
Комментарии0

Ежемесячный дайджест: новое за май 🌦️

☁️ Опубликовали записи докладов и дискуссий по всем трем трекам нашей масштабной конференции GoCloud 2025: инфраструктура и сервисы, AI&ML и сценарии работы в облаке. Смотреть доклады.

🤖 Приглашаем на второй Cloud․ru Tech Lab: DevOps — митап для DevOps- и SRE-инженеров. В этот раз обсудим сложности DevOps-процессов и разберем DevOps-практики на реальных кейсах. В программе крутые доклады и afterparty c нетворкингом. Присоединиться можно онлайн и офлайн.

💼 В новом кейсе рассказали, как «Литрес» — компания-лидер на рынке лицензионных цифровых книг в России и странах СНГ — построила облачное аналитическое хранилище на базе КХД Cloud.ru и сократила время обработки и анализа данных. Например, теперь «Литрес» обрабатывает простые запросы при обращении к данным за 5 секунд. 

🚀 Выпустили в общий доступ (General Availability) сервис для управления публичными и приватными доменными зонами — Evolution DNS. Он поможет управлять DNS без сложных настроек и покупки собственных серверов, создавать публичные и приватные доменные зоны, обеспечивая надежную среду для разработки и тестирования. А еще вы будете платить только за фактически использованные ресурсы.

⚙️ Обновили наши облачные платформы. Например, добавили поддержку работы с deb-пакетами в сервис для хранения, совместного использования и управления Docker-образами и Helm-чартами Evolution Artifact Registry. Подробнее обо всех апдейтах на других наших облачных платформах читайте в дайджесте на сайте.

📺 Провели вебинары, а сейчас их можно посмотреть в записи:

Также приглашаем на предстоящие вебинары: 

  • Резервное копирование в облаке: как спасти бизнес от потери данных. На вебинаре вы узнаете, как перенести операционные расходы по управлению данными на облачных провайдеров, оптимизируя процессы резервного копирования и аварийного восстановления. Мы также расскажем, как добиться надежности, гибкости и экономии в условиях растущих объемов данных. 29 мая в 11:00 мск.

  • Почему госсектору и крупному бизнесу нужны гибридные облака. На вебинаре расскажем о модульной платформе для создания частного, гибридного или распределенного облака Cloud.ru Evolution Stack. Вы узнаете, как в сжатые сроки импортозаместить и модернизировать унаследованную инфраструктуру, построить частное облако в собственном дата-центре, а также реализовать гибридные облачные сценарии. 10 июня в 11:00 мск.

🎧 В новом выпуске подкаста обсудили с Алексеем Четыркиным, директором по Data Science в Magnit Tech, как ритейл-гигант внедряет AI и какие технологии меняют будущее торговли.

🎓 В бесплатном курсе Cloud.ru Evolution Fundamentals рассказываем, как работать с IaaS-сервисами облачной платформы Cloud.ru Evolution и настраивать их под свои проекты и задачи. Курс подойдет системным администраторам, начинающим IT-специалистам и всем, кто хочет освоить облачные технологии. А еще предлагаем пройти сертификацию, чтобы официально подтвердить свои знания и навыки.

💸 Предлагаем попробовать обновленную реферальную программу: теперь рекомендовать сервисы Cloud.ru клиентам, коллегам или друзьям можно с большей выгодой. Вы получите 20% от суммы чеков приведенных пользователей в первый год и 15% — в последующие годы. Участвовать могут самозанятые, ИП и юридические лица. Присоединиться к программе можно до 31 мая.

До встречи в июне!

Теги:
Рейтинг0
Комментарии0

22 мая Андрей Квапил (a.k.a. kvaps) проведет вебинар на YouTube-канале CNCF и расскажет о том, как быстро и просто деплоить виртуальные машины и Kubernetes-кластеры и пробрасывать в них GPU с помощью Open Source-платформы Cozystack.

Зарегистрироваться можно по ссылке: https://tinyurl.com/yf9jcfst. Просто кликните по кнопке «Login to RSVP», чтобы получить приглашение в календаре.

Теги:
Всего голосов 1: ↑1 и ↓0+2
Комментарии0

Новая консоль для облачных серверов

Встречайте в панели серийную консоль — быструю и с удобным копипастом.

Работает «из коробки» на серверах, установленных после 4 апреля 2024. Для остальных — одна команда в панели управления, и готово.

Из удобных фич:

➖ Поддержка Ctrl+C/Ctrl+V, скролла и мыши в терминале.
➖ Подсветка синтаксиса в один клик.
➖ Независимость от публичной сети и SSH.
➖ Мгновенный запуск и оптимизация потребления ресурсов.

✏️ VNC-консоль также остается доступной. На всех серверах, кроме тех, что с Виндой, можно легко переключаться между консолями.

Затестить новую консоль →

Теги:
Всего голосов 8: ↑8 и ↓0+10
Комментарии0

Как добиться надежности, гибкости и экономии в условиях растущих объемов данных? Расскажем на вебинаре.

📆 Когда: 29 мая в 11:00 мск

📍 Где: онлайн

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

В программе:

  • что такое резервное копирование и аварийное восстановление: отличия и необходимость в разных сценариях;

  • важность резервного копирования и аварийного восстановления в рамках концепции непрерывности данных;

  • причины использовать облако для обеспечения непрерывности данных;

  • дополнительные концепты для защиты информации;

  • демо: как настроить резервное копирование и аварийное восстановление в облаке.

Вебинар будет полезен всем, кого волнует обеспечение непрерывности и отказоустойчивости бизнеса: IT-директорам, системным администраторам, инженерам и архитекторам инфраструктуры.

Зарегистрироваться 👈

Теги:
Рейтинг0
Комментарии0

BI-проекты: 5 причин, почему они выходят за рамки бюджета (и как этого избежать)

Если вы хоть раз участвовали во внедрении BI-системы — знаете, как легко проект может уйти не туда:
– бюджет трещит по швам,
– сроки съедены интеграцией и доработками,
– пользователи по-прежнему делают аналитику в Excel.

Мы в GlowByte собрали в статье практический разбор типичных ошибок, которые чаще всего приводят к перерасходу бюджета и снижению отдачи от BI-проектов.

Плюс: даём самодиагностический чек-лист и PDF-гайд, где перечислены все организационные, финансовые и технические риски BI-проектов.

Заходите почитать! Статья здесь → Скрытая стоимость BI: что не учитывают 8 из 10 компаний при внедрении аналитических систем.

Теги:
Всего голосов 1: ↑1 и ↓0+1
Комментарии0

🪙 Крипта никому не нужна, и блокчейн тоже (или нет?)

Другое дело AI — за ним БУДУЩЕЕ! А что этот ваш блокчейн криптоскамерский 🤢? Столько лет ему, а толку нет: одни спекуляции, пользоваться неудобно, никому не нужна децентрализация и т.д.

Недавно снова пришлось вступить в спор с другом на эту тему. Скажу сразу: у меня нет иллюзий о светлом будущем благодаря блокчейну. Да и по жизни мой стакан обычно наполовину пуст (к сожалению) — я тот ещё скептик и душнила. Но ведь никто не спорит, что технологии двигают нас вперёд, а блокчейн — это в первую очередь технология. Приведу пример.

🅰️Ⓜ️Ⓜ️ Как появился AMM и почему я считаю, что это важно

Не хочется строить из себя Виталика (враньё — ещё как хочется), но давайте порассуждаем на бытовом уровне: так ли AI, к примеру, круче блокчейна? Сначала расскажу о том, что меня впечатлило (и без Виталика тут всё равно не обойтись).

Наверное, все слышали про whitepaper от Сатоши Накамото. Хочу заметить, что это уже готовый документ, который стал импульсом к рождению блокчейна. Но есть вещи не менее крутые и менее «оформленные» — например, пост Виталика на Reddit, который послужил началом появления различных формул AMM (Automated Market Makers) и DEX на их основе: «Let's run on-chain decentralized exchanges the way we run prediction markets».

Контекст такой: 2016 год, экосистема Ethereum активно развивается, но децентрализованные биржи сталкиваются с рядом проблем — низкая ликвидность, высокие спреды между покупкой и продажей, а также дороговизна и сложность управления ордерами непосредственно на блокчейне. В таких условиях очень сложно конкурировать с CEX, где всё быстрее и удобнее.

Виталик предлагает перенести модель автоматизированных маркет-мейкеров, уже используемую в предсказательных рынках (например, Augur), в сферу децентрализованных бирж. Вместо традиционной книги ордеров, где покупатели и продавцы вручную устанавливают цены, AMM использует математические формулы для автоматического определения цен активов на основе их предложения и спроса в пуле ликвидности.

А в конце делает приписку, мол, тут Martin Köppelmann предложил упростить формулу и использовать инварианту «x * y = k». Мартин Кёппельман — это сооснователь и CEO Gnosis (Safe, CoW Protocol, CFT и др.). А формула, как мы знаем, стала фундаментом, на котором построены такие гиганты, как Uniswap, Curve, Balancer и другие.

👤 Кто (или что) стоит за блокчейном?

Так что же меня в этом впечатлило? Одна простая математическая формула способна создать огромный рынок и поменять правила игры. Всё это можно свести к простому тезису: математика и её производные в виде блокчейна, криптографии, в конце концов AI (куда без него) — могут значительно улучшать процессы за счёт повышения их эффективности.

А где конкретно блокчейн улучшает эффективность? Он уменьшает трансакционные издержки.

Трансакцио́нные изде́ржки (transaction cost) — затраты (в том числе с использованием рыночных механизмов); издержки, сопровождающие взаимоотношения экономических агентов.

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

Поэтому я искренне верю, что за блокчейном стоит технология и законы эффективности, которые со времением все равно безжалостно выпилят все неэффективное - это законы природы. Так ли сильно в этом плане блокчейн отличается от AI?

🏁Что в итоге?

Важный момент — я ни в коем случае не претендую на истину в последней инстанции. Вопрос открытый и требует обсуждений. Предлагаю обсудить эту тему в комментариях 👇.

Это в любом случае будет продуктивнее, чем говорить, что крипта — скам, а блокчейн — 💩.

@yarlykovrv

Теги:
Всего голосов 4: ↑1 и ↓30
Комментарии0

Решение проблемы с bluetooth-гарнитурой Fedora

Возникала проблема: не воспроизводился звук через Bluetooth-гарнитуру.

  • Изначально не было подключения

  • Потом звук был прерывистый и работал только через гарнитуру (HFP), а не A2DP

  • Плюсом к тому, нигде не находилась та самая "таблетка от всего".

Что имеем

Для начала расскажу о том, какой у меня дистрибутив. В качестве дистрибутива - Fedora (Workstation Edition)

neofetch
neofetch

Что было сделано

Методом проб и пыток, вынес некоторое решение, которое на данный момент работает:

  • Установка проприетарных репозиториев

  • Установка пакетов/драйверов

  • Очищение всех ошибочных конфигураций

<spoiler>Не знал, что изначально проприетарные драйвера недоступны и некоторые репозитории отсутствуют, такие как RPMFusion</spoiler>

Установка проприетарных репозиториев

Для начала, я решил начать с проприетарных репозиториев, использовал данные команды:

sudo dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-41.noarch.rpm
sudo dnf install https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-41.noarch.rpm
sudo dnf install gstreamer1-plugins-ugly gstreamer1-plugins-bad gstreamer1-plugins-good gstreamer1-plugins-base

Установка пакетов

Дальше я принялся искать, какие пакеты мне нужны для правильной работы bluetooth-наушников, в итоге выкопал такой список:

sudo dnf install gstreamer1-plugins-ffmpeg
sudo dnf install ffmpeg
sudo dnf install alsa-plugins-pulseaudio --allowerasing
sudo dnf install gstreamer1-plugins-ugly gstreamer1-plugins-bad gstreamer1-plugins-good gstreamer1-plugins-base --allowerasing
sudo dnf install bluez-libs-devel
sudo dnf install bluez-tools
sudo dnf install pipewire pipewire-pulse pipewire-alsa pipewire-jack wireplumber
sudo dnf install pulseaudio-module-bluetooth-freeworld

Очистка ошибочных конфигураций

Желательно очистить все изменения, что вносились без этого руководства, в моем случае в конфигурации bluez блокировалось подключение a2dp

rm -rf ~/.config/pulse
rm -rf ~/.cache/wireplumber
systemctl --user restart wireplumber
sudo systemctl restart bluetooth

Примечание

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

Теги:
Всего голосов 2: ↑2 и ↓0+3
Комментарии1

Митап для инженеров дата-центров. Присоединяйтесь!

Привет, Хабр! 23 мая в Москве проведем Selectel Infra MeetUp — ивент для инженеров дата-центров, которые эксплуатируют IT-инфраструктуру. Вас ждут лекции, технические демо-стенды, экскурсия по дата-центру и турнир с розыгрышем призов. Афтепати с напитками и Selectel Shop — приятные бонусы. Присоединяйтесь лично или подключайтесь онлайн!

Обсудим горячие вопросы

  • Из чего состоит оптический кабель и какие типы кабелей используются в работе современных дата-центров? 

  • Как мы создали и развиваем робота для прокладки кроссировок?

  • Что делать, если вы уже на опыте, но все еще боитесь вопроса «Кем вы видите себя через 5 лет»?

  • Какой карьерный трек выбрать инженеру дата-центра? 

Очных участников также ждет практическая часть: вы рассмотрите сервер Selectel под капотом, узнаете, зачем рынку нужен новый дистрибутив Selectel OS и пообщаетесь с инженерами, которые построили инфраструктуру продукта, объединяющего сотни мобильных устройств в одну систему. 

Участие бесплатное, нужно только зарегистрироваться.
Участвовать ➡️

Теги:
Всего голосов 2: ↑2 и ↓0+4
Комментарии0

Ozon запустил бесплатный инструмент OzonGenerator для автоматической генерации описаний товаров — он встроен в личный кабинет продавца и доступен в приложении Ozon Seller. Использовать функцию можно до 50 раз в месяц, при этом сторонние сервисы больше не нужны.

Теги:
Рейтинг0
Комментарии3

Как связать пару тысяч ИП и маркет?

Представьте, что ваш бизнес обслуживает более 2 000 продавцов, интегрированных с крупнейшими маркетплейсами. Каждый день поступает множество запросов, и важно обеспечить стабильную работу платформы при высокой нагрузке. Как сделать так, чтобы система оставалась надежной и безопасной, а данные не терялись? 

Рассказываем на примере кейса XWAY. Переходите в Академию Selectel чтобы узнать, как компания:

  • Построила гибридную и отказоустойчивую инфраструктуру с обработкой 1 000 запросов в секунду.

  • Использует облачные серверы, Managed Kubernetes и выделенные серверы от Selectel для обеспечения высокой производительности.

  • Обеспечивает быструю и надежную сетевую связность при уровне SLA 99,98%

  • Автоматизировала управление инфраструктурой, снизив зависимость от сторонних специалистов.

Теги:
Всего голосов 4: ↑4 и ↓0+5
Комментарии0

Облачная инфраструктура Рег.ру для AI и ML

Рассказываем, какие решения в Облаке Рег.ру помогут развернуть полноценную инфраструктуру для работы с AI и ML. Сервисы подходят для обучения моделей, хранения больших датасетов в облачных хранилищах и внедрения решений в продакшн. 

Как работает архитектура для AI и ML:

  1. Развертывание вычислительной среды. Выбираете, где будет выполняться обучение: Bare Metal GPU или Cloud GPU.

  2. Загрузка данных. Собираете датасет в удобных инструментах: S3, DBaaS или непосредственно на виртуальной машине/сервере. 

  3. Обучение модели. Запускаете создание или дообучение модели с сохранением результатов в удобном сервисе, например, в S3 или DBaaS.

  4. Использование результатов. Модель можно тиражировать и применять для различных сервисов в продакшене.

С помощью AI и ML-решений можно упростить автоматизацию, ускорить аналитику и повысить производительность проектов.

Теги:
Всего голосов 2: ↑2 и ↓0+2
Комментарии1

Ближайшие события

3 ключевые метрики, которые спасут микросервисный проект

Современные системы — это сложные экосистемы, где каждая ошибка может стоить бизнесу денег и репутации. Рассказываем, какие метрики нельзя игнорировать, чтобы не пропустить критичные сбои.

Инфраструктурные метрики

Базовые показатели вроде CPU и RAM уже не спасают. Для микросервисов важнее:

Статус подов в Kubernetes:

  • Количество рестартов.

  • Фейлы readiness/liveness проб.

  • Используйте метрику kube_pod_status_ready в Prometheus, чтобы находить «битые» поды.

Трассировка запросов: время выполнения каждого этапа через Jaeger.

Пример: Если поды перезапускаются чаще 5 раз в час — это сигнал к немедленной проверке.

Бизнес-метрики

Инфраструктура может быть идеальной, но если падает конверсия — бизнес теряет клиентов. Отслеживайте:

  • Конверсию платежей (например, от корзины к оплате).

  • Время обработки заказов.

Код для .NET-сервиса:

using App.Metrics;

public class PaymentService {
    private readonly IMetrics _metrics;
    public PaymentService(IMetrics metrics) => _metrics = metrics;
    
    public void ProcessPayment() {
        try {
            // Логика платежа...
            _metrics.Measure.Counter.Increment(MetricsRegistry.PaymentSuccessCounter);
        } 
        catch {
            _metrics.Measure.Counter.Increment(MetricsRegistry.PaymentFailedCounter);
        }
    }
}

Эти метрики интегрируются в Grafana, чтобы вы видели, как каждая транзакция влияет на бизнес.

Пользовательский опыт

Даже 1 секунда задержки может увеличить отток пользователей на 7%. Контролируйте:

  • Время отклика API (p95, p99).

  • Частоту ошибок 5xx/4xx.

  • Структурированные логи с контекстом:

{
  "timestamp": "2023-10-05T12:34:56Z",
  "level": "ERROR",
  "userId": "a1b2c3",
  "operation": "process_payment",
  "message": "Failed to charge card: insufficient funds"
}

Теги вроде userId помогают быстро найти все связанные с ошибкой события.

Теги:
Рейтинг0
Комментарии0

Как форкнуть Uniswap v3, не делая форка? Подсказка: нужна алгебра

Учёные расходятся в цифрах, сколько на самом деле существует форков Uniswap v2, но, скорее всего, много или даже очень много. «А раз это так популярно, почему бы не сделать из этого бизнес?» — подумали ребята из Algebra Finance и сделали DaaS (DEX-as-a-Service).

Но Uniswap v2 уже морально устарел: у пулов на его основе есть проблемы с непостоянными потерями (impermanent loss) и неэффективным использованием капитала, поэтому протокол построен на базе Uniswap v3.

🦄 Почему за основу взят Uniswap v3?

Концепция CLMM (Concentrated Liquidity Market Maker), которая стала основной фичей Uniswap v3, отчасти решала проблему непостоянных потерь, а кроме того, концентрированная ликвидность позволяла использовать капитал провайдеров ликвидности (LP) в разы эффективнее. Но всё же было у неё пара недостатков.

⚙️ DEX-движок

Первая версия протокола Algebra v1 не просто тупо взяла код третьего Uniswap: была сохранена основная архитектура (core + periphery контракты), но переработана таким образом, чтобы исправить недостатки Uniswap v3:

  1. Динамические комиссии — тут команда протокола сильно заморочилась и разработала формулу, которая учитывает волатильность актива, объём ликвидности и объём торгов, и на основании этих данных корректирует комиссию пула.
    Получается, что:
    • При высокой волатильности комиссия увеличивается, чтобы компенсировать риски LP.
    • При низкой торговой активности, но достаточной ликвидности, комиссия снижается, чтобы стимулировать больше обменов.
    Таким образом, всю ликвидность конкретной пары можно держать в одном пуле, а не разбивать на несколько с разной комиссией (как в Uniswap v3). Подробно формула разбирается в whitepaper.

  2. Фарминг из коробки — добавили возможность поощрять LP через фарминг-кампании. Дело в том, что в случае с CLMM стандартный фарминг не подходит. Для справедливого распределения ревардов нужно учитывать:
    • объём ликвидности конкретной позиции;
    • время, когда эта позиция была в диапазоне и зарабатывала комиссии.
    Задача нетривиальная: для этого пришлось разработать виртуальные пулы, которые подключаются к основному пулу и получают эту информацию в реальном времени (у Uniswap ничего подобного нет).

🚀 Запуск протокола

После истечения лицензии на код Uniswap v3 (в апреле 2023 года) разные DEX'ы начали разворачивать Algebra v1, например QuickSwap, Camelot, THENA.

Судя по отсутствию в документации информации о развертывании, команда Algebra делает это самостоятельно. За это протокол получает community fee, то есть часть торговых комиссий DEX'ов отчисляется протоколу. На данный момент этим решением уже воспользовалось больше 30 DEX.

У протокола есть токен ALGB: около 70% заработанных комиссий тратится на выкуп и сжигание этого токена, остальные идут на поддержание работы протокола и выплату ревардов за стейкинг ALGB.

🥈Algebra v2 (Integral)

Недавно была представлена вторая версия протокола — Algebra Integral. Фактически это функционал Uniswap v4, но на базе всё того же Uniswap v3. В четвёртой версии Uniswap сделал единый пул, а также добавил хуки.

Хуки — это callback-функции, которые вызываются при основных действиях пула (иницилизация, свопы, добавление/удаление ликвидности, flash-loan) и позволяют вынести много логики «наружу».

Algebra Integral не стала перенимать концепцию единого пула, но хуки добавила: теперь у создателей пар есть возможность настраивать доп. функционал по желанию, выбирая из различных плагинов. Например, не всем пулам нужны динамические комиссии, фарминг или TWAP.

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

Мы с коллегами периодически пишем в нашем Telegram-канале. Если интересно, что у нас в работе и что обсуждаем, можете заглянуть.

@yarlykovrv

Теги:
Всего голосов 2: ↑1 и ↓10
Комментарии0

«Криптонит» приглашает на Spark-митап в Москве 29 мая!

Приглашаем на наш Spark-митап: обсудим кейсы, практики применения и тренды развития!

Когда и где пройдёт?
29 мая в 18:30 в Музее криптографии (https://cryptography-museum.ru/)

Кому Spark Meetup полезен?

  • инженерам данных и аналитикам данных

  • программистам со знанием Spark и Scala

  • всем смежным специальностям из телекома, банков, промышленности и ретейла

Кто будет выступать с докладами?
Эксперты из «Криптонита», Positive Technologies и М2. Программу можно посмотреть тут — https://clc.to/SparkMeetup

Как зарегистрироваться?
Вот по этой ссылке — https://clc.to/SparkMeetup

Будет ли трансляция?
Обязательно будет. Ссылку разместим позже на странице мероприятия — поэтому советуем зарегистрироваться на оффлайн-встречу, даже если вы не сможете прийти. Так вы точно не потеряете ссылку на онлайн

Нужно что-то платить?
Нет, митап бесплатный — ждём всех неравнодушных к программированию на Spark!

Зарегистрироваться — https://clc.to/SparkMeetup

Теги:
Всего голосов 2: ↑2 и ↓0+2
Комментарии0

Смотрите новый выпуск подкаста про AI и Data Science 🔥

В гостях у Cloud.ru — Алексей Четыркин, директор по Data Science в Magnit Tech. В подкасте обсудили, как ритейл-гигант внедряет AI и какие технологии меняют будущее торговли.

Также в выпуске:

  • как организовать работу с данными в ритейле эффективно,

  • для чего «Магниту» нужна собственная AI Lab,

  • какие функции могут забрать на себя AI-агенты.

Посмотреть подкаст можно на YouTube и VK Видео 👈

Теги:
Всего голосов 1: ↑1 и ↓0+1
Комментарии0

🗝 Так вот он какой мой адрес кошелька в Ethereum

Почти три года занимаюсь разработкой смарт-контрактов для Ethereum и ему подобных. И сегодня коллега задал мне вопрос на который я не смог ответить сразу!

Есть два адреса: 0x5aaeb6053f3e94c9b9a09f33669435e7ef1beaed и 0x5aAeb6053F3E94C9b9A09f33669435E7Ef1BeAed. Это один и тот же адрес? Или два разных?

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

И вот тут я крепко задумался… Тем более когда начинаешь копать, то ответ лежит наверху: Ethereum адреса не чувствительны к регистру!

В природе Ethereum адреса можно встретить разные:

  • 0xabc... (нижний регистр)

  • 0xABC... (верхний регистр)

  • 0xAbC... (смешанный регистр)

▫️Но как их видит сама EVM?

Любой адрес преобразуется в 40 шестнадцатеричных символов (hex) нижнего регистра (без 0x). Используются символы [0-9A-F]*. Однако EVM не важен регистр, так как она все символы преобразует в нижний регистр по умолчанию. Таким образом в EVM наш адрес будет всегда 5aaeb…435e7ef1beaed.

Но зайдем в etherscan, вставим наш адрес и увидим некоторые буквы с верхним регистром в поле адреса.

▫️Что не так с etherscan?

А все так! Ответ на этот казус кроется в ERC-55: Mixed-case checksum address encoding. Согласно спецификации, "сбоку» (сугубо off-chain) для адресов вводится понятие checksum (контрольная сумма). В Ethereum — это механизм проверки целостности адреса, который помогает обнаружить ошибки ввода (опечатки) за счёт использования заглавных букв в шестнадцатеричной записи адреса.

Существует простой алгоритм, который определяет какие буквы необходимо перевести из нижнего регистра в верхний. Адрес хешируется, затем каждая буква адреса сопоставляется с символом в хеше и если он больше или равен 8, то букву нужно преобразовать в верхний регистр.

Сама EVM не проверяет checksum — это делают только кошельки и интерфейсы (например, MetaMask или Etherscan). Если отправить транзакцию на 0x5AAEB... (все буквы с верхним регистром), EVM всё равно обработает её, как 0x5aaeb.... Получается, что пользователи могут видеть, что адрес введён верно (ошибки в регистре могут сигнализировать об опечатке или мошенничестве).

Это хорошая защита от дурака, но не стопроцентная! Изменение одного символа в адресе влечет за собой смену схемы символов в верхнем регистре, но с вероятностью 0,0247% это может не спасти и проверка контрольной суммы пройдет успешно.

▫️Проверь свой адрес

Используй Etherscan или ETH Checksum Tool. При помощи этих сервисов можно проверить контрольную сумму адреса.

▫️Вывод

EVM понимает адрес в любом регистре, но checksum — наша близкая к стопроцентной защита от ошибок и опечаток! Не стоит пугаться, если разные кошельки в разные моменты времени показывают адреса то в нижнем регистре, то в смешанном.

@pnaydanovgoo

Теги:
Всего голосов 4: ↑4 и ↓0+4
Комментарии0

Claude-desktop на Arch Linux

Дисклеймер: автор не несет ответственности за использование вами стороннего ПО из неофициального источника, вы устанавливаете ПО на свой страх и риск.

Введение

Всем привет, хотел бы рассказать вам о небольшом открытии для себя, а именно: установке claude-desktop на Arch Linux со всеми фичами, доступными Windows и MacOS пользователям. В принципе аналогично можно сделать для большинства других линукс дистрибутивов.

ссылка на пост в реддите с которого вроде как все началось (NixOS): https://www.reddit.com/r/ClaudeAI/comments/1hgsmpq/i_successfully_ran_claude_desktop_natively_on/

Спойлер: за нас с вами уже все сделали, нужно просто ввести пару комманд в терминале.

Все мы слышали про MCP и про то, как тулы можно интегрировать в ваши десктопные приложения такие как Claude-desktop, Cursor, Windsurf, VSCode, а также использовать в своих проектах при разработке агентных систем, значительно упрощая себе жизнь и разрешая ИИ-асситенту творить некоторые вещи с вашими данными.

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

Пререквезиты

Claude-desktop же чуть более заморочен. Он требует от вас иностранный номер и некоторых махинаций.

Давайте представим что эти проблемы вы решили либо самостоятельно, либо обратились к знакомым, либо посмотрели решения из этой статьи: статья.

Так или иначе у вас есть работающий аккаунт и прямой доступ к claude.ai из вашего браузера

Установка

Базово Claude использует электрон и отсутствие порта на Linux, как говорят в реддите, просто лень разработчиков.

Благо в опен сорсе есть множество решений, на которые мы можем обратить внимание, пакетов в aur настолько много что разбегаются глаза и не совсем понятно какой конкретно нужно ставить, а еще большая часть из них не поддерживается , а последний коммит был условно год-полгода назад, следовательно если у вас хоть что то из этого запустится - вам повезло.

Альтернативно, имея Wine на своей системе, вы сможете скачать Claude-desktop для Windows и использовать через Wine, однако это очень криво и неудобно, а еще ужасно лагает.

Я потратил некоторое время и нашел рабочий пакет, вот ссылка на него: https://github.com/aaddrick/claude-desktop-arch

для установки вам просто нужно выполнить ряд комманд:

# Clone this repository
git clone https://github.com/aaddrick/claude-desktop-arch.git
cd claude-desktop-arch

# Update checksums (needed once, or after PKGBUILD/install script changes)
updpkgsums

# Build and install the package
# This command automatically handles dependencies, builds, and installs
# Use makepkg -sci to automatically clean up build files afterwards
makepkg -si

Обязательно обновите checksums, иначе поймаете ошибку.

Профит

Скриншот с тулами
Скриншот с тулами

Теперь приложение Claude есть в списке доступных через ваш менеджер приложений. Учитывайте при запуске свою геолокацию и не забывайте о ней, чтобы избежать потенциальной блокировки со стороны Claude.

MCP

Доступно и работает из коробки, json для редактирования доступен в директории: ~/.config/Claude/claude_desktop_config.json

Не забудьте установить Nodejs и Uv/Python для запуска нужных вам тулов.

Дальше просто следуем документации от разработчиков MCP-сервера и ставим его, например mcp-filesystem из оффициальной доки: https://modelcontextprotocol.io/quickstart/user

{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-filesystem",
        "/Users/username/Desktop",
        "/Users/username/Downloads"
      ]
    }
  }
}

После обновления конфига перезаходим в Claude и смотрим на появившиеся кнопочки с новыми тулами.

Да не все будет работать так гладко, как могло бы на Windows/MacOS, например puppeteer у меня запускает изолированный браузер и проверить его работу я могу только через просьбу сделать скриншот (полагаю проблема в том, что я рукожоп), тем не менее:
это работает на Linux.

Теги:
Всего голосов 2: ↑2 и ↓0+2
Комментарии0

Приглашаем на вебинар, посвященный последним обновлениям IVA MCU — ведущей платформы видеоконференцсвязи на российском рынке*

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

Спикеры

  • Дмитрий Журавлев, директор по продукту IVA MCU

  • Дмитрий Чугунов, руководитель управления поддержки продаж

Что вас ждет

  • Обзор ключевых функций новой версии IVA MCU

  • Экскурс: как мы обеспечиваем безопасность платформы

  • Примеры успешного внедрения

  • Дорожная карта развития на 2025 год

  • Ответы на вопросы

Зарегистрироваться прямо сейчас.

 *По данным CNews Analytics: Крупнейшие поставщики решений для видеоконференцсвязи 2023.

Теги:
Всего голосов 2: ↑2 и ↓0+2
Комментарии0