Александр Кунташов — про 1С и не только
2.47K subscribers
220 photos
10 videos
418 links
Заметки про разработку и смежные штуки: 1С, Vanessa Automation, DevOps в 1С, OneScript, PHP, Linux, JS, Python и всякое вокруг и около ИТ.
Download Telegram
Конференция Infostart Event в этом году стала еще больше: 3 дня и параллельно до 5 залов задействованы. И в три дня впихнулось какое-то невероятное количество докладов. Я, к сожалению, снова лично не смогу присутствовать, но как и в прошлом году буду смотреть online.

https://event.infostart.ru/2019/agenda/agenda.php
🖥 Консольный клиент для PostrgreSQL/SQLite/MySQL с автокомплитом и раскраской кода

Долгое время для доступа к базам данных использовал веб-интерфейс (легковесный, но функциональный adminer), но при работе с СУБД на удаленных серверах или в docker-контейнерах городить каждый раз огород с веб-сервером, открытием портов и т.п. не удобно, поэтому все чаще стал пользоваться штатными консольными клиентами, но почти сразу захотелось большего удобства и немного поискав и наткнулся на https://litecli.com/ и <del>его братья и сестры</del> аналогичные клиенты для других популярных баз данных https://www.dbcli.com/

На голову удобнее штатных консольных клиентов и все построены по одному принципу — и их "одинаковость" в плане не-специфичного для СУБД функционала — огромный плюс для меня.

Но сразу пришлось кое-что настраивать под себя. На примере litecli:

1. Если используешь тему по умолчанию (она так и называется default), то при включенной теме SolarizedDark в моем xterm некоторые символы не видно. Поэтому пришлось тему поменять на другую: мне подошла rtt, в которой подсветка ключевых слов более подходящая. Тема изменяется в конфиге ~/.config/litecli/config, параметр syntax_tyle. Темы Solarized у клиента пока нет.

2. Мне не удобным оказался включенный по умолчанию пейджинг (постраничная навигация) вывода команды, т.к. зачастую при написании очередной команды мне хочется видеть вывод предыдущей команды. Но пейджинг отключается/включается обратно прямо из клиента командами nopager и pager соответственно, и в конфиге можно указать состояние по умолчанию. Я по умолчанию пейджинг отключил — указал enable_pager = False в конфиге.

3. На сервере Digital Ocean (DO) клиент командой pip3 install -U litecli установился в ~/.local/bin, но в $PATH при этом не попал, пришлось прописывать этот каталог в PATH отдельно. Но возможно это из-за того, что у меня в .zshrc PATH уже был переопрелелен и, не правильно (хотя локально при тех же конфигах все заработало из коробки).

4. litecli написан на python, и после установки на DO (почти еще чистый сервер на Ubuntu, там стоял только python3 и некоторые библиотеки) сразу поругался на меня RuntimeError: Click will abort further execution because Python 3 was configured to use ASCII as encoding for the environment. и не запустился. Для исправления пришлось поставить локали и экспортировать переменные LC_ALL и LANG:

# Ставим локали:
sudo locale-gen ru_RU
sudo locale-gen ru_RU.UTF-8
sudo update-locale

# В ~/.zshrc добавляем строки:
export LC_ALL=ru_RU.utf-8
export LANG=ru_RU.utf-8

После этого все заработало.

5. По умолчанию многострочность отключена. Режим переключается нажатием клавиши F3, но по умолчанию отключен и при нажатии Enter в конце строки набираемый запрос выполнится. Я привык завершать запросы точкой с запятой, поэтому в конфиге указал multi_line = True, чтобы по умолчанию можно по нажатию Enter набранный запрос выполнялся только если Enter нажат после точки с запятой.

6. Пока не нашел, как решить: в prompt'е по умолчанию выводится имя выбранной базы данных - это отлично, но когда в случае sqlite ты указываешь длинный путь к базе - он весь считается "именем" . Это не удобно. Хотелось бы видеть только имя файла базы, а не весь путь.
🐘 https://1c.postgres.ru/ — лендинг для 1Сников, задающихся вопросом, какую сборку PG взять для 1С (из доклада Бартунова).

#infostartevent
На текущий момент для меня наиболее интересным оказался доклад "Как работает 1С в 13 ТБ в условиях непрерывной разработки." Максима Старкова о том, как готовят 1С в DNS.

Позабавила фраза (не дословно), когда Максим начал рассказывать про их самодельную систему автоматизации обновления конфигурации "Мы пока все по старинке делаем, безо всяких модных движков, понимающих встроенный язык 1С": своего рода ответ хайпу адептам oscript'а, собравшимся в зале Санкт-Петербург, из которого трансляция не ведется (поэтому я тут и злюсь).

Насчет "по-старинке" конечно Максим лукавит, у них там:
— Apache Kafka
— Clickhouse
— система мониторинга с эластиками, графанами и вот это все
— анализ ТЖ для выявления длительных процессов реструктуризации базы, чтобы понять, уложится ли обновление в технологическое окно

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

