Александр Кунташов — про 1С и не только
2.47K subscribers
220 photos
10 videos
418 links
Заметки про разработку и смежные штуки: 1С, Vanessa Automation, DevOps в 1С, OneScript, PHP, Linux, JS, Python и всякое вокруг и около ИТ.
Download Telegram
(Посвящается грядущему сертификату 1С:Джуниор)
Уже не первый раз в типовых встречаю в именах переменных символы греческого алфавита, в частности сигму то и дело используют по назначению, но, имхо, это на грани добра и зла (и как по мне, скорее за гранью 💩): в БП в регл. отчетности, вот теперь в модулях ЕГАИС встретилось в УПП.

Интересно, на этот счет есть что-нибудь в стандартах? Сам пока еще не проверял, напишите в личку ссылку на раздел стандартов, где про это хоть что-то упоминается, если вдруг сталкивались и интересовались.
Forwarded from FEDOR BORSHEV
​Тесты снимают когнитивную нагрузку

Чтобы соответствовать бизнес-требованиям, нужно постоянно с ними сверяться (написал и почувствовал себя инфобизнесменом — покупайте мои курсы, кек).

Есть ребята, которые сверяются вручную — прямо садятся раз в пару часов и прогоняют мышкой операции, похожие на поведение пользователя. Кроме того, что выглядит это глупо (всегда хотел посмотреть как без автотестов проверяют свой код разработчики API), это ещё и жрет кучу времени.

Кроме прямых затрат, есть ещё косвенные — программист без тестов за спиной постоянно вынужден думать, «как бы чего не сломать»: ведь не будешь же после каждого ветвления в коде садиться и протыкивать весь интерфейс заново.

У ребят с тестами все наоборот, спокойно: у них всегда на экране есть лампочка. Зелёная — все работает, красная — все сломалось. Конечно хорошие разработчики всегда ходят в пользовательский интерфейс, но только для того, чтобы увидеть картинку глазами пользователя.

А не чтобы убедиться, что не сломали все нафиг.
🔥Поддержка AMPQ в 1С:Предприятии 8.3.17 "из коробки"

Новости Зазеркалья: в платформу завезли ESB

https://wonderland.v8.1c.ru/blog/integratsionnaya-shina/

Для 1С есть несколько отраслевых решений ESB разного масштаба и бюджета, несколько реализаций поддержки внешних брокеров сообщений (например, поддержка RabbitMQ в виде кроликов разных цветов, всем привет) и других компонент, из которых собирается шина.

Почему 1С снова делает свое — такой вопрос себе 1сники-старожилы давно не задают, а для тех кто все-таки задает, сегодня напомнили ответ (вольный краткий пересказ): "Потому что можем доступно и всерьез!" (см. раздел статьи под заголовком "Преимущества нашей «Интеграционной шины»").
This media is not supported in your browser
VIEW IN TELEGRAM
Хм... 🤔 #1C

p.s. Я так и не смог отключить оба чекбокса "Защита от опасных действий", платформа 8.3.16.1148.
#стрим

Рабочий треш и угар начала года рассосался, а значит, можно провести очередной стрим и поднять кружку чая за здоровье Злого Именинника :)
Обсудим новости, поднимем что-нибудь упавшее. Еще ничего не упало? Ничего страшного, обязательно уроним и поднимем :)

Завтра (31.03.2020) в 19:30 на YouTube:

https://www.youtube.com/watch?v=pbDtqn9Ahec
☝️🍻+🍷+ ☕️ 👍 #ОставайсяДома #StayAtHome

p.s. Время московское
💩 Две простейшие строчки кода, логику которых не поймешь с первого раза

На скриншоте за "самодокументирующимся" кодом (ну так гипердлинные идентификаторы обычно оправдывают) прячется вот такая красота:

НеПрервано = Прервано();
Если НеПрервано = Ложь Тогда
...

Такое ощущение, что специально сделали поперек всей логики, чтобы читателю голову сломать, эдакая обфускация.

Этот код можно было бы еще "улучшить", добавив отрицание вместо явного сравнения с Ложью. Но к нашему счастью, метод Прервано() тоже спроектирован не удачно и может вернуть не только значение булева типа, поэтому тут обошлось без Если Не НеПрервано Тогда... (а было бы веселее!)

Ну и, очевидно, с такой кривой логикой "повествования" (НеПрервано = Прервано()) какие-либо длинные "самодокументирующиеся" имена становятся не только бесполезными, но и вредят, т.к. в таком идентификаторе при беглом чтении кода "Не" можно и не заметить, или даже наоборот, увидев его в одном идентификаторе, на автомате прочитать во втором, похожем.

(Если что, это из модуля 1С:Синхронизация с Битрикс24 для УТ 10.3)

#говнокод #codesmell
Скриншот-то к посту выше ☝️ потерялся, извините, вот он.
— А-а-а-синх... 😷
— Будьте здоровы!


(источник картинки)
В Зазеркалье новая статья про синхронную асинхронность 😱

Вангую, что в 10-летней (ну вы поняли) перспективе это все копирование фич из других ЯП — лишь шаги по долгосрочному рефакторингу платформы с целью отвязать ее от встронного ЯП в пользу какого-либо мейнстримового языка.

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

Но оставаться с встроенным ЯП 1С навсегда платформе тоже скорее всего уже не получится, ибо это один из тормозов экспансии на запад. Ну представьте себе, вы презентуете некую новую платформу с потенциально интересными фичами, которые потребителям (разработчикам) нравятся. И в конце презентации говорите, что чтобы пользоваться фичами вам нужно изучить новый язык программирования, устаревший морально несколько лет назад. Ну вы поняли.
Делал пуш, и тут github внезапно прилег

https://www.githubstatus.com/

Совпадение?.. (с)

upd. На 16:44 Мск заработало, ура.
Срочный апдейт ☝️. Говорят, что падение Github произошло из-за COMMIT-19
Forwarded from Кавычка (Bo🦠oM)
Bitrix - популярная CMS для стран СНГ. Там есть достаточно неплохая встроенная защита, которую всё-таки можно обойти.
Обойти XSS WAF можно через нульбайт, в блоге deteact есть описание, почему это происходит.
А еще там есть смешная обходка для Open Redirect - некорректный парсинг урла, который проверяет вхождение домена в начале строки, который можно откинуть в basic auth.
🤖 + 🎬 = ❤️ Будущее кинематографа: пишешь историю/сценарий/книгу или берешь любой готовый текст, загружаешь в свой телевизор, указываешь, каких актеров хотел бы видеть в главных ролях и нажимаешь ▶️. Нейронка генерирует и показывает кинофильм. Не понравилась концовка/актер — исправил — 🔁 — смотришь дальше...

Настоящее продвинутых 1Сников: пишешь сценарий, например, такой: УТ11_Демо.feature. Скармливаешь сценарий Vanessa Automation. Получаешь на выходе видео:

https://www.youtube.com/watch?v=6b2CtestsaU

Выпустили обновление — обновили сценарий — ▶️ — получаешь новое видео.

🔥
👇 Статья по крутому докладу Дмитрия Решитко с ИфостартЭвента2019 о нюансах сценарного тестирования. Рекомендую 👍
Молчание "best practices": тестовые и эталонные данные, структура и связность, падения и новая функциональность, и другие неудобные вопросы к сценарному тестированию


Непонимание некоторых базовых вопросов мешает программистам начать применять инструменты тестирования в процессе разработки для 1С. Как разобраться в терминологии и интегрировать процесс тестирования в разработку 1С-решений на конференции Infostart Event 2019 Inception рассказал руководитель отдела разработки компании C.T.Consultants Решитко Дмитрий.