creator cover Антон Титовец
Антон Титовец

Антон Титовец 

Open-source энтузиаст

15subscribers

4posts

goals2
9 of 20 paid subscribers
Когда здесь наберется небольшая стабильная аудитория, начну выкладывать предварительные анонсы, свои мысли и инсайды разработки моих проектов
$0 of $955 raised
Новый DEV-сервер для ускорения разработки OpenIntegrations и Melezh Intel Core i5-13400, RAM 32 ГБ, SSD 1000 ГБ

About

👋 Привет! Меня зовут Антон Титовец, хотя чаще меня можно встретить под ником bayselonarrend. Я занимаюсь несколькими open-source проектами в стеке 1С:Предприятие/OneScript, в частности OpenIntegrations, Melezh и YellowPM.
А еще я слежу за сайтом и телеграм каналом проекта OpenYellow, который посвящен open-source в мире 1С
🧐Здесь я планирую:
- Выкладывать свои мысли, инсайды и заметки о разработке
- Делится своими скриптами, практиками и инструментами
- Рассказывать о работе над открытыми проектами, обсуждать ход их дальнейшего развития с подписчиками
🤗 Ваша поддержка очень важна. Подписывайтесь, чтобы узнать больше и получить доступ к уникальному контенту!

Мои проекты

Небольшой список моих проектов, он же список причин меня поддержать :Р
OpenYellow
Про проект, посвященный open-source в мире 1С
openyellow.org - это сайт, на котором вы можете найти различные списки 1С репозиториев на GitHub. Там собираются данные как о тех проектах,  которые написаны на языке 1С, так и о тех, которые созданы на основе других технологий, но с 1С связаны. Информация обновляется ежедневно
@OpenYellowProject - это канал в Telegram, связанный с сайтом openyellow.org, где ежедневно постятся новости о появлении новых проектов и их релизов на Github, а также подборки различных интересных проектов по категориям. Каждую пятницу публикуется топ по числу набранных за неделю звезд
GitHub
Мои open-source проекты
OpenIntegrations - главный проект, представляющий собой расширение для 1С, пакет для OneScript и консольное приложение для работы с различными онлайн-сервисами и технологиями
Melezh - gateway, позволяющий настроить единый API для работы с различными сервисами из набора OpenIntegrations и произвольными OneScript-модулями через HTTP
YellowPM - небольшой пакетный менеджер для 1С:Предприятие, позволяющий получать релизы открытых инструментов прямо с GitHub
OSCSViewer - VS Code плагин для визуального отображения результатов замера времени выполнения кода OneScript (-codestat) в редакторе по каждой строке
Creator has disabled comments for this post.

DevNote #3 | О MongoDB

Привет! Давненько не было DevNote - пора это исправлять. Сегодня расскажу о новой библиотеке и других изменения ОПИ, которые ожидаются в новой версии
Библиотека MongoDB
Похвастаюсь будущей обложкой релиза - нравится
В прошлом обновлении ОПИ произошло небольшое "возвращение к корням": получилась такая хрестоматийная библиотека для работы с HTTP API (с Max через GreenAPI, если быть конкретнее), которых я давно не писал. Уже почти забыл, как это делать. Но сейчас пришло время опять браться за компоненты - на этот раз для работы с MongoDB
Вообще, писать компоненты гораздо веселее, чем работать средствами 1С. Пишу я их на Rust и это, скажем прямо, чистый кайф. Сам Rust очень клевый как язык, с отличной IDE от JB - RustRover - еще лучше, много взрывающих мозг (в хорошем смысле) решений и пакетов. Многих штук потом не хватает в 1С. В частности, я так привык к unwrap_or,() unwrap_or_else() и им подобным (если ОК, то основное значение, иначе - то, что в скобках), что накатал себе функцию ПолучитьИли(Знач Коллекция, Знач Поле, Знач ЗначениеИначе) - получает значение структуры по ключу, а если его нет - значение из третьего параметра. Удобно 

Что касается конкретно mongodb, то для Rust есть официальный драйвер, поэтому все довольно легко и понятно. Есть небольшие препятствия ввиду того, что драйвер асинхронный (т.е. в компоненту, которая чисто синхронная, его так просто не засунешь), но благо я уже работал с таким на компоненте MSSQL. Один раз понять и как с ездой на велосипеде, в общем: вместо одного общего синхронного кода, поднимается дочерний асинхронный процесс с основной логикой, а из синхронной ВК туда отправляются/получаются сообщения о том, что нужно сделать
О размерах компонент

DevNote #2 | О FTP и баге платформы при работе с ВК

