Александр Кунташов — про 1С и не только
2.47K subscribers
219 photos
10 videos
417 links
Заметки про разработку и смежные штуки: 1С, Vanessa Automation, DevOps в 1С, OneScript, PHP, Linux, JS, Python и всякое вокруг и около ИТ.
Download Telegram
Forwarded from Иван
Аттеншен, плиз :)
Регулярно местные пишут что в доке по RESTу "не все так гладко как бы хотелось".
Так вот что мы (битрикс) на эту тему надумали.

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

Обычно даже в небольшой команде разработчиков выделяется человек, которому искренне интересно разобраться "как оно устроено" и объяснить другим. Ведуться блоги, пишутся мануалы. А тут документация, "туториалы" для огромного сообщества.

Тысячи (и я не утрирую) разработчиков работает с Б24, с нашей докой по всему миру! Представляете какую уважуху от сообщества можно получить на этой позиции! Не подумайте плохого, зарплату тоже платят :)

Подробное описании вакансии по ссылке https://kaliningrad.hh.ru/vacancy/29646728
Элеонора Золошкова наш HR, ей писать отклики +7 (911) 4669958, [email protected]
Знаю что и с релокацией мы помогаем, а уж сколько про жизнь в Калининграде написано :)

---
p.s.
Если вы знаете подходящего кандидата - поделитесь с ним ссылкой пожалуйста!
Кажется всем разработчикам в этом чатике интересно чтобы такой человек нашелся быстрее :)
📚 [ИТС] Организация эксплуатации крупной информационной системы

@zeegin в @ssl1c поделился ссылкой на прикольную статью на ИТС, название которой вынесено в заголовок поста:

https://its.1c.ru/db/metod8dev#content:5905:hdoc (доступ бесплатный, без регистрации и СМС)

Внушительный такой чеклист по элементам DevOps в контексте 1С.

p.s. У многих специалистов сложился устойчивый стереотип, что все полезное на ИТС по подписке, но нет, есть и открытые публикации, так что полезно посерфить по сайту даже не имея полного доступа.
#Анонс новых релизов

Выпущена вязанка релизов вокруг проекта BSL Language Server.

Во-первых, обновился BSL Parser. Помимо исправления различных ошибок, он теперь умеет строить AST по инструкциям препроцессора и не считает ключевые слова после точки ключевыми словами - например Запрос.Выполнить().

Во-вторых, обновился сам BSL Language Server. Было добавлено несколько новых диагностик, например, такие как поиск пустых блоков кода, ограничение на размер метода; так же были исправлены ошибки асинхронной работы на больших проектах и проведены некоторые прочие оптимизации.

А еще у проекта появился собственный сайт на базе GitHub Pages! Туда перенесена часть информации из README, появился раздел по списку диагностик и репортеров. На wiki проекта появилась статья Добавление диагностики, рассказывающая, как добавить новую диагностику в language server. В скором времени она будет перенесена на сайт.

В третьих, выпущен новый релиз SonarQube 1C (BSL) Community Plugin. Плагин теперь умеет рисовать главный сонаровский дашборд, рассчитывать дублирование кода (cpd), количество строк кода, заработала подсветка исходников при просмотре файлов. Плагин научился импортировать несколько json-файлов с результатами анализа.

Отчаянные early adopters уже развернули сонар у себя и пытаются импортировать типовые и доработанные конфигурации ;) Особо отчаянные даже пишут экспортер из АПК в формат, совместимый с BSL Language Server, который (я надеюсь) будет доделан еще до выхода следующего большого релиза АПК :)

Скриншоты прилагаются!

P.S. Ссылочки проектов видут на подробные чейнджлоги.
🔩 Аннотация &ИзменениеИКонтроль и директива #КонецВставить 🤦‍♂️ в расширениях

Судя по почтовому уведомлению новый пост в Зазеркалье вышел 10 минут назад, а мне в личку коллега уже успел пошутить, что 1С легализовала на уровне платформы в препроцессоре "авторские комментарии" #Удалить и #Вставить (#КонецВставить 🤦‍♂️🤦‍♂️🤦‍♂️🤦‍♂️🤦‍♂️🤦‍♂️🤦‍♂️🤦‍♂️ — надеюсь, к релизу переименуют).

На самом деле это не совсем так. В отличие от злополучных авторских комментариев эти директивы в расширенном методе с аннотацией &ИзменениеИКонтроль позволят на этапе применения расширения платформе сообщать нам о том, что бизнес-логика расширенного метода изменилась и вероятно ваши "вставленные" 🤦‍♂️ доработки нужно проверить.

https://wonderland.v8.1c.ru/blog/razvitie-mekhanizma-rasshireniy-konfiguratsii-15/
🤓 #meetupweek в Саратове c 4 по 10 февраля: Blockchain, QA, JS, ML etc