#infostartevent
Занимательная статистика: объем переписки в RMS Александра Белова в сравнении с объемом "Войны и мира".

#infostartevent
"Консоль запросов в массы" 😱 — да, тема продвинутых пользователей — знакомая боль 😊(из доклада Сергея Носкова)
🧠 В принципе, чтобы не ходить на вводные доклады про машинное обучение, нейросети и прочий "искусственый интеллект" достаточно прочитать статью по ссылке на слайде:

https://vas3k.ru/blog/machine_learning/

От себя рекомендую и другие научно-популярные статьи Вастрика про всякие хайповые технологии почитать, заодно и на его канал можно подписаться @vas3k_channel

#infostartevent
😂 "Анализ данных — этот механизм в платформе 17 лет, и судя по тому, что с тех пор не менялось, оно устоялось и стабильно работает... и даже используется где-то в паре конфигураций" (с) Владимир Бондаревский

#infostartevent
👍 Уже однажды писал, но пользуясь случаем повторю: рекомендую всем лучшую для 1С библиотеку-клиент HTTP, которую написал как раз Владимир Бондаревский:

— Публикация на ИС с примерами: https://infostart.ru/public/709325/
— Исходники github https://github.com/vbondarevsky/Connector
— Для oscript : https://github.com/vbondarevsky/1connector (доступно также в opm)

Собственно кроме функционала — библиотека классно написана с точки зрения программного кода, так что тем, кто ищет примеры хорошего, понятного кода, на котором можно учиться, как писать хорошо — рекомендую.
Слушаю #infostartevent, выступление руководителя проектного офиса infostart.ru и или я не понял контекста доклада, "или одно из двух" (с): для поиска исполнителя используются Google Forms, в качестве трекера задач Google Docs (таблицы).

А как же разделы Вакансии/Резюме/Тендеры на самом портале ИС? Проектный офис ИС не смог стать пользователем этих разделов портала ИС?

Или это типа такой внутренний пилотный проект организации выполнения работ силами удаленщиков с "откаткой" прототипа процессов?

В общем, ничего не понял 🤔

upd. Я не один, Виталий Онянов задал возникшие у меня вопросы и ему ответили:
— да, это прототип проекта, отлаживают процессы
— Таблицы, потому что удобно все выгружать и т.д. и т.п. и типа будет легко интегрировать

Короче, в перспективе — еще один игрок на рынке аутсорса 1Сников, с большой лояльной аудиторией потенциальных исполнителей.

#infostartevent
📓 Vanessa, хочу все и сразу

Павел Олейников (OPM)
Vanessa Automation это инструмент для тестирования прикладных решений на платформе 1С, но он/она может больше, чем только тестирование.
Статья ☝️ хороша как инструкция, но вот категория DevOps у публикации на Инфостарте откровенно смущает и провоцирует меня посетовать "Эх, опять 1Сники смешали все в кучу...". Я бы в данном случае не обратил внимания на это, но после просмотра докладов с прошедшего #infostartevent сложилось впечатление, что большая часть упоминаний коллегами по отрасли баззворда термина "DevOps" никакого отношения по факту к этому модному когда-то слову не имеют.
🚀 Стрим (см.репост ниже) — отличный повод посмотреть и принять участие в Hacktoberfest 2019, сделав PR в bsl-language-server или любой другой опенсорсный проект и заработать футболочку (хотя говорят, в этом году уже 90k участников, а футболок всего 50k).

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

https://github.com/1c-syntax (Тема 1Сная, но нужно знать Java, JS/TypeScript, но предстоящий вебинар может помочь расширить кругозор)
https://github.com/silverbulleters/ (ADD и куча други проектов, код преимущественно на 1С и OScript)
https://github.com/oscript-library (OScript там форки, но как индекс начинать поиск удобнее отсюда, а ишузы искать в форкнутых родительских репозиториях)
https://github.com/Pr-Mex/vanessa-automation (это конкретный репозиторий Vanessa-Automation)

Как говорится, happy hacking! 😎
#МамаЯВТелевизоре

В качестве эксперимента решили мы тут с Андреем @theEvilBeaver Овсянкиным устроить стрим по доработке BSL Language Server. Парный доклад уже был, теперь будет парное программирование на публику.

Постараемся запилить пару полезных фич для BSL LS. Да, прямо код будем писать. Прямо в IntelliJ IDEA, прямо на Джаве.

Когда: завтра, 16.10.2019 19:30. Длительность... Как пойдет :) Но на пару часов нас точно хватит.
Где: YouTube. Ссылка на стрим - https://www.youtube.com/watch?v=2N2QNuTzve8
Зачем: Напилить что-нибудь клевое, показать, что это не страшно и не сложно. Собрать донатики на выпитое пиво и развитие проекта.