Александр Кунташов — про 1С и не только
Відкрити в Telegram
Заметки про разработку и смежные штуки: 1С, Vanessa Automation, DevOps в 1С, OneScript, PHP, Linux, JS, Python и всякое вокруг и около ИТ.
Показати більше2 569
Підписники
+124 години
+27 днів
+430 днів
Архів дописів
Народ таки побежал с гитхаба
https://twitter.com/gitlab/status/1003409836170547200
Если правда, то, думаю, многие опенсорсные проекты захотят соскочить c Github'а.
https://www.opennet.ru/opennews/art.shtml?num=48696
Смотрите какой желтый заголовок :)
Хотите еще больше желтизны? Знаете, какая инфобаза стала жертвой? Нагрузочный тест Гилева :)
А вообще нефиг левые (служебные, тестовые, демо...) базы держать на рабочем сервере.
https://habr.com/post/352566/
Технология разветвленной разработки конфигураций.
https://its.1c.ru/db/v8std#content:2149184358:hdoc
Эпичный стандарт "1С-Flow" коротко:
1. Разработку организуем в СППР.
2. Основное хранилище (аналог "master" в gitflow) всегда держим в "неразваленном" состоянии (хаха).
3. Исправительное хранилище - аналог "release" в gitflow.
4. Разработка ведётся в "хранилище технического проекта" (аналог "feature" в gitflow). Это хранилище создаётся из файла поставки из основного хранилища, остаётся "на поддержке" и таким образом позволяет существенно облегчить работу по синхронизации с основной веткой.
Новости из Зазеркалья: https://wonderland.v8.1c.ru/blog/uluchshenie-raboty-s-faylami-v-veb-kliente/
Улучшили работу с файлами в веб-клиенте: свой собственный диалог выбора файлов и теперь не обязательно устанавливать в браузере расширение для работы с файлами, добавили возможность перетаскивания файлов прямо в окно 1С и другие улучшения, как со стороны UI, так и со стороны программного интерфейса.
#1С
Стартует прием докладов на INFOSTART EVENT 2018 - одну из главнейших на сегодня конференций 1Сников. Новое место (теплый ламповый Колизей уже с трудом вмещал участников в прошлый эвент), новый формат, большее ожидаемое количество участников!
С учетом того, что последнее время разных движух в среде 1Сников стало больше, появилось много открытых решений, активно стало формироваться сообщество разработчиков 1С на github'е, то должно быть очень интересно.
https://event.infostart.ru/2018
Отличная подборка статей по велосипедостроению "Как сделать <Что-то>".
https://github.com/danistefanovic/build-your-own-x
Думаю, вполне реально набрать тучу ссылок по теме "Как сделать <Что-то> на 1С": игры, языки программирования, системы контроля версий, очереди, чаты, эмуляторы, сайты, учетные системы... :) Правда операционных систем пока вроде никто не писал.
Фундамент для автоматизации
Первая автоматизация, которая должна появиться в вашем проекте — непрерывная доставка.
CI/CD — это процесс, который после каждого коммита выполняет манипуляции над кодом: валидирует, тестирует и снимает метрики качества. В случае, если код ок, то CD автоматически раскатывает его по серверам.
CD спасает программистов от кучи рутины: не нужно хранить ключи от серверов, ждать выполнения проверок на локальной машине (любой SaaS умеет пускать тесты хоть в 10 потоков), настраивать окружение для деплоя.
Налаженный процесс CI/CD открывает дорогу к куче ускоряющих/удешевляющих практик: 10 релизов в день, gitflow, TDD/BDD. Даже Agile (простите) не работает без непрерывной доставки.
Вопреки заблуждению, которое я часто слышу от коллег, чтобы внедрить простейший CI/CD не нужно усложнять инфраструктуру. В начальном варианте не нужны даже docker и ansible — достаточно пары скриптов, которые может написать любой знакомый с bash программист.
Прямо сейчас начните отправлять через CD все — ваш лендинг, сайт и приложение, скрипты для воксимпланта.
Самый крутой CI — circleci.com. Полный каталог всех сервисов — на гитхабе.
Высший пилотаж Copy/Paste Driven Development'а: это даже копипастить сложно #codesmells #1С
Все написали уже, но это очень показательная новость: Notepad в windows 10 начал понимать юнкисовый перевод строки, а не только формат windows. Это как раз и есть индикатор того, насколько Microsoft ударились в кроссинтеграцию всего со всем. Крутая и сильная стратегия, прямо кулачки держу за то, чтобы у них все получилось - для многих более мелких игроков это будет сигнал, что стратегия “дружить со всеми” снова существует на рынке. http://www.theregister.co.uk/2018/05/08/windows_notepad_unix_macos_line_endings/
Новые плюшки механизма "История данных": добавлена поддержка новых объектов (константы, планы обмена, планы видов расчетов), обработчик события
ОбработкаФормированияПоВерсии в котором можно повлиять на формирование данных сохраняемой версии (исключить какой-либо реквизит, добавить комментарий к версии и т.п.), возможность переопределения стандартных форм UI механизма История данных.
И небольшой оффтопик на тему "самодокументируемого кода", антипример из статьи: кто сможет не читая статью понять, для чего нужен новый параметр формы НомерВерсииПереходаНаВерсию?
https://wonderland.v8.1c.ru/blog/razvitie-mekhanizma-istoriya-dannykh/Очень мне нравится игра смыслов в названии этого репозитория 😊 #1С
"Никогда не нужно было, и вот опять" (с)
Оказывается, кучища линуксовых утилит ком. строки, требующих для своей работы HTTP умеют работать через прокси, беря настройки подключения из переменной окружения
HTTP_PROXY, прокси нужно указывать в формате http://user:pass@proxy:port.
Чуть подробнее, как я до такого докатился.
Мне сегодня из-за блокировок пришлось приседать так и эдак, собирая docker-контейнер одной утилиты, написанной на go-lang. Сам go (go-get) для получения пакетов использует git и я знал, что он умеет через прокси, если настроить его так:
git config --global http.proxy "http://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="http://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
Три раза перепроверил, хабр это или нет.
https://m.habr.com/post/354174/
Продолжение цикла про OneScript.Web от самого автора - Андрея Овсянкина (aka EvilBeaver).
Сегодня подробно разобрано как устроена маршрутизация: проектирование и настройка маршрутов и реализация обработчиков маршрутов в контроллерах.
https://infostart.ru/public/821424/
#1Script
Новости из 1С:Зазеркалья: в 8.3.13 при удалении расширения со своими данными платформа предупредит об этом + появится режим деактивации расширения (расширение перестанет работать, но его структуры данных в ИБ сохранятся).
https://wonderland.v8.1c.ru/blog/razvitie-mekhanizma-rasshireniy-konfiguratsii/