Всю следующую неделю в Саратове в лектории Пионер пройдет неделя митапов по ИТ-тематике. Бесплатная регистрация по ссылке: https://youcon.timepad.ru/event/895526/

Каждый день по одной модной теме:
— 4/02 Blockchain
— 5/02 С++
— 6/02 DevOps
— 7/02 Machine Learning
— 8/02 QA
— 9/02 Java
— 10/02 JavaScript

Для тех, кто работает в офисе в центре города это хороший способ переждать уже привычные этой зимой 10-бальные пробки: начало митапов в 19 часов.

Мне было бы интересно попасть как минимум на доклад "Как завалить автоматизацию на геркин: вредные советы". Как вам слова "автоматизация" и "геркин" в одном предложении? 😉
👩 Автовидеоинструкции в Vanessa-Automation

Реализованный еще в Vanessa-Behavior механизм видео-инструкций вызвал у меня тогда восторг: идея автоматически получать видео-инструкцию на основе сценарного теста звучит круто.

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

Поэтому сценарные тесты лучше создавать отдельно, а сценарии для видео-инструкций — отдельно.

Посмотрите пример автоматически созданного скринкаста: https://www.youtube.com/watch?v=JNnmtv_yWI8 Современные Text-to-Speach движки больше не раздражают механическим голосом, а сценарий подготовлен так, что повествование звучит естественно по сравнению с прямым озвучиванием шагов, как было в первых версиях VB.

А вот так выглядит исходник сценария для видео-инструкции по ссылке выше: https://github.com/Pr-Mex/vanessa-automation/blob/develop/doc/VSL/Form/Док-Закладки%20формы.feature

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

— Видео пишется точно по сценарию с первого дубля, без отдельного этапа монтажа. 👩 Ванесса в отличие от живого человека прочитает текст без запинок и отклонений от сценария; введет значения без опечаток; кликнет сразу ровно там, где нужно независимо от фазы луны, настроения, состояния здоровья и т.п. Да, сценарий придется написать и отладить, но и при записи скринкастов человеком нужен этап подготовки, сравнимый по усилиям.

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

— Создание видео-инструкций естественным образом интегрируется в сборочный конвеер CI. Если в программе появились ломающие изменения, сценарий упадет с ошибкой, новая версия инструкции не запишется и по отчету будет видно, какие видео устарели и требуют актуализации сценария.

P.S. Обсудить новый функционал VA и задать вопросы по тестированию решений на платформе 1С можно в чате @testspro1c

#Инструменты
🔨 git diff и cp1251 (настройка пейджера)

Перевожу один древний веб-проект с CVS на GIT, а он в кодировке cp1251, т.к. создавался во времена, когда UTF-8 только-только входила в обиход. Сконвертировать проект в UTF-8 пока нельзя, т.к. продуктовый сервер тоже из тех времен и тоже не поддерживает правильной кодировки.

Чтобы diff в консоли выводился в UTF-8, в GIT можно задать свою команду вызова пейджера вот таким образом:

git config --local core.pager "iconv -f cp1251 -t utf-8 | less"

т.е. перед вызовом пейджера less я вызываю iconv для перекодировки вывода и ее результат уже через пайп отдаю пейджеру.

Но вот незадача: комментарии к коммитам у нас в проекте в UTF-8, чтобы в веб-интерфейсе сервера управления репозиториями (у нас GOGS) они отображались правильно. А указанная выше настройка пейджера действует глобально на все команды, в результате git diff у нас показывает русский текст правильно, а git log — кракозябры.

Оказывается, для каждой команды GIT'а пейджер можно настроить отдельно, в частности, для решения моей проблемы в дополнение к указанной выше настройке нужно сделать:

git config --local pager.log less

Т.е. для всех команд (diff, blame etc) выполняется конвертация из cp1251 в UTF-8, а для команды log конвертация не выполняется.

Пейджер можно вообще отключить, указав вместо команды пейджера значение false. Например, у нас список тэгов небольшой и удобнее, когда он сразу весь в консоль выводится, поэтому я пейджер для команды git tag отключил:

git config --local pager.tag false

Все настройки можно указать и вручную прямо в .git/config репозитория. Например, после выполнения указанных выше команд в этом файле настройки будут такие (все, что не относится к пейджингу, я пропускаю):

[core]
...
pager = iconv -f cp1251 -t utf-8 | less
...

[pager]
log = less
tag = false

#Инструменты #Лайфхак
🐱ШОК! Раскрыто истинное предназначение желтого кота!

А этот желтый кот? Он специально был придуман для концентрации агрессии к себе.
— Olgabsh

Вот почему Фогель всегда такой добродушный и довольный на фото выходит 😊

