Александр Кунташов — про 1С и не только
2.46K subscribers
219 photos
10 videos
417 links
Заметки про разработку и смежные штуки: 1С, Vanessa Automation, DevOps в 1С, OneScript, PHP, Linux, JS, Python и всякое вокруг и около ИТ.
Download Telegram
Статья про #TDD с провокационным заголовком https://habrahabr.ru/post/353312/

Задело в статье (я с этими утверждениями согласен):

- Лучшая документация - исполняемые примеры кода
- НО: Юнит-тесты или реализация шагов BDD-тестов являются более актуальными (по сравнению с примерами в документации)
- НО: В юнит-тестах слишком много инфраструктурного кода, который мешает увидеть те самые примеры, которые должны служить документацией

Автор предлагает решение в виде инструмента https://github.com/Igmat/baset (для JS).
Чуть более, чем полностью разделяю
Уважаемый 1С, я правда вас не понимаю.
У меня есть конвертация. Но.. в чем цель?
С утра сегодня интернет (у меня Билайн) сегодня невероятно тормозной. Включил рабочий VPN - летает. То ли это Билайн сам по себе сегодня тупит, то ли так выполняют требования РКН...
Пример когда боль пользователя (приумноженная хайпом) приводит к интересному решению. И ведь ничто не мешало придумать и реализовать что-то подобное раньше.
Forwarded from addmeto
В Мозилле сделали отличный экстеншн, помещающий фейсбук в отдельный “контейнер”. Это значит, например, раздельные куки и невозможность привязывать пользователя фейсбука с посетителями сайтов где установлена кнопка Like. И это, кажется, то для чего и нужны контейнеры - изоляция сайтов и снижение возможности слежки. Отличная работа, Мозилла! https://www.mozilla.org/en-US/firefox/facebookcontainer/
Болк коротко и доступно про то, как Телеграм обеспечивает работу в обход блокировок РКН для тех, кто не настроил у себя прокси явным образом (спойлер: пуш-уведомлениями раздает клиентам IP незаблоченных серверов).

https://bolknote.ru/all/about-telegram-blocking/
Еще один инструмент сценарного тестирования для #1С https://github.com/ivanov660/TestingTool-3

Пора уже делать большой обзор со сравнением (Vanessa Behavior, 1С:Сценарное тестирование 2 и 3, Tester, TestingTool-3, xUnitFor1C с плагином для тестирования GUI).

Статья на ИС: https://infostart.ru/public/813062/
Документация: https://github.com/ivanov660/TestingTool-3/wiki

#Тестирование #1C
Даешь больше каналов по #1С: подписываемся на @v8std - рупор https://its.1c.ru/db/v8std, который в ближайшем будущем, как стало известно из достоверных источников, станет доступен публично без необходимости иметь подписку на ИТС.

Спасибо @vlad_frost за отличные новости и, подозреваю, инициативу в этой движухе.

#1С
https://habrahabr.ru/post/331532/

Фундаментальная публикация о уже ставшем популярным инструменте сценарного тестирования решений на 1С - конфигурации "Тестер".

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

Подход не новый, мой любимый инструмент тестирования веб-приложений Codeception тоже исходил из такого посыла (хотя сегодня он и BDD в классическом виде умеет).

Отдельно хочу отметить очень крутую фичу: выполнение теста по ходу его написания - своего рода REPL, это действительно эффективный подход при разработке тестов GUI.

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

#Тестирование #1С
Новости из 1С:Зазеркалья: в 8.3.13 при удалении расширения со своими данными платформа предупредит об этом + появится режим деактивации расширения (расширение перестанет работать, но его структуры данных в ИБ сохранятся).

https://wonderland.v8.1c.ru/blog/razvitie-mekhanizma-rasshireniy-konfiguratsii/
Продолжение цикла про OneScript.Web от самого автора - Андрея Овсянкина (aka EvilBeaver).

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

https://infostart.ru/public/821424/

#1Script
"Никогда не нужно было, и вот опять" (с)

Оказывается, кучища линуксовых утилит ком. строки, требующих для своей работы HTTP умеют работать через прокси, беря настройки подключения из переменной окружения HTTP_PROXY, прокси нужно указывать в формате https://user:pass@proxy:port.

Чуть подробнее, как я до такого докатился.