Сегодня расскажу о новой библиотеке ОПИ, которая находится в разработке, а еще об интересном (и очень неприятном) баге платформы, который обнаружился при использовании ОПИ на Linux
Библиотека FTP
Следующей библиотекой в ОПИ будет модуль для работы с FTP(s). Да, в 1С есть поддержка FTP средствами платформы и нет, ОПИ этот функционал платформы не использует. Как и многие последние обновления, следующий релиз будет основан на внешней компоненте и, в случае с FTP, для этого было две основные причины: 1) я хочу сделать наконец нормальный модуль SFTP, который работал бы без WinSCP костыля, а без наличия обычного FTP это выглядело бы странно 2) Поддержка FTP была бы к месту в других реализациях ОПИ, где его нет из коробки - OneScript, CLI и Melezh
Но это не значит, что данный модуль FTP будет бесполезен, если вы работаете с данным протоколом в рамках 1С:Предприятие. Кроме сомнительных причин появления, там будут и вполне приятные плюшки, отсутствующие в реализации платформы: поддержка прокси через Socks4, Socks5 и HTTP (последний в платформе не поддерживается), возможность получать и загружать данные напрямую через ДвоичныеДанные, без сохранения файла на диск, выполнение произвольных (сервер-специфических) команд и пр. TLS (FTPS) конечно же тоже поддерживается, причем без потребности в OpenSSL на Linux. Работать можно в активном и в пассивном режиме

Разработка компоненты в этот раз была, на удивление, сложной и комплексной - FTP оказался не так прост, особенно с прокси и TLS. Но это в прошлом: думаю, успею закончить и нормально обкатать новые функции к концу августа или началу сентября. Следите за обновлениями!

Баг при работе с компонентами
Много работы было также проделано, чтобы обойти очень неприятный баг платформы на Linux. Как оказалось, любая компонента может аварийно завершить свою работу, если попытаться передать туда (параметром) или получить обратно (результатом) данные свыше определенного размера. Я говорю "может завершить", потому что это случается не в 100% случаев

DevNote #1 | О доработке сайта и следующей библиотеке

Обещал делиться информацией о разработке - делюсь! Первая записка о текущей работе над проектами - приятного чтения :)
Библиотека MSSQL
На данный момент в разработке находится новая библиотека для OpenIntegrations, реализующая методы работы с MSSQL. Как и другие либы под СУБД, в ее основе внешняя компонента на Rust: в этот раз дела с ней были немного сложнее из-за отсутствия крейта (пакета), реализующего синхронную работу на самом Rust, но сейчас вроде работает стабильно. Осталось написать тесты - думаю, выйдет в середине июля. Набор методов будет такой же, как и в библиотеках PostgreSQL, MySQL и SQLite - все методы для этих СУБД используют общий ORM модуль
Оптимизация CLI версии
После некоторых оптимизаций сильно выросла скорость работы CLI версии, что будет заметно после выхода следующего обновления. Во-первых, оказалось, что в OneScript очень медленно работают директивы #Использовать, которые отвечают за подключение одних модулей в другие. Там, где это было возможно, все подобные директивы были заменены на прямое подключение через ПодключитьСценарий() - без дополнительной обработки с поиском файлов в каталоге, чтения файла описания пакетов и прочих вещей, которые происходят в #Использовать. Во-вторых, в готовых пакетах (поставках CLI со встроенным движком) была поднята версия OneScript: она сама по себе быстрее, так как тоже была оптимизирована в плане загрузки библиотек и #Использовать там просто работает лучше, чем в прошлых версиях.
Рост скорости работы очень серьезный и заметен невооруженным глазом. Вот сравнение замеров oscript -measure для одного и того же вызова до и после оптимизации (проанализировано qwen):
Здравствуйте. Планируется ли добавление библиотеки для интеграции с Github/Gitlab?
Gaidar Musaev, здравствуйте. Пока нет: довольно сложные API, при этом не думаю, что это найдет большой отклик. Сам пользуюсь вызовами GitHub CLI из 1С
Subscription levels4

На кофе

$2.73 per month
Если вы пользуетесь какими-либо моими открытыми разработками и просто хотите легко+непринужденно поддержать эти начинания - данная подписка для вас. Любая помощь очень важна, спасибо вам за это!
P.S. Открывает доступ к скрытому контенту Boosty

На расходы

$6.9 per month
Этот уровень поддержки уже более серьезный. Он открывает доступ в закрытый Telegram-чат, где вы можете задать мне любой интересующий вас вопрос. Мне, в свою очередь, каждая такая подписка серьезно помогает снизить ежемесячные расходы на содержание проектов. За что вам большое спасибо!
+ chat

На развитие

$20.5 per month
Подписка для меценатов. Также, как и предыдущая, открывает доступ к закрытому чату в Telegram. За такую неоценимую помощь буду стараться рассматривать вопросы уважаемых господ в первостепенном порядке
+ chat

Спонсорство

$103 per month
Специальная подписка для компаний, касающаяся OpenIntegrations (ОПИ) и Melezh. Приоритетная поддержка в личных сообщениях и логотип компании в списке спонсоров на страницах этих репозиториев, а также главной странице сайта openintegrations.dev (при желании)
+ chat
Go up