Я Клерк.ру никогда добровольно не читал, но по умолчанию считал, что ресурс профессиональный, а там такой трешачок https://www.klerk.ru/buh/articles/482118/ И, главное, статья от "эксперта по БУ и НУ".

🤦‍♂️
Forwarded from Деловая переписка (Maxim Ilyahov)
79. Петля занятых. Поставить задачу — тоже работа

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

Человек, которому прилетает эта задача, делает не то, не так и невпопад. Занятой человек должен снова поставить задачу, снова ее проверить. Он злится и считает исполнителя дурачком: «Я бы сделал это за пять минут, чего он копается?»

Секрет в том, что постановка задачи — это тоже работа. Её нельзя делать в спешке и тяп-ляп. Два ключевых слова — это не задача. Надиктованное в мессенджере аудиосообщение со сбитым дыханием — не задача. Задачу надо внимательно сформулировать, а на это нужно время:

— описать ситуацию,
— объяснить саму задачу,
— уточнить образ решения,
— обозначить и обосновать срок.

Если уделять время постановке задачи, ее будут исполнять быстрее, четче и правильнее. Если просто бросаться ключевыми словами в спешке, исполнители будут тупить и тратить еще больше времени. Занятые люди, которые не уделяют время грамотной постановке задачи, в итоге подводят сами себя.
#bsl-language-server #lsp

Language Server Protocol шагает по планете!

Специально для хардкорщиков, любящих править конфиги редактора прямо в JSON и писать плагины на питоне - состоялось успешное подключение BSL Language Server к Sublime Text 3.

В качестве клиента выступает плагин к ST3, который можно поставить с помощью Package Control - LSP - https://packagecontrol.io/packages/LSP
После установки открываем "Preferences: LSP Settings" и в пользовательские настройки (справа) переносим:
  "clients":
{
"bls-language-server":
{
"command":
[
"java",
"-Xmx4g",
"-jar",
"/path/to/bsl-language-server.jar",
"-d",
"ru"
],
"enabled": true,
"languageId": "bsl",
"scopes":
[ "source.bsl" ],
"syntaxes":
[ "Packages/Language 1C (BSL)/1c.tmLanguage" ]
}
}
}

Перезапускаем редактор и...
🥒 Как завалить автоматизацию на Геркин [презентация]

Ссылка: https://drive.google.com/file/d/1SEKU4f0cKqMaRAgKWBe5YJXrPpKpy1k0/view

Этот доклад был на Неделе митапов (#meetupweek), которая проходила недавно в Саратове.

Согласно презентации, основные грехи при написании фич на геркине:
— Непонятные/неоднозначные формулировки шагов
— Длинные сценарии
— Использование ожиданий (И Пауза 42)
— Некорректная работа с данными и БД в сценариях (захардкоженые данные, медленная БД, одни и те же данные используются в куче тестов)

Большинству авторов сценариев для инструментов Vanessa A* свои грехи уже не искупить никогда 😈
☁️ 1С в Яндекс.Облаке

https://habr.com/ru/post/440594/

Отличный обзор!

Яндекс.Облако Compute Cloud хоть и новый, но очень достойный игрок на рынке облачных серверов. В том числе и для хостинга инфраструктуры 1С Предприятие для небольшого и среднего размера компаний, если им действительно нужен хостинг в облаке.

Это цитата из заключения, но тут важны детали, их в статье много (оговорюсь на всякий случай: для меня, ничего не знающего о Я.Облаке).
Forwarded from SilverBulleter's, LLC (Муза Осипова)
Объявлен старт продаж билетов на второй Хакатон по 1С iS THiS DESiGN https://silverbulleters.org/news
Жестокая правда жизни 😊
Напомнило размышления Евгения Павлюка на тему ЦА gherkin в статье на хабре https://habr.com/ru/post/275013/
This media is not supported in your browser
VIEW IN TELEGRAM
Ну наконец-то!
TLDR; Поиск таким образом будет унифицирован во всех таблицах/списках
https://wonderland.v8.1c.ru/blog/izmenenie-poiska-v-tablitsakh/
Новый канал от разработчиков Библиотеки Стандартных подсистем с говорящим за себя названием @learn_ssl1c
Ну а чатик мы давно знаем: @ssl1c
p.s. "Доступно и всерьез" — слоган обретает новые смыслы 😉
🔥 Vanessa Automation Goes Worldwide?

Крутое: Вебинар по Vanessa Automation для англоязычной аудитории. Кажется, первое публичное мероприятие по опенсорсному продукту на 1С, ориентированное на разработчиков за пределами СНГ. Интересно, какая часть аудитории реально будет не-русскоговорящей?

https://promo.1ci.com/page5878794.html