Мне сегодня из-за блокировок пришлось приседать так и эдак, собирая docker-контейнер одной утилиты, написанной на go-lang. Сам go (go-get) для получения пакетов использует git и я знал, что он умеет через прокси, если настроить его так:

git config --global http.proxy "https://user:pass@proxy:port"


В go-get же параметры подключения передаются как раз через переменную окружения HTTP_PROXY.

В итоге я добился нужного мне результата, отредактировав "штатный" Dockerfile (https://gist.github.com/kuntashov/32c3cca25eab9eeff117df040d0e768a).

А вот буквально сейчас посмотрел внимательнее документацию и оказалось, что ничего редактировать не нужно было: git также прекрасно понимает HTTP_PROXY (теперь понимаю, что это же очевидно!), а пробросить значения переменных окружения в контейнер на этапе сборки можно при помощи аргумента --build-arg.

В итоге решение такое:

docker build --build-arg http_proxy="https://user:pass@proxy:port" --build-arg LEGO_VERSION="master" -t lego .


P.S. Собирал https://github.com/xenolf/lego, это альтернатива certbot'у

P.P.S. Шутки шутками, а скоро со всеми этими блокировками на самом деле дойдет до того, что кто-нибудь напишет какой-нибудь http-over-telegram протокол, т.к. сегодня это единственный инструмент, которому блокировки никак не помешали.

#docker #devops
Очень мне нравится игра смыслов в названии этого репозитория 😊 #1С
Новые плюшки механизма "История данных": добавлена поддержка новых объектов (константы, планы обмена, планы видов расчетов), обработчик события ОбработкаФормированияПоВерсии в котором можно повлиять на формирование данных сохраняемой версии (исключить какой-либо реквизит, добавить комментарий к версии и т.п.), возможность переопределения стандартных форм UI механизма История данных.

И небольшой оффтопик на тему "самодокументируемого кода", антипример из статьи: кто сможет не читая статью понять, для чего нужен новый параметр формы НомерВерсииПереходаНаВерсию?

https://wonderland.v8.1c.ru/blog/razvitie-mekhanizma-istoriya-dannykh/
Forwarded from addmeto
Все написали уже, но это очень показательная новость: Notepad в windows 10 начал понимать юнкисовый перевод строки, а не только формат windows. Это как раз и есть индикатор того, насколько Microsoft ударились в кроссинтеграцию всего со всем. Крутая и сильная стратегия, прямо кулачки держу за то, чтобы у них все получилось - для многих более мелких игроков это будет сигнал, что стратегия “дружить со всеми” снова существует на рынке. https://www.theregister.co.uk/2018/05/08/windows_notepad_unix_macos_line_endings/
Высший пилотаж Copy/Paste Driven Development'а: это даже копипастить сложно #codesmells #1С
Forwarded from FEDOR BORSHEV
Фундамент для автоматизации

Первая автоматизация, которая должна появиться в вашем проекте — непрерывная доставка.

CI/CD — это процесс, который после каждого коммита выполняет манипуляции над кодом: валидирует, тестирует и снимает метрики качества. В случае, если код ок, то CD автоматически раскатывает его по серверам.

CD спасает программистов от кучи рутины: не нужно хранить ключи от серверов, ждать выполнения проверок на локальной машине (любой SaaS умеет пускать тесты хоть в 10 потоков), настраивать окружение для деплоя.

Налаженный процесс CI/CD открывает дорогу к куче ускоряющих/удешевляющих практик: 10 релизов в день, gitflow, TDD/BDD. Даже Agile (простите) не работает без непрерывной доставки.

Вопреки заблуждению, которое я часто слышу от коллег, чтобы внедрить простейший CI/CD не нужно усложнять инфраструктуру. В начальном варианте не нужны даже docker и ansible — достаточно пары скриптов, которые может написать любой знакомый с bash программист.

Прямо сейчас начните отправлять через CD все — ваш лендинг, сайт и приложение, скрипты для воксимпланта.

Самый крутой CI — circleci.com. Полный каталог всех сервисов — на гитхабе.
Отличная подборка статей по велосипедостроению "Как сделать <Что-то>".

https://github.com/danistefanovic/build-your-own-x

Думаю, вполне реально набрать тучу ссылок по теме "Как сделать <Что-то> на 1С": игры, языки программирования, системы контроля версий, очереди, чаты, эмуляторы, сайты, учетные системы... :) Правда операционных систем пока вроде никто не писал.