Александр Кунташов — про 1С и не только
2.47K subscribers
220 photos
10 videos
418 links
Заметки про разработку и смежные штуки: 1С, Vanessa Automation, DevOps в 1С, OneScript, PHP, Linux, JS, Python и всякое вокруг и около ИТ.
Download Telegram
Как вы думаете:
— Обновлять или не обновлять?
— Заработает на 8.3.12 или все-таки обязательно должна быть 8.3.13?

💩
Антон Степанов написал новую большую статью про Управление техническим долгом.

https://infostart.ru/public/1096770/

Статья является некоторым продолжением статьи Олега Тымко (https://infostart.ru/public/1089670), но больше отвечает на вопросы "зачем" и "что", чем "как".

Налетаем, комментируем, пробуем!
⚡️Битрикс24 официально на Github (почти кликбейт, сорян)

Нет, исходников Б24 там нет.

Битрикс наконец-то обзавелся своей организацией на гитхабе и выложил под лицензией MIT php-библиотеку для взаимодействия с Битрикс24 по его REST API, ссылка: https://github.com/bitrix-tools/crest (ну да, хорошее имя - "крест" 😊). Это та самая либа, которую Сергей Востриков всегда в своих вебинарах использует и выкладывает в составе примеров в zip-архиве, а теперь вот в ногу со временем 😊

Ждем, когда 1Сники из Битрикса выложат туда же исходники модулей для 1С 😉, они же все равно все в открытом доступе и распространяются свободно. Тогда, может быть, не придется прорываться через несколько линий ТП. Мечты, мечты.

p.s. Напомню, что первой и лучшей PHP-библиотекой для REST API Битрикс24 на сегодня является https://github.com/mesilov/bitrix24-php-sdk Максима Месилова. Она давно и активно развивается, код ее прост и чист, частично покрыта тестами, опубликована также под лицензией MIT. Рекомендую.
Недавно вернулся к чтению всяких технических книг (забросил несколько лет назад в пользу разных блогов и статей). Время от времени попадается какой-нибудь перевод и... ну в основном это между "терпимо" и "плохо". А сегодня просто капец какой-то: не перевод, а калька но я все равно терпел, пока не — см. скриншот.

В оригинале (см. https://atom.io) эта фраза звучит так: "A hackable text editor for the 21st Century". Ну то есть, редактор, который можно "хакать" (программировать под себя). Я далеко не фанат атома, но обидно же :)

В очередной раз убеждаюсь, что технические книги нужно читать в оригинале.

p.s. Книга "Автостопом по Python" (в оригинале The Hitchhiker's Guide To Python") — привлекло в ней прежде всего наличие главы "Читаем код" с разбором кода популярных библиотек, пока нигде подобного не встречал.

upd. Проверил перевод фразы в Google Translate, он выдает "Взломанный текстовый редактор для 21-го века" 🤦‍♂️

А вот deepl.com правильно переводит: "Хакерский текстовый редактор для 21-го века".
😲 Внезапное в официальной документации стандартной библиотеки языка программирования Python. Ссылка: https://docs.python.org/3/library/sqlite3.html#sqlite3.Cursor.execute
Конференция 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